Keywords - R
 · ! · 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 · 
- 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 ·
			The resmgr_context_t internal context block ·
			Translating messages to devctl() or _IO_MSG ·
			Translating messages to standard file-descriptor-based POSIX calls ·
 
- readers/writer locks
 
- 
		See
		synchronization 
 
- READY
 
- 
			·
			READY ·
			The blocked states ·
 
- realtime
 
- 
	
	- interrupts
 
	- 
			·
			Neutrino and interrupts ·
	
 
	
	
	- priority inversion
 
	- 
			·
			Priority inheritance ·
	
 
	
 
- realtime clock
 
- 
			·
			Rescheduling — hardware interrupts ·
	
	- getting and setting
 
	- 
			·
			Getting and setting the realtime clock and more ·
	
 
	
	
	- interrupts
 
	- 
			·
			Rescheduling — hardware interrupts ·
	
 
	
 
- receive ID
 
- 
			·
			Message handling ·
			Replying to the client ·
	
	- content
 
	- 
			·
			The receive ID (a.k.a. the client cookie) ·
	
 
	
	
	- defined
 
	- 
			·
			Glossary ·
	
 
	
	
	- duplication
 
	- 
			·
			_NTO_CHF_UNBLOCK ·
	
 
	
	
	- example of use
 
	- 
			·
			Server framework ·
	
 
	
	
	- MsgReply()
 
	- 
			·
			Message handling ·
	
 
	
	
	- special use
 
	- 
			·
			The MsgDeliverEvent() function ·
	
 
	
	
	- when valid
 
	- 
			·
			The receive ID (a.k.a. the client cookie) ·
	
 
	
 
- Receive() (QNX 4)
 
- 
			·
			Message passing ·
			Proxies ·
 
- receive-blocked
 
- 
			·
			Message passing and client/server ·
	
	- diagram
 
	- 
			·
			Message passing and client/server ·
	
 
	
 
- receiving a message
 
- 
	
	- defined
 
	- 
			·
			Glossary ·
	
 
	
 
- registering
 
- 
	
	- pathname
 
	- 
			·
			The resource manager's view ·
	
 
	
 
- relative timer
 
- 
			·
			Summary ·
			Types of timers ·
			What kind of timer? ·
	
	- defined
 
	- 
			·
			Glossary ·
	
 
	
	
	- example
 
	- 
			·
			gotAMessage() ·
			gotAPulse() ·
			main() ·
			Server-maintained timeouts ·
			setupPulseAndTimer() ·
			What kind of timer? ·
	
 
	
 
- rename()
 
- 
			·
			Connect messages ·
 
- rendezvous
 
- 
	
	- and thread synchronization
 
	- 
			·
			Using a barrier ·
	
 
	
 
- repeating timer, defined
 
- 
			·
			Glossary ·
 
- Reply() (QNX 4)
 
- 
			·
			Message passing ·
 
- reply-blocked
 
- 
			·
			Message passing and client/server ·
	
	- diagram
 
	- 
			·
			Message passing and client/server ·
	
 
	
 
- reply-driven model
 
- 
			·
			Not replying to the client ·
			Server/subserver ·
	
	- example
 
	- 
			·
			Reply-driven (server/subserver) ·
	
 
	
	
	- important subtlety
 
	- 
			·
			An important subtlety ·
	
 
	
 
- replying to a message, defined
 
- 
			·
			Glossary ·
 
- resmgr
 
- 
		See
		resource manager 
 
- 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_attr_t
 
- 
			·
			Data structures ·
			resmgr_attr_t control structure ·
			The resmgr_context_t internal context block ·
 
- resmgr_bind_ocb()
 
- 
			·
			io_open() ·
 
- resmgr_connect_funcs_t
 
- 
			·
			Data structures ·
			resmgr_connect_funcs_t connect table ·
 
- _RESMGR_CONNECT_NFUNCS
 
- 
			·
			resmgr_connect_funcs_t connect table ·
 
- resmgr_context_t
 
- 
			·
			Data structures ·
			General notes ·
			resmgr_connect_funcs_t connect table ·
			resmgr_io_funcs_t I/O table ·
			The data structure sizing parameters ·
			The resmgr_context_t internal context block ·
 
- _RESMGR_DEFAULT
 
- 
			·
			General notes ·
			io_devctl() ·
			Step 1 ·
 
