GETCWD(3)                      Library Routines                      GETCWD(3)


       getcwd, getwd - get working directory pathname


       #include <unistd.h>

       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
                     the pathname.

              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 man2html