Caution: This version of this document is no longer maintained. For the latest documentation, see http://www.qnx.com/developers/docs.

Keywords - C


· ! · 0 · A · B · C · D · E · F · G · H · I · J · K · L · M · N · O · P · Q · R · S · T · U · V · W · X · Y · Z ·


cancellation point
· What about the other versions? ·

cautions
about timers and creating threads on trigger
· Timers creating threads ·

channel
abstraction
· More about channels ·
as class of service
· More about channels ·
constants
_NTO_CHF_COID_DISCONNECT
· Channel flags ·
_NTO_CHF_DISCONNECT
· Channel flags ·
_NTO_CHF_FIXED_PRIORITY
· Channel flags ·
_NTO_CHF_REPLY_LEN
· Channel flags ·
_NTO_CHF_SENDER_LEN
· Channel flags ·
_NTO_CHF_THREAD_DEATH
· Channel flags ·
_NTO_CHF_UNBLOCK
· Channel flags · io_unblock() [I/O] ·
creation by server
· Creating the channel ·
defined
· Glossary ·
with multiple threads
· More about channels ·

channel ID
· Establishing a connection · More about channels · Who sent the message? ·
how to find
· Finding the server's ND/PID/CHID ·
process manager
· Finding the process manager ·

ChannelCreate()
· Architecture & structure · Channel flags · Creating the channel · Glossary · io_unblock() [I/O] · main() · So what's the trick? · Who sent the message? ·
example
· main() ·
flags
· Channel flags ·
_NTO_CHF_COID_DISCONNECT
· Channel flags ·
_NTO_CHF_DISCONNECT
· Channel flags ·
_NTO_CHF_FIXED_PRIORITY
· Channel flags ·
_NTO_CHF_REPLY_LEN
· Channel flags ·
_NTO_CHF_SENDER_LEN
· Channel flags · _NTO_CHF_UNBLOCK ·
_NTO_CHF_THREAD_DEATH
· Channel flags ·
_NTO_CHF_UNBLOCK
· Channel flags · _NTO_CHF_UNBLOCK ·
priority inheritance
· So what's the trick? ·

ChannelDestroy()
· Architecture & structure · Creating the channel ·

CHIDs
message passing
· Finding the server's ND/PID/CHID ·

chips
82C54
· Clock interrupt sources ·

chmod()
· The resource manager library ·

chown()
· The resource manager library ·

cksum
· Versions ·

class of service
via channels
· More about channels ·

clearing timeouts
· Kernel timeouts ·

client
and not replying to them
· Notes ·
assumptions about data area
· Reading and writing data ·
basic operation
· Sending messages ·
behavior modified by _NTO_CHF_UNBLOCK
· _NTO_CHF_UNBLOCK ·
being notified by server
· The MsgDeliverEvent() function ·
blocked during MsgSend()
· Message handling ·
busy server
· Message passing and client/server ·
connecting to server
· Establishing a connection ·
diagram
· Creating the channel ·
defined
· Glossary ·
establishing a connection
· The client ·
informing server of unblock
· Kernel timeouts with message passing ·
limiting transfer size
· Server framework ·
multi-threaded server
· Multi-threaded server ·
node descriptor
· Who sent the message? ·
operation of
· The client ·
reply blocked and server
· Message passing and client/server ·
reply-blocked state
· Message passing and client/server ·
send-blocked state
· Message passing and client/server ·
server/subserver
· Server/subserver ·
servers with mismatched buffer sizes
· Reading and writing data ·
specifying event to server
· The MsgDeliverEvent() function ·
state
diagram
· Message passing and client/server ·
timeouts
· Server-maintained timeouts ·
unblocked by server
· Message handling ·
unblocked by timeout
· _NTO_CHF_UNBLOCK ·
unblocking
due to signal
· _NTO_CHF_UNBLOCK ·
unblocking server
· Message handling ·

client/server
· Server/subserver ·
analogy
· Server/subserver ·
example
· Send-driven (client/server) ·
message passing
· Message passing and client/server ·
problems with single threaded
· Server/subserver ·

clock
drift
· Clock interrupt sources ·
hardware
· Operating periodically ·
how maintained
· Operating periodically ·
jitter
· Timing jitter ·
diagram
· Timing jitter ·

clock tick
adjusting time gradually
· Getting and setting ·

clock_getres()
· Getting and setting the realtime clock and more ·

clock_gettime()
· Getting and setting the realtime clock and more ·

