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, go to 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 |
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 |
DCMD_CAM_SIM* | _DCMD_CAM_SIM | Obsolete |
DCMD_CHR_* | _DCMD_CHR | Character devices |
DCMD_CP210X_* | _DCMD_MISC | Hardware-specific; go to <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; go to the High Availability Framework Developer's Guide |
DCMD_I2C_* | _DCMD_I2C (_DCMD_MISC) | Go to 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; go to
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); go to the FreeBSD documentation: https://www.freebsd.org/cgi/man.cgi?query= pf&sektion=4&manpath=FreeBSD+13.5-RELEASE+and+Ports |
FIO* | 'f' | File I/O |
GRES* | 'i' | Generic Route Encapsulation; go to the FreeBSD documentation: https://www.freebsd.org/cgi/man.cgi?query= gre&sektion=4&manpath=FreeBSD+13.5-RELEASE+and+Ports |
KFILTER_* | 'k' | Kernel filters |
PART_* | _DCMD_PARTITION | Obsolete |
PTP_* |
Precision Time Protocol (PTP) module |
|
RND* | 'R' | Random number generation; go to random in the Utilities Reference |
SIOC* | 'i' | Socket I/O; go to the Socket APIsection in the Networking APIschapter of the High-Performance Networking Stack User's Guide. |
SND_* | 'A', 'C', 'K', 'L', 'R', 'S', 'W' | Used internally |
SRT_* | 'e' | Source-based routing; for more information, go to the FreeBSD documentation (for example, https://docs.freebsd.org/en/books/handbook/advanced-networking/). |
TAP* | 't' | Virtual Ethernet device; go to the FreeBSD documentation: https://www.freebsd.org/cgi/man.cgi?query= tap&sektion=4&manpath=FreeBSD+13.5-RELEASE+and+Ports |
TC* | 'T' | Terminals |
TIOC* | 't' | Terminals |
TUN* | 't' | Tunnel software network interface; go to the FreeBSD documentation: https://www.freebsd.org/cgi/man.cgi?query= tun&sektion=4&manpath=FreeBSD+13.5-RELEASE+and+Ports |
Copyright and patent notice
Copyright © 2015–2025, BlackBerry Limited. All rights reserved.