Errata

alphasort()
This function compares two directory entries; it doesn't sort an array of entries.
execlpe(), execvpe()
You can now execute a shell script.
fgetc(), fgetchar(), fgets(), fgetwc(), fgetws(), getc(), getc_unlocked(), getchar(), getchar_unlocked(), gets(), getw(), getwc(), getwchar()
Use feof() or ferror() to distinguish an end-of-file condition from an error.
fstat(), fstat64()
These functions return -1 if an error occurs.
iofunc_mmap(), iofunc_mmap_default()
These functions return a nonpositive value on success.
InterruptAttach(), InterruptAttachEvent()
You should always set _NTO_INTR_FLAGS_TRK_MSK.
mq_getattr(), mq_setattr()
The mq_flags member of the mq_attr structure applies to the message-queue description (i.e. locally), not to the queue as a whole.
mq_open()
Corrected the interpretation of the name argument.
MsgError(), MsgError_r()
If the error argument is EOK, the MsgSend*() call returns EOK; if error is any other value, the MsgSend*() call returns -1.
MsgSendPulse(), MsgSendPulse_r()
You can now send pulses across the network.

You can send a pulse to any process — not just to a process in the same process group — if your process has the appropriate permission.

name_open()
This function returns a nonnegative integer representing a side-channel connection ID, or -1 if an error occurred.
printf()
The exponent produced for the e and E formats is at least two digits long.

Clarified what happens if the format string includes invalid multibyte characters.

pthread_mutex_timedlock(), pthread_rwlock_timedrdlock(), pthread_rwlock_timedwrlock()
The timeout is based on the CLOCK_REALTIME clock.
_resmgr_ocb()
Corrected the name; see resmgr_ocb().
select()
This function and the associated macros are now defined in <sys/select.h>, instead of <sys/time.h> (which includes <sys/select.h>).
sem_open()
Corrected the interpretation of the sem_name argument.
sem_timedwait()
The timeout is based on the CLOCK_REALTIME clock.
send()
The list of errors now includes EPIPE.
shm_open()
Corrected the interpretation of the name argument.
sigaction()
Corrected the example (it isn't safe to call printf() in a signal handler).
spawn(), spawnl(), spawnle(), spawnlp(), spawnlpe(), spawnp(), spawnv(), spawnve(), spawnvp(), spawnvpe()
You can now execute a shell script.

The child process's tms_utime, tms_stime, tms_cutime, and tms_cstime are now calculated.

timer_create()
Don't use SIGEV_INTR or SIGEV_UNBLOCK for the event type.
vsnprintf()
Corrected the returned values.