CLOCK_MONOTONIC
· Advanced topics · CLOCK_MONOTONIC · Creating a timer · So what does CLOCK_SOFTTIME do? ·
characteristics
· CLOCK_MONOTONIC ·

clock_nanosleep()
· Using different clock sources ·

CLOCK_REALTIME
· CLOCK_MONOTONIC · Creating a timer · Getting and setting · Kernel timeouts · Other clock sources · Signal, pulse, or thread? · So what does CLOCK_SOFTTIME do? ·
used with ClockAdjust()
· Getting and setting ·

clock_settime()
· Getting and setting the realtime clock and more ·

CLOCK_SOFTTIME
· Advanced topics · Creating a timer · So what does CLOCK_SOFTTIME do? ·

ClockAdjust()
· Getting and setting the realtime clock and more ·
CLOCK_REALTIME
· Getting and setting ·
struct _clockadjust
· Getting and setting ·

ClockCycles()
· An accurate timestamp · Getting and setting the realtime clock and more ·

ClockPeriod()
· Getting and setting · Getting and setting the realtime clock and more · Round Robin ·
struct _clockperiod
· Adjusting the timebase ·

ClockTime()
· Getting and setting the realtime clock and more ·

close()
· Message passing and client/server · Message passing over a network ·

CODE_TIMER
· setupPulseAndTimer() ·

command
cksum
· Versions ·
devc-pty
· Message passing and client/server ·
esh
· Message passing and client/server ·
export
· Starting a process with the exec() and spawn() calls ·
fs-cache
· Union'd filesystems ·
fs-qnx4
· Multipart messages · Reading and writing data ·
grep
· Utilities Reference ·
gunzip
· Starting a process with the exec() and spawn() calls ·
gzip
· Narrow it down · Starting a process with the exec() and spawn() calls ·
ls
· Starting a process with the exec() and spawn() calls · Utilities Reference · Versions ·
make
· Utilities Reference ·
mqueue
· The resmgr_attach() function and its parameters ·
nice
· Starting a process from the command line ·
pidin
· A few examples · Message passing and client/server ·
procnto
· Message passing and client/server ·
tar
· Narrow it down ·
telnet
· Versions ·

condition variable
defined
· Glossary ·

See synchronization


condvar
See synchronization

ConnectAttach()
· Architecture & structure · Creating the channel · Establishing a connection · Finding the server's ND/PID/CHID · Glossary · Impact on ConnectAttach() · setupPulseAndTimer() · Some notes on NDs · The server ·
example
· Establishing a connection · setupPulseAndTimer() ·
networked case
· Impact on ConnectAttach() · Networked message passing differences ·

ConnectDetach()
· Architecture & structure · Establishing a connection ·

connection
defined
· Glossary ·

connection ID
· Finding the server · Who sent the message? ·
as equivalent to file descriptor
· Finding the server's ND/PID/CHID ·
defined
· Glossary ·
obtaining
· Establishing a connection ·
resource manager
· Characteristics of resource managers ·

