Scroll to navigation

lookup_dcookie(2) System Calls Manual lookup_dcookie(2)

ИМЯ

lookup_dcookie - возвращает путь элемента каталога

БИБЛИОТЕКА

Стандартная библиотека языка C (libc, -lc)

СИНТАКСИС

#include <sys/syscall.h>      /* определения констант SYS_* */
#include <unistd.h>
int syscall(SYS_lookup_dcookie, uint64_t cookie, char *buffer,
            size_t len);

Note: glibc provides no wrapper for lookup_dcookie(), necessitating the use of syscall(2).

ОПИСАНИЕ

Ищет полный путь элемента каталога, указанного в параметре cookie. Маркёр (cookie) представляет собой простейший идентификатор, уникально определяющий отдельный элемент каталога. Указанный буфер заполняется полным путём элемента каталога.

Для успешного выполнения lookup_dcookie() ядро должно удерживать ссылку маркёра на элемент каталога.

ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ

On success, lookup_dcookie() returns the length of the path string copied into the buffer. On error, -1 is returned, and errno is set to indicate the error.

ОШИБКИ

Неверный буфер.
При поиске в ядре не было зарегистрированных отображённых элементов маркёра/каталога или маркёр ссылается на некорректный элемент каталога.
Имя не помещается в буфере.
Ядро не может выделить память для временного буфера для пути.
Процесс не имеет мандата CAP_SYS_ADMIN для поиска значений маркёра.
Буфер не был достаточно велик для хранения пути элемента каталога.

СТАНДАРТЫ

Linux.

ИСТОРИЯ

Linux 2.5.43.

The ENAMETOOLONG error was added in Linux 2.5.70.

ПРИМЕЧАНИЯ

Вызов lookup_dcookie() является специальным системным вызовом, в данный момент используется только программой профилирования oprofile(1). Она полагается на регистрацию драйвером ядра маркёра для элементов каталога.

Возвращаемый путь может заканчиваться строкой « (deleted)», если элемент каталога был удалён.

СМОТРИТЕ ТАКЖЕ

oprofile(1)

ПЕРЕВОД

Русский перевод этой страницы руководства разработал(и) Artyom Kunyov <artkun@guitarplayer.ru>, Azamat Hackimov <azamat.hackimov@gmail.com>, Dmitry Bolkhovskikh <d20052005@yandex.ru>, Katrin Kutepova <blackkatelv@gmail.com>, Konstantin Shvaykovskiy <kot.shv@gmail.com>, Yuri Kozlov <yuray@komyakino.ru> и Иван Павлов <pavia00@gmail.com>

Этот перевод является свободной программной документацией; он распространяется на условиях общедоступной лицензии GNU (GNU General Public License - GPL, https://www.gnu.org/licenses/gpl-3.0.html версии 3 или более поздней) в отношении авторского права, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ.

Если вы обнаружите какие-либо ошибки в переводе этой страницы руководства, пожалуйста, сообщите об этом разработчику(ам) по его(их) адресу(ам) электронной почты или по адресу списка рассылки русских переводчиков.

2 мая 2024 г. Справочные страницы Linux 6.8