QNX Neutrino 6.6 documentation online

New entries

Structure that describes user and group credentials
fsev_t, FSE_*()
Structure and macros for filesystem events
Find a specific item instance owned by a specific parent, resolving all synonym names
Find the offset of the section in the system page for a bus
Find the offset in the system page of a device
Find the bus that a device belongs to
Count the instances of a unit in the system page
Determine which instance of a device an offset corresponds to
Locate a specific instance of the named tag for a device
hwiattr_get(), hwiattr_get_*()
Get attributes of a bus or device
Find a bus attribute tag associated with a bus
Find the clock source for a device
Find an erratum for a device
Find the interrupt vector associated with a device
Get the NIC address of a device
Find the PHY address associated with a device
Attach an “idle” interrupt handler. This kernel call replaces InterruptHookIdle() and attaches a handler that's suitable for a multiprocessor system.
Verify that the client has a given resource manager ability
Remove a specified number of notification entries from a list
Send notifications to queued clients
Pause the processing of a message
Create a link
Trigger a system-wide event, specifying a value for sigev_value
Read a directory and get stat information
Change the caller's identifiers, based on a given string
Information about a signal
Close a system logger file
Write a snapshot of slog2 logs to a file
Get information about a slogger2 buffer
Get information about a log file
Open a system log for parsing
Compare two slogger2 packets
Structure containing information about a packet
Parse all slogger2 files
slog2_parse_dynamic_buffer(), slog2_parse_static_buffer()
Parse a slogger2 buffer
Get or set information about the socket manager, specifying the name of the variable as a string.


Changed content

The large-file support functions and data types now appear in the name space only if you define _LARGEFILE64_SOURCE when you compile your code. For more information, see Classification in What's in a Function Description?
Note that the out string might not be null-terminated.
You can pass -1 for the user ID or group ID (or both) if you don't want to change them.
Note that if the pid argument is 0, the function searches for the connection in the current process.
You can now use this function in multithreaded programs.
devctl(), devctlv()
We've added EFAULT to the list of errors.
These functions can return ISC_R_SUCCESS, and some of the OMAPI code uses an MDL macro. Neither of these is defined in a public header, but you can define them in your code if you wish.
dispatch_create(), dispatch_create_channel()
In order to create a public channel (i.e., without _NTO_CHF_PRIVATE set), your process must have the PROCMGR_AID_PUBLIC_CHANNEL ability enabled.
We've added an example, but for more secure encryption, use OpenSSL instead of this function.
We've documented the F_GETOWN and F_SETOWN commands.
getitimer(), setitimer()
POSIX has marked these functions as obsolescent; you should use timer_gettime() and timer_settime() instead. Nevertheless, we've corrected the descriptions.
getsockopt(), setsockopt()
  • Options that can be enabled or disabled have a value of zero if disabled, or a nonzero value if enabled. We've described the SO_ACCEPTCONN option.
  • We've described the SO_OVERFLOWED option.
InterruptAttach(), InterruptAttachEvent()
  • You can now specify _NTO_INTR_FLAGS_NO_UNMASK to leave the interrupt masked.
  • We've added more details about choosing the event type for the sigevent.
We've documented the _IO_CONNECT_EFLAG_DOTDOT extended flag.
_io_devctl, _io_devctl_reply, _io_lock, _io_read, _io_write
The nbytes members of these structures are now of type uint32_t.
The path_len member of this structure is now of type uint32_t.
We've added EACCES to the list of errors for this function.
We've documented _NOTIFY_ACTION_CONDARM and updated the list of errors for this function.
iofunc_notify_trigger(), iofunc_notify_trigger_strict()
  • A resource manager generally calls iofunc_notify_trigger_strict() in a close_dup callout to unblock any client select() calls that are waiting on a file descriptor that's been closed. You should call it three times with a count value of INT_MAX, the ctp passed to the close_dup callout, and an index of IOFUNC_NOTIFY_INPUT, IOFUNC_NOTIFY_OUTPUT, and IOFUNC_NOTIFY_OBAND.
  • To ensure thread safety, lock the underlying object before calling this function.
