diff -r 000000000000 -r bde4ae8d615e os/ossrv/genericopenlibs/openenvcore/include/sys/ioccom.dosc --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/os/ossrv/genericopenlibs/openenvcore/include/sys/ioccom.dosc Fri Jun 15 03:10:57 2012 +0200 @@ -0,0 +1,92 @@ +/** @file ../include/sys/ioccom.h +@internalComponent +*/ + +/** @fn ioctl(int aFid, unsigned long aCmd, ...) +@param aFid +@param aCmd +@param ... +@return If an error has occurred, a value of -1 is returned and errno is set to indicate the error. + +@code + #include < sys/ioctl.h > +@endcode + The ioctl system call manipulates the underlying device parameters of special files. +In particular, many operating +characteristics of character special files (e.g. terminals) +may be controlled with ioctl requests. +The argument aFid + must be an open file descriptor. + + The third argument to ioctl is traditionally named char *argp . +Most uses of ioctl in 3.0, +however require the third argument to be a caddr_t +or an int. + + An ioctl request has encoded in it whether the argument is an "in" +argument +or "out" +argument, and the size of the argument argp in bytes. +Macros and defines used in specifying an ioctl request are located in the file \#include \ + +Examples: +@code + /* Detailed description : Sample usage of ioctl system call ,for command SIOCGIFINDEX + * which gets socket interface index , by passing socket interface home.*/ +#include +#include +#include +#include +int main() +{ + int ret = 0; + struct ifreq ifr; + int sockfd; + + sockfd = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP); + strncpy(ifr.ifr_name, "Ethernet with Daemon Dynamic IP", sizeof(ifr.ifr_name)); + + if (ioctl(sockfd, SIOCGIFINDEX, 𝔦) != -1) + { + ret = -1; + } + + close(sockfd); + return ret; } + +@endcode +@see fcntl() + + + +@capability Deferred @ref Rsocket::Open + +@publishedAll +@externallyDefinedApi +*/ + +/** @def _IOR(g,n,t) + +IO read. + +@publishedAll +@released +*/ + +/** @def _IOW(g,n,t) + +IO write. + +@publishedAll +@released +*/ + +/** @def _IOWR(g,n,t) + +IO read write. + +@publishedAll +@released +*/ + +