About This Reference

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_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) Framework technote
DCMD_IP_* _DCMD_IP Internet Protocol stack
DCMD_MEDIA_* _DCMD_MEDIA Used internally
DCMD_MEMMGR_* _DCMD_PROC Memory manager
DCMD_MISC_* _DCMD_MISC Miscellaneous commands
DCMD_MMCSD_* _DCMD_CAM MultiMedia Card/Secure Digital
DCMD_PROC_* _DCMD_PROC Process manager; see "Controlling processes via the /proc filesystem" in the QNX Neutrino Programmer's Guide
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
DVFS_DEVCTL_* _DCMD_MISC See the Writing a DVFS Driver technote
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
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', 'R' 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