Name

lookup_dcookie — return a directory entry's path

Synopsis

#include <sys/syscall.h>       /* Definition of  SYS_*  constants */
#include <unistd.h>
int syscall( SYS_lookup_dcookie,
  uint64_t cookie,
  char *buffer,
  size_t len);
 
[Note] Note
glibc provides no wrapper for
.BR lookup_dcookie (),
necessitating the use of
  

DESCRIPTION

Look up the full path of the directory entry specified by the value cookie. The cookie is an opaque identifier uniquely identifying a particular directory entry. The buffer given is filled in with the full path of the directory entry.

For lookup_dcookie() to return successfully, the kernel must still hold a cookie reference to the directory entry.

RETURN VALUE

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.

ERRORS

EFAULT

The buffer was not valid.

EINVAL

The kernel has no registered cookie/directory entry mappings at the time of lookup, or the cookie does not refer to a valid directory entry.

ENAMETOOLONG

The name could not fit in the buffer.

ENOMEM

The kernel could not allocate memory for the temporary buffer holding the path.

EPERM

The process does not have the capability CAP_SYS_ADMIN required to look up cookie values.

ERANGE

The buffer was not large enough to hold the path of the directory entry.

VERSIONS

Available since Linux 2.5.43. The ENAMETOOLONG error return was added in 2.5.70.

CONFORMING TO

lookup_dcookie() is Linux-specific.

NOTES

lookup_dcookie() is a special-purpose system call, currently used only by the oprofile(1) profiler. It relies on a kernel driver to register cookies for directory entries.

The path returned may be suffixed by the string " (deleted)" if the directory entry has been removed.

SEE ALSO

oprofile(1)

COLOPHON

This page is part of release 5.13 of the Linux man-pages project. A description of the project, information about reporting bugs, and the latest version of this page, can be found at https://www.kernel.org/doc/man−pages/.


  Copyright (C) 2003 John Levon <levonmovementarian.org>

%%%LICENSE_START(VERBATIM)
Permission is granted to make and distribute verbatim copies of this
manual provided the copyright notice and this permission notice are
preserved on all copies.

Permission is granted to copy and distribute modified versions of this
manual under the conditions for verbatim copying, provided that the
entire resulting derived work is distributed under the terms of a
permission notice identical to this one.

Since the Linux kernel and libraries are constantly changing, this
manual page may be incorrect or out-of-date.  The author(s) assume no
responsibility for errors or omissions, or for damages resulting from
the use of the information contained herein.  The author(s) may not
have taken the same level of care in the production of this manual,
which is licensed free of charge, as they might when working
professionally.

Formatted or processed versions of this manual, if unaccompanied by
the source, must acknowledge the copyright and authors of this work.
%%%LICENSE_END

Modified 2004-06-17 Michael Kerrisk <mtk.manpagesgmail.com>