pxfumask

Date:

10-20-2011

NAME

PXFUMASK - Sets the file creation mask

SYNOPSIS

INTEGER icmask, iprevcmask, ierror
CALL PXFUMASK(icmask, iprevcmask, ierror)

IMPLEMENTATION

Cray Linux Environment (CLE)

STANDARDS

IEEE Std 1003.9-1992 standard interface for FORTRAN 77

DESCRIPTION

The PXFUMASK routine uses the umask(2) system call to change the file mode creation mask of the calling process. Only the file permission bits of icmask are used.

All arguments must be of default kind unless documented otherwise. Default kind is KIND=4 for integer, real, complex, and logical arguments.

The following is a list of arguments for this routine:

icmask

An input integer variable for the new file mode creation mask. The symbolic constants used to compose the file mask can be access by calling PXFCONST(3F).

iprevcmask

An output integer variable for the old file mode creation mask.

ierror

An output integer variable that will contain a status of zero if the routine was successful.

EXAMPLES

In this example, the program calls PXFUMASK with a file mode creation mask of octal 022. Then a file is created using the new file creation mask.

     program pxftest
     integer icmask, iprevcmask, imode, ifildes, ifilemode, ierror
     integer itemp
     integer jstat
     character*3 cmask

     cmask = '022'
     read(cmask,1) icmask
1    format(O3)
     CALL PXFUMASK(icmask, iprevcmask, ierror)
     CALL PXFCONST('S_IRWXU',imode,ierror)
     if (ierror .ne. 0) then
        print *,'FAILED: PXFCONST call for S_IRWXU with error=',ierror
     else
        CALL PXFCONST('S_IRWXG',itemp,ierror)
        if (ierror .ne. 0) then
           print *,'FAILED: PXFCONST call for S_IRWXG with error=',ierror
        else
           imode = IOR(imode,itemp)
           CALL PXFCREAT('/tmp/tempfile', 0, imode, ifildes, ierror)
           if (ierror .ne. 0) then
              print *,'FAILED: PXFCREAT call with error = ',ierror
           else
        endif
     endif
     end

SEE ALSO

umask(2)

PXFCONST(3F)