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 ·