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.