- resmgr_detach()
 
- 
			·
			The base layer ·
 
- _RESMGR_ERRNO (errno)
 
- 
			·
			General notes ·
 
- _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_HANDLE_T
 
- 
			·
			resmgr_connect_funcs_t connect table ·
 
- resmgr_io_funcs_t
 
- 
			·
			Data structures ·
			resmgr_connect_funcs_t connect table ·
			resmgr_io_funcs_t I/O table ·
 
- _RESMGR_IO_NFUNCS
 
- 
			·
			resmgr_io_funcs_t I/O table ·
 
- 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_NOREPLY
 
- 
			·
			Blocking within the resource manager ·
			General notes ·
			Step 9 ·
 
- _RESMGR_NPARTS()
 
- 
			·
			General notes ·
			Step 4 ·
 
- RESMGR_OCB_T
 
- 
			·
			resmgr_io_funcs_t I/O table ·
 
- resmgr_open_bind()
 
- 
			·
			The base layer ·
			The general flow of a resource manager ·
 
- _RESMGR_PTR()
 
- 
			·
			General notes ·
			Step 4 ·
 
- _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 ·
 
- resolution of timebase
 
- 
	
	- adjusting
 
	- 
			·
			Adjusting the timebase ·
	
 
	
 
- resource manager
 