iofunc_notify_remove(), iofunc_notify_remove_strict()
A resource manager typically calls one of these functions in its close_dup handler.
We've documented the IOFUNC_OCB_MMAP bit for the flags member.
iofunc_openfd(), iofunc_read_verify(), iofunc_write_verify()
We've removed the xtype types and flags that aren't relevant to these functions.
We've documented _NOTIFY_ACTION_CONDARM and updated the list of errors for this function.
You can pass -1 for the user ID or group ID (or both) if you don't want to change them.
This entry now describes the libc and librcheck versions of this function.
memchr(), memcpy(), memset(), strchr(), strcpy(), strlen()
On ARM v7 targets, you can use the LIBC_STRINGS environment variable to select the memory implementation to use for these functions.
In order to create a public channel (i.e., without _NTO_CHF_PRIVATE set), your process must have the PROCMGR_AID_PUBLIC_CHANNEL ability enabled.
This function sets errno to EINVAL if the notification argument is NULL but the process isn't currently registered.
We've described how the priority of a pulse is checked and provided more details about the possible meanings of the error codes.
  • This function gives an error of ENOENT if you attempt to attach a global name, but gns isn't running.
  • In order to create a public channel (i.e., without _NTO_CHF_PRIVATE set), your process must have the PROCMGR_AID_PUBLIC_CHANNEL ability enabled.
Note that in QNX Neutrino, if the file argument doesn't contain a slash, and the PATH environment variable isn't defined, then the OS searches for the executable in the current working directory.
This function gives an error of EPERM if a non-root process tries to change the abilities for another process.
procmgr_event_notify(), procmgr_event_notify_add()
  • There's a new PROCMGR_EVENT_CONTIG_ALLOC_FAIL flag that you can use if you want a pulse to be delivered if an attempt to allocate contiguous memory failed.
  • If you set SIGEV_FLAG_UPDATEABLE in the hidden bits in the sigevent structure, the kernel provides some additional information in the sigev_value member when it notifies your process of the event.
pthread_cond_init(), pthread_mutex_init()
These functions now return ENOMEM instead of EAGAIN if all kernel synchronization objects are in use.
In order to create a public channel (i.e., without _NTO_CHF_PRIVATE set), your process must have the PROCMGR_AID_PUBLIC_CHANNEL ability enabled.
In order to create a public channel (i.e., without _NTO_CHF_PRIVATE set), your process must have the PROCMGR_AID_PUBLIC_CHANNEL ability enabled.
To avoid allocator thrashing, the resource manager framework always keeps at least eight handles and hash buckets, no matter what minimum values you specify. It also uses a minimum bucket size of 16.
ROUTE protocol
You can now have multiple routes to the same destination; we've updated the example.
rsrcdbmgr_devno_attach(), rsrcdbmgr_devno_detach()
In order to use these functions, your process must have the PROCMGR_AID_RSRCDBMGR ability enabled.
sched_getparam(), sched_getscheduler(),
In order to get the scheduling policy and parameters for a thread whose real or saved user ID is different from the calling process's real or effective user ID, your process must have the PROCMGR_AID_SCHEDULE ability enabled.
In QNX Neutrino, this interval is the timeslice for the SCHED_RR scheduling policy.
  • There are new members in the sched_aps_create_parms, sched_aps_partition_info, sched_aps_join_parms, and sched_aps_modify_parms structures.
  • There are new SCHED_APS_SCHEDPOL_PARTITION_LOCAL_PRIORITIES, SCHED_APS_SCHEDPOL_LIMIT_CPU_USAGE, and SCHED_APS_SCHEDPOL_NO_LONG_REPORTING scheduling policies. The SCHED_APS_SCHEDPOL_DEFAULT policy now means that SCHED_APS_SCHEDPOL_FREETIME_BY_RATIO isn't set, long-window reporting is enabled, and all maximum budgets are 100%.
For the SCHED_RR and SCHED_OTHER scheduling policies, the interval is the timeslice in nanoseconds; for SCHED_FIFO and SCHED_SPORADIC, it's 0.
sched_setparam(), sched_setscheduler()
In order to set the scheduling policy and parameters for a thread whose real or saved user ID is different from the calling process's real or effective user ID, your process must have the PROCMGR_AID_SCHEDULE ability enabled.
In order to create a public channel (i.e., without _NTO_CHF_PRIVATE set), your process must have the PROCMGR_AID_PUBLIC_CHANNEL ability enabled.
It's always safe, and typically faster, to assure that sem is 32-bit aligned.
We've added EINTR to the list of error codes for this function.
The location in the pathname space where shared objects appear has changed:
name Pathname space entry
entry /dev/shmem/CWD/entry
/entry /dev/shmem/entry

