About This Reference
The QNX OS 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 OS, 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 |
BIOC* | 'B' | Berkeley Packet Filter (BPF) |
CAN_DEVCTL_* | _DCMD_MISC | Controller Area Networks |
DCMD_ALL_* | _DCMD_ALL | Common (all I/O servers) |
DCMD_BLK_* | _DCMD_BLK | Block I/O managers |
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 | Obsolete |
DCMD_F3S_* | _DCMD_F3S (_DCMD_MEM) | Flash filesystems |
DCMD_FSEVMGR_* | _DCMD_FSEVMGR | Obsolete |
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 filesystemin the QNX OS Programmer's Guide |
DCMD_PROF_* | _DCMD_MISC | Profiler |
DCMD_PTPD_* | _DCMD_NET | Precision Time Protocol daemon (ptpd2) |
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' | Packet filtering (PF); see the FreeBSD documentation: https://www.freebsd.org/cgi/man.cgi?query= pf&sektion=4&manpath=FreeBSD+13.3-RELEASE+and+Ports |
FIO* | 'f' | File I/O |
GRES* | 'i' | Generic Route Encapsulation; see gre in the NetBSD documentation |
KFILTER_* | 'k' | Kernel filters |
PART_* | _DCMD_PARTITION | Obsolete |
PTP_* |
Precision Time Protocol (PTP) module |
|
RND* | 'R' | Random number generation; see random in the Utilities Reference |
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 |
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 |