Testix
Testix

Reputation: 313

FIONBIO for ioctl under Fusion

I'm working on a project based on uCOS and the Fusion standard (rather than POSIX) and I want to set my socket into non-blocking mode. The POSIX ioctl command would be ioctl(data,FIONBIO, TRUE); but I can't seem to get it going under Fusion. In the comments of the header fclioctl.h, I see the following:

/*
 *  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 */
);

and for 1fclIoCode_t`, i only see:

/*
 *  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

Does anybody have experience with Fusion and may be able to help out here?

Upvotes: 1

Views: 46

Answers (0)

Related Questions