where CWD is the current working directory for the program at the point that it calls shm_open().

The shutdown type now includes:

Note that when the shutdown_classify() callout is invoked, only the pid and name members of the ProcessInfo_t structure have been initialized. Don't modify any of the members of this structure.

The shutdown_classify() callout can now classify a process as CLASS_GRAPHICAL_APP or CLASS_NR.

We've described the SIGEV_MEMORY event and the SIGEV_FLAG_UPDATEABLE flag.
  • Use slog2_reset() to unregister the buffer set.
slogb(), slogf(), slogi(), vslogf()
If you want the data in the log message to be interpreted as text, use a bitwise OR to add _SLOG_TEXTBIT to the severity. If this bit is set, slogf() and vslogf() also write the log message on stderr.
snprintf(), vsnprintf()
The Caveats section now suggests a way to avoid the problem with calculating the length when you're building a string one piece at a time.
There's a new SPAWN_ASLR_INVERT flag that you can use to toggle the Address Space Layout Randomization bit for the child process.
The st_mode member includes the _S_ACL_EXT bit if the file has an extended Access Control List.
strtoimax(), strtoumax(), strtol(), strtoll(), strtoul(), strtoull()
If the conversion couldn't be performed, these functions return 0 and set errno to EINVAL.
SyncCondvarWait(), SyncCondvarWait_r()
These functions indicate an error of EINTR if they're interrupted by a signal.
tempnam(), tmpnam()
POSIX has marked these functions as obsolescent; use mkstemp() or tmpfile() instead.
Note that this function does a shallow copy of the thread_pool_attr_t structure; it doesn't make copies of anything that the structure points to.
Note that if you set a thread's runmask, it takes effect immediately.
If you want infinite timer tolerance, call TimerSettime() instead of timer_settime().
We've explained how to make the timer repeat.
We've documented the _NTO_TI_PROCESS_TOLERANT, _NTO_TI_TARGET_PROCESS, _NTO_TI_TOD_BASED, and _NTO_TI_TOLERANT bits that are used in the flags member of the _timer_info structure.
If you specify the TIMER_TOLERANCE flag and you want infinite timer tolerance, you can specify a large value (e.g., ~0ULL) for the nsec member of the itime argument.
TimerTimeout(), timer_timeout()
We've clarified how to use these functions.
  • Note that the only library functions that you can call in your event handler are those that are safe to call from an interrupt handler. Your event handler must also be reentrant.
We've described the WTRAPPED flag.

We've updated the classifications of the following, to conform to POSIX.1-2008, 2013 Edition:

