Structure of a connect message that redirects a client to another resource


#include <sys/iomsg.h>

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];
    struct _server_info         info;
    io_?_t                      msg;


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:

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.
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).
The length of chroot in the returned path.
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.
If this member is zero, the path is a symbolic link.
The length of the path including the terminating null character. If this member is zero, the path is null-terminated.


QNX Neutrino