- 
			·
			What is a resource manager? ·
	
	- /dev/null
 
	- 
			·
			The resource manager library ·
	
 
	
	
	- advanced topics
 
	- 
			·
			Advanced topics ·
	
 
	
	
	- allocating OCBs
 
	- 
			·
			More efficient allocation ·
	
 
	
	
	- and fork()
 
	- 
			·
			So what should you use? ·
	
 
	
	
	- as a means of advertising ND/PID/CHID
 
	- 
			·
			Finding the server's ND/PID/CHID ·
	
 
	
	
	- binding mount structure
 
	- 
			·
			Extending the OCB ·
	
 
	
	
	- blocking
 
	- 
			·
			Blocking within the resource manager ·
			The library really does what we just talked about ·
	
 
	
	
	- characteristics
 
	- 
			·
			Characteristics of resource managers ·
	
 
	
	
	- client
 
	- 
			·
			The client's view ·
		
		- summary
 
		- 
			·
			Client summary ·
		
 
		
	 
	
	
	- clients
 
	- 
			·
			Characteristics of resource managers ·
	
 
	
	
	- combined messages
 
	- 
			·
			Combine messages ·
			Messages that should be connect messages but aren't ·
	
 
	
	
	- connecting
 
	- 
			·
			Finding the server ·
	
 
	
	
	- connection ID
 
	- 
			·
			Characteristics of resource managers ·
			Finding the server ·
	
 
	
	
	- constants
 
	- 
		
		- 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() ·
		
 
		
		
		- _FTYPE_ANY
 
		- 
			·
			The resmgr_attach() function and its parameters ·
		
 
		
		
		- _FTYPE_MQUEUE
 
		- 
			·
			The resmgr_attach() function and its parameters ·
		
 
		
		
		- _IO_CHMOD
 
		- 
			·
			io_chmod() ·
		
 
		
		
		- _IO_CHOWN
 
		- 
			·
			io_chown() ·
		
 
		
		
		- _IO_CLOSE_DUP
 
		- 
			·
			io_close_dup() ·
			The struct dirent structure and friends ·
		
 
		
		
		- _IO_CONNECT
 
		- 
			·
			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() ·
		
 
		
		
		- _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
 
		- 
			·
			io_msg() ·
		
 
		
		
		- _IO_NOTIFY
 
		- 
			·
			io_notify() ·
		
 
		
		
		- _IO_OPENFD
 
		- 
			·
			io_openfd() ·
		
 
		
		
		- _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
 
		- 
			·
			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 ·
		
 
		
		
		- _POSIX_DEVDIR_FROM
 
		- 
			·
			io_devctl() ·
		
 
		
		
		- _POSIX_DEVDIR_TO
 
		- 
			·
			io_devctl() ·
		
 
		
		
		- _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_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() ·
		
 
		
		
		- 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 ·
		
 
		
	 
	
	
	- context blocks
 
	- 
			·
			The base layer ·
	
 
	
	
	- cookbook
 
	- 
			·
			Examples ·
	
 
	
	
	- custom
 
	- 
			·
			Writing a resource manager ·
	
 
	
	
	- defined
 
	- 
			·
			Glossary ·
			What is a resource manager? ·
	
 
	
	
	- design
 
	- 
			·
			Handling directories ·
	
 
	
	
	- device numbers and inodes
 
	- 
			·
			Of device numbers, inodes, and our friend rdev ·
	
 
	
	
	- domain of authority
 
	- 
			·
			Registering a pathname ·
	
 
	
	
	- example
 
	- 
			·
			Examples ·
			The basic skeleton of a resource manager ·
		
		- io_devctl()
 
		- 
			·
			A simple io_devctl() example ·
			An io_devctl() example that deals with data ·
		
 
		
		
		- io_open() handler
 
		- 
			·
			Putting in your own functions ·
		
 
		
		
		- io_read()
 
		- 
			·
			A simple io_read() example ·
			The code ·
		
 
		
		
		- io_write()
 
		- 
			·
			A simple io_write() example ·
		
 
		
		
		- returning data to a client
 
		- 
			·
			A simple io_read() example ·
			The code ·
		
 
		
	 
	
	
	- extended OCB
 
	- 
			·
			Extending the OCB ·
	
 
	
	
	- extending attributes
 
	- 
			·
			Extending the attributes structure ·
	
 
	
	
	- file descriptor
 
	- 
			·
			Finding the server ·
	
 
	
	
	- file descriptors
 
	- 
			·
			Characteristics of resource managers ·
	
 
	
	
	- file streams
 
	- 
			·
			Characteristics of resource managers ·
	
 
	
	
	- filesystem example
 
	- 
			·
			Filesystem ·
	
 
	
	
	- finding
 
	- 
			·
			Finding the server ·
	
 
	
	
	- functions
 
	- 
		
		- connect
 
		- 
			·
			resmgr_connect_funcs_t connect table ·
		
 
		
		
		- custom handlers
 
		- 
			·
			Putting in your own functions ·
		
 
		
		
		- default
 
		- 
			·
			resmgr_io_funcs_t I/O table ·
		
 
		
		
		- default handlers
 
		- 
			·
			Putting in your own functions ·
			resmgr_connect_funcs_t connect table ·
		
 
		
		
		- _DEVCTL_DATA()
 
		- 
			·
			Step 1 ·
		
 
		
		
		- dispatch_create()
 
		- 
			·
			The basic skeleton of a resource manager ·
		
 
		
		
		- I/O
 
		- 
			·
			resmgr_io_funcs_t I/O table ·
		
 
		
		
		- 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_openfd()
 
		- 
			·
			io_openfd() ·
		
 
		
		
		- io_pathconf()
 
		- 
			·
			io_pathconf() ·
		
 
		
		
		- io_power()
 
		- 
			·
			io_power() ·
		
 
		
		
		- _IO_READ
 
		- 
			·
			io_read() ·
		
 
		
		
		- 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_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 ·
		
 
		
		
		- 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() ·
		
 
		
		
		- 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_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_default()
 
		- 
			·
			io_utime() ·
		
 
		
		
		- iofunc_utimes()
 
		- 
			·
			io_utime() ·
		
 
		
		
		- iofunc_write_default()
 
		- 
			·
			io_write() ·
		
 
		
		
		- iofunc_write_verify()
 
		- 
			·
			A simple io_write() example ·
			io_write() ·
		
 
		
		
		- resgmr_open_bind()
 
		- 
			·
			The general flow of a resource manager ·
		
 
		
		
		- resmgr_attach()
 
		- 
			·
			Resource manager structure ·
			Step 3 ·
			The flags parameter ·
			The resmgr_attach() function and its parameters ·
			The resmgr_context_t internal context block ·
		
 
		
		
		- resmgr_bind_ocb()
 
		- 
			·
			io_open() ·
		
 
		
		
		- resmgr_msgread()
 
		- 
			·
			Step 3 ·
		
 
		
		
		- resmgr_msgreadv()
 
		- 
			·
			io_devctl() ·
			io_write() ·
			Step 3 ·
			The resmgr_context_t internal context block ·
		
 
		
		
		- resmgr_msgwritev()
 
		- 
			·
			io_devctl() ·
		
 
		
	 
	
	
	- future expansion capabilities
 
	- 
			·
			resmgr_connect_funcs_t connect table ·
	
 
	
	
	- gate keeper
 
	- 
			·
			The general flow of a resource manager ·
	
 
	
	
	- handler routines
 
	- 
			·
			General notes ·
			Handler routines ·
		
		- context
 
		- 
			·
			General notes ·
		
 
		
		
		- messages
 
		- 
			·
			Connect functions notes ·
		
 
		
	 
	
	
	- handlers
 
	- 
		
		- connect functions
 
		- 
			·
			Alphabetical listing of connect and I/O functions ·
		
 
		
		
		- I/O functions
 
		- 
			·
			Alphabetical listing of connect and I/O functions ·
		
 
		
		
		- unblocking
 
		- 
			·
			Alphabetical listing of connect and I/O functions ·
		
 
		
	 
	
	
	- handling directories
 
	- 
			·
			Handling directories ·
	
 
	
	
	- header as first part of message
 
	- 
			·
			Reading and writing data ·
	
 
	
	
	- initializing a connection
 
	- 
			·
			The general flow of a resource manager ·
	
 
	
	
	- internal context
 
	- 
			·
			The library really does what we just talked about ·
	
 
	
	
	- library
 
	- 
			·
			Data structures ·
			The library really does what we just talked about ·
			The resource manager library ·
		
		- base layer
 
		- 
			·
			Behind the scenes at the library ·
			The base layer ·
		
 
		
		
		- POSIX layer
 
		- 
			·
			Behind the scenes at the library ·
		
 
		
	 
	
	
	- macros
 
	- 
		
		- _RESMGR_ERRNO() (deprecated)
 
		- 
			·
			General notes ·
		
 
		
		
		- _RESMGR_NPARTS()
 
		- 
			·
			General notes ·
			Step 4 ·
		
 
		
		
		- _RESMGR_PTR()
 
		- 
			·
			General notes ·
			Step 4 ·
		
 
		
	 
	
	
	- message passing
 
	- 
			·
			Message passing and client/server ·
	
 
	
	
	- messages
 
	- 
			·
			Characteristics of resource managers ·
			The data structure sizing parameters ·
		
		- combine
 
		- 
			·
			io_lock_ocb() ·
		
 
		
		
		- combined
 
		- 
			·
			Locking, unlocking, and combine message handling ·
		
 
		
		
		- connect
 
		- 
			·
			Connect messages ·
			Finding the server ·
			Messages that should be connect messages but aren't ·
		
 
		
		
		- creating custom
 
		- 
			·
			The other_func message handler ·
		
 
		
		
		- handling
 
		- 
			·
			Behind the scenes at the library ·
		
 
		
		
		- I/O
 
		- 
			·
			I/O messages ·
		
 
		
		
		- _IO_DEVCTL
 
		- 
			·
			The other_func message handler ·
		
 
		
		
		- _IO_MSG
 
		- 
			·
			The other_func message handler ·
		
 
		
		
		- other
 
		- 
			·
			Three groups, really ·
		
 
		
		
		- processing
 
		- 
			·
			Locking, unlocking, and combine message handling ·
		
 
		
	 
	
	
	- mountpoints
 
	- 
			·
			The resmgr_attach() function and its parameters ·
	
 
	
	
	- multiple entries
 
	- 
			·
			Registering a pathname ·
	
 
	
	
	- OCB monitoring
 
	- 
			·
			OCB monitor ·
	
 
	
	
	- ordering
 
	- 
			·
			The resmgr_attach() function and its parameters ·
	
 
	
	
	- ordering in pathname space
 
	- 
			·
			The resmgr_attach() function and its parameters ·
	
 
	
	
	- outcalls
 
	- 
			·
			The general flow of a resource manager ·
	
 
	
	
	- overriding allocation functions
 
	- 
			·
			Extending the OCB ·
	
 
	
	
	- pathname
 
	- 
			·
			The resource manager's view ·
	
 
	
	
	- POSIX layer
 
	- 
			·
			POSIX-layer data structures ·
			The POSIX layer ·
	
 
	
	
	- program flow
 
	- 
			·
			The general flow of a resource manager ·
	
 
	
	
	- receiving messages
 
	- 
			·
			Handling messages ·
	
 
	
	
	- registering
 
	- 
			·
			The resmgr_attach() function and its parameters ·
			The resource manager's view ·
	
 
	
	
	- resolving
 
	- 
			·
			Registering a pathname ·
			Union'd filesystems ·
	
 
	
	
	- returning directory entries
 
	- 
			·
			Returning directory entries ·
	
 
	
	
	- reusing data space at end of message
 
	- 
			·
			Important note ·
	
 
	
	
	- serial port example
 
	- 
			·
			Serial port ·
	
 
	
	
	- setting the iov size
 
	- 
			·
			General notes ·
	
 
	
	
	- skeleton
 
	- 
			·
			The basic skeleton of a resource manager ·
	
 
	
	
	- structure
 
	- 
			·
			Resource manager structure ·
	
 
	
	
	- structures
 
	- 
			·
			Data structures ·
		
		- io_chmod_t
 
		- 
			·
			io_chmod() ·
		
 
		
		
		- io_chown_t
 
		- 
			·
			io_chown() ·
		
 
		
		
		- io_close_t
 
		- 
			·
			io_close_dup() ·
			io_close_ocb() ·
		
 
		
		
		- io_devctl_t
 
		- 
			·
			io_devctl() ·
		
 
		
		
		- io_dup_t
 
		- 
			·
			io_dup() ·
		
 
		
		
		- io_link_extra_t
 
		- 
			·
			io_link() ·
		
 
		
		
		- io_link_t
 
		- 
			·
			io_link() ·
		
 
		
		
		- io_lock_t
 
		- 
			·
			io_lock() ·
		
 
		
		
		- io_lseek_t
 
		- 
			·
			io_lseek() ·
		
 
		
		
		- io_mknod_t
 
		- 
			·
			io_mknod() ·
		
 
		
		
		- io_mmap_t
 
		- 
			·
			io_mmap() ·
		
 
		
		
		- io_mount_t
 
		- 
			·
			io_mount() ·
		
 
		
		
		- io_msg_t
 
		- 
			·
			io_msg() ·
		
 
		
		
		- io_notify_t
 
		- 
			·
			io_notify() ·
		
 
		
		
		- io_open_t
 
		- 
			·
			io_open() ·
			io_readlink() ·
		
 
		
		
		- io_openfd_t
 
		- 
			·
			io_openfd() ·
		
 
		
		
		- io_pathconf_t
 
		- 
			·
			io_pathconf() ·
		
 
		
		
		- io_read_t
 
		- 
			·
			io_read() ·
		
 
		
		
		- io_rename_extra_t
 
		- 
			·
			io_rename() ·
		
 
		
		
		- io_rename_t
 
		- 
			·
			io_rename() ·
		
 
		
		
		- io_spaced_t
 
		- 
			·
			io_space() ·
		
 
		
		
		- io_stat_t
 
		- 
			·
			io_stat() ·
		
 
		
		
		- io_sync_t
 
		- 
			·
			io_sync() ·
		
 
		
		
		- io_unlink_t
 
		- 
			·
			io_unlink() ·
		
 
		
		
		- io_utime_t
 
		- 
			·
			io_utime() ·
		
 
		
		
		- io_write_t
 
		- 
			·
			io_write() ·
		
 
		
		
		- iofunc_attr_t
 
		- 
			·
			POSIX-layer data structures ·
			The iofunc_attr_t attributes structure ·
		
 
		
		
		- iofunc_mount_t
 
		- 
			·
			POSIX-layer data structures ·
			The iofunc_attr_t attributes structure ·
			The iofunc_mount_t mount structure ·
		
 
		
		
		- iofunc_ocb_t
 
		- 
			·
			POSIX-layer data structures ·
			The iofunc_ocb_t OCB structure ·
			The strange case of the offset member ·
		
 
		
		
		- POSIX layer
 
		- 
			·
			POSIX-layer data structures ·
		
 
		
		
		- resmgr_attr_t
 
		- 
			·
			Data structures ·
			resmgr_attr_t control structure ·
			The resmgr_context_t internal context block ·
		
 
		
		
		- resmgr_connect_funcs_t
 
		- 
			·
			Data structures ·
			resmgr_connect_funcs_t connect table ·
		
 
		
		
		- resmgr_context_t
 
		- 
			·
			Data structures ·
			General notes ·
			resmgr_connect_funcs_t connect table ·
			resmgr_io_funcs_t I/O table ·
			The data structure sizing parameters ·
			The resmgr_context_t internal context block ·
		
 
		
		
		- RESMGR_HANDLE_T
 
		- 
			·
			resmgr_connect_funcs_t connect table ·
		
 
		
		
		- resmgr_io_funcs_t
 
		- 
			·
			Data structures ·
			resmgr_connect_funcs_t connect table ·
			resmgr_io_funcs_t I/O table ·
		
 
		
		
		- RESMGR_OCB_T
 
		- 
			·
			resmgr_io_funcs_t I/O table ·
		
 
		
		
		- struct _io_chmod
 
		- 
			·
			io_chmod() ·
		
 
		
		
		- struct _io_chown
 
		- 
			·
			io_chown() ·
		
 
		
		
		- struct _io_close
 
		- 
			·
			io_close_dup() ·
			io_close_ocb() ·
		
 
		
		
		- struct _io_connect
 
		- 
			·
			Connect functions notes ·
			End-user parameter part ·
			Internal use part ·
			io_link() ·
			io_mknod() ·
			io_mount() ·
			io_open() ·
			io_readlink() ·
			io_rename() ·
			io_unlink() ·
		
 
		
		
		- struct _io_connect_link_reply
 
		- 
			·
			io_link() ·
			io_mknod() ·
			io_mount() ·
			io_open() ·
			io_readlink() ·
			io_rename() ·
			io_unlink() ·
		
 
		
		
		- struct _io_devctl
 
		- 
			·
			io_devctl() ·
		
 
		
		
		- struct _io_devctl_reply
 
		- 
			·
			io_devctl() ·
		
 
		
		
		- struct _io_dup
 
		- 
			·
			io_dup() ·
		
 
		
		
		- struct _io_lock
 
		- 
			·
			io_lock() ·
		
 
		
		
		- struct _io_lock_reply
 
		- 
			·
			io_lock() ·
		
 
		
		
		- struct _io_lseek
 
		- 
			·
			io_lseek() ·
		
 
		
		
		- struct _io_mmap
 
		- 
			·
			io_mmap() ·
		
 
		
		
		- struct _io_mmap_reply
 
		- 
			·
			io_mmap() ·
		
 
		
		
		- struct _io_msg
 
		- 
			·
			io_msg() ·
		
 
		
		
		- struct _io_notify
 
		- 
			·
			io_notify() ·
		
 
		
		
		- struct _io_notify_reply
 
		- 
			·
			io_notify() ·
		
 
		
		
		- struct _io_openfd
 
		- 
			·
			io_openfd() ·
		
 
		
		
		- struct _io_pathconf
 
		- 
			·
			io_pathconf() ·
		
 
		
		
		- struct _io_read
 
		- 
			·
			io_read() ·
		
 
		
		
		- struct _io_space
 
		- 
			·
			io_space() ·
		
 
		
		
		- struct _io_stat
 
		- 
			·
			io_stat() ·
		
 
		
		
		- struct _io_sync
 
		- 
			·
			io_sync() ·
		
 
		
		
		- struct _io_utime
 
		- 
			·
			io_utime() ·
		
 
		
		
		- struct _io_write
 
		- 
			·
			io_write() ·
		
 
		
		
		- struct dirent
 
		- 
			·
			io_read() ·
			The struct dirent structure and friends ·
		
 
		
	 
	
	
	- writing
 
	- 
			·
			Writing a resource manager ·
	
 
	
 
- round robin
 
- 
	
	- defined
 
	- 
			·
			Glossary ·
	
 
	
 
- round-robin scheduling
 
- 
			·
			Scheduling policies ·
 
- RR
 
- 
		See
		round-robin 
 
- rsrcdbmgr_devno_attach()
 
- 
			·
			Of device numbers, inodes, and our friend rdev ·
 
- RTC
 
- 
	
	- getting and setting values
 
	- 
			·
			Getting and setting the realtime clock and more ·
	
 
	
	
	- synchronizing to current time of day
 
	- 
			·
			Getting and setting ·
	
 
	
 
- RUNNING
 
- 
			·
			READY ·
			RUNNING ·
	
	- and SMP
 
	- 
			·
			RUNNING ·
	
 
	
 
 · ! · 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 ·