Function or data type Classification
aiocb POSIX 1003.1
aio_cancel() POSIX 1003.1
aio_error() POSIX 1003.1
aio_fsync() POSIX 1003.1
aio_read() POSIX 1003.1
aio_return() POSIX 1003.1
aio_suspend() POSIX 1003.1
aio_write() POSIX 1003.1
alphasort() POSIX 1003.1
asctime(), asctime_r() POSIX 1003.1
basename() POSIX 1003.1
bcmp() Standard Unix; removed from POSIX.1-2008
bcopy() Standard Unix; removed from POSIX.1-2008
bzero() Standard Unix; removed from POSIX.1-2008
clock_getres() POSIX 1003.1
clock_gettime() POSIX 1003.1
clock_nanosleep() POSIX 1003.1
clock_settime() POSIX 1003.1
closelog() POSIX 1003.1
ctime() POSIX 1003.1 OB
dirname() POSIX 1003.1
dlclose() POSIX 1003.1
dlerror() POSIX 1003.1
dlopen() POSIX 1003.1
dlsym() POSIX 1003.1
endgrent() POSIX 1003.1
endpwent() POSIX 1003.1
fchdir() POSIX 1003.1
flockfile() POSIX 1003.1
fstatvfs() POSIX 1003.1
ftime() Standard Unix; removed from POSIX.1-2008
ftrylockfile() POSIX 1003.1
ftw() POSIX 1003.1 OB XSI
funlockfile() POSIX 1003.1
getchar_unlocked() POSIX 1003.1
getc_unlocked() POSIX 1003.1
getgrent() POSIX 1003.1
getgrgid_r() POSIX 1003.1
getgrnam_r() POSIX 1003.1
gethostbyaddr() Standard Unix; removed from POSIX.1-2008
gethostbyname() Standard Unix; removed from POSIX.1-2008
getitimer() POSIX 1003.1 OB XSI
getlogin_r() POSIX 1003.1
getpgid() POSIX 1003.1
getpwent_r() NetBSD
getpwent() POSIX 1003.1
getpwnam_r() POSIX 1003.1
getpwuid_r() POSIX 1003.1
getrlimit() POSIX 1003.1
getrusage() POSIX 1003.1
getsid() POSIX 1003.1
getsubopt() POSIX 1003.1
gets() POSIX 1003.1 OB
gettimeofday() POSIX 1003.1 OB XSI
getwd() Standard Unix; removed from POSIX.1-2008
gmtime_r() POSIX 1003.1
grantpt() POSIX 1003.1
h_errno Standard Unix; removed from POSIX.1-2008
hsearch() POSIX 1003.1
index() Standard Unix; removed from POSIX.1-2008
initstate() POSIX 1003.1
insque() POSIX 1003.1
ioctl(), ioctl_socket() POSIX 1003.1 OB XSR
isascii() POSIX 1003.1 OB XSI
killpg() POSIX 1003.1
lchown() POSIX 1003.1
lio_listio() POSIX 1003.1
localtime_r() POSIX 1003.1
lockf(), lockf64() POSIX 1003.1
mknod() POSIX 1003.1
mkstemp() POSIX 1003.1
mmap() POSIX 1003.1 SHM|TYM
mprotect() POSIX 1003.1
mq_timedreceive() POSIX 1003.1
mq_timedsend() POSIX 1003.1
msync() POSIX 1003.1 SIO
munmap() POSIX 1003.1 SHM|TYM
nanosleep() POSIX 1003.1
nftw() POSIX 1003.1
openlog() POSIX 1003.1
poll() POSIX 1003.1
pread() POSIX 1003.1
pthread_atfork() POSIX 1003.1
pthread_attr_destroy() POSIX 1003.1
pthread_attr_getdetachstate() POSIX 1003.1
pthread_attr_getguardsize() POSIX 1003.1
pthread_attr_getinheritsched() POSIX 1003.1 TPS
pthread_attr_getschedparam() POSIX 1003.1
pthread_attr_getschedpolicy() POSIX 1003.1 TPS
pthread_attr_getscope() POSIX 1003.1 TPS
pthread_attr_getstackaddr() Standard Unix; removed from POSIX.1-2008
pthread_attr_getstacksize() POSIX 1003.1 TSS
pthread_attr_init() POSIX 1003.1
pthread_attr_setdetachstate() POSIX 1003.1
pthread_attr_setguardsize() POSIX 1003.1
pthread_attr_setinheritsched() POSIX 1003.1 TPS
pthread_attr_setschedparam() POSIX 1003.1
pthread_attr_setschedpolicy() POSIX 1003.1 TPS
pthread_attr_setscope() POSIX 1003.1 TPS
pthread_attr_setstackaddr() Standard Unix; removed from POSIX.1-2008
pthread_attr_setstacksize() POSIX 1003.1 TSS
pthread_barrierattr_destroy() POSIX 1003.1
pthread_barrierattr_getpshared() POSIX 1003.1 TSH
pthread_barrierattr_init() POSIX 1003.1
pthread_barrierattr_setpshared() POSIX 1003.1 TSH
pthread_barrier_destroy() POSIX 1003.1
pthread_barrier_init() POSIX 1003.1
pthread_barrier_wait() POSIX 1003.1
pthread_cancel() POSIX 1003.1
pthread_cleanup_pop() POSIX 1003.1
pthread_cleanup_push() POSIX 1003.1
pthread_condattr_destroy() POSIX 1003.1
pthread_condattr_getclock() POSIX 1003.1
pthread_condattr_getpshared() POSIX 1003.1 TSH
pthread_condattr_init() POSIX 1003.1
pthread_condattr_setclock() POSIX 1003.1
pthread_condattr_setpshared() POSIX 1003.1 TSH
pthread_cond_broadcast() POSIX 1003.1
pthread_cond_destroy() POSIX 1003.1
pthread_cond_init() POSIX 1003.1
pthread_cond_signal() POSIX 1003.1
pthread_cond_timedwait() POSIX 1003.1
pthread_cond_wait() POSIX 1003.1
pthread_create() POSIX 1003.1
pthread_detach() POSIX 1003.1
pthread_equal() POSIX 1003.1
pthread_exit() POSIX 1003.1
pthread_getconcurrency() POSIX 1003.1 OB XSI
pthread_getcpuclockid() POSIX 1003.1 TCT
pthread_getschedparam() POSIX 1003.1 TPS
pthread_getspecific() POSIX 1003.1
pthread_join() POSIX 1003.1
pthread_kill() POSIX 1003.1
pthread_mutexattr_destroy() POSIX 1003.1
pthread_mutexattr_getprioceiling() POSIX 1003.1 RPP TPP
pthread_mutexattr_getprotocol() POSIX 1003.1 MC1 TPP|TPI
pthread_mutexattr_getpshared() POSIX 1003.1 TSH
pthread_mutexattr_gettype() POSIX 1003.1
pthread_mutexattr_init() POSIX 1003.1
pthread_mutexattr_setprioceiling() POSIX 1003.1 RPP TPP
pthread_mutexattr_setprotocol() POSIX 1003.1 MC1 TPP|TPI
pthread_mutexattr_setpshared() POSIX 1003.1 TSH
pthread_mutexattr_settype() POSIX 1003.1
pthread_mutex_destroy() POSIX 1003.1
pthread_mutex_getprioceiling() POSIX 1003.1 RPP|TPP
pthread_mutex_init() POSIX 1003.1
pthread_mutex_lock() POSIX 1003.1
pthread_mutex_setprioceiling() POSIX 1003.1 RPP|TPP
pthread_mutex_timedlock() POSIX 1003.1
pthread_mutex_trylock() POSIX 1003.1
pthread_mutex_unlock() POSIX 1003.1
pthread_once() POSIX 1003.1
pthread_rwlockattr_destroy() POSIX 1003.1
pthread_rwlockattr_getpshared() POSIX 1003.1 TSH
pthread_rwlockattr_init() POSIX 1003.1
pthread_rwlockattr_setpshared() POSIX 1003.1 TSH
pthread_rwlock_destroy() POSIX 1003.1
pthread_rwlock_init() POSIX 1003.1
pthread_rwlock_rdlock() POSIX 1003.1
pthread_rwlock_timedrdlock() POSIX 1003.1
pthread_rwlock_timedwrlock() POSIX 1003.1
pthread_rwlock_tryrdlock() POSIX 1003.1
pthread_rwlock_trywrlock() POSIX 1003.1
pthread_rwlock_unlock() POSIX 1003.1
pthread_rwlock_wrlock() POSIX 1003.1
pthread_self() POSIX 1003.1
pthread_setcancelstate() POSIX 1003.1
pthread_setcanceltype() POSIX 1003.1
pthread_setconcurrency() POSIX 1003.1 OB XSI
pthread_setschedparam() POSIX 1003.1 TPS
pthread_setschedprio() POSIX 1003.1 TPS
pthread_setspecific() POSIX 1003.1
pthread_spin_destroy() POSIX 1003.1
pthread_spin_init() POSIX 1003.1
pthread_spin_lock() POSIX 1003.1
pthread_spin_trylock() POSIX 1003.1
pthread_spin_unlock() POSIX 1003.1
pthread_testcancel() POSIX 1003.1
ptsname() POSIX 1003.1
putchar_unlocked() POSIX 1003.1
putc_unlocked() POSIX 1003.1
pwrite() POSIX 1003.1
random() POSIX 1003.1
rand_r() POSIX 1003.1 OB
readdir_r() POSIX 1003.1
realpath() POSIX 1003.1
remque() POSIX 1003.1
rindex() Standard Unix; removed from POSIX.1-2008
scalb() Standard Unix; removed from POSIX.1-2008
scandir() POSIX 1003.1
sched_get_priority_max() POSIX 1003.1 PS|TPS
sched_get_priority_min() POSIX 1003.1 PS|TPS
sched_rr_get_interval() POSIX 1003.1 PS|TPS
sched_yield() POSIX 1003.1
sem_close() POSIX 1003.1
sem_destroy() POSIX 1003.1
sem_getvalue() POSIX 1003.1
sem_init() POSIX 1003.1
sem_open() POSIX 1003.1
sem_post() POSIX 1003.1
sem_timedwait() POSIX 1003.1
sem_trywait() POSIX 1003.1
sem_unlink() POSIX 1003.1
sem_wait() POSIX 1003.1
setgrent() POSIX 1003.1
setitimer() POSIX 1003.1 OB XSI
setlogmask() POSIX 1003.1
setpgrp() POSIX 1003.1 OB XSI
setpwent() POSIX 1003.1
setregid() POSIX 1003.1
setreuid() POSIX 1003.1
setrlimit() POSIX 1003.1
setstate() POSIX 1003.1
sigpause() POSIX 1003.1
sigqueue() POSIX 1003.1
sigtimedwait() POSIX 1003.1
sigwaitinfo() POSIX 1003.1
srandom() POSIX 1003.1
statvfs() POSIX 1003.1
strcasecmp() POSIX 1003.1
strdup() POSIX 1003.1
strerror_r() POSIX 1003.1
strncasecmp() POSIX 1003.1
strnlen() POSIX 1003.1
strptime() POSIX 1003.1
strsignal() POSIX 1003.1
strtok_r() POSIX 1003.1
sync() POSIX 1003.1
syslog() POSIX 1003.1
tcgetsid() POSIX 1003.1
tempnam() POSIX 1003.1 OB XSI
timer_create() POSIX 1003.1
timer_delete() POSIX 1003.1
timer_getoverrun() POSIX 1003.1
timer_gettime() POSIX 1003.1
timer_settime() POSIX 1003.1
tmpnam() POSIX 1003.1 OB
truncate() POSIX 1003.1
ttyname_r() POSIX 1003.1
ualarm() Standard Unix; removed from POSIX.1-2008
unlockpt() POSIX 1003.1
usleep() Standard Unix; removed from POSIX.1-2008
vfork() Standard Unix; removed from POSIX.1-2008
waitid() POSIX 1003.1


