GETCWD(3) Library Routines GETCWD(3)
NAME
getcwd, getwd - get working directory pathname
SYNOPSIS
#include <unistd.h>
char * getcwd (char *buf, size_t size);
char * getwd (char *buf);
DESCRIPTION
The getcwd function copies the absolute pathname of the current working
directory (GS/OS prefix 0 if not NULL, otherwise GS/OS prefix 8) into
the memory referenced by buf and returns a pointer to buf. The size
argument is the size, in bytes, of the array referenced by buf.
If buf is NULL, space is allocated as necessary to store the pathname.
This space may later be released by free(3).
The function getwd is a compatibility routine which calls getcwd with
its buf argument and a size of MAXPATHLEN (as defined in the include
file <sys/param.h>). Obviously, buf should be at least MAXPATHLEN
bytes in length.
These routines make use of the _mapPath(3) facility.
RETURN VALUES
Upon successful completion, a pointer to the pathname is returned.
Otherwise a NULL pointer is returned and the global variable errno is
set to indicate the error. In addition, getwd copies the error message
associated with errno into the memory referenced by buf.
COMPATIBILITY
These routines are thread safe.
ERRORS
The getcwd function will fail if:
EACCESS
Read or search permission was denied for a component of
the pathname.
EINVAL The size argument is zero, or if pathname mapping is ac‐
tive and the current working directory has a component
which includes the slash ('/') character. See _map
Path(3).
ENOENT A component of the pathname no longer exists.
ENOMEM Insufficient memory is available.
ERANGE The size argument is greater than zero but smaller than
the length of the pathname plus 1.
BUGS
The getwd function does not do sufficient error checking and is not
able to return very long, but valid, paths. It is provided for compat‐
ibility and should be avoided when possible.
STANDARDS
The getcwd function conforms to ANSI C. The ability to specify a NULL
pointer and have getcwd allocate memory as necessary is an extension.
HISTORY
The getwd function appeared in BSD 4.0.
SEE ALSO
chdir(2), fchdir(2), _mapPath(3), malloc(3), strerror(3)
GNO 18 December 1996 GETCWD(3)
Man(1) output converted with
man2html