Home
Developer Resources
Technical Articles

QNX Technical Articles

QNX® Software Development Platform 8.0: Discontinuation and Deprecation Notice

Date of this edition: January 18, 2024


Note: Changes to these notes since December 11, 2023 are highlighted below with this icon: New:

Contents

Purpose of this notice

This notice documents all items that are being discontinued and deprecated in QNX SDP 8.0. It doesn't document items that have been discontinued or deprecated in previous versions of SDP including SDP 7.0 and SDP 7.1. However, items that were listed as deprecated in 7.1 may appear here as discontinued in SDP 8.0.

Discontinued and deprecated items

In the following section, each table recognizes an item as either deprecated or discontinued and also specifies any substitute that can be used in its place.

General/system

Name Status Alternative Notes
__QNXNTO__ Deprecated __QNX__
C Library Reference resource managers:
  • resmgr_handle_tune()
  • resmgr_handle_grow()
Discontinued dispatch_set_hash_size() can be used as an alternative to these.
DCMD_I2C_SET_SLAVE_ADDR Discontinued Use DCMD_I2C_SEND or DCMD_I2C_RECV and specifically "slave" value in i2c_send_t or i2c_recv_t.
DCMD_I2C_MASTER_SEND Discontinued DCMD_I2C_SEND
DCMD_I2C_MASTER_RECV Discontinued DCMD_I2C_RECV
DCMD_PROC_WAITSTOP Discontinued N/A
devf-generic Discontinued N/A
DISPATCH_FLAG_CHANNEL_COIDDEATH flag for dispatch_create_channel() Discontinued N/A
libc functions:
  • _smalloc()
  • _scalloc()
  • _srealloc()
  • _sfree()
Discontinued Use malloc() as an alternative to _smalloc(). Contact the Services team if you need an alternative for _smalloc().
LUA Discontinued Python
modem_* functions
  • modem_open()
  • modem_script()
  • modem_read()
  • modem_write()
Discontinued N/A
New: minidrivers (Instant Device Activation, or IDA) Discontinued N/A
PCI Legacy Interface PCI section Discontinued Use the updated PCIe implementation.
Perl Discontinued Python
PPS and PiPs Discontinued MQTT, RabbitMQ and FastDDS
QDB Discontinued SQL Lite
syslogd Discontinued slogger2 The API only logs to slogger2.

Kernel

Name Status Alternative Notes
C Library Reference functions:
  • nap()
  • napms()
Discontinued delay()
C Library Reference Interrupt functions:
  • InterruptAttach()
  • InterruptAttachArray()
  • InterruptHookIdle2()
  • InterruptHookTrace()
Discontinued
  • InterruptAttachThread() and InterruptAttachEvent() can be used as alternatives for InterruptAttach().
  • InterruptHookIdle2() is replaced by a new design for suspending and resuming cores.
Legacy Kernel Features
  • Mutex events:
    • SyncMutexEvent()
    • SyncMutexEvent_r()
    • SyncMutexRevive()
    • SyncMutexRevive_r()
  • Guardian Process
  • ThreadCreate()
  • Global Channels
  • On demand paging
  • Lazy FPU switching
  • Persistent Threads
  • Idle hook implementation:
    • PowerSetActive()
    • PowerGetActive()
    • PowerParameter()
    • Structures related power management
  • mq
Discontinued
  • POSIX robust mutexes
  • N/A
  • pthread_create()
  • N/A
  • N/A
  • N/A
  • N/A
  • N/A
  • mqueue
The threadCreate() function is still the kernel call to create a new thread. However, its direct use as an alternative to pthread_create() is deprecated. For QNX SDP 8.0, all calls to create a new thread should use pthread_create(), which is a standard POSIX function wrapping QNX's own ThreadCreate().
iofunc_lock_calloc() Discontinued N/A
iofunc_lock_free() Discontinued N/A
MsgReceivePulsev()/MsgReceivePulsev_r() Discontinued N/A
MsgKeyData()/MsgKeyData_r() Discontinued N/A
Random utility option -i Discontinued
  • The information gathered by this option is now handled inside the kernel and provided in the SysRandom kernel instead.
  • N/A
PROCMGR_AID_XTHREAD_THREADCTL Discontinued N/A
Random utility options:
  • m
  • r
  • t