We've corrected the description of the acl_p argument.
We've corrected the meaning of EINVAL.
We've corrected the description of the entry_d argument.
This function doesn't set errno; if there isn't enough memory, it simply returns NULL.
We've corrected the synopsis.
We've corrected the synopsis.
You need to include <rpc/rpc.h>.
calloc(), malloc(), realloc()
These functions set errno only if an error occurred.
This function sets the flags member of the _client_able structure for an ability to 1 if the client has the ability, or 0 if it doesn't. If the client doesn't have all the indicated abilities, this function sets the _NTO_CI_UNABLE bit in the flags member of the _client_info structure.
This function doesn't set errno.
_exit(), exit()
We corrected the name of EXIT_SUCCESS.
This function closes all open streams, including stdin, stdout, and stderr.
This function ignores streams that aren't writeable.
The second argument is of type int.
We've corrected the list of what the child process inherits from its parent.
The domain doesn't need to be unlocked for you to remove it.
NI_WITHSCOPEID is no longer used by this function.
We've corrected the example.
We've corrected the synopsis.
inet_lnaof(), inet_makeaddr(), inet_netof(), inet_network()
We've corrected the synopsis of these functions.
You can't specify an address of :: in a call to connect() or sendto() to mean the local host.
We've corrected the caveat about multithreaded resource managers.
There are currently no flags that apply to this function.
  • The SIOCDARP, SIOCGARP, and SIOCSARP commands aren't implemented.
  • We've removed the obsolete OSIOCGIFADDR, OSIOCGIFBRDADDR, OSIOCGIFCONF, OSIOCGIFDSTADDR, and OSIOCGIFNETMASK commands. Use the commands without the leading O instead.
