📄 ioctl.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 + -