Deprecated N/A These will be discontinued in SDP 8.1.
  • Mode will default to 0664 and can be modified through security policies if required.
  • N/A
  • The timer entropy behariour is being preserved and will be default behavior in SDP 8.1.
New: Signal functions:
  • sigblock()
  • sigpause()
  • sigsetmask()
  • sigunblock()
Discontinued sigprocmask() These were BSD functions that supported only 32 signals.

Networking

Name Status Alternative Notes
  • dhclient
  • autoipd
  • rtsold
Discontinued dhcpcd
fs-cifs Discontinued Use a compatible third-party SMBv3 CIFS.
io-pkt networking stack Discontinued N/A
Networking Legacy network utilities
  • brconfig
  • DHCP relay
  • DHCP server
  • DNS server
  • FTP client
  • FTP server
  • inetd
  • mrouted
  • ping6
  • ptpd-avb
  • routed
  • TELNET client
  • TELNET server
  • TFTP client
  • TFTP server
  • nicinfo
Discontinued N/A
Networking Legacy network utilities
  • Racoon and racoonctl
Discontinued strongSwan
Network Time Protocol (NTP) utilities
  • ntptrace
Discontinued Use the command ntpq -p [host] to determine the NTP peer of the specified host. All other NTP utilities are supported.
QNET Discontinued N/A QNET code was in the io-pkt package, which has been removed.

Filesystems

Name Status Alternative Notes
+/-name_enc Discontinued N/A This is a buildfile attribute for mk*fs tools.
copy and data attributes for mkifs Discontinued mkifs*
Dynamic encryption domains Discontinued Use regular encryption domains that are provided in the filesystems.
flink() Discontinued Use link() or linkat().
Legacy filesystems
  • Embedded transaction filesystem (ETFS)
    • etfsctl
    • fs-etfs-*
  • Windows NT Filesystem
  • Apple Macintosh HFS
  • Inflator filesystem
Discontinued Use supported filesystems with QNX SDP 8.0.
Legacy filesystem utilities - fsmon Discontinued N/A
Legacy filesystem utilities - fsevents Discontinued The fsevents utility is replaced by inotify_().
Legacy filesystem utilities - io-fs Discontinued devb-
Legacy filesystem utilities - fsf-crypt Discontinued fs-qnx6 This was used for file encryption on the FAT filesystem and is no longer provided. The encryption feature is provided with the QNX6 filesystem.
maxcio option for io-blk Discontinued N/A Limit application I/O sizes if caps on latency are necessary.
namedom Discontinued N/A This is a buildfile attribute for mk*fs tools.

Toolchain

Name Status Alternative Notes
C++ 11 and C++ 14 Discontinued C++ 17 and C++ 20
MacOS Host Support Discontinued You can use supported Ubuntu, Windows or Redhat Host Platforms. QNX SDP 8.0 can also be utilized in a virtual environment using one of the supported hypervisors.
Ubuntu 18.04 Discontinued Ubuntu 20.04 and 22.04
Windows XP, Vista, 7, and 8 Discontinued Windows 10 and 11

Security

Name Status Alternative Notes
functionality of devr-drng.so Discontinued This is directly integrated into the random executable. Therefore, no additonal module is required.
PROCMGR_AID_INTERRUPTEVENT Discontinued N/A
Random utility option -p Discontinued N/A
Sandboxing Discontinued Use security policies and/or process manager abilities with POSIX permissions and ACLs to achieve similar capabilities.

Command line tools

Name Status Alternative Notes
op utility Discontinued su
QCC options -ansi -lang-c Discontinued N/A
restart Discontinued N/A
Target-side command line utilities:
  • basename
  • cat
  • cksum
  • cfgopen
  • chat
  • comm
  • cp
  • split
  • cut
  • date
  • dd
  • diff
  • dirname
  • dit
  • du
  • echo
  • egrep
  • ed
  • env
  • expand
  • false
  • fgrep
  • file
  • find
  • fullpath
  • getty
  • grep
  • head
  • id
  • libgmp
  • libtermcap
  • link
  • ls
  • mesg
  • mkdir
  • mkfifo
  • mktemp
  • modem
  • mv
  • nohup
  • paste
  • patch
  • pax
  • pr
  • printf
  • ps
  • pwd
  • qcp
  • qed
  • qtalk
  • rm
  • rmdir
  • rpcgen
  • sed
  • sleep
  • sort
  • split
  • strings
  • tail
  • tee
  • textto
  • time
  • tinit
  • touch
  • true
  • tty
  • uname
  • unexpand
  • unifdef
  • uniq
  • unlink
  • uud
  • uudecode
  • uue
  • uuencode
  • wc
  • which
  • xargs
  • gprof
