intro_pxf(3F)

INTRO_PXF - Introduction to PXF POSIX library

As shipped in IRIX 6.5.22. Last changed in IRIX 6.5.19.

NAME
     INTRO_PXF  - Introduction to PXF POSIX library

DESCRIPTION
      The POSIX FORTRAN 77 Language Interfaces Standard IEEE Std 1003.9-
     1992 (POSIX.a) defines a standardized interface for accessing the
     system services of IEEE Std 1003.1-1990 (POSIX.1), and supports
     routines to access constructs not directly accessible with FORTRAN 77.

     Only a subset of the routines described in this standard are currently
     available.  For some routines, only a portion of the functionality
     described by the standard is currently implemented.

     Many of the service interfaces defined in POSIX.1 require the use of
     aggregate data types (for example, structures) that do not map to
     FORTRAN 77 entities.  POSIX.9 solves this problem by the use of data
     abstraction; by using additional subroutines to access and manipulate
     the aggregate data, the underlying data structures are hidden from the
     user.  It is the responsibility of the Fortran programmer to maintain
     variables corresponding to the individual components of the actual
     implementation of the aggregate data, but the programmer does not need
     to know the details of the actual implementation of the aggregate.
     The basic model of this data abstraction is as follows:

     1. The programmer calls the PXFSTRUCTCREATE subroutine to "create" an
        instance of the desired aggregate data type; this subroutine
        returns a handle that the programmer subsequently uses in order to
        reference and/or manipulate the data.

     2. The programmer uses additional subroutines to load values into, or
        extract values out of, the aggregate data.  These subroutines are
        passed the handle of the desired aggregate and the name of the
        specific component that is to be accessed.  The programmer has
        direct control over only one component at a time.

     3. If an application passes information to the system, the PXFtypeSET
        subroutine is called once for each member before calling the system
        procedure.  Currently, only PXFINTSET and PXFSTRSET are
        implemented.

     4. If an application needs to get information from the system, the
        PXFtypeGET subroutine is called once for each member after calling
        the system procedure.  Currently, only PXFINTGET and PXFINTSET are
        implemented.

     5. When an instance of an aggregate is no longer required, a
        subroutine (PXFSTRUCTFREE) can be called to release it.

     6. When calling the actual system procedure, the calling sequence is
        equivalent to the C binding as shown in POSIX.1, except that a
        handle is used in place of the POSIX.1 structure (pointer)
        argument.

   Classification of routines
     The POSIX routines can be divided into several general groups as
     described below.

   Process primitives
     * Routines that create, execute, or terminate a process

     1. PXFFORK - Creates a process

     2. PXFEXECV, PXFEXECVE, PXFEXECVP - Executes a new process

     3. PXFWAIT, PXFWAITPID - Obtains information about a calling process'
        child process

     4. PXFFASTEXIT - Terminates a Fortran program

     5. PXFWIFEXITED - Determines if child process exited with exit

     6. PXFWIFSIGNALED - Determines if the child process terminated because
        of a signal

     7. PXFWIFSTOPPED - Determines if a child process has stopped

     * Signal routines

     8. PXFKILL - Sends a signal to a process or group of processes

     9. PXFSIGADDSET - Adds an individual signal to the specified signal
        set

     10.PXFSIGDELSET - Deletes an individual signal in the specified signal
        set

     11.PXFSIGEMPTYSET - Initializes signal set such that all signals
        defined in POSIX standard are excluded

     12.PXFSIGFILLSET - Initializes signal set such that all signals
        defined in POSIX standard are included

     13.PXFSIGISMEMBER - Determines if the specified signal is a member of
        the specified signal set

     14.PXFSIGPENDING - Examines pending signals

     15.PXFSIGPROCMASK - Examines and changes blocked signals

     16.PXFSIGSUSPEND - Waits for a signal

     17.PXFALARM - Schedule alarm signal

     18.PXFPAUSE - Suspends process execution until signal

     19.PXFSLEEP - Delays process execution

   Process environment routines
     * Process identification routines

     1. PXFGETPID - Gets the process ID

     2. PXFGETPPID - Gets the parent process ID

     * User identification routines

     3. PXFGETEGID - Gets the effective group ID

     4. PXFGETEUID - Gets effective user ID

     5. PXFGETGID - Gets the real group ID

     6. PXFGETGROUPS - Gets supplementary group IDs

     7. PXFGETLOGIN - Gets user name

     8. PXFGETUID - Gets the real user ID

     9. PXFSETGID - Sets group ID

     10.PXFSETUID - Sets user ID

     * Process groups routines

     11.PXFSETPGID - Set process group ID

     12.PXFSETSID - Creates a new session for a calling process

     * System identification routines

     13.PXFUNAME - Retrieves the operating system name

     * Time routines

     14.PXFTIME - Gets system time

     15.PXFTIMES - Gets process times

     * Environment variable processing routines

     16.PXFCLEARENV - Clears all environment variables

     17.PXFGETENV - Returns a value for the environment name

     18.PXFSETENV - Sets environment variable pair

     * Terminal identification routines

     19.PXFCTERMID - Generates terminal pathname

     20.PXFISATTY - Determines if file descriptor corresponds

     * Configurable system values

     21.PXFSYSCONF - Retrieves the value of configurable system variables

   File and directory routines
     1. PXFACCESS - Checks the accessibility of a named file

     2. PXFCHDIR - Changes the current directory to a specified directory

     3. PXFCHMOD - Sets file modes for a named file

     4. PXFCHOWN - Changes the owner and group of a file

     5. PXFCHROOT - Changes the root directory to a specified directory

     6. PXFCREAT - Creates a new file or rewrites an existing file

     7. PXFDIRECTORY - Performs directory operations

     8. PXFGETCWD - Gets the pathname of the working directory

     9. PXFISBLK - Tests for block special file

     10.PXFISCHR - Tests for character special file

     11.PXFISDIR - Tests for directory file

     12.PXFISFIFO - Tests for pipe or a FIFO special file

     13.PXFISREG - Tests for regular file

     14.PXFLINK - Creates a link to a file

     15.PXFOPEN - Provides a Fortran interface to the open(2) system call

     16.PXFRENAME - Renames a file

     17.PXFRMDIR - Removes a directory entry

     18.PXFSTAT - Retrieves the file status

     19.PXFUMASK - Sets the file creation mask

     20.PXFUNLINK - Removes a directory entry

     21.PXFUTIME - Sets access and modification times of a file

   Input and output primitives
     1. PXFFCNTL - Provides a subset of fcntl(2) functionality, except the
        third argument is always an integer

   Device and class-specific procedures (not available)
   Fortran intrinsics
     1. PXFCONST, PXFISCONST, IPXFCONST - Returns the value associated with
        symbolic constants

     2. PXFESTRGET - Accesses a single string element of a structure
        component that is an array

     3. PXFFILENO - Returns the file descriptor for a specified unit

     4. PXFGETARG - Returns a command-line argument

     5. PXFINTGET - Allows values stored in individual components of a
        structure to be extracted and used

     6. PXFINTSET - Allows components of a structure to be set or modified

     7. PXFLOCALTIME - Converts to local time

     8. PXFSTRGET - Allows values stored in individual components of a
        structure to be extracted and used

     9. PXFSTRSET - Allows values stored in individual components of a
        structure to be set

     10.PXFSTRUCTCOPY - Copies structure

     11.PXFSTRUCTCREATE - Creates an instance of the desired structure and
        returns a nonzero handle in the argument jhandle

     12.PXFSTRUCTFREE - Deletes the instance of the structure referenced by
        jhandle

     13.PXFUCOMPARE - Compares unsigned integers

   System Databases
     1. PXFGETGRGID - Gets group information using the group ID

     2. PXFGETGRNAM - Gets group information using the group name

     3. PXFGETPWNAM - Gets password information about login name

     4. PXFGETPGRP -Gets the process group ID

     5. PXFGETPWUID - Gets password information by using user ID

     See the individual man pages for complete details.

NOTES
     The PXF_DEFINITIONS module can be used by Fortran 90 users to enable
     caller-callee interface checking.