getdirentries man page on NeXTSTEP

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


GETDIRENTRIES(2)					      GETDIRENTRIES(2)

NAME
       getdirentries  -	 gets  directory  entries  in a filesystem independent
       format

SYNOPSIS
       #include <sys/dir.h>

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

DESCRIPTION
       getdirentries attempts to put  directory	 entries  from	the  directory
       referenced by the file descriptor fd into the buffer pointed to by buf,
       in a filesystem independent format.  Up	to  nbytes  of	data  will  be
       transferred.   nbytes  must  be greater than or equal to the block size
       associated with the file, see stat(2).  Sizes less than this may	 cause
       errors on certain filesystems.

       The data in the buffer is a series of direct structures each containing
       the following entries:

	      unsigned long  d_fileno;
	      unsigned short d_reclen;
	      unsigned short d_namlen;
	      char	     d_name[MAXNAMELEN + 1]; /* see below */

       The d_fileno entry is a number which is unique for each	distinct  file
       in  the	filesystem.  Files that are linked by hard links (see link(2))
       have the same d_fileno.	The d_reclen entry is the length, in bytes, of
       the directory record.  The d_name entry contains a null terminated file
       name.  The d_namlen entry specifies the length of the file name.	  Thus
       the  actual  size  of  d_name  may  vary	 from  2  to  MAXNAMELEN  + 1.
       (MAXNAMELEN is defined in <rpcsvc/nlm_prot.h>.)

       The 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 getdirentries.  If the value returned is
       zero, the end of the directory has been reached.	 The current  position
       pointer may be set and retrieved by lseek(2).  getdirentries 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 lseek(2) or a value previously  returned
       in the location pointed to by basep or zero.

RETURN VALUE
       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.

ERRORS
       getdirentries will fail if one or more of the following are true:

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

       EFAULT	      Either  buf or basep point outside the allocated address
		      space.

       EIO	      An I/O error occurred while reading from or  writing  to
		      the file system.

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

SEE ALSO
       open(2V), lseek(2)

				 3 April 1986		      GETDIRENTRIES(2)
[top]

List of man pages available for NeXTSTEP

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]
Tweet
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