term% cat index.txt FD2PATH(2) System Calls Manual FD2PATH(2)
NAME
fd2path - return file name associated with file descriptor
SYNOPSIS
#include <u.h>
#include <libc.h>
int fd2path(int fd, char *buf, int nbuf)
DESCRIPTION
As described in intro(2), the kernel stores a rooted path name with ev‐
ery open file or directory; typically, it is the name used in the orig‐
inal access of the file. Fd2path returns the path name associated with
open file descriptor fd. Up to nbuf bytes of the name are stored in
buf; if the name is too long, it will be silently truncated at a UTF-8
character boundary. The name is always null-terminated. The return
value of fd2path will be zero unless an error occurs.
Changes to the underlying name space do not update the path name stored
with the file descriptor. Therefore, the path returned by fd2path may
no longer refer to the same file (or indeed any file) after some compo‐
nent directory or file in the path has been removed, renamed or re‐
bound.
As an example, getwd(2) is implemented by opening . and executing
fd2path on the resulting file descriptor.
SOURCE
/sys/src/libc/9syscall
SEE ALSO
bind(1), ns(1), bind(2), intro(2), getwd(2), proc(3)
DIAGNOSTICS
Sets errstr.
FD2PATH(2)