We corrected the name of _IO_ACL.
This function sets the flags member of the _client_able structure for an ability to 1 if the client has the ability, or 0 if it doesn't. If the client doesn't have all the indicated abilities, this function sets the _NTO_CI_UNABLE bit in the flags member of the _client_info structure.
iofunc_devctl(), iofunc_devctl_default()
These functions return _RESMGR_DEFAULT if they don't recognize the given command, so that your resource manager can then handle the command. If you don't process the command, the client library's devctl() routine returns ENOTTY.
We've corrected the method to use to determine whether or not the version of procnto you're talking to supports the required_prot member of the io_mmap_t structure.
We corrected the list of errors.
This function indicates that it wrote the requested number of bytes, not zero bytes.
Use the IPV6_V6ONLY socket option to make AF_INET6 wildcard listening sockets accept IP6 traffic only.
lfind(), lsearch()
We've corrected the synopsis.
lstat(), lstat64()
You can safely call these functions in a multithreaded process.
The nondebug version of this function is now declared in <malloc.h>. The <rcheck/malloc.h> file includes additional commands and settings for the debug version.
mbrlen(), mbrtowc(), mbsrtowcs()
These functions are to use in a multithreaded program if the ps argument isn't NULL.
mbrtowc(), mbsrtowcs(), mbstowcs(), mbtowc()
This functions are affected by LC_CTYPE.
  • We've corrected the flags in the example of allocating a physically contiguous DMA buffer for a bus-mastering PCI network card. They should be MAP_SHARED | MAP_PHYS | MAP_ANON.
  • If you set MAP_LAZY, and there's no system memory at the time of the access, the thread gets a SIGBUS with a code of BUS_OBJERR, not BUS_ADRERR.