Discontinued The following utilities have toybox alternatives:
  • basename
  • cat
  • cksum
  • comm
  • cp
  • cut
  • date
  • dd
  • diff
  • dirname
  • du
  • echo
  • egrep
  • env
  • expand
  • false
  • fgrep
  • file
  • find
  • grep
  • head
  • id
  • link
  • ls
  • mkdir
  • mkfifo
  • mktemp
  • mv
  • nohup
  • paste
  • patch
  • printf
  • ps
  • pwd
  • rm
  • rmdir
  • sed
  • sleep
  • sort
  • split
  • stat
  • strings
  • tail
  • tee
  • time
  • touch
  • true
  • tty
  • uname
  • uniq
  • unlink
  • uud
  • uudecode
  • uue
  • uuencode
  • wc
  • which
  • who
  • xargs
zip Discontinued QNX compression algorithms

Screen or graphics

Name Status Alternative Notes
OpenGL 1.0 Discontinued OpenGL 2.0 and 3.0
  • SCREEN_DONT_FLUSH
  • SCREEN_POST_RESUME
Discontinued screen_dequeue_stream_render_buffer() and screen_dequeue_window_render_buffer() can be used as alternatives.
SCREEN_EVENT_DEVICE Discontinued A SCREEN_EVENT_CREATE or SCREEN_EVENT_CLOSE event is sent as an alternative.
SCREEN_PROPERTY_COLOR_SPACE Discontinued Use SCREEN_PROPERTY_CHROMATICITY_COORDS as an alternative.
screeninfo Discontinued Directly read /dev/screen contents.

APIs

Name Status Alternative Notes
cfgopen() and fcfgopen() Discontinued N/A
Functions declared in stdlib.h:
  • itoa()
  • utoa()
  • ltoa()
  • ultoa()
  • lltoa()
  • ulltoa()
Discontinued snprintf() The snprintf() function is a suitable alternative for all these functions as it offers more flexibility in formatting.
librcheck library:
  • CheckedPtr template
  • sampling
  • memory filling
  • chain integrity checking
Discontinued N/A
libc: _malloc_stats structure Discontinued N/A
libbacktrace functions:
  • bt_get_backtrace()
  • bt_init_accessor()
  • bt_load_memmap()
  • bt_release_accessor()
  • bt_set_flags()
  • bt_sprn_memmap()
  • bt_sprnf_addrs()
  • bt_translate_addrs()
  • bt_unload_memmap()
Discontinued libunwind
Memory allocator APIs:
  • cfree
  • mcheck
  • mprobe
  • _ambiksize
  • _amhiwater
Discontinued N/A
procnto memory configuration option for turning PROT_EXEC on or off Discontinued elfnote utility The elfnote utility can be used to change the executable state of a binary's stack.
pthread_rwlockattr_getclock() and pthread_rwlockattr_setclock() Discontinued pthread_rwlock_clockrdlock() and pthread_rwlock_clockwrlock()
shm_ctl() flags
  • SHMCTL_GLOBAL
  • SHMCTL_PRIV
  • SHMCTL_LOWERPROT
  • SHMCTL_NODERFRAG
Discontinued N/A
seedres Discontinued This utility is for x86 platforms; on other platforms, the startup code seeds the system resources.
SPI Framework API:
  • spi_open()
  • spi_close()
  • spi_read()
  • spi_write()
  • spi_setcfg()
  • spi_getdevinfo()
  • spi_getdrvinfo()
  • spi_cmdread()
  • spi_xchange()
  • spi_dma_xfer()
  • spi_dma_xchange()
Discontinued POSIX functions:
  • open()
  • close()
  • read()
  • write()
devctl() commands:
  • DCMD_SPI_SET_CONFIG
  • DCMD_SPI_GET_DEVINFO
  • DCMD_SPI_GET_DRVINFO
  • DCMD_SPI_DATA_XCHNG replaces spi_cmdread(), spi_xchange(), spi_dma_xfer(), and spi_dma_xchange()

Note: For more information about the alternative capabilities or features, refer to the QNX SDP user documentation.