pxfisblk(3F)

PXFISBLK - Tests for block special file

As shipped in IRIX 6.5.15. Last changed in IRIX 6.5.5.

NAME
     PXFISBLK - Tests for block special file

SYNOPSIS
     LOGICAL FUNCTION PXFISBLK(m)
     INTEGER m

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
     F77 compiler.

     The logical function PXFISBLK checks if a file is a block special
     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 valid for this routine:

     m    An integer input variable containing the file mode.

     If the file is a block special file, PXFISBLK returns a logical true,
     otherwise a logical false is returned.

EXAMPLES
     In this example, the /dev/dsk directory is read until a block special
     file is found or the end of the directory is reached. If a block
     special file is found, the file is printed.

          program pxftest
          integer ierror,mode,ilen,EEND
          integer idirid,jdirent,jstat
          logical PXFISBLK, found
          character*30 name, path

          CALL PXFSTRUCTCREATE('dirent',jdirent,ierror)
          CALL PXFSTRUCTCREATE('stat',jstat,ierror)
          CALL PXFCONST('EEND',EEND,ierror)
          path = '/dev/dsk'
          found = .FALSE.
          CALL PXFOPENDIR(path,0,idirid,ierror)
          CALL PXFCHDIR(path,0,ierror)
          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 (PXFISBLK(mode)) then
                found = .TRUE.
             endif
          enddo

          if (found .eqv. .TRUE.) then
          print *,name,' is a block file.'
          endif
          end

SEE ALSO
     PXFCONST(3F), PXFINTSET(3F), PXFSTRUCTCREATE(3F)

     Application Programmer's Library Reference Manual for the printed
     version of this man page.