_io_connect_link_reply
Structure of a connect message that redirects a client to another resource
Synopsis:
struct _io_connect_link_reply { uint32_t reserved1; uint32_t file_type; uint8_t eflag; uint8_t reserved2[1]; uint16_t chroot_len; uint32_t umask; uint16_t nentries; uint16_t path_len; /* struct _io_connect_entry server[nentries]; char path[path_len]; or struct _server_info info; io_?_t msg; */ };
Description:
A resource manager uses the _io_connect_link_reply structure in a reply to a client that redirects the client to another resource. The members include:
- file_type
- The file type; one of the following (defined in
<sys/ftype.h>):
- _FTYPE_ANY — the path name can be anything.
- _FTYPE_LINK — reserved for the Process Manager.
- _FTYPE_MOUNT — receive mount requests on the path (path must be NULL).
- _FTYPE_MQUEUE — reserved for a message-queue manager.
- _FTYPE_PIPE — reserved for a pipe manager.
- _FTYPE_SEM — reserved for a semaphore manager.
- _FTYPE_SHMEM — reserved for a shared memory object.
- _FTYPE_SOCKET — reserved for a socket manager.
- _FTYPE_SYMLINK — reserved for the Process Manager.
- eflag
- Extended flags:
- _IO_CONNECT_EFLAG_DIR — the path referenced a directory.
- _IO_CONNECT_EFLAG_DOT — the last component of a path was . or .. (i.e. the current or parent directory).
- chroot_len
- The length of chroot in the returned path.
- umask
- One of:
- S_IFBLK — block special.
- S_IFCHR — character special.
- S_IFDIR — directory.
- S_IFIFO — FIFO special.
- S_IFLNK — symbolic link.
- S_IFMT — type of file.
- S_IFNAM — special named file.
- S_IFREG — regular.
- S_IFSOCK — socket.
- nentries
- If this member is zero, the path is a symbolic link.
- path_len
- The length of the path including the terminating null character. If this member is zero, the path is null-terminated.