⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ioctl.c

📁 嵌入式实验uC-OS-II相关程序用例与参考资料
💻 C
字号:
/* $id:dmIoctl.c  V1.0 2001/09/5 */

/******************************************************************************
 *  This source code has been made available to you by CORETEK  on
 *  AS-IS.Anyone receiving this source is licensed under
 *  CORETEK copyrights to use it in any way he or she deems fit,including
 *  copying it,modifying it,compiling it,and redistributing it either with
 *  or without modifictions.
 *
 *
 *  Any person who transfers this source code or any derivative work must
 *  include the CORETEK copyright notice, this paragraph,and the preceding
 *  two paragraphs in the transferred software.
 *
 *
 *       COPYRIGHT CORETEK CORPORATION 2001
 *     LICENSED MATERIAL - PROGRAM PROPERTY OF CORETEK
 *****************************************************************************/


/******************************************************************************
 *
 *  FILE: Ioctl.c
 *
 *  MODULE: RLT
 *
 *  PURPOSE: ioctl() - POSIX 1003.1b 6.3.1
 *
 *  AUTHOR(S):Zhang Yumin
 *
 *  GROUP:TOOL_GROUP
 *
 *  DATE CREATED:2001/09/05
 *
 *  REFERENCE DOCUMENT ID:
 *
 *  MODIFICATIONS:
 *  Date          user Name       Description
 *  2001/09/05    Zhang Yumin    Create this file
 *
 *********************************************************************************/

#include <sys/reent.h>


extern int sys_ioctl(int fd, int command, int* buffer);


/********************************************************************
 *  FUNCTION: ioctl
 *
 *  PURPOSE:  This directive is mostly used to set or get the property
 *		      of I/O device.
 *  PARAMETERS:
 *
 *    Input:  fd  -file descriptor of target device.
 *			  command -tell the directive what to do.
 *			  buffer -a point to a struct which take the device
 *			  properity information(only in set the device property).
 *    Output: buffer -a point to a struct which bring the device
 *			  properity information(only in get the device property).
 *    InOut:  None
 *
 *  Return value: Upon successful completion, the result of performance
 *				  of directive is returned.Otherwise, a value of -1  is
 *				  returned and the global integer variable errno is set
 *		          to indicate the error.
 *  Reentrant: Yes
 ********************************************************************/
int _ioctl_r(
  struct _reent *ptr,
  int         fd,
  int  		 command,
  void *       buffer
)
{
	int rc = sys_ioctl(fd,command,buffer);
	if(rc < 0)
	{
		ptr->_errno = -rc;
		return -1;
	}
	return rc;
}


#ifndef _REENT_ONLY

int ioctl(
  int        fd,
  int  		command,
  void        *buffer
)
{
  	return _ioctl_r(_REENT,fd,command,buffer);
}

#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -