PXFISDIR(3F) Last changed: 1-6-98
PXFISDIR - Tests for directory file
LOGICAL FUNCTION PXFISDIR(m)
INTEGER m
UNICOS, UNICOS/mk, and IRIX systems
IEEE standard interface for FORTRAN 77
On IRIX systems, this routine is in libffio.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 logical function PXFISDIR checks if a file is a directory file.
The argument m should be supplied by the st_mode component of the stat
structure used by the PXFSTAT(3F) routine.
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 argument is available for this routine:
m An input integer variable containing the file mode.
If the file is a directory file, PXFISDIR returns a logical true,
otherwise a logical false is returned.
In this example, the directory / is opened and read until a directory
is found or the end of the directory is reached. If a directory is
found, found a directory in / is displayed.
program pxftest
integer ierror,mode,ilen,EEND
integer idirid,jdirent,jstat
logical PXFISDIR, found
character*30 name, path
CALL PXFSTRUCTCREATE('dirent',jdirent,ierror)
CALL PXFSTRUCTCREATE('stat',jstat,ierror)
CALL PXFCONST('EEND',EEND,ierror)
path = '/'
CALL PXFOPENDIR(path,0,idirid,ierror)
CALL PXFCHDIR(path,0,ierror)
found = .FALSE.
do while (found .eqv. .FALSE.)
CALL PXFREADDIR(idirid,jdirent,ierror)
if (ierror .eq. EEND) then
exit
endif
CALL PXFSTRGET(jdirent,'d_name',name,ilen,ierror)
CALL PXFSTAT(name,0,jstat,ierror)
CALL PXFINTGET(jstat,'st_mode',mode,ierror)
if (PXFISDIR(mode)) then
found = .TRUE.
endif
enddo
if (found .eqv. .TRUE.) then
print *,'found a directory in /'
endif
end
PXFCONST(3F), PXFINTSET(3F), PXFSTAT(3F), PXFSTRUCTCREATE(3F)
Application Programmer's Library Reference Manual, publication SR2165,
for the printed version of this man page.
PXFISDIR(3F) Last changed: 1-6-98
PXFISDIR - Tests for directory file
LOGICAL FUNCTION PXFISDIR(m)
INTEGER m
UNICOS, UNICOS/mk, and IRIX systems
IEEE standard interface for FORTRAN 77
On IRIX systems, this routine is in libffio.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 logical function PXFISDIR checks if a file is a directory file.
The argument m should be supplied by the st_mode component of the stat
structure used by the PXFSTAT(3F) routine.
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 argument is available for this routine:
m An input integer variable containing the file mode.
If the file is a directory file, PXFISDIR returns a logical true,
otherwise a logical false is returned.
In this example, the directory / is opened and read until a directory
is found or the end of the directory is reached. If a directory is
found, found a directory in / is displayed.
program pxftest
integer ierror,mode,ilen,EEND
integer idirid,jdirent,jstat
logical PXFISDIR, found
character*30 name, path
CALL PXFSTRUCTCREATE('dirent',jdirent,ierror)
CALL PXFSTRUCTCREATE('stat',jstat,ierror)
CALL PXFCONST('EEND',EEND,ierror)
path = '/'
CALL PXFOPENDIR(path,0,idirid,ierror)
CALL PXFCHDIR(path,0,ierror)
found = .FALSE.
do while (found .eqv. .FALSE.)
CALL PXFREADDIR(idirid,jdirent,ierror)
if (ierror .eq. EEND) then
exit
endif
CALL PXFSTRGET(jdirent,'d_name',name,ilen,ierror)
CALL PXFSTAT(name,0,jstat,ierror)
CALL PXFINTGET(jstat,'st_mode',mode,ierror)
if (PXFISDIR(mode)) then
found = .TRUE.
endif
enddo
if (found .eqv. .TRUE.) then
print *,'found a directory in /'
endif
end
PXFCONST(3F), PXFINTSET(3F), PXFSTAT(3F), PXFSTRUCTCREATE(3F)
Application Programmer's Library Reference Manual, publication SR2165,
for the printed version of this man page.
[ Back ]
|