About This Reference

QNX SDP8.0Devctl and Ioctl CommandsDeveloper

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 filesystem in 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
Page updated: