*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->OpenBSD man pages -> getcwd (3)              
Title
Content
Arch
Section
 

GETCWD(3)

Contents


NAME    [Toc]    [Back]

     getcwd, getwd - get working directory pathname

SYNOPSIS    [Toc]    [Back]

     #include <unistd.h>

     char *
     getcwd(char *buf, size_t size);

     char *
     getwd(char *buf);

DESCRIPTION    [Toc]    [Back]

     The getcwd() function copies the absolute  pathname  of  the
current working
     directory  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 free(3)'d.

     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  have traditionally been used by programs to
save the name
     of a working directory for the purpose of returning  to  it.
A much faster
     and less error-prone method of accomplishing this is to open
the current
     directory (.) and use the fchdir(2) function to return.

RETURN VALUES    [Toc]    [Back]

     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.

ERRORS    [Toc]    [Back]

     The getwd() function will fail if:

     [EACCES]       Read  or  search  permission was denied for a
component of the
                   pathname.

     [EINVAL]      The size argument is zero.

     [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.

SEE ALSO    [Toc]    [Back]

      
      
     chdir(2), fchdir(2), malloc(3), strerror(3)

STANDARDS    [Toc]    [Back]

     The getcwd() function conforms to ANSI  X3.159-1989  (``ANSI
C'').  The
     ability to specify a null pointer and have getcwd() allocate
memory as
     necessary is an extension.

HISTORY    [Toc]    [Back]

     The getwd() function appeared in 4.0BSD.

BUGS    [Toc]    [Back]

     The getwd() function does not do sufficient  error  checking
and is not
     able  to return very long, but valid, paths.  It is provided
for compatibility.


OpenBSD     3.6                        December     11,      1993
[ Back ]
 Similar pages
Name OS Title
pxfgetcwd IRIX Gets the pathname of the working directory
Cwd IRIX get pathname of current working directory
getwd IRIX get current working directory pathname
getcwd IRIX get pathname of current working directory
pwd Tru64 Displays the pathname of the current working directory
pwd HP-UX working directory name
cd HP-UX change working directory
cd IRIX Change working directory
pwd FreeBSD return working directory name
cd IRIX change working directory
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service