Next: , Previous: CHDIR, Up: Intrinsic Procedures


8.47 CHMOD — Change access permissions of files

Description:
CHMOD changes the permissions of a file.

This intrinsic is provided in both subroutine and function forms; however, only one form can be used in any given program unit.

Standard:
GNU extension
Class:
Subroutine, function
Syntax:

CALL CHMOD(NAME, MODE[, STATUS])
STATUS = CHMOD(NAME, MODE)

Arguments:

NAME Scalar CHARACTER of default kind with the file name. Trailing blanks are ignored unless the character achar(0) is present, then all characters up to and excluding achar(0) are used as the file name.


MODE Scalar CHARACTER of default kind giving the file permission. MODE uses the same syntax as the chmod utility as defined by the POSIX standard. The argument shall either be a string of a nonnegative octal number or a symbolic mode.


STATUS (optional) scalar INTEGER, which is 0 on success and nonzero otherwise.

Return value:
In either syntax, STATUS is set to 0 on success and nonzero otherwise.
Example:
CHMOD as subroutine
          program chmod_test
            implicit none
            integer :: status
            call chmod('test.dat','u+x',status)
            print *, 'Status: ', status
          end program chmod_test

CHMOD as function:

          program chmod_test
            implicit none
            integer :: status
            status = chmod('test.dat','u+x')
            print *, 'Status: ', status
          end program chmod_test