resmgr_pathname()

Вернуть путь, связанный с идентификатором

Прототип:

#include <sys/resmgr.h>
int resmgr_pathname( int id,
unsigned flags,
char *path,
int maxbuf );

Аргументы:

id
Идентификатор ссылки, который вернула функция resmgr_attach().
flags
Флаги, влияющие на выполнение операции:
_RESMGR_PATHNAME_LOCALPATH
получить сокращенный путь, который можно использовать только на локальном узле. По умолчанию, функция получает глобальный уникальный путь.
path
Указатель на буфер, в котором функция может хранить имя пути.
maxbuf
Размер буфера.

Библиотека:

libc

Описание:

Функция resmgr_pathname() возвращает путь, связанный с id, который возвращается из resmgr_attach(), а также значение ctp->id всех функций resmgr.

Если id был получен в результате вызова resmgr_attach() с указанным _RESMGR_FLAG_DIR, то path включает в себя завершающую косую черту.

По умолчанию, данная функция вызывает:

netmgr_ndtostr( ND2S_DIR_SHOW, nd, buf, sizeofbuf );

При указании _RESMGR_PATHNAME_LOCALPATH, функция вызывает

netmgr_ndtostr( ND2S_DIR_SHOW|ND2S_LOCAL_STR, nd, buf, sizeofbuf );

чтобы вернуть сокращенный путь, который можно использовать только на локальном узле, что бывает полезно для отображения.

Возвращаемое значение:

Длина пути, включая терминирующий NULL.

Если возникла ошибка функция возвращает -1, код ошибки записывается в errno.

Коды ошибок:

EFAULT
Произошла ошибка в адресном пространстве сервера при попытке доступа к буферам сообщений вызывающей стороны.
ESRCH
Поток ctp-> rcvid не существует или его соединение прервано.
ESRVRFAULT
Произошла ошибка при попытке ядра получить доступ к предоставленным буферам.

Классификация:

ЗОСРВ «Нейтрино»

Точка остановки потока
Нет
Обработчик прерываний
Нет
Обработчик сигналов
Да
В потоке
Да

Тематические ссылки:

netmgr_ndtostr(), resmgr_attach()




Предыдущий раздел: Описание API системной библиотеки