Структура сообщения подключения, перенаправляющего клиента на другой ресурс
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;
};
Менеджер ресурсов использует структуру _io_connect_link_reply
для ответа и перенаправления на другой ресурс. Включает в себя:
- file_type
- Тип файла; одно из значений ниже (определено в
<sys/ftype.h>
): - _FTYPE_ANY
- путь может быть любой.
- _FTYPE_LINK
- зарезервировано для менеджера процессов.
- _FTYPE_MOUNT
- получить запрос на монтирование пути path (path должен быть
NULL
). - _FTYPE_MQUEUE
- зарезервировано для менеджера очередей сообщений.
- _FTYPE_PIPE
- зарезервировано для менеджера каналов.
- _FTYPE_SEM
- зарезервировано для менеджера семафоров.
- _FTYPE_SHMEM
- зарезервировано для объекта разделяемой памяти.
- _FTYPE_SOCKET
- зарезервировано для менеджера сокетов.
- _FTYPE_SYMLINK
- зарезервировано для менеджера процессов.
- eflag
- Расширенные флаги:
- _IO_CONNECT_EFLAG_DIR
- путь указывает на директорию.
- _IO_CONNECT_EFLAG_DOT
- последний компонент пути . или .. (например текущий или родительский каталог).
- chroot_len
- Длина chroot в возвращенном пути.
- umask
- Один из:
- S_IFBLK
- признак блочно-ориентированного файла.
- S_IFCHR
- признак символьного-ориентированного файла.
- S_IFDIR
- каталог.
- S_IFIFO
- признак специального файла FIFO.
- S_IFLNK
- символическая ссылка.
- S_IFMT
- маска типа файла.
- S_IFNAM
- специальный именованный файл.
- S_IFREG
- обычный файл.
- S_IFSOCK
- сокет.
- nentries
- Если равно нулю, то путь - символическая ссылка.
- path_len
- Длина пути, включающая символ нуль-терминатор. Если равно нулю, то строка, содержащая путь - нуль-терминирована.
ЗОСРВ «Нейтрино»
struct _io_connect, struct _io_connect_ftype_reply, resmgr_connect_funcs_t
Предыдущий раздел: Описание API системной библиотеки