Table of POSIX-level connect functions
#include <sys/iofunc.h> #include <sys/resmgr.h> typedef struct _resmgr_connect_funcs { unsigned nfuncs; int (*open) (resmgr_context_t *ctp, io_open_t *msg, RESMGR_HANDLE_T *handle, void *extra); int (*unlink) (resmgr_context_t *ctp, io_unlink_t *msg, RESMGR_HANDLE_T *handle, void *reserved); int (*rename) (resmgr_context_t *ctp, io_rename_t *msg, RESMGR_HANDLE_T *handle, io_rename_extra_t *extra); int (*mknod) (resmgr_context_t *ctp, io_mknod_t *msg, RESMGR_HANDLE_T *handle, void *reserved); int (*readlink) (resmgr_context_t *ctp, io_readlink_t *msg, RESMGR_HANDLE_T *handle, void *reserved); int (*link) (resmgr_context_t *ctp, io_link_t *msg, RESMGR_HANDLE_T *handle, io_link_extra_t *extra); int (*unblock) (resmgr_context_t *ctp, io_pulse_t *msg, RESMGR_HANDLE_T *handle, void *reserved); int (*mount) (resmgr_context_t *ctp, io_mount_t *msg, RESMGR_HANDLE_T *handle, io_mount_extra_t *extra); } resmgr_connect_funcs_t;
The resmgr_connect_funcs_t structure is a table of the POSIX-level connect functions that are used by a resource manager. You can initialize this table by calling iofunc_func_init() and then overriding the defaults with your own functions.
This structure includes nfuncs, which indicates how many functions are in the table (in case the structure grows in the future), along with these functions:
Member: | Used to: | Default: |
---|---|---|
open | Handle _IO_CONNECT messages | iofunc_open_default() |
unlink | Unlink the resource | None |
rename | Rename the resource | None |
mknod | Create a filesystem entry point | None |
readlink | Read a symbolic link | None |
link | Create a symbolic link | None |
unblock | Unblock the resource if an operation is aborted | None |
mount | Mount a filesystem | None |