如何解决FIONBIO 用于 Fusion 下的 ioctl
我正在开发一个基于 uCOS
和 Fusion 标准(而不是 POSIX)的项目,我想将我的套接字设置为非阻塞模式。 POSIX ioctl
命令将是 ioctl(data,FIONBIO,TRUE);
但我似乎无法让它在 Fusion 下运行。
在标题 fclioctl.h
的评论中,我看到以下内容:
/*
* The UNIX deFinition was as follows:
*
* int ioctl( int fd,int cmd,... )
*
* But since POSIX does not include "ioctl" as part of it's requirements for
* Fusion the format follows more closely to Win32.
*
* TO get information about a device,a handle to the device or a device in
* it's device stack must be obtained.
*/
fclIoResult_t fclIoctl
(
fclHandle_t hDevice,/* Handle to device */
fclIoCode_t nIoControlCode,/* Function to perform */
fclIoBuffer_t pInBuffer,/* Data to the device */
fclIoSize_t nInBufferSize,/* Size of data to the device */
fclIoBuffer_t pOutBuffer,/* Data from the device */
fclIoSize_t nOutBufferSize,/* Size of buffer to receive data */
fclIoSize_t* pnBytesReturned /* Actual number of bytes received */
);
对于 1fclIoCode_t`,我只看到:
/*
* IOCTL Types
*/
typedef unsigned char FIO_BYTE;
typedef unsigned int FIO_WORD;
typedef u32 FIO_DWORD;
#ifndef FCL_IOCODE_T
typedef u32 fclIoCode_t;
#define FCL_IOCODE_T fclIoCode_t
#endif
有没有人有使用 Fusion 的经验并且可以在这里提供帮助?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。