This function returns 0 if successful, or -1 if an error occurred. If the buffer isn't large enough, modem_read() discards any incoming characters that won't fit in it. It terminates the string in buf with a null character.
This function returns 0 on success; if an error occurs, it returns a value from the Errors section.
We've corrected the description of the coid argument.
You can send a pulse to a process if the sending process's real or effective user ID matches the real or effective user ID of the receiving process, or if the calling process has the PROCMGR_AID_CONNECTION ability enabled.
posix_fadvise(), posix_fallocate()
These functions give an error of EINVAL if the len argument is less than zero; they succeed if len is zero.
We've corrected the description of SPAWN_CHECK_SCRIPT.
This function sets errno if an error occurs.
A process's default tolerance is used when calculating timer tolerance if the timer has neither a specific tolerance nor the TIMER_PRECISE flag set.
pthread_join(), pthread_timedjoin(), pthread_timedjoin_monotonic()
We've corrected the list of error codes that these functions return.
In QNX Neutrino, PTHREAD_MUTEX_DEFAULT mutexes are treated in the same way as PTHREAD_MUTEX_ERRORCHECK.
  • Zero is a valid value for the block argument; we've corrected the description for EINVAL.
  • We've corrected the list of error values.
We corrected the name of _FTYPE_ALL.
RSRCMGR_IRQ isn't supported as an alternative to RSRCDBMGR_IRQ.
We've corrected the synopsis and description.
sigaction(), signal()
These functions don't rely on any process manager abilities.
slogb(), slogf()
These functions don't associate a special meaning with EINVAL.
  • We've corrected the name of SPAWN_FDCLOSED.
  • We've corrected the description of SPAWN_CHECK_SCRIPT.
If an error occurs, this function returns -1 and sets errno.
You can safely call this function in a multithreaded process.
timer_getexpstatus(), timer_getoverrun(), timer_gettime()
Your program doesn't need any process manager abilities in order to use these functions.
  • We corrected the name of _NTO_TIMER_RESET_OVERRUNS.
  • Your process must have the PROCMGR_AID_TIMER ability enabled only if you're trying to get information about the timers for a process belonging to a different user and you're using the _NTO_TIMER_RESET_OVERRUNS flag.
  • The itime and otime members of the _timer_info structure are of type struct _itimer, not struct itimerspec.
trace_logf(), trace_nlogf(), trace_vnlogf()
These functions return the number of bytes written in the log, including the terminating null character, or -1 if an error occurred.
The addr argument for _NTO_TRACE_SETBUFFER is of type paddr64_t *, not paddr64_t. The type of the tid argument for _NTO_TRACE_SETCLASSTID and _NTO_TRACE_SETEVENTTID is uint32_t.
We've corrected the description of the arguments to the callback function.
We corrected the name of _TRACE_HEADER_KEYWORDS.
If the interval argument is nonzero, the alarm is repeated every interval microseconds.
wait3(), wait4()
You need to include <sys/resource.h> in your source.
wcrtomb(), wcsrtombs()
These functions are safe to use in a multithreaded program if the ps argument isn't NULL.
wcstoimax(), wcstoumax(), wcstol(), wcstoll(), wcstoul(), wcstoull()
We've corrected the description of what these functions return.
This function isn't safe for you to use in a multithreaded program.
  • Zero is a valid value for the block argument; we've corrected the description for EINVAL.
  • We've corrected the list of error values.