getdirentries man page on Ultrix

Man page or keyword search:  
man Server   3690 pages
apropos Keyword Search (all sections)
Output format
Ultrix logo
[printable version]

getdirentries(2)					      getdirentries(2)

       getdirentries - gets directory entries in a generic directory format

       #include <sys/dir.h>

       cc = getdirentries(fd, buf, nbytes, basep)
       int cc, fd;
       char *buf;
       int nbytes;
       long *basep;

       The system call puts directory entries from the directory referenced by
       the file descriptor fd into the buffer pointed to by buf, in a  generic
       directory format.  Up to nbytes of data are transferred.	 The nbytes of
       data must be greater than or equal to the block	size  associated  with
       the  file.   For	 further  information,	see Sizes less than nbytes can
       cause errors on certain file systems.

       The data returned in the buffer is a series of direct structures,  each
       containing the following entries:
       unsigned long   d_ino;
       unsigned short  d_reclen;
       unsigned short  d_namlen;
       char	       d_name[MAXNAMLEN + 1];

       The  d_ino  entry  is a number that is unique for each distinct file in
       the file system.	 Files that are linked by hard	links  have  the  same
       d_ino .	For further information, see The d_reclen entry is the length,
       in bytes, of the directory record.  The d_namlen	 entry	specifies  the
       length  of  the file name.  The d_name entry contains a null-terminated
       file name.  Thus, the actual size of d_name can vary  from  2  to  MAX‐
       NAMLEN + 1.

       The  generic  directory	structures are not necessarily tightly packed.
       The d_reclen entry may be used as an offset from	 the  beginning	 of  a
       direct structure to the next structure, if any.

       Upon  return,  the actual number of bytes transferred is returned.  The
       current position pointer associated with fd is set to point to the next
       block  of  entries.   The pointer is not necessarily incremented by the
       number of bytes returned by If the value returned is zero, the  end  of
       the  directory  has  been reached.  The current position pointer may be
       set and retrieved by The system call writes the position of  the	 block
       read  into the location pointed to by basep.  It is not safe to set the
       current position pointer to any value other  than  a  value  previously
       returned	 by  or a value previously returned in the location pointed to
       by basep or zero.

Return Values
       If successful, the number of bytes actually  transferred	 is  returned.
       Otherwise,  a  -1  is  returned and the global variable errno is set to
       indicate the error.

       The system call fails under the following conditions:

       EBADF	      The fd is not a valid file descriptor open for reading.

       ENOTDIR	      The fd is not a directory.

       EFAULT	      Either buf or basep points outside the allocated address

       EIO	      While reading from or writing to the file system, an I/O
		      error occurred.

       EINTR	      A read from a slow device was interrupted by the	deliv‐
		      ery of a signal before any data arrived.

       EPERM	      The user does not have read permission in the directory.
		      The system call is not the suggested interface for read‐
		      ing  directories.	  The  and  routines  offer a standard
		      interface. See the reference  page  for  information  on
		      these routines.

See Also
       close(2), link(2), lseek(2), open(2), stat(2), directory(3)


List of man pages available for Ultrix

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
Vote for polarhome
Free Shell Accounts :: the biggest list on the net