home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 2002 November / SGI IRIX Base Documentation 2002 November.iso / usr / share / catman / p_man / cat3 / f90 / intro_pxf.z / intro_pxf
Encoding:
Text File  |  2002-10-03  |  11.1 KB  |  272 lines

  1. INTRO_PXF(3F)                                         Last changed: 2-24-99
  2.  
  3.  
  4. NNAAMMEE
  5.      IINNTTRROO__PPXXFF  - Introduction to PXF POSIX library
  6.  
  7. IIMMPPLLEEMMEENNTTAATTIIOONN
  8.      See individual man pages for implementation details
  9.  
  10. DDEESSCCRRIIPPTTIIOONN
  11.       The POSIX FORTRAN 77 Language Interfaces Standard IEEE Std 1003.9-
  12.      1992 (POSIX.a) defines a standardized interface for accessing the
  13.      system services of IEEE Std 1003.1-1990 (POSIX.1), and supports
  14.      routines to access constructs not directly accessible with FORTRAN 77.
  15.  
  16.      Only a subset of the routines described in this standard are currently
  17.      available on Cray Research systems.  For some routines, only a portion
  18.      of the functionality described by the standard is currently
  19.      implemented.
  20.  
  21.      Many of the service interfaces defined in POSIX.1 require the use of
  22.      aggregate data types (for example, structures) that do not map to
  23.      FORTRAN 77 entities.  POSIX.9 solves this problem by the use of data
  24.      abstraction; by using additional subroutines to access and manipulate
  25.      the aggregate data, the underlying data structures are hidden from the
  26.      user.  It is the responsibility of the Fortran programmer to maintain
  27.      variables corresponding to the individual components of the actual
  28.      implementation of the aggregate data, but the programmer does not need
  29.      to know the details of the actual implementation of the aggregate.
  30.      The basic model of this data abstraction is as follows:
  31.  
  32.      1. The programmer calls the PPXXFFSSTTRRUUCCTTCCRREEAATTEE subroutine to "create" an
  33.         instance of the desired aggregate data type; this subroutine
  34.         returns a handle that the programmer subsequently uses in order to
  35.         reference and/or manipulate the data.
  36.  
  37.      2. The programmer uses additional subroutines to load values into, or
  38.         extract values out of, the aggregate data.  These subroutines are
  39.         passed the handle of the desired aggregate and the name of the
  40.         specific component that is to be accessed.  The programmer has
  41.         direct control over only one component at a time.
  42.  
  43.      3. If an application passes information to the system, the PPXXFF_t_y_p_eSSEETT
  44.         subroutine is called once for each member before calling the system
  45.         procedure.  Currently, only PPXXFFIINNTTSSEETT and PPXXFFSSTTRRSSEETT are
  46.         implemented.
  47.  
  48.      4. If an application needs to get information from the system, the
  49.         PPXXFF_t_y_p_eGGEETT subroutine is called once for each member after calling
  50.         the system procedure.  Currently, only PPXXFFIINNTTGGEETT and PPXXFFIINNTTSSEETT are
  51.         implemented.
  52.  
  53.      5. When an instance of an aggregate is no longer required, a
  54.         subroutine (PPXXFFSSTTRRUUCCTTFFRREEEE) can be called to release it.
  55.  
  56.      6. When calling the actual system procedure, the calling sequence is
  57.         equivalent to the C binding as shown in POSIX.1, except that a
  58.         handle is used in place of the POSIX.1 structure (pointer)
  59.         argument.
  60.  
  61.    CCllaassssiiffiiccaattiioonn ooff rroouuttiinneess
  62.      The POSIX routines can be divided into several general groups as
  63.      described below.
  64.  
  65.    PPrroocceessss pprriimmiittiivveess
  66.      * Routines that create, execute, or terminate a process
  67.  
  68.      1. PPXXFFFFOORRKK - Creates a process
  69.  
  70.      2. PPXXFFEEXXEECCVV, PPXXFFEEXXEECCVVEE, PPXXFFEEXXEECCVVPP - Executes a new process
  71.  
  72.      3. PPXXFFWWAAIITT, PPXXFFWWAAIITTPPIIDD - Obtains information about a calling process'
  73.         child process
  74.  
  75.      4. PPXXFFFFAASSTTEEXXIITT - Terminates a Fortran program
  76.  
  77.      5. PPXXFFWWIIFFEEXXIITTEEDD - Determines if child process exited with eexxiitt
  78.  
  79.      6. PPXXFFWWIIFFSSIIGGNNAALLEEDD - Determines if the child process terminated because
  80.         of a signal
  81.  
  82.      7. PPXXFFWWIIFFSSTTOOPPPPEEDD - Determines if a child process has stopped
  83.  
  84.      * Signal routines
  85.  
  86.      8. PPXXFFKKIILLLL - Sends a signal to a process or group of processes
  87.  
  88.      9. PPXXFFSSIIGGAADDDDSSEETT - Adds an individual signal to the specified signal
  89.         set
  90.  
  91.      10.PPXXFFSSIIGGDDEELLSSEETT - Deletes an individual signal in the specified signal
  92.         set
  93.  
  94.      11.PPXXFFSSIIGGEEMMPPTTYYSSEETT - Initializes signal set such that all signals
  95.         defined in POSIX standard are excluded
  96.  
  97.      12.PPXXFFSSIIGGFFIILLLLSSEETT - Initializes signal set such that all signals
  98.         defined in POSIX standard are included
  99.  
  100.      13.PPXXFFSSIIGGIISSMMEEMMBBEERR - Determines if the specified signal is a member of
  101.         the specified signal set
  102.  
  103.      14.PPXXFFSSIIGGPPEENNDDIINNGG - Examines pending signals
  104.  
  105.      15.PPXXFFSSIIGGPPRROOCCMMAASSKK - Examines and changes blocked signals
  106.  
  107.      16.PPXXFFSSIIGGSSUUSSPPEENNDD - Waits for a signal
  108.  
  109.      17.PPXXFFAALLAARRMM - Schedule alarm signal
  110.  
  111.      18.PPXXFFPPAAUUSSEE - Suspends process execution until signal
  112.  
  113.      19.PPXXFFSSLLEEEEPP - Delays process execution
  114.  
  115.    PPrroocceessss eennvviirroonnmmeenntt rroouuttiinneess
  116.      * Process identification routines
  117.  
  118.      1. PPXXFFGGEETTPPIIDD - Gets the process ID
  119.  
  120.      2. PPXXFFGGEETTPPPPIIDD - Gets the parent process ID
  121.  
  122.      * User identification routines
  123.  
  124.      3. *CPXFGETEGID - Gets the effective group ID
  125.  
  126.      4. PPXXFFGGEETTEEUUIIDD - Gets effective user ID
  127.  
  128.      5. PPXXFFGGEETTGGIIDD - Gets the real group ID
  129.  
  130.      6. PPXXFFGGEETTGGRROOUUPPSS - Gets supplementary group IDs
  131.  
  132.      7. PPXXFFGGEETTLLOOGGIINN - Gets user name
  133.  
  134.      8. PPXXFFGGEETTUUIIDD - Gets the real user ID
  135.  
  136.      9. PPXXFFSSEETTGGIIDD - Sets group ID
  137.  
  138.      10.PPXXFFSSEETTUUIIDD - Sets user ID
  139.  
  140.      * Process groups routines
  141.  
  142.      11.PPXXFFSSEETTPPGGIIDD - Set process group ID
  143.  
  144.      12.PPXXFFSSEETTSSIIDD - Creates a new session for a calling process
  145.  
  146.      * System identification routines
  147.  
  148.      13.PPXXFFUUNNAAMMEE - Retrieves the operating system name
  149.  
  150.      * Time routines
  151.  
  152.      14.PPXXFFTTIIMMEE - Gets system time
  153.  
  154.      15.PPXXFFTTIIMMEESS - Gets process times
  155.  
  156.      * Environment variable processing routines
  157.  
  158.      16.PPXXFFCCLLEEAARREENNVV - Clears all environment variables
  159.  
  160.      17.PPXXFFGGEETTEENNVV - Returns a value for the environment name
  161.  
  162.      18.PPXXFFSSEETTEENNVV - Sets environment variable pair
  163.  
  164.      * Terminal identification routines
  165.  
  166.      19.PPXXFFCCTTEERRMMIIDD - Generates terminal pathname
  167.  
  168.      20.PPXXFFIISSAATTTTYY - Determines if file descriptor corresponds
  169.  
  170.      * Configurable system values
  171.  
  172.      21.PPXXFFSSYYSSCCOONNFF - Retrieves the value of configurable system variables
  173.  
  174.    FFiillee aanndd ddiirreeccttoorryy rroouuttiinneess
  175.      1. PPXXFFAACCCCEESSSS - Checks the accessibility of a named file
  176.  
  177.      2. PPXXFFCCHHDDIIRR - Changes the current directory to a specified directory
  178.  
  179.      3. PPXXFFCCHHMMOODD - Sets file modes for a named file
  180.  
  181.      4. PPXXFFCCHHOOWWNN - Changes the owner and group of a file
  182.  
  183.      5. PPXXFFCCHHRROOOOTT - Changes the root directory to a specified directory
  184.  
  185.      6. PPXXFFCCRREEAATT - Creates a new file or rewrites an existing file
  186.  
  187.      7. PPXXFFDDIIRREECCTTOORRYY - Performs directory operations
  188.  
  189.      8. PPXXFFGGEETTCCWWDD - Gets the pathname of the working directory
  190.  
  191.      9. PPXXFFIISSBBLLKK - Tests for block special file
  192.  
  193.      10.PPXXFFIISSCCHHRR - Tests for character special file
  194.  
  195.      11.PPXXFFIISSDDIIRR - Tests for directory file
  196.  
  197.      12.PPXXFFIISSFFIIFFOO - Tests for pipe or a FIFO special file
  198.  
  199.      13.PPXXFFIISSRREEGG - Tests for regular file
  200.  
  201.      14.PPXXFFLLIINNKK - Creates a link to a file
  202.  
  203.      15.PPXXFFOOPPEENN - Provides a Fortran interface to the ooppeenn(2) system call
  204.  
  205.      16.PPXXFFRREENNAAMMEE - Renames a file
  206.  
  207.      17.PPXXFFRRMMDDIIRR - Removes a directory entry
  208.  
  209.      18.PPXXFFSSTTAATT - Retrieves the file status
  210.  
  211.      19.PPXXFFUUMMAASSKK - Sets the file creation mask
  212.  
  213.      20.PPXXFFUUNNLLIINNKK - Removes a directory entry
  214.  
  215.      21.PPXXFFUUTTIIMMEE - Sets access and modification times of a file
  216.  
  217.    IInnppuutt aanndd oouuttppuutt pprriimmiittiivveess
  218.      1. PPXXFFFFCCNNTTLL - Provides a subset of ffccnnttll(2) functionality, except the
  219.         third argument is always an integer
  220.  
  221.    DDeevviiccee aanndd ccllaassss--ssppeecciiffiicc pprroocceedduurreess ((nnoott aavvaaiillaabbllee))
  222.    FFoorrttrraann iinnttrriinnssiiccss
  223.      1. PPXXFFCCOONNSSTT, PPXXFFIISSCCOONNSSTT, IIPPXXFFCCOONNSSTT - Returns the value associated with
  224.         symbolic constants
  225.  
  226.      2. PPXXFFEESSTTRRGGEETT - Accesses a single string element of a structure
  227.         component that is an array
  228.  
  229.      3. PPXXFFFFIILLEENNOO - Returns the file descriptor for a specified unit
  230.  
  231.      4. PPXXFFGGEETTAARRGG - Returns a command-line argument
  232.  
  233.      5. PPXXFFIINNTTGGEETT - Allows values stored in individual components of a
  234.         structure to be extracted and used
  235.  
  236.      6. PPXXFFIINNTTSSEETT - Allows components of a structure to be set or modified
  237.  
  238.      7. PPXXFFLLOOCCAALLTTIIMMEE - Converts to local time
  239.  
  240.      8. PPXXFFSSTTRRGGEETT - Allows values stored in individual components of a
  241.         structure to be extracted and used
  242.  
  243.      9. PPXXFFSSTTRRSSEETT - Allows values stored in individual components of a
  244.         structure to be set
  245.  
  246.      10.PPXXFFSSTTRRUUCCTTCCOOPPYY - Copies structure
  247.  
  248.      11.PPXXFFSSTTRRUUCCTTCCRREEAATTEE - Creates an instance of the desired structure and
  249.         returns a nonzero handle in the argument _j_h_a_n_d_l_e
  250.  
  251.      12.PPXXFFSSTTRRUUCCTTFFRREEEE - Deletes the instance of the structure referenced by
  252.         _j_h_a_n_d_l_e
  253.  
  254.      13.PPXXFFUUCCOOMMPPAARREE - Compares unsigned integers
  255.  
  256.    SSyysstteemm DDaattaabbaasseess
  257.      1. PPXXFFGGEETTGGRRGGIIDD - Gets group information using the group ID
  258.  
  259.      2. PPXXFFGGEETTGGRRNNAAMM - Gets group information using the group name
  260.  
  261.      3. PPXXFFGGEETTPPWWNNAAMM - Gets password information about login name
  262.  
  263.      4. PPXXFFGGEETTPPGGRRPP -Gets the process group ID
  264.  
  265.      5. PPXXFFGGEETTPPWWUUIIDD - Gets password information by using user ID
  266.  
  267.      See the individual man pages for complete details.
  268.  
  269. SSEEEE AALLSSOO
  270.      _A_p_p_l_i_c_a_t_i_o_n _P_r_o_g_r_a_m_m_e_r'_s _L_i_b_r_a_r_y _R_e_f_e_r_e_n_c_e _M_a_n_u_a_l for the printed
  271.      version of this man page.
  272.