constants
channel
_NTO_CHF_COID_DISCONNECT
· Channel flags ·
_NTO_CHF_DISCONNECT
· Channel flags ·
_NTO_CHF_FIXED_PRIORITY
· Channel flags · So what's the trick? ·
_NTO_CHF_REPLY_LEN
· Channel flags · Who sent the message? ·
_NTO_CHF_SENDER_LEN
· Channel flags · Who sent the message? ·
_NTO_CHF_THREAD_DEATH
· Channel flags ·
_NTO_CHF_UNBLOCK
· Channel flags · io_unblock() [I/O] · Kernel timeouts with message passing · _NTO_CHF_UNBLOCK · Signal notification · Synchronization problem ·
clock
CLOCK_MONOTONIC
· Advanced topics · CLOCK_MONOTONIC · Creating a timer · So what does CLOCK_SOFTTIME do? ·
CLOCK_REALTIME
· CLOCK_MONOTONIC · Creating a timer · Getting and setting · Kernel timeouts · Other clock sources · Signal, pulse, or thread? · So what does CLOCK_SOFTTIME do? ·
CLOCK_SOFTTIME
· Advanced topics · Creating a timer · So what does CLOCK_SOFTTIME do? ·
CODE_TIMER
· setupPulseAndTimer() ·
error
EINTR
· _NTO_CHF_UNBLOCK ·
ENOSYS
· Process creation and threads ·
EOK
· Finding the server · Replying with no data, or an errno · Union'd filesystems ·
EROFS
· Finding the server · Replying with no data, or an errno · The resmgr_context_t internal context block ·
ETIMEDOUT
· Kernel timeouts with message passing · Kernel timeouts with pthread_join() ·
FD_CLOEXEC
· Starting a process with the exec() and spawn() calls ·
_FTYPE_ANY
· The resmgr_attach() function and its parameters ·
_FTYPE_MQUEUE
· The resmgr_attach() function and its parameters ·
message passing
_NTO_CHF_UNBLOCK
· io_unblock() [I/O] ·
_NTO_MI_UNBLOCK_REQ
· Extending the OCB · io_unblock() [CONNECT] · io_unblock() [I/O] ·
MT_TIMEDOUT
· gotAPulse() ·
ND_LOCAL_NODE
· Some notes on NDs ·
_NTO_INTR_FLAGS_END
· The flags parameter ·
_NTO_INTR_FLAGS_PROCESS
· The flags parameter ·
_NTO_INTR_FLAGS_TRK_MSK
· The flags parameter ·
_NTO_MI_ENDIAN_BIG
· Who sent the message? ·
_NTO_MI_ENDIAN_DIFF
· Who sent the message? ·
_NTO_MI_NET_CRED_DIRTY
· Who sent the message? ·
_NTO_MI_UNBLOCK_REQ
· Using the _NTO_MI_UNBLOCK_REQ · Who sent the message? ·
open mode
O_RDONLY
· The iofunc_ocb_t OCB structure ·
O_RDWR
· The iofunc_ocb_t OCB structure ·
O_WRONLY
· Finding the server · The iofunc_ocb_t OCB structure ·
P_NOWAIT
· Starting a process with the exec() and spawn() calls · Starting a process with the fork() call ·
P_NOWAITO
· Starting a process with the exec() and spawn() calls ·
P_OVERLAY
· Starting a process with the exec() and spawn() calls ·
P_WAIT
· Starting a process with the exec() and spawn() calls ·
POOL_FLAG_EXIT_SELF
· Controlling the number of threads ·
POOL_FLAG_USE_SELF
· Controlling the number of threads ·
process
SPAWN_NOZOMBIE
· Starting a process with the exec() and spawn() calls ·
PTHREAD_EXPLICIT_SCHED
· The “scheduling” thread attributes ·
PTHREAD_STACK_LAZY
· The “stack” thread attributes ·
PTHREAD_STACK_NOTLAZY
· The “stack” thread attributes ·
pulse
_PULSE_CODE_UNBLOCK
· What's in a pulse? ·
resource manager
DCMD_AUDIO_GET_SAMPLE_RATE
· An io_devctl() example that deals with data ·
DCMD_AUDIO_SET_SAMPLE_RATE
· An io_devctl() example that deals with data ·
F_ALLOCSP
· io_space() ·
F_FREESP
· io_space() ·
_IO_CHMOD
· io_chmod() ·
_IO_CHOWN
· io_chown() ·
_IO_CLOSE_DUP
· io_close_dup() · The struct dirent structure and friends ·
_IO_CONNECT
· Client/Server using an I/O manager · io_link() · io_mknod() · io_mount() · io_open() · io_readlink() · io_rename() · io_unlink() · The struct dirent structure and friends ·
_IO_CONNECT_COMBINE
· io_open() ·
_IO_CONNECT_COMBINE_CLOSE
· io_open() · Messages that should be connect messages but aren't ·
_IO_CONNECT_LINK
· io_link() ·
_IO_CONNECT_MKNOD
· io_mknod() ·
_IO_CONNECT_MOUNT
· io_mount() ·
_IO_CONNECT_OPEN
· io_open() ·
_IO_CONNECT_READLINK
· io_readlink() ·
_IO_CONNECT_RENAME
· io_rename() ·
_IO_CONNECT_UNLINK
· io_unlink() ·
_IO_DEVCTL
· A simple io_devctl() example · io_devctl() · The other_func message handler ·
_IO_DUP
· io_dup() ·
_IO_FDINFO
· io_fdinfo() ·
_IO_FLAG_RD
· The iofunc_ocb_t OCB structure ·
_IO_FLAG_WR
· The iofunc_ocb_t OCB structure ·
_IO_LSEEK
· io_lseek() · The struct dirent structure and friends ·
_IO_MMAP
· io_mmap() ·
_IO_MSG
· Client/server using the global namespace · io_msg() · The other_func message handler · Translating messages to devctl() or _IO_MSG ·
_IO_NOTIFY
· io_notify() ·
_IO_OPENFD
· io_openfd() ·
_IO_PATHCONF
· io_pathconf() ·
_IO_READ
· io_read() · Step 2 · The struct dirent structure and friends ·
_IO_SET_CONNECT_RET
· io_mount() · io_open() ·
_IO_SET_FDINFO_LEN
· io_fdinfo() ·
_IO_SET_PATHCONF_VALUE
· io_pathconf() ·
_IO_SET_READ_NBYTES
· io_read() ·
_IO_SET_WRITE_NBYTES
· io_write() ·
_IO_SPACE
· io_space() ·
_IO_STAT
· io_stat() ·
_IO_SYNC
· io_sync() ·
_IO_UTIME
· io_utime() ·
_IO_WRITE
· A simple io_write() example · io_write() ·
_IO_XTYPE_NONE
· Step 2 ·
_IO_XTYPE_OFFSET
· A simple io_write() example · io_read() · Step 2 · Step 7 · Step 7 ·
IOFUNC_ATTR_ATIME
· Step 6 · Step 7 ·
IOFUNC_ATTR_DIRTY_TIME
· Step 6 ·
IOFUNC_ATTR_MTIME
· Step 7 ·
IOFUNC_MOUNT_32BIT
· The iofunc_mount_t mount structure ·
IOFUNC_MOUNT_FLAGS_PRIVATE
· The iofunc_mount_t mount structure ·
_IOFUNC_NFUNCS
· The iofunc_mount_t mount structure ·
IOFUNC_OCB_FLAGS_PRIVATE
· The iofunc_ocb_t OCB structure ·
IOFUNC_OCB_MMAP
· The iofunc_ocb_t OCB structure ·
IOFUNC_OCB_PRIVILEGED
· The iofunc_ocb_t OCB structure ·
IOFUNC_OCB_T
· Extending the OCB ·
IOFUNC_PC_CHOWN_RESTRICTED
· io_chown() · The iofunc_mount_t mount structure ·
IOFUNC_PC_LINK_DIR
· The iofunc_mount_t mount structure ·
IOFUNC_PC_NO_TRUNC
· The iofunc_mount_t mount structure ·
IOFUNC_PC_SYNC_IO
· The iofunc_mount_t mount structure ·
_IOMGR_PRIVATE_BASE
· Translating messages to devctl() or _IO_MSG ·
_IOMGR_PRIVATE_MAX
· Translating messages to devctl() or _IO_MSG ·
_POSIX_DEVDIR_FROM
· io_devctl() ·
_POSIX_DEVDIR_TO
· io_devctl() ·
_RESMGR_CONNECT_NFUNCS
· resmgr_connect_funcs_t connect table ·
_RESMGR_DEFAULT
· General notes · io_devctl() · Step 1 ·
_RESMGR_FLAG_AFTER
· The resmgr_attach() function and its parameters ·
_RESMGR_FLAG_BEFORE
· The resmgr_attach() function and its parameters ·
_RESMGR_FLAG_DIR
· main() and declarations · Returning directory entries · The resmgr_attach() function and its parameters ·
_RESMGR_FLAG_FTYPEALL
· The resmgr_attach() function and its parameters ·
_RESMGR_FLAG_FTYPEONLY
· The resmgr_attach() function and its parameters ·
_RESMGR_FLAG_OPAQUE
· The resmgr_attach() function and its parameters ·
_RESMGR_FLAG_SELF
· The resmgr_attach() function and its parameters ·
_RESMGR_IO_NFUNCS
· resmgr_io_funcs_t I/O table ·
_RESMGR_NOREPLY
· Blocking within the resource manager · General notes · Step 9 ·
_RESMGR_STATUS
· io_chmod() · io_chown() · io_close_dup() · io_close_ocb() · io_devctl() · io_dup() · io_link() · io_lock() · io_lock_ocb() · io_lseek() · io_mknod() · io_mmap() · io_msg() · io_notify() · io_openfd() · io_readlink() · io_rename() · io_space() · io_stat() · io_sync() · io_unblock() [CONNECT] · io_unblock() [I/O] · io_unlink() · io_unlock_ocb() · io_utime() · The resmgr_context_t internal context block ·
_SC_PAGESIZE
· The “stack” thread attributes ·
scheduling
SCHED_FIFO
· The “scheduling” thread attributes ·
SCHED_OTHER
· The “scheduling” thread attributes ·
SCHED_RR
· The “scheduling” thread attributes ·
sharing flags
SH_COMPAT
· The iofunc_ocb_t OCB structure ·
SH_DENYNO
· The iofunc_ocb_t OCB structure ·
SH_DENYRD
· The iofunc_ocb_t OCB structure ·
SH_DENYRW
· The iofunc_ocb_t OCB structure ·
SH_DENYWR
· The iofunc_ocb_t OCB structure ·
signal
SIGALRM
· Signal notification · Timers delivering signals ·
SIGEV_INTR
· General tricks for notification · How to fill in the struct sigevent · The trade-offs · Using InterruptAttachEvent() ·
SIGEV_PULSE
· How to fill in the struct sigevent · Pulse notification · setupPulseAndTimer() · Using InterruptAttachEvent() ·
SIGEV_PULSE_PRIO_INHERIT
· General tricks for notification · setupPulseAndTimer() ·
SIGEV_SIGNAL
· General tricks for notification · How to fill in the struct sigevent · Signal notification · Using InterruptAttachEvent() ·
SIGEV_SIGNAL family
· How to fill in the struct sigevent ·
SIGEV_SIGNAL_CODE
· General tricks for notification · How to fill in the struct sigevent · Signal notification ·
SIGEV_SIGNAL_PULSE
· General tricks for notification ·
SIGEV_SIGNAL_THREAD
· General tricks for notification · How to fill in the struct sigevent · Signal notification ·
SIGEV_THREAD
· How to fill in the struct sigevent · Thread notification · Using InterruptAttachEvent() ·
SIGEV_UNBLOCK
· General tricks for notification · How to fill in the struct sigevent · Kernel timeouts · Kernel timeouts with pthread_join() ·
SIGEV_UNBLOCK example
· Kernel timeouts with pthread_join() ·
SIGSEGV
· The “stack” thread attributes ·
SIGUSR1
· Timers delivering signals ·
thread
STATE_CONDVAR
· Condition variables · Kernel states, the complete list ·
STATE_DEAD
· Kernel states, the complete list ·
STATE_INTR
· Kernel states, the complete list ·
STATE_JOIN
· Kernel states, the complete list ·
STATE_MUTEX
· Kernel states, the complete list · The blocked states ·
STATE_NANOSLEEP
· Kernel states, the complete list ·
STATE_NET_REPLY
· Kernel states, the complete list ·
STATE_NET_SEND
· Kernel states, the complete list ·
STATE_READY
· Attaching with InterruptAttachEvent() · InterruptAttach() versus InterruptAttachEvent() · Kernel states, the complete list · Message passing and client/server · Neutrino and interrupts · Notification schemes · Operating periodically · Priority inheritance · READY · Rescheduling — hardware interrupts · Rescheduling — kernel calls · The blocked states · Timing jitter ·
STATE_RECEIVE
· Kernel states, the complete list ·
STATE_RECV
· Message passing and client/server · Pulse notification · So what's the trick? ·
STATE_REPLY
· Kernel states, the complete list · Notes · _NTO_CHF_UNBLOCK ·
STATE_RUNNING
· Kernel states, the complete list · Neutrino and interrupts · READY · RUNNING ·
STATE_SEM
· Kernel states, the complete list · The blocked states ·
STATE_SEND
· Kernel states, the complete list · _NTO_CHF_UNBLOCK · The MsgReceivePulse() function ·
STATE_SIGSUSPEND
· Kernel states, the complete list ·
STATE_SIGWAITINFO
· Kernel states, the complete list ·
STATE_STACK
· Kernel states, the complete list ·
STATE_STOPPED
· Kernel states, the complete list ·
STATE_WAITCTX
· Kernel states, the complete list ·
STATE_WAITPAGE
· Kernel states, the complete list ·
STATE_WAITTHREAD
· Kernel states, the complete list ·
timer
TIMER_ABSTIME
· What kind of timer? ·

consumer
and producer
· Sleepon locks ·
state analysis
· Sleepon locks ·
and producer using condvars
example
· Condition variables ·

context switch
· The kernel as arbiter · Why processes? ·

context_alloc()
· Controlling the number of threads · The thread pool functions ·

context_free()
· Controlling the number of threads · The thread pool functions ·

conventions
typographical
· Typographical conventions ·

cookbook
· Examples ·

counter
high accuracy
· An accurate timestamp ·
high frequency
· An accurate timestamp ·

CPU hog
· Operating periodically ·

Creceive() (QNX 4)
· Message passing · Proxies ·

ctime()
· What kind of timer? ·

· ! · 0 · A · B · C · D · E · F · G · H · I · J · K · L · M · N · O · P · Q · R · S · T · U · V · W · X · Y · Z ·