lookup_dcookie -
возвращает
путь
элемента
каталога
Standard C library (
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.
- EFAULT
- Неверный
буфер.
- EINVAL
- При
поиске в
ядре не
было
зарегистрированных
отображённых
элементов
маркёра/каталога
или маркёр
ссылается
на
некорректный
элемент
каталога.
- ENAMETOOLONG
- Имя не
помещается
в буфере.
- ENOMEM
- Ядро не
может
выделить
память для
временного
буфера для
пути.
- EPERM
- Процесс
не имеет
мандата
CAP_SYS_ADMIN для
поиска
значений
маркёра.
- ERANGE
- Буфер не
был
достаточно
велик для
хранения
пути
элемента
каталога.
Available since Linux 2.5.43. The
ENAMETOOLONG error return was added in
Linux 2.5.70.
Вызов
lookup_dcookie()
есть
только в Linux.
Вызов
lookup_dcookie()
является
специальным
системным
вызовом, в
данный
момент
используется
только
программой
профилирования
oprofile(1). Она
полагается
на
регистрацию
драйвером
ядра
маркёра
для
элементов
каталога.
Возвращаемый
путь может
заканчиваться
строкой «
(deleted)», если
элемент
каталога
был удалён.
oprofile(1)
Русский
перевод
этой
страницы
руководства
был сделан
Artyom Kunyov <
[email protected]>, Azamat Hackimov
<
[email protected]>, Dmitry Bolkhovskikh
<
[email protected]>, Katrin Kutepova <
[email protected]>,
Konstantin Shvaykovskiy <
[email protected]>, Yuri Kozlov
<
[email protected]> и Иван
Павлов <
[email protected]>
Этот
перевод
является
бесплатной
документацией;
прочитайте
Стандартную
общественную
лицензию GNU
версии 3
или более
позднюю,
чтобы
узнать об
условиях
авторского
права. Мы не
несем
НИКАКОЙ
ОТВЕТСТВЕННОСТИ.
Если вы
обнаружите
ошибки в
переводе
этой
страницы
руководства,
пожалуйста,
отправьте
электронное
письмо на
[email protected]