GETCWD(3) Library Routines GETCWD(3)
getcwd, getwd - get working directory pathname
char * getcwd (char *buf, size_t size);
char * getwd (char *buf);
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.
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.
These routines are thread safe.
The getcwd function will fail if:
Read or search permission was denied for a component of
EINVAL The size argument is zero, or if pathname mapping is
active and the current working directory has a component
which includes the slash ('/') character. See _map-
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.
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.
The getcwd function conforms to ANSI C. The ability to specify a NULL
pointer and have getcwd allocate memory as necessary is an extension.
The getwd function appeared in BSD 4.0.
chdir(2), fchdir(2), _mapPath(3), malloc(3), strerror(3)
GNO 18 December 1996 GETCWD(3)
Man(1) output converted with