Keywords - F
· ! · 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 ·
- F_ALLOCSP
-
·
io_space() ·
- F_FREESP
-
·
io_space() ·
- faults and scheduling
-
·
Rescheduling — exceptions ·
Scheduling and the real world ·
- fcntl()
-
·
Starting a process with the exec() and spawn() calls ·
- FD_CLOEXEC
-
·
Starting a process with the exec() and spawn() calls ·
- fgets()
-
·
Client summary ·
Filesystem ·
- FIFO scheduling
-
·
Scheduling policies ·
- defined
-
·
Glossary ·
- FILE
-
·
Characteristics of resource managers ·
Client summary ·
- file descriptor
-
- and Resource managers
-
·
Characteristics of resource managers ·
- connection ID
-
·
Finding the server ·
Finding the server's ND/PID/CHID ·
- resource manager
-
·
Finding the server ·
- file stream
-
- and Resource managers
-
·
Characteristics of resource managers ·
- filesystem
-
- chown restricted
-
·
The iofunc_mount_t mount structure ·
- server example
-
·
Reading and writing data ·
- union
-
·
Union'd filesystems ·
- floating-point operations
-
- not safe to use in ISRs
-
·
Interrupt service routine ·
- not safe to use in signal handlers
-
·
Signal notification ·
- fopen()
-
·
Client summary ·
Finding the server ·
Handling directories ·
- fork()
-
·
Process creation and threads ·
So what should you use? ·
Starting a process from within a program ·
Starting a process with the exec() and spawn() calls ·
Starting a process with the fork() call ·
Starting a process with the vfork() call ·
Summary ·
- and resource managers
-
·
So what should you use? ·
- and threads
-
·
So what should you use? ·
- avoid
-
·
So what should you use? ·
- fprintf()
-
·
Filesystem ·
- fs-cache
-
·
Union'd filesystems ·
- fs-qnx4
-
·
Finding the server ·
Multipart messages ·
Reading and writing data ·
- _FTYPE_ANY
-
·
The resmgr_attach() function and its parameters ·
- _FTYPE_MQUEUE
-
·
The resmgr_attach() function and its parameters ·
- function
-
- atomic
-
- atomic_*()
-
·
ISR functions ·
- atomic_set()
-
·
ISR functions ·
- basename()
-
·
Starting a process with the exec() and spawn() calls ·
- block_func()
-
·
Controlling the number of threads ·
The thread pool functions ·
- channel
-
- ChannelCreate()
-
·
Architecture & structure ·
Channel flags ·
Creating the channel ·
Glossary ·
main() ·
_NTO_CHF_UNBLOCK ·
Who sent the message? ·
- ChannelCreate() example
-
·
main() ·
- ChannelDestroy()
-
·
Architecture & structure ·
Creating the channel ·
- ConnectAttach()
-
·
Architecture & structure ·
Creating the channel ·
Establishing a connection ·
Finding the server's ND/PID/CHID ·
Glossary ·
Impact on ConnectAttach() ·
Networked message passing differences ·
setupPulseAndTimer() ·
Some notes on NDs ·
The server ·
- ConnectAttach() example
-
·
setupPulseAndTimer() ·
- ConnectAttach() prototype
-
·
Establishing a connection ·
- ConnectDetach()
-
·
Architecture & structure ·
Establishing a connection ·
- chmod()
-
·
The resource manager library ·
- chown()
-
·
The resource manager library ·
- clock_nanosleep()
-
·
Using different clock sources ·
- close()
-
·
Message passing and client/server ·
Message passing over a network ·
- context_alloc()
-
·
Controlling the number of threads ·
The thread pool functions ·
- context_free()
-
·
Controlling the number of threads ·
The thread pool functions ·
- Creceive()
-
·
Message passing ·
Proxies ·
- delay()
-
·
Base timing resolution ·
Timing jitter ·
- devctl()
-
·
Characteristics of resource managers ·
Client/server using the global namespace ·
Glossary ·
Translating messages to devctl() or _IO_MSG ·
Translating messages to standard file-descriptor-based POSIX calls ·
- dispatch_create()
-
·
The library really does what we just talked about ·
- event related
-
- SIGEV_INTR_INIT() (macro)
-
·
General tricks for notification ·
- SIGEV_PULSE_INIT() (macro)
-
·
General tricks for notification ·
- SIGEV_SIGNAL_CODE_INIT() (macro)
-
·
General tricks for notification ·
- SIGEV_SIGNAL_INIT() (macro)
-
·
General tricks for notification ·
- SIGEV_SIGNAL_THREAD_INIT() (macro)
-
·
General tricks for notification ·
- SIGEV_THREAD_INIT() (macro)
-
·
General tricks for notification ·
- SIGEV_UNBLOCK_INIT() (macro)
-
·
General tricks for notification ·
- exit()
-
·
Detaching an interrupt handler ·
Starting a process with the vfork() call ·
- fcntl()
-
·
Starting a process with the exec() and spawn() calls ·
- fgets()
-
·
Client summary ·
Filesystem ·
- fopen()
-
·
Client summary ·
Finding the server ·
Handling directories ·
- fork()
-
·
Process creation and threads ·
So what should you use? ·
Starting a process from within a program ·
Starting a process with the exec() and spawn() calls ·
Starting a process with the fork() call ·
Starting a process with the vfork() call ·
Summary ·
- fprintf()
-
·
Filesystem ·
- getppid()
-
·
Finding the server's ND/PID/CHID ·
- gotAMessage()
-
·
gotAMessage() ·
main() ·
- gotAPulse()
-
·
gotAPulse() ·
main() ·
- handler_func()
-
·
Controlling the number of threads ·
The thread pool functions ·
- in*()
-
·
ISR functions ·
- in8()
-
·
Using InterruptAttach() ·
- interrupt
-
- Interrupt() family
-
·
ISR functions ·
- InterruptAttach()
-
·
Attaching an interrupt handler ·
Attaching with InterruptAttach() ·
InterruptAttach() versus InterruptAttachEvent() ·
Now that you've attached an interrupt ·
Summary ·
The flags parameter ·
The interrupt service routine ·
The trade-offs ·
Using InterruptAttachEvent() ·
- InterruptAttach() diagram
-
·
InterruptAttach() versus InterruptAttachEvent() ·
- InterruptAttachEvent()
-
·
Attaching an interrupt handler ·
Attaching with InterruptAttach() ·
Attaching with InterruptAttachEvent() ·
Interrupt service routines ·
InterruptAttach() versus InterruptAttachEvent() ·
ISR functions ·
Now that you've attached an interrupt ·
Summary ·
The flags parameter ·
The interrupt service routine ·
The trade-offs ·
Using InterruptAttachEvent() ·
- InterruptAttachEvent() diagram
-
·
InterruptAttach() versus InterruptAttachEvent() ·
- InterruptAttachEvent() example
-
·
Using InterruptAttachEvent() ·
- InterruptAttachEvent() versus InterruptAttach()
-
·
InterruptAttach() versus InterruptAttachEvent() ·
Using InterruptAttachEvent() ·
- InterruptDetach()
-
·
Detaching an interrupt handler ·
- InterruptDisable()
-
·
ISR functions ·
Neutrino and interrupts ·
- InterruptEnable()
-
·
ISR functions ·
Neutrino and interrupts ·
- InterruptLock()
-
·
Glossary ·
ISR functions ·
Neutrino and interrupts ·
Summary ·
- InterruptMask()
-
·
ISR functions ·
- InterruptUnlock()
-
·
Glossary ·
ISR functions ·
Neutrino and interrupts ·
Summary ·
- InterruptUnmask()
-
·
ISR functions ·
- InterruptWait()
-
·
Kernel states, the complete list ·
The trade-offs ·
Using InterruptAttachEvent() ·
- InterruptWait() example
-
·
Using InterruptAttachEvent() ·
- io_fdinfo()
-
·
io_fdinfo() ·
- io_read()
-
·
A simple io_read() example ·
A simple io_write() example ·
- example
-
·
A simple io_read() example ·
- io_write()
-
·
A simple io_write() example ·
- example
-
·
A simple io_write() example ·
- ISR-safe
-
·
ISR functions ·
- atomic() family
-
·
ISR functions ·
- in() family
-
·
ISR functions ·
- InterruptDisable()
-
·
ISR functions ·
- InterruptEnable()
-
·
ISR functions ·
- InterruptLock()
-
·
ISR functions ·
- InterruptMask()
-
·
ISR functions ·
- InterruptUnlock()
-
·
ISR functions ·
- InterruptUnmask()
-
·
ISR functions ·
- mem() family
-
·
ISR functions ·
- out() family
-
·
ISR functions ·
- str() family
-
·
ISR functions ·
- kill()
-
·
Pulses and events ·
- lseek()
-
·
Characteristics of resource managers ·
Client summary ·
Glossary ·
Summary ·
- malloc()
-
·
ISR functions ·
Multipart messages ·
- mem*()
-
·
ISR functions ·
- memcpy()
-
·
ISR functions ·
Multipart messages ·
- message passing
-
- ChannelCreate()
-
·
Architecture & structure ·
Channel flags ·
Creating the channel ·
io_unblock() [I/O] ·
_NTO_CHF_UNBLOCK ·
So what's the trick? ·
Who sent the message? ·
- ChannelDestroy()
-
·
Architecture & structure ·
Creating the channel ·
- ConnectAttach()
-
·
Architecture & structure ·
Creating the channel ·
Establishing a connection ·
Finding the server's ND/PID/CHID ·
Impact on ConnectAttach() ·
Networked message passing differences ·
Some notes on NDs ·
The server ·
- ConnectDetach()
-
·
Architecture & structure ·
Establishing a connection ·
- MsgDeliverEvent()
-
·
Architecture & structure ·
Glossary ·
Impact on MsgDeliverEvent() ·
Impact on MsgReply(), MsgRead(), and MsgWrite() ·
io_notify() ·
Networked message passing differences ·
Proxies ·
The MsgDeliverEvent() function ·
The receive ID (a.k.a. the client cookie) ·
The send-hierarchy ·
- MsgError()
-
·
Architecture & structure ·
General notes ·
Replying with no data, or an errno ·
- MsgInfo()
-
·
Using the _NTO_MI_UNBLOCK_REQ ·
Who sent the message? ·
- MsgRead()
-
·
Architecture & structure ·
Impact on MsgReceive() ·
Impact on MsgReply(), MsgRead(), and MsgWrite() ·
Implementation ·
Networked message passing differences ·
Reading and writing data ·
Step 3 ·
- MsgReadv()
-
·
Architecture & structure ·
- MsgReceive()
-
·
Architecture & structure ·
Glossary ·
Handling messages ·
Impact on MsgReceive() ·
Implementation ·
main() ·
Message handling ·
Message passing ·
Message passing over a network ·
More about channels ·
Multipart messages ·
Networked message passing differences ·
Not replying to the client ·
Notes ·
_NTO_CHF_UNBLOCK ·
Priority inheritance ·
Reading and writing data ·
Receiving a pulse message ·
Server framework ·
So what's the trick? ·
Synchronization problem ·
The MsgReceivePulse() function ·
Using InterruptAttachEvent() ·
Using the _NTO_MI_UNBLOCK_REQ ·
Who sent the message? ·
- MsgReceive() example
-
·
main() ·
- MsgReceivePulse()
-
·
Architecture & structure ·
Glossary ·
Implementation ·
Receiving a pulse message ·
The MsgReceivePulse() function ·
- MsgReceivev()
-
·
Architecture & structure ·
Glossary ·
Multipart messages ·
The MsgReceivePulse() function ·
The resmgr_context_t internal context block ·
- MsgReply()
-
·
Architecture & structure ·
Effective use of other messaging functions ·
Impact on MsgReply(), MsgRead(), and MsgWrite() ·
Message handling ·
Networked message passing differences ·
Reading and writing data ·
Receiving a pulse message ·
Replying to the client ·
Replying with no data, or an errno ·
Server framework ·
Step 5 ·
Step 8 ·
Step 9 ·
Synchronization problem ·
The receive ID (a.k.a. the client cookie) ·
- MsgReply() example
-
·
gotAMessage() ·
gotAPulse() ·
- MsgReplyv()
-
·
Architecture & structure ·
Effective use of other messaging functions ·
General notes ·
Multipart messages ·
- MsgSend()
-
·
Architecture & structure ·
Finding the server's ND/PID/CHID ·
Implementation ·
io_msg() ·
Kernel timeouts with message passing ·
Message handling ·
Multipart messages ·
_NTO_CHF_UNBLOCK ·
Pulses ·
Reading and writing data ·
Replying to the client ·
Replying with no data, or an errno ·
Sending messages ·
Server framework ·
The receive ID (a.k.a. the client cookie) ·
The server ·
What about the other versions? ·
- MsgSend() example
-
·
Sending messages ·
- MsgSend() family
-
·
Sending messages ·
What about the other versions? ·
- MsgSendnc()
-
·
Architecture & structure ·
What about the other versions? ·
- MsgSendsv()
-
·
Architecture & structure ·
What about the other versions? ·
- MsgSendsvnc()
-
·
Architecture & structure ·
What about the other versions? ·
- MsgSendv()
-
·
Architecture & structure ·
Multipart messages ·
_NTO_CHF_UNBLOCK ·
Rescheduling — kernel calls ·
Step 5 ·
Translating messages to devctl() or _IO_MSG ·
What about the other versions? ·
- MsgSendvnc()
-
·
Architecture & structure ·
What about the other versions? ·
- MsgSendvs()
-
·
Architecture & structure ·
_NTO_CHF_UNBLOCK ·
What about the other versions? ·
- MsgSendvsnc()
-
·
Architecture & structure ·
What about the other versions? ·
- MsgVerifyEvent()
-
·
The MsgDeliverEvent() function ·
- MsgWrite()
-
·
Architecture & structure ·
Effective use of other messaging functions ·
Impact on MsgReply(), MsgRead(), and MsgWrite() ·
Implementation ·
Networked message passing differences ·
Reading and writing data ·
Replying with no data, or an errno ·
- MsgWritev()
-
·
Architecture & structure ·
Effective use of other messaging functions ·
Multipart messages ·
- message queue
-
- mq_open()
-
·
The resmgr_attach() function and its parameters ·
- mq_receive()
-
·
The resmgr_attach() function and its parameters ·
- message-sending
-
See
message passing
- mktime()
-
·
What kind of timer? ·
- MsgVerifyEvent()
-
·
The MsgDeliverEvent() function ·
- name_attach()
-
·
Client/server using the global namespace ·
Finding the server's ND/PID/CHID ·
- name_close()
-
·
Client/server using the global namespace ·
Finding the server's ND/PID/CHID ·
- name_detach()
-
·
Client/server using the global namespace ·
Finding the server's ND/PID/CHID ·
- name_open()
-
·
Client/server using the global namespace ·
Finding the server's ND/PID/CHID ·
- nanospin()
-
·
Operating periodically ·
- netmgr_remote_nd()
-
·
Some notes on NDs ·
- netmgr_strtond()
-
·
Some notes on NDs ·
- network
-
- netmgr_remote_nd()
-
·
Some notes on NDs ·
- netmgr_strtond()
-
·
Some notes on NDs ·
- open()
-
·
Characteristics of resource managers ·
Client summary ·
Client/Server using an I/O manager ·
Client/server using the global namespace ·
Connect messages ·
Finding the server ·
Finding the server's ND/PID/CHID ·
Glossary ·
Handling directories ·
I/O messages ·
Impact on ConnectAttach() ·
Message passing and client/server ·
Message passing considerations ·
Message passing over a network ·
Network-distributed message passing ·
resmgr_io_funcs_t I/O table ·
Some notes on NDs ·
Union'd filesystems ·
- implementation
-
·
Finding the server ·
- out*()
-
·
ISR functions ·
- POSIX
-
- mq_open()
-
·
The resmgr_attach() function and its parameters ·
- mq_receive()
-
·
The resmgr_attach() function and its parameters ·
- POSIX threads
-
·
Glossary ·
- pread()
-
·
Step 2 ·
- printf()
-
·
Starting a process with the fork() call ·
- process
-
- exec()
-
·
So what should you use? ·
Starting a process with the vfork() call ·
- exec() family
-
·
Starting a process from within a program ·
Starting a process with the exec() and spawn() calls ·
- execl()
-
·
Starting a process with the exec() and spawn() calls ·
- execle()
-
·
Starting a process with the exec() and spawn() calls ·
- execlp()
-
·
Starting a process with the exec() and spawn() calls ·
- execlpe()
-
·
Starting a process with the exec() and spawn() calls ·
- execv()
-
·
Starting a process with the exec() and spawn() calls ·
- execve()
-
·
Starting a process with the exec() and spawn() calls ·
- execvp()
-
·
Starting a process with the exec() and spawn() calls ·
- execvpe()
-
·
Starting a process with the exec() and spawn() calls ·
- getppid()
-
·
Finding the server's ND/PID/CHID ·
- spawn()
-
·
Starting a process with the exec() and spawn() calls ·
Starting a process with the fork() call ·
- spawn() family
-
·
So what should you use? ·
Starting a process from within a program ·
Starting a process with the exec() and spawn() calls ·
- spawnl()
-
·
Starting a process with the exec() and spawn() calls ·
- spawnle()
-
·
Starting a process with the exec() and spawn() calls ·
- spawnlp()
-
·
Starting a process with the exec() and spawn() calls ·
- spawnlpe()
-
·
Starting a process with the exec() and spawn() calls ·
- spawnp()
-
·
Starting a process with the exec() and spawn() calls ·
- spawnv()
-
·
Starting a process with the exec() and spawn() calls ·
- spawnve()
-
·
Starting a process with the exec() and spawn() calls ·
- spawnvp()
-
·
Starting a process with the exec() and spawn() calls ·
- spawnvpe()
-
·
Starting a process with the exec() and spawn() calls ·
- process creation
-
·
Starting a process with the exec() and spawn() calls ·
Starting a process with the fork() call ·
Starting a process with the system() call ·
- process transformation
-
·
Starting a process with the exec() and spawn() calls ·
- pthread_mutex_timedlock()
-
·
CLOCK_MONOTONIC ·
- pulse
-
- MsgReceive()
-
·
Receiving a pulse message ·
- MsgReceivePulse()
-
·
Receiving a pulse message ·
- pulse_attach()
-
·
The other_func message handler ·
- pulses
-
- pulse_attach()
-
·
The base layer ·
- pulse_detach()
-
·
The base layer ·
- QNX 4
-
- Creceive()
-
·
Message passing ·
Proxies ·
- qnx_name_attach()
-
·
Client/server using the global namespace ·
- qnx_name_locate()
-
·
Client/server using the global namespace ·
- qnx_proxy_attach()
-
·
Proxies ·
- Receive()
-
·
Message passing ·
Proxies ·
- Reply()
-
·
Message passing ·
- Send()
-
·
Client/server using the global namespace ·
Message passing ·
- tfork()
-
·
Thread support ·
- Trigger()
-
·
Proxies ·
- read()
-
·
Characteristics of resource managers ·
Client summary ·
Client/server using the global namespace ·
Connect messages ·
Finding the server's ND/PID/CHID ·
Glossary ·
I/O messages ·
Message passing over a network ·
The library really does what we just talked about ·
Translating messages to devctl() or _IO_MSG ·
Translating messages to standard file-descriptor-based POSIX calls ·
- rename()
-
·
Connect messages ·
- Reply()
-
·
Message passing ·
- resmgr_attach()
-
·
The resmgr_context_t internal context block ·
- resource manager
-
- _DEVCTL_DATA()
-
·
Step 1 ·
- dispatch_block()
-
·
The library really does what we just talked about ·
- dispatch_context_alloc()
-
·
The library really does what we just talked about ·
- dispatch_create()
-
·
The basic skeleton of a resource manager ·
- dispatch_handler()
-
·
Behind the scenes at the library ·
The library really does what we just talked about ·
- io_chmod()
-
·
io_chmod() ·
- io_chown()
-
·
io_chown() ·
- io_close()
-
·
Locking, unlocking, and combine message handling ·
- io_close_dup()
-
·
io_close_dup() ·
io_dup() ·
- io_close_ocb()
-
·
io_close_dup() ·
io_close_ocb() ·
- io_devctl()
-
·
A simple io_devctl() example ·
An io_devctl() example that deals with data ·
io_devctl() ·
Putting in your own functions ·
Step 1 ·
Step 1 ·
Step 2 ·
- io_dup()
-
·
io_dup() ·
- io_fdinfo()
-
·
io_fdinfo() ·
- io_link()
-
·
io_link() ·
- io_lock()
-
·
io_lock() ·
- io_lock_ocb()
-
·
io_lock_ocb() ·
io_unlock_ocb() ·
- io_lseek()
-
·
io_lseek() ·
Offsets ·
- io_mknod()
-
·
io_mknod() ·
- io_mmap()
-
·
io_mmap() ·
- io_mount()
-
·
io_mount() ·
- io_msg()
-
·
io_msg() ·
- io_notify()
-
·
io_notify() ·
- io_open()
-
·
Alphabetical listing of connect and I/O functions ·
io_close_dup() ·
io_open() ·
io_openfd() ·
OCB monitor ·
Putting in your own functions ·
The general flow of a resource manager ·
The resmgr_context_t internal context block ·
- io_open_default()
-
·
Putting in your own functions ·
- io_openfd()
-
·
io_openfd() ·
- io_pathconf()
-
·
io_pathconf() ·
- io_power()
-
·
io_power() ·
- io_read()
-
·
A simple io_read() example ·
A simple io_write() example ·
Blocking within the resource manager ·
Data area size considerations ·
Effective use of other messaging functions ·
Generally speaking … ·
io_read() ·
Offsets ·
Putting in your own functions ·
Returning directory entries ·
Step 4 ·
Step 6 ·
Step 7 ·
The struct dirent structure and friends ·
- io_readlink()
-
·
io_readlink() ·
- io_rename()
-
·
io_rename() ·
- _IO_SET_WRITE_NBYTES()
-
·
Step 6 ·
Step 8 ·
- io_shutdown()
-
·
io_shutdown() ·
- io_space()
-
·
io_space() ·
- io_stat()
-
·
io_stat() ·
Step 6 ·
- io_sync()
-
·
io_sync() ·
- io_unblock()
-
·
Extending the OCB ·
io_unblock() [CONNECT] ·
io_unblock() [I/O] ·
- io_unlink()
-
·
io_unlink() ·
- io_unlock_ocb()
-
·
io_unlock_ocb() ·
- io_utime()
-
·
io_utime() ·
- io_write()
-
·
A simple io_write() example ·
Important note ·
io_read() ·
io_write() ·
Putting in your own functions ·
Step 4 ·
- iofunc_attr_init()
-
·
The library really does what we just talked about ·
- iofunc_chmod_default()
-
·
io_chmod() ·
- iofunc_chown()
-
·
io_chown() ·
- iofunc_chown_default()
-
·
io_chown() ·
- iofunc_close_dup()
-
·
io_close_dup() ·
- iofunc_close_dup_default()
-
·
io_close_dup() ·
- iofunc_close_ocb_default()
-
·
io_close_ocb() ·
- iofunc_devctl()
-
·
io_devctl() ·
- iofunc_devctl_default()
-
·
io_devctl() ·
Step 1 ·
- iofunc_func_init()
-
·
Alphabetical listing of connect and I/O functions ·
Examples ·
Putting in your own functions ·
resmgr_connect_funcs_t connect table ·
resmgr_io_funcs_t I/O table ·
Step 1 ·
Step 2 ·
The library really does what we just talked about ·
- iofunc_link()
-
·
io_link() ·
- iofunc_lock_default()
-
·
io_lock() ·
The iofunc_attr_t attributes structure ·
- iofunc_lock_ocb_default()
-
·
io_lock_ocb() ·
Locking, unlocking, and combine message handling ·
- iofunc_lseek()
-
·
io_lseek() ·
- iofunc_lseek_default()
-
·
io_lseek() ·
- iofunc_mknod()
-
·
io_mknod() ·
- iofunc_mmap()
-
·
io_mmap() ·
- iofunc_mmap_default()
-
·
io_mmap() ·
The iofunc_attr_t attributes structure ·
- iofunc_notify()
-
·
io_notify() ·
- iofunc_notify_remove()
-
·
io_notify() ·
- iofunc_notify_trigger()
-
·
io_notify() ·
- iofunc_ocb_attach()
-
·
io_open() ·
- iofunc_ocb_calloc()
-
·
io_mmap() ·
- iofunc_open()
-
·
io_open() ·
- iofunc_open_default()
-
·
io_open() ·
Putting in your own functions ·
- iofunc_openfd()
-
·
io_openfd() ·
- iofunc_openfd_default()
-
·
io_openfd() ·
- iofunc_pathconf()
-
·
io_pathconf() ·
- iofunc_pathconf_default()
-
·
io_pathconf() ·
- iofunc_read_default()
-
·
io_read() ·
- iofunc_read_verify()
-
·
A simple io_write() example ·
io_read() ·
Step 1 ·
Step 2 ·
- iofunc_readlink()
-
·
io_readlink() ·
- iofunc_rename()
-
·
io_rename() ·
- iofunc_space_verify()
-
·
io_space() ·
- iofunc_stat()
-
·
io_stat() ·
- iofunc_stat_default()
-
·
io_stat() ·
Step 6 ·
- iofunc_sync()
-
·
io_sync() ·
- iofunc_sync_default()
-
·
io_sync() ·
- iofunc_sync_verify()
-
·
io_read() ·
io_sync() ·
io_write() ·
- iofunc_unblock()
-
·
io_unblock() [CONNECT] ·
io_unblock() [I/O] ·
- iofunc_unblock_default()
-
·
io_unblock() [I/O] ·
- iofunc_unlink()
-
·
io_unlink() ·
- iofunc_unlock_ocb_default()
-
·
io_unlock_ocb() ·
Locking, unlocking, and combine message handling ·
- iofunc_utime()
-
·
io_utime() ·
- iofunc_utime_default()
-
·
io_utime() ·
- iofunc_write_default()
-
·
io_write() ·
- iofunc_write_verify()
-
·
A simple io_write() example ·
io_write() ·
- resmgr_attach()
-
·
Alphabetical listing of connect and I/O functions ·
resmgr_attr_t control structure ·
Resource manager structure ·
Step 3 ·
The base layer ·
The flags parameter ·
The library really does what we just talked about ·
The resmgr_attach() function and its parameters ·
The resmgr_context_t internal context block ·
- resmgr_bind_ocb()
-
·
io_open() ·
- resmgr_detach()
-
·
The base layer ·
- resmgr_msgread()
-
·
Step 3 ·
The base layer ·
- resmgr_msgreadv()
-
·
io_devctl() ·
io_write() ·
Step 3 ·
The base layer ·
The resmgr_context_t internal context block ·
- resmgr_msgwrite()
-
·
The base layer ·
- resmgr_msgwritev()
-
·
io_devctl() ·
The base layer ·
- resmgr_open_bind()
-
·
The base layer ·
The general flow of a resource manager ·
- rsrcdbmgr_devno_attach()
-
·
Of device numbers, inodes, and our friend rdev ·
- scheduling
-
- ClockPeriod()
-
·
Round Robin ·
- sched_get_priority_max()
-
·
Prioritization ·
- sched_get_priority_min()
-
·
Prioritization ·
- sched_rr_get_interval()
-
·
Round Robin ·
- sched_yield()
-
·
FIFO ·
- SchedYield()
-
·
FIFO ·
- setuid()
-
·
Now that you've attached an interrupt ·
- setupPulseAndTimer()
-
·
main() ·
setupPulseAndTimer() ·
- signal
-
- SIGEV_INTR_INIT() (macro)
-
·
General tricks for notification ·
- sigev_notify_function()
-
·
Thread notification ·
- SIGEV_PULSE_INIT()
-
·
setupPulseAndTimer() ·
- SIGEV_PULSE_INIT() (macro)
-
·
General tricks for notification ·
- SIGEV_SIGNAL_CODE_INIT() (macro)
-
·
General tricks for notification ·
- SIGEV_SIGNAL_INIT() (macro)
-
·
General tricks for notification ·
- SIGEV_SIGNAL_THREAD_INIT() (macro)
-
·
General tricks for notification ·
- SIGEV_THREAD_INIT() (macro)
-
·
General tricks for notification ·
- SIGEV_UNBLOCK_INIT() (macro)
-
·
General tricks for notification ·
- sigwait()
-
·
Signal notification ·
- sleep()
-
·
Kernel states, the complete list ·
Operating periodically ·
Other clock sources ·
Rescheduling — kernel calls ·
- bad implementation
-
·
Operating periodically ·
- stat()
-
·
The library really does what we just talked about ·
The resource manager library ·
- strcmp()
-
·
ISR functions ·
- strdup()
-
·
ISR functions ·
- strftime()
-
·
What kind of timer? ·
- synchronization
-
- pthread_barrier_init()
-
·
Using a barrier ·
- pthread_barrier_wait()
-
·
Glossary ·
Synchronizing to the termination of a thread ·
Using a barrier ·
- sem_post()
-
·
Glossary ·
- sem_wait()
-
·
Glossary ·
- sysconf()
-
·
The “stack” thread attributes ·
- system()
-
·
Starting a process from within a program ·
Starting a process with the system() call ·
- tfork() (QNX 4)
-
·
Thread support ·
- thread
-
- pthread_atfork()
-
·
Process creation and threads ·
So what should you use? ·
- pthread_attr_destroy()
-
·
The thread attributes structure ·
Thread attribute administration ·
- pthread_attr_getdetachstate()
-
·
The thread attributes structure ·
- pthread_attr_getguardsize()
-
·
The thread attributes structure ·
- pthread_attr_getinheritsched()
-
·
The thread attributes structure ·
- pthread_attr_getschedparam()
-
·
The thread attributes structure ·
- pthread_attr_getschedpolicy()
-
·
The thread attributes structure ·
- pthread_attr_getscope()
-
·
The thread attributes structure ·
- pthread_attr_getstackaddr()
-
·
The thread attributes structure ·
- pthread_attr_getstacklazy()
-
·
The thread attributes structure ·
- pthread_attr_getstacksize()
-
·
The thread attributes structure ·
- pthread_attr_init()
-
·
The thread attributes structure ·
Thread attribute administration ·
- pthread_attr_set() family
-
·
The thread attributes structure ·
- pthread_attr_setdetachstate()
-
·
The “flags” thread attribute ·
The thread attributes structure ·
- pthread_attr_setguardsize()
-
·
The thread attributes structure ·
- pthread_attr_setinheritsched()
-
·
The “flags” thread attribute ·
The “scheduling” thread attributes ·
The thread attributes structure ·
- pthread_attr_setschedparam()
-
·
The “flags” thread attribute ·
The “scheduling” thread attributes ·
The thread attributes structure ·
- pthread_attr_setschedpolicy()
-
·
The “flags” thread attribute ·
The “scheduling” thread attributes ·
The thread attributes structure ·
- pthread_attr_setscope()
-
·
The “flags” thread attribute ·
The thread attributes structure ·
- pthread_attr_setstackaddr()
-
·
The thread attributes structure ·
- pthread_attr_setstacklazy()
-
·
The thread attributes structure ·
- pthread_attr_setstacksize()
-
·
The thread attributes structure ·
- pthread_cancel()
-
·
Rescheduling — kernel calls ·
What about the other versions? ·
- pthread_cond_broadcast()
-
·
Signal versus broadcast ·
- pthread_cond_signal()
-
·
Condition variables ·
Signal versus broadcast ·
- pthread_cond_wait()
-
·
Condition variables ·
Sleepons versus condvars ·
- pthread_create()
-
·
A few examples ·
Joining ·
Process creation and threads ·
Starting a thread ·
The thread attributes structure ·
Thread support ·
- pthread_join()
-
·
Joining ·
Kernel timeouts ·
Kernel timeouts with pthread_join() ·
Rescheduling — kernel calls ·
Synchronizing to the termination of a thread ·
The “flags” thread attribute ·
Using a barrier ·
- pthread_join() example
-
·
Kernel timeouts with pthread_join() ·
- pthread_mutex_lock()
-
·
Additional Neutrino services ·
Condition variables ·
Thread support ·
- pthread_mutex_unlock()
-
·
Additional Neutrino services ·
Condition variables ·
- pthread_rwlock_destroy()
-
·
Readers/writer locks ·
- pthread_rwlock_init()
-
·
Readers/writer locks ·
- pthread_rwlock_rdlock()
-
·
Readers/writer locks ·
- pthread_rwlock_tryrdlock()
-
·
Readers/writer locks ·
- pthread_rwlock_unlock()
-
·
Readers/writer locks ·
- pthread_rwlock_wrlock()
-
·
Readers/writer locks ·
- pthread_rwlockattr_destroy()
-
·
Readers/writer locks ·
- pthread_rwlockattr_getpshared()
-
·
Readers/writer locks ·
- pthread_rwlockattr_init()
-
·
Readers/writer locks ·
- pthread_rwlockattr_setpshared()
-
·
Readers/writer locks ·
- pthread_setschedparam()
-
·
Priorities ·
So what's the trick? ·
- pthread_setschedprio()
-
·
Priorities ·
So what's the trick? ·
- pthread_sleepon_broadcast()
-
·
Signal versus broadcast ·
Sleepon locks ·
- pthread_sleepon_lock()
-
·
Condition variables ·
Sleepon locks ·
- pthread_sleepon_signal()
-
·
Condition variables ·
Signal versus broadcast ·
Sleepon locks ·
- pthread_sleepon_unlock()
-
·
Condition variables ·
Sleepon locks ·
- pthread_sleepon_wait()
-
·
Condition variables ·
Sleepon locks ·
- thread_pool() family
-
·
Multiple threads ·
- thread_pool_control()
-
·
Pools of threads ·
- thread_pool_create()
-
·
Controlling the number of threads ·
Pools of threads ·
- thread_pool_destroy()
-
·
Pools of threads ·
- thread_pool_limits()
-
·
Pools of threads ·
- thread_pool_start()
-
·
Controlling the number of threads ·
Pools of threads ·
- ThreadCtl()
-
·
Now that you've attached an interrupt ·
- time
-
- asctime()
-
·
What kind of timer? ·
- clock_getres()
-
·
Getting and setting the realtime clock and more ·
- clock_gettime()
-
·
Getting and setting the realtime clock and more ·
- clock_settime()
-
·
Getting and setting the realtime clock and more ·
- ClockAdjust()
-
·
Getting and setting ·
Getting and setting the realtime clock and more ·
- ClockCycles()
-
·
An accurate timestamp ·
Getting and setting the realtime clock and more ·
- ClockPeriod()
-
·
Getting and setting the realtime clock and more ·
- ClockTime()
-
·
Getting and setting the realtime clock and more ·
- ctime()
-
·
What kind of timer? ·
- mktime()
-
·
What kind of timer? ·
- strftime()
-
·
What kind of timer? ·
- time()
-
·
What kind of timer? ·
- timer_create()
-
·
Creating a timer ·
setupPulseAndTimer() ·
Signal, pulse, or thread? ·
Timers delivering signals ·
What kind of timer? ·
- timer_create() example
-
·
setupPulseAndTimer() ·
- timer_settime()
-
·
setupPulseAndTimer() ·
What kind of timer? ·
- timer_settime() example
-
·
setupPulseAndTimer() ·
- timer
-
- ClockCycles()
-
·
An accurate timestamp ·
- ClockPeriod()
-
·
Getting and setting ·
- delay()
-
·
Base timing resolution ·
Timing jitter ·
- timer_create()
-
·
Creating a timer ·
- timer_settime()
-
·
What kind of timer? ·
- TimerTimeout()
-
·
Kernel timeouts ·
Kernel timeouts with message passing ·
Kernel timeouts with pthread_join() ·
Message passing ·
_NTO_CHF_UNBLOCK ·
The receive ID (a.k.a. the client cookie) ·
- TimerTimeout() example
-
·
Kernel timeouts with pthread_join() ·
- timer_create()
-
·
CLOCK_MONOTONIC ·
- timing
-
- nanospin()
-
·
Operating periodically ·
- sleep()
-
·
Operating periodically ·
- unblock_func()
-
·
The thread pool functions ·
- vfork()
-
·
So what should you use? ·
Starting a process from within a program ·
Starting a process with the vfork() call ·
Summary ·
- waitpid()
-
·
Starting a process with the exec() and spawn() calls ·
- write()
-
·
Client/Server using an I/O manager ·
Glossary ·
Message passing and client/server ·
Multipart messages ·
Reading and writing data ·
Translating messages to standard file-descriptor-based POSIX calls ·
· ! · 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 ·