The QNX Neutrino Devctl and Ioctl Commands reference describes the main device- and I/O-control commands that you can pass to devctl() and ioctl(), or that your device driver might need to implement. For more information about these functions, see the C Library Reference.
In QNX Neutrino, ioctl() is built on top of devctl(), and both functions encode the direction in the command using the same two high-order bits. The commands are divided into classes to make organization easier. The class name is a single character, although for devctl() commands, the class name is defined as a constant that's usually in the form _DCMD_*. Note that some classes are actually part of another class, as indicated in parentheses below.
The following table may help you find information quickly:
| Commands | Class | Description | 
|---|---|---|
| AC97_DEVCTL_* | 'Z' | Used internally | 
| AFM_* | 'F' | Used internally | 
| ALTQ*, BLUE_*, CBQ_*, CDNR_*, FIFOQ_*, HFSC_*, JOBS_*, PRIQ_*, RED_*, RIO_*, WFQ_* | 'Q', 'q' | Alternate queueing framework; see altq in the NetBSD documentation | 
| BIOC* | 'B' | Berkeley Packet Filter; see bpf in the NetBSD documentation | 
| CAN_DEVCTL_* | _DCMD_MISC | Controller Area Networks | 
| CIOC*, CRIO* | 'c' | Cryptography; see crypto in the NetBSD documentation | 
| DCMD_ALL_* | _DCMD_ALL | Common (all I/O servers) | 
| DCMD_BLK_* | _DCMD_BLK | Block I/O managers | 
| DCMD_BT_* | 'Z' | Bluetooth audio | 
| DCMD_CAM_* | _DCMD_CAM | Common Access Methods for devices such as disks or CD-ROMs; used internally | 
| DCMD_CHR_* | _DCMD_CHR | Character devices | 
| DCMD_CP210X_* | _DCMD_MISC | Hardware-specific; see <hw/cp2103.h> | 
| DCMD_DSPMGR_* | _DCMD_DSPMGR (_DCMD_MISC) | Obsolete | 
| DCMD_DUMPER_* | _DCMD_MISC | Postmortem dumps | 
| DCMD_ETFS_* | _DCMD_MEM | Embedded Transaction Filesystem | 
| DCMD_F3S_* | _DCMD_F3S (_DCMD_MEM) | Flash filesystems | 
| DCMD_FSEVMGR_* | _DCMD_FSEVMGR | Filesystem Event Manager | 
| DCMD_FSYS_* | _DCMD_FSYS (_DCMD_BLK) | Filesystem managers | 
| DCMD_HAM_* | _DCMD_MISC | Used internally; see the High Availability Framework Developer's Guide | 
| DCMD_I2C_* | _DCMD_I2C (_DCMD_MISC) | See the I2C (Inter-Integrated Circuit) chapter of Customizing a BSP | 
| DCMD_INPUT_* | _DCMD_INPUT | Obsolete | 
| DCMD_IO_NET_* | _DCMD_NET | Obsolete | 
| DCMD_IP_* | _DCMD_IP | Internet Protocol stack | 
| DCMD_MEDIA_* | _DCMD_MEDIA | Used internally | 
| DCMD_MEM_* | _DCMD_MEM | Obsolete | 
| DCMD_MEMCLASS_* | _DCMD_MEMCLASS | Used internally | 
| DCMD_MEMMGR_* | _DCMD_PROC | Memory manager | 
| DCMD_MISC_* | _DCMD_MISC | Miscellaneous commands | 
| DCMD_MMCSD_* | _DCMD_CAM | MultiMedia Card/Secure Digital | 
| DCMD_PHOTON_* | _DCMD_PHOTON | Obsolete | 
| DCMD_PPPOE_* | _DCMD_NET | Obsolete | 
| DCMD_PROC_* | _DCMD_PROC | Process manager; see Controlling processes via the /proc filesystem in the QNX Neutrino Programmer's Guide | 
| DCMD_PROF_* | _DCMD_MISC | Profiler | 
| DCMD_PTPD_* | _DCMD_NET | Precision Time Protocol | 
| DCMD_RADIO_* | 'Z' | Obsolete | 
| DCMD_SDIO_* | _DCMD_MISC | Secure Digital Input/Output | 
| DCMD_SDMMC_* | _DCMD_MISC | Secure Digital/MultiMedia Card | 
| DCMD_SERCD_* | _DCMD_CAM | Used internally | 
| DCMD_SIM_* | _DCMD_CAM | Used internally | 
| DCMD_SPI_* | _DCMD_SPI (_DCMD_MISC) | Serial Peripheral Interface | 
| DCMD_UCB1400_* | _DCMD_UCB1400 | Obsolete | 
| DIOC* | 'D' | See the entry for pf in the Utilities Reference | 
| FIO* | 'f' | File I/O | 
| GRES* | 'i' | Generic Route Encapsulation; see gre in the NetBSD documentation | 
| KFILTER_* | 'k' | Kernel filters; see kevent in the NetBSD documentation | 
| PART_* | _DCMD_PARTITION | Obsolete | 
| RND* | 'R' | Random number generation; see rnd in the NetBSD documentation | 
| SIOC* | 'i' | Socket I/O; see the NetBSD documentation at http://netbsd.org/ (although the information about these commands there is limited) | 
| SND_* | 'A', 'C', 'K', 'L', 'R', 'S', 'W' | Used internally; client applications should use the libasound API (see the Audio Developer's Guide) | 
| SRT_* | 'e' | Source-based routing; see the NetBSD documentation at http://netbsd.org/ (although the information about these commands there is limited) | 
| TAP* | 't' | Virtual Ethernet device; see tap in the NetBSD documentation | 
| TC* | 'T' | Terminals | 
| TIOC* | 't' | Terminals | 
| TUN* | 't' | Tunnel software network interface; see tun in the NetBSD documentation |