pathfind.3g (2010 09)
p
pathfind(3G) pathfind(3G)
NAME
pathfind() - search for named file in named directories
SYNOPSIS
#include <libgen.h>
char *pathfind (const char *path , const char *
name, const char *mode);
DESCRIPTION
pathfind searches the directories named in path for the file name. The directories named in path are
separated by colons. mode is a string of option letters chosen from the set
rwxfbcdpugks:
Letter Meaning
r readable
w writable
x executable
f normal file
b block special
c character special
d directory
p FIFO (pipe)
u set user ID bit
g set group ID bit
k sticky bit
s size nonzero
Options read, write, and execute are checked relative to the real (not the effective) user ID and group ID
of the current process.
If the file name , with all the characteristics specified by mode, is found in any of the directories specified
by path , then
pathfind returns a pointer to a string containing the member of path , followed by a slash
character (
/), followed by name.
If name begins with a slash, it is treated as an absolute path name, and path is ignored.
An empty path member is treated as the current directory.
. is not prepended at the occurrence of the
first match; rather, the unadorned name is returned.
To use this interface, link in the libgen library by specifying
-lgen. For example:
cc foo.c -lgen
RETURN VALUE
If no match is found, pathname returns a null pointer, ((char *) 0).
EXAMPLES
To find the
ls command using the PATH environment variable:
pathfind (getenv ("PATH"), "ls", "rx")
WARNINGS
The string pointed to by the returned pointer is stored in a static area that is reused on subsequent calls
to pathfind.
SEE ALSO
sh(1), test(1), access(2), mknod(2), stat(2), getenv(3C), thread_safety(5).
HP-UX 11i Version 3: September 2010 − 1 − Hewlett-Packard Company 1