summaryrefslogtreecommitdiffstats
path: root/man2/lookup_dcookie.2
diff options
context:
space:
mode:
Diffstat (limited to 'man2/lookup_dcookie.2')
-rw-r--r--man2/lookup_dcookie.289
1 files changed, 89 insertions, 0 deletions
diff --git a/man2/lookup_dcookie.2 b/man2/lookup_dcookie.2
new file mode 100644
index 000000000..9e0079a13
--- /dev/null
+++ b/man2/lookup_dcookie.2
@@ -0,0 +1,89 @@
+.\" Hey Emacs! This file is -*- nroff -*- source.
+.\"
+.\" Copyright (C) 2003 John Levon <levon@movementarian.org>
+.\"
+.\" 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.
+.\"
+.\" Modified 2004-06-17 Michael Kerrisk <mtk16@ext.canterbury.ac.nz>
+.\"
+.TH LOOKUP_DCOOKIE 2 2004-06-17 "Linux 2.6.7" "Linux Programmer's Manual"
+.SH NAME
+lookup_dcookie \- return a directory entry's path
+.SH SYNOPSIS
+.sp
+.BI "int lookup_dcookie(u64 " cookie ", char * " buffer ", size_t " len );
+.SH DESCRIPTION
+Look up the full path of the directory entry specified by the value
+.I 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
+.B lookup_dcookie
+to return successfully,
+the kernel must still hold a cookie reference to the directory entry.
+
+.SH "NOTES"
+.B lookup_dcookie
+is a special-purpose system call, currently used only by the oprofile 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.
+
+.SH "RETURN VALUE"
+On success,
+.B lookup_dcookie
+returns the length of the path string copied into the buffer.
+On error, \-1 is returned, and
+.I errno
+is set appropriately.
+.SH ERRORS
+.TP
+.B EFAULT
+The buffer was not valid.
+.TP
+.B 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.
+.TP
+.B ENAMETOOLONG
+The name could not fit in the buffer.
+.TP
+.B ENOMEM
+The kernel could not allocate memory for the temporary buffer holding
+the path.
+.TP
+.B EPERM
+The process does not have the capability
+.B CAP_SYS_ADMIN
+required to look up cookie values.
+.TP
+.B ERANGE
+The buffer was not large enough to hold the path of the directory entry.
+.SH "CONFORMING TO"
+.B lookup_dcookie
+is Linux-specific.
+.SH AVAILABILITY
+Since Linux 2.5.43.
+The ENAMETOOLONG error return was added in 2.5.70.