pxfopendir man page on IRIX

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

PXFDIRECTORY(3F)				      Last changed: 2-24-98

NAME
     PXFOPENDIR, PXFREADDIR, PXFREWINDDIR, PXFCLOSEDIR, - Performs
     directory operations

SYNOPSIS
     SUBROUTINE PXFOPENDIR (dirname, lendirname, iopendirid, ierror)
     CHARACTER*n dirname
     INTEGER lendirname, iopendir, ierror

     SUBROUTINE PXFREADDIR (idirid, jdirent, ierror)
     INTEGER idirid, jdirent, ierror

     SUBROUTINE PXFREWINDDIR (idirid, ierror)
     INTEGER idirid, ierror

     SUBROUTINE PXFCLOSEDIR (idirid, ierror)
     INTEGER idirid, ierror

IMPLEMENTATION
     UNICOS, UNICOS/mk, and IRIX systems

STANDARDS
     IEEE standard interface for FORTRAN 77

DESCRIPTION
     On IRIX systems, this routine is in libfortran.so which is linked by
     default when compiling programs with the MIPSpro 7 Fortran 90 compiler
     or when compiling programs with the -craylibs option to the MIPSpro
     7.2 F77 compiler.

     The PXFOPENDIR subroutine uses the opendir(3C) routine to open a
     directory stream for the directory dirname and positions the stream at
     the first directory entry.

     The PXFREADDIR subroutine uses the readdir(3C) function to read a
     directory stream for the next entry in the directory stream.

     The PXFREWINDDIR subroutine uses the rewinddir(3C) function to reset
     the position in the directory stream to the first entry of a directory
     stream while updating the directory stream to the current state of the
     directory, as a call to PXFOPENDIR would do.

     The PXFCLOSEDIR subroutine uses the closedir(3C) function to close the
     directory stream referenced by idirid. Upon sucessful completion,
     idirid is undefined and the result of subsequent calls to PXFCLOSEDIR
     with idirid is not well defined.

     When using the CF90 compiler or MIPSpro 7 Fortran 90 compiler on
     UNICOS, UNICOS/mk, or IRIX systems, all arguments must be of default
     kind unless documented otherwise.	On UNICOS and UNICOS/mk, default
     kind is KIND=8 for integer, real, complex, and logical arguments; on
     IRIX, the default kind is KIND=4.

     The following is a list of valid arguments for these subroutines:

     dirname   An input character array variable containing the path for
	       the directory to be opened.

     lendirname
	       An input integer variable containing the length of dirname.

     iopendirid
	       An output integer variable for the unique directory ID.

     ierror    An output integer variable that contains zero if the
	       operation was successful or nonzero if the operation was not
	       successful.

     The iopendirid argument becomes the unique directory ID (idirid) that
     is used by PXFREADDIR, PXFREWINDDIR, and PXFCLOSEDIR.

     idirid
	  An input integer variable for the unique directory ID generated
	  by PXFOPENDIR.

     jdirent
	  An output structure handle created by PXFSTRUCTCREATE(3F) that
	  contains one directory entry.

     * The PXFOPENDIR subroutine may return any of the following error
       values:

     EACCES    If a component of dirname denies search permission.

     ENAMETOOLONG
	       If the length of the dirname argument exceeds PATH_MAX found
	       in <limits.h> (IRIX systems only).

     ENOENT    If the directory in the dirname argument does not exist.

     ENOTDIR   If a component of dirname is not a directory.

     EINVAL    If lendirname < 0 or lendirname > LEN(dirname).

     ENOMEM    If memory needed by PXFOPENDIR could not be allocated.

     EMFILE    If too many file descriptors are currently open for the
	       process.

     ENFILE    If too many file descriptors are currently open for the
	       system (IRIX systems only).

     * The PXFREADDIR subroutine may return any of the following error
       values:

     EBADF     If, when detected, an invalid, unique directory stream ID
	       was used for idirid.

     EEND      If the end of the directory stream has been reached.

     ENOMEM    If data structures need for successful completion of
	       PXFREADIR cannot be allocated.

     ENOENT    If the current file pointer for the directory stream is not
	       located at a valid directory entry.

     EDIRCORRUPTED
	       If the directory on disk is corrupt (IRIX systems only).

     EBADID    If idirid is an invalid directory identifier (UNICOS and
	       UNICOS/mk systems only).

     EBADHANDLE
	       If jdirent is an invalid handle or has an incorrect handle
	       type (UNICOS and UNICOS/mk systems only).

     * The PXFCLOSEDIR subroutine may return the following error value:

     EBADF     If, when detected, an invalid, unique directory stream ID
	       was used for idirid.

EXAMPLES
     In this example, the /dev/dsk directory is opened, the directory
     entries are read and printed, the directory is rewound and the
     contents are redisplayed, and then the directory is closed.

	  program pxftest
	  integer ierror
	  integer (KIND=8) jdirent,idirid

	  CALL PXFSTRUCTCREATE('dirent',jdirent,ierror)
	  CALL PXFOPENDIR('/dev/dsk',0,idirid,ierror)
	  call printdir(idirid,jdirent)
	  CALL PXFREWINDDIR(idirid,ierror)
	  call printdir(idirid,jdirent)
	  CALL PXFCLOSEDIR(idirid,ierror)
	  end

	  subroutine printdir(idirid,jdirent)
	  integer ierror, ilen, EEND
	  integer (KIND=8) jdirent, idirid
	  character*30 name

	  CALL PXFCONST('EEND',EEND,ierror)
	     do while ((ierror .ne. EEND) .and. (ierror .eq. 0))
		CALL PXFREADDIR(idirid,jdirent,ierror)
		CALL PXFSTRGET(jdirent,'d_name',name,ilen,ierror)
		   if (ierror .eq. 0) print *,name
	     enddo
	  end

SEE ALSO
     directory(3C)

     Application Programmer's Library Reference Manual, publication
     SR-2165, for the printed version of this man page.
[top]

List of man pages available for IRIX

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