Объявить имя для соединения с сервером
#include <sys/iofunc.h>
#include <sys/dispatch.h>
int name_open( const char *name,
int flags );
- name
- Имя для соединения с сервером.
- flags
- Флаги, влияющие на поведение функции:
- NAME_FLAG_ATTACH_GLOBAL
- искать имя глобально, а не локально.
libc
Функция name_open() объявляет name для соединения с сервером. При доступе к ресурсам на другом узле порядок не гарантируется.
 | Ранее, когда приложение использовало name_open() для соединения с сервером, сервер не получал уведомлений. В данный момент серверу отправляется сообщение _IO_CONNECT с подтипом _IO_CONNECT_OPEN . Серверное приложение должно уметь обрабатывать данное сообщение. Для примера следует смотреть документацию к name_attach(). |
Неотрицательное целое, представляющее идентификатор стороннего соединения (см. ConnectAttach()). Если возникла ошибка, функция возвращает -1
, код ошибки записывается в errno.
- EACCES
- Для части name отсутствует право поиска.
- EBADFSYS
- При попытке открыть файл оказалось, что файл или часть пути к нему оказались повержденными. Системный сбой, автоматическое восстановление после которого невозможно, произошел во время записи файла или при обновлении директории. Для исправления ситуации следует вызвать соответствующие процедуры системного администрирования прежде, чем продолжить.
- EBUSY
- Соединение, определяемое name, уже открыто, а дополнительные соединения запрещены.
- EINTR
- Операция name_open() прервана сигналом.
- EISDIR
- Указанный путь является директорией.
- ELOOP
- Слишком большой уровень символических ссылок или префиксов.
- EMFILE
- Слишком много файловых дескрипторов используется процессом.
- ENAMETOOLONG
- Длина строки name превышает
PATH_MAX
, либо часть пути превышает NAME_MAX
. - ENFILE
- В системе открыто слишком много файлов.
- ENOENT
- Соединение, определяемое name, не существует.
- ENOTDIR
- Часть префикса name не является директорией.
См. name_attach().
ЗОСРВ «Нейтрино»
- Да
- Обработчик прерываний
- Нет
- Обработчик сигналов
- Да
- В потоке
- Да
ConnectAttach(), name_attach(), name_detach(), name_close(), open()
Предыдущий раздел: Описание API системной библиотеки