Guardian Programming
Reference Summary for
pTAL and TAL


Abstract
     This summary provides a quick reference to information required for Guardian programming in
     pTAL and TAL.
Product Version
     G09
Supported Releases
     This manual supports G06.15 and all subsequent releases until otherwise indicated in a new
     edition.

Part Number        Published
522631-001         February 2002
Document History
 Part Number              Product Version                                        Published
 098691                   D20                                                    September 1993
 114339                   D30                                                    March 1995
 138788                   G06.03                                                 December 1998
 422954-001               G06.06                                                 August 1999
 522631-001               G09                                                    February 2002




Ordering Information
     For manual ordering information: domestic U.S. customers, call 1-800-243-6886; international customers, contact
     your local sales representative.
Document Disclaimer
     Information contained in a manual is subject to change without notice. Please check with your authorized
     representative to make sure you have the most recent information.
Export Statement
     Export of the information contained in this manual may require authorization from the U.S. Department of
     Commerce.
Examples
     Examples and sample programs are for illustration only and may not be suited for your particular purpose. The
     inclusion of examples and sample programs in the documentation does not warrant, guarantee, or make any
     representations regarding the use or the results of the use of any examples or sample programs in any
     documentation. You should verify the applicability of any example or sample program before placing the software
     into productive use.
U.S. Government Customers
     FOR U.S. GOVERNMENT CUSTOMERS REGARDING THIS DOCUMENTATION AND THE ASSOCIATED
     SOFTWARE:
     These notices shall be marked on any reproduction of this data, in whole or in part.
     NOTICE: Notwithstanding any other lease or license that may pertain to, or accompany the delivery of, this
     computer software, the rights of the Government regarding its use, reproduction and disclosure are as set forth in
     Section 52.227-19 of the FARS Computer Software—Restricted Rights clause.
     RESTRICTED RIGHTS NOTICE: Use, duplication, or disclosure by the Government is subject to the
     restrictions as set forth in subparagraph (c)(1)(ii) of the Rights in Technical Data and Computer Software clause at
     DFARS 52.227-7013.
     RESTRICTED RIGHTS LEGEND: Use, duplication or disclosure by the Government is subject to restrictions
     as set forth in paragraph (b)(3)(B) of the rights in Technical Data and Computer Software clause in
     DAR 7-104.9(a). This computer software is submitted with “restricted rights.” Use, duplication or disclosure is
     subject to the restrictions as set forth in NASA FAR SUP 18-52 227-79 (April 1985) “Commercial Computer
     Software—Restricted Rights (April 1985).” If the contract contains the Clause at 18-52 227-74 “Rights in Data
     General” then the “Alternate III” clause applies.
     U.S. Government Users Restricted Rights — Use, duplication or disclosure restricted by GSA ADP Schedule
     Contract.
     Unpublished — All rights reserved under the Copyright Laws of the United States.
Guardian Programming Reference
         Summary for pTAL and TAL


Tables

What’s New in This Manual iii
   Manual Information iii
   New and Changed Information    iv
About This Manual v
   Your Comments Invited v
   Notation Conventions v




                   Compaq Computer Corporation —522631-001
                                     i
Contents                                                          1. Process Name and ID Formats



1. Process Name and ID Formats
2. File Codes
3. Device Types and Subtypes
4. Procedure Calls Summary (A-C)
5. Procedure Calls Summary (D-F)
6. Procedure Calls Summary (G-N)
7. Procedure Calls Summary (O-Q)
8. Procedure Calls Summary (R-Z)
9. CONTROL Operations
10. SET^FILE Operations
11. SETMODE Operations
12. Completion Codes
13. Traps
14. Interprocess Messages
15. Error Codes
16. ASCII Character Set
17. TNS Instruction Set
      TNS Alphabetical List of Instructions   17-1

Tables
      Table 3-1.    Device Types and Subtypes (page 1 of 14)      3-1
      Table 9-1.    CONTROL Operation 1 9-1
      Table 9-2.    CONTROL Operations 2 - 27 9-3
      Table 10-1.   SET^FILE Operations That Set Values       10-1
      Table 10-2.   SET^FILE Operations That Set Addresses        10-8



              Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               ii
What’s New in This Manual
Manual Information
     Guardian Programming Reference Summary for pTAL and TAL


Abstract
     This summary provides a quick reference to information required for Guardian
     programming in pTAL and TAL.
Product Version
     G09
Supported Releases
     This manual supports G06.15 and all subsequent releases until otherwise indicated in a
     new edition.

      Part Number                       Published
      522631-001                        February 2002

Document History
      Part Number                         Product Version                 Published
      098691                              D20                             September 1993
      114339                              D30                             March 1995
      138788                              G06.03                          December 1998
      422954-001                          G06.06                          August 1999
      522631-001                          G09                             February 2002




                   Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                                    iii
What’s New in This Manual                                             New and Changed Information




New and Changed Information
      This revision of the Guardian Programming Reference Summary for pTAL and TAL
      includes the following changes:
      •   An entry has been added to Section 4, Procedure Calls Summary (A-C), for the
          CPU_GETINFOLIST procedure that directs users to the
          PROCESSOR_GETINFOLIST_ documentation.
      •   The unsupported proc call GETSYSTEMSERIALNUMBER has been removed
          from Section 6, Procedure Calls Summary (G-N).
      •   Table 3-1, Device Types and Subtypes, on page 3-1, has been updated to include an
          entry for the 4619 disk drive.




               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                                iv
About This Manual
Your Comments Invited
     After using this manual, please take a moment to send us your comments. You can do
     this by returning a Reader Comment Card or by sending an Internet mail message.
     A Reader Comment Card is located at the back of printed manuals and as a separate file
     on the Tandem User Documentation disc. You can either fax or mail the card to us. The
     fax number and mailing address are provided on the card.
     Also provided on the Reader Comment Card is an Internet mail address. When you send
     an Internet mail message to us, we immediately acknowledge receipt of your message. A
     detailed response to your message is sent as soon as possible. Be sure to include your
     name, company name, address, and phone number in your message. If your comments
     are specific to a particular manual, also include the part number and title of the manual.
     Many of the improvements you see in Tandem manuals are a result of suggestions from
     our customers. Please take this opportunity to help us improve future manuals.

Notation Conventions
General Syntax Notation
     The following list summarizes the notation conventions for syntax presentation in this
     manual.

UPPERCASE LETTERS. Uppercase letters indicate keywords and reserved words; enter
    these items exactly as shown. Items not enclosed in brackets are required. For example:
     MAXATTACH

lowercase italic letters. Lowercase italic letters indicate variable items that you supply. Items
     not enclosed in brackets are required. For example:
     file-name

[ ] Brackets. Brackets enclose optional syntax items. For example:
     TERM [system-name.]$terminal-name
     INT[ERRUPTS]
     A group of items enclosed in brackets is a list from which you can choose one item or
     none. The items in the list may be arranged either vertically, with aligned brackets on
     each side of the list, or horizontally, enclosed in a pair of brackets and separated by
     vertical lines. For example:
     LIGHTS [ ON             ]
            [ OFF            ]
            [ SMOOTH [ num ] ]
     K [ X | D ] address-1

              Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               v
About This Manual                                                            General Syntax Notation



{ } Braces. A group of items enclosed in braces is a list from which you are required to
     choose one item. The items in the list may be arranged either vertically, with aligned
     braces on each side of the list, or horizontally, enclosed in a pair of braces and separated
     by vertical lines. For example:
      LISTOPENS PROCESS { $appl-mgr-name }
                        { $process-name }
      ALLOWSU { ON | OFF }

| Vertical Line. A vertical line separates alternatives in a horizontal list that is enclosed in
     brackets or braces. For example:
      INSPECT { OFF | ON | SAVEABEND }

… Ellipsis. An ellipsis immediately following a pair of brackets or braces indicates that you
    can repeat the enclosed sequence of syntax items any number of times. For example:
      M address-1 [ , new-value ]...
      [ - ] {0|1|2|3|4|5|6|7|8|9}...
      An ellipsis immediately following a single syntax item indicates that you can repeat that
      syntax item any number of times. For example:
      "s-char..."

Punctuation. Parentheses, commas, semicolons, and other symbols not previously described
    must be entered as shown. For example:
      error := NEXTFILENAME ( file-name ) ;
      LISTOPENS SU $process-name.#su-name
      Quotation marks around a symbol such as a bracket or brace indicate that the symbol is
      a required character that you must enter as shown. For example:
      "[" repetition-constant-list "]"

Item Spacing. Spaces shown between items are required unless one of the items is a
     punctuation symbol such as a parenthesis or a comma. For example:
      CALL STEPMOM ( process-id ) ;
      If there is no space between two items, spaces are not permitted. In the following
      example, there are no spaces permitted between the period and any other items:
      $process-name.#su-name

Line Spacing. If the syntax of a command is too long to fit on a single line, each continuation
     line is indented three spaces and is separated from the preceding line by a blank line.
     This spacing distinguishes items in a continuation line from items in a vertical list of
     selections. For example:
      ALTER [ / OUT file-spec / ] CONTROLLER

          [ , attribute-spec ]...

               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                                vi
About This Manual                                                            Notation for Messages



!i and !o. In procedure calls, the !i notation follows an input parameter (one that passes data
      to the called procedure); the !o notation follows an output parameter (one that returns
      data to the calling program). For example:
      CALL CHECKRESIZESEGMENT (            segment-id                                  !i
                                         , error              ) ;                      !o

!i,o. In procedure calls, the !i,o notation follows an input/output parameter (one that both
      passes data to the called procedure and returns data to the calling program). For
      example:
      error := COMPRESSEDIT ( filenum ) ;                                              !i,o

!i:i. In procedure calls, the !i:i notation follows an input string parameter that has a
      corresponding parameter specifying the length of the string in bytes. For example:
      error := FILENAME_COMPARE_ (             filename1:length                        !i:i
                                             , filename2:length ) ;                    !i:i

!o:i. In procedure calls, the !o:i notation follows an output buffer parameter that has a
      corresponding input parameter specifying the maximum length of the output buffer in
      bytes. For example:
      error := FILE_GETINFO_ (            filenum                                      !i
                                        , [ filename:maxlen ] ) ;                      !o:i

Notation for Messages
      The following list summarizes the notation conventions for the presentation of displayed
      messages in this manual.

Bold Text. Bold text in an example indicates user input entered at the terminal. For example:
      ENTER RUN CODE
      ?123
      CODE RECEIVED:              123.00
      The user must press the Return key after typing the input.

Nonitalic text. Nonitalic letters, numbers, and punctuation indicate text that is displayed or
     returned exactly as shown. For example:
      Backup Up.

lowercase italic letters. Lowercase italic letters indicate variable items whose values are
     displayed or returned. For example:
      p-register
      process-name




               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                                vii
About This Manual                                     Notation for Management Programming Interfaces



[ ] Brackets. Brackets enclose items that are sometimes, but not always, displayed. For
     example:
      Event number = number [ Subject = first-subject-value ]
      A group of items enclosed in brackets is a list of all possible items that can be displayed,
      of which one or none might actually be displayed. The items in the list might be
      arranged either vertically, with aligned brackets on each side of the list, or horizontally,
      enclosed in a pair of brackets and separated by vertical lines. For example:
      LDEV ldev [ CU %ccu | CU %... ] UP [ (cpu,chan,%ctlr,%unit) ]

{ } Braces. A group of items enclosed in braces is a list of all possible items that can be
     displayed, of which one is actually displayed. The items in the list might be arranged
     either vertically, with aligned braces on each side of the list, or horizontally, enclosed in
     a pair of braces and separated by vertical lines. For example:
      LBU { X | Y } POWER FAIL
      process-name State changed from old-objstate to objstate
      { Operator Request. }
      { Unknown.          }

| Vertical Line. A vertical line separates alternatives in a horizontal list that is enclosed in
     brackets or braces. For example:
      Transfer status: { OK | Failed }

% Percent Sign. A percent sign precedes a number that is not in decimal notation. The %
   notation precedes an octal number. The %B notation precedes a binary number. The %H
   notation precedes a hexadecimal number. For example:
      %005400
      P=%p-register E=%e-register

Notation for Management Programming Interfaces
      The following list summarizes the notation conventions used in the boxed descriptions
      of programmatic commands, event messages, and error lists in this manual.

UPPERCASE LETTERS. Uppercase letters indicate names from definition files; enter these
    names exactly as shown. For example:
      ZCOM-TKN-SUBJ-SERV

lowercase letters. Words in lowercase letters are words that are part of the notation,
     including Data Definition Language (DDL) keywords. For example:
      token-type

!r.   The !r notation following a token or field name indicates that the token or field is
      required. For example:
      ZCOM-TKN-OBJNAME                token-type ZSPI-TYP-STRING.                            !r

               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               viii
About This Manual                                                              Change Bar Notation



!o.   The !o notation following a token or field name indicates that the token or field is
      optional. For example:
      ZSPI-TKN-MANAGER               token-type ZSPI-TYP-FNAME32.                            !o

Change Bar Notation
      Change bars are used to indicate substantive differences between this edition of the
      manual and the preceding edition. Change bars are vertical rules placed in the right
      margin of changed portions of text, figures, tables, examples, and so on. Change bars
      highlight new or revised information. For example:
          The message types specified in the REPORT clause are different in the COBOL85
          environment and the Common Run-Time Environment (CRE).
          The CRE has many new message types and some new message type codes for old
          message types. In the CRE, the message type SYSTEM includes all messages
          except LOGICAL-CLOSE and LOGICAL-OPEN.




               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                                ix
About This Manual                                                             Change Bar Notation




               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                                x
1       Process Name and ID Formats
D-Series Process File Name Formats
The syntax for a process file name that identifies an unnamed process is:
    [node]$:cpu:pin:seq-no
The syntax for a process file name that identifies a named process is:
    [node]process-name[:seq-no][.qual-l[.qual-2]]

node
    specifies the name of the node on which the process is running. A node name
    consists of a backslash () followed by as many as seven alphanumeric characters;
    the first alphanumeric character must be a letter.

cpu
    specifies the number of the processor in which the process is running. The value of
    cpu is one or two digits representing a value in the range 0 through 15.

pin
    specifies the PIN (process identification number) of the process. The value of pin is
    from one through five digits representing a value in the range 0 through the
    maximum value allowed for the processor.

seq-no
    specifies the system-assigned sequence number of the process. The parameter
    seq-no has a maximum of 13 digits. Any leading zeroes are suppressed.

process-name
    specifies the name of the process. A process name consists of a dollar sign ($)
    followed by as many as five alphanumeric characters; the first alphanumeric
    character must be a letter.

qual-1 and qual-2
    are optional qualifiers. The first qualifier consists of a pound sign (#) followed by as
    many as seven alphanumeric characters; the first alphanumeric character must be a
    letter.
    The second qualifier contains from one through eight alphanumeric characters; the
    first character must be a letter.




         Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                         1 -1
Process Name and ID Formats



     Process Descriptors
     A process descriptor is a form of process file name that always includes the node and
     seq-no sections of the name; when identifying a named process, it never includes the
     optional qualifiers qual-1 or qual-2. Operating system procedures always use the
     external file-name notation when returning a process descriptor.

     Process Handles
     A process handle is a 10-word structure that identifies a single named or unnamed
     process.




              Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                              1 -2
2           File Codes
    For additional information about file codes, refer to the Guardian Procedure Errors and
    Messages Manual.
.


     File Code       Description
     100             TNS object file
     101             EDIT-format file
     110             EDIT VS recovery file
     111             EDIT VS stack dump file (data area image)
     115             TEDIT TEDPROFL file
     120-128         Spooler control files
     129             Spooler job file
     130             Inspect save file
     134             TMF audit-trail file
     170             XRAYSCAN structured output files for Enform reports
     175             Measure data file
     176             NonStop SQL Table file for Surveyor
     180             C data file
     223             Enable log file
     230-232         Ada data file
     250             Transfer profile file
     251             Transfer session file
     252             Transfer item descriptor file
     253             Transfer recipient file
     254             Transfer folder file
     255             Transfer item data file
     256             Transfer distribution list file
     257             Transfer ready file
     258             Transfer time file
     259             Transfer network file
     260             Transfer inverted folder file
     261             Transfer restart file
     262             Transfer name file
     263             Transfer DIN file


            Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                            2 -1
File Codes



       File Code      Description
       264            Transfer alias file
       265            Transfer trace file
       266            Transfer queue file
       267            Transfer inverted attachment file
       268            Transfer external objects file
       275            Transfer WORDLINK and Translator format name file
       276            Transfer WORDLINK and Translator character map file
       277            Transfer WORDLINK and Translator batch gateway configuration file
       278            Transfer WORDLINK and Translator format type file
       280            Transfer WORDLINK and Translator text server text file
       281            Transfer System Management Monitor database monitor sample file
       282            Transfer System Management Monitor queue monitor sample file
       283-299        Transfer files
       300            TPS (Pathway) TCL program directory file
       301            TPS (Pathway) TCL program code file
       302            TPS (Pathway) SCREEN COBOL symbol file
       303-304        TPS (Pathway) files
       305            TPS (Pathway) TCP data area swap file
       306            TPS (Pathway) AM control file
       307            TPS (Pathway) Path TCP dump file
       308            TPS (Pathway) Pathway trace file
       309            TPS (Pathway) PATHMON stack dump file
       310-399        TPS (Pathway) files
       400            Tape simulator control file
       401            Tape simulator data file
       410            EXERCISE message file
       411            EXERCISE error information file
       412-419        EXERCISE files
       430            EXERCISE Tandump segmented save file
       440            TACL saved variable segment file
       450            C00 file server and ViewPoint status display configuration file
       451            Event display configuration file
       500            NonStop II processor microcode file
       502            NonStop II microcode file for SHADOW

              Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                              2 -2
File Codes



       File Code      Description
       505            5106 Tri-Density tape drive microcode object file
       510            Standard (unformatted) microcode file
       520            NonStop TXP processor microcode file
       521            GASM-format microcode object file
       525            NonStop VLX processor microcode file
       540-549        Safeguard files
       550-599        NonStop SQL files
       600            MUMPS global file
       601            MUMPS routine file
       602            MUMPS global directory file
       603-620        MUMPS files
       660            Encore capture file
       661-669        Encore files
       700            Native object file
       830-831        Comm trace files
       832-833        Comm configuration files
       834-835        Comm configuration database files
       840            SNAX utility output file
       841            COUP database file
       842            COUP process image file
       843            EMS logger file
       844            EMS formatter template
       845            EMS compiled filter
       846            Cover files
       847-848        NetBatch files
       849            DNS configuration file
       850            DNS database file
       851            SNAX5 configuration file
       852            NonStop CLX shutdown file
       853-854        Optical disk files
       855            FUP restart file
       888            Enform compiled query file
       904            Exchange trace file


              Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                              2 -3
File Codes




             Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                             2 -4
3       Device Types and Subtypes
Table 3-1. Device Types and Subtypes (page 1 of 14)
                          Sub
 Type   Device            type   D-Series Description           G-Series Description
 0      Process             0    Default subtype for general    Default subtype for
                                 use                            general use
                          1-49   Reserved for definition by     Reserved for definition by
                                 Tandem. The following          Tandem. The following
                                 subtypes are defined:          subtypes are defined:
                                 1 = CMI process                1 = CMI process
                                 2 = Security monitor process   2 = Security monitor
                                 30 = Device simulation         process
                                 process                        30 = WANBOOT process
                                 31 = Spooler collector         31 = Spooler collector
                                 process                        process
                                                                48 = TFTP server process
                                                                49 = SNMP trap
                                                                multiplexor
                           50-   For general use                For general use
                           63
 1      Operator con-      0     $0 (operator process) or       $0 (operator process) or
        sole                     alternate collector            alternate collector
                           1     $0.#ZSPI ($0 opened to         $0.#ZSPI ($0 opened to
                                 receive SPI commands)          receive SPI commands)
                           2     $Z0 (compatibility             $Z0 (compatibility
                                 distributor)                   distributor)
 2      $RECEIVE           0
 3      Disk               2     4103 (160 MB formatted         N.A.
                                 capacity)
                           3     4104 (240 MB formatted         N.A.
                                 capacity)
                           4     4105 or 4106 (64 MB            N.A.
                                 formatted capacity)
                           5     4109 (moving-head part, 64     N.A.
                                 MB formatted capacity)
                           6     4116 (540 MB formatted         N.A.
                                 capacity)



        Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                        3 -1
Device Types and Subtypes



      Table 3-1. Device Types and Subtypes (page 2 of 14)
                                 Sub
       Type    Device            type   D-Series Description          G-Series Description
       3       Disk               7     4109 (fixed-head part, 1.45   N.A.
                                        MB formatted capacity)
                                  8     4110, 4111 (128 MB            N.A.
                                        formatted capacity)
                                        4120 (V8) (128 MB             N.A.
                                        formatted capacity)
                                  9     4114 or 4115 (264 MB          N.A.
                                        formatted capacity)
                                  10    4130 (XL8) (415 MB            N.A.
                                        formatted capacity)
                                  16    4160 (V80) (265 MB            N.A.
                                        formatted capacity) with
                                        3125 controller
                                  17    4210 (145 MB formatted        N.A.
                                        capacity)
                                  18    4170 (XL80) (895 MB           N.A.
                                        formatted capacity) with
                                        3129 controller
                                  19    4220 (300 MB formatted        N.A.
                                        capacity) with 3681 MFC
                                  20    4580 (8 GB) with 3129         N.A.
                                        controller
                                  21    4230 (648 MB formatted        N.A.
                                        capacity) with 3681 MFC
                                  22    4500 (1038 MB formatted       N.A.
                                        capacity per spindle) with
                                        3128 controller
                                  23    4240 (1038 MB formatted       N.A.
                                        capacity) with 3681 MFC
                                  26    4330 (160 MB formatted        N.A.
                                        capacity)
                                  29    4250 (2 GB formatted          N.A.
                                        capacity) with 3681 MFC
                                  31    4510 (2 GB formatted          N.A.
                                        capacity per spindle) with
                                        3128 controller



               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               3 -2
Device Types and Subtypes



      Table 3-1. Device Types and Subtypes (page 3 of 14)
                                 Sub
       Type    Device            type   D-Series Description           G-Series Description
       3       Disk               33    4245 (1038 MB formatted        N.A.
                                        capacity) with 3681 MFC
                                  34    4255 (2 GB formatted           N.A.
                                        capacity) with 3681 MFC
                                  36    NonStop Storage Manage-
                                        ment Foundation (SMF)
                                        virtual disk process
                                  38    4560 (2 GB formatted           4560 (2 GB formatted
                                        capaity per spindle) with      capacity per spindle) with
                                        3129 controller                ServerNet/DA
                                  39    4570 (4 GB)                    4570 (4 GB) with
                                                                       ServerNet/DA
                                  41    N.A.                           4604 (4 GB)
                                  42    N.A.                           4608 (8 GB)
                                                                       4609 (8 GB)
                                  43    N.A.                           4618 (18 GB)
                                  43    N.A.                           4619 (18 GB) (15,000
                                                                       rpm)
                                  44    N.A.                           4636 (36 GB)
                                        4580                           4590 (18 GB) with
                                                                       ServerNet/DA
                                  48    4590 (18 GB)                   4590 (18 GB) with
                                                                       ServerNet/DA
                                  56    5200 Optical Disk              N.A.
                                        Subsystem (1.3 GB per
                                        volume) with 3128 controller
       4       Magnetic tape      0     5101, 5103, 5104, 5110,        N.A.
               unit                     5114 (9-track, 45/125 ips)
                                        tape units with 3202
                                        controller
                                  1     5105 (7-track, 45 ips) tape    N.A.
                                        unit with 3203 controller
                                  2     5106 (tri density) master      N.A.
                                        tape unit or 5107 slave unit
                                        with 3206 controller




               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               3 -3
Device Types and Subtypes



      Table 3-1. Device Types and Subtypes (page 4 of 14)
                                 Sub
       Type    Device            type   D-Series Description             G-Series Description
                                  3     5101, 5103, 5104, 5110,          N.A.
                                        5114 (9-track, 45/125 ips)
                                        tape units with 3207
                                        controllers
       4       Magnetic tape      4     5130 (9-track, 200 ips)          N.A.
               unit                     master tape unit or 5131
                                        slave unit with 3208
                                        controller
                                  5     5120 cartridge tape unit with    N.A.
                                        3209 or 3681 controller in
                                        3681 MFC
                                  6     5160 tape unit (1600 bits per    5170 tape unit (1600,
                                        inch, or bpi) or 5170 tape       6250 bpi) PMF/IOMF or
                                        unit (1600, 6250 bpi) with       ServerNet/DA
                                        3214 controller or 3681
                                        MFC or PMF/IOMF
                                  7     5130 master tape unit            N.A.
                                        (9-track, 200 ips) or 5131
                                        slave unit with 3211
                                        controller
                                  8     5180 tape unit (18 track,        N.A.
                                        38000 bpi) with 3215
                                        controller
                                  9     5190 tape unit (18 track,        5190 tape unit (18 track,
                                        38000 bpi) with 3216             38000 bpi) or 5194 tape
                                        controller or 3681 MFC and       unit (36 tracks, 38000 bpi)
                                        5194 tape unit (36 tracks,       with PMF, IOMF, or
                                        38000 bpi)                       ServerNet/DA
                                  10    5188 tape unit (38000 bpi)       N.A.
                                        with 3217 controller
                                  11                                     5142 DAT with PMF or
                                                                         IOMF
       5       Printer            0     SNAX PRT protocol
                                  1     5502, 5503, 5504, 5510,          N.A.
                                        5513, and 5514 (parallel
                                        printers) or 5518 parallel
                                        printer (for 7-bit data trans-
                                        fer) with 3601 UI
                                  3     5508 (serial printer)

               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               3 -4
Device Types and Subtypes



      Table 3-1. Device Types and Subtypes (page 5 of 14)
                                 Sub
       Type    Device            type   D-Series Description               G-Series Description
                                  4     5520 (serial printer)
       5       Printer            5     5510, 5513, 5514 (alternate        N.A.
                                        character set) for parallel
                                        (band) printers or 5518
                                        parallel printer (for 8-bit data
                                        transfer) with 3601 UI
                                  6     5530 (letter-quality serial
                                        printer)
                                  7     5515, 5516 dot matrix
                                        (parallel and serial printers)
                                        5518 dot matrix (parallel
                                        printer)
                                  8     5573 or 5574 laser (serial
                                        printer)
                                  9     5512 dot matrix (serial
                                        printer)
                                  10    5577 laser (serial printer)
                                  32    ASYNC_PRT Device. Non-
                                        standard serial printers (DTR
                                        printer and 554x printers)
       6       Terminal           0     Conversational mode (P/N           Conversational mode (P/N
                                        6401/6402) or                      6401/6402) or PATP-
                                        ASYNC_TERM device                  TERM (non-Tandem)
                                                                           device
                                  1     Page mode (P/N 6511, 6512)         Page mode (P/N 6511,
                                                                           6512)
                                  2     Page mode (P/N 6520, 6524)         Page mode (P/N 6520,
                                                                           6524)
                                  3     Page mode (P/N 6520                N.A.
                                        remote) ITI protocol for use
                                        by AM6520
                                  4     Page mode (P/N 6526, 6528,         Page mode (P/N 6526,
                                        653x)                              6528, 653x)
                                  5     Page mode (P/N 6530                N.A.
                                        remote) ITI protocol for use
                                        by AM6520
                                 6-10   Conversational mode                Conversational mode


               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               3 -5
Device Types and Subtypes



      Table 3-1. Device Types and Subtypes (page 6 of 14)
                                 Sub
       Type    Device            type   D-Series Description           G-Series Description
                                        6 = 3277 (screen size 12x40)   6 = 3277 (screen size
                                                                       12x40)
       6       Terminal                 7 = 3277 (screen size 24x80)   7 = 3277 (screen size
                                                                       24x80)
                                        8 = 3277 (screen size 32x80)   8 = 3277 (screen size
                                                                       32x80)
                                        9 = 3277 (screen size 43x80)   9 = 3277 (screen size
                                                                       43x80)
                                        10 = 3277 (screen size         10 = 3277 (screen size
                                        12x80)                         12x80)
                                  11    6340 FaxLink                   6340 FaxLink
                                  16    Nonstandard device with
                                        3606 controller, for
                                        read-continuous/type-ahead
                                        capability
               SNAX Interac-      20    3275-11, 3276-1 & -11,         3275-11, 3276-1 & -11,
               tive Terminal            3277-1, 3278-1                 3277-1, 3278-1
               Interface (ITI)
               Protocol
                                  21    3275-12, 3276-2 & -12,         3275-12, 3276-2 & -12,
                                        3277-2, 3278-2,                3277-2, 3278-2,
                                        3178-C10, -C20, -C3, & -       3178-C10, -C20, -C3, & -
                                        C4,                            C4,
                                        3191-A1K & -A2K,               3191-A1K & -A2K,
                                        3279-2A, -2B, -S2A, -S2B,      3279-2A, -2B, -S2A, -
                                        & -02X,                        S2B, & -02X,
                                        5578-001, -002, F-6652-A,      5578-001, -002, F-6652-
                                        & -C                           A, & -C
                                  22    3276-3, 3278-3, 3277-3,        3276-3, 3278-3, 3277-3,
                                        3279-3A, -3B, -S3G, & -03X     3279-3A, -3B, -S3G, & -
                                                                       03X
                                  23    3276-4 & -14, 3278-4,          3276-4 & -14, 3278-4,
                                        3277-4, 6580-A04, -A06, -      3277-4, 6580-A04, -A06,
                                        A08, & -A10                    -A08, & -A10
                                  24    3278-5                         3278-5
                                  30    3262, 3284, 3286, 3282,        3262, 3284, 3286, 3282,
                                        3289                           3289
                                  32    Hard-copy console              6603/6604 terminal

               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               3 -6
Device Types and Subtypes



      Table 3-1. Device Types and Subtypes (page 7 of 14)
                                 Sub
       Type    Device            type   D-Series Description          G-Series Description
       7       Envoy data         0     BISYNC, point-to-point,       BISYNC, point-to-point,
               communica-               nonswitched                   nonswitched
               tions line
                                  1     BISYNC, point-to-point,       BISYNC, point-to-point,
                                        switched                      switched
                                  2     BISYNC, multipoint,           BISYNC, multipoint,
                                        tributary                     tributary
                                  3     BISYNC, multipoint,           BISYNC, multipoint,
                                        supervisor                    supervisor
                                  8     ADM-2, multipoint,            ADM-2, multipoint,
                                        supervisor                    supervisor
                                  9     TINET, multipoint,            TINET, multipoint,
                                        supervisor                    supervisor
                                  10    Burroughs, multipoint,        Burroughs, multipoint,
                                        supervisor                    supervisor
                                  11    Burroughs, point-to-point,    Burroughs, point-to-point,
                                        contention                    contention
                                  13    Burroughs, point-to-point,    Burroughs, point-to-point,
                                        contention                    contention
                                  30    Full duplex (FDX), out line   Full duplex (FDX), out
                                                                      line
                                  31    Full duplex (FDX), in line    Full duplex (FDX), in line
                                  32    NASDAQ, Full duplex           NASDAQ, Full duplex
                                        (FDX), out line               (FDX), out line
                                  33    NASDAQ, Full duplex           NASDAQ, Full duplex
                                        (FDX), in line                (FDX), in line
                                  40                                  Asynchronous line
                                                                      supervisor
                                  50    Isochronous line              N.A.
                                  56    Automatic calling unit        N.A.
                                        (ACU)
       8       Open SCSI                N.A.
       9       Process-to-pro-    0                                   X25AM process
               cess interface




               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               3 -7
Device Types and Subtypes



      Table 3-1. Device Types and Subtypes (page 8 of 14)
                                 Sub
       Type    Device            type   D-Series Description          G-Series Description
       10      Terminal SNAX      0     327x CRT mode Interface       327x CRT mode Interface
               Cathode-Ray
               Tube (CRT)
               protocol
                                  20    3275-11, 3276-1 & -11,        3275-11, 3276-1 & -11,
                                        3277-1, 3278-1                3277-1, 3278-1
                                  21    3275-12, 3276-2 & -12,        3275-12, 3276-2 & -12,
                                        3277-2, 3278-2,               3277-2, 3278-2,
                                        3178-C10, -C20, -C3, & -      3178-C10, -C20, -C3, & -
                                        C4,                           C4,
                                        3279-2A, -2B, -S2A, -S2B,     3279-2A, -2B, -S2A, -
                                        & -02X                        S2B, & -02X
                                  22    3276-3, 3278-3, 3277-3,       3276-3, 3278-3, 3277-3,
                                        3279-3A, -3B, -S3G, & -03X    3279-3A, -3B, -S3G, & -
                                                                      03X
                                  23    3276-4 & -14, 3278-4,         3276-4 & -14, 3278-4,
                                        3277-4, 6580-A04, -A06, -     3277-4, 6580-A04, -A06,
                                        A08, & -A10                   -A08, & -A10
                                  24    3278-5, 3276-5, 3277-5        3278-5, 3276-5, 3277-5
                                  30    3262, 3284, 3286, 3287,       3262, 3284, 3286, 3287,
                                        3289                          3289
       11      EnvoyACP/XF        40                                  FRMEXF or SDLCXF
                                                                      (synchronous data-link
                                                                      control) line
                                  41                                  HDLCXF (high-level
                                                                      data-link control) line
                                  42                                  ADCCP (advanced data
                                                                      communications control
                                                                      procedures) line
                                  43                                  Frame protocol
       12      Tandem-to-IBM      0
               Link (TIL)
       13      SNAX/XF or         5                                   SNASVM (Service
               SNAX/APN                                               Manager Process)
       14      SNALU              0                                   SNA Application Logical
                                                                      Unit (SNALU)
       15      SNAX/3501          0     3501 Data Encryption          3501 Data Encryption
                                        Devices                       Devices

               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               3 -8
Device Types and Subtypes



      Table 3-1. Device Types and Subtypes (page 9 of 14)
                                   Sub
       Type    Device              type   D-Series Description           G-Series Description
       15      SNAX/3501            1     Key manager (ZKEY)             Key manager (ZKEY)
                                    3     High performance security      High performance
                                          modules                        security modules
               NSP                  4     Atalla A6000 Network           Atalla A6000 Network
                                          Security Processor with 3605   Security Processor
                                          controller
       19      IPX/SPX              0     Manager process                Manager process
                                    1     Protocol process               Protocol process
       20-     NTM/MP               0     NonStop Transaction            NonStop Transaction
       23                                 Manager/MP                     Manager/MP
       24      OSS                        Open System Services           Open System Services
       25      SMF pool             0     N.A.                           Storage pool process
       26      Tandem Hyper-        0
               Link (THL)
       27      IPBMON               0     Interprocessor bus monitor     Interprocessor bus moni-
                                          for Fiber Optic Extension      tor for Fiber Optic
                                          (FOX) or TorusNet vertical     Extension (FOX) or
                                          subsystem in                   TorusNet vertical sub-
                                          FOX-compatibility mode         system in
                                                                         FOX-compatibility mode
                                    5     $IPB1 (TorusNet vertical       $IPB1 (TorusNet vertical
                                          subsystem master service       subsystem master service
                                          manager in multiple-link       manager in multiple-link
                                          mode)                          mode)
                                    6     Service manager for            Service manager for
                                          additional TorusNet vertical   additional TorusNet verti-
                                          links                          cal links
       28      $ZNUP                0                                    Network Utility Process
       29      $ZMIOP               1                                    Subsystem manager
       30      Optical disk unit    0     5200 Optical Storage           N.A.
                                          Facility (OSF) disk drive
                                          with 3128 controller
                                    1     5410 optical disk subsystem    N.A.
                                          with 3219 controller
                                    2     5411 optical disk subsystem    N.A.
                                          with 3220 controller


               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               3 -9
Device Types and Subtypes



      Table 3-1. Device Types and Subtypes (page 10 of 14)
                                   Sub
       Type    Device              type   D-Series Description           G-Series Description
       30      Optical disk unit    3     5420 optical disk subsystem    N.A.
                                          with 3220 controller
       31      SNMP                 0     NonStop SNMP Agent             NonStop SNMP Agent
       36      TandemTalk           1     AppleTalk Transaction          N.A.
                                          Protocol (ATP)
                                    2     AppleTalk Data Stream          N.A.
                                          Protocol (ADSP)
                                    3     AppleTalk Session Protocol     N.A.
                                          (ASP)
                                    4     AppleTalk Printer Access       N.A.
                                          Protocol (PAP)
       37      ISDN                 0     Integrated Services Digital    Integrated Services
                                          Network Subsystem              Digital Network Sub-
                                          Manager                        system Manager
       43      SLSA                 0     N.A.                           ServerNet LAN Systems
                                                                         Access (SLSA) manager
                                                                         process (LAN MAN)
                                    1     N.A.                           ServerNet LAN Systems
                                                                         Access (SLSA) monitor
                                                                         process (LAN MON)
       44      any device type      0     44 is displayed as the type    44 is displayed as the type
               > 63                       for any device with a device   for any device with a
                                          type greater than 63. The      device type greater than
                                          program is unable to return    63. The program is unable
                                          information on device types    to return information on
                                          greater than 63. Use the       device types greater than
                                          newer Guardian procedures      63. Use the newer
                                          (those that are not            Guardian procedures
                                          superseded) to obtain          (those that are not
                                          information on device types    superseded) to obtain
                                          that are greater than 63.      information on device
                                                                         types that are greater than
                                                                         63.
       45      QIO                  0     Queued I/O Monitor Process     Queue I/O Monitor
                                                                         Process
       46      TELNET               0     TELNET Server Process          TELNET Server Process
       48      TCP/IP               0
       49      SNAX/CDF             0                                    N.A.

               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               3- 10
Device Types and Subtypes



      Table 3-1. Device Types and Subtypes (page 11 of 14)
                                 Sub
       Type    Device            type   D-Series Description           G-Series Description
       50      CSM                0     Communications Subsystem       N.A.
                                        Manager with 3650, 6100, or
                                        6110 controller
                                  1     Single-board (SBSCSM)          N.A.
                                        with 3605 or 3606 controller
                                  2     N.A.                           SWAN Concentrator
                                                                       Manager(CONMGR)
                                  3     N.A.                           $ZZWAN WAN manager
                                                                       process
                                  63    Subsystem Control Point        Subsystem Control Point
                                        (SCP)                          (SCP)
       51      CP6100             0     Line interface unit (LIU)      Line interface unit (LIU)
                                  1     Bisynchronous (BISYNC)         Bisynchronous (BISYNC)
                                        point-to-point line            point-to-point line
                                  2     ADCCP line                     ADCCP line
                                  3     TINET line                     N.A.
                                  4     MPSB Burroughs multipoint      MPSB Burroughs
                                                                       multipoint
       52      SMF master         0     N.A.                           SMF master process
       53      ATP6100            0     ASYNCTERMPROC:
                                        Terminals or serial printers
                                        attached to 3605, 6105, or
                                        6110 controller (LIU-1)
                                  1     ASYNCTERMPROC:
                                        Terminals or serial printers
                                        attached to 3606, 6105, or
                                        6110 controller (LIU-4)
                                  2     ASYNCPROC: ATP6100
                                        lines on the 3681
                                        multifunction controller
       54      DDNAM              0     Non-3650 or non-6100
                                  63    3650 or 6100
       55      Open Systems       1     N.A.                           OSI/Application Services
               Interconnection                                         (OSI/AS) Manager
               (OSI)
                                  4     N.A.                           Transport service
                                                                       provider (TSP)

               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               3- 11
Device Types and Subtypes



      Table 3-1. Device Types and Subtypes (page 12 of 14)
                                 Sub
       Type    Device            type   D-Series Description          G-Series Description
       55      Open Systems       5     N.A.                          Tandem application,
               Interconnection                                        presentation, and session
               (OSI)                                                  (TAPS) processes
                                  11    N.A.                          OSI/Message Handling
                                                                      System (OSI/MHS)
                                  12    N.A.                          OSI/Message Handling
                                                                      System (OSI/MHS)
                                  20    N.A.                          OSI/FTAM Application
                                                                      Manager
                                  21    N.A.                          OSI/FTAM Services
                                  24    N.A.                          OSI/CMIP
                                  25    N.A.                          OSI/FTAM Services
       56      Multilan           0     MLAM line attached to the     N.A.
                                        3613, 3615, or 3616 TLAM
                                        controller
                                  1     Network-basic input-output    N.A.
                                        system (NETBIOS)
                                  2     Dynamic Configuration         N.A.
                                        Management
                                  3     Controller Debug              N.A.
                                  4     SAP NAM (Expand)              N.A.
                                  5     Ethernet                      N.A.
                                  6     Logical link control (LLC)    N.A.
                                        type 1
       57      GDS                0     General Device Support        General Device Support
       58      SNAX/XF or         0     SDLC (6203 or 6204) line
               SNAX/APN                 with 3604 controller
                                  1     Line to 3605, 6100, or 6110
                                        controller
                                  2     Line attached to 3840, or     N.A.
                                        3841 SNAXLink controller
                                        (SNAX/XF only)
                                  3     SNAX/XF Over X.25 (SOX)
                                  4     Support for TLAM
                                        token-ring lines


               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               3- 12
Device Types and Subtypes



      Table 3-1. Device Types and Subtypes (page 13 of 14)
                                 Sub
       Type    Device            type   D-Series Description           G-Series Description
       59      AM6520             0     Line attached to a byte-syn-   N.A.
                                        chronous controller
                                  10    Line attached to 3605, 6100    N.A.
                                        CSS, or 6105 or 6110 CC
       60      AM3270             0     Line attached to a byte-
                                        synchronous controller
                                  10    Line attached to 3605, 6100    Line attached to SWAN
                                        CSS, or 6105 or 6110 CC        concentrator
               TR3271             1     Line attached to a byte-
                                        synchronous controller
                                  11    Line attached to 3605, 6100    Line attached to SWAN
                                        CSS, or 6105 or 6110 CC        concentrator
       61      X.25              0-61   Line attached to a 3604        N.A.
                                        controller
                                  62    Line attached to a 3681        N.A.
                                        multifunction controller
                                  63    Line attached to 3605, 6110    Line attached to SWAN
                                        controller, or 6100 CSS        concentrator
       62      Expand NCP         0                                    $NCP Network Control
                                                                       Process
       63      Expand Line        0     NETNAM single-line             NETNAM single-line
               Handler                  handler attached to a          handler attached to a
                                        non-3605 controller            non-3605 controller
                                  1     NETDIRECT multiline line       NETDIRECT multiline
                                        handler                        line handler
                                  2     Multiline line handler         Multiline line handler
                                        attached to a non-3605 con-    attached to a non-3605
                                        troller                        controller
                                  3     NETCLUSTER FOX line            NETCLUSTER FOX line
                                        handler                        handler
                                  5     NETDIRECT single-line          NETDIRECT single-line
                                        handler attached to 3605,      handler attached to 3605,
                                        6100, 6110 CSS, or 6105 CC     6100, 6110 CSS, or 6105
                                                                       CC
                                  6     Multiline line handler         Multiline line handler
                                        attached to 3605, 6100, 6110   attached to 3605, 6100,
                                        CSS, or 6105 CC                6110 CSS, or 6105 CC


               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               3- 13
Device Types and Subtypes



      Table 3-1. Device Types and Subtypes (page 14 of 14)
                                 Sub
       Type    Device            type   D-Series Description          G-Series Description
       65      Storage Sub-       0     N.A.                          responsible for the
               system Manager                                         configuration and control
                                                                      of storage I/O processes
       66      NonStop Ker-       0     N.A.                          responsible for the
               nel Management                                         configuration and control
                                                                      of system-wide attributes
                                                                      and generic processes
       67      SCSI Lock          0     N.A.                          responsible for
               Management                                             coordinating resource
                                                                      sharing SCSI I/O
                                                                      subsystem components
                                                                      across processors




               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               3- 14
4       Procedure Calls Summary (A-C)
This section lists procedure calls in alphabetic order and briefly describes the syntax of
each. For additional information about the procedure calls, refer to the Guardian
Procedure Calls Reference Manual.

ABEND
(Superseded by PROCESS_STOP_) Deletes a process or a process pair.


 CALL ABEND ( [        process-id ]
             ,[        stop-backup ]
             ,[        error ]
             ,[        compl-code ]
             ,[        termination-info ]
             ,[        spi-ssid ]
             ,[        length ]
             ,[        text ] );


 process-id, INT:ref:4                input
 stop-backup, INT:value               input
 error, INT:ref:1                     output
 compl-code, INT:value                input
 termination-info, INT:value          input
 spi-ssid, INT .EXT:ref:6             input
 length, INT:value                    input
 text, STRING .EXT:ref:length         input


 < (CCL)    The process-id parameter is invalid, or an error occurred while ABEND was
            terminating the process.
 = (CCE)    ABEND was successful.

ACTIVATEPROCESS
(Superseded by PROCESS_ACTIVATE_) Returns a process or process pair from the
suspended state to the ready state.


 CALL ACTIVATEPROCESS ( process-id );




        Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                        4 -1
Procedure Calls Summary (A-C)




       process-id, INT:ref:4        input


       < (CCL)     ACTIVATEPROCESS failed, or no process is designated process-id.
       = (CCE)     The process is activated.

      ADDDSTTRANSITION
      (Superseded by DST_TRANSITION_ADD_) Allows a super-group user (255, n) to add
      an entry to the daylight-saving time (DST) transition table.


       CALL ADDDSTTRANSITION ( low-gmt ,high-gmt ,offset );


       low-gmt, FIXED                input
       high-gmt, FIXED:value         input
       offset, INT:value             input


       < (CCL)      You are not the super ID (255,255), you loaded the DST table inconsistently
                    (the DST table contains gaps or an overlap of entries), or you were loading the
                    DST table at the same time someone else was loading the DST table.
       = (CCE)      The DST table was loaded successfully.

      ADDRESS_DELIMIT_
      Obtains the addresses of the first and last bytes of a particular area of the caller’s logical
      address space. It can also obtain a set of flags that describe the area and the logical
      segment ID of the area.


       error := ADDRESS_DELIMIT_ ( address
                                  ,[ low-address ]
                                  ,[ high-address ]
                                  ,[ address-descriptor ]
                                  ,[ segment-id ]
                                  ,[ error-detail ] );




               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               4 -2
Procedure Calls Summary (A-C)




       error, INT         returned value


           0      No error; the requested values are returned.
           2      Parameter error; the address parameter was missing.
           3      Bounds error; error-detail contains the number of the first parameter found to
                  be in error, where 1 designates the first parameter on the left. This error is returned
                  only to nonprivileged callers.
           4      address is not mapped.
           5      address.<0> = 1, address is an invalid address.
                  address.<0> <> 1, address is within relative segment 1, 2, or 3.
   !


       address, INT(32):value                             input
       low-address, INT(32):value                         output
       high-address, INT(32):value                        output
       address-descriptor, INT .EXT:ref:1                 output


           <0:6>      Bits are reserved; 0 is returned.
           <7>        A flat, unaliased segment. An unaliased segment does not have a
                      corresponding absolute segment address.
           <8>        A flat, aliased segment. An aliased segment has a corresponding absolute
                      segment address.
           <9>        The currently addressable extended data segment.
           <10>       Accessible only by privileged processes.
           <11>       Shared by another process.
           <12>       Cannot be deallocated.
           <13>       Writeback-inhibited.
           <14>       Extensible.
           <15>       Resident.


       segment-id, INT .EXT:ref:1                         output


           -110       Last valid extended data segment ID.
           -109       Accelerator-generated code segment.
           -108       Accelerator read-only data segment for user code segment.
           -107       Accelerator-generated user library segment.
           -106       Accelerator read-only data segment for library code segment.


               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               4 -3
Procedure Calls Summary (A-C)



           -105        TNS user code segment.
           -104        TNS user library segment.
           -103        TNS user data segment.
           -102        Main RISC stack segment.
           -101        Debug stack segment.
           -100        Priv RISC stack segment.
           -99         System data segment.
           -98         System code segment.
           -97         System code segment.
           -96         System code segment.
           -95         System code segment.
           -94         System code segment.


       error-detail, INT .EXT:ref:1                     output

      ADDRTOPROCNAME
      Accepts a P register value and stack marker ENV value and returns the associated
      symbolic procedure name and various optional items that describe the procedure in
      detail.


       error := ADDRTOPROCNAME ( p-reg
                                ,stack-env
                                ,proc-name
                                ,proc-name-size
                                ,proc-name-length
                                ,[ base ]
                                ,[ size ]
                                ,[ entry ]
                                ,[ attributes ]
                                ,[ pin ] );


       error, INT        returned value


           0        Successful call; the procedure name is deposited into proc-name for proc-
                    name-length bytes.
           11       A procedure name was not found.
           22       One of the parameters specifies an address that is out of bounds.
           23       The p-reg, stack-env, and pin parameters do not indicate a legal code
                    location.


                 Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                                 4 -4
Procedure Calls Summary (A-C)



           24       The pin parameter was supplied and the caller is not privileged.
           29       A required parameter was not supplied.
           122      The supplied value of proc-name-size is less than the length of the
                    procedure name that is to be returned into proc-name.


       p-reg, INT:value                input
       stack-env, INT:value            input


           <4>          Library bit
           <7>          System code bit
           <11:15>      Space ID bits


       proc-name, STRING .EXT:ref                      output
       proc-name-size, INT:value                       input
       proc-name-length, INT .EXT:ref:1                output
       base, INT .EXT:ref:1                            output
       size, INT .EXT:ref:1                            output
       entry, INT .EXT:ref:1                           output
       attributes, INT .EXT:ref:1                      output


           <0>         Priv bit
           <1>         Callable bit
           <2>         Resident bit
           <3>         Interrupt bit
           <4>         Entry point bit
           <5>         Variable bit
           <6>         Extensible bit
           <7:15>      PEP number


       pin, INT:value      input


       = (CCE)       The symbolic procedure name was found; error contains 0.
       > (CCG)       An error occurred; error contains the error value.




                 Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                                 4 -5
Procedure Calls Summary (A-C)



      ALLOCATESEGMENT
      (Superseded by SEGMENT_ALLOCATE_) Allocates a selectable extended data
      segment for use by the calling process. It can also be used to share selectable extended
      data segments or flat extended data segments allocated by other processes.


       status := ALLOCATESEGMENT ( segment-id
                                  ,[ segment-size ]
                                  ,[ filename ]
                                  ,[ pin-and-flags ] );


       status, INT        returned value


           0         No error.
           1-999     File-system error related to the creation or open of the swap file.
           -1        Illegal segment-id.
           -2        Illegal segment-size.
           -3        Bounds violation on file-name.
           -4        Illegal combination of options.
           -5        Unable to allocate segment space.
           -6        Unable to allocate segment page table space.
           -7        Security violation on attempt to share segment.
           -8        The pin does not exist.
           -9        The does not have the segment allocated.
           -10       Trying to share segment with self.
           -11       Requested segment is currently being resized or is incompatible.

       segment-id, INT:value                             input
       segment-size, INT(32):value                       input
       filename, INT:ref:12                              input, output
       pin-and-flags, INT:value                          input


           <8:15>       Optional PIN for segment sharing.
           <5:7>        Not used; must be zero (0).
           <4>          Allocate an extensible segment.
           <3>          Allocate a segment sharable by the file-name method.



                 Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                                 4 -6
Procedure Calls Summary (A-C)



           <2>         Allocate a writeback-inhibit segment.
           <1>         If 1, bits <8:15> are ignored.
           <1>         If 0, allocate a segment sharable by the PIN method.

      ALTER
      (Superseded by FILE_ALTERLIST_) Changes disk file characteristics that cannot
      ordinarily be changed while the file is open. This procedure operates only on Guardian
      objects.


       CALL ALTER ( filename
                   ,function
                   ,newvalue
                   ,[ partonly ] );


       filename, INT:ref:12                             input
       function, INT:value                              input


           1     Change file code.
           2     Change the TMF audited characteristic of the file.
           3     Change the refresh flag.
           4     Oddunstr:allow odd byte positioning and transfers.
           5     Change the alternate key description. This function is not supported for format 2
                 files.
           6     Change the partitioning description. This function is not supported for format 2
                 files.
           7     Resets the broken flag.
           8     Change the expiration date.


       newvalue, INT:ref:*                              input
       partonly, INT:value                              input


       < (CCL)    An error occurred (call FILEINFO).
       = (CCE)    The call to ALTER was successful.
       > (CCG)    An error occurred (call FILEINFO).




               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               4 -7
Procedure Calls Summary (A-C)



      ALTERPRIORITY
      (Superseded by PROCESS_SETINFO_) Is used to change the execution priority of a
      process or process pair.


       CALL ALTERPRIORITY ( process-id
                           ,priority );


       process-id, INT:ref:4                            input
       priority, INT:value                              input


       < (CCL)     ALTERPRIORITY failed, or no process was designated as process-id.
       = (CCE)     The priority of the process is altered.

      ARMTRAP
      (Superseded by SIGACTION_INIT_) Specifies a location within the application
      program where execution begins if a trap occurs.


       CALL ARMTRAP ( traphandlr-addr
                     ,trapstack-addr );


       traphandlr-addr, INT:value                       input
       trapstack-addr, INT:value                        input

      AWAITIO[X]
      Completes a previously initiated I/O operation.


       CALL AWAITIO[X] ( filenum
                        ,[ buffer-addr ]
                        ,[ count-transferred ]
                        ,[ tag ]
                        ,[ timelimit ]
                        ,[ segment-id ] );




               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               4 -8
Procedure Calls Summary (A-C)




       filenum,                         INT:ref:1 (AWAITIO),                        input, output
                                        INT .EXT:ref:1 (AWAITIOX)                   input, output
       buffer-addr,                     INT:ref:1 (AWAITIO),                        output
                                        INT(32) .EXT:ref:1 (AWAITIOX)               output
       count-transferred,               INT:ref:1 (AWAITIO),                        output
                                        INT .EXT:ref:1 (AWAITIOX)                   output
       tag,                             INT(32):ref:1 (AWAITIO),                    output
                                        INT(32) .EXT:ref:1 (AWAITIOX)               output


       timelimit, INT(32):value (AWAITIO,                     input
       AWAITIOX)


       > 0D                                           A wait-for-completion is specified.
       = -1D                                          An indefinite wait is indicated.
       = 0D                                           A check for completion is specified.
       < -1D                                          File-system error 590 occurs.
       omitted                                        An indefinite wait is indicated.


       segment-id, INT .EXT:ref:1 (AWAITIOX only)                output


       < (CCL)                                        An error occurred (call FILEINFO).
       = (CCE)                                        An I/O operation finished.
       > (CCG)                                        A warning occurred (call FILEINFO).

      BACKSPACEEDIT
      Sets the current record number of an IOEdit file to that of the line preceding what was
      the current record before the call. BACKSPACEEDIT is an IOEdit procedure and can
      be used only with files that have been opened by OPENEDIT or OPENEDIT_.


       error := BACKSPACEEDIT ( filenum );


       error, INT                                     returned value
       filenum, INT:value                             input




                 Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                                 4 -9
Procedure Calls Summary (A-C)



      BINSEM_CLOSE_
      Closes access to a binary semaphore.


       error := BINSEM_CLOSE_ ( semid );


       error, INT                                    returned value


           0         No error.
           29        Required parameter missing. The semid parameter must be specified.
           4022      Invalid parameter. The semid parameter does not identify a binary semaphore
                     that is opened by the calling process. The corresponding OSS errno value is
                     EINVAL.
           4045      Deadlock. The binary semaphore specified by semid cannot be closed because
                     it is locked by the calling process. The corresponding OSS errno value is
                     EDEADLK.


       semid, INT(32):value                          input

      BINSEM_CREATE_
      Creates, opens, and locks a binary semaphore.


       error := BINSEM_CREATE_ ( semid
                                ,security );


       error, INT                                    returned value


           0        No error.
           22       Bounds error. The semid parameter cannot be written to by the calling
                    process.
           29       Required parameter missing. The semid and security parameters must be
                    specified.




                Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                                4- 10
Procedure Calls Summary (A-C)



           4022     Invalid parameter. The security parameter is not a valid value. Specifying
                    an invalid value for security could cause unpredictable results in future
                    releases. The corresponding OSS errno value is EINVAL.
           4024     Process cannot open the binary semaphore. The process has reached the
                    maximum number of binary semaphores it can open, or the process file segment
                    (PFS) has reached the maximum limit of available space. The corresponding
                    OSS errno value is EMFILE.
           4028     No space. The processor has reached the maximum limit of space available for
                    binary semaphores. The corresponding OSS errno value is ENOSPC.


       semid, INT(32) .EXT:ref:1                     output
       security, INT:value                           input

      BINSEM_FORCELOCK_
      Forces a lock on a binary semaphore.


       status := BINSEM_FORCELOCK_ ( semid
                                    ,processhandle );


       status, INT                                   returned value


           0        No error.
           22       Bounds error. The processhandle parameter cannot be written to by the
                    calling process.
           4022     Invalid parameter. The semid parameter does not identify a binary semaphore
                    that is opened by the calling process. The corresponding OSS errno value is
                    EINVAL.
           4045     Deadlock. The binary semaphore was forsaken before the procedure call, and it
                    is now locked. The corresponding OSS errno value is EDEADLK.
           4103     Already locked. The binary semaphore was locked by the calling process before
                    the procedure call, and it remains locked. The corresponding OSS errno value
                    is EALREADY.


       semid, INT(32):value                          input
       processhandle, INT .EXT:ref:10                output




                Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                                4- 11
Procedure Calls Summary (A-C)



      BINSEM_LOCK_
      Locks a binary semaphore.


       status := BINSEM_LOCK_ ( semid
                               ,timeout );


       status, INT                                    returned value


           0        No error. The binary semaphore becomes locked.
           4011     Operation timed out. The time-out value was reached before the binary
                    semaphore could be locked. The corresponding OSS errno value is EAGAIN.
           4022     Invalid parameter. The semid parameter does not identify a binary semaphore
                    that is opened by the calling process. The corresponding OSS errno value is
                    EINVAL.
           4045     Deadlock. The binary semaphore was forsaken before the procedure call, and it
                    is now locked. The corresponding OSS errno value is EDEADLK.


       semid, INT(32):value                           input
       timeout, INT(32):value                         input

      BINSEM_OPEN_
      Opens a binary semaphore.


       error := BINSEM_OPEN_ ( semid
                              ,processhandle
                              ,proc-semid );


       error, INT                                     returned value


           0        No error.
           22       Bounds error. The semid parameter cannot be written by the calling process, or
                    the processhandle parameter cannot be read from the calling process.
           29       Required parameter missing. The semid, processhandle, and proc-
                    semid parameters must be specified.
           4002     No entry. The proc-semid and processhandle parameters do not identify
                    a binary semaphore in the processor. The corresponding OSS errno value is
                    ENOENT.



                Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                                4- 12
Procedure Calls Summary (A-C)



           4013    Invalid access. The calling process does not have access to the binary semaphore
                   because of its security. The security for a binary semaphore is set by the
                   BINSEM_CREATE_ procedure. The corresponding OSS errno value is
                   EACCESS.
           4022    Invalid parameter. The processhandle parameter does not specify a process.
                   A process that is being created or is terminating is treated as though it does not
                   exist. The corresponding OSS errno value is EINVAL.
           4024    Process cannot open the binary semaphore. The process has reached the
                   maximum number of binary semaphores it can open, or the process file segment
                   (PFS) has reached the maximum limit of available space. The corresponding
                   OSS errno value is EMFILE.


       semid, INT(32) .EXT:ref:1                       output
       processhandle, INT .EXT:ref:10                  input
       proc-semid, INT(32):value                       input

      BINSEM_UNLOCK_
      Unlocks a binary semaphore.


       error := BINSEM_UNLOCK_ ( semid );


       error, INT                                      returned value


           0        No error.
           4001     Cannot lock. The semid parameter is not locked by the calling process. The
                    corresponding OSS errno value is EPERM.
           4022     Invalid parameter. The semid parameter does not identify a binary semaphore
                    that is opened by the calling process. The corresponding OSS errno value is
                    EINVAL.


       semid, INT(32):value                            input

      BREAKMESSAGE_SEND_
      Sends a break-on-device message to a specified process.


       error := BREAKMESSAGE_SEND_ ( processhandle
                                    ,receiver-filenum
                                    ,[ breaktag ] );




               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               4- 13
Procedure Calls Summary (A-C)




       error, INT                                   returned value
       processhandle, INT .EXT:ref:10               input
       receiver-filenum, INT:value                  input
       breaktag, INT .EXT:ref:2                     input

      CANCEL
      Cancels the oldest incomplete operation on a file opened for nowait I/O.


       CALL CANCEL ( filenum );


       filenum, INT:value                           input


       < (CCL)                                      An error occurred (call FILEINFO).
       = (CCE)                                      The operation was canceled.

      CANCELPROCESSTIMEOUT
      Cancels a timer set by SIGNALPROCESSTIMEOUT.


       CALL CANCELPROCESSTIMEOUT ( tag );


       tag, INT:value                               input


       = (CCE)                                CANCELPROCESSTIMEOUT was successful.
       > (CCG)                                The value of tag was invalid.

      CANCELREQ
      Cancels an incomplete operation on a file opened for nowait I/O.


       CALL CANCELREQ ( filenum ,[ tag ] );


       filenum, INT:value                           input
       tag, INT(32):value                           input




               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               4- 14
Procedure Calls Summary (A-C)




       < (CCL)                                             An error occurred (call FILEINFO).
       = (CCE)                                             The operation was canceled.

      CANCELTIMEOUT
      Cancels a timer initiated by SIGNALTIMEOUT.


       CALL CANCELTIMEOUT ( tag );


       tag, INT:value                                      input


       = (CCE)                                             CANCELTIMEOUT finished successfully.
       > (CCG)                                             The value of tag was invalid.

      CHANGELIST
      Controls polling when the application program acts as a supervisor or tributary station in
      a centralized multipoint configuration.


       CALL CHANGELIST ( filenum ,function ,parameter );


       filenum, INT:value                                  input
       function, INT:value                                 input


           >= 0     Changes the poll state bit.
           -1       Changes the polling type.
           -2       Restores all partially disabled stations.


       parameter, INT:value                                input


           >= 0                                   Set (1) or clear (0) poll or select state bit.
           -1                                     Continuous polling (0) or noncontinuous polling (>0).
           -2                                     Dummy value.


       < (CCL)                                An error occurred (call FILEINFO).
       = (CCE)                                The CHANGELIST procedure executed successfully.


                Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                                4- 15
Procedure Calls Summary (A-C)



      CHECK^BREAK
      Tests whether the BREAK key has been pressed since the last CHECK^BREAK.
      CHECK^BREAK is a sequential I/O (SIO) procedure and can be used only with files
      that have been opened by OPEN^FILE.


       state := CHECK^BREAK ( { common-fcb }
                              { file-fcb   } );


       state, INT                                   returned value


           1     The BREAK key was pressed; the process owns BREAK.
           0     The BREAK key was not pressed; this process does not own BREAK.

       common-fcb, INT:ref:*                        input
       file-fcb, INT:ref:*                          input

      CHECK^FILE
      Checks the file characteristics. CHECK^FILE is a sequential I/O (SIO) procedure and
      can be used only with files that have been opened by OPEN^FILE.


       retval := CHECK^FILE ( { common-fcb }
                              { file-fcb   }
                             ,operation );


       retval, INT                                  returned value
       common-fcb, INT:ref:*                        input
       file-fcb, INT:ref:*                          input
       operation, INT:value                         input

      CHECKALLOCATESEGMENT
      (Superseded by SEGMENT_ALLOCATE_CHKPT_) Allocates an extended data
      segment for use by the backup process in a NonStop process pair.


       CALL CHECKALLOCATESEGMENT ( segment-id
                                  ,[ filename ]
                                  ,[ pin-and-flags ]
                                   ,error );


               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               4- 16
Procedure Calls Summary (A-C)




       segment-id, INT:value                               input
       filename, INT .EXT:ref:12                           input
       pin-and-flags, INT:value                            input


           <8:15>       Optional PIN for segment sharing.
           <5:7>        Not used; must be zero (0).
           <4>          Allocate an extensible segment.
           <3>          Allocate a segment sharable by the file-name method.
           <2>          Allocate a writeback-inhibit segment.
           <1>          If 1, bits <8:15> are ignored.
           <1>          If 0, allocate a segment sharable by the PIN method.


       error, INT .EXT:ref:1                               output


           2        Segment is not allocated by the primary process or segment ID is invalid.
           22       Bounds error on file name.
           29       The segment-id parameter is missing.
           30       No message-system control blocks available.
           31       Cannot use the PFS, or there is no room in the PFS for a message buffer in either
                    the backup process or the primary process.
           201      Unable to link to the backup process.


       < (CCL)       Error is missing, or there is a bounds error on the error parameter.
       = (CCE)       Is set by all other errors (see error parameter).

      CHECKCLOSE
      (Superseded by FILE_CLOSE_CHKPT_) Is called by a primary process to close a
      designated file in its backup process.


       CALL CHECKCLOSE ( filenum ,[ tape-disposition ] );


       filenum, INT:value                                  input
       tape-disposition, INT:value                         input




                 Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                                 4- 17
Procedure Calls Summary (A-C)




           <13:15>


           0      Rewind and unload, do not wait for completion (default).
           1      Rewind, take offline, do not wait for completion.
           2      Rewind, leave online, do not wait for completion.
           3      Rewind, leave online, wait for completion.
           4      Do not rewind, leave online.


       < (CCL)        An invalid file number was supplied, or the backup process does not exist.
       = (CCE)        The close was successful.

      CHECKDEALLOCATESEGMENT
      (Superseded by SEGMENT_DEALLOCATE_CHKPT_) Removes an extended data
      segment from use by the backup process in a NonStop process pair.


       CALL CHECKDEALLOCATESEGMENT ( segment-id
                                    ,[ flags ]
                                    ,error );


       segment-id, INT:value                            input
       flags, INT:value                                 input


           <0:14>       Must be 0.
           <15>         1 = Dirty pages in memory will not be copied to the swap file.
                        0 = Dirty pages in memory will be copied to the swap file.


       error, INT .EXT:ref:1                            output


           2        Segment ID invalid or backup process could not deallocate segment.
           29       The segment-id parameter is missing.
           30       No control blocks available for linking.
           31       Cannot use the process file segment (PFS), or the PFS has no room for a message
                    buffer in either the backup or the primary.
           201      Unable to link to the backup.




                 Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                                 4- 18
Procedure Calls Summary (A-C)




       < (CCL)      The error parameter is missing, or a bounds error occurred on the error
                    parameter.
       = (CCE)      Is set by all other errors (see error parameter)

      CHECKDEFINE
      Updates a backup process with a DEFINE that was changed in the primary process.


       status := CHECKDEFINE [ ( define-name ) ];


       status, INT                                      returned value


           <0:7>        0 = Operation successful.
                        1 = Could not communicate with backup.
           <8:15>       File-system error number.


       define-name, STRING .EXT:ref:24                  input

      CHECKMONITOR
      Is called by a backup process to monitor the state of the primary process and to return
      control to the appropriate point (in the backup process) in the event the primary process
      fails.


       status := CHECKMONITOR;


       status, INT                                      returned value


           <0:7>       =2
           <8:15>      =0   The primary process stopped.
                       =1   The primary process ended abnormally.
                       =2   The processor running the primary process failed.
                       =3   The primary process called CHECKSWITCH.




               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               4- 19
Procedure Calls Summary (A-C)



      CHECKOPEN
      (Superseded by FILE_OPEN_CHKPT_) Is called by a primary process to open a
      designated file for the primary’s backup process.


       CALL CHECKOPEN ( filename
                       ,filenum
                       ,[ flags ]
                       ,[ sync-or-receive-depth ]
                       ,[ sequential-block-buffer ]
                       ,[ buffer-length ]
                       ,backerror );


       filename, INT:ref:12                               input
       filenum, INT:value                                 input, output
       flags, INT:value                                   input


           <0>        1         Specifies that the “last open time” attribute of the file being opened is
                                not updated by this open (disk files only).
           <1>        $RECEIVE only, specifies whether the opener wants to receive open, close,
                      CONTROL, SETMODE, SETPARAM, RESETSYNC, and CONTROLBUF
                      messages:
                      0         Does not want messages
                      1         Wants messages
           <2>        Unstructured access to an Enscribe file structure:
                      0         No
                      1         Yes
           <3>        Reserved.
           <4:5>      Access mode:
                      0         Read/write
                      1         Read-only
                      2         Write-only
                      3         Reserved
           <6>        Resident buffering for unstructured files:
                      0         No
                      1         Yes
           <7>        Must be 0
           <8>        For process files, open message is sent nowait and must be completed by a
                      call to AWAITIO[X]:


               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               4- 20
Procedure Calls Summary (A-C)



                       0        No
                       1        Yes
           <9>         Must be 0
           <10:11>     Exclusion mode:
                       0        Shared
                       1        Exclusive
                       2        Process exclusive
                       3        Protected
           <12:15>     Type of I/O:
                       0        Wait I/O
                       >0       Nowait I/O and the maximum number of concurrent nowait I/O
                                operations that can be in progress at a given time

       sync-or-receive-depth, INT:value                input
       sequential-block-buffer, INT:ref:*              input
       buffer-length, INT:value                        input
       backerror, INT:ref:1                            output


           Š0      File-system error number for FILE_OPEN_ in the backup process.
           -1      Backup process not running, or checkpoint facility could not communicate with
                   the backup process.


       < (CCL)       The open failed. The file-system error number is returned in backerror.
       = (CCE)       The file opened successfully.
       > (CCG)       The open was successful, but an exceptional condition was detected. The file-
                     system error number returns in backerror.

      CHECKPOINT
      (Superseded by CHECKPOINTX) Is called by a primary process to send information
      about the primary process’s current executing state to the backup process.


       status := CHECKPOINT

       ( [ stack-base ], [ buffer-1 ], [ count-1 ]
                       , [ buffer-2 ], [ count-2 ]
                                 .             .
                       , [ buffer-13 ], [ count-13 ] );



                Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                                4- 21
Procedure Calls Summary (A-C)




       status, INT                                     returned value


       <0:7>    =0     No error.
       <0:7>    =1     No backup, or CHECKPOINT cannot communicate with backup,
                       <8:15> = filesystem error number
       <0:7>    =2     Takeover from the primary,
                       <8:15>      =0    The primary process stopped.
                                   =1    The primary process ended abnormally.
                                   =2    The processor running the primary process failed.
                                   =3    The primary process called CHECKSWITCH.
       <0:7>    =3     Illegal parameter,
                       <8:15>      =     The number of the parameter in error; the leftmost position
                                         equals 1.


       stack-base, INT:ref:*                           input
       buffer-n, INT:ref:*                             input
       count-n, INT:value                              input

      CHECKPOINTMANY
      (Superseded by CHECKPOINTMANYX) Is called by a primary process to send
      information about the primary process’s current executing state to the backup process.


       status := CHECKPOINTMANY ( [ stack-base ]
                                 ,[ descriptors ] );


       status, INT                                     returned value


       <0:7>    =0     No error.
       <0:7>    =1     No backup, or CHECKPOINTMANY cannot communicate with backup,
                       <8:15> = filesystem error number
       <0:7>    =2     Takeover from the primary,
                       <8:15>       =0       The primary process stopped.
                                    =1       The primary process ended abnormally.
                                    =2       The processor running the primary process failed.
                                    =3       The primary process called CHECKSWITCH.
       <0:7>    =3     Illegal parameter,
                       <8:15>       =1       Error in the stack-base parameter.
                                    =n       n > 1 Error in word [n-2].

               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               4- 22
Procedure Calls Summary (A-C)




       stack-base, INT:ref:*                           input
       descriptors, INT:ref:*                          input

      CHECKPOINTMANYX
      Is called by a primary process to send information about the primary process’s current
      executing state to the backup process when more than five pieces of information are
      sent.


       status := CHECKPOINTMANYX ( [ stack-base ]
                                  ,[ descriptors ] );


       status, INT                                     returned value


       <0:7>   =0    No error.
       <0:7>   =1    No backup, or CHECKPOINTMANYX cannot communicate with the backup,
                     <8:15> = file-system error number.
       <0:7>   =2    Takeover from primary,
                     <8:15>      =0       The primary process stopped.
                                 =1       The primary process ended abnormally.
                                 =2       The processor running the primary process failed.
                                 =3       The primary process called CHECKSWITCH.
       <0:7>   =3    Illegal parameter,
                     <8:15>      =1       Error in stack-base parameter.
                                 =2       Bounds error on descriptors.
                                 =3       Descriptor parameter set number + 2 (modulo 256).


       stack-base, INT:ref:*                           input
       descriptors, INT .EXT:ref:*                     input




               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               4- 23
Procedure Calls Summary (A-C)



      CHECKPOINTX
      Is called by a primary process to send information about the primary process’s current
      executing state to the backup process.


       status := CHECKPOINTX ( [ stack-base ]
        ,[ segment-id1 ], [ bufferx-1 ], [ count-1 ]
        ,[ segment-id2 ], [ bufferx-2 ], [ count-2 ]
        ,[ segment-id5 ], [ bufferx-5 ], [ count-5 ] );


       status, INT                                      returned value


       <0:7>    =0     No error.
       <0:7>    =1     No backup, or CHECKPOINTX cannot communicate with the backup,
                       <8:15>      = file-system error number.
       <0:7>    =2     Takeover from the primary process,
                       <8:15>      =0       The primary process stopped.
                                   =1       The primary process stopped.
                                   =2       The processor running the primary process failed.
                                   =3       The primary process called CHECKSWITCH.
       <0:7>    =3     Illegal parameter,
                       <8:15>      The number of the parameter in error.
                                   =1       stack-base parameter.
                                   =2       Parameter set 1.
                                   =3       Parameter set 2.
                                   =4       Parameter set 3.
                                   =5       Parameter set 4.
                                   =6       Parameter set 5.
                                   =7       The total message is too large.

       stack-base, INT:ref:*                            input
       segment-idn, INT:value                           input
       bufferx-n, STRING .EXT:ref:*                     input
       count-n, INT(32):value                           input




               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               4- 24
Procedure Calls Summary (A-C)



      CHECKRESIZESEGMENT
      Complements the RESIZESEGMENT procedure.


       CALL CHECKRESIZESEGMENT ( segment-id
                                ,error );


       segment-id, INT:value                            input
       error, INT .EXT:ref:1                            output


           2         Segment not allocated by the primary process or segment ID is invalid.
           29        The segment-id is missing.
           30        No control blocks available for linking.
           31        Cannot use the process file segment (PFS), or the PFS has no room for a
                     message buffer in either the backup process or the primary process.
           201       Unable to link to the backup process.


       < (CCL)        Is returned if the error parameter is missing or if there is a bounds error on
                      the error parameter.
       = (CCE)        Indicates any condition not set by CCL.
       > (CCG)        Is not returned from this procedure.

      CHECKSETMODE
      Allows a primary process of a NonStop process pair to propagate SETMODE operations
      to the backup process of the pair.


       CALL CHECKSETMODE ( filenum ,function ,error );


       filenum, INT:value                               input
       function, INT:value                              input


           12        Set terminal access mode.
           30        Allow nowait I/O operations to complete in any order.
           36        Allow requests to be queued on $RECEIVE, based on process priority.
           71        Set transmission priority.
           72        Force system buffering for nowait files.
           80        Set system message modes.

                 Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                                 4- 25
Procedure Calls Summary (A-C)



           117       Set TRANSID forwarding.
           141       Enable/disable large transfers.
           149       Set alternate key insertion locking.


       error, INT .EXT:ref:1                                output


           2         The value of function is not one of the allowed values.
           29        The filenum or function parameter is missing.
           30        No message control blocks are available.
           31        Cannot use the process file segment (PFS), or the PFS has no room for a
                     message buffer in either the backup process or the primary process.
           201       Unable to link to the backup process.


       < CCL       The error parameter is missing, or there is a bounds error on the error
                   parameter.
       = CCG       All other errors.

      CHECKSWITCH
      Is called by a primary process to interchange the duties of the primary and backup
      processes.


       status := CHECKSWITCH;


       status, INT                                          returned value

           <0:7> = 1      Could not communicate with the backup.
                          <8:15>       = The file-system error number.
           <0:7> = 2      <8:15>
                          =0           The primary process stopped.
                          =1           The primary process ended abnormally.
                          =2           The processor running the primary process failed.
                          =3           The primary process called CHECKSWITCH.




                 Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                                 4- 26
Procedure Calls Summary (A-C)



      CHILD_LOST
      Examines a system message to determine whether a specified process or process pair has
      been lost.


       error := CHILD_LOST_ ( message:length
                             ,processhandle );


       error, INT                                        returned value


           0      Process or process pair is not lost.
           1      Reserved.
           2      Parameter error.
           3      Bounds error.
           4      Process or process pair is lost.
           5      System message is not relevant.


       message:length, STRING .EXT:ref:*, INT:value                       input:input


           -2       Local processor down.
           -5       Process deletion (stop).
           -6       Process deletion (abend).
           -8       Network status change.
           -100     Remote processor down.
           -101     Process deletion.
           -110     Connection to remote system lost.


       processhandle, INT .EXT:ref:10                    input

      CLOSE
      (Superseded by FILE_CLOSE_) Is called by a primary process to close a designated file
      in its backup process.


       CALL CLOSE ( filenum ,[ tape-disposition ] );




                Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                                4- 27
Procedure Calls Summary (A-C)




       filenum, INT:value                                input
       tape-disposition, INT:value                       input
       <13:15>


           0     Rewind and unload, do not wait for completion.
           1     Rewind, take offline, do not wait for completion.
           2     Rewind, leave online, do not wait for completion.
           3     Rewind, leave online, wait for completion.
           4     Do not rewind, but leave the file online.


       < (CCL)       The file was not open, or for $RECEIVE or the TFILE, there is an outstanding
                     operation using an active transaction.
       = (CCE)       The close operation was successful.

      CLOSE^FILE
      Closes a file. CLOSE^FILE is a sequential I/O (SIO) procedure and can be used only
      with files that have been opened by OPEN^FILE.


       error := CLOSE^FILE ( { common-fcb }
                             { file-fcb   }
                            ,[ tape-disposition ] );


       error, INT                                        returned value
       common-fcb, INT:ref:*                             input
       file-fcb, INT:ref:*                               input
       tape-disposition, INT:value                       input


           0     Rewind, unload, and do not wait for completion.
           1     Rewind, take offline, and do not wait for completion.
           2     Rewind, leave online, and do not wait for completion.
           3     Rewind, leave online, and wait for completion.
           4     Do not rewind, leave the file online.




               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               4- 28
Procedure Calls Summary (A-C)



      CLOSEALLEDIT
      Closes all open IOEdit files. CLOSEALLEDIT is an IOEdit procedure and can be used
      only with files that have been opened by OPENEDIT or OPENEDIT_.


       CALL CLOSEALLEDIT;

      CLOSEEDIT
      Closes a specified file that was opened by OPENEDIT or OPENEDIT_. CLOSEEDIT is
      an IOEdit procedure and can be used only with files that have been opened by
      OPENEDIT or OPENEDIT_.


       CALL CLOSEEDIT ( filenum
                       ,[ keep-filenum ] );


       filenum, INT:value                           input
       keep-filenum, INT:value                      input

      CLOSEEDIT_
      Closes a specified file that was opened by OPENEDIT or OPENEDIT_. CLOSEEDIT_
      is an IOEdit procedure and can be used only with files that have been opened by
      OPENEDIT or OPENEDIT_.


       error := CLOSEEDIT_ ( filenum                                       ! i
                            ,[ keep-filenum ] );                           ! i


       error                                        returned value
       filename                                     input
       keep-filenum,INT:value                       input

      COMPLETEIOEDIT
      Informs IOEdit that an outstanding I/O request has finished. COMPLETEIOEDIT is an
      IOEdit procedure and can be used only with files that have been opened by OPENEDIT
      or OPENEDIT_.


       status := COMPLETEIOEDIT ( filenum
                                 ,count-transferred
                                 ,tag );


               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               4- 29
Procedure Calls Summary (A-C)




       status, INT                            returned value
       filenum, INT .EXT:ref:1                input, output
       count-transferred, INT:value           input
       tag, INT(32):value                     input

      COMPRESSEDIT
      Copies a specified EDIT file to a new EDIT file that it creates. COMPRESSEDIT is an
      IOEdit procedure and can be used only with files that have been opened by OPENEDIT
      or OPENEDIT_.


       error := COMPRESSEDIT ( filenum
                              ,[ start ]
                              ,[ increment ] );


       error, INT                                     returned value
       filenum, INT .EXT:ref:1                        input, output
       start, INT(32):value                           input
       increment, INT(32):value                       input

      COMPUTEJULIANDAYNO
      Converts a Gregorian calendar date on or after January 1, 0001, to a Julian day number.


       julian-day-num := COMPUTEJULIANDAYNO ( year
                                             ,month
                                             ,day
                                             ,[ error-mask ] );


       julian-day-num, INT(32)                        returned value
       year, INT:value                                input
       month, INT:value                               input
       day, INT:value                                 input
       error-mask, INT:ref:1                          output


           <0>    Year.
           <1>    Month.
           <2>    Day.


               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               4- 30
Procedure Calls Summary (A-C)



      COMPUTETIMESTAMP
      Converts a Gregorian (common civil calendar) date and time into a 64-bit Julian
      timestamp.


       ret-timestamp := COMPUTETIMESTAMP ( date-n-time
                                          ,[ errormask ] );


       ret-timestamp, FIXED                            returned value
       date-n-time, INT:ref:8                          input


           [0]        The Gregorian year (yyyy, for example, 1986).
           [1]        The Gregorian month                               (1-12).
           [2]        The Gregorian day of the month                    (1-31).
           [3]        The hour of the day                               (0-23).
           [4]        The minute of the hour                            (0-59).
           [5]        The second of the minute                          (0-59).
           [6]        The millisecond of the second                     (0-999).
           [7]        The microsecond of the millisecond                (0-999).


       errormask, INT:ref:1            output


           <0>      Year
           <1>      Month
           <2>      Day
           <3>      Hour of day
           <4>      Minute of hour
           <5>      Second of minute
           <6>      Millisecond of second
           <7>      Microsecond of millisecond




                 Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                                 4- 31
Procedure Calls Summary (A-C)



      CONFIG_GETINFO_BYLDEV
      CONFIG_GETINFO_BYNAME
      Obtain the logical and physical attributes of a device on a G-series release. Use the
      CONFIG_GETINFO_BYLDEV procedure to specify the device by logical device
      number. Use the CONFIG_GETINFO_BYNAME procedure to specify the device by
      name.
      Note. These procedures are supported only on G-series releases. To obtain information about
      devices on D-series releases, call one of the following procedures:
      FILE_GETINFOBYNAME_, DEVICE_GETINFOBYNAME_, or DEVICE_GETINFOBYLDEV_.



       error := CONFIG_GETINFO_BYLDEV_ ( ldevnum
                                        ,common-info
                                        ,common-info-maxlen
                                        ,common-info-len
                                        ,specific-info
                                        ,specific-info-maxlen
                                        ,specific-info-len
                                        ,timeout
                                        , error-detail );

       error := CONFIG_GETINFO_BYNAME_ ( devname:length
                                        ,common-info
                                        ,common-info-maxlen
                                        ,common-info-len
                                        ,specific-info
                                        ,specific-info-maxlen
                                        ,specific-info-len
                                        ,timeout
                                        , error-detail );


       error, INT(32)                                   returned value


           0D       Information was successfully returned.
           1D       Either the device or the process simulating a device detected a file-system error;
                    error-detail contains a file-system error number.
           2D       Parameter error; error-detail contains the number of the first parameter to
                    be in error, where 1D designates the first parameter on the left.
           3D       Bounds error; error-detail contains the number of the first parameter to be
                    in error, where 1D designates the first parameter on the left.
           4D       Either the device or the process simulating a device detected an error; error-
                    detail contains the error number returned by the device.



                Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                                4- 32
Procedure Calls Summary (A-C)




       ldevnum (CONFIG_GETINTO_BYLDEV only)                     input
       devname:length, STRING .EXT:ref:*                        input:input
       (CONFIG_GETINTO_BYDEVNAME only)
       common-info                                              output
       common-info-maxlen, INT:value                            input
       common-info-len, INT .EXT:ref:1                          output
       specific-info, INT .EXT:ref:*                            output
       specific-info-maxlen, INT:value                          input
       specific-info-len, INT .EXT:ref:1                        output
       timeout, INT(32):value                                   input
       error-detail                                             output

      CONFIG_GETINFO_BYLDEV2
      CONFIG_GETINFO_BYNAME2
      The CONFIG_GETINFO_BYLDEV2_ and CONFIG_GETINFO_BYNAME2_
      procedures are variants of CONFIG_GETINFO_BYLDEV and
      CONFIG_GETINFO_BYNAME. The CONFIG_GETINFO_BYLDEV2_ and
      CONFIG_GETINFO_BYNAME2_ procedures allow the caller to specify device names
      that do not conform to Guardian file-name formats as required by some communication
      devices.
      Note. These procedures are supported only on G-series releases. To obtain information about
      devices on D-series releases, call one of the following procedures:
      FILE_GETINFOBYNAME_, DEVICE_GETINFOBYNAME_, or DEVICE_GETINFOBYLDEV_.



       error := CONFIG_GETINFO_BYLDEV2_ ( ldevnum
                                        ,common-info
                                        ,common-maxlen
                                        ,common-len
                                        ,specific-info
                                        ,specific-maxlen
                                        ,specific-len
                                        ,timeout
                                       ,error-detail );




               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               4- 33
Procedure Calls Summary (A-C)



       error := CONFIG_GETINFO_BYNAME2_ ( devname:length
                                        ,common-info
                                        ,common-maxlen
                                        ,common-len
                                        ,specific-info
                                        ,specific-maxlen
                                        ,specific-len
                                        ,timeout
                                       ,error-detail );


       error, INT(32)                                returned value


           0D     Device found and data is returned. The value of error-detail is set to
                  zero.
           1D     Device or subtype 30 process returned an error. The error is reported in
                  error-detail.
           2D     Required parameter is invalid. The value of error-detail is set to the
                  ordinal number of the invalid parameter.
           3D     Bounds error; a reference parameter contained an illegal address. The value
                  of error-detail is set to the ordinal number of the invalid parameter.
           4D     Device returned error or invalid data to the inquiry. If error-detail is -
                  1, then the device returned zero and the response is invalid. Otherwise,
                  error-detail is the value of the error returned to the inquiry by the
                  device.

       ldevnum (CONFIG_GETINFO_BYLDEV only), INT(32):value                     input
       devname:length (CONFIG_GETINFO_BYDEVNAME only),                         input: input
       STRING .EXT:ref:*, INT:value
       common-info, INT .EXT:ref:(ZSYS^DDL^CONFIG^GETINFO2)                    output
       common-maxlen, INT:value                                                input
       common-len, INT .EXT:ref:1                                              output
       specific-info, INT .EXT:ref:1                                           output
       specific-maxlen, INT:value                                              input
       specific-len, INT .EXT:ref:1                                            output
       timeout, INT(32):value                                                  input
       error-detail, INT(32) .EXT:ref:1                                        output




                Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                                4- 34
Procedure Calls Summary (A-C)



      CONTIME
      Converts a 48-bit timestamp to a date and time in integer form.


       CALL CONTIME ( date-and-time ,t0 ,t1 ,t2 );


       date-and-time, INT:ref:7                        output


           [0]     Year       (1975, 1976, ... ).
           [1]     Month      (1-12).
           [2]     Day        (1-31).
           [3]     Hour       (0-23).
           [4]     Minute     (0-59).
           [5]     Second     (0-59).
           [6]     0.01 sec   (0-99).


       t0, t1, t2, INT:ref:3                           input

      CONTROL
      Performs device-dependent I/O operations.


       CALL CONTROL ( filenum ,operation ,param ,[ tag ] );


       filenum, INT:value                              input
       operation, INT:value                            input
       param, INT:value                                input
       tag, INT(32):value                              input


       < (CCL)       An error occurred (call FILEINFO).
       = (CCE)       CONTROL was successful.
       > (CCG)       For magnetic tape, the end of file (EOF) was encountered while spacing records;
                     for a process file, the process is not accepting CONTROL system messages.
                     When device handlers do not allow the operation, file-system error 2 returns.


      Note. CONTROL operations are summarized in Section 9, CONTROL Operations. CONTROL
      operations used with the I/O devices are discussed in the Guardian Procedure Calls Reference
      Manual.

                 Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                                 4- 35
Procedure Calls Summary (A-C)



      CONTROLBUF
      Performs device-dependent I/O operations requiring a data buffer.


       CALL CONTROLBUF ( filenum
                        ,operation
                        ,buffer
                        ,count
                        ,[ count-transferred ]
                        ,[ tag ] );


       filenum, INT:value                               input
       operation, INT:value                             input
       buffer, INT:ref:*                                input
       count, INT:value                                 input
       count-transferred, INT:ref:1                     output
       tag, INT(32):value                               input


       > (CCL)     An error occurred (call FILEINFO).
       = (CCE)     CONTROLBUF was successful.
       > (CCG)     For a process file, the process is not accepting CONTROLBUF system messages.

      CONTROLMESSAGESYSTEM
      Controls the maximum number of receive and send XLBs (extended memory control
      blocks) used by a process.


       error := CONTROLMESSAGESYSTEM ( actioncode
                                      ,value );


       error, INT:ref:1                                 output


           0                                              Successful, no error
           2                                              Bad actioncode
           21                                             Bad value
           29                                             Missing parameter

       actioncode, INT:value                            input
       value, INT:value                                 input

                Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                                4- 36
Procedure Calls Summary (A-C)




           0    Sets the limit on the number of outstanding messages to the process, including time-
                limit expiration messages.
           1    Sets the limit on the number of outstanding messages sent by the process (the
                maximum number of send XLBs for this process).

      CONVERTASCIIEBCDIC
      Translates the 256 EBCDIC encodings to and from the 256 8-bit ASCII encodings. For
      more information, refer to the Guardian Procedure Calls Reference Manual.


       CALL CONVERTASCIIEBCDIC ( buffer                                           ! i
                                ,count                                            ! i
                                ,translation);                                    ! i


       buffer, STRING .EXT:ref:*                      input
       count, INT:value                               input
       translation, INT:value                         input

      CONVERTPROCESSNAME
      (Superseded by FILENAME_RESOLVE_) Converts a process name from local to
      network form.


       CALL CONVERTPROCESSNAME ( process-name );


       process-name, INT:ref:3                        input, output

      CONVERTPROCESSTIME
      Converts the quad microsecond process time returned by PROCESSTIME,
      MYPROCESSTIME, or PROCESSINFO into hours, minutes, seconds, milliseconds,
      and microseconds.


       CALL CONVERTPROCESSTIME ( process-time
                                ,[ hours ]
                                ,[ minutes ]
                                ,[ seconds ]
                                ,[ milliseconds ]
                                ,[ microseconds ] );




               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               4- 37
Procedure Calls Summary (A-C)




       process-time, FIXED:value                      input
       hours, INT:ref:1                               output
       minutes, INT:ref:1                             output
       seconds, INT:ref:1                             output
       milliseconds, INT:ref:1                        output
       microseconds, INT:ref:1                        output


       < (CCL)     The process-time parameter represents a quantity greater than 3.7 years.
       = (CCE)     CONVERTPROCESSTIME is successful.
       > (CCG)     One or more of the supplied output parameters failed the bounds check on the
                   address.

      CONVERTTIMESTAMP
      Converts a GMT timestamp to or from a local-time based timestamp within any
      accessible node in the network.


       ret-time := CONVERTTIMESTAMP ( julian-timestamp
                                     ,[ direction ]
                                     ,[ node ]
                                     ,[ error ] );


       ret-time, FIXED                                returned value
       julian-timestamp, FIXED:value                  input
       direction, INT:value                           input


           0                                          GMT to local civil time (LCT—the default).
           1                                          GMT to local standard time (LST).
           2                                          LCT to GMT.
           3                                          LST to GMT.


       node, INT:value                                input
       error, INT:ref:1                               output


           -5                                    Value of node is out of range.
           -4                                    Timestamp not supplied or has invalid value.
           -3                                    Invalid value supplied for direction.

                Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                                4- 38
Procedure Calls Summary (A-C)



           -2                                     Impossible LCT.
           -1                                     Ambiguous LCT.
            0                                     No errors, successful.
            1                                     DST range error.
            2                                     DST table not loaded.
           >2                                     File-system error (attempting to reach “NODE”).

      CPU_GETINFOLIST
      Use the PROCESSOR_GETINFOLIST_ procedure instead of CPU_GETINFOLIST.
      Calls to PROCESSOR_GETINFOLIST are identical in their format and values to those
      for CPU_GETINFOLIST.

      CPUTIMES
      Returns the length of time, since the cold load, in microseconds, that a given processor
      has spent in the busy, idle, or interrupt states.


       CALL CPUTIMES ( [           cpu ]
                      ,[           sysid ]
                      ,[           total-time ]
                      ,[           cpu-process-busy ]
                      ,[           cpu-interrupt ]
                      ,[           cpu-idle ] );


       cpu, INT:value                                  input
       sysid, INT:value                                input
       total-time, FIXED:ref:1                         output
       cpu-process-busy, FIXED:ref:1                   output
       cpu-interrupt, FIXED:ref:1                      output
       cpu-idle, FIXED:ref:1                           output


       < (CCL)      The system is unavailable or does not exist, the procedure could not get
                    resources to execute, or the system is running on a pre-B00 version of the
                    operating system.
       = (CCE)      CPUTIMES is successful.
       > (CCG)      The supplied parameters failed the bounds check.




                Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                                4- 39
Procedure Calls Summary (A-C)



      CREATE
      (Superseded by FILE_CREATE_ and FILE_CREATELIST_) Defines a new structured
      or unstructured disk file. This procedure operates only on Guardian objects.


       CALL CREATE ( filename
                    ,[ primary-extentsize ]
                    ,[ file-code ]
                    ,[ secondary-extentsize ]
                    ,[ file-type ]
                    ,[ recordlen ]
                    ,[ data-blocklen ]
                    ,[ key-sequenced-params ]
                    ,[ alternate-key-params ]
                    ,[ partition-params ]
                    ,[ maximum-extents ]
                    ,[ unstructured-buffer-size ]
                    ,[ open-defaults ] );


       filename, INT:ref:12                            input, output
       primary-extentsize, INT:value                   input
       file-code, INT:value                            input
       secondary-extentsize, INT:value                 input
       file-type, INT:value                            input


           <0:1>       Must be 0.
           <2>         In systems that have the TMF subsystem, this file is audited; for other
                       systems, this bit is 0.
           <3:9>       Must be 0.
           <10>        The file label is written to disk each time the end-of-file (EOF) is advanced.
           <11>        Specifies index compression for key-sequenced files (see the Enscribe
                       Programmer’s Guide).
           <12>        Specifies ODDUNSTR access to unstructured files and data compression for
                       key-sequenced files.
           <13:15>     Specifies the file structure:
                       0 = Unstructured (default).
                       1 = Relative.
                       2 = Entry-sequenced.
                       3 = Key-sequenced.




               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               4- 40
Procedure Calls Summary (A-C)




       recordlen, INT:value                                  input
       data-blocklen, INT:value                              input
       key-sequenced-params, INT:ref:3                       input
       alternate-key-params, INT:ref:*                       input
       partition-params, INT:ref:*                           input
       maximum-extents, INT:value                            input
       unstructured-buffer-size, INT:value                   input
       open-defaults, INT:value                              input


       <0>       =0      Verify writes off (default).
                 =1      Verify write on.
       <1>       =0      The system automatically selects serial or parallel writes.
                 =1      Serial mirror writes only.
       <2>       =0      Buffered writes enabled (the default for audited files).
                 =1      Write-thru (the default for nonaudited files).
       <3>       =0      Audit compression off (default).
                 =1      Audit compression on.


       < (CCL)        The create failed (call FILEINFO).
       = (CCE)        The file was created successfully.
       > (CCG)        The device is not a disk.

      CREATEPROCESSNAME
      (Superseded by PROCESSNAME_CREATE_) Returns a unique process name suitable
      for passing to NEWPROCESS and NEWPROCESSNOWAIT.


       CALL CREATEPROCESSNAME ( process-name );


       process-name, INT:ref:3                             output


       < (CCL)          The address passed for process-name is out of bounds.
       = (CCE)          CREATEPROCESSNAME was successful.
       > (CCG)          There were no unused names in the reserved name space ($Zddd, $Yddd,
                        $Xddd) for CREATEPROCESSNAME to use.




               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               4- 41
Procedure Calls Summary (A-C)



      CREATEREMOTENAME
      (Superseded by PROCESSNAME_CREATE_) Supplies a process name that is unique
      for the specified system in a network. (This process name goes into the name parameter
      of NEWPROCESS.)


       CALL CREATEREMOTENAME ( name ,sysnum );


       name, INT:ref:3                               output
       sysnum, INT:value                             input


       < (CCL)        The remote the DCT could not be accessed.
       = (CCE)        CREATEREMOTENAME was successful.
       > (CCG)        Indicates that there were no unused names in the reserved name space
                      ($Zddd, $Yddd, and $Xddd) for CREATEREMOTENAME to use.

      CREATORACCESSID
      (Superseded by PROCESS_GETINFO_ and PROCESS_GETINFOLIST_) Obtains the
      creator access ID (CAID) of the process that created the calling process.


       creator-access-id := CREATORACCESSID;


       creator-access-id, INT                        returned value


           <0:7>                                       Group number {0:255}
           <8:15>                                      User number {0:255}

      CRTPID_TO_PROCESSHANDLE_
      Converts a process ID (CRTPID) to the corresponding process handle.


       error := CRTPID_TO_PROCESSHANDLE_ ( process-id
                                          ,processhandle
                                          ,[ pair-flag ]
                                          ,[ node-number ] );




               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               4- 42
Procedure Calls Summary (A-C)




       error, INT                                   returned value
       process-id, INT .EXT:ref:4                   input
       processhandle, INT .EXT:ref:10               output
       pair-flag, INT .EXT:ref:1                    output
       node-number, INT(32):value                   input

      CURRENTSPACE
      Returns the ENV register (as saved in the stack marker) and a string (in ASCII)
      containing the space ID of the caller.


       stack-env := CURRENTSPACE [ ( ascii-space-id ) ];


       stack-env, INT                               returned value


           <4>                                        Library bit
           <7>                                        System code bit
           <11:15>                                    Space ID bits


       ascii-space-id, STRING:ref:5                 output




               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               4- 43
Procedure Calls Summary (A-C)




               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               4- 44
5         Procedure Calls Summary (D-F)
This section lists procedure calls in alphabetic order and briefly describes the syntax of
each. For additional information about the procedure calls, refer to the Guardian
Procedure Calls Reference Manual.

DAYOFWEEK
Takes a 32-bit Julian day number and returns the corresponding day of the week.


 day := DAYOFWEEK ( julian-day-num );


 day, INT                                       returned value


 julian-day-num, INT(32):value                  input


     0                                            Sunday, 1 = Monday, ..., 6 = Saturday.
     -1                                           The julian-day-num is negative.

DEALLOCATESEGMENT
(Superseded by SEGMENT_DEALLOCATE_) Deallocates an extended data segment
when the segment is no longer needed by the calling process.


 CALL DEALLOCATESEGMENT ( segment-id ,[ flags ] );


 segment-id, INT:value                          input
 flags, INT:value                               input


     <0:14>      =     Must be 0.
     <15>        =1    Dirty pages in memory will not be copied to the swap file.
                 =0    Dirty pages in memory will be copied to the swap file.


 < (CCL)      The segment is not deallocated. An illegal segment ID was supplied or the
              specified segment is currently in use by the system.
 = (CCE)      The segment is deallocated.
 > (CCG)      The segment is deallocated, but an I/O error occurred when the dirty pages were
              written to a segment’s permanent swap file.



          Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                          5 -1
Procedure Calls Summary (D-F)



      DEBUG
      directly invokes the debug facility.


       CALL DEBUG;

      DEBUGPROCESS
      (Superseded by PROCESS_DEBUG_) Invokes the debug facility on a process.


       CALL DEBUGPROCESS ( process-id
                          ,error
                          ,[ term ]
                          ,[ now ] );


       process-id, INT:ref:4                              input
       error, INT:ref:1                                   output


           0         No error.
           11        Specified process does not exist.
           13        Invalid name.
           14        Supplied process ID references an LDEV that does not exist.
           18        Specified system is not known.
           20        Supplied process ID tries to reference a process on a remote C-series system
                     using a process name of more than five characters.
           22        Parameter or buffer out of bounds.
           29        Missing parameter.
           48        Security violation.
           190       The value of term (or caller’s home terminal if term was not specified) is
                     not device type 6.
           201       Unable to communicate over this path.
           240-      Network errors.
           249
           250       All paths to the specified system are down.
           590       Bad parameter value.

       term, INT:ref:12                                   input
       now, INT:value                                     input


                 Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                                 5 -2
Procedure Calls Summary (D-F)



      DEFINEADD
      Adds a DEFINE to the calling process’s context using the attributes in the working set.
      DEFINEADD can replace an existing DEFINE with the attributes in the working set.


       error := DEFINEADD ( define-name
                           ,[ replace ]
                           ,[ checknum ] );


       error, INT                                       returned value


           0           Add was successful.
           2049        A syntax error occurred in name.
           2050        Define already exists.
           2051        Define does not exist.
           2052        Unable to obtain file-system buffer space.
           2053        Unable to obtain physical memory.
           2054        Bounds error in define-name.
           2057        Working set is not complete.
           2058        Working set is not consistent.
           2059        Working set is invalid.
           2066        Missing parameter.
           2069        The DEFMODE of the process does not permit the addition of the DEFINE.


       define-name, STRING .EXT:ref:24                  input
       replace, INT:value                               input
       checknum, INT:ref:1                              output


           001      Specify either RETENTION or EXPIRATION, not both.
           002      If you specify USE IN or EXTEND, you must include LABELS ANSI,
                    VOLUMES.
           003      If you specify VOLUME, you must also specify LABELS ANSI, LABELS IBM,
                    or LABELS IBMBACKUP. If you specify one of these LABELS, you must also
                    specify VOLUME.
           004      If you specify LABELS ANSI, you must not specify LABELS EBCDIC, and vice
                    versa.
           005      If you specify RECFORM F, then you must specify a BLOCKLEN that is a
                    multiple of RECLEN.


                 Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                                 5 -3
Procedure Calls Summary (D-F)



           006      If you specify DEVICE, you cannot specify SYSTEM in the same DEFINE, and
                    vice versa.
           007      If you specify LABELS BYPASS or LABELS OMITTED, then DEVICE is
                    required and the following attributes may not be specified: VOLUME, OWNER,
                    FILESECT, FILESEQ, FILEID, RETENTION, EXPIRATION, GEN,
                    VERSION, RECFORM, BLOCKLEN, RECLEN, REELS, USE, EBCDIC,
                    SYSTEM.
           008      If you specify VOLUME SCRATCH, then USE IN or USE EXTEND is not
                    allowed.
           009      If you specify LABELS IBM or LABELS IBMBACKUP, FILEID must be
                    specified.
           010      If you do not specify BLOCKLEN but do specify RECLEN, you must specify a
                    RECLEN value that is greater than 0.
           011      If you specify LABELS IBMBACKUP, the system you specify in the SYSTEM
                    or DEVICE attribute must have an operating system version of C20 or later.

      DEFINEDELETE
      Deletes a DEFINE from the calling process’s context.


       error := DEFINEDELETE ( define-name );


       error, INT                                     returned value


           0                                            Add was successful.
           2049                                         A syntax error occurred in name.
           2051                                         Define does not exist.
           2052                                         Unable to obtain file-system buffer space.
           2054                                         Bounds error in define-name.
           2066                                         Missing parameter.


      define-name, STRING .EXT:ref:24                input

      DEFINEDELETEALL
      Deletes all DEFINEs from the calling process’s context.


       CALL DEFINEDELETEALL;




                 Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                                 5 -4
Procedure Calls Summary (D-F)



      DEFINEINFO
      Returns selected information about a DEFINE.


       error := DEFINEINFO ( define-name
                            ,class
                            ,attribute-name
                            ,value-buf
                            ,value-buf-len
                            ,value-len );


       error, INT                                   returned value


           0                                          Add was successful.
           2049                                       A syntax error occurred in name.
           2051                                       Define does not exist.
           2052                                       Unable to obtain file-system buffer space.
           2054                                       Bounds error in define-name.
           2066                                       Missing parameter.


       define-name, STRING .EXT:ref:24              input
       class, STRING .EXT:ref:16                    output
       attribute-name, STRING .EXT:ref:16           output
       value-buf, STRING .EXT:ref:*                 output
       value-buf-len, INT:value                     output
       value-len, INT:ref:1                         output

      DEFINELIST
      Specifies the station addresses of the stations the application process wishes to
      communicate with, but only when the process acts as a supervisor or tributary station in
      a centralized multipoint configuration.


       CALL DEFINELIST ( filenum
                        ,address-list
                        ,address-size
                        ,num-entries
                        ,polling-count
                        ,polling-type );




               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               5 -5
Procedure Calls Summary (D-F)




       filenum, INT:value                            input
       address-list, INT:ref:*                       input
       address-size, INT:value                       input
       num-entries, INT:value                        input
       polling-count, INT:value                      input
       polling-type, INT:value                       input


       < (CCL)                          An error occurred (call FILEINFO).
       = (CCE                           The DEFINELIST procedure was executed successfully.

      DEFINEMODE
      Controls the use of DEFINEs.


       error := DEFINEMODE ( new-value
                            ,[ old-value ] );


       error, INT                                    returned value


           0                                       Success.
           2067                                    The value supplied in new-value is invalid.


       new-value, INT:value                          input
       old-value, INT:ref:1                          output

      DEFINENEXTNAME
      Returns the name of the DEFINE that follows the specified DEFINE (in ASCII order).


       error := DEFINENEXTNAME ( define-name );


       error, INT                                    returned value


           0                                           Successful.
           2049                                        A syntax error occurred in name.
           2051                                        DEFINE not found.


                Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                                5 -6
Procedure Calls Summary (D-F)



           2052                                       Unable to obtain file-system buffer space.
           2054                                       Parameter address is bad.
           2066                                       Missing parameter.
           2060                                       No more DEFINEs.


       define-name, STRING .EXT:ref:24              input, output

      DEFINEPOOL
      (Superseded by POOL_CHECK_, POOL_DEFINE_, POOL_GETINFO_,
      POOL_GETSPACE_, POOL_PUTSPACE_, and POOL_RESIZE_) Designates a
      portion of a user’s stack or an extended data segment for use as a pool.


       status := DEFINEPOOL ( pool-head
                             ,pool
                             ,pool-size );


       status, INT                                  returned value


           0                                   No error.
           1                                   Bounds error on pool-head.
           2                                   Bounds error on pool.
           3                                   Invalid pool-size.
           4                                   The pool-head and pool parameters overlap.
           5                                   The pool-head parameter is not word-aligned.
           6                                   The pool parameter is not word-aligned.

       pool-head, INT .EXT:ref:19                   output
       pool, INT .EXT:ref:*                         input
       pool-size, INT(32):value                     input




               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               5 -7
Procedure Calls Summary (D-F)



      DEFINEREADATTR
      Obtains the current value of an attribute in a DEFINE in the calling process’s context or
      in the working set.


       error := DEFINEREADATTR ( [ define-name ]
                                ,attribute-name
                                ,[ cursor ]
                                ,value-buf
                                ,value-buf-len
                                ,value-len
                                ,[ read-mode ]
                                ,[ info-word ] );


      error, INT                                         returned value

           0                                             Successful.
           2049                                          A syntax error occurred in name.
           2051                                          DEFINE not found.
           2052                                          An error occurred when placing PFS in use.
           2054                                          Bounds error on parameter.
           2055                                          Attribute not supported.
           2061                                          No more attributes (see “Considerations”).
           2066                                          Missing parameter.

       define-name, STRING .EXT:ref:24                   input
       attribute-name, STRING .EXT:ref:16                input, output
       cursor, INT:ref:1                                 input, output
       value-buf, STRING .EXT:ref:*                      output
       value-buf-len, INT:value                          input
       value-len, INT:ref:1                              output
       read-mode, INT:value                              input


           0       Search the present attributes only.
           1       Search the present plus required attributes that are not present.
           2       Search the present plus the required and optional attributes that are not present.




               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               5 -8
Procedure Calls Summary (D-F)




       info-word, INT:ref:1                            output


       <14:15>                                         Indicates the type of the attribute:
                                                       0 = Optional
                                                       1 = Defaulted
                                                       2 = Required

      DEFINERESTORE
      Uses a saved version of a DEFINE in the user’s buffer to create an active DEFINE. If an
      active DEFINE of the same name already exists, it can optionally be replaced. The
      saved DEFINE can also be placed in the working set without its name.


       error := DEFINERESTORE ( buffer
                               ,[ options ]
                               ,[ define-name ]
                               ,[ checknum ] );


       error, INT                                      returned value

           0        Successful.
           2050     DEFINE already exists and options.<15> is 0 or options is omitted.
           2051     DEFINE does not exist and options.<15> is 1.
           2052     Unable to obtain file system buffer space.
           2053     Unable to obtain physical memory.
           2054     Bounds error on buffer, define-name or checknum parameter.
           2055     Illegal attribute in saved DEFINE.
           2057     DEFINE or working set is incomplete.
           2058     DEFINE or working set is inconsistent.
           2059     DEFINE or working set is invalid.
           2066     Parameter missing.
           2067     Attribute contained an illegal value.
           2068     Saved DEFINE was of invalid CLASS.
           2069     Attempt to add a DEFINE that does not fall under the current DEFMODE
                    setting.
           2075     The value of option.<0:13> is not 0.
           2077     The buffer or define-name parameter is in invalid segment.
           2078     The buffer parameter does not contain a valid saved DEFINE.

               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               5 -9
Procedure Calls Summary (D-F)




       buffer, INT .EXT:ref:*                         input
       options, INT:value                             input
       define-name, STRING .EXT:ref:24                output
       checknum, INT:ref:1                            output

      DEFINERESTOREWORK[2]
      DEFINERESTOREWORK restores the DEFINE working set from the background set.
      DEFINERESTOREWORK2 allows a second background DEFINE working set to be
      restored.


       error := DEFINERESTOREWORK;

       error := DEFINERESTOREWORK2;


       error, INT                                     returned value


           0                                          Success.
           2052                                       Unable to obtain file-system buffer space.
           2053                                       Unable to obtain physical memory.

      DEFINESAVE
      Copies an active DEFINE or the current working attribute set into a user buffer. The
      saved DEFINE can later be made an active DEFINE or be placed into the working set
      by using DEFINERESTORE.


       error := DEFINESAVE ( define-name
                            ,buffer
                            ,buflen
                            ,deflen
                            ,[ option ] );


       error, INT                                     returned value


           0        Successful.
           2049     Syntax error in name.
           2051     DEFINE not found.
           2052     Unable to obtain file-system buffer space.

               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               5- 10
Procedure Calls Summary (D-F)



           2053     Not enough physical memory.
           2054     Bounds error on buffer, deflen or define-name parameters.
           2057     DEFINE or working set is incomplete.
           2058     DEFINE or working set is inconsistent.
           2059     DEFINE or working set is invalid.
           2066     Parameter missing.
           2075     The value of option.<0:14> is not 0.
           2076     User’s buffer is too small.
           2077     The buffer or define-name parameter is in invalid segment.
           2079     An attempt to save the working set, but define-name is DEFAULTS and
                    working set is not class DEFAULTS.


       define-name, STRING .EXT:ref:24               input
       buffer, INT .EXT:ref:*                        output
       buflen, INT:value                             input
       deflen, INT .EXT:ref:1                        output
       option, INT:value                             input


           <0:14>                     are reserved and must be 0.
           <15>                       1 save the current working set and name it define-name.
                                      0 save the active DEFINE named by define-name.

      DEFINESAVEWORK[2]
      DEFINESAVEWORK saves the DEFINE working set in the background set.
      DEFINESAVEWORK2 allows a second background working set to be saved.


       error := DEFINESAVEWORK;

       error := DEFINESAVEWORK2;

       error, INT                                    returned value


           0                                            Successful.
           2052                                         Unable to obtain file-system buffer space.
           2053                                         Not enough physical memory.




               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               5- 11
Procedure Calls Summary (D-F)



      DEFINESETATTR
      Modifies the value of an attribute in the DEFINE working set.


       error := DEFINESETATTR ( attribute-name
                               ,[ value ]
                               ,[ value-len ]
                               ,[ default-names ] );


       error, INT                                   returned value


           0                                           Successful.
           2049                                        Syntax error in name.
           2052                                        Unable to obtain file-system buffer space.
           2055                                        Attribute not supported.
           2062                                        Attribute name too long.
           2063                                        A syntax error occurred in default names.
           2064                                        The required attribute cannot be reset
           2066                                        Parameter missing.
           2067                                        Illegal value.


       attribute-name, STRING .EXT:ref:16           input
       value, STRING .EXT:ref:*                     input
       value-len, INT:value                         input
       default-names, INT:ref:8                     input


           [0:3]                           The default volume name (blank filled on the right)
           [4:7]                           The default subvolume name (blank filled on the right)

      DEFINESETLIKE
      Initializes the working set with the attributes in an existing DEFINE.


       error := DEFINESETLIKE ( define-name );


       error, INT                                   returned value




               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               5- 12
Procedure Calls Summary (D-F)




           0                                           Successful.
           2049                                        Syntax error in name.
           2051                                        DEFINE not found.
           2052                                        Unable to obtain file-system buffer space.
           2053                                        Unable to obtain physical memory.
           2054                                        Bounds error occurred on define-name.
           2066                                        Parameter missing.


      define-name, STRING .EXT:ref:24              input

      DEFINEVALIDATEWORK
      Checks the working set for consistency.


       error := DEFINEVALIDATEWORK ( checknum );


       error, INT                                   returned value

           0                                           Successful.
           2057                                        Working set is incomplete.
           2058                                        Working set is inconsistent.
           2059                                        Working set is invalid.


       checknum, INT:ref:1                          output

      DELAY
      Allows a process to suspend itself for a timed interval.


       CALL DELAY ( time-period );


       time-period, INT(32):value                   input




               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               5- 13
Procedure Calls Summary (D-F)



      DELETEEDIT
      Deletes from an EDIT file all lines that have line numbers in a specified range.
      DELETEEDIT is an IOEdit procedure and can be used only with files that have been
      opened by OPENEDIT or OPENEDIT_.


       error := DELETEEDIT ( filenum
                            ,first
                            ,last );


       error, INT                                    returned value
       filenum, INT:value                            input
       first, INT(32):value                          input
       last, INT(32):value                           input

      DEVICE_GETINFOBYLDEV_
      Obtains the logical and physical attributes of a device.


       error := DEVICE_GETINFOBYLDEV_ ( ldevnum
                                      ,[ logical-info ]
                                      ,[ logical-info-maxlen ]
                                      ,[ logical-info-len ]
                                      ,[ primary-info ]
                                      ,[ primary-info-maxlen ]
                                      ,[ primary-info-len ]
                                      ,[ backup-info ]
                                      ,[ backup-info-maxlen ]
                                      ,[ backup-info-len ]
                                      ,[ timeout ]
                                      ,[ options ]
                                      ,[ match-type ]
                                      ,[ match-subtype ]
                                      ,[ devname:maxlen ]
                                      ,[ devname-len ]
                                       ,[ error-detail ] );


       error, INT                                    returned value




               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               5- 14
Procedure Calls Summary (D-F)




           0      Information successfully returned.
           1      Reserved.
           2      Parameter error; error-detail contains the number of the first parameter
                  found to be in error, where 1 designates the first parameter on the left.
           3      Bounds error; error-detail contains the number of the first parameter found
                  to be in error, where 1 designates the first parameter on the left.
           4      Device not found; error-detail contains a file-system error number.
           5      Buffer too small. This error applies only to devname:maxlen.


       ldevnum, INT(32):value                          input
       logical-info, INT .EXT:ref:*                    output
       logical-info-maxlen, INT:value                  input
       logical-info-len, INT .EXT:ref:1                output
       primary-info, INT .EXT:ref:*                    output
       primary-info-maxlen, INT:value                  input
       primary-info-len, INT .EXT:ref:1                output
       backup-info, INT .EXT:ref:*                     output
       backup-info-maxlen, INT:value                   input
       backup-info-len, INT .EXT:ref:1                 output
       timeout, INT(32):value                          input
       options, INT:value                              input


           <0:12>    Reserved (specify 0).
           <13>      Specifies that the procedure search for the next device that has a subtype of
                     match-subtype. options.<15> must be set and match-subtype
                     must be specified when this option is used.
           <14>      Specifies that the procedure search for the next device that has a type of
                     match-subtype. options.<15> must be set and match-type must be
                     specified when this option is used.
           <15>      Specifies that the procedure search for the next device that matches the
                     selection criteria.


       match-type, INT:value                                    input
       match-subtype, INT:value                                 input
       devname:maxlen, STRING .EXT:ref:*,INT:value               output:input
       devname-len, INT .EXT:ref:1                              output
       error-detail, INT .EXT:ref:1                             output

               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               5- 15
Procedure Calls Summary (D-F)



      DEVICE_GETINFOBYNAME_
      Obtains the logical and physical attributes of a device.


       error := DEVICE_GETINFOBYNAME_ ( devname:length
                                       ,[ logical-info ]
                                       ,[ logical-info-maxlen ]
                                       ,[ logical-info-len ]
                                       ,[ primary-info ]
                                       ,[ primary-info-maxlen ]
                                       ,[ primary-info-len ]
                                       ,[ backup-info ]
                                       ,[ backup-info-maxlen ]
                                       ,[ backup-info-len ]
                                       ,[ timeout ]
                                       ,[ error-detail ] );


       error, INT                                    returned value


           1     Reserved.
           2     Parameter error; error-detail contains the number of the first parameter
                 found to be in error, where 1 designates the first parameter on the left.
           3     Bounds error; error-detail contains the number of the first parameter found
                 to be in error, where 1 designates the first parameter on the left.
           4     Device not found; error-detail contains a file-system error number.


       devname:length, STRING .EXT:ref:*,INT:value               input:input
       logical-info, INT .EXT:ref:*                              output
       logical-info-maxlen, INT:value                            input
       logical-info-len, INT .EXT:ref:1                          output
       primary-info, INT .EXT:ref:*                              output
       primary-info-maxlen, INT:value                            input
       primary-info-len, INT .EXT:ref:1                          output
       backup-info, INT .EXT:ref:*                               output
       backup-info-maxlen, INT:value                             input
       backup-info-len, INT .EXT:ref:1                           output
       timeout, INT(32):value                                    input
       error-detail, INT .EXT:ref:1                              output




               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               5- 16
Procedure Calls Summary (D-F)



      DEVICEINFO
      (Superseded by FILE_GETINFOBYNAME_ or FILE_GETINFOLISTBYNAME_)
      Obtains the device type and physical record length of a file. The file can be opened or
      closed.


       CALL DEVICEINFO ( filename
                        ,devtype
                        ,physical-recordlen );


       filename, INT:ref:12                           input
       devtype, INT:ref:1                             output

           <0>                           Demountable.
           <1>                           Audited disk, or the file name specified was a subdevice.
           <2:3>                         Undefined.
           <4:9>                         Device type.
           <10:15>                       Device subtype.


       physical-recordlen, INT:ref:1                  output

      DEVICEINFO2
      (Superseded by FILE_GETINFOBYNAME_or FILE_GETINFOLISTBYNAME_)
      Obtains the device type and the physical record length of a file. The file can be opened
      or closed.


       CALL DEVICEINFO2 ( filename
                         , [ devtype ]
                         , [ physical-recordlen ]
                         , [ diskprocess-version ]
                         , [ error ]
                         , [ options ]
                         , [ tag-or-timeout ] );


       filename, INT:ref:12                           input
       devtype, INT:ref:1                             output




               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               5- 17
Procedure Calls Summary (D-F)




           <0>                            Demountable.
           <1>                            Audited disk, or the file name specified was a subdevice.
           <2:3>                          Undefined.
           <4:9>                          Device type.
           <10:15>                        Device subtype.


       physical-recordlen, INT:ref:1                   output
       diskprocess-version, INT:ref:1                  output


           0                                             DP1 disk process.
           1                                             DP2 disk process.


       error, INT:ref:1                                output
       options, INT:value                              input


           <0:12>       Should be 0.
           <13>         If 1, this call is initiating a nowait inquiry only, and information will be
                        returned in a system message. Only <13> or <14>, but not both, may be set
                        to 1.
           <14>         If 1, the sending of DEVICEINFO inquiry (-40) messages to a subtype 30
                        process should not be allowed to take longer than the period indicated by
                        timeout. If time is exceeded, error 40 is returned.
           <15>         If 1, DEVICEINFO inquiry (-40) messages are not to be sent to subtype 30
                        processes.


       tag-or-timeout, INT(32):value                   input

      DISK_REFRESH_
      (Superseded on G-series releases) Causes control information to be written to the
      associated disk volume.


       error := DISK_REFRESH_ ( name:length );

       error, INT                                           returned value
       name:length, STRING .EXT:ref:*,INT:value             input:input




               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               5- 18
Procedure Calls Summary (D-F)



      DISKINFO
      (Superseded by FILE_GETINFOLISTBYNAME_) Obtains information about disk
      volumes.


       error := DISKINFO ( name
                          , [ capacity ]
                          , [ avail ]
                          , [ numfrag ]
                          , [ biggest ]
                          , [ drivekinds ]
                          , [ drivecaps] );


       error, INT                                   returned value
       name, INT .EXT:ref:12                        input
       capacity, INT(32) .EXT:ref:1                 output
       avail, INT(32) .EXT:ref:1                    output
       numfrag, INT(32) .EXT:ref:1                  output
       biggest, INT(32) .EXT:ref:1                  output
       drivekinds, STRING .EXT:ref:16               output


           [0:7]                                      The product number of the primary drive.
           [8:15]                                     The product number of the mirror drive.


       drivecaps, INT(32) .EXT:ref:2                output

      DNUMIN
      Converts the ASCII characters that represent a number into the signed double-word
      integer value for that number.


       next-addr := DNUMIN ( ascii-num
                            ,signed-result
                            ,base
                            ,[ status ]
                            ,[ flags ] );




               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               5- 19
Procedure Calls Summary (D-F)




       next-addr, INT(32)                               returned value
       ascii-num, STRING .EXT:ref:*                     input
       signed-result, INT(32) .EXT:ref:1                output
       base, INT:value                                  input
       status, INT .EXT:ref:1                           output


           1      A nonexistent number (the string does not start with a valid sign, prefix, or
                  numeric).
            0     Valid conversion.
           -1     Illegal integer (the number cannot be represented in 32 bits as a signed quantity).


       flags, INT:value                                 input


           <0:12>        Must be 0.
           <13>          Disallow preceding sign (+/-).
           <14>          Disallow prefixes (%, #, and so on)
           <15>          Permit a two-word number of the form integer1.integer2 where
                         each unsigned integer must fit within a 16-bit word.

      DNUMOUT
      Converts unsigned double-word integer values to their ASCII equivalents, right-justified
      in an array.


       width := DNUMOUT ( ascii-result
                         ,unsigned-doubleword
                         ,base
                         ,[ width ]
                         ,[ flags ] );


       width, INT                                       returned value
       ascii-result, STRING .EXT:ref:*                  output
       unsigned-doubleword, INT(32):value               input
       base, INT:value                                  input
       width, INT:value                                 input
       flags, INT:value                                 input




                Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                                5- 20
Procedure Calls Summary (D-F)




           <0:14>                                     Must be 0.
           <15>                                       Blank-fill on left (the default is zero-fill).

      DST_GETINFO_
      Provides information about the DST entry that is in effect at time keygmt.


       error:= DST_GETINFO_           ( keygmt
                                       , dstentry );


       error
       keygmt, FIXED:value                          input
       dstentry, INT:EXT:ref:*                      output

      DST_TRANSITION_ADD_
      Allows a super-group user (255,n) to add an entry to the daylight-saving-time (DST)
      transition table. This operation is allowed only when the DAYLIGHT_SAVING_TIME
      option in the system is configured to the TABLE option. This procedure supersedes the
      ADDDSTTRANSITION procedure.


       error:= DST_TRANSITION_ADD_ ( dstentry );


       error
       dstentry, INT.EXT:ref:*                      input

      DST_TRANSITION_DELETE_
      Allows a super-group user (255,n) to delete an existing entry from the daylight-saving-
      time (DST) transition table. This operation is allowed only when the
      DAYLIGHT_SAVING_TIME option in the system is configured to the TABLE option.


       error:= DST_TRANSITION_DELETE_ (                dstentry );


       error
       dstentry, INT.EXT:ref:*                      input




               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               5- 21
Procedure Calls Summary (D-F)



      Error Summary for DST_* Procedures:

       Error     Literal Value                                 Description
       0         ZSYS^VAL^DST^OK                               The operation is successful.
       1         ZSYS^VAL^DST^SECURITY^ERROR                   The caller is not a super-group
                                                               user (255,n).
       2         ZSYS^VAL^DST^BAD^VERSION                      The version number passed in
                                                               ZSYS^DDL^DST^ENTRY^DEF
                                                               is not valid. The only valid
                                                               version is
                                                               ZSYS^VAL^DST^VERSION^SE
                                                               P1997.
       3         ZSYS^VAL^DST^BAD^PARAMETER                    One of the specified parameters is
                                                               not valid.
       4         ZSYS^VAL^DST^INTERVAL^ERROR                   Invalid interval operation. An
                                                               attempt was made to add, delete,
                                                               or modify a DST entry that causes
                                                               a collision with an existing DST
                                                               entry.
       5         ZSYS^VAL^DST^DELETE^NOW^ERROR                 An attempt was made to delete a
                                                               required DST entry. This error is
                                                               returned when the DST entry that
                                                               the user attempted to delete is in
                                                               effect at the time the delete
                                                               operation was attempted and the
                                                               offset of the entry is nonzero.
       6         ZSYS^VAL^DST^TYPE^ERROR                       The
                                                               DAYLIGHT_SAVING_TIME
                                                               option in the system is not
                                                               configured to use the TABLE
                                                               option.
       7         ZSYS^VAL^DST^TABLE^EMPTY                      The DST table has no entries.
                                                               This error is returned by the
                                                               DST_GETINFO_ procedure.
       8         ZSYS^VAL^DST^BOUNDS^ERROR                     An attempt was made to use time
                                                               values outside the supported
                                                               range. The supported range is
                                                               1/ 1/ 1 0:00:00.000000 through
                                                               10000/12/31 23:59:59.999999
                                                               GMT.




               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               5- 22
Procedure Calls Summary (D-F)



       Error     Literal Value                                 Description
       9         ZSYS^VAL^DST^RANGE^LOW                        The specified keygmt value was
                                                               less than the lowgmt value of
                                                               the first DST interval with
                                                               nonzero offset. This error is
                                                               returned by the DST_GETINFO_
                                                               procedure.
       10        ZSYS^VAL^DST^RANGE^HIGH                       The specified keygmt value is
                                                               greater than the highgmt of the
                                                               last DST interval with nonzero
                                                               offset. This error is returned by
                                                               the DST_GETINFO_ procedure.
       11        ZSYS^VAL^DST^COUNT^OVERFLOW                   An attempt was made to add too
                                                               many entries to the table. Delete
                                                               some of the entries and try again.

      DST_TRANSITION_MODIFY_
      Allows a super-group user (255,n) to modify an entry in the daylight-saving-time (DST)
      transition table. This operation is allowed only when the DAYLIGHT_SAVING_TIME
      option in the system is configured to the TABLE option.


       error:= DST_TRANSITION_MODIFY_ ( olddst
                                       , newdst );


       error
       olddst, INT.EXT                              input
       newdst, INT.EXT                              input

      EDITREAD
      Reads text lines from an EDIT file (file code = 101). One line is transferred by each call
      to EDITREAD.


       status := EDITREAD ( edit-controlblk
                           ,buffer
                           ,bufferlen
                           ,sequence-num );


       status, INT                                  returned value




               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               5- 23
Procedure Calls Summary (D-F)




           >= 0                            Indicates that the reading of the file was successful.
           -1                              End of file encountered.
           -2                              Error occurred while reading.
           -3                              Text file format error.
           -4                              Sequence error.
           -5                              Checksum error.
           -6                              Invalid buffer address.


       edit-controlblk, INT:ref:*                     input
       buffer, STRING:ref:*                           output
       bufferlen, INT:value                           input
       sequence-num, INT(32):ref:1                    output

      EDITREADINIT
      Prepares a buffer in the application program’s data area for subsequent calls to
      EDITREAD.


       status := EDITREADINIT ( edit-controlblk
                               ,filenum
                               ,bufferlen );


       status, INT                                    returned value


           0                           Successful (OK to read).
           -1                          End of file detected (empty file).
           -2                          I/O error.
           -3                          Format error (not EDIT file), or buffer length is incorrect.
           -6                          Invalid buffer address.

       edit-controlblk, INT:ref:*                     input
       filenum, INT:value                             input
       bufferlen, INT:value                           input




                Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                                5- 24
Procedure Calls Summary (D-F)



      ERRNO_GET_
      Obtains the value of the errno variable set by many OSS, native C/C++, and some
      Guardian routines.


       ?SOURCE $SYSTEM.SYSTEM.HERRNO

       error := ERRNO_GET_;


       error, INT(32)                                returned value

      EXTENDEDIT
      Copies an EDIT file to a new file that it creates and that has a larger extent size than the
      original file. EXTENDEDIT is an IOEdit procedure and can only be used with files that
      have been opened by OPENEDIT or OPENEDIT_.


       error := EXTENDEDIT ( filenum
                            ,[ start ]
                            ,[ increment ] );


       error, INT                                    returned value
       filenum, INT .EXT:ref:1                       input, output
       start, INT(32):value                          input
       increment, INT(32):value                      input

      FILE_ALTERLIST_
      Changes certain attributes of a disk file that are normally set when the file is created.
      This procedure operates only on Guardian objects.


       error := FILE_ALTERLIST_ ( filename:length
                                 ,item-list
                                 ,number-of-items
                                 ,values
                                 ,values-length
                                 ,[ partonly ]
                                 ,[ error-item ] );




               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               5- 25
Procedure Calls Summary (D-F)




       error, INT                                             returned value
       filename:length, STRING .EXT:ref:*,INT:value           input:input
       item-list, INT .EXT:ref:*                              input
       number-of-items, INT:value                             input
       values, INT .EXT.ref:*                                 input
       values-length, INT:value                               input
       partonly, INT:value                                    input
       error-item, INT .EXT:ref:1                             output

      FILE_CLOSE_
      Closes an open file opened by either FILE_OPEN_ or OPEN.


       error := FILE_CLOSE_ ( filenum
                             ,[ tape-disposition ] );


       error, INT                                    returned value
       filenum, INT:value                            input
       tape-disposition, INT:value                   input


           0                                 Rewind and unload; do not wait for completion.
           1                                 Rewind and take offline; do not wait for completion.
           2                                 Rewind and leave online; do not wait for completion.
           3                                 Rewind and leave online; wait for completion.
           4                                 Do not rewind; leave online.

      FILE_CLOSE_CHKPT_
      Is called by a primary process to close a designated file in its backup process.


       error := FILE_CLOSE_CHKPT_ ( filenum
                                   ,[ tape-disposition ] );


       error, INT                                    returned value
       filenum, INT:value                            input
       tape-disposition, INT:value                   input


               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               5- 26
Procedure Calls Summary (D-F)




           0                                Rewind and unload; do not wait for completion.
           1                                Rewind and take offline; do not wait for completion.
           2                                Rewind and leave online; do not wait for completion.
           3                                Rewind and leave online; wait for completion.
           4                                Do not rewind; leave online.

      FILE_COMPLETE_
      Completes one previously initiated I/O operation for a Guardian file or returns ready
      information for one Open System Services (OSS) file. The Guardian or OSS file is from
      a set of files that was previously enabled for completion by one or more calls to the
      FILE_COMPLETE_SET_ procedure.


       status := FILE_COMPLETE_ ( completion-info
                                 ,[ timelimit ]
                                 ,[ complete-element-list ]
                                 ,[ num-complete-elements ]
                                 ,[ error-complete-element ] );


       status, INT                                                                    returned value
       completion-info, INT                                                           output
       .EXT:ref:*(ZSYS^DDL^COMPLETION^INFO^DEF)
       timelimit, INT(32):value                                                       input


           >0D         Wait for completion. The timelimit parameter specifies the maximum
                       time (in 0.01-second units) from the time of the FILE_COMPLETE_ call
                       that the caller can wait for completion.
           = 0D        Check for completion. FILE_COMPLETE_ immediately returns to the
                       caller, regardless of whether completion has occurred.
           = -1D       Wait indefinitely.
           < -1D       An invalid value (file-system error 590 occurs).
           omitted     Wait indefinitely.


       complete-element-list, INT                                                              input
       .EXT:ref:*(ZSYS^DDL^COMPLETE^ELEMENT^DEF)
       num-complete-elements, INT                                                              input
       error-complete-element, INT .EXT                                                        output




               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               5- 27
Procedure Calls Summary (D-F)



      FILE_COMPLETE_GETINFO_
      Provides information about the set of files that are currently enabled for completion and
      thus can be completed by the FILE_COMPLETE_ procedure. These files were enabled
      for completion by one or more previous calls to the FILE_COMPLETE_SET_
      procedure.


       status := FILE_COMPLETE_GETINFO_ (
                                    info-list
                                   ,maxnum-info-elements
                                   ,[ num-info-elements ] );


       status, INT                                                               returned value
       info-list, INT                                                            output
       .EXT:ref:*(ZSTS^DDL^COMPLETE^ELEMENT^DEF)
       maximum-info-elements, INT                                                input
       num-info-elements, INT .EXT                                               output

      FILE_COMPLETE_SET_
      Enables a set of Guardian and Open System Services (OSS) files for completion by
      subsequent calls to the FILE_COMPLETE_ procedure.


       status := FILE_COMPLETE_SET_ (
                                 complete-element-list
                                ,num-complete-elements
                                ,[ error-complete-element ] );


       status, INT                                                          returned value
       complete-element-list, INT                                           input
       .EXT:ref:*(ZSYS^DDL^COMPLETE^ELEMENT^DEF)
       num-complete-elements, INT                                           input
       error-complete-element, INT .EXT                                     output




               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               5- 28
Procedure Calls Summary (D-F)



      FILE_CREATE_
      Defines a new structured or unstructured disk file. This procedure operates only on
      Guardian objects.


       error := FILE_CREATE_ ( filename:maxlen
                              ,filenamelen
                              ,[ file-code ]
                              ,[ primary-extent-size ]
                              ,[ secondary-extent-size ]
                              ,[ maximum-extents ]
                              ,[ file-type ]
                              ,[ options ]
                              ,[ recordlen ]
                              ,[ blocklen ]
                              ,[ keylen ]
                              ,[ key-offset ] );


       error, INT                                                    returned value
       filename:maxlen, STRING .EXT:ref:*,INT:value                  input, output:input
       filenamelen, INT .EXT:ref:1                                   input, output
       file-code, INT:value                                          input
       primary-extent-size, INT:value                                input
       secondary-extent-size, INT:value                              input
       maximum-extents, INT:value                                    input
       file-type, INT:value                                          input


           0                                             Unstructured.
           1                                             Relative.
           2                                             Entry-sequenced.
           3                                             Key-sequenced.


       options, INT:value                              input


           <0:9>    Reserved (must be 0).
           <10>     Refresh EOF. A change to the end-of-file value is to cause the file label to be
                    written immediately to disk.
           <11>     Index compression. For key-sequenced files, the entries in the index blocks are
                    to be compressed. Must be 0 for other file types.
           <12>     Data compression. For key-sequenced files, the keys of entries in the data
                    blocks are to be compressed. Must be 0 for other file types.

               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               5- 29
Procedure Calls Summary (D-F)



           <0:9>    Reserved (must be 0).
           <13>     Audit compression. For audited files, the audit data is to be compressed.
           <14>     Audited. The file is to be audited under TMF. Must be 0 for systems without
                    TMF.
           <15>     Odd unstructured. For unstructured files, I/O transfers are to occur with the
                    exact counts specified. If this option is not selected, transfers are rounded up to
                    an even byte boundary. Must be 0 for other file types.


       recordlen, INT:value                            input
       blocklen, INT:value                             input
       keylen, INT:value                               input
       key-offset, INT:value                           input

      FILE_CREATELIST_
      Defines a new structured or unstructured disk file with characteristics that cannot be
      specified through FILE_CREATE_. This procedure operates only on Guardian objects.


       error := FILE_CREATELIST_ ( filename:maxlen
                                   ,filenamelen
                                   ,item-list
                                   ,number-of-items
                                   ,values
                                   ,values-length
                                   ,[ error-item ] );


       error, INT                                                       returned value
       filename:maxlen, STRING .EXT:ref:*,INT:value                     input, output:input
       filenamelen, INT .EXT:ref:1                                      input, output
       item-list, INT .EXT:ref:*                                        input
       number-of-items, INT:value                                       input
       values, INT .EXT:ref:*                                           input
       values-length, INT:value                                         input
       error-item, INT .EXT:ref:1                                       output




               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               5- 30
Procedure Calls Summary (D-F)



      FILE_GETINFO_
      Obtains a limited set of information about a file identified by file number.


       error := FILE_GETINFO_ ( filenum
                               ,[ last-error ]
                               ,[ filename:maxlen ]
                               ,[ filename-length ]
                               ,[ type-info ]
                               ,[ flags ] );


       error, INT                                                    returned value
       filenum, INT:value                                            input
       last-error, INT .EXT:ref:1                                    output
       filename:maxlen, STRING .EXT:ref:*,INT:value                  output:input
       filename-length, INT .EXT:ref:1                               output
       type-info, INT .EXT:ref:5                                     output


           [0] =    Device type.
           [1] =    Device subtype.
           [2] =    Object type.
                    >0 =     SQL disk file.
                     0=      Non-SQL disk file.
                    -1 =     Not a disk file.
           [3]      File type.
                     0=      Unstructured disk file.
                     1=      Relative disk file.
                     2=      Entry-sequenced disk file.
                     3=      Key-sequenced disk file.
                    -1 =     Not a disk file.
           [4]      File code.
                    >=0 =    Disk file.
                    -1 =     Not a disk file.


       flags, INT .EXT:ref:1                              output




                 Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                                 5- 31
Procedure Calls Summary (D-F)




           <0:14>                                          Reserved and undefined.
           <15>                                            File is an OSS file.

      FILE_GETINFOBYNAME_
      Obtains a limited set of information about a file identified by file name.


       error := FILE_GETINFOBYNAME_ ( filename:length
                                     ,[ type-info ]
                                     ,[ physical-recordlen ]
                                     ,[ options ]
                                     ,[ tag-or-timeout ]
                                     ,[ flags ] );


       error, INT                                                                 returned value
       filename:length, STRING .EXT:ref:*,INT:value                               input:input
       type-info, INT .EXT:ref:5                                                  output


           [0] =    Device type.
           [1] =    Device subtype.
           [2] =    Object type.
                    >0 =    SQL disk file.
                    0=      Non-SQL disk file.
                    -1 =    Not a disk file.
                    0=      Unstructured disk file.
                    1=      Relative disk file.
                    2=      Entry-sequenced disk file.
                    3=      Key-sequenced disk file.
                    -1 =    Not a disk file.
           [4] =    File code.
                    >=0 =   Disk file.
                    -1 =    Not a disk file.


       physical-recordlen, INT .EXT:ref:1                output
       options, INT:value                                input




               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               5- 32
Procedure Calls Summary (D-F)




           <0:12>     Reserved (specify 0).
           <13>       Specifies that this call is only initiating a nowait inquiry and the information
                      will be returned in a system message. Do not set both options.<13> and
                      options.<14>.
           <14>       Specifies that the sending of a device type inquiry message to a subtype 30
                      process should not be allowed to take longer than indicated by timeout. If
                      the time is exceeded, error 40 is returned.
           <15>       Specifies that device type inquiry messages are not to be sent to subtype 30
                      processes.


       tag-or-timeout, INT(32):value                   input
       flags, INT .EXT:ref:1                           output


           <0:14>                                         Reserved and undefined.
           <15>                                           File is an OSS file.

      FILE_GETINFOLIST_
      Obtains detailed information about a file identified by file number.


       error := FILE_GETINFOLIST_ ( filenum
                                   ,item-list
                                   ,number-of-items
                                   ,result
                                   ,result-max
                                   ,[ result-length ]
                                   ,[ error-item ] );


       error, INT                                      returned value
       filenum, INT:value                              input
       item-list, INT .EXT:ref.*                       input
       number-of-items, INT:value                      input
       result, INT .EXT:ref:*                          output
       result-max, INT:value                           input
       result-length, INT .EXT:ref:1                   output
       error-item, INT .EXT:ref:1                      output




               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               5- 33
Procedure Calls Summary (D-F)




           Code          Size (bytes)    Description
           1             2               File name length
           2             *               File name
           3             2               Current-file-name length
           4             *               Current file name
           5             2               DEFINE name length
           6             *               DEFINE name
           7             2               Last error
           8             2               Last-error detail
           9             2               Partition in error
           10            2               Key in error
           11            4               Next record pointer
           12            4               Current record pointer
           13            2               Current key specifier
           14            2               Current key length
           15            *               Current key value
           16            2               Current primary-key length
           17            *               Current primary-key value
           18            6               Tape volume
           19            2               Highest open-file number
           20            2               Next open-file number
           21            2               Current access mode
           22            2               Open exclusion mode
           23            2               Open nowait depth
           24            2               Open sync depth
           25            2               Open options
           26            4               Open information
           30            2               Device type
           31            2               Device subtype
           32            2               Demountable disk
           33            2               Audited disk
           34            2               Physical record length
           35            4               Logical device number
           36            2               Subdevice number

                Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                                5- 34
Procedure Calls Summary (D-F)



           Code          Size (bytes)    Description
           40            2               SQL type
           41            2               File type
           42            2               File code
           43            2               Logical record length
           44            2               Block length
           45            2               Key offset
           46            2               Key length
           47            2               Lock key length
           50            2               Primary extent size
           51            2               Secondary extent size
           52            2               Maximum extents
           53            2               Allocated extents
           54            8               Creation time
           56            8               Last open time
           57            8               Expiration time
           58            2               File owner
           59            2               Safeguard security
           60            2               Progid security
           61            2               Clear on purge
           62            4               Operating system security string
           63            2               Licensed file
           65            2               Odd unstructured file
           66            2               Audited file
           67            2               Audit compression
           68            2               Data compression
           69            2               Index compression
           70            2               Refresh EOF
           71            2               Create options
           72            2               Write through
           73            2               Verify writes
           74            2               Serial writes
           75            2               File is open
           76            2               Crash open
           77            2               Rollforward needed

                Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                                5- 35
Procedure Calls Summary (D-F)



           Code           Size (bytes)    Description
           78             2               Broken
           79             2               Corrupt
           80             2               Secondary partition
           81             2               Index levels
           82             2               SQL program
           83             2               SQL valid
           84             2               SQL-catalog name length
           85             *               SQL-catalog name
           90             2               Number of partitions
           91             *               Partition descriptors
           92             *               Partition-volume name-length array
           93             *               Partition-volume names
           94             2               Partition partial-key length
           95             *               Partition partial-key values
           96             2               Partition-volume names total length
           100            2               Number of alternate keys
           101            *               Alternate-key descriptors
           102            2               Number of alternate-key files
           103            *               Alternate-file name-length array
           104            *               Alternate-file names
           105            2               Alternate-file total name length
           110            4               Volume capacity
           111            4               Volume free space
           112            4               Volume fragments
           113            4               Largest volume fragment
           114            16              Disk drive types
           115            8               Disk drive capacities
           116            2               Sequential block buffering
           117            8               Last open LCT
           118            8               Expiration LCT
           119            8               Creation LCT
           136            4               Partition EOF
           137            4               Partition maximum size
           140            8               Partition modification time

                 Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                                 5- 36
Procedure Calls Summary (D-F)



           Code           Size (bytes)    Description
           141            8               Partition modification LCT
           142            4               Aggregate EOF
           143            4               Aggregate maximum file size
           144            8               Aggregate modification time
           145            8               Aggregate modification LCT
           153            2               Logical (packed) record length
           160            6               Three-word partition modification LCT
           161            2               OSS file
           164            4               OSS group ID
           165            4               OSS access permissions
           166            2               OSS open
           167            4               OSS user ID
           168            2               OSS number of links
           169            2               Security mechanisms in effect

      FILE_GETINFOLISTBYNAME_
      Obtains detailed information about a file identified by file name.


       error := FILE_GETINFOLISTBYNAME_ ( filename:length
                                         ,item-list
                                         ,number-of-items
                                         ,result
                                         ,result-max
                                         ,[ result-length ]
                                         ,[ error-item ] );


       error INT!                                                         returned value
       filename:length STRING .EXT:ref:* INT:value                        input:input
       item-list INT .EXT:ref.*                                           input
       number-of-itemsINT:value                                           input
       INT .EXT:ref:*                                                     output
       result-max INT:value                                               input
       result-length INT .EXT:ref:1                                       output
       error-item INT .EXT:ref:1                                          output




                 Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                                 5- 37
Procedure Calls Summary (D-F)



      FILE_GETLOCKINFO_
      Obtains information about locks (held or pending) on a local disk file or on a set of files
      on a local disk volume. This procedure operates only on Guardian objects.


       error := FILE_GETLOCKINFO_ ( name:length
                                   ,[ processhandle ]
                                   ,[ transid ]
                                   ,control
                                   ,lock-descr
                                   ,lock-descr-length
                                   ,participants
                                   ,max-participants
                                   ,[ locked-name:maxlen ]
                                   ,[ locked-name-length ] );


       error, INT                                        returned value


           0       Information for one locked file and all its lock holders/waiters was returned
                   without error. More locks might exist; continue calling FILE_GETLOCKINFO_.
           1       End of information about locks associated with a process or transID.
           11      Lock information for the file processor transaction was not found. If any
                   information has been returned already, it is now invalid.
           12      The disk-process lock tables were changed between calls.
           41      Checksum error on control. The control parameter has been altered between
                   calls to FILE_GETLOCKINFO_, or it was not initialized before the first call.
           45      Information for one locked record or file has been returned


       name:length, STRING .EXT:ref:*,INT:value                 input:input
       processhandle, INT .EXT:ref:10                           input
       transid, INT .EXT:ref:4                                  input
       control, INT .EXT:ref:10                                 input, output
       lock-descr, INT .EXT:ref:*                               output


           [0]             Lock type. 0 indicates a file lock; 1 indicates a record lock.
           [1]             Flags. The bits are:
                           <0> = 1 indicates a generic lock.
                           <1:15> = Reserved.
           [2]             The number of participants (the number of holders and waiters for the
                           lock).



                 Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                                 5- 38
Procedure Calls Summary (D-F)



             [3:4]            Record ID if the lock is a record lock on a file that is not key-sequenced;
                              undefined otherwise.
             [5]              The length in bytes of the key if the lock is a record lock on a key-
                              sequenced file; 0 otherwise.
             [6:n]            The key value if the lock is a record lock on a key-sequenced file.


       lock-descr-length INT:value                          input
       participants INT .EXT:ref:*                          output


       [0]              Flags. The bits have the following meanings:
                        <0>          =1         The participant is identified by process handle.
                                     =0         The participant is identified by transid.
                        <1:3>        =1         The lock is granted.
                                     =0         The lock is in the waiting state.
                        <4>          =1         The lock is an intent lock internally set by DP2.
                        <5:15>       =          Reserved.
       [1]              Reserved.
       [2:11]           The process handle of the participant (if participants[0].<0> = 1).
       [2:5]            The transid of the participant (if participants[0].<0> = 0).


       max-participants, INT:value                                                  input
       locked-name:maxlen, STRING .EXT:ref:*,INT:value                              output:input
       locked-name-length, INT .EXT:ref:1                                           output

      FILE_GETOPENINFO_
      Obtains information about the opens of one disk file or all the files on a disk device, or
      the opens of certain nondisk devices.


       error := FILE_GETOPENINFO_ ( searchname:length
                                   ,prevtag
                                   ,[ primary-opener ]
                                   ,[ backup-opener ]
                                   ,[ accessmode ]
                                   ,[ exclusion ]
                                   ,[ syncdepth ]
                                   ,[ filename:maxlen ]
                                   ,[ filenamelen ]
                                   ,[ accessid ]
                                   ,[ validmask ] );




                   Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                                   5- 39
Procedure Calls Summary (D-F)




       error, INT                                                           returned value
       searchname:length, STRING .EXT:ref:*,INT:value                       input:input
       prevtag, FIXED .EXT:ref:1                                            input, output
       primary-opener, INT .EXT:ref:10                                      output
       backup-opener, INT .EXT:ref:10                                       output
       accessmode, INT .EXT:ref:1                                           output


           0                       Read-write.
           1                       Read only.
           2                       Write only.

       exclusion, INT .EXT:ref:1                      output


           0             Shared.
           1             Exclusive.
           2             Process exclusive (supported only for Optical Storage Facility).
           3             Protected.


       syncdepth, INT .EXT:ref:1                                          output
       filename:maxlen, STRING .EXT:ref:*,INT:value                       output:input
       filenamelen, INT .EXT:ref:1                                        output
       accessid, INT .EXT:ref:1                                           output
       validmask, INT .EXT:ref:1                                          output


           <0>             Primary-opener.
           <1>             Backup-opener.
           <2>             Accessmode.
           <3>             Exclusion.
           <4>             Syncdepth.
           <5>             Filename.
           <6>             Accessid.




               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               5- 40
Procedure Calls Summary (D-F)



      FILE_GETRECEIVEINFO_
      Returns information about the last message read on the $RECEIVE file.


       error := FILE_GETRECEIVEINFO_ ( receive-info );


       error, INT                                        returned value
       receive-info, INT .EXT:ref:17                     output


           [0]        I/O type. Indicates the data operation last performed by the message sender.
                      0 = Not a data message (system message).
                      1 = Sender called WRITE.
                      2 = Sender called READ.
                      3 = Sender called WRITEREAD.
           [1]        Maximum reply count. The maximum number of bytes of data that can be
                      returned by REPLY (as determined by the read count of the sender).
           [2]        Message tag. The value that identifies the request message just read.
           [3]        File number. The value that identifies the file associated with this message in
                      the requesting process.
           [4:5]      Sync ID. The sync ID associated with this message.
           [6:15]     Sender process handle. The process handle of the process that sent the last
                      message. For system messages other than the open, close, control, setmode,
                      setparam, resetsync, or controlbuf messages, the null process handle (-1 in each
                      word) is returned.
           [16]       Open label. The value assigned by the application (when replying to the open
                      system message) to the open on which the received message was sent. If this
                      value is unavailable (as when the opener is running on a C-series system), -1 is
                      returned.

      FILE_GETSYNCINFO_
      The FILE_GETSYNCINFO_ procedure is called by the primary process of a process
      pair before starting a series of write operations to a file open with paired access. Unlike
      the GETSYNCINFO procedure, this procedure can be used with format 2 files.


       error := FILE_GETSYNCINFO_ ( filenum
                                    ,infobuf
                                    ,infomax
                                    ,infosize );




                 Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                                 5- 41
Procedure Calls Summary (D-F)




       error, INT:value                              returned value
       filename, INT:value                           input
       infobuf, INT:EXT.ref:*                        output
       infomax, INT:value                            input
       infosize, INT:EXT.ref:1                       output

      FILE_OPEN_
      Establishes a communication path between an application process and a file, and returns
      a file number to the caller.


       error := FILE_OPEN_ ( {filename:length|pathname}
                            ,filenum
                            ,[ access ]
                            ,[ exclusion ]
                            ,[ nowait-depth ]
                            ,[ sync-or-receive-depth ]
                            ,[ options ]
                            ,[ seq-block-buffer-id ]
                            ,[ seq-block-buffer-len ]
                            ,[ primary-processhandle ] );


       error, INT                                                     returned value
       filename:length, STRING .EXT:ref:*,INT:value                   input:input
       pathname, STRING .EXT:ref:*                                    input
       filenum, INT .EXT:ref:1                                        input, output
       access, INT:value                                              input


           0                                           Read-write.
           1                                           Read only.
           2                                           Write only.
           3                                           Extend (supported only for tape).


       exclusion, INT:value                          input


           0                       Shared.
           1                       Exclusive.
           2                       Process exclusive (supported only for Optical Storage Facility).
           3                       Protected.

               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               5- 42
Procedure Calls Summary (D-F)




       nowait-depth, INT:value                          input
       sync-or-receive-depth, INT:value                 input
       options, INT:value                               input


           <0>      Unstructured access. For disk files, access is to occur as if the file were
                    unstructured, that is, without regard to record structures and partitioning. (For
                    unstructured files, setting this bit to 1 causes secondary partitions to be
                    inaccessible.) Must be 0 for other devices.
           <1>      Nowait open processing. Specifies that the processing of the open proceed in a
                    nowait manner. This option cannot be specified for the TMF transaction
                    pseudofile (TFILE). The value of nowait-depth must be a nonzero value
                    when this option is used.
           <2>      No open time update. For disk files, the “time of last open” file attribute is not
                    updated by this open. Must be 0 for other devices.
           <3>      Any file number for backup open. When performing a backup open, specifies
                    that the system can use any file number for the backup open. 0 specifies that the
                    backup open is to have the same file number as the primary open. Error 12 is
                    returned if that file number is already in use.
           <4:9>    Reserved (specify 0).
           <10>     Open an OSS file by its OSS pathname. Specifies that the file to be opened is
                    identified by the pathname parameter.
           <11>     Reserved (specify 0).
           <12>     No transactions. For $RECEIVE, system messages do not include transaction
                    identifiers. Must be 0 if bit 15 is 1.
           <13>     I18N locale support. For $RECEIVE, data messages include
                    internationalization locale information. Must be 0 if bit 15 is 1.
           <14>     Old format system messages. For $RECEIVE, system messages should be
                    delivered in C-series format. If this bit is 0, D-series format messages are
                    delivered. For other device types, this bit must be 0.
           <15>     No file-management system messages. For $RECEIVE, specifies that the caller
                    does not wish to receive process open, process close, CONTROL, SETMODE,
                    SETPARAM, RESETSYNC, and CONTROLBUF messages. If this bit is 0,
                    messages are delivered as normal. For other device types, this bit must be 0.


       seq-block-buffer-id, INT:value                           input
       seq-block-buffer-len, INT:value                          input
       primary-processhandle, INT .EXT:ref:10                   input




               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               5- 43
Procedure Calls Summary (D-F)



      FILE_OPEN_CHKPT_
      Is called by a primary process to open a designated file for its backup process.


       error := FILE_OPEN_CHKPT_ ( filenum
                                  ,[ status ] );


       error, INT                                   returned value
       filenum, INT:value                           input
       status, INT .EXT:ref                         output


           0                                          Backup open succeeded (error is 0).
           1                                          File was opened in backup with warning.
           2                                          Open failed in backup.
           3                                          Unable to communicate with backup.
           4                                          Error occurred in primary.

      FILE_PURGE_
      Deletes a disk file that is not open. This procedure operates only on Guardian objects.


       error := FILE_PURGE_ ( filename:length );


       error, INT                                                           returned value
       filename:length, STRING .EXT:ref:*,INT:value                         input:input

      FILE_RENAME_
      Changes the name of an open disk file.


       error := FILE_RENAME_ ( filenum
                              ,newname:length );


       error, INT                                             returned value
       filenum, INT:value                                     input
       newname:length, STRING .EXT:ref:*,INT:value            input:input




               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               5- 44
Procedure Calls Summary (D-F)



      FILE_RESTOREPOSITION_
      The FILE_RESTOREPOSITION_ procedure supersedes the REPOSITION procedure
      and is used to position a disk file to a saved position (the positioning information having
      been saved by a call to the FILE_SAVEPOSITION_ procedure).


       error := FILE_RESTOREPOSITION_ ( filenum
                                        ,savearea
                                        ,savesize );


       error, INT:value                              returned value
       filenum, INT:value                            input
       savearea, INT:EXT.ref:*                       input
       savesize, INT:value                           input

      FILE_SAVEPOSITION_
      The FILE_SAVEPOSITION_ procedure supersedes the SAVEPOSITION procedure and
      is used to save a disk file’s current file positioning information in anticipation of a need
      to return to that position. This procedure can be used with format 2 files.


       error := FILE_SAVEPOSITION_ ( filenum
                                     ,savearea
                                     ,savemax
                                     ,savesize);


       error, INT:value                              returned value
       filenum, INT:value                            input
       savearea, INT:EXT.ref:*                       output
       savemax, INT:value                            input
       savesize, INT:ref.EXT:1                       output




               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               5- 45
Procedure Calls Summary (D-F)



      FILE_SETKEY_
      The FILE_SETKEY_ procedure supersedes the KEYPOSITION[X] procedures. The
      FILE_SETKEY_ procedure is used to position by primary or alternate key within a
      structured file, and sets the current position, access path, and positioning mode for the
      specified file. FILE_SETKEY_ can be used with format 2 files.


       error := FILE_SETKEY_ ( filenum
                              ,key-value :key-value-len
                              ,[ keyspecifier ]
                              ,[ positioningmode ]
                              ,[ options ]
                              ,[ comparelength ] );


       error, INT:value                                      returned value
       filenum, INT:value                                    input
       key-value:key-value-len, INT:value                    input, input
       keyspecifier                                          input
       positioningmode, INT:value                            input
       options, INT:value                                    input
       comparelength, INT:value                              input

      FILE_SETPOSITION_
      The FILE_SETPOSITION_ procedure supersedes the POSITION procedure. This
      procedure has the same function as the POSITION procedure but the
      FILE_SETPOSITION_ procedure accepts an 8-byte record specifier, enabling use with
      format 2 files.


       error := FILE_SETPOSITION_ ( filenum
                                   ,recordspecifier );


       error, INT:value                              returned value
       filenum, INT:value                            input
       recordspecifier, INT(64):value                input




               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               5- 46
Procedure Calls Summary (D-F)



      FILE_SETSYNCINFO_
      The FILE_SETSYNCINFO_ procedure supersedes the SETSYNCINFO procedure and
      is used by the backup process of a process pair after a failure of the primary process.
      The FILE_SETSYNCINFO_ procedure passes a process pair’s latest synchronization
      block (received in a checkpoint message from the primary process) to the file system.
      Unlike the SETSYNCINFO procedure, the FILE_SETSYNCINFO_ procedure can be
      used with format 2 files.


       error := FILE_SETSYNCINFO_ ( filenum
                                    ,infobuf
                                    ,infosize );


       error, INT:value                              returned value
       filenum, INT:value                            input
       infobuf, INT.EXT:ref:*                        input
       infosize, INT:value                           input

      FILEERROR
      Determines whether an I/O operation that completed with an error should be retried.


       status := FILEERROR ( filenum );


       status, INT                                   returned value


           0=                                          The operation should not be retried.
           1=                                          The operation should be retried.


       filenum, INT:value                            input




                Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                                5- 47
Procedure Calls Summary (D-F)



      FILEINFO
      (Superseded by FILE_GETINFO_, FILE_GETINFOBYNAME_,
      FILE_GETINFOLIST_, and FILE_GETINFOLISTBYNAME_) Obtains error and
      characteristic information about a file.


       CALL FILEINFO ( [ filenum ]
                        ,[ error ]
                        ,[ filename ]
                        ,[ ldevnum ]
                        ,[ devtype ]
                        ,[ extent-size ]
                        ,[ eof-pointer ]
                        ,[ next-record-pointer ]
                        ,[ last-modtime ]
                        ,[ filecode ]
                        ,[ secondary-extent-size ]
                        ,[ current-record-pointer ]
                        ,[ open-flags ]
                        ,[ subdevice ]
                        ,[ owner ]
                        ,[ security ]
                        ,[ num-extents-allocated ]
                        ,[ max-file-size ]
                        ,[ partition-size ]
                        ,[ num-partitions ]
                        ,[ file-type ]
                        ,[ maximum-extents ]
                        ,[ unstructured-buffer-size ]
                        ,[ more-flags ]
                        ,[ sync-depth ]
                        ,[ next-open-fnum ] );


       filenum INT:value                                 input
       error INT:ref:1                                   output
       filename INT:ref:12                               input output
       ldevnum INT:ref:1 or INT:ref:16                   output
       devtype INT:ref:1                                 output
       extent-size INT:ref:1                             output
       eof-pointer INT(32):ref:1                         output
       next-record-pointer INT(32):ref:1                 output
       last-modtime INT:ref:3                            output
       filecode INT:ref:1                                output




               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               5- 48
Procedure Calls Summary (D-F)



       secondary-extent-size INT:ref:1                          output
       current-record-pointer INT(32):ref:1                     output
       open-flags, INT:ref:1                                    output


           <1>         For the $RECEIVE file only, the process will receive open, close,
                       CONTROL, SETMODE, RESETSYNC, and CONTROLBUF system
                       messages.
           <2>         Unstructured access, regardless of the actual file structure.
           <3:5>       Is the access mode:
                       0 = Read/write access.
                       1 = Read-only access.
                       2 = Write-only access.
           <6>         Resident buffers are provided by the application process for calls to file
                       system I/O routines.
           <8>         For process files, the open message is sent nowait and must be completed by
                       a call to AWAITIO.
           <9:11>      Is the exclusion mode:
                       0 = Shared access.
                       1 = Exclusive access.
                       3 = Protected access.
           <12:15>     Is the maximum number of concurrent nowait I/O operations that can be in
                       progress on this file at any given time. <12:15> = 0 implies wait I/O.


       subdevice INT:ref:1                             output
       owner INT:ref:1                                 output
       security STRING:ref:5                           output


           [0].<4>     =1       Applies to a program file if the file has PROGID authority.
           [0].<5>     =1       Applies if the CLEARONPURGE option is on for this file. If on, this
                                option causes all data to be physically deleted from the disk when the
                                file is purged. If this option is not on, the disk space is only logically
                                deallocated when the file is purged: no data is actually destroyed.
           [0].<6>     =0       There is a Safeguard record for the file.
                       =1       There is no Safeguard record for the file.
           [1] Returns the reading security of the file.
           [2] Returns the writing security of the file.
           [3] Returns the execution security of the file.
           [4] Returns the purging security of the file.




               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               5- 49
Procedure Calls Summary (D-F)




       num-extents-allocated INT:ref:1                    output
       max-file-size INT(32):ref:1                        output
       partition-size INT:ref:1                           output
       num-partitions INT:ref:1                           output
       file-type INT:ref:1                                output


           <2>         =1       This file is audited by TMF.
           <5:7>                SQL object type:
                                  0 = Not SQL.
                                  2 = SQL table.
                                  5 = SQL protection view.
                                  7 = SQL shorthand view.
           <10>        =1       REFRESH is specified for this file.
           <11>        =1       For key-sequenced files, index compression is specified.
           <12>        =1       For key-sequenced files, data compression is specified.
                       =1       For unstructured files, 1 indicates that ODDUNSTR is specified.
           <13:15>              Specifies the file structure:
                                  0 = Unstructured.
                                  1 = Relative.
                                  2 = Entry-sequenced.
                                  3 = Key-sequenced.


       maximum-extents, INT:ref:1                                  output
       unstructured-buffer-size, INT:ref:1                         output
       more-flags, INT:ref:1                                       output


           <0>         0 = Verify writes off.
                       1 = Verify writes on (the current file-label default).
           <1>         0 = The system automatically selects serial or parallel writes..
                       1 = Serial mirror writes only (the current file-label default).
           <2>         0 = Buffered writes enabled.
                       1 = Write-thru (the current file-label default).
           <3>         0 = Audit-checkpoint compression off.
                       1 = Audit-checkpoint compression on (the current file-label default).
           <4>         0 = Crash-open flag off.
                       1 = Crash-open flag on.
           <5>         0 = Rollforward-needed flag off.
                       1 = Rollforward-needed flag on.
           <6>         0 = Broken-file flag off.
                       1 = Broken-file flag on.

               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               5- 50
Procedure Calls Summary (D-F)



           <7>         0 = File closed.
                       1 = File opened.
           <8>         0 = Not licensed for privileged procedures.
                       1 = licensed.
           <9>         0 = Not a secondary partition.
                       1 = A secondary partition.
           <10>        0 = File contents valid.
                       1 = File contents probably invalid.
           <11:15>     Unused.


       sync-depth, INT:ref:1                            output
       next-open-fnum, INT:ref:1                        output


       < (CCL)                               An error occurred; the error number returned in error.
       =(CCE)                                FILEINFO executed successfully.
       > (CCG)                               An error occurred; the error number returned in error.

      FILEINQUIRE
      (Superseded by FILE_GETINFO_, FILE_GETINFOBYNAME_,
      FILE_GETINFOLIST_, and FILE_GETINFOLISTBYNAME_) Obtains information
      about a file.


       CALL FILEINQUIRE ( [ filenumber ]
                         ,[ filename ]
                         ,item-list
                         ,number-items
                         ,result-buffer
                         ,result-buffer-length
                         ,[ error-item ]
                         ,[ error-code ] );


       filenumber, INT:value                            input
       filename, INT:ref:12                             input
       item-list, INT:ref:*                             input
       number-items, INT:value                          input
       result-buffer, INT .EXT:ref:*                    output
       result-buffer-length, INT:value                  input
       error-item, INT:ref:1                            output
       error-code, INT:ref:1                            output


                Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                                5- 51
Procedure Calls Summary (D-F)




       < (CCL)         An error occurred (see error-code).
       = (CCE)         FILEINQURE was successful.
       > (CCG)         One or more of the items requested are invalid for the file’s device type, file
                       type, open status, or other characteristic.

      FILENAME_COMPARE_
      Compares two file names to determine if they refer to the same object.


       error := FILENAME_COMPARE_ ( filename1:length
                                   ,filename2:length );


       error, INT                                        returned value


            -1         The file names do not refer to the same object.
            0          The file names refer to the same object.
           >0          A file-system error prevented evaluation; the returned value is the file-system
                       error number.


       filename1:length, STRING .EXT:ref:*,INT:value                      input:input
       filename2:length, STRING .EXT:ref:*,INT:value                      input:input

      FILENAME_DECOMPOSE_
      Extracts and returns one or more parts of a file-name or file name pattern.


       error := FILENAME_DECOMPOSE_ ( filename:length
                                     ,piece:maxlen
                                     ,piece-length
                                     ,level
                                     ,[ options ]
                                     ,[ subpart ] );


       error, INT                                                          returned value
       filename:length, STRING .EXT:ref:*,INT:value                        input:input
       piece:maxlen, STRING .EXT:ref:*,INT:value                           output:input
       piece-length, INT .EXT:ref:1                                        output
       level, INT:value                                                    input



                 Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                                 5- 52
Procedure Calls Summary (D-F)




           -1            Node name.
            0            Destination name (for example, volume, device or process).
            1            First qualifier (for example, subvolume).
            2            Second qualifier (file identifier if disk file)


       options, INT:value                                input


       <0:12>=             Reserved (specify 0).
       <13>        =1      Do not return default values; that is, if a requested part is not present in
                           filename but a default exists for it, return a null string instead of the
                           default value.
                   =0      Default values can be returned.
       <14>        =1      Include prefix, that is, the entire portion of filename that precedes the
                           part specified by level.
                   =0      Do not include prefix.
       <15>        =1      Include suffix, that is, the entire portion of filename that follows the
                           part specified by level.
                   =0      Do not include suffix.


       subpart, INT:value                                input


           0             Extract all sections occurring before the period (.).
           1             Extract processor for an unnamed process.
           2             Extract PIN for an unnamed process.
           3             Extract sequence number, of a process.
           4             Extract name (begins with a dollar sign, ends at the first colon or period).

      FILENAME_EDIT_
      Modifies one or more parts of a file name or file-name pattern, changing them to a
      specified value.


       error := FILENAME_EDIT_ ( filename:maxlen
                                ,filename-length
                                ,piece:length
                                ,level
                                ,[ options ]
                                ,[ subpart ] );




                Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                                5- 53
Procedure Calls Summary (D-F)




       error, INT                                                       returned value
       filename:maxlen, STRING .EXT:ref:*,INT:value                     input, output:input
       filename-length, INT .EXT:ref:1                                  input, output
       piece:length, STRING .EXT:ref:*,INT:value                        input:input
       level, INT:value                                                 input


           -1                          Node name.
            0                          Destination name (for example, volume, device, or process).
            1                          First qualifier (for example, subvolume).
            2                          Second qualifier (file identifier if disk file).

       options, INT:value                                               input


           <0:13>                   Reserved (specify 0).
           <14>           =1        Include prefix, that is, the entire portion of filename that
                                    precedes the part specified by level.
                          =0        Do not include prefix.
           <15>           =1        Include suffix, that is, the entire portion of filename that
                                    follows the part specified by level.
                          =0        Do not include suffix.


       subpart, INT:value                                input

      This parameter applies only to process file names.

           0       Replace whole destination, that is, all sections occurring before the period (.).
           1       Replace processor, that is, the numeric part designating the processor for an
                   unnamed process.
           2       Replace PIN, that is, the numeric part that gives the process identification
                   number for an unnamed process.
           3       Replace sequence number, that is, the numeric part that gives the sequence
                   number of a process.
           4       Replace name, that is, the alphanumeric section that begins with a question mark
                   and ends at the first colon or period.




                Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                                5- 54
Procedure Calls Summary (D-F)



      FILENAME_FINDFINISH_
      Releases the resources reserved for a search that was previously initiated by a call to
      FILENAME_FINDSTART_.


       error := FILENAME_FINDFINISH_ ( searchid );


       error, INT                                   returned value
       searchid, INT:value                          input

      FILENAME_FINDNEXT_
      Returns the next name in a set of named entities that was defined by a call to
      FILENAME_FINDSTART_.


       error := FILENAME_FINDNEXT_ ( searchid,
                                    ,[ name:maxlen ]
                                    ,[ name-length ]
                                    ,[ entity-info ]
                                    ,[ tag ] );


       error, INT                                           returned value
       searchid, INT:value                                  input
       name:maxlen, STRING .EXT:ref:*,INT:value             output:input
       name-length, INT .EXT:ref:1                          output
       entity-info, INT .EXT:ref:5                          output


           [0] =   Device type.
           [1] =   Device subtype.
           [2] =   Object type.
                   >0       SQL disk file.
                   0        Non-SQL disk file.
                   -1       Not a disk file.
           [3] =   File type.




               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               5- 55
Procedure Calls Summary (D-F)



                    0       Unstructured disk file.
                    1       Relative disk file.
                    2       Entry-sequenced disk file.
                    3       Key-sequenced disk file.
                    -1      Not a disk file.
           [4] =    File code.
                    >= 0    Disk file.
                    -1      Not a disk file.


       tag, INT(32):value                                input

      FILENAME_FINDSTART_
      Sets up a search of named entities.


       error := FILENAME_FINDSTART_ ( searchid
                                     ,[ search-pattern:length ]
                                     ,[ resolve-level ]
                                     ,[ device-type ]
                                     ,[ device-subtype ]
                                     ,[ options ]
                                     ,[ startname:length ] );


       error, INT                                                               returned value
       searchid, INT .EXT:ref:1                                                 output
       search-pattern:length, STRING .EXT:ref:*,INT:value                       input:input
       resolve-level, INT:value                                                 input


           -1                                  Node name.
            0                                  Destination name (for example, device or process).
            1                                  First qualifier (for example, subvolume).
            2                                  Second qualifier (file identifier if disk file).


       device-type, INT:value                            input
       device-subtype, INT:value                         input
       options, INT:value                                input




                Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                                5- 56
Procedure Calls Summary (D-F)




           <0:8>       Reserved (specify 0).
           <9>         The search is to be executed in a nowait manner. The results of the search
                       are returned in system messages sent to $RECEIVE.
           <10>        Device simulation by subtype 30 devices is not to be supported.
           <11>        The search is not to include subprocesses.
           <12>        If an entity is encountered that is offline (that is, the system is not connected
                       or the device is down), an error is to be reported.
           <13>        If device-subtype is supplied, a file name must not match the device
                       subtype value to be returned.
           <14>        If device-type is supplied, a file name must not match the device type
                       value to be returned.
           <15>        If startname is supplied, and if the first name returned would be
                       startname, then that name is to be skipped and the following name should be
                       returned.


       startname:length, STRING .EXT:ref:*,INT:value                        input:input

      FILENAME_MATCH_
      Determines whether one or more contiguous sections of a file name match the
      corresponding sections of a file-name pattern.


       error := FILENAME_MATCH_ ( filename:length
                                 ,pattern:length
                                 ,[ generic-set ] );


       error, INT                                        returned value

           2       Match; name fits pattern.
           1       Partial match; name fits lefthand pattern sections.
           0       No match; name does not fit pattern.
           <0      An error occurred:
           -1      Missing name parameter.
           -2      Missing pattern parameter.
           -3      Length error on name parameter.
           -4      Length error on pattern parameter.
           -5      Bounds error on generic-set parameter.



                Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                                5- 57
Procedure Calls Summary (D-F)




       filename:length, STRING .EXT:ref:*,INT:value                  input:input
       pattern:length, STRING .EXT:ref:*,INT:value                   input:input
       generic-set, INT .EXT:ref:1                                   output


           -1                                  The name falls before the first possible match.
            0                                  The name falls within the set of possible matches.
            1                                  The name falls after the last possible match.

      FILENAME_RESOLVE_
      Converts a partially qualified file name to a fully qualified file name.


       error := FILENAME_RESOLVE_ ( partialname:length
                                   ,fullname:maxlen
                                   ,fullname-length
                                   ,[ options ]
                                   ,[ override-name:length ]
                                   ,[ search:length ]
                                   ,[ defaults:length ] );


       error, INT                                                        returned value
       partialname:length, STRING .EXT:ref:*,INT:value                   input:input
       fullname:maxlen, STRING .EXT:ref:*,INT:value                      output:input
       fullname-length, INT .EXT:ref:1                                   output
       options, INT:value                                                input

           <0:7>     Reserved (specify 0).
           <8>       If partialname consists of a simple unqualified disk file name, a DEFINE
                     name is generated to use as override-name. The generated name is an
                     equals sign (=) followed by partialname.
           <9>       If search is supplied and a search fails to find an existing file,
                     FILENAME_RESOLVE_ resolves partialname using the first entry in the
                     search DEFINE.
           <10>      If a DEFINE name other than one translated by options.<11> or
                     options.<12> is supplied for partialname, FILENAME_RESOLVE_
                     returns error 13.
           <11>      If a DEFINE name is supplied for partialname, and if the DEFINE has a
                     file name associated with it, that file name is returned as the result.




                Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                                5- 58
Procedure Calls Summary (D-F)



           <12>      If a DEFINE name is supplied for partialname, and if the DEFINE
                     contains only a file name (that is, it is a simple MAP DEFINE), then
                     FILENAME_RESOLVE_ returns that file name as the result. If neither this
                     option nor options.<11> is specified, then the DEFINE name is returned as
                     the result.
           <13>      If a logical device number (LDEV) appears as part of partialname,
                     FILENAME_RESOLVE_ translates it to the corresponding symbolic device
                     name.
           <14>      A single name part supplied in partialname is to be treated as a subvolume
                     name or pattern.
           <15>      All alphabetic characters in the resolved file name are to be shifted to upper
                     case.


       override-name:length, STRING .EXT:ref:*,INT:value                             input:input
       search:length, STRING .EXT:ref:*,INT:value                                    input:input
       defaults:length, STRING .EXT:ref:*,INT:value                                  input:input

      FILENAME_SCAN_
      Checks for valid file-name syntax and returns the length in bytes of that part of the input
      string that constitutes a file name.


       error := FILENAME_SCAN_ ( string:length
                                ,[ count ]
                                ,[ kind ]
                                ,[ entity-level ]
                                ,[ options ] );


       error, INT                                                   returned value
       string:length, STRING .EXT:ref:*,INT:value                   input:input
       count, INT .EXT:ref:1                                        output
       kind, INT .EXT:ref:1                                         output


           0      File name (that is, the name of an entity).
           1      File-name pattern. This value can be returned only if options.<15> is set to 1.
                  If the input is a name as well as a file-name pattern (that is, it does not contain an
                  asterisk or question mark), FILENAME_SCAN_ classifies it as a name and not a
                  pattern.
           2      DEFINE name.

       entity-level, INT .EXT:ref:1                      output


               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               5- 59
Procedure Calls Summary (D-F)




           -1         Node name.
            0         Name of device or process without qualifiers.
           >0         Name of device or process with entity-level qualifiers.


       options, INT:value                                input


           <0:13>      Reserved (specify 0).
           <14>        Specifies that a subvolume name be accepted as valid input.
           <15>        Specifies that a file name pattern be accepted as valid input.

      FILENAME_TO_OLDFILENAME_
      Converts a file name to a C-series internal file name.


       error := FILENAME_TO_OLDFILENAME_ ( filename:length
                                          ,oldstyle-name );


       error, INT                                                             returned value
       filename:length, STRING .EXT:ref:*,INT:value                           input:input
       oldstyle-name, INT .EXT:ref:12                                         output

      FILENAME_TO_PATHNAME_
      Converts a Guardian file name or subvolume name to an OSS pathname.


       error := FILENAME_TO_PATHNAME_ ( filename:length
                                       ,pathname:maxlen
                                       ,pathlen
                                       ,[ options ] );


       error, INT                                        returned value


           0         No error.
           563       The pathname buffer is too small to contain the resulting name.
           4002      The filename parameter specifies a Guardian name for an OSS file that
                     either does not exist or has been unlinked but is still open by some process. The
                     corresponding OSS errno value is ENOENT.



                 Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                                 5- 60
Procedure Calls Summary (D-F)



           4006     The fileset that corresponds to the supplied Guardian name for an OSS file is
                    not mounted. The corresponding OSS errno value is ENXIO.
           4013     The caller does not have search access to one of the directories within all of the
                    resulting pathnames. The corresponding OSS errno value is EACCESS.
           4014     A parameter has an invalid address. The corresponding OSS errno value is
                    DEFAULT.
           4022     Either options is specified and options.<14> does not contain all zeros or
                    filename is not a valid file or subvolume name. The corresponding OSS
                    errno value is EINVAL.
           4202     The root fileset is not mounted. The corresponding OSS errno value is
                    ENOROOT.
           4211     The resulting pathname is longer than the limit defined in PATH_MAX.
                    (PATH_MAX is a symbolic constant defined in the OSS limitsh header file.)
                    The corresponding OSS errno value is ECWDTOOLONG.


       filename:length, STRING .EXT:ref:*,INT:value                         input:input
       pathname:maxlen, STRING .EXT:ref:*,INT:value                         output:input
       pathlen, INT .EXT:ref:1                                              output
       options, INT:value                                                   input

      FILENAME_TO_PROCESSHANDLE_
      Converts a process file name to a process handle.


       error := FILENAME_TO_PROCESSHANDLE_ ( filename:length
                                            ,processhandle );


       error, INT                                                           returned value
       filename:length, STRING .EXT:ref:*,INT:value                         input:input
       processhandle, INT .EXT:ref:10                                       output

      FILENAME_UNRESOLVE_
      Accepts a file name as input, deletes lefthand sections that match the default values, and
      returns a file name that is semantically equivalent to the input file name.


       error := FILENAME_UNRESOLVE_ ( longname:length
                                     ,shortname:maxlen
                                     ,shortname-length
                                     ,[ level ]
                                     ,[ defaults:length ] );


               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               5- 61
Procedure Calls Summary (D-F)




       error, INT                                                                 returned value
       longname:length, STRING .EXT:ref:*,INT:value                               input:input
       shortname:maxlen, STRING .EXT:ref:*,INT:value                              output:input
       shortname-length, INT .EXT:ref:1                                           output
       level, INT:value                                                           input.


           -1        Node name.
            0        Destination name (for example, volume, device, or process).
            1        First qualifier (for example, subvolume).
            2        Second qualifier (file identifier if disk file).

       defaults:length, STRING .EXT:ref:*,INT:value                              input:input

      FILERECINFO
      (Superseded by FILE_GETINFO_, FILE_GETINFOBYNAME_,
      FILE_GETINFOLIST_, and FILE_GETINFOLISTBYNAME_) Obtains the record
      characteristics of a disk file.


       CALL FILERECINFO ( [             filenum ]
                         ,[             current-keyspecifier ]
                         ,[             current-keyvalue ]
                         ,[             current-keylen ]
                         ,[             current-primary-keyvalue ]
                         ,[             current-primary-keylen ]
                         ,[             partition-in-error ]
                         ,[             specifier-of-key-in-error ]
                         ,[             file-type ]
                         ,[             logical-recordlen ]
                         ,[             blocklen ]
                         ,[             key-sequenced-parameters ]
                         ,[             alternate-key-parameters ]
                         ,[             partition-parameters ]
                         ,[             filename ] );


       filenum, INT:value                                               input
       current-keyspecifier, INT:ref:1                                  output
       current-keyvalue, STRING:ref:*                                   output
       current-keylen, INT:ref:1                                        output
       current-primary-keyvalue, STRING:ref:*                           output
       current-primary-keylen, INT:ref:1                                output

                Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                                5- 62
Procedure Calls Summary (D-F)



       partition-in-error, INT:ref:1                              output
       specifier-of-key-in-error, INT:ref:1                       output
       file-type, INT:ref:1                                       output


           <2>         = 1 This file is audited by the TMF subsystem.
                       SQL object type:
           <5:7>                0=     Not SQL.
                                2=     SQL table.
                                4=     SQL index.
                                5=     SQL protection view.
                                7=     SQL shorthand view.
           <10>        =1       REFRESH is specified for this file.
           <11>        =1       For key-sequenced files, index compression is specified.
           <12>        =1       For key-sequenced files, data compression is specified.
                       =1       For unstructured files, ODDUNSTR is specified.
                       =1       Specifies the file structure:
           <13:15>              0=     Unstructured.
                                1=     Relative.
                                2=     Entry-sequenced
                                3=     Key-sequenced.


       logical-recordlen, INT:ref:1                                        output
       blocklen, INT:ref:1                                                 output
       key-sequenced-parameters, INT:ref:*                                 output
       alternate-key-parameters, INT:ref:*                                 output
       partition-parameters, INT:ref:*                                     output
       filename, INT:ref:12                                                input


       < (CCL)       An error occurred. Either the specified file was not found or both filenum
                     and filename were specified in the same FILERECINFO call.
       = (CCE)       FILERECINFO executed successfully.
       > (CCG)       The file is not a disk file.




               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               5- 63
Procedure Calls Summary (D-F)



      FIXSTRING
      Edits a string based on subcommands provided in a template.


       CALL FIXSTRING ( template
                       ,template-len
                       ,data
                       ,data-len
                       ,[ maximum-data-len ]
                       ,[ modification-status ] );


       template, STRING:ref:*                         input
       template-len, INT:value                        input
       data, STRING:ref:*                             input, output
       data-len, INT:ref:1                            input, output
       maximum-data-len, INT:value                    input
       modification-status, INT:ref:1                 output


           0             No change was made to data.
           1             A replacement, insertion, or deletion was performed on data.


       < (CCL)       One or more of the required parameters is missing.
       = (CCE)       The operation finished successfully.
       > (CCG)       An insert or replace would have caused the data string to exceed the
                     maximum-data-len.

      FNAME32COLLAPSE
      (obsolete) Converts the 32-character file name used by the Distributed Name Service to
      external format for display.


       length := FNAME32COLLAPSE ( intname
                                  ,extname );

       length, INT                                    returned value
       intname, STRING .EXT:ref:32                    input
       extname, STRING .EXT:ref:35                    output




               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               5- 64
Procedure Calls Summary (D-F)



      FNAME32EXPAND
      (Superseded by FILENAME_SCAN_ and FILENAME_RESOLVE_) Expands a partial
      file name from the compacted external form to the 32-character file name used by the
      Distributed Name Service programmatic interface.


       length := FNAME32EXPAND ( extname
                                ,intname
                                ,defaults );


       length, INT                                    returned value
       extname, STRING .EXT:ref:35                    input
       intname, STRING .EXT:ref:32                    output
       defaults, STRING .EXT:ref:16 or 18             input

      FNAME32TOFNAME
      (obsolete) Converts a file name from the 32-character format used by the Distributed
      Name Service to the Guardian file-name format.


       status := FNAME32TOFNAME ( fname32 ,fname );


       status, INT                                    returned value


           -1            The file name was successfully converted.
            0            The file name cannot be converted, or an error occurred.

       fname32, STRING .EXT:ref:32                    input
       fname, STRING .EXT:ref:24                      input

      FNAMECOLLAPSE
      (Superseded by OLDFILENAME_TO_FILENAME_) Converts a file name from
      internal to external form. The system number of a network file name is converted to the
      corresponding system name.


       length := FNAMECOLLAPSE ( internal-name
                                ,external-name );




                Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                                5- 65
Procedure Calls Summary (D-F)




       length, INT                                                      returned value
       internal-name, INT:ref:12                                        input
       external-name, STRING:ref:26 or STRING:ref:34                    output

      FNAMECOMPARE
      (Superseded by FILENAME_COMPARE_) Compares two file names within a local or
      network environment to determine whether these file names refer to the same file or
      device.


       status := FNAMECOMPARE ( filename1
                               ,filename2 );


       status, INT                                     returned value


       -1 (CCL)        The file names do not refer to the same file.
       0 (CCE)         The file names refer to the same file.
       1 (CCG)         The file names refer to the same volume name, device name, or process
                       name on the same system; however, words [4:11] are not the same.


       filename1, INT:ref:12                           input
       filename2, INT:ref:12                           input

      FNAMEEXPAND
      (Superseded by FILENAME_SCAN_ and FILENAME_RESOLVE_) Expands a partial
      file name from the compacted external form to the standard 12-word internal form.


       length := FNAMEEXPAND ( external-filename
                              ,internal-filename
                              ,default-names );


       length, INT                                                         returned value
       external-filename, STRING:ref:26 or STRING:ref:35                   input
       internal-filename, INT:ref:12                                       output
       default-names, INT:ref:8                                            input




               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               5- 66
Procedure Calls Summary (D-F)




           [0:3]      default volname. First two bytes can be “sysnum,” in which case “$” is
                      omitted from volume name. (blank-filled on right).
           [4:7]      default subvolname (blank-filled on right).
           [0:7]      corresponds directly to word[1:8] of the command interpreter startup message.

      FNAMETOFNAME32
      (obsolete) Converts a file name from the 12-word Guardian format to the 32-character
      Distributed Name Service format.


       status := FNAMETOFNAME32 ( fname ,fname32 );


       status, INT                                       returned value


           -1          The file name was successfully converted.
            0          The file name cannot be converted, or an error occurred.


       fname, STRING .EXT:ref:24                         input
       fname32, STRING .EXT:ref:32                       output

      FORMATCONVERT[X]
      Converts the external format to the internal form required for presentation to the
      FORMATDATA[X] procedures.


       status := FORMATCONVERT[X] ( iformat
                                   ,iformatlen
                                   ,eformat
                                   ,eformatlen
                                   ,scales
                                   ,scale-count
                                   ,conversion );


       status, INT                                       returned value


           >0      Successful conversion. The value is the number of bytes in the converted format
                   (iformat).
           =0      The value of iformatlen was insufficient to hold the entire converted format.
           <0      Error in the format. The value is the negated byte location in the input string at
                   which the error was detected. The first byte of eformat is numbered 1.

                Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                                5- 67
Procedure Calls Summary (D-F)




           iformat,                                                                  output
                        STRING:ref:*            (Use with FORMATCONVERT)
                        STRING .EXT:ref:*       (Use with FORMATCONVERTX)
           iformatlen, INT:value                                                     input
           eformat,                                                                  input
                        STRING:ref:*            (Use with FORMATCONVERT)
                        STRING .EXT:ref:*       (Use with FORMATCONVERTX)
           eformatlen, INT:value                                                     input
           scales,                                                                   output
                        INT:ref:*               (Use with FORMATCONVERT)
                        INT .EXT:ref:*          (Use with FORMATCONVERTX)
           scale-count,                                                              input,
                                                                                     output
                        INT:ref:*               (Use with FORMATCONVERT)
                        INT .EXT:ref:*          (Use with FORMATCONVERTX)
           conversion, INT:value                                                     input


           0     Check the validity of the format only.
           1     Produce an expanded form that has modifiers and decorations.
           2     Produce a compact conversion, but ignore modifiers and decorations.

      FORMATDATA[X]
      Converts data-item values between internal and external representations.


       error := FORMATDATA[X] ( buffer
                               ,bufferlen
                               ,buffer-occurs
                               ,length
                               ,iformat
                               ,variable-list
                               ,variable-list-len
                               ,flags );


       error, INT:value                                   returned value




               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               5- 68
Procedure Calls Summary (D-F)




             0                                                Successful operation.
             267                                              Buffer overflow.
             268                                              No buffer.
             271                                              EDIT item mismatch.
             272                                              Illegal input character.
             273                                              Bad format.
             274                                              Numeric overflow.


       buffer,                                            input, output
       STRING:ref:*                                       (Use with FORMATDATA)
       STRING .EXT:ref:*                                  (Use with FORMATDATAX)
       bufferlen, INT:value                               input
       buffer-occurs, INT:value                           input
       length,                                            output
       INT:ref:*                                          (Use with FORMATDATA )
       INT .EXT:ref:*                                     (Use with FORMATDATAX)
       iformat,                                           input
       INT:ref:*                                          (Use with FORMATDATA )
       INT .EXT:ref:*                                     (Use with FORMATDATAX)
       variable-list,                                     input
       INT:ref:*                                          (Use with FORMATDATA )
       INT .EXT:ref:*                                     (Use with FORMATDATAX)
       variable-list-len, INT:value                       input
       flags, INT:value                                   input


       <2>         List-directed
                   0 = Apply the format-directed operation.
                   1 = Apply the list-directed operation.




                   Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                                   5- 69
Procedure Calls Summary (D-F)



       <3>     P-Relative (iformat array)
               0 = The iformat array address is G-relative.
               1 = The iformat array address is P-relative.
       <4>     Null value passed
               0 = Each variable-list item is a 4-word group (FORMATDATA) or a 5-word
               group (FORMATDATAX).
               1 = Each variable-list item is a 5-word group (FORMATDATA) or a 7-word
               group (FORMATDATAX).
       <15>    Input
               0 = FORMATDATA[X] performs output operations.
               1 = FORMATDATA[X] performs input operations.




               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               5- 70
6       Procedure Calls Summary (G-N)
This section lists procedure calls in alphabetic order and briefly describes the syntax of
each. For additional information about the procedure calls, refer to the Guardian
Procedure Calls Reference Manual.


GETPCPBINFO
Provides a process with information from its own (the current) process control block
(PCB).


 CALL GETCPCBINFO ( request-id
                   ,cpcb-info
                   ,in-length
                   ,out-length
                   ,error );


 request-id, INT:value                             input

 0    Remote creator flag; returns 1 in cpcb-info if creator was remote.
 1    Logged-on process state; returns 1 in cpcb-info if the process has logged on.
 2    Safeguard-authenticated logon flag; returns 1 in cpcb-info if the process was started
      after you successfully logged on to a terminal owned by Safeguard.
 3    Safeguard-authenticated logoff state; returns 1 in cpcb-info if the Safeguard-
      authenticated logon flag is set but the process has logged off.
 4    Inherited-logon flag; returns 1 in cpcb-info if the logon was inherited by the process.
 5    Stop-on-logoff flag; returns 1 in cpcb-info if the process is to be stopped when it
      requests to be placed in the logged-off state.
 6    Propagate-logon flag; returns 1 in cpcb-info if the process’s local descendants are to
      be created with the inherited-logon flag set.
 7    Propagate-stop-on-logoff flag; returns 1 in cpcb-info if the process’s local
      descendants are to be created with the stop-on-logoff flag set.
 16   Logon flags and states; returns current settings of all the logon flags and state indicators
      in cpcb-info.


 cpcb-info, INT:ref:*                              output
 in-length, INT:value                              input
 out-length, INT:ref:1                             output
 error, INT:ref:1                                  output



         Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                         6 -1
Procedure Calls Summary (G-N)



      GETCRTPID
      (Superseded by PROCESS_GETINFO_ and PROCESS_GETINFOLIST_) Obtains the
      four-word process ID associated with a process CRTPID contains the process name or
      creation timestamp in words[0:2] and cpu,pin in word[3].


       CALL GETCRTPID ( cpu,pin ,process-id );


       cpu,pin, INT:value                             input
       process-id, INT:ref:4                          output


       < (CCL)                                    GETCRTPID failed, or no such process exists.
       = (CCE)                                    GETCRTPID completed successfully.

      GETDEVNAME
      (Superseded by DEVICE_GETINFOBYLDEV_ or FILENAME_FINDNEXT_) Obtains
      the name associated with a logical device number.


       status := GETDEVNAME ( ldevnum
                             ,devname
                             ,[ sysnum ]
                             ,[ devtype ]
                             ,[ devsubtype ] );


       status, INT                                    returned value


       0    Successful; the name of the designated logical device is returned in devname.
       1    The designated logical device does not exist. The logical device number of the next
            higher device is returned in ldevnum; the name of that device is returned in devname.
       2    There is no logical device number that is equal to or greater than the ldevnum whose
            value matches the devtype and devsubtype parameters.
       4    The system specified could not be accessed.
       99   Parameter error.


       ldevnum, INT:ref:1                             input, output
       devname, INT:ref:4                             output




               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               6 -2
Procedure Calls Summary (G-N)



       sysnum, INT:value                              input
       devtype, INT:value                             input
       devsubtype, INT:value                          input

      GETINCREMENTEDIT
      Returns the record number increment value for an IOEdit file. GETINCREMENTEDIT
      is an IOEdit procedure and can be used only with files that have been opened by
      OPENEDIT or OPENEDIT_.


       increment := GETINCREMENTEDIT ( filenum );


       increment, INT(32)                             returned value
       filenum, INT .EXT:ref:1                        input

      GETPOOL
      (Superseded by POOL_CHECK_, POOL_DEFINE_, POOL_GETINFO_,
      POOL_GETSPACE_, POOL_PUTSPACE_, and POOL_RESIZE_) Obtains a block of
      memory from a buffer pool.


       address := GETPOOL ( pool-head ,block-size );


       address, INT(32)                               returned value
       pool-head, INT .EXT:ref:19                     input, output
       block-size, INT(32):value                      input

       < (CCL)    The value of block-size is out of range, or the data structures are invalid; -1D
                  is returned.
       = (CCE)    The operation is successful; the extended address of the block returns if block-
                  size is greater than zero, -1D returns if block-size is equal to zero.
       > (CCG)    Insufficient memory is available; -1D returns.

      GETPOSITIONEDIT
      Returns the record number of the line in the specified file most recently read or written.
      GETPOSITIONEDIT is an IOEdit procedure and can only be used with files that have
      been opened by OPENEDIT or OPENEDIT_.


       position := GETPOSITIONEDIT ( filenum );

               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               6 -3
Procedure Calls Summary (G-N)




       position, INT(32)                                returned value
       filenum, INT:value                               input

      GETPPDENTRY
      (Superseded by PROCESS_GETPAIRINFO_) Obtains a description of a named process
      pair by the process pair’s index into the destination control table (DCT).


       CALL GETPPDENTRY ( index ,sysnum ,ppd );


       index, INT:value                                 input
       sysnum, INT:value                                input
       ppd, INT:ref:9                                   output


       [0:2]        Process name (in local form).
       [3].<0:7>    Processor of primary process.
       [3].<8:15>   PIN of primary process.
       [4].<0:7>    Processor of backup process if it is a process pair.
       [4].<8:15>   PIN of backup process, if it is a process pair.
       [5:8]        The value of process-id of ancestor containing:
                    [0:2] Process name or creation timestamp.
                    [3].<0:3> Reserved.
                    [3].<4:7> Processor number where the process is executing.
                    [3].<8:15> PIN assigned by the operating system.


       < (CCL)      The DCT in the given system cannot be accessed.
       = (CCE)      The GETPPDENTRY finished successfully.
       > (CCG)      The index is greater than the last entry in the DCT.

      GETREMOTECRTPID
      (Superseded by PROCESS_GETINFO_ and PROCESS_GETINFOLIST_) Obtains the
      4-word process ID associated with a remote process.


       CALL GETREMOTECRTPID ( cpu,pin ,process-id ,sysnum );




               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               6 -4
Procedure Calls Summary (G-N)




       cpu,pin, INT:value                           input
       process-id, INT:ref:4                        output
       sysnum, INT:value                            input


       < (CCL)      The GETREMOTECRTPID failed. Either no such process exists, the remote
                    system could not be accessed, or the process has an inaccessible name,
                    consisting of more than four characters.
       = (CCE)      GETREMOTECRTPID was successful.

      GETSYNCINFO
      (Superseded by FILE_GETSYNCINFO_) Returns a disk file’s synchronization block so
      it can be sent to the backup process in a checkpoint message.


       CALL GETSYNCINFO ( filenum
                         ,sync-block
                         ,[ sync-block-size ] );


       filenum, INT:value                           input
       sync-block, INT:ref:*                        output
       sync-block-size, INT:ref:1                   output


       < (CCL)                                      An error occurred (call FILEINFO).
       = (CCE)                                      GETSYNCINFO was successful.
       > (CCG)                                      The file is not a disk file.

      GETSYSTEMNAME
      (Superseded by NODENUMBER_TO_NODENAME_) Supplies the system name
      associated with a system number.


       ldev := GETSYSTEMNAME ( sysnum ,sysname );


       ldev, INT                                    returned value




               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               6 -5
Procedure Calls Summary (G-N)




       >0   The logical device number of the network line handler that controls the current path to
            the system designated by sysnum.
       0    The sysnum parameter is not defined.
       -1   All paths to the system are down.
       -2   The system is not on a network, or the system is local and unnamed (system name is
            blank).
       -3   A bounds error occurred on sysname.


       sysnum, INT:value                              input
       sysname, INT:ref:4                             output

      GIVE^BREAK
      Returns BREAK to the process that owned BREAK before the last call to
      TAKE^BREAK. GIVE^BREAK is a sequential I/O (SIO) procedure and can be used
      only with files that have been opened by OPEN^FILE.


       error := GIVE^BREAK ( { common-fcb }
                             { file-fcb   } );


       error, INT                                     returned value
       common-fcb, INT:ref:*                          input
       file-fcb, INT:ref:*                            input

      GROUP_GETINFO_
      Returns attributes of the specified group.


       error := GROUP_GETINFO_ ( [              group-name:group-maxlen ]
                                ,[              group-curlen ]
                                ,[              groupid ]
                                ,[              is-auto-delete ]
                                ,[              descrip:descrip-maxlen ]
                                ,[              descriplen ] );


       error, INT                                     returned value




               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               6 -6
Procedure Calls Summary (G-N)




       0      No error.
       11     Record not in use. The specified group name or group ID is undefined.
       22     Parameter out of bounds. An input parameter is not within the valid range, or return
              information does not fit into the length of the space provided, or an output parameter
              overlays the stack marker that was created by calling this procedure.
       29     This procedure was called without specifying a required parameter.
       590    Bad parameter value. Either the value specified in group-curlen is greater than the
              value specified in group-maxlen, the value specified in group-curlen is not
              within the valid range, or the value specified in groupid is not within the valid range.


       group-name:group-maxlen, STRING .EXT:ref:*,INT:value                        input, output:input
       group-curlen, INT .EXT:ref:1                                                input, output
       groupid, INT(32) .EXT:ref:1                                                 input, output
       is-auto-delete, INT .EXT:ref:1                                              output


       -1    The group is deleted when it becomes empty.
       0     The group is not deleted when it becomes empty.


       descrip:descrip-maxlen, STRING .EXT:ref:*,INT:value                         output:input
       descriplen, INT .EXT:ref:1                                                  output




               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               6 -7
Procedure Calls Summary (G-N)



      GROUP_GETNEXT_
      Returns a group name and group ID. On successive calls, all group names and group IDs
      can be obtained.


       error := GROUP_GETINFO_ ( group-name:group-maxlen
                                ,group-curlen
                                ,[ groupid ] );


       error, INT                                        returned value


      0     No error.
      11    Record not in file. There are no more groups, or the specified group name is undefined.
      22    Parameter out of bounds. An input parameter is not within the valid range, or return
            information does not fit into the length of the space provided, or an output parameter
            overlays the stack marker that was created by calling this procedure.
      29    Missing parameter. This procedure was called without specifying a required parameter.
      590   Bad parameter value. The value specified in group-curlen is greater than the value
            specified in group-maxlen.

      group-name:group-maxlen, STRING .EXT:ref:*,                                 input, output:input
      INT:value
      group-curlen, INT .EXT:ref:1                                                input, output
      groupid, INT(32) .EXT:ref:1                                                 output

      GROUPIDTOGROUPNAME
      (Superseded by USER_GETINFO_) Returns the group name associated with an existing
      group ID from the USERID file.


       CALL GROUPIDTOGROUPNAME                 ( id-name );


       id-name, INT:ref:4                                input, output


       < (CCL)          required parameter is missing, a buffer is out of bounds, or an I/O error
                        occurred when accessing the $SYSTEM.SYSTEM.USERID file.
       = (CCE)          The designated group name is returned.
       > (CCG)          The specified group ID is undefined.



               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               6 -8
Procedure Calls Summary (G-N)



      GROUPMEMBER_GETNEXT_
      Returns a user name or alias associated with a group ID. On successive calls, all user
      names and aliases associated with a given group ID can be obtained.


       error := GROUPMEMBER_GETNEXT_ ( groupid
                                      ,member-name:member-maxlen
                                      ,member-curlen );


       error, INT                                      returned value


       0     No error.
       11    Record not in file. The specified group has no more members or is undefined.
       22    Parameter out of bounds. An input parameter is not within the valid range, or return
             information does not fit into the length of the space provided, or an output parameter
             overlays the stack marker that was created by calling this procedure.
       29    This procedure was called without specifying all parameters.
       590   Bad parameter value. Either the value specified in member-curlen is greater than
             the value specified in member-maxlen, the value specified in member-curlen is
             not within the valid range, or the value specified in groupid is not within the valid
             range.


       groupid, INT(32):value                                                   input
       member-name:member-maxlen, STRING .EXT:ref:*,INT:value                   input, output:input
       member-curlen, INT .EXT:ref:1                                            input, output

      GROUPNAMETOGROUPID
      (Superseded by USER_GETINFO_) Returns the group ID associated with an existing
      group name from the USERID file.


       CALL GROUPNAMETOGROUPID ( name-id );


       name-id, INT:ref:4                              input, output


       < (CCL)       The value of name-id is out of bounds, or an I/O error occurred when the
                     procedure accessed $SYSTEM.SYSTEM.USERID.
       = (CCE)       The designated group ID is returned.
       > (CCG)       The specified group name is undefined.



               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               6 -9
Procedure Calls Summary (G-N)



      HALTPOLL
      Stops continuous polling.


       CALL HALTPOLL ( filenum );


       filenum, INT:value                              input


       < (CCL)                                  An error occurred (call FILEINFO).
       = (CCE)                                  The HALTPOLL procedure executed successfully.

      HEADROOM_ENSURE_
      Allows you to check that the current stack has enough room for the needs of your
      process. This procedure can help you, for example, when specifying parameters for the
      PROCESS_LAUNCH_ procedure.

      Note. This procedure can be called only from a TNS/R native process. Its pTAL syntax is
      declared only in the EXTDECS0 file.



       ret-val := HEADROOM_ENSURE_ ( room );


       ret-val, INT(32)                                returned value


       0D     Either the requested space already exists in the stack space or the stack space was
              successfully enlarged to make enough room for the request.
       5D     The request would have exceeded the maximum stack size.
       6D     The stack pointer is invalid.
       7D     The stack pointer does not address a main stack or a privileged stack.
       36D    The system was unable to allocate memory.
       43D    The system was unable to obtain swap space.
       45D    The Kernel Managed Swap Facility (KMSF) was unable to obtain swap space.


       room, INT(32):value                             input




               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               6- 10
Procedure Calls Summary (G-N)



      HEAPSORT
      Sorts an array of equal-sized elements in place.


       CALL HEAPSORT ( array
                      ,num-elements
                      ,size-of-element
                      ,compare-proc );


       array, INT:ref:*                                input, output
       num-elements, INT:value                         input
       size-of-element, INT:value                      input
       compare-proc, INT PROC                          input

      HEAPSORTX_
      Sorts an array of equal-sized elements in place.


       error := HEAPSORTX_ ( array
                            ,num-elements
                            ,size-of-element
                            ,compare-proc
                            ,[ pointer-array ] );


       error, INT                                      returned value


       0      Array has been successfully sorted.
       29     Required parameter is missing.
       590    Invalid parameter supplied.
       632    Insufficient stack space for temporary variable.


       array, INT .EXT:ref:*                           input, output
       num-elements, INT(32):value                     input
       size-of-element, INT:value                      input
       compare-proc, INT PROC                          input
       pointer-array, INT(32) .EXT:ref:*               input




               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               6- 11
Procedure Calls Summary (G-N)



      HIST_FORMAT_
      Produces an ASCII text representation of the process state whose context is established
      by a previous call to the HIST_INIT_ procedure or HIST_GETPRIOR_ procedure.


       ?SOURCE $SYSTEM.SYSTEM.HHISTRY

       ret-val := HIST_FORMAT_ ( workspace
                                ,text
                                ,limit );


       ret-val, INT                                  returned value


       -2    HIST_BAD_WIDTH
             The value of the limit parameter is less than the minimum width for output defined
             by the Hist_MinWidth literal in the HHISTRY header file.
       -9    HIST_BAD_WORKSPACE
             The workspace structure has an invalid version identifier. This error can occur if
             HIST_FORMAT_ is called without first calling the HIST_INIT_ procedure or if the
             workspace structure has become corrupted.
       -10   HIST_BAD_FORMAT_CALL
             Nothing to format. This error can occur if you call HIST_FORMAT_ again after a
             previous call returned zero indicating no more text for the current context.


       workspace, INT .EXT:ref:(HIST_WORKSPACE_TEMPLATE)                       input, output
       text, STRING .EXT:ref:*                                                 output
       limit, INT:value                                                        input

      HIST_GETPRIOR_
      Establishes a previous procedure call as the process context for display by the next
      HIST_FORMAT_ procedure call.


       ?SOURCE $SYSTEM.SYSTEM.HHISTRY

       error := HIST_GETPRIOR_ ( workspace );


       error, INT                                    returned value




               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               6- 12
Procedure Calls Summary (G-N)




       0    HIST_OK
            The procedure executed successfully.
       -8   HIST_ERROR
            The stack tracing mechanism failed.
       -9   HIST_BAD_WORKSPACE
            The workspace structure has an invalid version identifier. This error can occur if
            HIST_GETPRIOR_ is called without first calling the HIST_INIT_ procedure or if the
            workspace structure has become corrupted.


       workspace, INT .EXT:ref:(HIST_WORKSPACE_TEMPLATE)                       input, output

      HIST_INIT_
      Initializes a process history display or stack trace. It validates a parameter and
      establishes the context to display and from which to begin tracing. HIST_INIT_ is used
      with the HIST_FORMAT_ and HIST_GETPRIOR_ procedures to provide the ability to
      display process state, including register contents and procedure activation history or
      stack traces.


       ?SOURCE $SYSTEM.SYSTEM.HHISTRY

       error := HIST_INIT_ ( workspace
                            ,version
                            ,options
                            ,context );


       error, INT                                    returned value


       0     HIST_OK
             The procedure terminated normally.
       -3    HIST_BAD_VERSION
             An invalid value was specified for the version parameter.
       -4    HIST_BAD_OPTION
             An invalid value was specified for the options parameter. An undefined bit was set.
       -5    HIST_BAD_CONTEXT
             A null value was specified for the context parameter. The context parameter
             must contain an address.
       -6    HIST_NOT_IMPLEMENTED
             A specified options bit is defined but not implemented.




               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               6- 13
Procedure Calls Summary (G-N)



       -7    HIST_INIT_ERROR
             An error occurred during an attempt to initialize the stack trace.
       -8    HIST_ERROR
             The stack tracing mechanism failed while attempting to trace back to the calling
             procedure.
       -11   HIST_MISSING_HOOK
             This error is not returned in the D40 release.


       workspace, INT.EXT:ref:(HIST_WORKSPACE_TEMPLATE)                             input, output
       version, INT(32):value                                                       input
       options, INT:value                                                           input


       <13:15>    =0   HO_Init_Here
                       starts a trace of the current stack with the context of this call to
                       HIST_INIT_. The context parameter is ignored in this case.
                  1    HO_Init_uContext
                       uses the uContext structure whose address is passed in the context
                       parameter. A uContext structure is a structure of type UCONTEXT_T that is
                       passed to a signal handler installed by the SIGACTION_INIT_ or
                       SIGACTION_SUPPLANT_ procedure. HIST_INIT_ initializes the trace at
                       the point where the signal was generated. See “Protected contexts” under
                       “Considerations” for more information.
                  2    HO_Init_JmpBuf
                       uses the context saved in a TNS/R native jump buffer to start tracing at the
                       point of a call to the SETJMP_ or SIGSETJMP_ procedure that filled the
                       jump buffer. The address of the buffer is passed to HIST_INIT_ in the
                       context parameter.
                  3    HO_Init_31Regs
                       is reserved for Tandem use.
                  4    HO_Init_Address
                       uses a 32-bit TNS/R native address for the context. This address is passed to
                       the HIST_INIT_ procedure in the context parameter. A subsequent call to
                       HIST_FORMAT_ returns context for that location. The address must point
                       to a code location, but that location can contain TNS instructions or RISC
                       instructions. To find out what is at a TNS address, you must first convert the
                       TNS address into a RISC address. See the NonStop Himalaya
                       K10000/K20000 Server Description Manual for details on address
                       translation.

      The displayed context is affected when any of the following bits are set to 1:




               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               6- 14
Procedure Calls Summary (G-N)




       <11>    HO_NoSuppress
               enables the display of transition frames, including the shells by which TNS code
               calls TNS/R native procedures, the system procedure that calls a signal handler, and
               some transitions within low-level system software. By default, transition frames are
               not displayed.
       <10>    HO_ShowProtected
               enables the display of protected context when a signal is generated within protected
               code. If a signal is generated within protected code, such as in a procedure running
               privileged, the context at that site is preserved in the uContext structure passed to the
               signal handler, but it is not displayed unless this option is set.
       <7>     HO_OneLine
               modifies some formatting options to optimize the display of information in a single
               output line. It does not, however, ensure that all the information fits in one line.


       context, EXTADDR:ref:1                           input

      INCREMENTEDIT
      Sets the increment to be added to successive line numbers for lines that will be added to
      an EDIT file without explicitly specified line numbers. INCREMENTEDIT is an IOEdit
      procedure and can be used only with files that have been opened by OPENEDIT or
      OPENEDIT_.


       CALL INCREMENTEDIT ( filenum
                           ,[ increment ] );


       filenum, INT:value                               input
       increment, INT(32):value                         input

      INITIALIZEEDIT
      Allocates the EDIT file segment (EFS) to be used by IOEdit and initializes the data
      structures that it contains.


       error := INITIALIZEEDIT ( [                swapvol ]
                                ,[                maxfiles ]
                                ,[                errorabend ]
                                ,[                nowait-option ] );


       error, INT                                       returned value
       swapvol, INT .EXT:ref:4                          input



               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               6- 15
Procedure Calls Summary (G-N)



       maxfiles, INT:value                             input
       errorabend, INT:value                           input
       nowait-option, INT:value                        input


       0   Don’t use double buffering on any file.
       1   Use double buffering on all files that the user opens for nowait I/O before calling
           OPENEDIT_ (or OPENEDIT).
       2   Use double buffering on all files opened for nowait I/O, whether by the user or by
           OPENEDIT_ (or OPENEDIT).

      INITIALIZER
      Reads the startup message and, optionally, requests receipt of assign and param
      messages sent by the Guardian command interpreter.


       status := INITIALIZER ( [              rucb ]
                              ,[              passthru ]
                              ,[              startupproc ]
                              ,[              paramsproc ]
                              ,[              assignproc ]
                              ,[              flags ]
                              ,[              timelimit ] );


       status, INT                                     returned value
       rucb, INT:ref:*                                 input
       passthru, INT:ref:*                             output
       startupproc                                     input
       paramsproc                                      input
       assignproc                                      input
       flags, INT:value                                input


       <0:10>    Must be 0
       <11>      Request assign and param messages?
                 0 Yes
                 1 No
       <12>      End abnormally if backup takeover occurs before first primary stack checkpoint?
                 0 Yes
                 1 No




                Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                                6- 16
Procedure Calls Summary (G-N)



       <13>     If 1, CALL MONITORNET (-1).
       <14>     If 1, CALL MONITORCPUS (-1).
       <15>     If 1, CALL ARMTRAP (-1,-1).


       timelimit, INT(32):value                        input


       >= 0D    The timelimit parameter specifies the maximum amount of time (in units of
                0.01 second) that INITIALIZER is to wait on $RECEIVE.
       = -1D    INITIALIZER is to wait indefinitely.
       < -1D    INITIALIZER calls ABEND.

      INTERPRETINTERVAL
      Converts a value representing a number of microseconds into days, hours, minutes,
      seconds, milliseconds, and microseconds.


       days := INTERPRETINTERVAL ( time
                                  ,[ hours ]
                                  ,[ minutes ]
                                  ,[ seconds ]
                                  ,[ milsecs ]
                                  ,[ microsecs ] );


       days, INT(32)                                   returned value
       time, FIXED:value                               input
       hours, INT:ref:1                                output
       minutes, INT:ref:1                              output
       seconds, INT:ref:1                              output
       milsecs, INT:ref:1                              output
       microsecs, INT:ref:1                            output

      INTERPRETJULIANDAYNO
      Converts a Julian day number to the Gregorian year, month, and day.


       CALL INTERPRETJULIANDAYNO ( julian-day-num
                                  ,year
                                  ,month
                                  ,day );



               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               6- 17
Procedure Calls Summary (G-N)




       julian-day-num, INT(32):value                 input
       year, INT:ref:1                               output
       month, INT:ref:1                              output
       day, INT:ref:1                                output

      INTERPRETTIMESTAMP
      Converts a 64-bit Julian timestamp into a Gregorian (the common civil calendar) date
      and time of day.


       ret-date-time := INTERPRETTIMESTAMP ( julian-timestamp
                                            ,date-n-time );


       ret-date-time, INT(32)                        returned value
       julian-timestamp, FIXED:value                 input
       date-n-time, INT:ref:8                        output


       [0]   The Gregorian year                   (yyyy).
       [1]   The Gregorian month                  (1-12).
       [2]   The Gregorian day of month           (1-31).
       [3]   The hour of the day                  (0-23).
       [4]   The minute of the hour               (0-59).
       [5]   The second of the minute             (0-59).
       [6]   The millisecond of the second        (0-999).
       [7]   The microsecond of the millisecond   (0-999).

      JULIANTIMESTAMP
      Returns a four-word, microsecond resolution, Julian-date-based timestamp.


       retval := JULIANTIMESTAMP ( [              type ]
                                  ,[              tuid ]
                                  ,[              error ]
                                  ,[              node ] );


       retval, FIXED                                 returned value
       type, INT:value                               input


               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               6- 18
Procedure Calls Summary (G-N)




       0   Current GMT.
       1   System-load GMT.
       2   SYSGEN GMT.
       3   Microseconds since system cold load.


       tuid, INT:ref:1                                   output
       error, INT                                        output
       node, INT                                         input

      KEYPOSITION[X]
      (Superseded by FILE_SETKEY_) Positions by primary or alternate key within a
      structured file.


       CALL KEYPOSITION[X] ( filenum
                            ,key-value
                            ,[ key-specifier ]
                            ,[ length-word ]
                            ,[ positioning-mode ] );


       filenum, INT:value key-value,                               input
           STRING .ref:* (use with KEYPOSITION)                    input
           STRING .EXT:ref:* (use with KEYPOSITIONX)               input
       key-specifier, INT:value                                    input
       length-word, INT:value                                      input
       positioning-mode, INT:value                                 input


       < (CCL)       Indicates that an error occurred (call FILE_GETINFO_ or FILEINFO).
       = (CCE)       Indicates that the KEYPOSITION was successful.
       > (CCG)       Indicates that this is not a structured disk file.

      LABELEDTAPESUPPORT
      Provides a way for nonprivileged programs to determine whether tape-label processing
      is enabled on the system.


       retvalue := LABELEDTAPESUPPORT ( [ sysnum ] );



               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               6- 19
Procedure Calls Summary (G-N)




       retvalue, INT                                       returned value


       1     Tape-label processing is enabled.
       0     Tape-label processing is not enabled.
       <0    File-system error expressed as a negative value.


       sysnum, INT:value                                   input

      LASTADDR
      (Superseded by ADDRESS_DELIMIT_) Returns the 'G'[0] relative address of the last
      word in the application process’s data area.


       last-addr := LASTADDR;


       last-addr, INT                                      returned value

      LASTADDRX
      (Superseded by ADDRESS_DELIMIT_) Returns the last extended address available in
      the specified relative segment.


       last-addr := LASTADDRX ( [ seg ]
                               ,[ pin ] );


       last-addr, INT(32)                                  returned value
       seg, INT:value                                      input


       0         User data
       1         If privileged, it is system data; if not, it is user data.
       2         Current code
       3         User code
       4-1023    Selectable extended data segment


       pin, INT:value                                      input




                Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                                6- 20
Procedure Calls Summary (G-N)



      LASTRECEIVE
      (Superseded by FILE_GETRECEIVEINFO_) Obtains the four-word process ID and the
      message tag associated with the last message read from the $RECEIVE file.


       CALL LASTRECEIVE ( [ process-id ] ,[ message-tag ] );


       process-id, INT:ref:4                          output
       message-tag, INT:ref:1                         output


       < (CCL)                                        $RECEIVE is not open.
       = (CCE)                                        LASTRECEIVE was successful.

      LOCATESYSTEM
      (Superseded by NODENAME_TO_NODENUMBER_) Provides the system number
      corresponding to a system name and returns the logical device number of the line
      handler controlling the path to a given system.


       ldev := LOCATESYSTEM ( sysnum
                             ,[ sysname ] );


       ldev, INT                                      returned value


       >0   The logical device number of the line handler for the specified system on the local
            system.
       0    The system number does not exist.
       -1   All paths to the specified system are down.
       -2   SYSTEMNUMBER is passed to LOCATESYSTEM and no line handlers are
            configured.


       sysnum, INT:ref:1                              input, output
       sysname, INT:ref:4                             input




               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               6- 21
Procedure Calls Summary (G-N)



      LOCKFILE
      Excludes other processes from accessing a file (and any records within that file). This
      procedure operates only on Guardian objects.


       CALL LOCKFILE ( filenum ,[ tag ] );


       filenum, INT:value                           input
       tag, INT(32):value                           output


       < (CCL)                                      An error occurred (call FILEINFO).
       = (CCE)                                      LOCKFILE was successful.
       > (CCG)                                      The file is not a disk file.

      LOCKINFO
      (Superseded by FILE_GETLOCKINFO_) Provides information about locks (held or
      pending) on a DP2 disk volume. This procedure operates only on Guardian objects.


       error := LOCKINFO ( searchtype
                          ,searchid
                          ,ctlwds
                          ,buffersize
                          ,buffer );

       error, INT:value                             returned value
       searchtype, INT:value                        input


       0   Returns lock information for volume searchid.
       1   Returns lock information for file searchid.
       2   Returns information about locks for volume searchid [0:3] that was requested by the
           process identified by the process ID in searchid [4:7].
       3   Returns information about locks for volume searchid [0:3] that was requested by the
           TMF transaction identified by a transid in searchid words [4:7].


       searchid, INT .EXT:ref:12                    input
       ctlwds, INT .EXT:ref:4                       input, output
       buffersize, INT:value                        input
       buffer, STRING .EXT:ref:*                    output


               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               6- 22
Procedure Calls Summary (G-N)



      LOCKREC
      Excludes other processes from accessing a record at the current position. This procedure
      operates only on Guardian objects.


       CALL LOCKREC ( filenum ,[ tag ] );


       filenum, INT:value                           input
       tag, INT(32):value                           input


       < (CCL)                                      An error occurred (call FILEINFO).
       = (CCE)                                      LOCKREC was successful.
       > (CCG)                                      The file is not a disk file.

      LONGJMP_
      Performs a nonlocal goto. It restores the state of the calling process with context saved
      in a jump buffer by the SETJMP_ procedure. Control returns to the location of the
      corresponding SETJMP_ procedure call.


       ?SOURCE $SYSTEM.SYSTEM.HSETJMP

       LONGJMP_ ( env
                 ,value );


       env, INT .EXT:ref:(JMP_BUF_TEMPLATE)            input
       value, INT(32)                                  input

      LOOKUPPROCESSNAME
      (Superseded by PROCESS_GETPAIRINFO_) Obtains a description of a named process
      pair by its name or by its index into the local directory control table.


       CALL LOOKUPPROCESSNAME ( ppd );


       ppd, INT:ref:9                               input,output




               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               6- 23
Procedure Calls Summary (G-N)




       < (CCL)       The specified process name is not in the directory, or the remote system could
                     not be accessed.
       = (CCE)       The specified name was found.
       > (CCG)       The specified entry number exceeds the last table entry.

      MBCS_ANY_KATAKANA_
      Checks a string of Tandem Kanji characters for any Katakana characters.


       result := MBCS_ANY_KATAKANA_ ( buffer
                                     , length
                                     ,[ charset ] );


       result, INT:value                               output


       0   indicates that the buffer string does not contain any Katakana characters or that
           charset did not specify the Tandem Kanji multibyte character set.
       1   indicates that the Tandem Kanji buffer string contains at least one Katakana character.


       buffer, STRING .EXT:ref:*                       input
       length, INT:value                               input
       charset, INT:value                              input

      MBCS_CHAR_
      Indicates whether a string of bytes is part of a Tandem multibyte character set (MBCS).


       result := MBCS_CHAR_ ( testmbcschar
                             ,[ charset ]
                             ,[ charinfo ] );


       result, INT:value                               output


       0       indicates that charset is not a supported MBCS, or charset is a supported
               MBCS and testmbcschar does not point to the first byte of a valid character of
               one of the MBCS character sets listed under charset.
       not 0   indicates that the character set is a supported MBCS, and testmbcschar points to
               the first byte of a valid character of charset MBCS. For 2-byte character sets, the
               returned value is the integer value of the 16 bits that form the multibyte character.


               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               6- 24
Procedure Calls Summary (G-N)




       testmbcschar, STRING .EXT:ref:*                  input
       charset, INT:value                               input

      when result is nonzero:

       1    Tandem Kanji
       9    Tandem Hangul
       10   Tandem Chinese Big 5
       11   Tandem Chinese PC
       12   Tandem KSC5601


       charinfo, INT .EXT:1                             input, output

      MBCS_CHARSIZE_
      Returns the display size (in columns) and the storage size (in bytes) of multibyte
      character set (MBCS) characters from the character set specified by the charset
      parameter.


       result := MBCS_CHARSIZE_ [ ( charset ) ];


       result, INT:value                                output


       0           indicates that either no MBCS is configured or the specified MBCS is not
                   supported.
       nonzero     indicates that the result parameter contains the following information:
                   <0:7> = contains display size (in columns) of the multibyte character identified by
                   the test.
                   <8:15> = contains internal size (in bytes) of the multibyte character identified by
                   the test.


       charset, INT:value                               input


       1    Tandem Kanji
       9    Tandem Hangul
       10   Tandem Chinese Big 5
       11   Tandem Chinese PC
       12   Tandem KSC5601


                 Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                                 6- 25
Procedure Calls Summary (G-N)



      MBCS_CHARSTRING_
      Tests the contents of a data string for the exclusive use of MBCS characters of known
      internal character sets.


       result := MBCS_CHARSTRING_ ( testmbcsstring
                                   ,bytecount
                                   ,index
                                   ,[ charset ]
                                   ,[ charinfo ] );


       result, INT:value                              input


       0     indicates that the charset parameter contains an unknown MBCS identifier or
             contains a known MBCS identifier but the test of testmbcsstring for valid
             characters failed.
       1     indicates that all MBCS characters in the testmbcsstring are valid characters (or
             blanks) of the specified MBCS.


       testmbcsstring, STRING .EXT:ref:*              input
       bytecount, INT:value                           input
       index, INT .EXT:ref:1                          output
       charset, INT:value                             input
       charinfo, INT .EXT:ref:1                       output

      MBCS_CODESETS_SUPPORTED_
      Returns a 32-bit integer value. Each bit of the returned value indicates the presence of a
      particular multibyte character set (MBCS).


       result := MBCS_CODESETS_SUPPORTED_;


       result, INT(32):value                          output


       <1>       Tandem Kanji
       <2>       IBM Kanji
       <3>       IBM Kanji Mixed
       <4>       JEF (Fujitsu) Kanji
       <5>       JEF (Fujitsu) Kanji Mixed


                Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                                6- 26
Procedure Calls Summary (G-N)



       <6>      reserved
       <7>      JIS Kanji
       <8>      reserved
       <9>      Tandem Hangul
       <10>     Chinese Big 5
       <11>     Chinese PC (5550C)
       <12>     Tandem KSC5601 (with KIPS extensions)

      MBCS_DEFAULTCHARSET_
      Returns the default multibyte character set (MBCS) identification.


       result := MBCS_DEFAULTCHARSET_;


       result, INT:value                             output


       0      No MBCS configured
       1      Tandem Kanji
       9      Tandem Hangul
       10     Tandem Chinese Big 5
       11     Tandem Chinese PC
       12     Tandem KSC5601

      MBCS_EXTERNAL_TO_TANDEM_
      Translates a text string from a specified external format to the Tandem internal text
      format.


       error-code := MBCS_EXTERNAL_TO_TANDEM_ (
                                      [ source-string ]
                                     ,[ destination-tring ]
                                     ,source-length
                                     ,maximum-length
                                     ,[ intermediate ]
                                     ,external-form
                                     ,[ finished-length ]
                                     ,[ shift-to-DBCS ]
                                     ,[ shift-to-one-byte ] );


       error-code, INT:value                         returned value

                Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                                6- 27
Procedure Calls Summary (G-N)




       0     Successful completion of the translation
       -1    Translation truncated due to lack of destination buffer space
       -2    Unknown translation requested
       -3    Invalid source string length
       -4    Invalid character in Kanji-only source string
       -5    Control string parameter too long
       -6    Translation truncated due to lack of space in screen field
       29    Required parameter missing


       source-string, INT(32) .EXT:ref:1                       input, output
       destination-string, INT(32) .EXT:ref:1                  input, output
       source-length, INT:value                                input
       maximum-length, INT .EXT:ref:1                          input, output
       intermediate, INT:value                                 input
       external-form, INT:value                                input


       0    IBM Kanji only (without subfield strings)
       1    IBM Kanji EBCDIC
       2    IBM Kanji/Katakana-EBCDIC
       3    JEF (Fujitsu) Kanji only
       4    JEF (Fujitsu) Kanji EBCDIC
       5    JEF (Fujitsu) Kanji/Katakana-EBCDIC
       6    NEC Kanji only (not implemented)
       7    NEC Kanji/JIS X0201 (not implemented)
       8    JIS X0208 Kanji/JIS X0201 (was C6226/C6220)

       finished-length, INT .EXT:ref:1                       output
       shift-to-DBCS, STRING .EXT:ref:*                      input
       shift-to-one-byte, STRING .EXT:ref:*                  input




               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               6- 28
Procedure Calls Summary (G-N)



      MBCS_FORMAT_CRT_FIELD
      Formats Kanji only or mixed data types for specific terminal types.


       error-code := MBCS_FORMAT_CRT_FIELD_ (
                                       source-string
                                      ,destination-string
                                      ,source-length
                                      ,maximum-length
                                      ,intermediate
                                      ,terminal-type
                                      ,last-column,
                                      ,max-data-size
                                      ,screen-start-col
                                      ,[ shift-to-DBCS ]
                                      ,[ shift-to-one-byte ]
                                      ,[ startmode ] );


       error-code, INT:value                            returned value


       0     Successful completion of the translation
       -1    Source string translation incomplete, ran out of destination buffer area or ran out of
             space in the screen field
       -2    Unknown terminal type specified
       -3    Invalid source string length
       -4    Invalid character in Kanji only source string
       -5    Control string parameter too long
       -6    Source string translation incomplete, ran out of room in screen field
       29    Parameter missing


       source-string, INT(32) .EXT:ref:1                       input, output
       destination-string, INT(32) .EXT:ref:1                  input, output
       source-length, INT:value                                input
       maximum-length, INT:value                               input
       intermediate, INT:value                                 input
       terminal-type, INT:value                                input


       4    Fujitsu F-6650 with lowercase alphabet
       5    Fujitsu F-6650 with one-byte Katakana



               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               6- 29
Procedure Calls Summary (G-N)




       last-column, INT:value                                  input
       max-data-size, INT .EXT:ref:1                           input, output
       screen-start-col, INT .EXT:ref:1                        input, output
       shift-to-DBCS, STRING .EXT:ref:*                        input
       shift-to-one-byte, STRING .EXT:ref:*                    input
       startmode, INT:value                                    input

      MBCS_FORMAT_ITI_BUFFER_
      Formats ITI buffers for specific terminal types.


       error-code := MBCS_FORMAT_ITI_BUFFER_ (
                                      source-string
                                     ,destination-string
                                     ,source-length
                                     ,maximum-length
                                     ,intermediate
                                     ,terminal-type
                                     ,maximum-col-count,
                                     ,finished-length
                                     ,screen-col-count
                                     ,[ shift-to-DBCS ]
                                     ,[ shift-to-one-byte ]
                                     ,[ startmode ] );


       error-code, INT:value                            returned value


       0     Successful completion of the translation
       -1    Source string translation incomplete, ran out of destination buffer area
       -2    Unknown terminal type specified
       -3    Invalid source string length
       -4    Invalid character in Kanji only source string
       -5    Control string parameter too long
       29    Parameter missing


       source-string, INT(32) .EXT:ref:1                          input, output
       destination-string, INT(32) .EXT:ref:1                     input, output
       source-length, INT:value                                   input




               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               6- 30
Procedure Calls Summary (G-N)



       maximum-length, INT .EXT:ref:1                         input
       intermediate, INT:value                                input
       terminal-type, INT:value                               input


       0    IBM 3274-series
       1    IBM Emulation on IBM5550 with one-byte Katakana
       2    IBM Emulation on IBM5550 with lowercase alphabet
       4    Fujitsu F-6650 with lowercase alphabet
       5    Fujitsu F-6650 with one-byte Katakana


       maximum-col-count, INT:value                           input
       finished-length, INT .EXT:ref:1                        output
       screen-col-count, INT .EXT:ref:1                       output
       shift-to-DBCS, STRING .EXT:ref:*                       input
       shift-to-one-byte, STRING .EXT:ref:*                   input
       startmode, INT:value                                   input

      MBCS_MB_TO_SB_
      Converts multibyte characters to the corresponding 1-byte ASCII characters.


       CALL MBCS_MB_TO_SB_ ( mbytestring:mbytecount
                            ,sbytestring:sbytecount
                            ,rbytecount
                            ,[ charset ]
                            ,[ charinfo ] );


       mbytestring:mbytecount, STRING .EXT:*,INT:value                 input:input
       sbytestring:sbytecount, STRING .EXT:*,INT:value                 output:input
       rbytecount, INT .EXT:ref:1                                      output
       charset, INT:value                                              input


       1     Tandem Kanji
       9     Tandem Hangul
       10    Tandem Chinese Big 5
       11    Tandem Chinese PC
       12    Tandem KSC5601


               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               6- 31
Procedure Calls Summary (G-N)




       charinfo, INT .EXT:ref:1                     output

      MBCS_REPLACEBLANK_
      Replaces nonstandard blanks.


       CALL MBCS_REPLACEBLANK_ ( bytestring
                                ,bytecount
                                ,[ charset ]
                                ,[ charinfo ] );


       bytestring, STRING .EXT:ref:*                input
       bytecount, INT:value                         input
       charset, INT:value                           input
       charinfo, INT .EXT:ref:1                     input, output

      MBCS_SB_TO_MB_
      Converts 1-byte ASCII characters to the corresponding multibyte characters.


       CALL MBCS_SB_TO_MB_ ( sbytestring:sbytecount
                            ,mbytestring:mbytecount
                            ,rbytecount
                            ,[ charset ]
                            ,[ charinfo ] );


       sbytestring:sbytecount, STRING .EXT:*,INT:value                  input:input
       mbytestring:mbytecount, STRING .EXT:*,INT:value                  output:input
       rbytecount, INT .EXT:ref:1                                       output
       charset, INT:value                                               input


       1     Tandem Kanji
       9     Tandem Hangul
       10    Tandem Chinese Big 5
       11    Tandem Chinese PC
       12    Tandem KSC5601

       charinfo, INT .EXT:ref:1                     output


               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               6- 32
Procedure Calls Summary (G-N)



      MBCS_SHIFTSTRING_
      Upshifts or downshifts all alphabetic characters in a multibyte character set (MBCS)
      string.


       CALL MBCS_SHIFTSTRING_ ( bytestring
                               ,bytecount
                               ,casebit
                               ,[ charset ]
                               ,[ charinfo ] );


       bytestring, STRING .EXT:ref:*                   input
       bytecount, INT:value                            input
       casebit, INT:value                              input
       charset, INT:value                              input
       charinfo, INT .EXT:ref:1                        output

      MBCS_TANDEM_TO_EXTERNAL_
      Translates a text string from Tandem internal format to a specified external text format.


       error-code := MBCS_TANDEM_TO_EXTERNAL_ (
                                      [ source-string ]
                                     ,[ destination-string ]
                                     ,source-length
                                     ,maximum-length
                                     ,[ intermediate ]
                                     ,external-form
                                     ,[ finished-length ]
                                     ,[ shift-to-DBCS ]
                                     ,[ shift-to-one-byte ] );


       error-code, INT:value                           returned value


       0    Successful completion of the translation
       -1   Translation truncated due to lack of destination buffer space
       -2   Unknown translation requested
       -3   Invalid source string length
       -4   Invalid character in Kanji-only source string




               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               6- 33
Procedure Calls Summary (G-N)



       -5   Control string parameter too long
       -6   Translation truncated due to lack of space in screen field
       29   Required parameter missing


       source-string, INT(32) .EXT:ref:1                   input, output
       destination-string, INT(32) .EXT:ref:1              input, output
       source-length, INT:value                            input
       maximum-length, INT .EXT:ref:1                      input, output
       intermediate, INT:value                             input
       external-form, INT:value                            input

       0    IBM Kanji only (without subfield strings)
       1    IBM Kanji EBCDIC
       2    IBM Kanji/Katakana-EBCDIC
       3    JEF (Fujitsu) Kanji only
       4    JEF (Fujitsu) Kanji EBCDIC
       5    JEF (Fujitsu) Kanji/Katakana-EBCDIC
       6    NEC Kanji only (not implemented)
       7    NEC Kanji/JIS X0201 (not implemented)
       8    JIS X0208 Kanji/JIS X0201 (was C6226/C6220)


       finished-length, INT .EXT:ref:1                       output
       shift-to-DBCS, STRING .EXT:ref:*                      input
       shift-to-one-byte, STRING .EXT:ref:*                  input

      MBCS_TESTBYTE_
      Returns the identification of a specified byte contained within a text string of mixed
      data.


       result := MBCS_TESTBYTE_ ( buffer
                                 ,bytecount
                                 ,testindex
                                 ,[ charset ]
                                 ,[ charinfo ] );


       result, INT:value                                output


               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               6- 34
Procedure Calls Summary (G-N)




       0    1-byte character
       1    First byte of a multibyte character
       2    Intermediate byte of a multibyte character
       3    Last byte of a multibyte character


       buffer, STRING .EXT:ref:*                         input
       bytecount, INT:value                              input
       testindex, INT .EXT:ref:1                         input, output
       charset, INT:value                                input
       charinfo, INT .EXT:ref:1                          output

      MBCS_TRIMFRAGMENT_
      Detects and trims trailing multibyte character fragments from text strings.


       CALL MBCS_TRIMFRAGMENT_ ( bytestring
                                ,bytecount
                                ,[ charset ]
                                ,[ charinfo ] );


       bytestring, STRING .EXT:ref:*                     input
       bytecount, INT .EXT:ref:1                         input, output
       charset, INT:value                                input
       charinfo, INT .EXT:ref:1                          output

      MESSAGESTATUS
      Determines if a particular message received through READUPDATE has been canceled.


       status := MESSAGESTATUS ( [ message-tag ] );


       status, INT                                       returned value


       1    The message has been canceled.
       0    The message has not been canceled.
       -1   No pending message is associated with the given tag.



               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               6- 35
Procedure Calls Summary (G-N)




       message-tag, INT:value                          input

      MESSAGESYSTEMINFO
      Measures the number of XLBs used by a process, so it can warn when a limit is nearly
      reached.


       error := MESSAGESYSTEMINFO ( itemcode
                                   ,value );


       error, INT                                      output


       0    Successful, no error
       2    Bad itemcode
       21   Bad value
       22   Bounds error
       29   Missing parameter


       itemcode, INT:value                             input
       value, INT .EXT:ref:1                           output


       0    The current limit on the number of messages to this process, as set by
            CONTROLMESSAGESYSTEM.
       1    The current limit on the number of messages from this process, as set by
            CONTROLMESSAGESYSTEM.
       4    The number of outstanding (non-LCB) messages to this process.
       5    The number of outstanding (non-LCB) messages from this process.

      MOM
      (Superseded by PROCESS_GETINFO_ and PROCESS_GETINFOLIST_) Provides a
      process with the process ID of its creator.


       CALL MOM ( process-id );


       process-id, INT:ref:4                           output




               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               6- 36
Procedure Calls Summary (G-N)



      MONITORCPUS
      Notifies the application process when a designated processor module fails or is returned
      to an operable state.


       CALL MONITORCPUS ( cpu-mask );


       cpu-mask, INT:value                          input

      MONITORNET
      Enables or disables the receipt of system messages concerning the status of processors in
      remote systems.


       CALL MONITORNET ( enable );


       enable, INT:value                            input


       0    Disable the receipt of messages.
       1    Enable the receipt of messages.

      MONITORNEW
      Enables or disables the receipt of the SETTIME and Power On messages.


       CALL MONITORNEW ( enable );


       enable, INT:value                            input


       0    Disable the receipt of messages.
       1    Enable the receipt of messages.




               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               6- 37
Procedure Calls Summary (G-N)



      MOVEX
      Moves data between extended data segments without the need for absolute addressing; it
      serves both privileged and nonprivileged users.


       error := MOVEX ( [ source-seg-id ]
                       ,source
                       ,[ dest-seg-id ]
                       ,dest
                       ,byte-count );


       error, INT                                     returned value


       0    Successful call; the specified data was moved.
       2    Either source-seg-id or dest-seg-id specified a nonexistent extended data
            segment, or the destination data segment has read-only access.
       22   One of the parameters specifies an address that is out of bounds.
       24   Either source-seg-id or dest-seg-id specified a privileged segment ID
            (greater than 2047), but the caller was not privileged.
       29   A required parameter is not supplied.

       source-seg-id, INT:value                       input
       source, STRING .EXT:ref                        input
       dest-seg-id, INT:value                         input
       dest, STRING .EXT:ref                          input
       byte-count, INT (32):value                     input

       = (CCE)                                  The specified data was moved; error contains 0.
       > (CCG)                                  An error occurred; error contains the error value.

      MYGMOM
      (Superseded by PROCESS_GETINFO_ and PROCESS_GETINFOLIST_) Gives a
      process that is a member of a batch job the process-ID of its job ancestor (GMOM).


       CALL MYGMOM ( process-id );


       process-id, INT:ref:4                          output



               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               6- 38
Procedure Calls Summary (G-N)



      MYPID
      (Superseded by PROCESSHANDLE_GETMINE_ and
      PROCESSHANDLE_DECOMPOSE_ ) Gives a process its own processor and PIN
      number.


       cpu,pin := MYPID;


       cpu,pin, INT:value                           returned value

      MYPROCESSTIME
      Returns the process execution time of the calling process.


       process-time := MYPROCESSTIME;


       process-time, FIXED                          returned value

      MYSYSTEMNUMBER
      (Superseded by NODENAME_TO_NODENUMBER_ or
      PROCESSHANDLE_GETMINE_ and PROCESSHANDLE_DECOMPOSE_) Gives a
      process its own system number.


       sysnum := MYSYSTEMNUMBER;


       sysnum, INT                                  returned value

      MYTERM
      (Superseded by PROCESS_GETINFO_ and PROCESS_GETINFOLIST_) Gives a
      process the file name of its home terminal.


       CALL MYTERM ( filename );


       filename, INT:ref:12                         output




               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               6- 39
Procedure Calls Summary (G-N)



      NEWPROCESS
      (Superseded by PROCESS_CREATE_ and PROCESS_LAUNCH_) Creates a new
      Guardian process.


       CALL NEWPROCESS ( filenames
                        ,[ priority ]
                        ,[ memory-pages ]
                        ,[ processor ]
                        ,[ process-id ]
                        ,[ error ]
                        ,[ name ]
                        ,[ hometerm ]
                        ,[ flags ]
                        ,[ jobid ]
                        ,[ errinfo ]
                        ,[ pfs-size ] );


       filenames, INT:ref:12                           input
                  INT:ref:38
       priority, INT:value                             input


       <0>       =1    A code breakpoint is set on the first executable instruction of the program’s
                       MAIN procedure.
       <1>       =1    The additional fields in filenames are used.
                 =0    The additional fields in filenames are ignored.
       <2:7>           Should be 0.
       <8:15>    =0    The priority of the caller of procedure NEWPROCESS is used. If a value
                       greater than 199 is specified, 199 is used.


       memory-pages, INT:value                         input
       processor, INT:value                            input
       process-id, INT:ref:4                           output
       error, INT:ref:1                                output
       name, INT:ref:3                                 input
       hometerm, INT:ref:12                            input
       flags, INT:value                                input




                Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                                6- 40
Procedure Calls Summary (G-N)




       <10>     =0    Use the DEFINE mode of caller.
                =1    Use value in flags.<12>.
       <12>     =0    DEFINEs disabled.
                =1    DEFINEs enabled.
       <14>     =1    Saveabend file creation.
                =0    No saveabend file creation.
       <15>     =1    Inspect.
                =0    Debug.


       jobid, INT:value                                input
       errinfo, INT .EXT:ref:2                         output
       pfs-size, INT(32):value                         input

      NEWPROCESSNOWAIT
      (Superseded by PROCESS_CREATE_and PROCESS_LAUNCH_) Creates a new
      Guardian process using the nowait option.


       CALL NEWPROCESSNOWAIT ( filenames
                              ,[ priority ]
                              ,[ memory-pages ]
                              ,[ processor ]
                              ,[ process-id ]
                              ,[ error ]
                              ,[ name ]
                              ,[ hometerm ]
                              ,[ flags ]
                              ,[ jobid ]
                              ,[ errinfo ]
                              ,[ pfs-size ] );


       filenames, INT:ref:12                           input
                  INT:ref:38
       priority, INT:value                             input


       <0>       =1    A code breakpoint is set on the first executable instruction of the program’s
                       MAIN procedure.
       <1>       =1    The additional fields in filenames are used.
                 =0    The additional fields in filenames are ignored.
       <2:7>           Should be 0.
       <8:15>    =0    The priority of the caller of procedure NEWPROCESSNOWAIT is used. If
                       a value greater than 199 is specified, 199 is used.


                Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                                6- 41
Procedure Calls Summary (G-N)




       memory-pages, INT:value                          input
       processor, INT:value                             input
       process-id, INT:ref:4                            unused
       error, INT:ref:1                                 output
       name, INT:ref:3                                  input
       hometerm, INT:ref:12                             input
       flags, INT:value                                 input


       <10>      =0       Use the DEFINE mode of caller.
                 =1       Use value in flags.<12>.
       <12>      =0       DEFINEs disabled.
                 =1       DEFINEs enabled.
       <14>      =1       Saveabend file creation.
                 =0       No saveabend file creation.
       <15>      =1       Inspect.
                 =0       Debug.


       jobid, INT:value                                 input
       errinfo, INT .EXT:ref:2                          output
       pfs-size, INT(32):value                          input

      NEXTFILENAME
      (Superseded by FILENAME_FINDNEXT_) Obtains the name of the next disk file on a
      designated volume.


       error := NEXTFILENAME ( filename );


       error, INT                                       returned value


       0      No error.
       1      End-of-file, there is no next file.
       13     Illegal file name specification.


       filename, INT:ref:12                             input, output




                Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                                6- 42
Procedure Calls Summary (G-N)



      NO^ERROR
      Is called internally by sequential I/O (SIO) procedures. NO^ERROR implements error
      handling and retries within the SIO procedure environment.
      If the file was opened by OPEN^FILE, then file-system procedures can call
      NO^ERROR directly.


       no-retry := NO^ERROR ( state
                             ,file-fcb
                             ,good-error-list
                             ,retryable );


       no-retry, INT                                  returned value


       0       The operation should be retried.
       <>0     The operation should not be retried.


       state, INT:value                               input


       = (CCE)     The operation is successful.


       0     NO^ERROR first checks the error value in the FCB. If the FCB error is 0, NO^ERROR
             calls FILEINFO for the file.


       file-fcb, INT:ref:*                            input
       good-error-list, INT:ref:*                     input
       retryable, INT:value                           input

      NODE_GETCOLDLOADINFO_
      Retrieves the name of the OSIMAGE file from which the specified node was cold
      loaded.


       error := NODE_GETCOLDLOADINFO_ ( filename:maxlen
                                       ,filename-length
                                       ,[ nodename:length ] );


       error, INT                                     returned value




                Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                                6- 43
Procedure Calls Summary (G-N)




       0   File name successfully retrieved.
       1   Reserved.
       2   Parameter error.
       3   Bounds error.
       4   Unable to communicate with node.
       5   The nodename parameter designates a C-series system.

       filename:maxlen, STRING .EXT:ref:*,INT:value                output:input
       filename-length, INT .EXT:ref:1                             output
       nodename:length, STRING .EXT:ref:*,INT:value                input:input

      NODENAME_TO_NODENUMBER_
      Converts a node name (system name) to the corresponding node number (system
      number).


       error := NODENAME_TO_NODENUMBER_ ( [ nodename:length ]
                                         ,nodenumber );


       error, INT                                               returned value
       nodename:length, STRING .EXT:ref:*,INT:value             input:input
       nodenumber, INT(32) .EXT:ref:1                           output

      NODENUMBER_TO_NODENAME_
      Converts a node number (system number) to the corresponding node name (system
      name).


       error := NODENUMBER_TO_NODENAME_ ( [ nodenumber ]
                                         ,nodename:maxlen
                                         ,nodename-length );


       error, INT                                                 returned value
       nodenumber, INT(32):value                                  input
       nodename:maxlen, STRING .EXT:ref:*,INT:value               output:input
       nodename-length, STRING .EXT:ref:*,INT:value               output




               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               6- 44
Procedure Calls Summary (G-N)



      NUMBEREDIT
      Renumbers the lines of an EDIT file that are in a specified range. NUMBEREDIT is an
      IOEdit procedure and can be used only with files that have been opened by OPENEDIT
      or OPENEDIT_.


       error := NUMBEREDIT ( filenum
                            ,first
                            ,last
                            ,[ start ]
                            ,[ increment ] );


       error, INT                                   returned value


       -6    Exhausted valid line numbers.
       -10   Unable to complete renumbering; file is unchanged.


       filenum, INT:value                           input
       first, INT(32):value                         input
       last, INT(32):value                          input
       start, INT(32):value                         input
       increment, INT(32):value                     input

      NUMIN
      Converts ASCII characters that represent a number into the signed integer value for that
      number.


       next-addr := NUMIN ( ascii-num
                           ,signed-result
                           ,base
                           ,status );


       next-addr, INT                               returned value
       ascii-num, STRING:ref:*                      input
       signed-result, INT:ref:1                     output
       base, INT:value                              input
       status, INT:ref:1                            output




               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               6- 45
Procedure Calls Summary (G-N)




       1    Nonexistent number
       0    Valid conversion
       -1   Illegal integer or illegal syntax

      NUMOUT
      Converts unsigned integer values to their ASCII equivalents, right-justified in an array.
      Any preceding blanks are filled with zeroes.


       CALL NUMOUT ( ascii-result
                    ,unsigned-integer
                    ,base
                    ,width );


       ascii-result, STRING:ref:*                   output
       unsigned-integer, INT:value                  input
       base, INT:value                              input
       width, INT:value                             input




               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               6- 46
7       Procedure Calls Summary (O-Q)
This section lists procedure calls in alphabetic order and briefly describes the syntax of
each. For additional information about the procedure calls, refer to the Guardian
Procedure Calls Reference Manual.


OBJFILE_GETINFOLIST_
Obtains information about the object file or user library file of the calling process.


 error := OBJFILE_GETINFOLIST_ ( ret-attr-list
                                ,ret-attr-count
                                ,ret-values-list
                                ,ret-values-maxlen
                                ,ret-values-len
                                ,[ user-lib-info ]
                                ,[ error-detail ] );


 error, INT                                      returned value


 0   Information is returned successfully.
 1   File-system error; error-detail contains the error number. Error 563 (buffer too
     small) is returned if ret-values-list is too small to contain all of the requested
     information.
 2   Parameter error; error-detail contains the number of the first parameter found to be
     in error, where 1 designates the first parameter on the left.
 3   Bounds error; error-detail contains the number of the first parameter found to be
     in error, where 1 designates the first parameter on the left.
 4   Invalid attribute code specified; error-detail contains the attribute code that is
     unknown to OBJFILE_GETINFOLIST_.
 5   The process does not have a user library.


 ret-attr-list, INT .EXT:ref:*                   input
 ret-attr-count, INT:value                       input
 ret-values-list, INT .EXT:ref:*                 output
 ret-values-maxlen, INT:value                    input
 ret-values-len, INT .EXT:ref:1                  output
 user-lib-info, INT:value                        input
 error-detail, INT .EXT:ref:1                    output



         Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                         7 -1
Procedure Calls Summary (O-Q)




       Attribute
       Code        Attribute Description                                  Value Representation
       1           Binder timestamp                                       INT (3 words)
       2           minimum tos version                                    INT
       3           Inspect length                                         INT(32)
       4           Binder length                                          INT(32)
       5           Inspect on                                             INT
       6           high PIN                                               INT
       7           high requesters                                        INT
       8           run named                                              INT
       9           PFS size                                               INT(32)
       10          target processor                                       INT
       11          accelerator timestamp                                  INT (4 words)
       12          compilation mode (accelerated or not accelerated)      INT
       13          run mode (will or will not run accelerated)            INT

     OLDFILENAME_TO_FILENAME_
     Converts a C-series internal file name to a D-series file name.


       error := OLDFILENAME_TO_FILENAME_ ( oldfilename
                                          ,filename:maxlen
                                          ,filename-length );


       error, INT                                                returned value
       oldfilename, INT .EXT:ref:12                              input
       filename:maxlen, STRING .EXT:ref:*,INT:value              output:input
       filename-length, INT .EXT:ref:1                           output

     OLDSYSMSG_TO_NEWSYSMSG_
     Converts a C-series system message to its D-series equivalent.


       error := OLDSYSMSG_TO_NEWSYSMSG_ ( oldmsg:length
                                         ,newmsg:maxlen
                                         ,newmsg-length
                                         ,[ error-detail ] );



              Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                              7 -2
Procedure Calls Summary (O-Q)




       error, INT                                       returned value


       0     Message successfully converted.
       1     File-system error; error-detail contains the file-system error number.
       2     Parameter error; error-detail contains the number of the first parameter found to be
             in error, where 1 designates the first parameter on the left.
       3     Bounds error; error-detail contains the number of the first parameter found to be
             in error, where 1 designates the first parameter on the left.
       4     The supplied system message is not supported by this procedure; no conversion was
             performed.


       oldmsg:length, STRING .EXT:ref:*,INT:value                input:input
       newmsg:maxlen, STRING .EXT:ref:*,INT:value                output:input
       newmsg-length, INT .EXT:ref:1                             output
       error-detail, INT .EXT:ref:1                              output


       C-series message                                  D-series message
       -5     Process deletion: STOP                     -101    Process deletion: STOP
       -6     Process deletion: ABEND                    -101    Process deletion: ABEND
       -8     Network status change (all processors      -110    Loss of communication with node
              down)
       -8     Network status change (single processor    -100    Remote processor down
              down, 0 or more processors up)
       -8     Network status change (2 or more           -110    Loss of communication with node
              processors down, 0 or more processors
              up)
       -8     Network status change (connection          -111    Establishment of communication
              established)                                       with node
       -8     Network status change (0 or more           -113    Remote processor up
              processors up when node already
              connected)
       -9     Job process creation                       -112    Job process creation
       -12    NEWPROCESSNOWAIT completion                -102    Nowait PROCESS_CREATE_
                                                                 completion
       -20    Break on device                            -105    Break on device
       -30    Process open                               -103    Process open
       -31    Process close                              -104    Process close
       -40    Device type inquiry                        -106    Device type inquiry


                Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                                7 -3
Procedure Calls Summary (O-Q)



     OPEN
     (Superseded by FILE_OPEN_) Establishes a communication path between an
     application process and a file. OPEN returns a file number to the application process.
     This procedure operates only on Guardian objects.


       CALL OPEN ( filename
                  ,filenum
                  ,[ flags ]
                  ,[ sync-or-receive-depth ]
                  ,[ primary-filenum ]
                  ,[ primary-process-id ]
                  ,[ seq-block-buffer-id ]
                  ,[ buffer-length ]
                  ,[ primary-define ] );


       filename, INT:ref:12                               input
       filenum, INT:ref:1                                 output
       flags, INT:value                                   input


                 Flag in
       Flag      Octal          Meaning
       <0>       %100000        For disk files, if this bit is 1, the “last open time” attribute of the file
                                being opened is not updated by this open. For other files, this bit
                                should be zero.
       <1>       %40000         For the $RECEIVE file only, specifies whether or not the opener
                                wishes to receive open, close, CONTROL, SETMODE,
                                SETPARAM, RESETSYNC, and CONTROLBUF messages.
                                0 = no
                                1 = yes (must be 0 for all files other than $RECEIVE)
       <2>       %20000         Specifies that access to an Enscribe file is to occur as if the file were
                                unstructured, that is, without regard to record structures and
                                partitioning, (Note that for unstructured files, setting this bit to 1
                                makes secondary partitions inaccessible.) Setting this bit to 0
                                provides normal structured access to the file.
                                0 = normal access
                                1 = unstructured access
       <3>       %10000         (Reserved) must be 0 for nonprivileged users.
       <4:5>     %6000          Access mode
                                0 = Read/write
                                1 = Read-only
                                2 = Write-only
                                3 = reserved
       <6>       %1000          Must be 0 (reserved)


               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               7 -4
Procedure Calls Summary (O-Q)



                 Flag in
       Flag      Octal          Meaning
       <7>       %400           Must be 0 (reserved)
       <8>       %200           For process files, indicates that the open message is sent nowait and
                                must be completed with a call to AWAITIO[X]. OPEN returns a
                                valid file number.
                                0 = no
                                1 = yes (must be 0 for all other files)
       <9>       %100           Must be 0 (reserved)
       <10:11>   %60            Exclusion mode
                                0 = shared
                                1 = exclusive
                                2 = process exclusive (supported for Optical Storage
                                    Facility only)
                                3 = protected
       <12:15>   %17            > 0 implies nowait I/O and the maximum number of concurrent
                                nowait I/O operations that can be in progress on this file at any given
                                time.
                                0 implies waited I/O.


       sync-or-receive-depth, INT:value                 input
       primary-filenum, INT:value                       input
       primary-process-id, INT:ref:4                    input
       seq-block-buffer-id, INT:ref:1                   input
       buffer-length, INT:value                         input
       primary-define, INT:ref:12                       input


       < (CCL)       The open failed (call FILEINFO).
       = (CCE)       The file opened successfully.
       > (CCG)       The file opened successfully, but an exceptional condition was detected (call
                     FILEINFO).




              Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                              7 -5
Procedure Calls Summary (O-Q)



     OPEN^FILE
     Allows access to a file.


       error := OPEN^FILE ( common-fcb
                           ,file-fcb
                           ,[ block-buffer ]
                           ,[ block-bufferlen ]
                           ,[ flags ]
                           ,[ flags-mask ]
                           ,[ max-recordlen ]
                           ,[ prompt-char ]
                           ,[ error-file-fcb ] );


       error, INT                                   returned value
       common-fcb, INT:ref:*                        input
       file-fcb, INT:ref:*                          input
       block-buffer, INT:ref:*                      input
       block-bufferlen, INT:value                   input
       flags, INT(32):value                         input


     Note. Combine selected values using signed addition because bit 0 is not used.


       ABORT^OPENERR                                %1D
       ABORT^XFERERR                                %2D
       AUTO^CREATE                                  %10D
       AUTO^TOF                                     %100D
       BLOCKED                                      %400D
       CRLF^BREAK                                   %40000D
       LEVEL3^SPOOL^ENABLE                          %200000D
       MUSTBENEW                                    %20D
       NOWAIT                                       %200D
       OLD^RECEIVE                                  %100000D
       PRINT^ERR^MSG                                %4D
       PURGE^DATA                                   %40D
       READ^TRIM                                    %2000D
       VAR^FORMAT                                   %1000D



              Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                              7 -6
Procedure Calls Summary (O-Q)



       WRITE^FOLD                                         %10000D
       WRITE^PAD                                          %20000D
       WRITE^TRIM                                         %4000D


       flags-mask, INT(32):value                          input
       max-recordlen, INT:value                           input
       prompt-char, INT:value                             input
       error-file-fcb, INT:ref:*                          input

     OPENEDIT
     (Superseded by OPENEDIT_) Allocates and initializes data blocks in the EDIT file
     segment (EFS) so that the specified file can be accessed later by the IOEdit procedures.
     It optionally creates and opens the specified file through the file system.


       error := OPENEDIT ( file-name
                          ,filenum
                          ,[ flags ]
                          ,[ sync-depth ]
                          ,[ write-thru ] );


       error, INT                                         returned value


       -1   Page-count value is inconsistent.
       -2   Page-table tags are out of order.
       -3   Page-table tag is outside legal range.
       -4   Page-table block number is outside of file.
       -5   Page table has duplicate block numbers.
       11   File does not exist; indicates that the file does not exist and that the flags parameter
            indicates read-only access to the file.
       14   Device does not exist; indicates that the device-name part of the file name designates a
            device that either does not exist or is not a disk device.
       16   File has not been opened, wrong file type; indicates that the file is not an EDIT file (that
            is, the file type is not unstructured or the file code is not 101 or 102).




               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               7 -7
Procedure Calls Summary (O-Q)



       31   Unable to obtain buffer space; indicates that the file’s directory does not fit into IOEdit’s
            extended data segment and OPENEDIT is unable to enlarge the segment.
       34   Unable to obtain memory space for control block; indicates that the number of IOEdit
            files already open is equal to the maximum number specified or assumed when
            INITIALIZEEDIT was called.
       59   File is bad; indicates that the file exists and has the correct file type and file code for an
            EDIT file, but the data in the file has an incorrect format and OPENEDIT is unable to
            repair it.


       file-name, INT .EXT:ref:12                         input
       filenum, INT:value                                 input, output
       flags, INT:value                                   input
       sync-depth, INT:value                              input
       write-thru, INT:value                              input

     OPENEDIT_
     Allocates and initializes data blocks in the EDIT file segment (EFS) so that the specified
     file can be accessed later by the IOEdit procedures. It optionally creates and opens the
     specified file through the file system.


       error := OPENEDIT_ ( file-name
                           ,length
                           ,filenum
                           ,[ access ]
                           ,[ exclusion ]
                           ,[ nowait ]
                           ,[ sync-depth ]
                           ,[ write-thru ] );


       error, INT                                         returned value


       -1   Page-count value is inconsistent.
       -2   Page-table tags are out of order.
       -3   Page-table tag is outside legal range.
       -4   Page-table block number is outside of file.
       -5   Page-table has duplicate block numbers.
       11   File does not exist; indicates that the file does not exist and that the flags parameter
            indicates read-only access to the file.
       14   Device does not exist; indicates that the device-name part of the file name designates a
            device that either does not exist or is not a disk device.


               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               7 -8
Procedure Calls Summary (O-Q)



       16   File has not been opened, wrong file type; indicates that the file is not an EDIT file (that
            is, the file type is not unstructured or the file code is not 101 or 102).
       31   Unable to obtain buffer space; indicates that the file’s directory does not fit into IOEdit’s
            extended data segment and OPENEDIT is unable to enlarge the segment.
       34   Unable to obtain memory space for control block; indicates that the number of IOEdit
            files already open is equal to the maximum number specified or assumed when
            INITIALIZEEDIT was called.
       59   File is bad; indicates that the file exists and has the correct file type and file code for an
            EDIT file, but the data in the file has an incorrect format and OPENEDIT is unable to
            repair it.


       file-name, INT .EXT:ref:*                          input
       length, INT:value                                  input
       filenum, INT:value                                 input, output
       access, INT:value                                  input
       exclusion, INT:value                               input
       nowait, INT:value                                  input
       sync-depth, INT:value                              input
       write-thru, INT:value                              input

     OPENER_LOST_
     Examines a system message and searches an open table to determine if an opener has
     been lost.


       status := OPENER_LOST_ ( message:length
                               ,table
                               ,index
                               ,number-of-entries
                               ,entry-size );


       status, INT                                        returned value


       0    Search completed; no lost openers
       1    (reserved)
       2    Parameter error
       3    Bounds error
       4    Backup opener lost




               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               7 -9
Procedure Calls Summary (O-Q)



       5    Primary opener lost; backup promoted to primary
       6    Openers lost; table entry now free
       7    Message is not a relevant status-change message


       message:length, STRING .EXT:ref:*,INT:value                     input:input


       -2      Local processor failure
       -8      Network status change
       -100    Remote processor failure
       -110    Connection to remote system lost


       table, INT .EXT:ref:*                          input
       index, INT .EXT:ref:*                          input, output
       number-of-entries, INT:value                   input
       entry-size, INT:value                          input

     OPENINFO
     (Superseded by FILE_GETOPENINFO_) Obtains information about one open of one
     disk file, of all the files on a disk device, or of certain nondisk devices.


       error := OPENINFO ( searchname
                          ,prevtag
                          ,[ pricrtpid ]
                          ,[ backcrtpid ]
                          ,[ accessmode ]
                          ,[ exclusion ]
                          ,[ syncdepth ]
                          ,[ filename ]
                          ,[ accessid ]
                          ,[ validmask ] );


       error, INT                                     returned value
       searchname, INT:ref:12                         input
       prevtag, INT:ref:1                             input, output
       pricrtpid, INT:ref:4                           output
       backcrtpid, INT:ref:4                          output
       accessmode, INT:ref:1                          output



               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               7- 10
Procedure Calls Summary (O-Q)




       0     Read/write.
       1     Read only.
       2     Write only.


       exclusion, INT:ref:1                          output


       0     Shared.
       1     Exclusive.
       3     Protected.


       syncdepth, INT:ref:1                          output
       filename, INT:ref:12                          output
       accessid, INT:ref:1                           output
       validmask, INT:ref:1                          output


       <0>     The value of pricrtpid is valid.
       <1>     The value of backcrtpid is valid.
       <2>     The value of accessmode is valid.
       <3>     The value of exclusion is valid.
       <4>     The value of syncdepth is valid.
       <5>     The value of filename is valid.
       <6>     The value of accessid is valid.

     OSS_PID_NULL_
     Returns a null OSS process ID.


       oss-pid := OSS_PID_NULL_;


       oss-pid, INT(32)                              returned value




                Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                                7- 11
Procedure Calls Summary (O-Q)



     PACKEDIT
     Converts a line image from unpacked format into EDIT packed line format.
     PACKEDIT is an IOEdit procedure and can be used only with files that have been
     opened by OPENEDIT or OPENEDIT_.


       PACKEDIT ( unpacked-line
                 ,unpacked-length
                 ,packed-line
                 ,packed-limit
                 ,packed-length
                 ,[ full-length ] );


       unpacked-line, STRING .EXT:ref:*                input
       unpacked-length, INT:value                      input
       packed-line, STRING .EXT:ref:*                  output
       packed-limit, INT:value                         input
       packed-length, INT .EXT:ref:1                   output
       full-length, INT:value                          input

     PATHNAME_TO_FILENAME_
     Converts an OSS pathname to a Guardian file name.


       error := PATHNAME_TO_FILENAME_ ( pathname
                                       ,filename:maxlen
                                       ,length
                                       ,[ info-flags ] );


       error, INT                                      returned value


       0      No error.
       563    The buffer pointed to by filename is too small.
       4002   No such pathname exists. The corresponding OSS errno value is ENOENT.
       4006   The prefix within pathname refers to an OSS fileset other than the root fileset that is
              not mounted. The corresponding OSS errno value is ENXIO.
       4013   Search permission is denied on a component of the pathname prefix. The
              corresponding OSS errno value is EACCESS.
       4014   A specified parameter has an invalid address. The corresponding OSS errno value is
              EFAULT.



              Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                              7- 12
Procedure Calls Summary (O-Q)



       4020    A prefix within pathname refers to a file other than a directory. The corresponding
               OSS errno value is ENOTDIR.
       4022    pathname is invalid. The corresponding OSS errno value is EINVAL.
       4131    The pathname or a component of the pathname is longer than PATH_MAX
               characters. (PATH_MAX is a symbolic constant defined in the OSS limitsh header
               file.) The corresponding OSS errno value is ENAMETOOLONG.
       4202    The root fileset is not mounted. The corresponding OSS errno value is ENOROOT.
       4203    OSS is not installed or is not initialized. The corresponding OSS errno value is
               EOSSNOTRUNNING.


       pathname, STRING .EXT:ref:*                                   input
       filename:maxlen, STRING .EXT:ref:*,INT:value                  output:input
       length, INT .EXT:ref:1                                        output
       info-flags, INT .EXT:ref:1                                    output

     POOL_CHECK_
     Checks the internal pool data structures and returns error information.


       error := POOL_CHECK_ ( pool
                             ,[ corruption-address ]
                             ,[ block ]
                             ,[ block-size ]
                             ,[ tag-size ] );


       error, INT                                        returned value


       0      No error.
       2      Required parameter missing. The pool parameter must be specified.
       3      Bounds error. A parameter on the parameter list has a bounds error.
       9      Corrupt pool header.
       11     Corrupt allocated blocks. Data is probably written beyond the allocated block.
       12     Corrupt free list blocks. Data is probably written into a returned block.


       pool, INT .EXT:ref:*                                          input
       corruption-address, INT(32) .EXT:ref:1                        output
       block, INT(32) .EXT:ref:1                                     output
       block-size, INT .EXT:ref:1                                    output
       tag-size, INT .EXT:ref:1                                      output

                Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                                7- 13
Procedure Calls Summary (O-Q)



     POOL_DEFINE_
     Designates a portion of a user's stack or an extended data segment for use as a pool.


       error := POOL_DEFINE_ ( pool
                              ,pool-size
                              ,[ alignment ]
                              ,[ priv-only ] );


       error, INT                                     returned value


       0   No error.
       2   Required parameter missing. The pool and pool-size parameters must be
           specified.
       3   Bounds error. The pool parameter is in a writeback-inhibit segment, or pool-size is
           larger than the space available, or a nonprivileged caller specified a nonzero value for
           priv-only.
       4   Invalid size. The pool-size parameter is too small to allocate the minimum size pool
           including the pool header.
       5   Alignment error on pool. The pool parameter is not in alignment with the selected
           alignment.
       6   Invalid alignment. The value of alignment is not 0, 4, 8, or 16.


       pool INT .EXT:ref:*                            input
       pool-size INT(32):value                        input
       alignment INT:value                            input
       priv-only                                      input

     POOL_GETINFO_
     Returns information about the specified pool.


       error := POOL_GETINFO_ ( pool
                               ,[ error-detail ]
                               ,[ avail-pool-size ]
                               ,[ curalloc ]
                               ,[ maxalloc ]
                               ,[ fail-block-size ]
                               ,[ curfrag ]
                               ,[ maxfrag ]
                               ,[ alignment ]
                               ,[ tag-size ] );


              Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                              7- 14
Procedure Calls Summary (O-Q)




       error INT                                        returned value


       0   No error.
       2   Required parameter missing. The error-detail parameter contains the number of
           the first parameter found to be in error, where 1 designates the first parameter on the left.
       3   Bounds error. The error-detail parameter contains the number of the first
           parameter found to be in error, where 1 designates the first parameter on the left.
       9   Corrupt pool header.


       pool, INT .EXT:ref:*                             input
       error-detail, INT .EXT:ref:1                     output
       avail-pool-size, INT(32) .EXT:ref:1              output
       curalloc, INT(32) .EXT:ref:1                     output
       maxalloc, INT(32) .EXT:ref:1                     output
       fail-block-size, INT(32) .EXT:ref:1              output
       curfrag, INT .EXT:ref:1                          output
       maxfrag, INT .EXT:ref:1                          output
       alignment, INT .EXT:ref:1                        output
       tag-size, INT .EXT:ref:1                         output

     POOL_GETSPACE_
     Obtains a block of memory from a buffer pool.


       block := POOL_GETSPACE_ ( pool
                                ,block-size
                                ,[ error ] );


       block, INT(32)                                   returned value
       pool, INT .EXT:ref:*                             input
       block-size, INT(32):value                        input
       error, INT .EXT:ref:1                            output


       0    No error.
       2    Required parameter missing.




              Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                              7- 15
Procedure Calls Summary (O-Q)



       4    Invalid block size. The value of block-size is not within the valid range.
       9    Corrupt pool header.
       10   Unable to allocate space.

     POOL_PUTSPACE_
     Returns a block of memory to a buffer pool.


       error := POOL_PUTSPACE_ ( pool
                                ,block );


       error, INT                                     returned value

       0    No error.
       2    Required parameter missing.
       3    Bounds error. The block parameter is not within the pool boundaries.
       9    Corrupt pool header.
       11   Corrupt allocated block. Data is probably written beyond the allocated block or the
            block has already been returned.


       pool, INT .EXT:ref:*                           input
       block, INT .EXT:ref:*                          input

     POOL_RESIZE_
     Returns a block of memory to a buffer pool.


       error := POOL_RESIZE_ ( pool
                              ,new-pool-size );


       error, INT                                     returned value


       0    No error.
       2    Required parameter missing.
       3    Bounds error. The pool parameter is in a writeback-inhibit segment, or new-pool-
            size is larger than the available space.
       4    Invalid size. The value of new-pool-size is too small to allocate the minimum size
            pool, including the pool header.


               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               7- 16
Procedure Calls Summary (O-Q)



       9    Corrupt pool header.
       11   Corrupt allocated blocks. Data is probably written beyond the allocated block.
       12   Corrupt free list blocks. Data is probably written into a returned block.
       13   Unable to shrink pool.


       pool, INT .EXT:ref:*                            input
       new-pool-size, INT(32):value                    input

     POSITION
     (Superseded by FILE_SETPOSITION_) Positions by primary key within relative and
     entry-sequenced files. For unstructured files, it specifies a new current position. Use
     KEYPOSITION with key-sequenced files.


       CALL POSITION ( filenum ,record-specifier );


       filenum, INT:value                              input
       record-specifier, INT(32):value                 input


       < (CCL)                               An error occurred (call FILEINFO).
       = (CCE)                               POSITION was successful.
       > (CCG)                               No operation; filenum does not designate a disk file.

     POSITIONEDIT
     Sets the next record number to a specified value for a specified file. POSITIONEDIT is
     an IOEdit procedure and can be used only with files that have been opened by
     OPENEDIT or OPENEDIT_.


       error := POSITIONEDIT ( filenum
                              ,record-number );


       error, INT                                      returned value
       filenum, INT:value                              input
       record-number, INT(32):value                    input




              Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                              7- 17
Procedure Calls Summary (O-Q)



     PRIORITY
     (Superseded by PROCESS_SETINFO_, PROCESS_GETINFO_, and
     PROCESS_GETINFOLIST_) Enables a process to examine or change its initial priority
     and current priority.


       old-priority := PRIORITY ( [ new-priority ]
                                 ,[ init-priority ] );


       old-priority, INT                                returned value
       new-priority, INT:value                          input
       init-priority, INT:ref:1                         output

     PROCESS_ACTIVATE_
     Returns a suspended process or process pair to the ready state.


       error := PROCESS_ACTIVATE_ ( processhandle
                                   ,[ specifier ] );


       error, INT                                       returned value


       0      Process activated.
       11     Process does not exist.
       48     Security violation.
       201    Unable to communicate with the processor of the process.

       processhandle, INT .EXT:ref:10                   input
       specifier, INT:value                             input


       0     Activate the specified process.
       1     Activate both members if the specified process is part of a named process pair;
             otherwise, activate the specified process.




                Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                                7- 18
Procedure Calls Summary (O-Q)



     PROCESS_CREATE_
     (Superseded by PROCESS_LAUNCH_) Creates a new Guardian process and,
     optionally, assigns a symbolic process name to it.


       error := PROCESS_CREATE_ ( [                program-file:length ]
                                 ,[                library-file:length ]
                                 ,[                swap-file:length ]
                                 ,[                ext-swap-file:length ]
                                 ,[                priority ]
                                 ,[                processor ]
                                 ,[                processhandle ]
                                 ,[                error-detail ]
                                 ,[                name-option ]
                                 ,[                name:length ]
                                 ,[                process-descr:maxlen ]
                                 ,[                process-descr-len ]
                                 ,[                nowait-tag ]
                                 ,[                hometerm:length ]
                                 ,[                memory-pages ]
                                 ,[                jobid ]
                                 ,[                create-options ]
                                 ,[                defines:length ]
                                 ,[                debug-options ]
                                 ,[                pfs-size ] );


       error, INT                                                      returned value
       program-file:length, STRING .EXT:ref:*,INT:value                input:input
       library-file:length, STRING .EXT:ref:*,INT:value                input:input
       swap-file:length, STRING .EXT:ref:*,INT:value                   input:input
       ext-swap-file:length, STRING .EXT:ref:*,INT:value               input:input
       priority, INT:value                                             input
       processor, INT:value                                            input
       processhandle, INT .EXT:ref:10                                  output
       error-detail, INT .EXT:ref:1                                    output
       name-option, INT:value                                          input


       0   Process is unnamed.
       1   Process is named; name is supplied in name.
       2   Process is named; system must generate a name.
       3   Process is caller’s backup; use caller’s name.
       4   Process is named; system must generate a name.


              Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                              7- 19
Procedure Calls Summary (O-Q)




       name:length, STRING .EXT:ref:*,INT:value                              input:input
       process-descr:maxlen, STRING .EXT:ref:*,INT:value                     output:input
       process-descr-len, INT .EXT:ref:1                                     output
       nowait-tag, INT(32):value                                             input
       hometerm:length, STRING .EXT:ref:*,INT:value                          input:input
       memory-pages, INT:value                                               input
       jobid, INT:value                                                      input


       create-options, INT:value                       input


       <0:8>            Reserved (specify 0)
       <9>        =0    If the caller is named, the process deletion message, if any, will go only to
                        the current instance of the calling process.
                  =1    If the caller is named, the process deletion message, if any, will go to
                        whatever process has the calling process’s name (regardless of sequence
                        number) at that time.
       <10>       =0    Force new process into a low PIN if the calling process has the inherited
                        force-low attribute set.
                  =1    Ignore the value of the caller’s inherited force-low attribute.
       <11:12>    =0    Propagate the DEFINEs in the caller’s context only.
                  =1    Propagate DEFINES in defines only.
                  =2    Propagate both sets of defines; in case of name conflicts, use the ones in
                        defines.
       <13>       =0    Use caller’s DEFINE mode.
                  =1    Use value in bit 14.
       <14>       =0    DEFINEs disabled (ignored if bit 13 is 0).
                  =1    DEFINEs enabled (ignored if bit 13 is 0).
       <15>       =0    Can be assigned any PIN.
                  =1    Requires low PIN (in range 0 through 254).


       defines:length, STRING .EXT:ref:*,INT:value                      input:input
       debug-options, INT:value                                         input


       <0:11>          Reserved (specify 0)
       <12>      =1    Enter Debug/Inspect at the first executable instruction of the program’s
                       MAIN procedure.
                 =0    Begin normal program execution.




                Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                                7- 20
Procedure Calls Summary (O-Q)



       <13>     =1      If the process traps, create a saveabend file.
                =0      If the process traps, do not create a saveabend file.
       <14>     =1      Use debugger specified in bit 15 and saveabend option specified in bit 13
                        regardless of program-file flag setting.
                =0      Use standard rules for debugger selection.
       <15>     =1      Use Inspect.
                =0      Use Debug.


       pfs-size, INT(32):value                           input

     PROCESS_DEBUG_
     Invokes the debug facility for the calling process or another process.


       error := PROCESS_DEBUG_ ( [ processhandle ]
                                ,[ terminal-name:length ]
                                ,[ now ] );


       error, INT                                        returned value


       0      Debug request accepted. If the process to be debugged is not the calling process, the
              request might have been queued.
       11     Process does not exist.
       48     Security violation.
       201    Unable to communicate with the processor of the process.

       processhandle, INT .EXT:ref:10                                           input
       terminal-name:length, STRING .EXT:ref:*,INT:value                        input:input
       now, INT:value                                                           input




              Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                              7- 21
Procedure Calls Summary (O-Q)



     PROCESS_GETINFO_
     Obtains a limited set of information about a specified process.


       error := PROCESS_GETINFO_ ( [                processhandle ]
                                  ,[                file-name:maxlen ]
                                  ,[                file-name-len ]
                                  ,[                priority ]
                                  ,[                mom's-processhandle ]
                                  ,[                hometerm:maxlen ]
                                  ,[                hometerm-len ]
                                  ,[                process-time ]
                                  ,[                creator-access-id ]
                                  ,[                process-access-id ]
                                  ,[                gmom's-processhandle ]
                                  ,[                jobid ]
                                  ,[                program-file:maxlen ]
                                  ,[                program-len ]
                                  ,[                swap-file:maxlen ]
                                  ,[                swap-len ]
                                  ,[                error-detail ]
                                  ,[                proc-type ]
                                  ,[                oss-pid ] );


       error, INT                                      returned value


       0   Information is returned for the specified process.
       1   File-system error; error-detail contains the error number.
       2   Parameter error; error-detail contains the number of the first parameter found to be
           in error, where 1 designates the first parameter on the left.
       3   Bounds error; error-detail contains the number of the first parameter found to be
           in error, where 1 designates the first parameter on the left.
       4   Specified process does not exist.
       5   Unable to communicate with processor.
       6   Unable to communicate with system.


       processhandle, INT .EXT:ref:10                                   input:output
       file-name:maxlen, STRING .EXT:ref:*,INT:value                    output:input
       file-name-len, INT .EXT:ref:1                                    output
       priority, INT .EXT:ref:1                                         output
       mom's-processhandle, INT .EXT:ref:10                             output
       hometerm:maxlen, STRING .EXT:ref:*,INT:value                     output:input
       hometerm-len, INT .EXT:ref:1                                     output

              Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                              7- 22
Procedure Calls Summary (O-Q)



       process-time, FIXED .EXT:ref:1                                     output
       creator-access-id, INT .EXT:ref:1                                  output
       process-access-id, INT .EXT:ref:1                                  output
       gmom's-processhandle, INT .EXT:ref:10                              output
       jobid, INT .EXT:ref:1                                              output
       program-file:maxlen, STRING .EXT:ref:*,INT:value                   output:input
       program-len, INT .EXT:ref:1                                        output
       swap-file:maxlen, STRING .EXT:ref:*,INT:value                      output:input
       swap-len, INT .EXT:ref:1                                           output
       error-detail, INT .EXT:ref:1                                       output
       proc-type, INT .EXT:ref:1                                          output

       <0:14>           (reserved)
       <15>      =1     Process is a Guardian process.
                 =0     Process is an OSS process.


       oss-pid, INT(32) .EXT:ref:1                       output

     PROCESS_GETINFOLIST_
     Obtains detailed information about a specified process or about a set of processes that
     meet specified criteria.


       error := PROCESS_GETINFOLIST_ ( [ cpu ]
                                      ,[ pin ]
                                      ,[ nodename:length ]
                                      ,[ processhandle ]
                                      ,ret-attr-list
                                      ,ret-attr-count
                                      ,ret-values-list
                                      ,ret-values-maxlen
                                      ,ret-values-len
                                      ,[ error-detail ]
                                      ,[ srch-option ]
                                      ,[ srch-attr-list ]
                                      ,[ srch-attr-count ]
                                      ,[ srch-values-list ]
                                      ,[ srch-values-len ]
                                      ,[ oss-pid ] );


       error, INT                                        returned value



                Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                                7- 23
Procedure Calls Summary (O-Q)




       0    Information is returned for the specified process or processes; error-detail
            contains the number of processes for which information has been returned (might be
            more than one process if in search mode).
       1    File-system error; error-detail contains the error number.
       2    Parameter error; error-detail contains the number of the first parameter found to
            be in error, where 1 designates the first parameter on the left.
       3    Bounds error; error-detail contains the number of of the first parameter found to
            be in error, where 1 designates the first parameter on the left.
       4    Specified process does not exist or does not meet search criteria; information returned is
            for a process (or processes) with a higher PIN; error-detail contains the number of
            processes for which information has been returned (might be more than one process if in
            search mode).
       5    Unable to communicate with cpu; cpu might not exist.
       6    Unable to communicate with nodename.
       7    No more matches exist; error-detail contains the number of processes for which
            information has been returned (might be 0).
       8    Reserved.
       9    Invalid search attribute code; error-detail contains the code in question (not an
            index into a list).
       10   Invalid search value; error-detail contains the associated attribute code (not an
            index into a list).
       11   Invalid return attribute code; error-detail contains the code in question (not an
            index into a list).
       12   Invalid srch-option.

       cpu, INT:value                                              input
       pin, INT .EXT:ref:1                                         input:output
       nodename:length, STRING .EXT:ref:*,INT:value                input:input
       processhandle, INT .EXT:ref:10                              input
       ret-attr-list, INT .EXT:ref:*                               input
       ret-attr-count, INT:value                                   input
       ret-values-list, INT .EXT:ref:*                             output
       ret-values-maxlen, INT:value                                input
       ret-values-len, INT .EXT:ref:1                              output
       error-detail, INT .EXT:ref:1                                output
       srch-option, INT:value                                      input




               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               7- 24
Procedure Calls Summary (O-Q)




       0     Return information for only the process specified by nodename, cpu, pin or by
             processhandle.
       1     Start a search at nodename, cpu, pin and return information for the first matching
             process.
       2      Start a search at nodename, cpu, pin and return information for as many matching
              processes as will fit in ret-values-list.
       3      Return information for only the OSS process specified by nodename, oss-pid.


       srch-attr-list, INT .EXT:ref:*                      input
       srch-attr-count, INT:value                          input
       srch-values-list, INT .EXT:ref:*                    input
       srch-values-len, INT:value                          input
       oss-pid, INT(32):value                              input


     Note. Attributes marked by an asterisk (*) correspond to individual parameters returned by
     PROCESS_GETINFO_.


       Attribute Code                                          Value Representation
       * 1          creator access ID                          INT
       * 2          process access ID                          INT
       3            maximum priority (search only)             INT
       * 4          program file                               INT bytelength, STRING
       * 5          home terminal                              INT bytelength, STRING
       * 6          gmom's process handle                      INT (10 words)
       * 7          jobid                                      INT
       8            process subtype                            INT
       9            minimum priority (search only)             INT
       12           earliest creation time (search only)       FIXED
       13           latest creation time (search only)         FIXED
       14           lowered priority                           none (as a search attribute) INT (as a
                                                               return attribute)
       15-29        (reserved for future use)
       * 30         process time                               FIXED
       31           wait state                                 INT
       32           process state                              INT
       33           library file                               INT bytelength, STRING

                 Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                                 7- 25
Procedure Calls Summary (O-Q)



       Attribute Code                                    Value Representation
       * 34       swap file                              INT bytelength, STRING
       35         context changes                        INT
       36         DEFINE mode                            INT
       37         licenses                               INT
       38         PIN                                    INT
       * 39       file name                              INT bytelength, STRING
       * 40       mom's process handle                   INT (10 words)
       41         process file security                  INT
       42         current priority                       INT
       43         initial priority                       INT
       44         remote creator                         INT
       45         logged-on state                        INT
       46         extended data segment swap file        INT bytelength, STRING
       47         primary                                INT
       48         process handle                         INT (10 words)
       49         qualifier info available               INT
       50         Safeguard-authenticated logon          INT
       51         force low                              INT
       53         creation timestamp                     FIXED
       54         current pages                          INT(32)
       55         messages sent                          INT(32)
       56         messages received                      INT(32)
       57         receive queue length                   INT
       58         receive queue maximum length           INT
       59         page faults                            INT(32)
       62         named                                  INT
       65         mom’s file name                        INT bytelength, STRING
       66         gmom’s file name                       INT bytelength, STRING
       67         Safeguard-authenticated logoff state   INT
       68         inherited logon                        INT
       69         stop on logoff                         INT
       70         propagate logon                        INT
       71         propagate stop-on-logoff               INT
       72         logon flags and states                 INT

              Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                              7- 26
Procedure Calls Summary (O-Q)



       Attribute Code                                   Value Representation
       73         applicable attributes                 INT
       80         effective group ID                    INT(32)
       81         saved set-group-ID                    INT(32)
       82         login name                            INT bytelength, STRING <= 32 chars
       83         group list                            INT n, INT(32) [0:n-1]
       84         saved set-user-ID                     INT(32)
       * 90       OSS process ID (OSS process only)     INT(32)
       91         OSS command (OSS process only)        INT bytelength, STRING <= 80 chars
       92         OSS arguments (OSS process only)      INT bytelength, STRING <= 80 chars
       93         OSS program pathname (OSS             INT bytelength, STRING <= 1024 chars
                  process only)
       94         OSS parent process ID (OSS process    INT(32)
                  only)
       95         OSS elapsed time (OSS process only)   INT(64)
       96         OSS processor time (OSS process       INT(64)
                  only)
       97         OSS start time (OSS process only)     INT(64)
       98         OSS group leader process ID (OSS      INT(32)
                  process only)
       99         OSS process status (OSS process       INT(32)
                  only)
       100        process file segment (PFS) size       INT(32)
       101        server class name                     INT bytelength, STRING
       102        origin of main stack                  INT(32)
       103        current main stack size               INT(32)
       104        maximum main stack size               INT(32)
       105        origin of the privileged stack        INT(32)
       106        current privileged stack size         INT(32)
       107        maximum privileged stack size         INT(32)
       108        start of global data                  INT(32)
       109        size of global data                   INT(32)
       110        start of native heap area             INT(32)
       111        current size of native heap area      INT(32)
       112        maximum size of native heap area      INT(32)
       113        guaranteed swap space                 INT(32)


              Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                              7- 27
Procedure Calls Summary (O-Q)



       Attribute Code                                         Value Representation
       115          TNS/R native shared run-time              INT
                    library: buffer size required for
                    attribute 116
       116          TNS/R native shared run-time library      INT number of file names,
                    file-name information (in a variable-     INT flags
                    sized array)                              INT file-name length,
                                                              STRING file name
       117          TNS/R native shared run-time              INT
                    library: buffer size required for
                    attribute 118
       118          TNS/R native shared run-time library      INT number of file names,
                    name information (in a variable-sized     INT flags
                    array).                                   INT name length,
                                                              STRING name
       119          process is TNS/R native                   INT

     PROCESS_GETPAIRINFO_
     Obtains basic information about a named process or process pair.


       error := PROCESS_GETPAIRINFO_ ( [                    processhandle ]
                                      ,[                    pair:maxlen ]
                                      ,[                    pair-length ]
                                      ,[                    primary-processhandle ]
                                      ,[                    backup-processhandle ]
                                      ,[                    search-index ]
                                      ,[                    ancst-processhandle ]
                                      ,[                    nodename:length ]
                                      ,[                    options ]
                                      ,[                    ancst:maxlen ]
                                      ,[                    ancst-length ]
                                      ,[                    error-detail ] );


       error, INT                                        returned value


       0     Information is returned for a process pair (not the calling process).
       1     Reserved.
       2     Parameter error; error-detail contains the number of the first parameter found to
             be in error, where 1 designates the leftmost parameter.
       3     Bounds error; error-detail contains the number of the first parameter found to be
             in error, where 1 designates the leftmost parameter.
       4     Information is returned for a single named process (can be the calling process).
       5     Information is returned for a process pair where the caller is the current primary.

                Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                                7- 28
Procedure Calls Summary (O-Q)



       6    Information is returned for a process pair where the caller is the current backup.
       7    No information is returned; process is unnamed (can be the calling process).
       8    No information is returned; search is complete.
       9    Specified process does not exist.
       10   Unable to communicate with the node where the process resides.
       11   Process is an I/O process, but the option to allow I/O processes was not selected.
       12   The option to allow I/O processes was selected, but the process is an I/O process
            running on a C-series system.


       processhandle, INT .EXT:ref:10                                input
       pair:maxlen, STRING .EXT:ref:*,INT:value                      input, output:input
       pair-length, INT .EXT:ref:1                                   output
       primary-processhandle, INT .EXT:ref:10                        output
       backup-processhandle, INT .EXT:ref:10                         output
       search-index, INT(32) .EXT:ref:1                              input, output
       ancst-processhandle, INT .EXT:ref:10                          output
       nodename:length, STRING .EXT:ref:*,INT:value                  input:input
       options, INT:value                                            input


       <0:14>    Reserved (specify 0)
       <15>      Return information only for named processes.
       1         Also return information for I/O processes (that is, processes controlling devices or
                 volumes).


       ancst:maxlen, STRING .EXT:ref:*,INT:value                     output, input
       ancst-length, INT .EXT:ref:1                                  output
       error-detail, INT .EXT:ref:1                                  output




                Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                                7- 29
Procedure Calls Summary (O-Q)



     PROCESS_LAUNCH_
     Creates a new process and, optionally, assigns a number of process attributes.
     You can use this procedure to create only Guardian processes, although you can call it
     from a Guardian process or an OSS process. The program file must contain a program
     for execution in the Guardian environment. The program file and any user library file
     must reside in the Guardian name space; that is, they must not be OSS files.
     You can specify that the new process be created in either a waited or nowait manner.
     When it is created in a waited manner, identification for the new process is returned
     directly to the caller. When it is created in a nowait manner, its identification is returned
     in a system message sent to the caller’s $RECEIVE file.
     DEFINEs can be propagated to a new process. The DEFINEs can come from the
     caller’s context or from a buffer of DEFINEs saved by the DEFINESAVE procedure.
     Any parameter that can specify a file name can contain a DEFINE.


       error:= PROCESS_LAUNCH_
                   ( param-list
                    ,[ error-detail ]
                    ,[ output-list:maxlen ]
                    ,[ output-list-len ] );


       error, INT                                                     returned value
       param-list, INT .EXT:ref:*                                     input
       error-detail, INT .EXT:ref:*                                   output
       output-list:maxlen, STRING .EXT:ref:*, INT:value               output:input
       output-list-len, INT .EXT:ref:*                                output

     PROCESS_SETINFO_
     Alters a single nonstring attribute of a specified process and optionally returns the prior
     value of the attribute.


       error := PROCESS_SETINFO_ ( [ processhandle ]
                                  ,[ specifier ]
                                  ,set-attr-code
                                  ,[ set-value ]
                                  ,[ set-value-len ]
                                  ,[ old-value ]
                                  ,[ old-value-maxlen ]
                                  ,[ old-value-len ] );




              Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                              7- 30
Procedure Calls Summary (O-Q)




       error, INT                                        returned value
       processhandle, INT .EXT:ref:10                    input
       specifier, INT:value                              input


       0    Act upon the specified process only.
       1    Act upon both members if processhandle specifies a member of a named process
            pair.


       set-attr-code, INT:value                          input
       set-value, INT .EXT:ref:*                         input
       set-value-len, INT:value                          input
       old-value, INT .EXT:ref:*                         output
       old-value-maxlen, INT:value                       input
       old-value-len, INT .EXT:ref:1                     output


     Note. Attributes marked with an asterisk (*) can be altered only when the caller is the target
     process.


       Attribute Code                                               Value Representation
       40                     mom's process handle                  INT (10 words)
       * 41                   process file security                 INT
       42                     priority                              INT
       * 45                   logged-on state                       INT
       * 47                   primary                               INT
       * 49                   qualifier info available              INT
       * 50                   Safeguard-authenticated logon         INT
       * 69                   stop on logoff                        INT
       * 70                   propagate logon                       INT
       * 71                   propagate stop-on-logoff              INT




                Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                                7- 31
Procedure Calls Summary (O-Q)



     PROCESS_SETSTRINGINFO_
     Alters a single string-form attribute of a specified process, and optionally returns the
     prior value of the attribute.


       error := PROCESS_SETSTRINGINFO_ ( [ processhandle ]
                                        ,[ specifier ]
                                        ,set-attr-code
                                        ,[ set-value:length ]
                                        ,[ old-value:maxlen ]
                                        ,[ old-value-len ] );


       error, INT                                   returned value
       processhandle, INT .EXT:ref:10               input
       specifier, INT:value                         input


       0   Act upon the specified process only.
       1   Act upon both members if processhandle specifies a member of a named process
           pair.


       set-attr-code, INT:value                                      input
       set-value:length, STRING .EXT:ref:*,INT:value                 input:input
       old-value:maxlen, STRING .EXT:ref:*,INT:value                 output:input
       old-value-len, INT .EXT:ref:1                                 output

     PROCESS_SPAWN_
     Creates a new Open System Services (OSS) process and, optionally, assigns a number of
     process attributes.


       oss-pid:= PROCESS_SPAWN_ ( oss-program-file
                                 ,[ fdinfo ]
                                 ,[ argv ]
                                 ,[ envp ]
                                 ,[ inheritance ]
                                 ,[ inheritance-length ]
                                 ,[ process-extension ]
                                 ,[ process-results ]
                                 ,[ nowait-tag ]
                                 ,[ path ] );




              Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                              7- 32
Procedure Calls Summary (O-Q)




       oss-pid, INT(32) .EXT:ref:1                                                        returned value
       oss-program-file, STRING .EXT:ref:*                                                input
       fdinfo, STRING .EXT:ref:(ZSYS^DDL^FDINFO)                                          input
       argv, EXTADDR .EXT:ref:1                                                           input
       envp, EXTADDR .EXT:ref:1                                                           input
       inheritance, STRING .EXT:ref:(ZSYS^DDL^INHERITANCE)                                input
       inheritance-length, INT(32):value                                                  input
       prcoess-extension, STRING                                                          input
       .EXT:ref:(ZSYS^DDL^PROCESSEXTENSION)
       process-results, STRING                                                            input:output
       .EXT:ref:(ZSYS^DDL^PROCESSRESULTS)
       nowait-tag, INT(32):value                                                          input
       path, STRING .EXT:ref:*                                                            input

     PROCESS_STOP_
     Deletes a process or a process pair and sends a process deletion system message to the
     mom of the process and to any other process that is entitled to receive the message.


       error := PROCESS_STOP_ ( [                processhandle ]
                               ,[                specifier ]
                               ,[                options ]
                               ,[                completion-code ]
                               ,[                termination-info ]
                               ,[                spi-ssid ]
                               ,[                text:length ] );


       error, INT                                        returned value
       processhandle, INT .EXT:ref:10                    input
       specifier, INT:value                              input


       0   Stop the specified process only.
       1   Stop both members if the specified process is part of a named process pair; otherwise,
           stop the specified process.
       2   Stop the caller’s opposite member, but not the caller, if it is part of a named process pair.
           The processhandle parameter is ignored.


       options, INT:value                                input



               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               7- 33
Procedure Calls Summary (O-Q)




       <0:14>     Reserved (specify 0)
       <15>       Normal termination (STOP)
       1          Abnormal termination (ABEND)


       completion-code, INT:value                                input
       termination-info, INT:value                               input
       spi-ssid, INT .EXT:ref:6                                  input
       text:length, STRING .EXT:ref:*,INT:value                  input:input

     PROCESS_SUSPEND_
     Places a process or process pair into the suspended state.


       error := PROCESS_SUSPEND_ ( processhandle
                                  ,[ specifier ] );


       error, INT                                        returned value


       0      Process has been successfully suspended.
       11     Process does not exist.
       48     A security violation has occurred.
       201    Unable to communicate with processor where the process is running.


       processhandle, INT .EXT:ref:10                    input
       specifier, INT:value                              input


       0     Suspend the specified process only.
       1     Suspend both members if the specified process is part of a named process pair.

     PROCESSACCESSID
     (Superseded by PROCESS_GETINFO_ and PROCESS_GETINFOLIST_) Obtains the
     process access ID (PAID) of the calling process.


       access-id := PROCESSACCESSID;


       access-id, INT                                    returned value

                Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                                7- 34
Procedure Calls Summary (O-Q)




       <0:7>     Group number
       <8:15>    User number

     PROCESSFILESECURITY
     (Superseded by PROCESS_SETINFO_, PROCESS_GETINFO_, or
     PROCESS_GETINFOLIST_) Examines or sets the file security for the current process.


       old-security := PROCESSFILESECURITY ( security );


       old-security, INT                             returned value
       security, INT:value                           input


       <0:3>      0.
       <4:6>      ID code allowed for read.
       <7:9>      ID code allowed for write.
       <10:12>    ID code allowed for execute.
       <13:15>    ID code allowed for purge.


       0   Any user (local).
       1   Member of owner’s group (local).
       2   Owner (local).
       4   Any user (local or remote).
       5   Member of owner’s community (local or remote).
       6   Owner (local or remote).
       7   Super ID (255,255) only (local).

     PROCESSHANDLE_COMPARE_
     Compares two process handles and reports whether they are identical, represent different
     processes of the same process pair, or are different.


       status := PROCESSHANDLE_COMPARE_ ( processhandle-1
                                         ,processhandle-2 );


       status, INT                                   returned value



                Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                                7- 35
Procedure Calls Summary (O-Q)




       0   Process handles are unrelated.
       1   Process handles are not identical but designate a process pair.
       2   Process handles are identical.


       processhandle-1, INT .EXT:ref:10                input
       processhandle-2, INT .EXT:ref:10                input

     PROCESSHANDLE_DECOMPOSE_
     Returns one or more parts of a process handle.


       error := PROCESSHANDLE_DECOMPOSE_ ( processhandle
                                       ,[ cpu ]
                                       ,[ pin ]
                                       ,[ nodenumber ]
                                       ,[ nodename:maxlen ]
                                       ,[ nodename-length ]
                                       ,[ procname:maxlen ]
                                       ,[ procname-length ]
                                       ,[ sequence-number] );


       error, INT                                                  returned value
       processhandle, INT .EXT:ref:10                              input
       cpu, INT .EXT:ref:1                                         output
       pin, INT .EXT:ref:1                                         output
       nodenumber, INT(32) .EXT:ref:1                              output
       nodename:maxlen, STRING .EXT:ref:*,INT:value                output:input
       nodename-length, INT .EXT:ref:1                             output
       procname:maxlen, STRING .EXT:ref:*,INT:value                output:input
       procname-length, INT .EXT:ref:1                             output
       sequence-number, FIXED .EXT:ref:1                           output

     PROCESSHANDLE_GETMINE_
     Obtains the caller’s process handle.


       error := PROCESSHANDLE_GETMINE_ ( processhandle );


       error, INT                                      returned value

              Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                              7- 36
Procedure Calls Summary (O-Q)




       0    Information returned successfully.
       3    Parameter address out of bounds.


       processhandle, INT .EXT:ref:10                output

     PROCESSHANDLE_NULLIT_
     Initializes a process handle to a null value.


       error := PROCESSHANDLE_NULLIT_ ( processhandle );


       error, INT                                    returned value


       0     Operation was successful.
       22    Parameter is out of bounds.
       29    Parameter is missing.


       processhandle, INT .EXT:ref:10                output

     PROCESSHANDLE_TO_CRTPID_
     Converts a process handle to the corresponding process ID (CRTPID).


       error := PROCESSHANDLE_TO_CRTPID_ ( processhandle
                                          ,process-id
                                          ,[ pair-flag ]
                                          ,[ node-number ] );


       error, INT                                    returned value
       processhandle, INT .EXT:ref:10                input
       process-id, INT .EXT:ref:4                    output
       pair-flag, INT:value                          input
       node-number, INT(32):value                    input




               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               7- 37
Procedure Calls Summary (O-Q)



     PROCESSHANDLE_TO_FILENAME_
     Converts a process handle to a process file name.


       error := PROCESSHANDLE_TO_FILENAME_ ( processhandle
                                            ,filename:maxlen
                                            ,filename-length
                                            ,[ options ] );


       error, INT                                                     returned value
       processhandle, INT .EXT:ref:10                                 input
       filename:maxlen, STRING .EXT:ref:*,INT:value                   output:input
       filename-length, INT .EXT:ref:1                                output
       options, INT:value                                             input


       <0:14>    Not currently used (specify 0).
       <15>      For named processes: if set, specifies that the sequence number not be included in
                 filename for a named process.

     PROCESSHANDLE_TO_STRING_
     Converts a process handle to the equivalent process string.


       error := PROCESSHANDLE_TO_STRING_ ( processhandle
                                          ,process-string:maxlen
                                          ,process-string-length
                                          ,[ nodename:length ]
                                          ,[ named-form ] );


       error, INT                                                             returned value
       processhandle, INT .EXT:ref:10                                         input
       process-string:maxlen, STRING .EXT:ref:*,INT:value                     output:input
       process-string-length, INT .EXT:ref                                    output
       nodename:length, STRING .EXT:ref:*,INT:value                           input:input
       named-form, INT:value                                                  input


       0   Return process name, if possible; if it is unavailable, return cpu,pin form.
       1   Return process name; if it is unavailable, report the error.
       2   Return cpu,pin form in all cases.


                Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                                7- 38
Procedure Calls Summary (O-Q)



     PROCESSINFO
     (Superseded by PROCESS_GETINFO_ and PROCESS_GETINFOLIST_) Obtains
     process status information.


       error := PROCESSINFO ( cpu,pin
                             ,[ process-id ]
                             ,[ creator-access-id ]
                             ,[ process-access-id ]
                             ,[ priority ]
                             ,[ program-filename ]
                             ,[ home-terminal ]
                             ,[ sysnum ]
                             ,[ search-mode ]
                             ,[ priv-only ]
                             ,[ processtime ]
                             ,[ waitstate ]
                             ,[ process-state ]
                             ,[ library-filename ]
                             ,[ swap-filename ]
                             ,[ context-changes ]
                             ,[ flag ]
                             ,[ licenses ]
                             ,[ jobid ] );


       error, INT                                     returned value


       0    The status for process cpu,pin returns.
       1    Process cpu,pin does not exist or does not match the specified criteria.
       2    Process cpu,pin does not exist, and no higher cpu,pin in the specified processor
            matches the specified criteria.
       3    Unable to communicate with cpu.
       5    The system specified by sysnum could not be accessed.
       6    Internal error.
       7    Unable to process a D-series file name.
       99   Parameter error


       cpu,pin, INT:value                             input
       process-id, INT:ref:4                          input, output
       creator-access-id, INT:ref:1                   input, output
       process-access-id, INT:ref:1                   input, output
       priority, INT:ref:1                            input, output
       program-filename, INT:ref:12                   input, output

              Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                              7- 39
Procedure Calls Summary (O-Q)



       home-terminal, INT:ref:12                        input, output
       sysnum, INT:value                                input
       search-mode, INT:value                           input


       <0>    =1    Must match process-id for 3 words.
              =0    No search.
       <1>    =1    Must match creator-access-id.
              =0    No search.
       <2>    =1    Must match process-access-id.
              =0    No search.
       <3>    =1    Must be greater than or equal to priority.
              =0    No search.
       <4>    =1    Must match program-filename.
              =0    No search.
       <5>    =1    Must match home-terminal.
              =0    No search.
       <6>    =1    Must match jobid.
              =0    No search.


       priv-only, INT:ref:*                             output
       processtime, FIXED:ref:*                         output
       waitstate, INT:ref:1                             output


       <8>    Wait on PON (processor power on).
       <9>    Wait on IOPON (I/O power on).
       <10>   Wait on INTR (interrupt).
       <11>   Wait on LINSP (Inspect event).
       <12>   Wait on LCAN (message system, cancel).
       <13>   Wait on LDONE (message system, done).
       <14>   Wait on LTMF (TMF request).
       <15>   Wait on LREQ (message system, request).


       process-state, INT:ref:1                         output


       <0>         Privileged process.
       <1>         Page fault occurred.
       <2>         Process is on the ready list.
       <3>         System process.

              Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                              7- 40
Procedure Calls Summary (O-Q)



       <4:5>        Reserved.
       <6>          MAB in system code.
       <7>          Process not accepting any messages.
       <8>          Temporary system process.
       <9>          Process has logged on (called VERIFYUSER).
       <10>         In a pending process state.
       <11:15>      The process state, where.


             0     Unallocated.
             1     Starting.
             2     Runnable.
             3     Suspended.
             4     Debug mab.
             5     Debug breakpoint.
             6     Debug trap.
             7     Debug request.
             8     Inspect mab.
             9     Inspect breakpoint.
             10    Inspect trap.
             11    Inspect request.
             12    Saveabend.
             13    Terminating.


       library-filename, INT:ref:12                       output
       swap-filename, INT:ref:12                          output
       context-changes, INT:ref:1                         output
       flag, INT:ref:1                                    output
       licenses, INT:ref:1                                output
       jobid, INT:ref:5                                   input, output




                  Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                                  7- 41
Procedure Calls Summary (O-Q)



     PROCESSNAME_CREATE_
     Returns a unique process name that is suitable for passing to the PROCESS_CREATE_
     procedure.


       error := PROCESSNAME_CREATE_ ( name:maxlen
                                     ,namelen
                                     ,[ name-type ]
                                     ,[ nodename:length ]
                                     ,[ options ] );


       error, INT                                       returned value


       0       Process name is returned successfully.
       44      No names of the specified type are available.
       201     Unable to communicate with the specified node.
       590     Parameter or bounds error.


       name:maxlen, STRING .EXT:ref:*,INT:value                output:input
       namelen, INT .EXT:ref:1                                 output
       name-type, INT:value                                    input


       0     4-character name
       1     5-character name

       nodename:length, STRING .EXT:ref:*,INT:value                     input:input
       options, INT:value                                               input


       <0:14>           Reserved; must be 0.
       <15>       =0    Include node name in the returned process name.
                  =1    Return the process name in local form.




                Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                                7- 42
Procedure Calls Summary (O-Q)



     PROCESSOR_GETINFOLIST_
     Obtains configuration information and statistics about a processor.


       error := PROCESSOR_GETINFOLIST_ ( [ nodename:length ]
                                        ,[ cpu ]
                                        ,ret-attr-list
                                        ,ret-attr-count
                                        ,ret-values-list
                                        ,ret-values-maxlen
                                        ,ret-values-len
                                        ,[ error-detail ] );


       error, INT                                      returned value


       0   Information is returned for the specified process.
       1   File-system error; error-detail contains the error number. Error 563 is returned if
           the ret-values-list buffer is too small to contain all of the requested information.
       2   Parameter error; error-detail contains the number of the first parameter found to be
           in error, where 1 designates the first parameter on the left.
       3   Bounds error; error-detail contains the number of the first parameter found to be
           in error, where 1 designates the first parameter on the left.
       4   Reserved.
       5   Unable to communicate with processor. Processor might not exist.
       7   An invalid return attribute code was supplied.
       8   The specified node is running a C-series version of the operating system;
           PROCESSOR_GETINFOLIST_ cannot obtain information from a C-series system.

       nodename:length, STRING .EXT:ref:*,INT:value               input:input
       cpu, INT:value                                             input
       ret-attr-list, INT .EXT:ref:*                              input
       ret-attr-count, INT:value                                  input
       ret-values-list, INT .EXT:ref:*                            output
       ret-values-maxlen, INT:value                               input
       ret-values-len, INT .EXT:ref:1                             output
       error-detail, INT .EXT:ref:1                               output




              Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                              7- 43
Procedure Calls Summary (O-Q)




       Code        Attribute                        Value Representation
       2           processor type                   INT
       3           software version                 INT
       4           page size                        INT(32)
       5           memory size                      INT(32)
       6           first virtual page               INT(32)
       7           swappable pages                  INT(32)
       8           free pages                       INT(32)
       9           current locked memory            INT(32)
       10          maximum locked memory            INT(32)
       11          high locked memory               INT(32)
       12          page faults                      INT(32)
       13          scans per memory manager call    INT(32)
       14          memory clock cycles              INT(32)
       15          memory pressure                  INT
       16          memory queue length              INT
       17          local time offset                FIXED
       18          elapsed time                     FIXED
       19          busy time                        FIXED
       20          idle time                        FIXED
       21          interrupt time                   FIXED
       22          processor queue length           INT
       23          dispatches                       INT(32)
       24          PCBs in low PINs                 INT number of elements, INT ARRAY
       25          PCBs in high PINs                INT number of elements, INT ARRAY
       26          time list elements               INT number of elements, INT(32) ARRAY
       27          process time list elements       INT number of elements, INT(32) ARRAY
       28          breakpoints                      INT
       29          send busy                        FIXED
       35          T16 interrupt count              INT number of elements, INT(32) ARRAY
       36          disk cache hits                  FIXED
       37          disk I/Os                        FIXED
       38          processor queue state            INT, INT, FIXED
       39          memory queue state               INT, INT, FIXED

              Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                              7- 44
Procedure Calls Summary (O-Q)



       Code         Attribute                           Value Representation
       40           sequenced sends                     INT(32)
       41           unsequenced sends                   INT(32)
       42           CME events                          INT(32)
       43           pages created                       INT(32)
       44           interpreter busy                    FIXED
       45           interpreter transitions             INT(32)
       46           transactions                        INT(32)
       47           processor model                     INT
       48           processor name                      INT bytelength, STRING
       49           processor full name                 INT bytelength, STRING
       56           base time                           FIXED
       57           memory-management attributes        INT(32)
       58           segments in use                     INT(32)
       59           maximum segments used               INT(32)
       60           the update part of the release ID   INT
                    (the two digits that follow the
                    period)
       61           for Compaq internal use only
       62           availability of IEEE floating       INT
                    point on the current system

     PROCESSOR_GETNAME_
     Returns a processor’s type as a character string.


       error := PROCESSOR_GETNAME_ ( cpu-number
                                    ,name:maxlen
                                    ,namelen
                                    ,[ cpu-type-out ]
                                    ,[ node-name:length ]
                                    ,[ node-number ]
                                    ,[ cpu-type-in ]
                                    ,[ expand-name ]
                                    ,[ cpu-model-out ]
                                    ,[ cpu-model-in ] );


       error, INT                                       returned value




              Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                              7- 45
Procedure Calls Summary (O-Q)




       22    Parameter or buffer out of bounds.
       29    Missing parameter.
       201   Unable to communicate over this path.
       590   Parameter value bad or inconsistent.


       cpu-number, INT:value                                  input
       name:maxlen, STRING .EXT:ref:*,INT:value               output:input


       Processor Type =   0     “NonStop 1+” (no longer supported)
                          1     “NonStop II” (no longer supported)
                          2     “TXP” (no longer supported)
                          3     “VLX” (no longer supported)
                          4     “CLX”
                          5     “Cyclone”
                          6     “NSR-L”
                          7     “NSR-N,” “NSR-P,” or “NSR-K”
                          8     “NSR-W”
                          9     “NSR-G” or “NSR-T”


       otherwise maxlen blanks


       namelen, INT .EXT:ref:1                                        output
       cpu-type-out, INT .EXT:ref:1                                   output
       node-name:length, STRING .EXT:ref:*,INT:value                  input:input
       node-number, INT(32):value                                     input
       cpu-type-in, INT:value                                         input
       expand-name, INT:value                                         input
       cpu-model-out, INT .EXT:ref:1                                  output
       cpu-model-in, INT:value                                        input

     PROCESSORSTATUS
     Obtains the number and the status of the processor modules in a system.


       processor-status := PROCESSORSTATUS;


              Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                              7- 46
Procedure Calls Summary (O-Q)




       processor-status, INT(32)                      returned value

     PROCESSORTYPE
     Returns the processor type of a specified system and processor.


       type := PROCESSORTYPE ( [ cpu ] ,[ sysid ] );


       type, INT                                      returned value


       -2   This feature is not supported for the system named in sysid.
       -1   Unable to communicate with processor (either it does not exist or the network is down).
       0    Tandem NonStop 1+ processor (no longer supported).
       1    Tandem NonStop II processor (no longer supported).
       2    Tandem NonStop TXP processor (no longer supported).
       3    Tandem NonStop VLX processor (no longer supported).
       4    Tandem NonStop CLX processor.
       5    Tandem NonStop Cyclone processor.
       6    Tandem NonStop NSR-L processor.
       7    Tandem NonStop NSR-N, NSR-P, or NSR-K processor.
       8    Tandem NonStop NSR-W processor.
       9    Tandem NonStop NSR-G or NSR-T processor.


       cpu, INT:value                                 input
       sysid, INT:value                               input




               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               7- 47
Procedure Calls Summary (O-Q)



     PROCESSSTRING_SCAN_
     Scans an input string for a process string and returns the corresponding process handle
     or a single component of the process string converted to internal form.


       error := PROCESSSTRING_SCAN_ ( string:length
                                     ,[ length-used ]
                                     ,[ processhandle ]
                                     ,[ stringtype ]
                                     ,[ name:maxlen ]
                                     ,[ namelen ]
                                     ,[ cpu ]
                                     ,[ pin ]
                                     ,[ options ] );


       error, INT                                                 returned value
       string:length, STRING .EXT:ref:*,INT:value                 input:input
       length-used, INT .EXT:ref:1                                output
       processhandle, INT .EXT:ref:10                             output
       stringtype, INT .EXT:ref:1                                 output


       0   Asterisk form (that is, “*”)
       1   Single processor form (for example, “2”)
       2   processor, PIN form (for example, “2,137”)
       3   Name form (for example, “$PSRV”)


       name:maxlen, STRING .EXT:ref:*,INT:value               output:input
       namelen, INT .EXT:ref:1                                output
       cpu, INT .EXT:ref:1                                    output
       pin, INT .EXT:ref:1                                    output
       options, INT:value                                     input


       <0:14>          Reserved (specify 0).
       <15>      =1    Device names (up to eight characters) are to be accepted in the input string.
                 =0    Device names are not to be accepted in the input string.




                Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                                7- 48
Procedure Calls Summary (O-Q)



     PROCESSTIME
     (Superseded by PROCESS_GETINFO_ and PROCESS_GETINFOLIST_) Returns the
     process execution time of any process in the network.


       process-time := PROCESSTIME ( [ cpu,pin ]
                                    ,[ sysid ] );


       process-time, FIXED                              returned value


       -1F       The process does not exist.
       -2F       The system is unavailable or does not exist.
       >=0F      PROCESSTIME was successful.


       cpu,pin, INT:value                               input
       sysid, INT:value                                 input

     PROGRAMFILENAME
     (Superseded by PROCESS_GETINFO_ and PROCESS_GETINFOLIST_) Obtains the
     name of the calling process’s program file.


       CALL PROGRAMFILENAME ( program-file );


       program-file, INT:ref:12                         output

     PURGE
     (Superseded by FILE_PURGE_) Deletes a disk file that is not open. This procedure
     operates only on Guardian objects.


       CALL PURGE ( filename );


       filename, INT:ref:12                             input


       < (CCL)         The purge failed (call FILEINFO). However, in the case of a disk free-space
                       error, the file is purged, and an error returns.
       = (CCE)         The file purged successfully.
       > (CCG)         The device is not a disk.

              Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                              7- 49
Procedure Calls Summary (O-Q)



     PUTPOOL
     (Superseded by POOL_CHECK_, POOL_DEFINE_, POOL_GETINFO_,
     POOL_GETSPACE_, POOL_PUTSPACE_, and POOL_RESIZE_) Returns a block of
     memory to a buffer pool.


       CALL PUTPOOL ( pool-head ,pool-block );


       pool-head, INT .EXT:ref:19                    input, output
       pool-block, STRING .EXT:ref:*                 input


       < (CCL)     The data structures are invalid or pool-block is not a block in the buffer
                   pool.
       = (CCE)     The operation is successful.




              Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                              7- 50
8       Procedure Calls Summary (R-Z)
This section lists procedure calls in alphabetic order and briefly describes the syntax of
each. For additional information about the procedure calls, refer to the Guardian
Procedure Calls Reference Manual.

RAISE

Note. This procedure can be called only from TNS/R native processes.

RAISE_ is the pTAL procedure name for the C raise() function. The C raise()
function complies with the POSIX.1 standard.
See the $SYSTEM.SYSTEM.HSIGNAL header file for the pTAL prototype definitions.
For a discussion of each parameter and other procedure considerations, see the
raise(3) function reference page either online or in the Open System Services
Library Calls Reference Manual.

READ[X]
Returns data from an open file to the application process’s data area.


 CALL READ[X] ( filenum
               ,buffer
               ,read-count
               ,[ count-read ]
               ,[ tag ] );


 filenum, INT:value                            input
 buffer,                                       output


     INT:ref:*                                   (Use with READ)
     STRING .EXT:ref:*                           (Use with READX)


 read-count, INT:value                         input
 count-read,                                   output


     INT:ref:1                                   (Use with READ)
     INT .EXT:ref:1                              (Use with READX)


 tag, INT(32):value                            input


        Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                        8 -1
Procedure Calls Summary (R-Z)




       < (CCL)     An error occurred (call FILEINFO).
       < (CCL)     Also returned following a successful read with an insertion-ordered alternate key
                   path if the alternate key value of the current record is equal to the alternate key
                   value in the following record along that path. A call to FILE_GETINFO_ or
                   FILEINFO shows that error 551 occurred; this error is advisory only and does
                   not indicate an unsuccessful read operation.
       = (CCE)     The READ[X] is successful.
       > (CCG)     For disk and nondisk devices, the end of file (EOF) is encountered (no more
                   records in this subset); for the $RECEIVE file, a system message is received
                   (call FILEINFO).

      READ^FILE
      Reads a file sequentially. READ^FILE is a sequential I/O (SIO) procedure and can be
      used only with files that have been opened by OPEN^FILE.


       error := READ^FILE ( file-fcb
                           ,buffer
                           ,[ count-returned ]
                           ,[ prompt-count ]
                           ,[ max-read-count ]
                           ,[ nowait ] );


       error, INT                                      returned value


       0     No error.
       1     End of file.
       6     System message (only if user requested system messages through
             SET^SYSTEMMESSAGES or SET^SYSTEMMESSAGESMANY).
       111   Operation aborted because of BREAK (if BREAK is enabled). If nowait is not zero,
             and if abort-on-error is in effect, the only possible value for error is 0.


       file-fcb, INT:ref:*                             input
       buffer, INT:ref:*                               output
       count-returned, INT:ref:1                       output
       prompt-count, INT:value                         input
       max-read-count, INT:value                       input
       nowait, INT:value                               input




               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               8 -2
Procedure Calls Summary (R-Z)



      READEDIT
      Reads one line from a specified EDIT file and returns it to the caller in unpacked format.
      READEDIT is an IOEdit procedure and can be used only with files that have been
      opened by OPENEDIT or OPENEDIT_.


       error := READEDIT ( filenum
                          ,[ record-number ]
                          ,unpacked-line
                          ,unpacked-limit
                          ,unpacked-length
                          ,[ reserved parameter ]
                          ,[ spacefill ]
                          ,[ full-length ] );


       error, INT                                   returned value
       filenum, INT:value                           input
       record-number, INT(32):value                 input, output
       unpacked-line, STRING .EXT:ref:*             output
       unpacked-limit, INT:value                    input
       unpacked-length, INT .EXT:ref:1              output
       [reserved parameter]
       spacefill, INT:value                         input
       full-length, INT:value                       input

      READEDITP
      Reads one line from a specified EDIT file and returns it to the caller in EDIT packed
      line format. READEDITP is an IOEdit procedure and can be used only with files that
      have been opened by OPENEDIT or OPENEDIT_.


       error := READEDITP ( filenum
                           ,[ record-number ]
                           ,packed-line
                           ,packed-limit
                           ,packed-length );


       error, INT                                   returned value
       filenum, INT:value                           input
       record-number, INT(32):value                 input, output



               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               8 -3
Procedure Calls Summary (R-Z)



       error, INT                                    returned value
       packed-line, STRING .EXT:ref:*                output
       packed-limit, INT:value                       input
       packed-length, INT .EXT:ref:1                 output

      READLOCK[X]
      Sequentially locks and reads records in a disk file, exactly like the combination of
      LOCKREC and READ[X]. This procedure operates only on Guardian objects.


       CALL READLOCK[X] ( filenum
                         ,buffer
                         ,read-count
                         ,[ count-read ]
                         ,[ tag ] );


       filenum, INT:value                            input
       buffer,                                       output


           INT:ref:*                                   (Use with READLOCK)
           STRING .EXT:ref:*                           (Use with READLOCKX)


       read-count, INT:value                         input
       count-read,                                   input


           INT:ref:1                                   (Use with READLOCK)
           INT .EXT:ref:1                              (Use with READLOCKX)


       tag, INT(32):value                            input


       < (CCL)                       An error occurred (call FILEINFO).
       = (CCE)                       The READLOCK[X] is successful.
       > (CCG)                       End of file (EOF). There are no more records in this subset.




               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               8 -4
Procedure Calls Summary (R-Z)



      READUPDATE[X]
      Reads data from a disk or process file in anticipation of a subsequent write to the file.


       CALL READUPDATE[X] ( filenum
                           ,buffer
                           ,read-count
                           ,[ count-read ]
                           ,[ tag ] );


       filenum, INT:value                            input
       buffer,                                       output

           INT:ref:*                                   (Use with READUPDATE)
           STRING .EXT:ref:*                           (Use with READUPDATEX)


       read-count, INT:value                         input
       count-read,                                   output


           INT:ref:1                                   (Use with READUPDATE)
           INT .EXT:ref:1                              (Use with READUPDATEX)


       tag, INT(32):value                            input


       < (CCL)                                An error occurred (call FILEINFO).
       = (CCE)                                The READUPDATE[X] is successful.
       > (CCG)                                A system message is received through $RECEIVE.

      READUPDATELOCK[X}
      Locks, then reads the record from the current position in the file in the same manner as
      the combination of LOCKREC and READUPDATE[X]. This procedure operates only
      on Guardian objects.


       CALL READUPDATELOCK[X] ( filenum
                               ,buffer
                               ,read-count
                               ,[ count-read ]
                               ,[ tag ] );



               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               8 -5
Procedure Calls Summary (R-Z)




       filenum, INT:value                           input
       buffer                                       output


           INT:ref:*                                  (Use with READUPDATELOCK)
           STRING .EXT:ref:*                          (Use with READUPDATELOCKX)


       read-count, INT:value                        input
       count-read,                                  output


           INT:ref:1                                  (Use with READUPDATELOCK)
           INT .EXT:ref:1                             (Use with READUPDATELOCKX)


       tag, INT(32):value                           input


       < (CCL)                                      An error occurred (call FILEINFO).
       = (CCE)                                      The READUPDATELOCK[X] is successful.

      RECEIVEINFO
      (Superseded by FILE_GETRECEIVEINFO_) Obtains the four-word process ID,
      message tag, error recovery (sync ID), and request-related (file number, read count, and
      I/O type) information associated with the last message read from the $RECEIVE file.


       CALL RECEIVEINFO ( [          process-id ]
                         ,[          message-tag ]
                         ,[          sync-id ]
                         ,[          filenum ]
                         ,[          read-count ]
                         ,[          iotype ] );


       process-id, INT:ref:4                        output
       message-tag, INT:ref:1                       output
       sync-id, INT(32):ref:1                       output
       filenum, INT:ref:1                           output
       read-count, INT:ref:1                        output
       iotype, INT:ref:1                            output




               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               8 -6
Procedure Calls Summary (R-Z)




       0    Not a data message
       1    Sender called WRITE
       2    Sender called READ
       3    Sender called WRITEREAD


       < (CCL)                                        $RECEIVE is not open.
       = (CCE)                                        RECEIVEINFO is successful.

      REFPARAM_BOUNDSCHECK_
      Checks the validity of parameter addresses passed to the procedure that calls it. Bounds
      checking performed by the system is enough for most applications. This procedure,
      however, provides additional checks for those few applications that might need it.
      Primarily, REFPARAM_BOUNDSCHECK_ verifies that a specified memory area is
      valid for a specified type of access (read only or read/write). Optionally, it also verifies
      that the specified memory area does not overlap the part of the process stack occupied
      by the calling procedure and any of the procedures it calls.

      Note. This procedure is declared only in the EXTDECS0 file.



       error := REFPARAM_BOUNDSCHECK_ ( start-address
                                       ,area-length
                                       ,framestart
                                       ,flags );


       error, INT                                     returned value


       0   No error. The procedure successfully executed; the specified memory area is in bounds.
           See “Considerations” for a discussion of what it means to be in bounds.
       1   The specified memory area is out of bounds. Accessing the area might cause an
           addressing trap or system-generated nondeferrable signal.
       2   The address is in a read-only area and the check was made for read/write access. The
           effect of attempting to write to the area depends on whether your process is a TNS/R
           native process or a TNS process: For a TNS/R native process, the system might deliver a
           nondeferrable signal to the process; for a TNS process, the write operation might not
           take effect.




               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               8 -7
Procedure Calls Summary (R-Z)



       3   The address area is in bounds in an extensible segment, but disk space for the extensible
           segment could not be allocated. If you try to write to this area, the effect depends on
           whether your process is a TNS process or a TNS/R native process: A TNS process might
           terminate with a “no memory available” trap (trap 12); a TNS/R native process might
           receive a SIGNOMEM signal.
       4   The start-address parameter points to a location on the TOSSTACK, but the
           calling procedure is not executing on the TOSSTACK. This error can occur only on a
           TNS processor.
       5   An absolute address was supplied in start-address for a TNS/R native process and
           flags.<14> was not set to allow this.


       start-address, STRING .EXT:ref*                 input
       area-length, INT(32):value                      input
       framestart, EXTADDR:value                       input
       flags, INT:value                                input


       <0:13>          must be zero.
       <14>      =0    specifies that absolute addressing is not allowed for TNS/R native processes.
                 =1    allows absolute addressing even if REFPARAM_BOUNDSCHECK_ is
                       called from a TNS/R native process. No checking is performed and
                       REFPARAM_BOUNDSCHECK_ returns without error.
       <15>      =0    checks the area for read/write access.
                 =1    checks the area for read-only access.

      REFRESH
      (Superseded by DISK_REFRESH_) Writes control information to the associated
      physical disk volumes.


       error := REFRESH ( [ volname ] );


       error, INT                                      returned value
       volname, INT:ref:12                             input

      REMOTEPROCESSORSTATUS
      Supplies the status of processor modules in a particular system in a network.


       status := REMOTEPROCESSORSTATUS ( sysnum );




                Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                                8 -8
Procedure Calls Summary (R-Z)




       status, INT(32)                                returned value
       sysnum, INT:value                              input

      REMOTETOSVERSION
      Provides an identifying letter and number indicating which version of the Guardian
      operating system is running on a remote system.


       tos-version := REMOTETOSVERSION [ ( sysid ) ];


       tos-version, INT                               returned value

       <0:7>      The uppercase ASCII letter that indicates system level:
       A          TOS
       B          1.0
       C          1.1
       D          1.1 and Expand
       E          1.1 and Expand and TMF
       K          Ann releases
       L          Bnn releases
       M          Cnn releases
       N          Dnn releases
       P          Fnn releases
       Q          Gnn releases
       <8:15>     The revision number of the system in binary format


       sysid, INT:value                               input

      RENAME
      (Superseded by FILE_RENAME_) Changes the name of a disk file that is open. If the
      file is temporary, assigning a name makes the file permanent. This procedure operates
      only on Guardian objects.


       CALL RENAME ( filenum ,new-name );




                Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                                8 -9
Procedure Calls Summary (R-Z)




       filenum, INT:value                            input
       new-name, INT:ref:12                          input


       < (CCL)                                       An error occurred (call FILEINFO).
       = (CCE)                                       The RENAME is successful.
       > (CCG)                                       The file is not a disk file.

      REPLY[X]
      Sends a reply to a message received earlier in a corresponding call to
      READUPDATE[X] on the $RECEIVE file.


       CALL REPLY[X] ( [          buffer ]
                      ,[          write-count ]
                      ,[          count-written ]
                      ,[          message-tag ]
                      ,[          error-return ] );


       buffer,                                       input


             INT:ref:*                                 (Use with REPLY)
             STRING .EXT:ref:*                         (Use with REPLYX)


       write-count, INT:value                        input
       count-written,                                output


             INT:ref:1                                 (Use with REPLY)
             INT .EXT:ref:1                            (Use with REPLYX)


       message-tag, INT:value                        input
       error-return, INT:value                       input


       File System Error                             Condition Code Setting
       0                                             CCE (no error)
       1-9                                           CCG (warning)
       10-32767                                      CCL (error)



                Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                                8- 10
Procedure Calls Summary (R-Z)




       < (CCL)                      An error occurred (call FILE_GETINFO_ or FILEINFO).
       = (CCE)                      The REPLY[X] is successful.
       > (CCG)                      A warning occurred (call FILE_GETINFO_ or FILEINFO).

      REPOSITION
      (Superseded by FILE_RESTOREPOSITION_) Positions a disk file to a saved position
      (the positioning information was saved by a call to the SAVEPOSITION procedure).


       CALL REPOSITION ( filenum ,positioning-block );


       filenum, INT:value                              input
       positioning-block, INT:ref:*                    input


       < (CCL)                         An error occurred (call FILE_GETINFO_ or FILEINFO).
       = (CCE)                         REPOSITION is successful.
       > (CCG)                         The file is not a disk file.

      RESETSYNC
      Is used by the backup process of a process pair after a failure of the primary process.
      RESETSYNC resynchronizes any open files whose file sychronization blocks are not
      checkpointed after the most recent stack checkpoint, and clears a process pair’s file
      synchronization block.


       CALL RESETSYNC ( filenum );


       filenum, INT:value                              input


       < (CCL)                                         An error occurred (call FILEINFO).
       = (CCE)                                         RESETSYNC is successful.
       > (CCG)                                         The file is not a disk file.

      RESIZEPOOL
      (Superseded by POOL_CHECK_, POOL_DEFINE_, POOL_GETINFO_,
      POOL_GETSPACE_, POOL_PUTSPACE_, and POOL_RESIZE_) Changes the size of
      a pool that was initialized by the DEFINEPOOL procedure.


               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               8- 11
Procedure Calls Summary (R-Z)




       error := RESIZEPOOL ( pool-head ,new-pool-size );


       error, INT                                        returned value


       0    Successful call; the size of the specified pool had been changed to new-pool-size.
       12   The call would shrink the pool too much, leaving less area than that reserved by
            GETPOOL; the reserved blocks must be returned by a PUTPOOL.
       21   An invalid new-pool-size was specified.
       22   One of the parameters specifies an address that is out of bounds.
       29   A required parameter was not supplied.
       59   The pool is invalid and cannot be resized.


       pool-head, INT .EXT:ref:19                        input, output
       new-pool-size, INT(32):value                      input


       = (CCE)                              The pool was resized successfully; error contains 0.
       > (CCG)                              An error occurred; error contains the error value.

      RESIZESEGMENT
      Alters the size of an existing extended data segment (such as a segment created by
      ALLOCATESEGMENT), allowing nonprivileged users to conserve processor address
      space.


       error := RESIZESEGMENT ( segment-ID
                               ,new-segment-size );


       error, INT                                        returned value


       -2   Unable to allocate segment space.
       -1   Unable to allocate page table space.
       0    Successful call; the size of the specified extended segment has been changed to new-
            segment-size.
       2    The seg-id parameter specified a nonexistent extended segment or the extended
            segment is of a type that may not be resized (see Considerations).
       12   The extended segment is a shared segment and cannot be reduced, or the segment is
            currently being resized.


               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               8- 12
Procedure Calls Summary (R-Z)



       21   An invalid new-segment-size was specified.
       24   The seg-id parameter specified a privileged segment ID (greater than 2047) and the
            caller was not privileged.
       29   A required parameter was not supplied.
       43   Disk space could not be allocated to accommodate the new-segment-size
            specified.
       45   The existing permanent swap file for the extended segment is not large enough to back
            up the requested new-segment-size.


       segment-ID, INT:value                            input
       new-segment-size, INT(32):value                  input

       < (CCL)        Indicates resource allocation failure.
       = (CCE)        Indicates that the segment was resized successfully; error contains 0.
       > (CCG)        Indicates that an error occurred; error contains the error value (the specified
                      extended segment was unaffected).

      SAVEPOSITION
      (Superseded by FILE_SAVEPOSITION_) Saves a disk file’s current file-positioning
      information. The information is returned to the file system in a call to REPOSITION.


       CALL SAVEPOSITION ( filenum
                          ,positioning-block
                          ,[ positioning-blksize ] );


       filenum, INT:value                               input
       positioning-block, INT:ref:*                     output
       positioning-blksize, INT:ref:1                   output


       < (CCL)                                          An error occurred (call FILEINFO).
       = (CCE)                                          SAVEPOSITION is successful.
       > (CCG)                                          The file is not a disk file.




               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               8- 13
Procedure Calls Summary (R-Z)



      SEGMENT_ALLOCATE_
      Allocates an extended data segment for use by the calling process.


       error := SEGMENT_ALLOCATE_ ( segment-id
                                   ,[ segment-size ]
                                   ,[ filename:length ]
                                   ,[ error-detail ]
                                   ,[ pin ]
                                   ,[ segment-type ]
                                   ,[ base-address ]
                                   ,[ max-size ]
                                   ,[ alloc-options ] );


       error, INT                                          returned value


       0    No error.
       1    File-system error related to the creation or open of filename;.error-detail
            contains the file-system error number.
       2    Parameter error; error-detail contains the number of the first parameter found to
            be in error where 1 designates the first parameter on the left.
       3    Bounds error; error-detail contains the number of the first parameter found to be
            in error where 1 designates the first parameter on the left.
       4    Invalid segment-id.
       5    Invalid segment-size.
       6    Unable to allocate segment space.
       7    Unable to allocate segment page table space.
       8    Security violation when attempting to share segment.
       9  The pin parameter does not exist.
       10 The pin parameter does not have the segment allocated.
       11   Caller is trying to share segment with self.
       12   Requested shared segment is incompatible.
       13   The segment-id parameter is already allocated by this process.
       14   Unable to allocate process segment table (PST); error-detail contains the file-
            system error number.
       15   Part or all of the requested address range has already been allocated.


       segment-id INT:value                                         input
       segment-size INT(32):value                                   input
       filename:length STRING .EXT:ref:* INT:value                  input:input

               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               8- 14
Procedure Calls Summary (R-Z)



       error-detail INT .EXT:ref:1                                 output
       pin INT:value                                               input
       segment-type INT:value                                      input
       base-address INT(32) .EXT:ref:1                             output
       max-size INT(32):value                                      input
       alloc-options INT:value                                     input


       <0:13>           Reserved (specify 0)
       <14>      =0     Allocate a selectable segment.
                 =1     Allocate a flat segment. If not running on a system that supports flat
                        segments allocate a selectable segment.
       <15>      =0     Return the base-address in the base address parameter.
                 =1     Allocate a flat segment starting at the address specified in the base-
                        address parameter. Bit <14> must also be set to 1. If not running on a
                        system that supports flat segments, allocate a selectable segment starting at
                        the base address%000000D (%H00080000).

      SEGMENT_ALLOCATE_CHKPT_
      Is called by a primary process to allocate an extended data segment for use by its backup
      process.


       error := SEGMENT_ALLOCATE_CHKPT_ ( segment-id
                                         ,[ filename:length ]
                                         ,[ error-detail ]
                                         ,[ pin ] );


       error, INT                                                   returned value
       segment-id, INT:value                                        input
       filename:length, STRING .EXT:ref:*,INT:value                 input:input
       error-detail, INT .EXT:ref:1                                 output
       pin, INT:value                                               input

      SEGMENT_DEALLOCATE_
      Deallocates an extended data segment.


       error := SEGMENT_DEALLOCATE_ ( segment-id
                                     ,[ flags ]
                                     ,[ error-detail ] );



                Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                                8- 15
Procedure Calls Summary (R-Z)




       error, INT                                      returned value


       0   Segment successfully deallocated.
       1   Segment deallocated, but an I/O error occurred when writing to the segment's permanent
           swap file; error-detail contains the file-system error number.
       2   Parameter error; error-detail contains the number of the first parameter found to be
           in error, where 1 designates the first parameter on the left.
       3   Bounds error.
       4   Segment not deallocated; error-detail contains the reason for failure.


       segment-id, INT:value                           input
       flags, INT:value                                input


       <0:14>    Reserved (specify 0)
       <15>      = 1 Dirty pages in memory are not to be written to the swap file.
                 = 0 Dirty pages in memory are to be written to the swap file.


       error-detail, INT .EXT:ref:1                    output

      SEGMENT_DEALLOCATE_CHKPT_
      Is called by a primary process to deallocate an extended data segment in its backup
      process.


       error := SEGMENT_DEALLOCATE_CHKPT_ ( segment-id
                                           ,[ flags ]
                                           ,[ error-detail ] );


       error, INT                                      returned value


       0   Segment successfully deallocated.
       1   Segment deallocated, but an I/O error occurred when writing to the segment's permanent
           swap file; error-detail contains the file-system error number.
       2   Parameter error; error-detail contains the number of the first parameter found to be
           in error, where 1 designates the first parameter on the left.
       3   Bounds error.
       4   Segment not deallocated; error-detail contains the reason for failure.



                Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                                8- 16
Procedure Calls Summary (R-Z)




       segment-id, INT:value                           input
       flags, INT:value                                input


       <0:14>     Reserved (specify 0)
       <15>       = 1 Dirty pages in memory are not to be written to the swap file.
                  = 0 Dirty pages in memory are to be written to the swap file.


       error-detail, INT .EXT:ref:1                    output

      SEGMENT_GETBACKUPINFO_
      Retrieves information about an extended segment that is allocated by the backup process
      in a named process pair.


       error := SEGMENT_GETBACKUPINFO_ ( segment-id
                                        ,[ segment-size ]
                                        ,[ filename:maxlen ]
                                        ,[ filename-len ]
                                        ,[ error-detail ]
                                        ,[ base-address ] );


       error, INT                                      returned value


       0   No error.
       1   Error occurred when attempting to obtain filename; error-detail contains the
           file-system error number.
       2   Parameter error; error-detail contains the number of the first parameter found to be
           in error, where 1 designates the first parameter on the left.
       3   Bounds error; error-detail contains the number of the first parameter found to be
           in error, where 1 designates the first parameter on the left.
       4   The value of segment-id is out of range.
       5   The value of segment-id is in range but is not allocated by caller.
       6   Information not obtained; error-detail contains the reason for failure.


       segment-id, INT:value                                       input
       segment-size, INT(32) .EXT:ref:1                            output
       filename:maxlen, STRING .EXT:ref:*,INT:value                output:input




                Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                                8- 17
Procedure Calls Summary (R-Z)



       filename-len, INT .EXT:ref:1                             output
       error-detail, INT .EXT:ref:1                             output
       base-address, INT(32) .EXT:ref:1                         output

      SEGMENT_GETINFO_
      Retrieves information about a currently allocated extended segment.


       error := SEGMENT_GETINFO_ ( segment-id
                                  ,[ segment-size ]
                                  ,[ filename:maxlen ]
                                  ,[ filename-len ]
                                  ,[ error-detail ]
                                  ,[ base-address ]
                                  ,[ usage-flags ] );


       error, INT                                    returned value


       0   No error.
       1   Error occurred when attempting to obtain filename; error-detail contains the
           file-system error number.
       2   Parameter error; error-detail contains the number of the first parameter found to be
           in error, where 1 designates the first parameter on the left.
       3   Bounds error; error-detail contains the number of the first parameter found to be
           in error, where 1 designates the first parameter on the left.
       4   The value of segment-id is out of range.
       5   The value of segment-id is in range but is not allocated by caller.

       segment-id, INT:value                                    input
       segment-size, INT(32) .EXT:ref:1                         output
       filename:maxlen, STRING .EXT:ref:*,INT:value             output:input
       filename-len, INT .EXT:ref:1                             output
       error-detail, INT .EXT:ref:1                             output
       base-address, INT(32) .EXT:ref:1                         output
       usage-flags, INT .EXT:ref:1                              output

      The bits, when set to 1, indicate the following:




               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               8- 18
Procedure Calls Summary (R-Z)




       <0:8>     (Bits are reserved; 0 is returned)
       <9>       Segment is a flat segment.
       <10>      Segment is a resident cache segment.
       <11>      Segment is a shared segment.
       <12>      Segment is the currently in-use segment for the process.
       <13>      Segment is writeback-inhibit. Changes made to the segment are not written to the
                 swap files.
       <14>      Segment is extensible.
       <15>      Segment is resident.

      SEGMENT_USE_
      Selects a particular extended data segment to be currently addressable by the calling
      process.


       error := SEGMENT_USE_ ( new-segment-id
                              ,[ old-segment-id ]
                              ,[ base-address ]
                              ,[ error-detail ] );


       error, INT                                       returned value


       0     No error.
       3     Bounds error; error-detail contains the number of the first parameter found to be
             in error, where 1 designates the first parameter on the left.
       4     The value of new-segment-id is not allocated.
       5     The value of new-segment-id is out of range.


       new-segment-id, INT:value                        input
       old-segment-id, INT .EXT:ref:1                   input
       base-address, INT(32) .EXT:ref:1                 output
       error-detail, INT .EXT:ref:1                     output




                Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                                8- 19
Procedure Calls Summary (R-Z)



      SEGMENTSIZE
      (Superseded by SEGMENT_GETBACKUPINFO_ and SEGMENT_GETINFO_)
      Returns the size of the specified segment in bytes.


       seg-size := SEGMENTSIZE ( segment-id );


       seg-size, INT(32)                              returned value
       segment-id, INT:value                          input

      SENDBREAKMESSAGE
      (Superseded by BREAKMESSAGE_SEND_) Allows user processes to send BREAK
      messages to other processes.


       error := SENDBREAKMESSAGE ( process-id
                                  ,[ breaktag ] );


       error, INT                                     returned value
       process-id, INT .EXT:ref:4                     input
       breaktag, INT .EXT:ref:2                       input

      SET^FILE
      Alters file characteristics and checks the old value of those characteristics it is changing.
      SET^FILE is a sequential I/O (SIO) procedure and can be used only with files that have
      been opened by OPEN^FILE.


       error := SET^FILE ( { common-fcb }
                           { file-fcb    }
                          ,operation
                          ,[ new-value ]
                          ,[ old-value ] );


       error, INT                                     returned value
       common-fcb, INT:ref:*                          input
       file-fcb, INT:ref:*                            input
       operation, INT:value                           input
       new-value, INT:value                           input
       old-value, INT:ref:*                           output

               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               8- 20
Procedure Calls Summary (R-Z)




      Note. For more information, please see Section 10, SET^FILE Operations.

      SETJMP_
      Saves process context in a jump buffer. This context is used when a nonlocal goto is
      performed by a corresponding call to the LONGJMP_ procedure.


       ?SOURCE $SYSTEM.SYSTEM.HSETJMP

       retval := SETJMP_ ( env );                                         ! o


       retval INT(32)                                    returned value


       0D        Indicates that the SETJMP_ procedure was called directly.
       <>0D      Indicates that the SETJMP_ procedure is returning as a result of a call to the
                 LONGJMP_ procedure. The returned value is specified by LONGJMP_.


       env, INT .EXT:ref:(JMP_BUF_TEMPLATE)                      output

      SETLOOPTIMER
      Aborts the caller if the caller begins looping (malfunctioning), and permits the caller to
      calculate the amount of processor time it has used.


       CALL SETLOOPTIMER ( new-time-limit ,[ old-time-limit ] );


       new-time-limit, INT:value                         input
       old-time-limit, INT:ref:1                         output


       < (CCL)        The new-time-limit parameter is omitted or is specified as a negative
                      value. The state of process loop timing and the setting of the process’s loop
                      timer are unchanged.
       = (CCE)        The new-time-limit value is set into the process’s loop timer and that loop
                      timing is enabled.




               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               8- 21
Procedure Calls Summary (R-Z)



      SETMODE
      Sets device-dependent functions.


       CALL SETMODE ( filenum
                     ,function
                     ,[ param1 ]
                     ,[ param2 ]
                     ,[ last-params ] );


       filenum, INT:value                           input
       function, INT:value                          input
       param1, INT:value                            input
       param2, INT:value                            input
       last-params, INT:ref:2                       output


       < (CCL)                      An error occurred (call FILEINFO).
       = (CCE)                      The SETMODE is successful.
       > (CCG)                      The SETMODE function is not allowed for this device type.


      Note. For more information, please see Section 11, SETMODE Operations.

      SETMODENOWAIT
      Sets device-dependent functions with the nowait option on nowait files.


       CALL SETMODENOWAIT ( filenum
                           ,function
                           ,[ param1 ]
                           ,[ param2 ]
                           ,[ last-params ]
                           ,[ tag ] );


       filenum, INT:value                           input
       function, INT:value                          input
       param1, INT:value                            input
       param2, INT:value                            input
       last-params, INT:ref:2                       output
       tag, INT(32):value                           input


               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               8- 22
Procedure Calls Summary (R-Z)




       < (CCL)        An error occurred (call FILEINFO).
       = (CCE)        The SETMODENOWAIT is successful.
       > (CCG)        The SETMODENOWAIT function is not allowed for this device type.

      SETMYTERM
      (Superseded by PROCESS_SETINFO_) Permits a process to change the terminal it uses
      as its home terminal.


       CALL SETMYTERM ( terminal-name );


       terminal-name, INT:ref:12                        input


       < (CCL)        The terminal cannot be reassigned, terminal-name is invalid, or terminal-
                      name is not a terminal or a named process.
       = (CCE)        The SETMYTERM is successful.

      SETPARAM
      Sets and fetches various values such as the station characteristics of network addresses.


       CALL SETPARAM ( filenum
                      ,function
                      ,[ param-array ]
                      ,[ param-count ]
                      ,[ last-param-array ]
                      ,[ last-param-count ]
                      ,[ nowait-tag ] );


       filenum, INT:value                               input
       function, INT:value                              input


       1     Set or fetch a remote data terminal equipment address.
       2     Set or fetch the clear cause or diagnostic bytes.
       3     Set or fetch parameters for BREAK handling.
       4     Set or fetch the reset cause or diagnostic bytes.
       5     Fetch the restart cause or diagnostic bytes.
       6     Set or fetch the 6520 and 6530 block-mode, terminal-error counters.


               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               8- 23
Procedure Calls Summary (R-Z)



       7      Set or override the closed user’s group (CUG) number to be used in the next call-
              request packet.
       8      Set or fetch the protocol ID field in the outgoing call-request packet.
       9      Fetch the reason why circuit disconnected, and learn the current link status.
       20     Reset and retrieve the called data-terminal equipment (DTE) address buffer.
       21     Provide a count of the number of 64-byte segments that can be sent and received by a
              subdevice.
       22     Access the Level 4 ITI-protocol, block-mode timer.
       153    Fetch the 4-byte SNA sense code and the 4-byte exception response identification
              number (use only when SNAX exception response mode is enabled).


       param-array, INT:ref:*                            input
       param-count, INT:value                            input
       last-param-array, INT:ref:*                       output
       last-param-count, INT:ref:1                       output
       nowait-tag, INT(32):ref:1                         input


       < (CCL)                      An error occurred (call FILEINFO).
       = (CCE)                      The SETPARAM is successful.
       > (CCG)                      The SETPARAM function is not allowed for this device type.

      SETSTOP
      Indicates how a process may be stopped.


       last-stop-mode := SETSTOP ( stop-mode );


       last-stop-mode, INT                               returned value
       stop-mode, INT:value                              input


       0     Stoppable by any process.
       1     Stoppable only by the super ID (255,255) , a process whose process access ID equals this
             process’s creator access ID (CAID) or the CAID group manager, or a process whose
             process access ID equals this process’s process access ID (PAID) or the PAID group
             manager.
       2     Unstoppable by any other process; this mode is available to privileged users only.




                Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                                8- 24
Procedure Calls Summary (R-Z)



      SETSYNCINFO
      (Superseded by FILE_SETSYNCINFO_) Is used by the backup process of a process
      pair to pass the process pair’s latest synchronization block to the file system.


       CALL SETSYNCINFO ( filenum ,sync-block );


       filenum, INT:value                                input
       sync-block, INT:ref:*                             input


       < (CCL)                                           An error occurred (call FILEINFO).
       = (CCE)                                           SETSYNCINFO is successful.
       > (CCG)                                           The file is not a disk file.

      SETSYSTEMCLOCK
      Changes the system clock if you are a super-group ID (255,255).


       CALL SETSYSTEMCLOCK ( julian-gmt ,mode ,[ tuid ] );


       julian-gmt, FIXED                                 input
       mode, INT:value                                   input


       0   Absolute GMT, the source is operator input.
       1   Absolute GMT, the source is the hardware clock.
       2   Relative GMT, the source is operator input.
       3   Relative GMT, the source is the hardware clock.

       tuid, INT:value                                   input


       < (CCL)       Insufficient capability
       = (CCE)       SETSYSTEMCLOCK was successful.
       > (CCG)       There is a mismatch with tuid; retry after redetermining the relative error.




               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               8- 25
Procedure Calls Summary (R-Z)



      SHIFTSTRING
      (Superseded by STRING_UPSHIFT_) Puts all the alphabetic characters in a string in
      lowercase or uppercase. Nonalphabetic characters remain unchanged.


       CALL SHIFTSTRING ( string ,count ,casebit );


       string, STRING:ref:*                             input, output
       count, INT:value                                 input
       casebit, INT:value                               input

       <15>    = 0 Puts the specified string in uppercase.
               = 1 Puts the specified string in lowercase.

      SIGACTION_

      Note. This procedure can be called only from TNS/R native processes.

      Is the pTAL procedure name for the C sigaction() function.
      See the $SYSTEM.SYSTEM.HSIGNAL header file for the pTAL prototype definitions.
      For a discussion of each parameter and procedure considerations, see the
      sigaction(2) function reference page either online or in the Open System Services
      System Calls Reference Manual.

      SIGACTION_INIT_
      Establishes the caller’s initial state of signal handling if default handling is not desired.

      Note. This procedure can be called only from TNS/R native processes.



       ?SOURCE $SYSTEM.SYSTEM.HTDMSIG
       error := SIGACTION_INIT_ ( handler );


       error (INT32)                                    returned value


       0D     Indicates a successful outcome.
       -1D    Indicates an error. The reason for the error is given in the errno variable. Use the
              ERRNO_GET_ procedure to obtain the value of errno in a pTAL program.



               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               8- 26
Procedure Calls Summary (R-Z)




       handler, PROCADDR:ref:1                         input

      SIGACTION_RESTORE_

      Note. This procedure can be called only from TNS/R native processes.

      Restores the signal-handling state saved by a previous call to the
      SIGACTION_SUPPLANT_ procedure.


       ?SOURCE $SYSTEM.SYSTEM.HTDMSIG
       error := SIGACTION_RESTORE_ ( signal-buffer );


       error, INT(32)                                                           returned value


       0D    Indicates a successful outcome.
       -1D   Indicates an error. The reason for the error is given in the errno variable:
                FE_EFAULT         The address in signal-buffer is invalid.
                FE_EINVAL         The content of the signal-buffer contains invalid data or
                                  SIGACTION_SUPPLANT_ was not called.


       signal-buffer, INT.EXT:ref:(SIG_SAVE_TEMPLATE)                           input

      SIGACTION_SUPPLANT_

      Note. This procedure can be called only from TNS/R native processes.

      Allows a subsystem (such as a shared run-time library) to take over signal handling
      temporarily.


       ?SOURCE $SYSTEM.SYSTEM.HTDMSIG
       error := SIGACTION_SUPPLANT_ ( handler
                                      ,signal-buffer
                                      ,length );


       error, INT(32)                                  returned value




               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               8- 27
Procedure Calls Summary (R-Z)




       0D    indicates a successful outcome
       -1D   indicates an error. The reason for the error is given in the errno variable:
                  FE_EFAULT              The address in signal-buffer is out of bounds.
                  FE_EINVAL SIG_         The IGN or SIG_ERR is passed to the handler.
                  FE_ERANGE              The value of length is less than the minimum required.
             Use the ERRNO_GET_ procedure to obtain the value of errno in a Guardian
             process.


       handler, PROCADDR:value                         input
       signal-buffer, INT .EXT:ref:*                   output
       length, INT:value                               input

      SIGADDSET_
      SIGDELSET_
      SIGEMPTYSET_
      SIGFILLSET_
      SIGISMEMBER_
      These procedure names are the pTAL names for the corresponding C functions:
       Procedure Name                                  Corresponding C Function
       SIGADDSET_                                      sigaddset()
       SIGDELSET_                                      sigdelset()
       SIGEMPTYSET_                                    sigemptyset()
       SIGFILLSET_                                     sigfillset()
       SIGISMEMBER_                                    sigismember()

      See the $SYSTEM.SYSTEM.HSIGNAL header file for the pTAL prototype definitions.
      For a discussion of each parameter and procedure considerations, see the corresponding
      sigaddset(3), sigdelset(3), sigemptyset(3), sigfillset(3), and
      sigismember(3) function reference pages either online or in the Open System
      Services Library Calls Reference Manual.

      Note. These procedures can be called only from TNS/R native processes.




               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               8- 28
Procedure Calls Summary (R-Z)



      SIGJMP_MASKSET_
      Saves a signal mask in a jump buffer that has already been initialized by the
      SIGSETJMP_ procedure.

      Note. This procedure can be called only from TNS/R native processes.



       ?SOURCE $SYSTEM.SYSTEM.HTDMSIG
       error := SIGJMP_MASKSET_ ( env
                                 ,signal-mask );


       error, INT(32)                                  returned value


       0D    Indicates a successful outcome.
       -1D   Indicates an error. The reason for the error is given in the errno variable:
                   FE_EINVAL         The jump buffer has not been initialized.
             Use the ERRNO_GET_ procedure to obtain the value of errno in a Guardian
             process.


       env, INT .EXT:ref:(SIGJMP_BUF_TEMPLATE)                    input, output
       signal-mask, INT .EXT:ref:(SIGSET_T)                       input

      SIGLONGJMP_
      Performs a nonlocal goto. It restores the state of the calling process using context saved
      in a jump buffer by the SIGSETJMP_ procedure. Control returns to the location of the
      corresponding SIGSETJMP_ procedure call.

      Note. This procedure can be called only from TNS/R native processes.



       ?SOURCE $SYSTEM.SYSTEM.HSETJMP
       SIGLONGJMP_ ( env
                    ,value );


       env, INT .EXT:ref:(SIGJMP_BUF_TEMPLATE)                  input
       value, INT(32):value                                     input




               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               8- 29
Procedure Calls Summary (R-Z)



      SIGNAL_
      SIGNAL_ is the pTAL procedure name for the C signal() function.
      See the $SYSTEM.SYSTEM.HSIGNAL header file for the pTAL prototype definitions.
      For a discussion of each parameter and procedure considerations, see the signal(3)
      function reference page either online or in the Open System Services Library Calls
      Reference Manual.

      Note. This procedure can be called only from TNS/R native processes.

      SIGNALPROCESSTIMEOUT
      Sets a timer based on process execution time. When the time expires, the calling process
      receives a system message on $RECEIVE.


       CALL SIGNALPROCESSTIMEOUT ( timeout-value
                                  ,[ param1 ]
                                  ,[ param2 ]
                                  ,[ tag ] );


       timeout-value, INT(32):value                    input
       param1, INT:value                               input
       param2, INT(32):value                           input
       tag, INT(32):ref:1                              output


       < (CCL)       SIGNALPROCESSTIMEOUT cannot allocate a time-list element (TLE).
       = (CCE)       SIGNALPROCESSTIMEOUT is successful.
       > (CCG)       The given timeout value is illegal, or there is a bounds error on tag.

      SIGNALTIMEOUT
      Sets a timer to a given number of units of elapsed time.


       CALL SIGNALTIMEOUT ( timeout-value
                           ,[ param1 ]
                           ,[ param2 ]
                           ,[ tag ] );


       timeout-value, INT(32):value                    input




               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               8- 30
Procedure Calls Summary (R-Z)



       param1, INT:value                              input
       param2, INT(32):value                          input
       tag, INT:ref:1                                 output


       < (CCL)                   SIGNALTIMEOUT cannot allocate a time-list element (TLE).
       = (CCE)                   SIGNALTIMEOUT finished successfully.
       > (CCG)                   The given timeout value is illegal.

      SIGPENDING_
      SIGPENDING_ is the pTAL procedure name for the C sigpending() function.
      See the $SYSTEM.SYSTEM.HSIGNAL header file for the pTAL prototype definitions.
      For a discussion of each parameter and procedure considerations, see the
      sigpending(2) function reference page either online or in the Open System Services
      System Calls Reference Manual.

      Note. This procedure can be called only from TNS/R native processes.

      SIGPROCMASK_
      SIGPROCMASK_ is the pTAL procedure name for the C sigprocmask() function.
      See the $SYSTEM.SYSTEM.HSIGNAL header file for the pTAL prototype definitions.
      For a discussion of each parameter and procedure considerations, see the
      sigprocmask(2) function reference page either online or in the Open System
      Services System Calls Reference Manual.

      Note. This procedure can be called only from TNS/R native processes.

      SIGSETJMP_
      Saves process context in a jump buffer. This context is used when a nonlocal goto is
      performed by a corresponding call to the SIGLONGJMP_ procedure. Optionally, this
      procedure also saves the current signal mask.

      Note. This procedure can be called only from TNS/R native processes.



       ?SOURCE $SYSTEM.SYSTEM.HSETJMP
       retval := SIGSETJMP_ ( env
                             ,mask );


       retval, INT(32)                                returned value

               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               8- 31
Procedure Calls Summary (R-Z)




       0D        Indicates that the SIGSETJMP_ procedure was called directly.
       <>0D      Indicates that SIGSETJMP_ is returning as a result of a call to the
                 SIGLONGJMP_ procedure. The returned value is specified by
                 SIGLONGJMP_.

       env, INT .EXT:ref:(SIGJMP_BUF_TEMPLATE)                output
       mask, INT(32):value                                    input


       0D        Specifies that the current signal mask is not to be saved.
       <>0D      Specifies that the current signal mask is to be saved. This mask is reinstated
                 by a corresponding call to the SIGLONGJMP_ procedure.

      SIGSUSPEND_
      SIGSUSPEND_ is the pTAL procedure name for the C sigsuspend() function. The
      C sigsuspend() function complies with the POSIX.1 standard.
      See the $SYSTEM.SYSTEM.HSIGNAL header file for the pTAL prototype definitions.
      For a discussion of each parameter and procedure considerations, see the
      sigsuspend(2) function reference page either online or in the Open System Services
      System Calls Reference Manual.

      Note. This procedure can be called only from TNS/R native processes.


      STEPMOM
      (Superseded by PROCESS_SETINFO_) Allows a process to receive process STOP or
      ABEND messages for a process it did not create.


       CALL STEPMOM ( process-id );


       process-id, INT:ref:4                          input


       < (CCL)      STEPMOM failed, or no process is designated as process-id.
       = (CCE)      The caller is now the creator (MOM) of process-id.




               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               8- 32
Procedure Calls Summary (R-Z)



      STOP
      (Superseded by PROCESS_STOP_) Deletes a process or a process pair and signals that
      the deletion was caused by a normal condition. (A STOP system message is sent to the
      deleted process’s creator.)


       CALL STOP ( [        process-id ]
                  ,[        stop-backup ]
                  ,[        error ]
                  ,[        compl-code ]
                  ,[        termination-info ]
                  ,[        spi-ssid ]
                  ,[        length ]
                  ,[        text ] );


       process-id, INT:ref:4                        input
       stop-backup, INT:value                       input
       error, INT:ref:1                             output
       compl-code, INT:value                        input
       termination-info, INT:value                  input
       spi-ssid, INT .EXT:ref:6                     input
       length, INT:value                            input
       text, STRING.EXT:ref:length                  input


       < (CCL)     The process-id parameter is invalid, or an error occurred while stopping the
                   process.
       = (CCE)     STOP was successful.

      STRING_UPSHIFT_
      Changes all the alphabetic characters in a string to uppercase.


       error := STRING_UPSHIFT_ ( in-string:length
                                 ,out-string:maxlen );


       error, INT                                   returned value


       0   Operation successful.
       1   Reserved.



               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               8- 33
Procedure Calls Summary (R-Z)



       2   Parameter error.
       3   Bounds error.
       4   String too large to fit in out-string.


       in-string:length,STRING .EXT:ref:*,INT:value                   input:input
       out-string:maxlen, STRING .EXT:ref:*,INT:value                 output:input

      SUSPENDPROCESS
      (Superseded by PROCESS_SUSPEND_) Puts a process or process pair into the
      suspended state.


       CALL SUSPENDPROCESS ( process-id );


       process-id, INT:ref:4                         input


       < (CCL)                   SUSPENDPROCESS failed, or process-id does not exist.
       = (CCE)                  The process-id parameter is suspended.

      SYSTEMENTRYPOINT_RISC_
      The SYSTEMENTRYPOINT_RISC_ procedure, which is defined only for TNS/R
      processes, returns either the 32-bit RISC address of the named entry point or, if not
      found, the value zero.

      Note. pTAL syntax for this procedure is declared only in the EXTDECS0 file.



       risc-addr := SYSTEMENTRYPOINT_RISC_ ( name
                                            ,len );


       risc-addr, EXTADDR                            returned value
       name, STRING .EXT:ref:*                       input
       len, INT:value                                input




               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               8- 34
Procedure Calls Summary (R-Z)



      SYSTEMENTRYPOINTLABEL
      Returns either the procedure label of the named entry point or a zero if no label is found.


       label := SYSTEMENTRYPOINTLABEL ( name ,len );


       label, INT                                   returned value
       name, STRING:ref:*                           input
       len, INT:value                               input

      TAKE^BREAK
      Enables BREAK monitoring for a file. TAKE^BREAK is a sequential I/O (SIO)
      procedure and can be used only with files that have been opened by OPEN^FILE.


       error := TAKE^BREAK ( file-fcb );


       error, INT                                   returned value
       file-fcb, INT:ref:*                          input

      TEXTTOSSID
      Scans a character string, expecting to find the external representation of a subsystem ID
      starting in the first byte (no leading spaces accepted). It returns the internal
      representation of the subsystem ID it finds.


       len := TEXTTOSSID ( chars
                          ,ssid
                          ,[ status ] );


       len, INT                                     returned value
       chars, STRING .EXT:ref:*                     input
       ssid, INT .EXT:ref:6                         output
       status, INT(32) .EXT:ref:1                   output




               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               8- 35
Procedure Calls Summary (R-Z)



      TIME
      Provides the current date and time in integer form.


       CALL TIME ( date-and-time );


       date-and-time, INT:ref:7                            output


       [0]     year         (yyyy).
       [1]     month        (1-12).
       [2]     day          (1-31).
       [3]     hour         (0-23).
       [4]     minute       (0-59).
       [5]     second       (0-59).
       [6]     0.01 sec     (0-99).

      TIMESTAMP
      Provides the internal form of the processor interval clock where the application is
      running.


       CALL TIMESTAMP ( interval-clock );


       interval-clock, INT:ref:3                           output

      TOSVERSION
      Provides an identifying letter and number indicating which version of the Guardian
      operating system is running.


       version := TOSVERSION;


       version, INT                                        returned value


       <0:7>          An uppercase ASCII letter indicating the system level:
       A              TOS
       B              1.0
       C              1.1

                Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                                8- 36
Procedure Calls Summary (R-Z)



       D          1.1 + Expand
       E          1.1 + Expand + TMF
       K          Ann releases
       L          Bnn releases
       M          Cnn releases
       N          Dnn releases
       P          Fnn releases
       Q          Gnn releases
       <8:15>     The revision number of the system in binary format

      UNLOCKFILE
      Unlocks a disk file and any records in the file that are currently locked by the caller.


       CALL UNLOCKFILE ( filenum ,[ tag ] );


       filenum, INT:value                             input
       tag, INT(32):value                             input


       < (CCL)                                        An error occurred (call FILEINFO).
       = (CCE)                                        UNLOCKFILE was successful.
       > (CCG)                                        The file is not a disk file.

      UNLOCKREC
      Unlocks a record currently locked by the caller.


       CALL UNLOCKREC ( filenum ,[ tag ] );


       filenum, INT:value                             input
       tag, INT(32):value                             input


       < (CCL)                                        An error occurred (call FILEINFO).
       = (CCE)                                        The UNLOCKREC is successful.
       > (CCG)                                        The file is not a disk file.




                Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                                8- 37
Procedure Calls Summary (R-Z)



      UNPACKEDIT
      Converts a line image from EDIT packed line format into unpacked format.
      UNPACKEDIT is an IOEdit procedure and can be used only with files that have been
      opened by OPENEDIT or OPENEDIT_.


       UNPACKEDIT ( packed-line
                   ,packed-length
                   ,unpacked-line
                   ,unpacked-limit
                   ,unpacked-length
                   ,[ spacefill ]
                   ,[ full-length ] );


       packed-line, STRING .EXT:ref:*               input
       packed-length, INT:value                     input
       unpacked-line, STRING .EXT:ref:*             output
       unpacked-limit, INT:value                    input
       unpacked-length, INT .EXT:ref:1              output
       spacefill, INT:value                         input
       full-length, INT:value                       input

      USER_AUTHENTICATE_
      Verifies that a user exists and optionally logs on the user. This procedure should be
      called in a dialog mode to allow a dialog between the security mechanism and the user.


       error := USER_AUTHENTICATE_ (
                           inputtext:inputtext-len
                          ,[ options ]
                          ,[ dialog-id ]
                          ,[ status ]
                          ,[ status-flags ]
                          ,[ displaytext:displaytext-maxlen ]
                          ,[ displaytext-len ]
                          ,[ cmon-timeout ]
                          ,[ termname:termname-len ]
                          ,[ volsubvol:volsubvol-maxlen ]
                          ,[ volsubvol-len ]
                          ,[ initdir:initdir-maxlen ]
                          ,[ initdir-len ]
                          ,[ initprog:initprog-maxlen ]
                          ,[ initprog-len ]
                          ,[ initprog-type ]
                          ,[ last-logon-time ]
                          ,[ time-password-expires ]);

               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               8- 38
Procedure Calls Summary (R-Z)




       error, INT                                         returned value


       0       No error.
       13      Invalid termname parameter.
       22      Parameter out of bounds. An input parameter is not within the valid range, or return
               information does not fit into the length of the space provided, or an output parameter
               overlays the stack marker that was created by calling this procedure.
       29      Missing parameter. Either this procedure is called without specifying
               inputtext:inputtext-len, or a parameter required by another parameter is not
               specified.
       48      Security violation. The user specified in inputtext:inputtext-len is
               undefined, or an error occurred during a dialog with Safeguard.
       70      Continue dialog. See the status parameter for detailed information on how to set the
               inputttext parameter in the next call to USER_AUTHENTICATE_.
       160     Invalid dialog-id parameter, invalid protocol, or dialog has exceeded two minutes.
       563     The text to be returned in the displaytext parameter is longer than the length
               specified by the displaytext-maxlen parameter.


       inputtext:inputtext-len, STRING .EXT:ref:*,INT:value                        input:input
       options, INT:value                                                          input


       <0:7>     Reserved (specify 0).
       <8>       Echo is disabled by the caller (with a SETMODE 20) for password input.
       <9>       Send $CMON the Prelogon^msg message (-59).
       <10>      Send $CMON the Logon^msg message (-50).
       <11>      Do not allow the super ID (255,255) to log on.
       <12>      Do not allow a logon with a Guardian user ID.
       <13>      Require blind logon.
       <14>      Do not log on if $CMON has an error or timeout.
       <15>      Log on and update the process's attributes to reflect the user's attributes.


       dialog-id, FIXED .EXT:ref:1                        input, output
       status, INT .EXT:ref:1                             output

      Values returned for error = 0:




                Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                                8- 39
Procedure Calls Summary (R-Z)




       status       Description
       0            No status.
       8            Password is valid but it is about to expire. Caller should return caution message.

      Values returned for error = 48:

       status       Description
       1            User does not exist or password is incorrect.
       2            Cannot authenticate with Guardian user ID because options bit 12 is set to 1.
       3            $CMON rejected logon.
       5            Authentication record frozen.
       6            Authentication record expired.
       10           Password expired: user cannot log on.
       13           Password change request: new password is too short. New password is rejected.
       14           Password change request: new password is too long. New password is rejected.
       15           Password change request: new password does not conform to password history
                    (password cannot be reused). New password is rejected.
       16           Password change request: new password does not conform to password quality.
                    New password is rejected.
       17           Password change request: new password contains blank characters. New
                    password is rejected.
       18           Password change request: new password is not verified. The first new password
                    provided is not the same as the second new password provided.
       19           Password change request: change cannot be made during the allowed time
                    period. Password change request is rejected.
       20           Password change request: change is denied due to a system error. Retry later.
       21           Cannot authenticate the super ID (255,255) because options bit 11 is set to 1.




               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               8- 40
Procedure Calls Summary (R-Z)



      Values returned for error = 70:

       status       Description
       4            Caller should set inputtext to a password in the next call to
                    USER_AUTHENTICATE_ to either log on or begin a password change.
       9            Caller should set inputtext to a password in the next call to
                    USER_AUTHENTICATE_ to change the password.
       11           Caller must set inputtext to a password in the next call to
                    USER_AUTHENTICATE_ to change the password, because the password has
                    expired but the grace period is in effect. If the password is not changed, the user
                    is not authenticated or logged on.
       12           Caller should set inputtext to a new password in the next call to
                    USER_AUTHENTICATE_ to verify the new password.

       status-flags, INT.EXT:ref:1                      output


       <0:14>    Reserved.
       <15>      Caller should disable echo (with a SETMODE 20) for password input before the
                 next call during this dialog with USER_AUTHENTICATE_.


       displaytext:displaytext-maxlen, STRING                                           output:input
       .EXT:ref:*,INT:value
       displaytext-len, INT .EXT:ref:1                                                  output
       cmon-timeout, INT:value                                                          input
       termname:termname-len, STRING .EXT:ref:*,INT:value                               input:input
       volsubvol:volsubvol-maxlen, STRING .EXT:ref:*,INT:value                          output:input
       volsubvol-len, INT .EXT:ref:1                                                    output
       initdir:initdir-maxlen, STRING .EXT:ref:*,INT:value                              output:input
       initdir-len, INT .EXT:ref:1                                                      output
       initprog:initprog-maxlen, STRING .EXT:ref:*,INT:value                            output:input
       initprog-len, INT .EXT:ref:1                                                     output
       initprog-type, INT .EXT:ref:1                                                    output
       last-logon-time, FIXED .EXT:ref:1                                                output
       time-password-expires, FIXED .EXT:ref:1                                          output




                Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                                8- 41
Procedure Calls Summary (R-Z)



      USER_GETINFO_
      Returns the default attributes of the specified user. The user can be identified by user
      name; by Guardian user ID; or, if Safeguard is running, by alias.


       error := USER_GETINFO_ ( [               user-name:user-maxlen ]
                               ,[               user-curlen ]
                               ,[               user-id ]
                               ,[               is-alias ]
                               ,[               group-count ]
                               ,[               group-list ]
                               ,[               primary-group ]
                               ,[               volsubvol:volsubvol-maxlen ]
                               ,[               volsubvol-len ]
                               ,[               initdir:initdir-maxlen ]
                               ,[               initdir-len ]
                               ,[               initprog:initprog-maxlen ]
                               ,[               initprog-len ]
                               ,[               default-security ]);


       error, INT                                      returned value


       0     No error. Default user information is returned as requested.
       11    Record not in use. The specified group name or group ID is undefined.
       22    Parameter out of bounds. An input parameter is not within the valid range, or return
             information does not fit into the length of the space provided, or an output parameter
             overlays the stack marker that was created by calling this procedure.
       29    Missing parameter. This procedure was called without specifying a required parameter.
       590   Bad parameter value. The value specified in user-curlen is greater than the value
             specified in user-maxlen, or the value specified in user-curlen is not within
             the valid range, or the value specified in user-id is not within the valid range.


       user-name:user-maxlen, STRING .EXT:ref:*,INT:value                         input, output:input
       user-curlen, INT .EXT:ref:1                                                input, output
       user-id, INT(32) .EXT:ref:1                                                input, output
       is-alias, INT .EXT:ref:1                                                   output
       group-count, INT .EXT:ref:1                                                output
       group-list, INT(32) .EXT:ref:32                                            output
       primary-group, INT(32) .EXT:ref:1                                          output
       volsubvol:volsubvol-maxlen, STRING .EXT:ref:*,INT:value                    output:input
       volsubvol-len, INT .EXT:ref:1                                              output
       initdir:initdir-maxlen, STRING .EXT:ref:*,INT:value                        output:input

               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               8- 42
Procedure Calls Summary (R-Z)



       initdir-len, INT .EXT:ref:1                                             output
       initprog:initprog-maxlen, STRING .EXT:ref:*,INT:value                   output:input
       initprog-len, INT .EXT:ref:1                                            output
       default-security, INT .EXT:ref:1                                        output


       <0:3>         reserved
       <4:6>         read
       <7:9>         write
       <10:12>       execute
       <13:15>       purge

      where the legitimate fields are encoded with numbers that represent the following
      information:

       0    =    A              (any local user)
       1    =    G              (any local group member)
       2    =    O              (only the local owner)
       3    =    not used
       4    =    N              (any network user)
       5    =    C              (any network group/community user)
       6    =    U              (only the network owner)
       7    =    -              (only the local super ID (255,255))

      USER_GETNEXT_
      Returns the next user name or alias in the order in which it is stored by the security
      mechanism in effect. On successive calls, all user names and aliases can be obtained.


       error := USER_GETNEXT_ ( user-name:user-maxlen
                               ,user-curlen
                               ,is-alias );


       error, INT                                           returned value


       0        No error.
       11       Record not in use. The specified user name is undefined.




                 Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                                 8- 43
Procedure Calls Summary (R-Z)



       22      Parameter out of bounds. An input parameter is not within the valid range, or return
               information does not fit into the length of the space provided, or an output parameter
               overlays the stack marker that was created by calling this procedure.
       29      Missing parameter. This procedure was called without specifying all the parameters.
       590     Bad parameter value. Either the value specified in user-curlen is greater than the
               value specified in user-maxlen, or the value specified in user-curlen is not
               within the valid range.


       user-name:user-maxlen, STRING .EXT:ref:*,INT:value                    input, output:input
       user-curlen, INT .EXT:ref:1                                           input, output
       is-alias, INT .EXT:ref:1                                              input, output

      USERDEFAULTS
      (Superseded by USER_GETINFO_) Returns the default attributes of the specified user.


       error-code := USERDEFAULTS ( [                  user-id ]
                                   ,[                  user-name ]
                                   ,[                  volsubvol ]
                                   ,[                  filesecur ] );


       error-code, INT                                  returned value


       0     No error. Default user information is returned as requested.
       1     End-of-file. The specified user ID or user name is undefined.
       22    Parameter out of bounds. One of the parameters supplied overlays the stack marker that
             was created by calling this procedure.
       29    Missing parameter. This procedure was called without specifying one of the required
             parameters (either user-id or user-name).


       user-id, STRING .EXT:ref:2                       input


       <0:7>      group ID    {0:255}
       <8:15>     user ID     {0:255}

       user-name, STRING .EXT:ref:16                    input, output
       volsubvol, STRING .EXT:ref:16                    output
       filesecur, STRING .EXT:ref:2                     output



                Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                                8- 44
Procedure Calls Summary (R-Z)




       <0:3>         Unused.
       <4:6>         Read.
       <7:9>         Write.
       <10:12>       Execute.
       <13:15>       Purge.


           0     =    A (any local user).
           1     =    G (any local group member).
           2     =    O (only the local owner).
           3     =    not used.
           4     =    N (any network user).
           5     =    C (any network group/community user).
           6     =    U (only the network owner).
           7     =    - (only the local super ID (255,255)).


       < (CCL)          A required parameter is missing, a buffer is out of bounds, or an I/O error
                        occurred on the user ID file ($SYSTEM.SYSTEM.USERID).
       = (CCE)          The default information is returned for the specified user.
       > (CCG)          The specified user ID or user name is undefined.

      USERIDTOUSERNAME
      (Superseded by USER_GETINFO_) Returns the user name, from
      $SYSTEM.SYSTEM.USERID, that is associated with a designated user ID.


       CALL USERIDTOUSERNAME ( id-name );


       id-name, INT:ref:8                                 input, output


       < (CCL)                                 The value ofid-name is out of bounds, or an I/O error
                                               occurred in the $SYSTEM.SYSTEM.USERID file.
       = (CCE)                                 The designated user name returned.
       > (CCG)                                 The specified user ID is undefined.




               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               8- 45
Procedure Calls Summary (R-Z)



      USERNAMETOUSERID
      (Superseded by USER_GETINFO_) Returns the user ID, from
      $SYSTEM.SYSTEM.USERID, that is associated with a designated user name.


       CALL USERNAMETOUSERID ( name-id );


       name-id, INT:ref:8                           input, output


       < (CCL)                          The value of name-id is out of bounds, or an I/O error
                                        occurred in the $SYSTEM.SYSTEM.USERID file.
       = (CCE)                          The designated user ID returned.
       > (CCG)                          The specified user name is undefined.

      USESEGMENT
      (Superseded by SEGMENT_USE_) Makes a particular extended data segment currently
      addressable by the calling process.


       old-segment-id := USESEGMENT ( segment-id );


       old-segment-id, INT                          returned value
       segment-id, INT:value                        input


       < (CCL)                                      The value of segment-id is not allocated,
                                                    or the segment cannot be used by a
                                                    nonprivileged caller.
       = (CCE)                                      The operation is successful.

      VERIFY USER
      (Superseded by USER_AUTHENTICATE_ and USER_GETINFO_) Controls logons,
      verifies that a user exists, and returns user-defaults information.


       CALL VERIFYUSER ( user-name-or-id
                        ,[ logon ]
                        ,[ default
                        ,default-len ] );




               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               8- 46
Procedure Calls Summary (R-Z)




       user-name-or-id, INT:ref:12                         input
       logon, INT:value                                    input


       0         Verify the user but do not log on.
       <> 0      Verify the user and log on.


       default, INT:ref:18                                 output


       [0:3]            = Group name, blank-filled.
       [4:7]            = User name, blank-filled.
       [8]    <0:7>     = Group ID.
             <8:15>     = User ID.
       [9:12]           = Default volume, blank-filled.
       [13:16]          = Default subvolume, blank-filled.
       [17].<0:15>      = Default file security, as follows:
               <0:3>    = Unused.
               <4:6>    = Read.
               <7:9>    = Write.
             <10:12>    = Execute.
             <13:15>    = Purge.


             0   =     A (any local user).
             1   =     G (any local group member).
             2   =     O (only the local owner).
             3   =     not used.
             4   =     N (any network user).
             5   =     C (any network group/community user).
             6   =     U (only the network owner).
             7   =     - (only the local super ID (255,255)).


       default-len, INT:value                              input


       < (CCL)          A buffer is out of bounds, or an I/O error occurred on the user ID file
                        ($SYSTEM.SYSTEM.USERID).
       = (CCE)          Indicates a successful verification and/or logon.
       > (CCG)          There is no such user, or the password is invalid.



                 Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                                 8- 47
Procedure Calls Summary (R-Z)



      WAIT^FILE
      Waits or checks for the completion of an outstanding I/O operation. WAIT^FILE is a
      sequential I/O (SIO) procedure and can be used only with files that have been opened by
      OPEN^FILE.


       error := WAIT^FILE ( file-fcb
                           ,[ count-read ]
                           ,[ time-limit ] );


       error, INT                                     returned value


       0       No error.
       1       End of file.
       6       System message (only if user requested system messages through
               SET^SYSTEMMESSAGES or SET^SYSTEMMESSAGESMANY).
       40      Operation timed out (only if time-limit is supplied and is not -1D).
       111     Operation aborts because of BREAK (if BREAK is enabled).
       532     Operation restarted.


       file-fcb, INT:ref:*                            input
       count-read, INT:ref:*                          output
       time-limit, INT(32):value                      input


       <> 0D     Wait for completion.
       0D        Check for completion.
       0D        (and error = 40) No completion.
       1D        Willing to wait forever.

      WRITE[X]
      Writes data from an array in the application program to an open file.


       CALL WRITE[X] ( filenum
                      ,buffer
                      ,write-count
                      ,[ count-written ]
                      ,[ tag ] );




                Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                                8- 48
Procedure Calls Summary (R-Z)




       filenum, INT:value                           input
       buffer,                                      input


           INT:ref:*                                  (Use with WRITE)
           STRING .EXT:ref:*                          (Use with WRITEX)


       write-count, INT:value                       input
       count-written,                               output


           INT:ref:1                                  (Use with WRITE)
           INT .EXT:ref:*                             (Use with WRITEX)


       tag, INT(32):value                           input


       < (CCL)                                      An error occurred (call FILEINFO).
       = (CCE)                                      The WRITE[X] is successful.

      WRITE^FILE
      Writes a file sequentially. The file must be open and have write or read/write access.
      WRITE^FILE is a sequential I/O (SIO) procedure and can be used only with files that
      have been opened by OPEN^FILE.


       error := WRITE^FILE ( file-fcb
                            ,buffer
                            ,write-count
                            ,[ reply-error-code ]
                            ,[ forms-control-code ]
                            ,[ nowait ] );


       error, INT                                   returned value
       file-fcb, INT:ref:*                          input
       buffer, INT:ref:*                            input
       write-count, INT:value                       input
       reply-error-code, INT:value                  input
       forms-control-code, INT:value                input
       nowait, INT:value                            input



               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               8- 49
Procedure Calls Summary (R-Z)



      WRITEEDIT
      Accepts a line in unpacked format, converts it into EDIT packed line format, and writes
      it to the specified file. WRITEEDIT is an IOEdit procedure and can only be used with
      files that have been opened by OPENEDIT or OPENEDIT_.


       error := WRITEEDIT ( filenum
                           ,[ record-number ]
                           ,unpacked-line
                           ,unpacked-length
                           ,[ full-length ]
                           ,[ new-record-number ] );


       error, INT                                          returned value


       10     File already includes a line with the specified record number.
       21     Specified record is too long to fit into EDIT packed line format. (The maximum is 255
              bytes of packed text.)
       45     All of the file’s possible extents are allocated and full. You can use EXTENDEDIT to
              increase the file’s extent size and call WRITEEDIT again.


       filenum, INT:value                                  input
       record-number, INT(32):value                        input


       >= 0    Specifies 1000 times the EDIT line number of the line to be written.
       -1      Specifies that the line is written at the beginning of the file.
       -2      Specifies that the line is written at the end of the file.
       -3      Specifies that the line is written to the line represented by the file’s current record
               number.


       unpacked-line, STRING .EXT:ref:*                            input
       unpacked-length, INT:value                                  input
       full-length, INT:value                                      input
       new-record-number, INT(32) .EXT:ref:1                       output




                Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                                8- 50
Procedure Calls Summary (R-Z)



      WRITEEDITP
      Accepts a line in EDIT packed line format and writes it to the specified file.
      WRITEEDITP is an IOEdit procedure and can be used only with files that have been
      opened by OPENEDIT or OPENEDIT_.


       error := WRITEEDITP ( filenum
                            ,[ record-number ]
                            ,packed-line
                            ,packed-length );


       error, INT                                           returned value


       10     File already includes a line with the specified record number.
       45     All of the file’s possible extents are allocated and full. You can use EXTENDEDIT to
              increase the file’s extent size and call WRITEEDIT again.


       filenum, INT:value                                   input
       record-number, INT(32):value                         input


       >= 0     Specifies 1000 times the EDIT line number of the line to be written.
       -1       Specifies that the line is written at the beginning of the file.
       -2       Specifies that the line is written at the end of the file.
       -3       Specifies that the line is written to the line represented by the file’s current record
                number.


       packed-line, STRING .EXT:ref:*                       input
       packed-length, INT:value                             input

      WRITEREAD[X]
      Writes data to a file from an array in the application process, then waits for data to be
      transferred back from the file.


       CALL WRITEREAD[X] ( filenum
                          ,buffer
                          ,write-count
                          ,read-count
                          ,[ count-read ]
                          ,[ tag ] );



                 Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                                 8- 51
Procedure Calls Summary (R-Z)




       filenum, INT:value                           input
       buffer,                                      input, output


           INT:ref:*                                  (Use with WRITEREAD)
           STRING .EXT:ref:*                          (Use with WRITEREADX)


       write-count, INT:value                       input
       read-count, INT:value                        input
       count-read,                                  output


           INT:ref:1                                  (Use with WRITEREAD)
           INT .EXT:ref:1                             (Use with WRITEREADX)


       tag, INT(32):value                           input


       < (CCL)                                      An error occurred (Call FILEINFO).
       = (CCE)                                      The WRITEREAD[X] is successful.
       > (CCG)                                      CNTRL-Y is pressed on the terminal.

      WRITEUPDATE[X]
      Transfers data from an array in the application program to a file.


       CALL WRITEUPDATE[X] ( filenum
                            ,buffer
                            ,write-count
                            ,[ count-written ]
                            ,[ tag ] );


       filenum, INT:value                           input
       buffer,                                      input


           INT:ref:*                                  (Use with WRITEUPDATE)
           STRING .EXT:ref:*                          (Use with WRITEUPDATEX)


       write-count, INT:value                       input
       count-written,                               output

               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               8- 52
Procedure Calls Summary (R-Z)




           INT:ref:1                                  (Use with WRITEUPDATE)
           INT .EXT:ref:1                             (Use with WRITEUPDATEX)


       tag, INT(32):value                           input


       < (CCL)                                      An error occurred (call FILEINFO).
       = (CCE)                                      WRITEUPDATE[X] was successful.

      WRITEUPDATEUNLOCK[X]
      Performs random processing of records in a disk file. This procedure operates only on
      Guardian objects.


       CALL WRITEUPDATEUNLOCK[X] ( filenum
                                  ,buffer
                                  ,write-count
                                  ,[ count-written ]
                                  ,[ tag ] );


       filenum, INT:value                           input
       buffer,                                      input


           INT:ref:*                                  (Use with WRITEUPDATEUNLOCK)
           STRING .EXT:ref:*                          (Use with WRITEUPDATEUNLOCKX)


       write-count, INT:value                       input
       count-written,                               output


           INT:ref:1                                  (Use with WRITEUPDATEUNLOCK)
           INT .EXT:ref:1                             (Use with WRITEUPDATEUNLOCKX)


       tag, INT(32):value                           input


       < (CCL)                                An error occurred (call FILEINFO).
       = (CCE)                                WRITEUPDATEUNLOCK[X] was successful.




               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               8- 53
Procedure Calls Summary (R-Z)



      XBNDSTEST
      (Superseded by REFPARAM_BOUNDSCHECK_) Checks stack limits and/or
      parameter addresses.


       status := XBNDSTEST ( param
                            ,bytelen
                            ,flags
                            ,constants );


       status, INT                                     returned value


       1    In bounds, but in a read-only segment or (on TNS/R systems only) in the system library.
       0    In bounds and writable.
       -1   Out of bounds or illegal address.
       -2   Incorrectly aligned on word boundary.
       -3   Undefined flag value.
       -4   In bounds, but in an extensible extended data segment that cannot be extended (usually
            due to lack of additional disk space for the swap file).


       param, STRING .EXT:ref:*                        input
       bytelen, INT:value                              input
       flags, INT:value                                input


       <0:12>    Must be zero.
       <13>      Use the extended-address limits from constants.
       <14>      The parameter must be word-aligned.
       <15>      Skip the bounds test and return 0.


       constants, FIXED:value                          input




                Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                                8- 54
Procedure Calls Summary (R-Z)



      XSTACKTEST
      (Superseded by HEADROOM_ENSURE_) Checks stack limits, ensures that adequate
      stack space is available, and returns a set of constants to be used with the XBNDSTEST
      procedure.


       status := XSTACKTEST ( firstparm
                             ,stackwords
                             ,flags
                             ,constants );


       status, INT                                    returned value


       0      Adequate stack space available.
       2      Undefined flags value.
       21     The value of stackwords is less than 1.
       22     Bounds error on firstparm or constants.
       632    Insufficient stack space available.


       firstparm, INT:ref:*                           input
       stackwords, INT:value                          input
       flags, INT:value                               input


       <0:13>    Must be zero.
       <14>      Allow parameters that use privileged addresses.
       <15>      Skip the stack test and return 0.

       constants, FIXED:ref                           output




                Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                                8- 55
Procedure Calls Summary (R-Z)




               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               8- 56
9       CONTROL Operations
For additional information about the CONTROL procedure call, refer to the Guardian
Procedure Calls Reference Manual.

Table 9-1. CONTROL Operation 1
 Description     Subtype     Description of <param>
 Terminal or     0,2, or 3   0       form feed (send %014)
 Line Printer                1–15    vertical tab (send %013)
 Forms Control               16–79   skip <param> - 16 lines
 Line Printer    6 or 32     0       form feed (send %014)
                             1–15    single space (send %6412)
                             16–79   skip <param> - 16 lines
 Line Printer    1 or 5      0       skip to VFU channel 0 (top of form)
                             1       skip to VFU channel 1 (bottom of form)
                             2       skip to VFU channel 2 (single space, top-of form
                                     eject)
                             3       skip to VFU channel 3 (next odd-numbered line)
                             4       skip to VFU channel
                             5       skip to VFU channel 5 (next one-half page)
                             6       skip to VFU channel 6 (next one-fourth page)
                             7       skip to VFU channel 7 (next one-sixth page)
                             8       skip to VFU channel 8 (user-defined)
                             9       skip to VFU channel 9 (user-defined)
                             10      skip to VFU channel 10 (user-defined)
                             11      skip to VFU channel 11 (user-defined)
                             16-31   skip <param> - 16 lines
 Line Printer    7           0       select VFC channel 1 (top of form)
                             1       select VFC channel 2 (bottom of form)
                             2       select VFC channel 3 (single space)
                             3       select VFC channel 4 (skip to next double space line)
                             4       select VFC channel 5 (skip to next triple space line)
                             5       select VFC channel 6 (skip to next half page)
                             6       select VFC channel 7 (skip to next one-fourth page)
                             7       select VFC channel 8 (skip to next one-sixth page)
                             8       select VFC channel 9 (bottom of form)
                             9       select VFC channel 10 (bottom of form - 1)


         Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                         9 -1
CONTROL Operations



     Table 9-1. CONTROL Operation 1
      Description     Subtype    Description of <param>
      Line Printer    7          10       select VFC channel 11 (top of form - 1)
                                 11       select VFC channel 12 (top of form)
                                 16-31    skip <param> - 16 lines
      Line Printer    4          0        skip to VFU channel 0 (top of form/line 1)
      (default
      DAVFU)
                                 1        skip to VFU channel 1 (bottom of form/line 60)
                                 2        skip to VFU channel 2 (single space/line 1-60, top-of-
                                          form eject
                                 3        skip to VFU channel 3 (next odd-numbered line)
                                 4        skip to VFU channel 6 (next third line: 1,4,7,10, and so
                                          forth)
                                 5        skip to VFU channel 5 (next one-half page)
                                 6        skip to VFU channel 6 (next one-fourth page)
                                 7        skip to VFU channel 7 (next one-sixth page)
                                 8        skip to VFU channel 8 (line 1)
                                 9        skip to VFU channel 9 (line 1)
                                 10       skip to VFU channel 10 (line 1)
                                 11       skip to VFU channel 11 (bottom of paper/line 63)
                                 16-31    skip <param> - 16 lines




              Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                              9 -2
CONTROL Operations




     Table 9-2. CONTROL Operations 2 - 27
      Operation      Description                                           Description of <param>
      2              Write end of file on unstructured disk or             None
                     magnetic tape (if disk, write access is required).
                     A write end of file (EOF) to an unstructured disk
                     file sets EOF to point to the relative byte address
                     indicated by the next-record pointer and writes
                     the new EOF setting in the file label on disk.
                     If this new EOF setting is out of bounds, EOF is
                     set to the last possible position.
      3              Magnetic tape, rewind and unload, do not wait         None
                     for completion.
      4              Magnetic tape, take off line, do not wait for         None
                     completion (treated as operation 3 for 5106 Tri-
                     Density Tape Drive).
                     Not supported for 5130, 5160, 5170, and 5180
                     tape drives.
      5              Magnetic tape, rewind, leave on line, do not wait     None
                     for completion.
      6              Magnetic tape, rewind, leave on line, wait for        None
                     completion.
      7              Magnetic tape, space forward files.                   number of files {0:255}
      8              Magnetic tape, space backward files.                  number of files {0:255}
      9              Magnetic tape, space forward records.                 number of records {0:255}
      10             Magnetic tape, space backward records.                number of records {0:255}
      11             Terminal or serial-connected line printer, wait for   None
                     modem connect.
      12             Terminal or serial-connected line printer,            None
                     disconnect the modem (that is, hang up).
      13             Issue an SNA CHASE request. SNAX exception            None
                     response mode must be enabled to use operation
                     13.
      17             Terminal or serial-connected line printer, enable     None
                     connection and initiate call to remote DTE in
                     X.25 network.
      20             Disk, purge data (write access is required).          None




             Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                             9 -3
CONTROL Operations



     Table 9-2. CONTROL Operations 2 - 27
      Operation      Description                                          Description of <param>
      21             Disk, allocate or deallocate extents (write access   0: deallocate all extents
                     is required).                                        past the end-of-file extent
                                                                          1: maximum-extents
                                                                          number of extents to
                                                                          allocate for a nonpartitional
                                                                          file (for DP2 disk files
                                                                          only)
                                                                          1:16* number of partitions
                                                                          number of extents to
                                                                          allocate for a partitioned
                                                                          file
      22             Cancel an AM3270 I/O operation.                      None
      24             Magnetic tape, force end-of-volume (EOV).            None
                     Next volume in set is requested and current
                     volume is unloaded.
                     Valid only for ANSI or IBM label tape.
      26             Requests immediate completion of all                 None
                     outstanding I/O requests without loss of data by
                     the recipient of the CONTROL 26 request.
      27             Wait for DP2 disk file write.
                     This operation finishes when a WRITE, WRITEUPDATE, or
                     WRITEUPDATEUNLOCK occurs on a DP2 disk file designated by filenum.
                     Not valid for partitioned files.
                     Do not assume that the file contains any new data when a call to CONTROL 27
                     finishes; assume only that it is time to check the file for new data.
                     CONTROL 27 also finishes when a WRITE or WRITEUPDATE occurs as part
                     of a logical undo of a transaction by the backout process or when a volume
                     goes down.
                     If SETMODE 146 was specified, each write completes only one CONTROL
                     27; otherwise, each write completes all pending CONTROL 27 operations.
                     To ensure that no updates are missed, you should issue a nowait CONTROL 27
                     call on one open to a file, then read data from the file on another open, and
                     finally wait for the CONTROL operation to finish. If CONTROL 27 were
                     executed after reading, a write by another process could occur between the read
                     and the CONTROL operations. The file open that is used for the CONTROL
                     operation should have a syncdepth of 0. Path errors and network errors
                     might indicate successful completion.
                     Refer to the discussion of CONTROL operation 27 in the Guardian
                     Programmer’s Guide.




             Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                             9 -4
10 SET^FILE Operations
 For additional information about the SET^FILE procedure call, refer to the Guardian
 Procedure Calls Reference Manual.

 Table 10-1. SET^FILE Operations That Set Values
                                                      new-value    old-value
  <operation>                                         Parameter    Parameter
  Parameter        Description of Operation           Entered      Entered      State
  (Required)       Requested                          (Optional)   (Optional)   of File
  ASSIGN^          Specifies the block length, in     new-         blocklen     Closed
  BLOCK            bytes, for the file.               blocklen
  BUFLEN or
  ASSIGN^
  BLOCK
  LENGTH
  ASSIGN^          Specifies the file code for the    new-file-    file-code    Closed
  FILECODE         file.                              code
  ASSIGN^          Specifies the open access for      new-open-    open-        Closed
  OPENACCESS       the file. The following literals   access       access
                   are provided for <open-access>:
                   READWRITE^ACCESS (0)
                   READ^ACCESS (1)
                   WRITE^ACCESS (2)
                   Even if WRITE^ACCESS is
                   specified, SIO actually opens
                   the file with
                   READWRITE^ACCESS to
                   facilitate interactive I/O.
  ASSIGN^          Specifies the open exclusion for   new-open-    open-        Closed
  OPEN             the file. The following literals   exclusion    exclusion
  EXCLUSION        are provided for <open-
                   exclusion>:
                   SHARE (0)
                   EXCLUSIVE (1)
                   PROTECTED (3)
  ASSIGN^          Specifies the primary extent       new-pri-     pri-ext-     Closed
  PRIEXT           size (in units of 2048-byte        ext-size     size
  or ASSIGN^       blocks) for the file.
  PRIMARY
  EXTENTSIZE
  ASSIGN^          Specifies the logical record       new-         recordlen    Closed
  RECORDLEN        length (in bytes) for the file.    recordlen
  or               ASSIGN^RECORDLENGTH
  ASSIGN^          gives the default read or write
  RECORD           count. For default values, refer
  LENGTH           to the Guardian Programmer’s
                   Guide.

         Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                         10- 1
SET^FILE Operations



     Table 10-1. SET^FILE Operations That Set Values
                                                             new-value    old-value
       <operation>                                           Parameter    Parameter
       Parameter        Description of Operation             Entered      Entered      State
       (Required)       Requested                            (Optional)   (Optional)   of File
       ASSIGN^          Specifies the secondary extent       new-sec-     sec-ext-     Closed
       SECEXT           size (in units of 2048-byte          ext-size     size
       or               blocks) for the file.
       ASSIGN^
       SECONDARY
       EXTENTSIZE
       INIT^FILEFCB    Specifies that the file FCB be        must be      must be      Closed
                       initialized. This operation is not    omitted      omitted
                       used when the INITIALIZER
                       procedure is called to initialize
                       the FCBs. It is valid only for
                       C-series FCBs. For example:
                       CALL SET^FILE
                       (common^fcb,INIT^
                       FILEFCB);
                       CALL SET^FILE
                       (in^file,INIT^FILEFCB);
       INIT^FILEFCB     Specifies that the file FCB be       must be      must be      Closed
       ^ D00            initialized. This operation is not   omitted      omitted
                        used when the INITIALIZER
                        procedure is called to initialize
                        the FCB. It is valid only for
                        D-series FCBs. For example:
                        CALL SET^FILE
                        (common^fcb,
                        INIT^FILEFCB^D00);
                        CALL SET^FILE (in^file,
                        INIT^FILEFCB^D00);
       SET^ABORT^       Sets or clears abort-on-transfer     new-state    state        Open
       XFERERR          error for the file. If on, and a
                        fatal error occurs during a data-
                        transfer operation (such as a call
                        to any SIO procedure except
                        OPEN^FILE), all files are
                        closed and the process
                        abnormally ends. If off, the file
                        system or SIO procedure error
                        number returns to the caller.




              Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                              10- 2
SET^FILE Operations



     Table 10-1. SET^FILE Operations That Set Values
                                                            new-value    old-value
       <operation>                                          Parameter    Parameter
       Parameter        Description of Operation            Entered      Entered      State
       (Required)       Requested                           (Optional)   (Optional)   of File
       SET^             Sets or clears break hit for the    new-state    state
       BREAKHIT         file. This is used only if the
                        user is handling BREAK
                        independently of the SIO
                        procedures, or if the user has
                        requested BREAK system
                        messages through
                        SET^SYSTEMMESSAGES or
                        SET^SYSTEMMESSAGES
                        MANY.
       SET^             Sets or clears the checksum         new-         fcb-checksum-
       CHECKSUM         word in the FCB. This is useful     checksum-    word
                        after modifying an FCB directly     word
                        (that is, without using the SIO
                        procedures).
       SET^             Sets the physical I/O count, in     new-count    count        Open
       COUNTXFER        bytes, transferred for the file.
       RED              This is used only if nowait I/O
                        is in effect and the user is
                        making the call to AWAITIO
                        for the file. This is the <count-
                        transferred> parameter value
                        returned from AWAITIO.
       SET^CRLF^        Sets or clears carriage             new-state    state        Open
       BREAK            return/line feed (CR/LF) on
                        BREAK for the file. If on, a
                        CR/LF is executed on the
                        terminal when the BREAK key
                        is pressed.
       SET^             Specifies that the following        must be      must be      Open
       EDITREAD^        READ^FILE is to begin at the        omitted      omitted
       REPOSITION       position set in the sequential
                        block buffer (second through
                        fourth words). For example:
                        CALL SET^FILE(EDIT^FCB,
                        SET^EDITREAD^
                        REPOSITION);
                        See discussion of the
                        SET^EDITREAD^
                        REPOSITION operation in the
                        Guardian Programmer’s Guide.




              Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                              10- 3
SET^FILE Operations



     Table 10-1. SET^FILE Operations That Set Values
                                                             new-value    old-value
       <operation>                                           Parameter    Parameter
       Parameter        Description of Operation             Entered      Entered      State
       (Required)       Requested                            (Optional)   (Optional)   of File
       SET^ERROR        Sets file-system error code          new-error    error        Open
                        value for the file. This is used
                        only if nowait I/O is in effect
                        and the user makes the call to
                        AWAITIO for the file. This is
                        the error parameter value
                        returned from FILEINFO.
       SET^             Sets or clears physical I/O          new-state    state        Open
       PHYSIOOUT        outstanding for the file specified
                        by file-fcb. This is used
                        only if nowait I/O is in effect
                        and the user makes the call to
                        AWAITIO for the file.
       SET^PRINT^       Sets or clears print error           new-state    state        Open
       ERR^MSG          message for the file. If on and a
                        fatal error occurs, an error
                        message is displayed on the
                        error file. This is the home
                        terminal unless otherwise
                        specified.
       SET^PROMPT      Sets interactive prompt for the       new-         prompt-      Open
                       file. See the OPEN^FILE               prompt-      char
                       procedure.                            char
       SET^RCVEOF       Sets return end of file (EOF) on     new-state    state        Open
                        process close for $RECEIVE
                        file. This causes an EOF
                        indication to be returned from
                        READ^FILE when the receive
                        open count goes from 1 to 0.
                        The setting for return EOF has
                        no meaning if the user is
                        monitoring open and close
                        messages.
                        If the file is opened with read-
                        only access, the setting defaults
                        to on for return EOF.
       SET^RCV          Sets receive open count for the      new-         receive-     Open
       OPENCNT          $RECEIVE file. This operation        receive-     open-
                        is intended to clear the count of    open-        count
                        opens when an open already           count
                        accepted by the SIO procedures
                        is subsequently rejected by the
                        user. See SET^
                        RCVUSEROPENREPLY.


              Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                              10- 4
SET^FILE Operations



     Table 10-1. SET^FILE Operations That Set Values
                                                           new-value    old-value
       <operation>                                         Parameter    Parameter
       Parameter        Description of Operation           Entered      Entered      State
       (Required)       Requested                          (Optional)   (Optional)   of File
       SET^             Sets user-will-reply for the       new-state    state        Open
       RCVUSER          $RECEIVE file. This is used if
       OPENREPLY        the SIO procedures are to
                        maintain the opener's directory,
                        thereby limiting opens to a
                        single process or a process pair
                        but keeping the option to reject
                        opens.
                        If state is 1, an error of 6
                        returns from a call to
                        READ^FILE when an open
                        message is received and is the
                        only current open by a process
                        or a process pair. If an open is
                        attempted by a process and an
                        open is currently in effect, the
                        open attempt is rejected by the
                        SIO procedures; no return is
                        made from READ^FILE
                        because of the rejected open
                        attempt.
                        If state is 0, a return from
                        READ^FILE is made only
                        when data is received.
                        Note:
                        If open message = 1 is specified
                        to SET^SYSTEMMESSAGES
                        or SET^SYSTEMMESSAGES
                        MANY, the setting of
                        SET^RCVUSEROPENREPLY
                        has no meaning.
                        An error of 6 returns from
                        READ^FILE if an open
                        message is accepted by the SIO
                        procedures.
       SET^READ^        Sets or clears read-trailing-      new-state    state        Open
       TRIM             blank-trim for the file. If on,
                        the count-read parameter
                        does not account for trailing
                        blanks.




              Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                              10- 5
SET^FILE Operations



     Table 10-1. SET^FILE Operations That Set Values
                                                           new-value    old-value
       <operation>                                         Parameter    Parameter
       Parameter        Description of Operation           Entered      Entered      State
       (Required)       Requested                          (Optional)   (Optional)   of File
       SET^SYSTEM       Sets system message reception      new-sys-     sys-msg-     Open
       MESSAGES         for the $RECEIVE file. Setting     msg-mask     mask
                        a bit in the sys-msg-mask
                        indicates that the corresponding
                        message is to pass back to the
                        user. Default action is for the
                        SIO procedures to handle all
                        system messages.
                        sys-msg-mask [0]
                        .<0> = BREAK message
                        .<1> = unused
                        .<2> = processor down message
                        .<3> = processor up message
                        .<4> = unused
                        .<5> = process deletion
                        message if D-series format;
                        STOP message if C-series
                        format
                        .<6> = unused if D-series
                        format;ABEND message if C-
                        series format
                        .<7> = unused
                        .<8> = unused if D-series
                        format;MONITORNET
                        message if C-series format
                        .<9> = uused
                        .<10> = open message
                        .<11> = close message
                        .<12> = CONTROL message
                        .<13> = SETMODE message
                        .<14> = RESETSYNC message
                        .<15> = unused
       SET^SYSTEM       The user replies to the system     new-sys-     sys-msg-     Open
       MESSAGES         messages designated by this        msg-mask     mask
       (continued)      operation by using
                        WRITE^FILE. If no
                        WRITE^FILE is encountered
                        before the next READ^FILE, a
                        reply-error-code = 0 is
                        made automatically. Note that
                        this operation cannot set some
                        of the newer system messages;
                        for these, use
                        SET^SYSTEMMESSAGESM
                        ANY.


              Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                              10- 6
SET^FILE Operations



     Table 10-1. SET^FILE Operations That Set Values
                                                             new-value    old-value
       <operation>                                           Parameter    Parameter
       Parameter        Description of Operation             Entered      Entered      State
       (Required)       Requested                            (Optional)   (Optional)   of File
       SET^TRACE        Sets or clears the traceback         new-state    old-state
       BACK             feature. When traceback is
                        active, the SIO facility appends
                        the caller's P-relative address to
                        all error messages.
       SET^             Sets user flag for the file. The     new-user-    user-        Open
       USERFLAG         user flag is a one-word value in     flag         flag-in-
                        the FCB that the user can                         fcb
                        manipulate to maintain
                        information about the file.
       SET^ WRITE^      Sets or clears write-fold for the    new-state    state
       FOLD             file. If on, write^file operations
                        exceeding the record length
                        cause multiple logical records to
                        be written. If off, write^file
                        operations exceeding the record
                        length are truncated to record-
                        length bytes; no error message
                        or warning is given.
       SET^ WRITE^      Sets or clears write-blank-pad       new-state    state        Open
       PAD              for the file. If on, write^file
                        operations of less than record-
                        length bytes, including the last
                        record if WRITE^FOLD is in
                        effect, are padded with trailing
                        blanks to fill out the logical
                        record.
       SET^ WRITE^      Sets or clears write-trailing-       new-state    state        Open
       TRIM             blank-trim for the file. If on,
                        trailing blanks are trimmed
                        from the output record before
                        being written to the line.




              Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                              10- 7
SET^FILE Operations



     Table 10-2. SET^FILE Operations That Set Addresses
                                                            <new-value>   <old-value>
       <operation>                                          Parameter     Parameter
       Parameter        Description of Operation            Entered       Entered        State
       (Required)       Requested                           (Optional)    (Optional)     of File
       ASSIGN^          Specifies the physical name         @filename     filename       Closed
       FILENAME         of the file to be opened. For                     FOR 12 words
                        example:
                        CALL SET^FILE (in^file,
                        ASSIGN^FILENAME,@in^
                        filename);
       ASSIGN^          Specifies the logical name of       @logical-     @logical-      Closed
       LOGICAL          the file to be opened. The          filename      filename
       FILENAME         logical-filename                                  FOR 4 words
                        parameter must be encoded as
                        follows:
                        Byte NumberContents
                        [0] len
                        [1] through [7] logical-
                        filename
                        len is the length of the
                        logical file name {0:7}.
       SET^DUPFILE      Specifies a duplicate file for      @new-dup-     @dup-          Open
                        the file. This is a file where      file-fcb      file-fcb
                        data read from file-fcb is
                        printed. The default action is
                        no duplicate file. For
                        example:
                        CALL
                        SET^FILE(in^file,SET^DUP
                        FILE, @out^file);
       SET^             Sets error reporting file for all   @new-         @error-
       ERRORFILE        files. Defaults to home             error-        file-fcb
                        terminal. If the error              file-fcb
                        reporting file is not open
                        when needed by the SIO
                        procedures, it is opened for
                        the duration of the message
                        printing and then closed.




              Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                              10- 8
SET^FILE Operations



     Table 10-2. SET^FILE Operations That Set Addresses
                                                          <new-value>   <old-value>
       <operation>                                        Parameter     Parameter
       Parameter        Description of Operation          Entered       Entered       State
       (Required)       Requested                         (Optional)    (Optional)    of File
       SET^             Sets the allowable opener’s       @openers-     @openers-     Open
       OPENERS          processhandle for                 process       process
       PHANDLE          $RECEIVE file. This is used       handle        handle
                        to restrict the openers of this                 FOR 10
                        process to a specified                          words
                        process. A typical example is
                        using the SIO procedures to
                        read the startup message.
                        This operation is valid only
                        for D-series FCBs.
                        Note:
                        If open message = 1 is
                        specified to
                        SET^SYSTEMMESSAGES
                        or
                        SET^SYSTEMMESSAGES
                        MANY, the setting of
                        SET^OPENERSPHANDLE
                        has no meaning.
       SET^OPENERS      Sets the allowable opener’s       @openers-     openers-      Open
       PID              process-id for                    pid           pid
                        $RECEIVE file. This is used                     FOR 4 words
                        to restrict the openers of this
                        process to a specified
                        process. A typical example is
                        using the SIO procedures to
                        read the startup message.
                        This is valid only for C-series
                        FCBs.
                        Note:
                        If open message = 1 is
                        specified to
                        SET^SYSTEMMESSAGES
                        or
                        SET^SYSTEMMESSAGES
                        MANY, the setting of
                        SET^OPENERSPID has no
                        meaning.




              Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                              10- 9
SET^FILE Operations



     Table 10-2. SET^FILE Operations That Set Addresses
                                                        <new-value>    <old-value>
       <operation>                                      Parameter      Parameter
       Parameter        Description of Operation        Entered        Entered       State
       (Required)       Requested                       (Optional)     (Optional)    of File
       SET^SYSTEM       Sets system message             @new-sys-      sys-msg-      Open
       MESSAGES         reception for the $RECEIVE      msg-mask-      mask-
       MANY             file. sys-msg-mask-             word           words
                        words is a four-word mask.
                        Setting a bit in sys-msg-
                        mask-words indicates that
                        the corresponding message is
                        to pass back to the user.
                        Default action is for the SIO
                        procedures to handle all
                        system messages.
       SET^SYSTEM       sys-msg-mask-words[0]
       MESSAGES         .<0:1> = unused
       MANY             .<2> = processor down
       (continued:      message
       word 0)          .<3> = processor up message
                        .<4> = processor used
                        .<5> = process deletion
                        message if D-series format;
                        STOP message if C-series
                        format
                        .<6> = unused if D-series
                        format; ABEND message if
                        C-series format
                        .<7> = unused
                        .<8> = unused if D-series
                        format; MONITORNET
                        message if C-series format
                        .<9> = job creation
                        .<10> = SETTIME message
                        .<11> = power on message
                        .<12> =
                        NEWPROCESSNOWAIT
                        message
                        .<13:15> = unused




              Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                             10 -10
SET^FILE Operations



     Table 10-2. SET^FILE Operations That Set Addresses
                                                        <new-value>    <old-value>
       <operation>                                      Parameter      Parameter
       Parameter        Description of Operation        Entered        Entered       State
       (Required)       Requested                       (Optional)     (Optional)    of File
       SET^SYSTEM       sys-msg-mask-words[1]           @new-sys-      sys-msg-      Open
       MESSAGES         .<0:3> = unused                 msg-mask-      mask-
       MANY             .<4> = BREAK message            word           words
       (continued:      .<5> = unused
       word 1)          .<6> = tme signal message
                        (NonStop II systems only)
                        .<7> = memory lock
                        completion message
                        (NonStop II systems only)
                        .<8> = memory lock failure
                        message (NonStop II systems
                        only)
                        .<9:13> = unused
                        .<14> = open message
                        .<15> = close message
       SET^SYSTEM        sys-msg-mask-
       MESSAGES         words[2]
       MANY              .<0> = CONTROL message
       (continued:      .<1> = SETMODE message
       word 2)          .<2> = RESETSYNC
                        message
                        .<3> = CONTROLBUF
                        message
                        .<4:7> = unused
                        .<8> = device-type inquiry if
                        D-series format; unused if C-
                        series format
                        .<9:15> = unused
       SET^SYSTEM       sys-msg-mask-words[3]           @new-sys-      sys-msg-      Open
       MESSAGES         .<0> = nowait                   msg-mask-      mask-
       MANY             PROCESS_CREATE_                 word           words
       (continued:      completion
       word 3)          .<1> = subordinate name
                        inquiry
                        .<2> = nowait get info by
                        name completion
                        .<3> = nowait
                        FILENAME_FINDNEXT_
                        completion
                        .<4> = loss of communication
                        with node
                        .<5> = establishment of
                        communication with node
                        .<6> = remote processor
                        down
                        .<7> = remote processor up
                        .<8:15> = unused

              Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                             10 -11
SET^FILE Operations




              Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                             10 -12
11 SETMODE Operations
 For additional information about the SETMODE procedure call, refer to the Guardian
 Procedure Calls Reference Manual.

  function     Parameters and Effect
  1            Disk: Set file security
               param1
               <0>          = 1 for program files only, sets accessor's ID to program file's ID
               when program file is run (PROGID option).
               <1>          = 1 sets CLEARONPURGE option to on. This means that all data
               in the file is physically erased from the disk (set to zeros) when the file is
               purged. If this option is not on, the disk space is only logically deallocated on
               a purge; the data is not destroyed, and another user might be able to examine
               the "purged" data when the space is reallocated to another file.
               <4:6>        = ID allowed for reading
               <7:9>        = ID allowed for writing
               <10:12> = ID allowed for execution
               <13:15> = ID allowed for purging
               For each of the fields from <4:6> through <13:15>, the value can be any one
               of the following:
               0 = member local ID
               1 = member of owner's group (local)
               2 = owner (local)
               4 = any network user (local or remote)
               5 = member of owner's community
               6 = local or remote user having same ID as owner
               7 = local super ID (255,255) only
               Refer to the Guardian Programmer’s Guide or the File Utility Program (FUP)
               Reference Manual for an explanation of local and remote users, communities,
               and related topics.
               The param2 parameter is not used with function 1.
               If this SETMODE function is used on a file that is protected by a Safeguard
               disk-file authorization record, and if the user is not logged on as the super ID
               on the system where the file is located, error 199 is returned.
               This function operates only on Guardian objects. If an OSS file is specified,
               file-system error 2 occurs.
  2            Disk: Set file owner ID
               param1
               .<0:7> = group ID
               .<8:15> = member ID
               The param2 parameter is not used with function 2.
               If this SETMODE function is used on a file that is protected by a Safeguard
               disk-file authorization record, and if the user is not logged on as the super ID
               on the system where the file is located, error 199 is returned.


         Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                         11- 1
SETMODE Operations



      function       Parameters and Effect
      3              Disk: Set write verification
                     param1.<15> = 0 verified writes off (default).
                                     = 1 verified writes on.
                     The param2 parameter is used with DP2 disk files only.
                     param2           = 0 change the open option setting of the verify writes
                     option
                                          (default).
                                    = 1 change the file label default value of the verify writes
                                          option.
      4              Disk: Set lock mode
                     param1
                     = 0 normal mode (default): request is suspended when a read or lock is
                     attempted and an established record lock or file lock is encountered.
                     = 1 reject mode: request is rejected with file-system error 73 when a read or
                     lock is attempted and an established record lock or file lock is encountered.
                     No data is returned for the rejected request.
                     = 2 read-through/normal mode: READ or READUPDATE ignores record
                     locks and file locks; encountering a lock does not delay or prevent reading of
                     a record. The locking response of LOCKFILE, LOCKREC, READLOCK,
                     and READUPDATELOCK is the same as in normal mode (mode 0).
                     = 3 read-through/reject mode: READ or READUPDATE ignores record
                     locks and file locks; encountering a lock does not delay or prevent reading of
                     a record. The locking response of LOCKFILE, LOCKREC, READLOCK,
                     and READUPDATELOCK is the same as in reject mode (mode 1).
                     = 6 read-warn/normal mode: READ or READUPDATE returns data without
                     regard to record and file locks; however, encountering a lock causes warning
                     code 9 to be returned with the data. The locking response of LOCKFILE,
                     LOCKREC, READLOCK, and READUPDATELOCK is the same as in
                     normal mode (mode 0).
                     = 7 read-warn/reject mode: READ or READUPDATE returns data without
                     regard to record and file locks; however, encountering a lock causes warning
                     code 9 to be returned with the data. The locking response of LOCKFILE,
                     LOCKREC, READLOCK, and READUPDATELOCK is the same as in reject
                     mode (mode 1).
                     param2 must be 0, if supplied.




             Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                             11- 2
SETMODE Operations



      function       Parameters and Effect
      5              Line printer: Set system automatic perforation skip mode (assumes standard
                     VFU function in channel 2)
                     param1.<15>
                     = 0 off, 66 lines per page
                     = 1 on, 60 lines per page (default)
                     For the 5530 line printer:
                     param1
                     = 0 disable automatic perforation skip.
                     = 1 enable automatic perforation skip (default).
                     The value of param2 is not used with function 5.
      6              Terminal: Set system auto line feed after receipt of carriage return line
                     termination (default mode is configured)
                     param1.<15>
                     = 0 LFTERM line feed from terminal or network (default)
                     = 1 LFSYS system provides line feed after line termination by carriage return
                     param2 sets the number of retries of I/O operations.
      7              Terminal: Set system auto line feed after receipt of carriage return line
                     termination (default mode is configured)
                     param1.<15>
                     = 0 LFTERM line feed from terminal or network (default)
                     = 1 LFSYS system provides line feed after line termination by carriage return
      8              Terminal: Set system transfer mode (default mode is configured)
                     param1.<15>
                     = 0 conversational mode
                     = 1 page mode
                     The param2 parameter sets the number of retries of I/O operations
                     Note: the param2 parameter is used only with 6530 terminals.
      9              Terminal: Set interrupt characters
                     param1
                     .<0:7> = character 1
                     .<8:15> = character 2
                     param2
                     .<0:7> = character 3
                     .<8:15> = character 4
                     (Default for conversational mode is backspace, line cancel, end of file, and
                     line termination. Default for page mode is page termination.) See the
                     discussion of “interrupt characters” in the Guardian Programmer’s Guide.
      10             Terminal: Set parity checking by system (default is configured)
                     param1.<15>
                     = 0 no checking
                     = 1 checking
                     The param2 parameter is not used with function 10.


             Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                             11- 3
SETMODE Operations



      function       Parameters and Effect
      11             Terminal: Set break ownership
                     param1
                     = 0 means BREAK disabled (default setting).
                     = any positive value means enable BREAK.
                     Terminal access mode after BREAK is typed:
                     param2
                     = 0 normal mode (any type file access is permitted)
                     = 1 BREAK mode (only BREAK-type file access is permitted)
                     Refer to the discussion of “Communicating With Terminals” in the Guardian
                     Programmer’s Guide.
      12             Terminal: Set terminal access mode
                     param1.<15>
                     = 0 normal mode (any type file access is permitted)
                     = 1 BREAK mode (only BREAK-type file access is permitted)
                     File access type:
                     param2.<15>
                     = 0 normal access to terminal
                     = 1 BREAK access to terminal
                     Refer to the discussion of “Communicating With Terminals” in the Guardian
                     Programmer’s Guide.
      13             Terminal: Set system read termination on ETX character (default is
                     configured)
                     param1
                     = 0 no termination on ETX
                     = 1 termination on first character after ETX
                     = 3 termination on second character after ETX
                     The param2 parameter is used, with ATP6100 only, to specify the
                     value of the ETX character. No changes occur to the read termination
                     on ETX as specified by param1 if you do not specify an ETX character
                     or if you set param2 to 0 (setting the ETX character to 0 is not
                     allowed).
      14             Terminal: Set system read terminal on interrupt characters (default is
                     configured)
                     param1.<15>
                     = 0 no termination on interrupt characters (that is, transparency mode)
                     = 1 termination on any interrupt character
                     The param2 parameter is not used with function 14.
      15             Terminal: Set retry parameters
      16             Terminal: Set line parameters
      17             Terminal: Set maximum frame size and secondary addresses




             Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                             11- 4
SETMODE Operations



      function       Parameters and Effect
      18             Terminal: Set statistics threshold, flag fill, and window size
      19             Terminal: Set transaction parameters and set extended control field size
      20             Terminal: Set system echo mode (default is configured)
                     param1.<15>
                     = 0 system does not echo characters as read
                     = 1 system echoes characters as read
                     The param2 parameter is not used with function 20.


     Note. SETMODEs 15, 16, 17, 18 and 19 are described in the EnvoyACP/XF Reference
     Manual.




             Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                             11- 5
SETMODE Operations




      <function>     Parameters and Effect
      22             Line printer (subtype 3, 4, 6, and 32) or terminal: Set baud rate
                     param1 =
                     0 baud rate = 50
                     1 baud rate = 75
                     2 baud rate = 110
                     3 baud rate = 134.5
                     4 baud rate = 150
                     5 baud rate = 300
                     6 baud rate = 600
                     7 baud rate = 1200
                     8 baud rate = 1800
                     9 baud rate = 2000
                     10 baud rate = 2400
                     11 baud rate = 3600
                     12 baud rate = 4800
                     13 baud rate = 7200
                     14 baud rate = 9600
                     15 baud rate = 19200
                     16 baud rate = 200
                     17 baud rate = 38400 (5577 printer only)
                     The param2 parameter is not used with function 22, except when
                     specifying split baud rates with the LIU-4 controller (see below).
                     Note:
                     The 5520 line printer supports only the 110, 150, 300, 600, 1200, 2400, 4800,
                     and 9600 baud rates.
                     The 5530 line printer supports only the 75,150, 300, 600, 1200, 2400, 4800,
                     and 9600 baud rates.
                     If no baud rate is specified at SYSGEN, then 9600 baud is used. The default
                     rate is what was specified at SYSGEN.
                     The asynchronous controller supports only the 150, 300, 600, 1200, and 1800
                     baud rates.
                     An ATP6100 line configured on an LIU-4 controller allows an application to
                     set different transmission (TX) and receiving (RX) baud rates with function 22.
                     You have the option of setting split rates by specifying the TX rate in param1
                     and the RX rate in param2. You can set nonsplit rates by the normal method
                     (that is, by specifying values for param1 as listed at the beginning of the
                     description of function 22. The LIU-4 does not support 3600 or 38400 baud
                     rates.)




             Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                             11- 6
SETMODE Operations



      <function>     Parameters and Effect
      22             You can specify split baud rates with the LIU-4 controller as follows. Note that
      (continued)    the values for param1 all have bit 0 set to 1:
                     param1 =
                     128 TX baud rate = 50
                     129 TX baud rate = 75
                     130 TX baud rate = 110
                     131 TX baud rate = 134.5
                     132 TX baud rate = 150
                     133 TX baud rate = 300
                     134 TX baud rate = 600
                     135 TX baud rate = 1200
                     136 TX baud rate = 1800
                     137 TX baud rate = 2000
                     138 TX baud rate = 2400
                     140 TX baud rate = 4800
                     141 TX baud rate = 7200
                     142 TX baud rate = 9600
                     143 TX baud rate = 19200
                     144 TX baud rate = 200

                     param2 =
                     0 RX baud rate = 50
                     1 RX baud rate = 75
                     2 RX baud rate = 110
                     3 RX baud rate = 134.5
                     4 RX baud rate = 150
                     5 RX baud rate = 300
                     6 RX baud rate = 600
                     7 RX baud rate = 1200
                     8 RX baud rate = 1800
                     9 RX baud rate = 2000
                     10 RX baud rate = 2400
                     12 RX baud rate = 4800
                     13 RX baud rate = 7200
                     14 RX baud rate = 9600
                     15 RX baud rate = 19200
                     16 RX baud rate = 200
                     If you specify split baud rates with the LIU-4 controller, the last-params
                     parameter returns the following values:
                     last-params [0] .<0:7>
                     param1 value (TX)
                     .<8:15> param2 value (RX)
                     last-params [1]undefined




             Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                             11- 7
SETMODE Operations



      <function>     Parameters and Effect
      23             Terminal: Set character size
                     param1 =
                     0 character size = 5 bits
                     1 character size = 6 bits
                     2 character size = 7 bits
                     3 character size = 8 bits
                     The param2 parameter is not used with function 23.
      24             Terminal: Set parity generation by system
                     param1 =
                     0 parity = odd
                     1 parity = even
                     2 parity = none
                     The param2 parameter is not used with function 24.
      25             Line printer (subtype 3): Set form length
                     param1 = length of form in lines
                     The param2 parameter is not used with function 25.
      26             Line printer (subtype 3): Set or clear vertical tabs
                     param1
                     = 0 is (line#-1) of where tab is to be set.
                     = -1 clear all tabs (except line 1).
                     Note: A vertical tab stop always exists at line 1 (top of form).
                     The param2 parameter is not used with function 26.
      27             Line printer or terminal: Set system spacing mode
                     param1.<15>
                     = 0 postspace (default setting)
                     = 1 prespace
                     The param2 parameter is not used with function 27.
      28             Line printer or terminal: Reset to configured values
                     param1
                     = 0 (default) resets printer to its configured values
                     = 1 resets only soft parameters
                     = 2 resets only hard parameters
                     The param2 parameter is not used with function 28.
                     For the 5530 line printer, SETMODE 28 resets all the SETMODE parameters
                     back to their SYSGEN values and also reinitializes the printer.
                     Note:
                     SETMODE 29 (set auto answer or control answer mode) is the only
                     SETMODE function not affected by a SETMODE 28.



             Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                             11- 8
SETMODE Operations



      <function>     Parameters and Effect
      29             Line printer (subtype 3, 4, 6, or 32): Set automatic answer mode or control
                     answer mode.
                     param1.<15>
                     = 0 CTRLANSWER
                     = 1 AUTOANSWER (default)
                     The default mode is what was specified at SYSGEN; if no mode is specified at
                     SYSGEN, then AUTOANSWER is used.
                     The param2 parameter is not used with function 29.
                     Note:
                     SETMODE function 29 remains in effect even after the file is closed.
                     SETMODE 29 is the only SETMODE function not affected by a SETMODE
                     28.
                     SETMODE 29 is not reset at the beginning of each new job. Therefore, you
                     should always issue a SETMODE 29 at the beginning of your job to ensure
                     that you are in the desired mode (rather than in the mode left by the previous
                     job).
      30             Allow nowait I/O operations to finish in any order
                     param1
                     = 0 complete operations in the order they were originally requested (default).
                     = 1 complete operations in any order, except that if more than one operation is
                     ready to finish at the time of the AWAITIO[X] call, then complete them in the
                     order they were requested.
                     = 3 complete operations in any order (that is, in the order chosen by the
                     system).
                     The param2 parameter is not used with function 30 and should be zero if
                     supplied.
      31             Set packet mode
                     param1.<0>
                     = 0 ignore param2.
                     = 1 param2 specifies leading packet size.
                     param2
                     = 0 use default packet size for transmission (default).
                     > 0 is size of first outgoing packet in each WRITE or WRITEREAD request.
                     It must be smaller than the configured packet size.




             Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                             11- 9
SETMODE Operations



      <function>     Parameters and Effect
      32             Set X.25 call setup parameters
                     param1
                     .<0> = 0 do not accept charge.
                           = 1 accept charge.
                     .<1> = 0 do not request charge.
                           = 1 request charge.
                     .<2> = 0 is normal outgoing call.
                           = 1 is priority outgoing call.
                     .<8:15>= port number (0-99)
      33             To determine the actual value for port number, refer to specifications on your
                     own network.
                     Seven-track tape drive: Set conversion mode
                     param1
                     = 0      ASCIIBCD (even parity) (default)
                     = 1      BINARY3TO4 (odd parity)
                     = 2      BINARY2TO3 (odd parity)
                     = 3      BINARY1TO1 (odd parity)
      36             Allow requests to be queued on $RECEIVE based on process priority
                     param1
                     .<15> = 0 use first-in-first-out (FIFO) ordering (default).
                           = 1 use process priority ordering.
                     The param2 parameter is not used with function 36.




             Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                            11 -10
SETMODE Operations



      <function>     Parameters and Effect
      37             Line printer (subtype 1, 4, 5, or 6): Get device status
                     The param1 parameter is not used with function 37.
                     The param2 parameter is not used with function 37.
                     last-params = status of device
                     Status values are:
                     last-params for printer (subtype 1 or 5) (only last-params [0] is
                     used)
                     All other bits are undefined.
                     .<5> = DOV, data overrun 0 = no overrun
                                                 1 = overrun occurred
                     .<7> = CLO, connector loop open 0 = not open
                                                           1 = open (device unplugged)
                     .<8> = CID, cable identification 0 = old cable
                                                        1 = new cable
                     .<10> = PMO, paper motion 0 = not moving
                                                     1 = paper moving
                     .<11> = BOF, bottom of form 0 = not at bottom
                                                      1 = at bottom
                     .<12> = TOF, top of form 0 = not at top
                                                 1 = at top
                     .<13> = DPE, device parity error 0 = parity OK
                                                          1 = parity error
                     .<14> = NOL, not on line 0 = on line
                                                 1 = not on line
                     .<15> = NRY, not ready 0 = ready
                                               1 = not ready
                     Note:
                     Ownership, Interrupt Pending, Controller Busy, and Channel Parity errors are
                     not returned in last-params; your application program "sees" them as
                     normal file errors. Also, CID must be checked when PMO, BOF, and TOF are
                     tested, because the old cable version does not return any of these states.




             Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                            11 -11
SETMODE Operations



      <function>     Parameters and Effect
      37             last-params for printer (subtype 4)
      (continued)    last-params [0] = primary status returned from printer:
                     .<9:11> = full status field 0 = partial status
                     1 = full status
                     2 = full status / VFU fault
                     3 = reserved for future use
                     4 = full status / data parity error
                     5 = full status / buffer overflow
                     6 = full status / bail open
                     7 = full status / auxiliary status available
                     .<12> = buffer full 0 = not full
                                             1 = full
                     .<13> = paper out 0 = OK
                                            1 = paper out
                     .<14> = device power on 0 = OK
                                                    1 = POWER ON error
                     .<15> = device not ready 0 = ready
                                                   1 = not ready
                     All other bits are undefined.
                     last-params
                     [1] = auxiliary status word if last-params
                     [0].<9:11> = 7; auxiliary status word is as follows:
                     .<9:13>= auxiliary status
                     0 = no errors this field
                     1 = no shuttle motion
                     2 = character generator absent
                     3 = VFU channel error
                     4-31 = reserved for future use
                     .<14:15> = always 3
                     All other bits are undefined.
                     last-params for printer (subtype 6)
                     last-params
                     [0] contains the primary status
                     [1] contains the auxiliary status




             Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                            11 -12
SETMODE Operations



      <function>     Parameters and Effect
      37             Primary status bits are:
      (continued)    [0].<0:8> = 0 undefined
                     .<9> = 1 reserved
                     .<10:12>
                     = 0 no faults
                     = 1 printer idle
                     = 2 paper out
                     = 3 end of ribbon
                     = 4 data parity error
                     = 5 buffer overflow
                     = 6 cover open
                     = 7 auxiliary status available
                     .<13> = 0 buffer not full
                             = 1 buffer full
                     .<14> = 0 OK
                            = 1 device power on error
                     .<15> = 0 OK
                            = 1 device not ready
                     If primary status last-params [0].<10:12> = 7, auxiliary status word is:
                     [1].<0:7>= undefined
                     .<8:11>= fault display status (most significant hex digit)
                     .<12:15>= fault display status (least significant hex digit)
                     Fault display status summary:
                     Operator Aux Status Aux StatusProblem
                     Display. <8:11>.<12:15>Description
                     None 00 No faults
                     E01 01 Paper out
                     E03 03 Cover open
                     E06 06 End of ribbon
                     E07 07 Break
                     E11 11 Parity error
                     E12 12 Unprintable character
                     E22 22 Carrier loss
                     E23 23 Buffer overflow
                     E30 30 Printwheel motor fault
                     E31 31 Carriage fault
                     E32 32 Software fault
                     E34 34 Hardware fault




             Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                            11 -13
SETMODE Operations



      <function>     Parameters and Effect
      38             Terminal: Set special line-termination mode and character
                     param1
                     =0
                     sets special line-termination mode. The value of param2 is the new line-
                     termination character. The line-termination character is not counted in the
                     length of a read. No system-supplied carriage return or line feed is issued at the
                     end of a read (see note on cursor movement below).
                     =1
                     sets special line-termination mode. The value of param2 is the new line-
                     termination interrupt character. The line-termination character is counted in the
                     length of a read. No system-supplied carriage return or line feed is issued at the
                     end of a read (see note on cursor movement below).
                     =2
                     resets special line-termination mode. The line-termination interrupt character is
                     restored to its configured value. The param2 parameter must be present but
                     is not used.
                     param2 = the new line-termination interrupt character (passed in bits
                     <8:15>) if param1 = 0 or 1.
                     The last-params parameter, if present, returns the current mode in last-
                     params [0] and the current line-termination interrupt character in last-params
                     [1].
                     Note:
                     Although the cursor typically will not move when 0 or 1 is specified for
                     param1, these options do not turn off ECHO. Therefore, if the termination
                     character is one which would normally cause cursor movement (such as an LF
                     or a CR) and ECHO is enabled, cursor movement will occur.


     Note. SETMODEs 40-49 are reserved for the Exchange products. Refer to the Exchange
     reference manuals for details.




             Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                            11 -14
SETMODE Operations




      <function>     Parameters and Effect
      50             Enable/disable 3270 COPY
                     param1=
                     = 0 suppress COPY
                     = 1 allow COPY
      51             Get/set 3270 status
                     param1 status flags mask to set
                     The param2 parameter is not used with function 51.
                     Refer to the Device-Specific Access Methods–AM3270/TR3271 manual for the
                     flags mask information.
      52             Tape drive: Set short write mode
                     param1
                     = 0 allow writes shorter than 24 bytes; a record shorter than 24 bytes is padded
                     with zeros to a length of 24 bytes (default).
                     = 1 disallow writes shorter than 24 bytes.
                     = 2 allow writes shorter than 24 bytes; no padding is done on records shorter
                     than 24 bytes.
                     param2 is not used with function 52.
                     Note:
                     When short writes are disallowed, an attempt to WRITE or WRITEUPDATE a
                     record that is shorter than 24 bytes causes error 21 (bad count) to be issued.
      53             Enable/disable receipt of status
                     param1
                     = 0 disable status receive
                     = 1 enable status receive
                     param2 = the response ID
      54             Return control unit and device assigned to subdevice
                     The param1 parameter is not used with function 54.
                     The param2 parameter is not used with function 54.
                     last-params
                     [0]
                     .<0:7> = 0
                     .<8:15> = subdevice number known by AM3270
                     [1]
                     .<0:7>= standard 3270 control-unit address
                     .<8:15>= standard 3270 device address




             Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                            11 -15
SETMODE Operations



      <function>     Parameters and Effect
      57             Disk: Set serial writes option
                     param1
                     = 0 system automatically selects serial or parallel writes (default).
                     = 1 change the file label default value of the serial writes option.
                     The param2 parameter is used with DP2 disk files only.
                     param2
                     = 0 change the open option setting of the serial writes option (default).
                     = 1 change the file label default value of the serial writes option.
      59             Return count of bytes read
                     param1 = count of actual bytes read
                     param2 = 0
      66             Tape drive: Set density
                     param1= 0800 BPI (NRZI)
                     = 1 1600 BPI (PE)
                     = 2 6250 BPI (GCR)
                     = 3 as indicated by switches on tape drive
                     The param2 parameter is not used with function 66.
      67             AUTODCONNECT for full-duplex modems: Monitor carrier detect or data set
                     ready
                     param1
                     = 0 disable AUTODCONNECT (default setting).
                     = 1 enable AUTODCONNECT.
                     The param2 parameter is not used with function 67.
      68             Line printer (subtype 4): Set horizontal pitch
                     param1
                     = 0 normal print (default)
                     = 1 condensed print
                     = 2 expanded print
                     The param2 parameter is not used with function 68.
      71             Set transmission priority. Transmission authority is used by an Expand process
                     to determine the ordering of messages for transmission on an Expand path.
                     This operation indirectly invokes the network utility process, $ZNUP, on a
                     remote system to get information before the request can be serviced.
                     The param1 parameter is not used with function 71.
                     param2.<0:7>= 0 (reserved)
                     .<8:15>= transmission priority
                     The transmission priority value can range from 0 through 255. A value of 0
                     (the default) causes the processor priority of the process to be used as the
                     transmission authority. A value of 1 is the lowest priority; 255 is the highest
                     priority. Once a path is selected, the Expand process processes the highest-
                     priority message first.

             Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                            11 -16
SETMODE Operations



      <function>     Parameters and Effect
      72             Force system buffering for nowait files
                     param1
                     = 1 force use of intermediate buffer in PFS for read operations. (Nowait write
                     operations always require the data to remain unchanged until completion of the
                     information.
                     = 0 allow the system to make transfers directly from user buffers.
                     The default value for files opened by FILE_OPEN_ is 0; for files opened by
                     OPEN, it is 1.
                     The param2 parameter is not used and its value should be zero if supplied.
      80             ($RECEIVE): Set system message modes
                     param1
                     .<0:12>should be zero.
                     .<13>
                     = 0 disable reception of -38 messages (default).
                     = 1 enable reception of cancellation (-38) messages.
                     .<14>
                     = 0 disallow reception of SETPARAM (-37) messages, returning error 2 to
                     processes attempting SETPARAM calls (default).
                     = 1 allow reception of SETPARAM (-37) messages.
                     .<15>
                     = 0 disallow return of last-param values for SETMODE (-33) messages,
                     returning error 2 to processes attempting to obtain them (default).
                     = 1 allow last-param values to be returned for SETMODE (-33)
                     messages. The extended form of the -33 message will be delivered under this
                     mode.
                     The param2 parameter is not used and should be zero if supplied.
      90             Disk: Set buffered option defaults same as CREATE
                     param1
                     = 0 buffered
                     = 1 write-through
                     param2 is used with DP2 disk files only.
                     param2
                     = 0 change the open option setting of the buffered option (default).
                     = 1 change the file label default value of the buffered option.
                     This function operates only on Guardian objects. If an OSS file is specified,
                     file-system error 2 occurs.




             Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                            11 -17
SETMODE Operations



      <function>     Parameters and Effect
      91             Disk: Set cache and sequential option (Function 91 is not applicable for
                     alternate-key files.)
                     param1
                     = 0 system managed (default).
                     DP2 will detect sequential access; when detected, it will set LRU access to
                     sequential and perform key-sequenced sequential splits.
                     = 1 direct I/O, bypass disk cache.
                     = 2 random access, LRU-chain buffer.
                     = 3 sequential access, reuse buffer. Directs DP2 to set cache.
                     LRU access to sequential and perform key-sequenced sequential splits.
                     The param2 parameter is not used with function 91.
                     Sequential LRU access results in “random” LRU chaining that provides an
                     approximate half-life within the LRU cache chain.
                     Key-sequenced sequential splits attempt to leave the inserted record as the last
                     in the old block, in contrast to a 50/50 split. This helps to ensure a compact
                     key-sequenced structure when multiple sequential records are inserted.
      92             Disk: Set maximum number of extents for a nonpartitioned file. (Function 92 is
                     invalid for audit-trail files and for partitioned non-key-sequenced files.)
                     The param1 parameter specifies the new maximum number of extents value.
                     There is no guarantee of success if you specify a value greater than 500. The
                     default is 16 extents.
                     The param2 parameter is not used with function 92.
                     This function operates only on Guardian objects. If an OSS file is specified,
                     file-system error 2 occurs.
      93             Disk: Set buffer length for an unstructured file
                     param1=new BUFFERSIZE value, must be valid DP2 block size. Valid DP2
                     block sizes are 512,1024, 2048, 4096 bytes (the default is 4096 bytes).
                     The param2 parameter is not used with function 93.
                     This function operates only on Guardian objects. If an OSS file is specified,
                     file-system error 2 occurs.
      94             Disk: Set audit-checkpoint compression option for an Enscribe file.
                     param1
                     = 0 no audit-checkpoint compression (default)
                     = 1 audit-checkpoint compression enabled
                     param2
                     = 0 change the open option setting of the audit-checkpoint compression option
                     (default).
                     = 1 change the file label default value of the audit-checkpoint compression
                     option.




             Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                            11 -18
SETMODE Operations



      <function>     Parameters and Effect
      95             Disk: Flush dirty cache buffers
                     The param1 parameter is not used with function 95.
                     The param2 parameter is not used with function 95.
                     If last-params is specified, SETMODE returns:
                     0 = broken file flag off after dirty cache blocks were written to disk
                     1 = broken file flag on, indicating some part of file is bad, possibly due to
                     failed write of a dirty cache block
      97             License program to use privileged procedures
                     param1
                     = 0 disallow privilege (revoke license)
                     = 1 allow privilege (license)
                     The param2 parameter is not used with function 97.
                     To use this SETMODE function on a Guardian file, the user must be logged on
                     as the super ID (255,255) on the system where the file is located. To use this
                     function on an OSS object, the user must have appropriate privilege; that is,
                     the user must be locally authenticated as the super ID on the system where the
                     target object resides.
      99             TAPEPROCESS error recovery method
                     param1
                     = 0 record level (default)
                     = 1 file level
                     = 2 volume level
                     Once set, the error recovery method remains set until changed or until the
                     application closes TAPEPROCESS.
                     The param2 parameter is not used with function 99.


     Note. SETMODEs 100-109 are reserved for customer use.




             Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                            11 -19
SETMODE Operations




      <function>     Parameters and Effect
      110            Set Shift In/Shift Out (SISO) code extension technique for an individual
                     subdevice
                     Note:
                     SETMODE 110 is supported in AM6520 for CRT protocol when used for 6530
                     terminals, ITI protocol for 6530 terminals, and PRT protocol for 5520 printers.
                     param1
                     = 0 disable SISO (default setting)
                     = 1 enable SISO
                     Theparam2 parameter is not used with function 110.
      112            Session in Between Brackets (BETB) state
                     Places SNAX LU-LU session in BETB state so that either the first speaker or
                     the bidder can bid to open a new bracket.
                     param1
                     = 0 disable
                     = 1 enable placing session in the BETB state
      113            Set screen size
                     param1 = the screen width (40, 66, 80, or 132)
                     param2 = the screen length (25 or 28)
                     The last-params parameter is an integer reference parameter containing
                     two elements:
                     last-params[0]= old param1
                     [1]= old param2
      115            SNA Control Request Notification
                     param1
                     = 0 disable
                     = 1 enable control request notification
                     Users of CRT protocol can receive notification that a CINIT or CTERM
                     request has been sent by the SSCP to the PLU.
      116            Terminal: Establish extended address field for ADCCP (ABM only) combined
                     stations.
                     See the Envoy ACP/XF Reference Manual.




             Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                            11 -20
SETMODE Operations



      <function>     Parameters and Effect
      117            Process files: Set TRANSID forwarding
                     param1
                     = 0 normal mode (default for process subtypes other than 30 and 31): If a
                     transaction identifier is in effect at the time of a write, read, or writeread on the
                     process file, it is sent with the request so that the receiver will operate under
                     the transaction.
                     = 1 suppress mode (default for process subtypes 30 and 31): A transaction
                     identifier is never associated with a message on the process file, whether or not
                     one is in effect for the sending process.
                     The SETMODE action is local to the program that calls SETMODE; no
                     SETMODE message is sent to the destination process. If this SETMODE
                     function is invoked in a process pair, provision should be made to either call
                     CHECKSETMODE or to reexecute the SETMODE call at the time of a
                     takeover.
      119            Tape drive: Set mode
                     param1
                     = 0 set start/stop mode
                     = 1 set streaming mode
                     Theparam2 parameter is not used with function 119.
                     Only the 3209 controller supports both options of SETMODE 119. The 3208
                     and 3211 controllers supports this SETMODE function only when param1 = 0.
                     The 3214 and 3215 controllers support this SETMODE function only when
                     param1 = 1.
      120            Return end-of-tape (EOT) message when writing labeled tapes
                     param1
                     = 0 volume switching is transparent
                     = 1 notify user of volume switch by sending error 150 (EOT). COBOL
                     applications do not receive error 150 (EOT); the COBOL run-time library
                     (RTL) handles this error transparently.
                     Theparam2 parameter is not used with function 120.
      123            Disk: Set the generic lock key length of a key-sequenced file (DP2 only).
                     param1=lock key length. The generic lock key length determines the
                     grouping of records that will share a single lock. This value must be between 0
                     and the key length of the file. If locks are in force at the time of the call, this
                     SETMODE function is rejected with error 73. The key length value applies to
                     all partitions of a file. Alternate keys are not affected. If the lock key length is
                     nonzero and less than the key length of the file, the keys are not affected. If
                     the lock key length is nonzero and less than the key length of the file, generic
                     locking is activated and calls to UNLOCKREC are thus ignored. Generic
                     locking is turned off by giving a lock key length of 0 or equal to the key length
                     of the file (which is equivalent to 0).
                     Theparam2 parameter is not used and should be zero if supplied.
                     Note that when generic locking is activated, any write is rejected with error 73
                     if it attempts to insert a record having the same generic lock key as an existing
                     lock owned by another user, whether for audited or nonaudited files.

             Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                            11 -21
SETMODE Operations



      <function>     Parameters and Effect
      141            DP2 disk file: Enable/disable large transfers
                     param1
                     = 1 enable large transfers
                     = 0 disable large transfers (This is the default value when the file is opened.)
                     The param2 parameter is not used with function 141.
                     Thelast-params parameter [0] contains the previous setting of the large
                     transfer mode flag.
                     Thelast-params parameter [1] if param1 is 1, this contains the value of
                     the file's broken flag after the cache has been flushed. If param1 is 0, this
                     contains a 0.
                     SETMODE 141 is valid only for DP2 disk files. When enabled by a
                     SETMODE 141 (or SETMODENOWAIT 141), a read or write operation can
                     transfer up to 56K bytes of data to a DP2 disk file if the operation is local or
                     over a FOX connection, or up 32K bytes if it is through Expand. Large transfer
                     operations are allowed on remote DP2 files if the DP2 disk process is at release
                     level C00 or higher.
                     If this SETMODE function is waited and any nowait I/O operations are
                     outstanding at the time SETMODE is called, the SETMODE is not done. The
                     condition code is set to CCL and error 27 is returned.
                     When this SETMODE function is issued with param1 set to 1, DP2 flushes
                     and removes all blocks for the file from its cache. This ensures that any
                     updates done by the user before the SETMODE are written to disk.
                     The file must have been opened with the unstructured access option specified,
                     even if the file is unstructured. There is no support for alternate-key files or
                     partitions. Because the file is opened for unstructured access, secondary
                     partitions and alternate-key files are not opened.




             Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                            11 -22
SETMODE Operations



      <function>     Parameters and Effect
      141            If the file is audited and structured, the file must be opened with an access
      (continued)    mode of read-only. The exclusion mode can be shared, protected, or exclusive.
                     If the exclusion mode is shared, updates done by other openers of the file
                     might not be seen by this opener.
                     If the file is audited and unstructured, only read operations can be performed
                     on the file after this SETMODE is issued with param1 set to 1. Write
                     operations must not be issued until the SETMODE is reissued with param1
                     set to 0.
                     If the file is not audited, the file can be opened with any access mode and any
                     exclusion mode. If the exclusion mode is shared, updates done by other
                     openers of the file might not be seen by this opener. To issue write requests
                     after the SETMODE is issued with param1 set to 1, the exclusion mode must
                     be exclusive.
                     Once the large transfer mode is enabled, only the data transfer operations of
                     READX, READUPDATEX, WRITEX, and WRITEUPDATEX are allowed.
                     No record locks are supported. READX and WRITEX use the record address
                     in NEXTREC. READUPDATEX and WRITEUPDATEX use the record
                     address in CURREC. POSITION can be used to set CURREC and NEXTREC.
                     Relative byte addressing is used for positioning.
                     The operation is done nowait if the file is opened for nowait I/O. The operation
                     must then be completed by a call to AWAITIOX. The operation can be
                     canceled by CANCEL or CANCELREQ.
                     With the large transfer mode enabled, data is read or written directly from the
                     user's buffer. The user's buffer is locked in memory until completion of the
                     operation. The data is not moved to or from the PFS. If the I/O is done nowait,
                     the user should not modify or examine the data in the buffer until the I/O has
                     finished. This also applies to other processes sharing the segment containing
                     the buffer. If the I/O is done in a nowait manner and the buffer is in the stack,
                     the buffer must be in the high end of the stack.
                     The record address (in NEXTREC or CURREC) must be on a page boundary
                     (a multiple of 2K bytes) or error 550, “illegal position," will be returned. Note
                     that, as usual, when performing successive READXs without intervening
                     POSITIONs, NEXTREC is incremented by the count actually read. Just before
                     the EOF, the count read will probably not be a multiple of 2K bytes, hence
                     violating the record address constraint for the next READX call. A POSITION
                     before each READX call ensures that the record address meets the page
                     boundary constraint.
                     If -1D positioning is used, the current EOF must be on a page boundary;
                     otherwise, the disk process returns an error. If -1D positioning is used or writes
                     are done that change the EOF, some performance gains are lost. When the EOF
                     is changed, DP2 must do extra checkpoints. To avoid the extra checkpoints,
                     issue a CONTROL 2 to set the EOF to a high value before starting a series of
                     large writes. When the writes are complete, another CONTROL 2 can be
                     issued to set EOF to the correct value.




             Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                            11 -23
SETMODE Operations



      <function>     Parameters and Effect
      141            The length of the transfer cannot be more than 57,344 bytes. The length must
      (continued)    be a multiple of 2K bytes. Although up to 56K bytes are transferred to the disk
                     process in one operation, the actual transfer to the disk might not be 56K bytes
                     at once. The disk process must do the actual data transfer to the disk in smaller
                     pieces if more than one file extent is crossed or the controller is not a 3107 or
                     3108. Also, some Expand connections do not support transfers of more than
                     30K bytes and return an error if a larger transfer is attempted.
                     Large transfer requests are considered repeatable, so no sync ID is passed to
                     the disk process. If the file is opened with a positive sync depth, normal retries
                     occur after path failures.
                     A positive sync depth should not be used with -1D positioning, because writes
                     to the end of a file are not repeatable. If a path failure occurs, determine
                     whether the data was written before the path failure. If the data was not
                     written, issue a retry.
                     Since DP2's cache is bypassed by these operations and the data is read from or
                     written to the disk file directly, records or blocks modified by other openers
                     might not be seen by these requests. The user might see "dirty" data if access
                     mode and exclusion mode are not set carefully.
      142            Select Character Set
                     param1
                     = 1 select IBM PC character set.
                     = 0 select default character set.
                     Theparam2 parameter is not used with function 141. If supplied, it must be 0.
                     For 5512 , 5515/5516, and 5573 printers, the I/O process sends the following
                     ESC sequences to select the character set:
                     ESC(1OUselect IBM PC character set.
                     ESC(1O@select default character set.
                     Note:
                     These printers do not come equipped with the IBM PC character set; it can be
                     installed later. To use this operation, the printer must have the IBM PC
                     character set installed on the printer. If the printer does not have the IBM PC
                     character set installed, the printer ignores the SETMODE 142.




             Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                            11 -24
SETMODE Operations



      <function>     Parameters and Effect
      144            Sets LU character set and double-byte character code
                     Theparam1 parameter must be omitted for function 144.
                     Theparam2 parameter must be omitted for function 144.
                     last-params [0].<0> = 0 no translation
                     =1SNAX does EBCDIC/ASCII translation
                     .<1:7>=IBM device type
                     1=IBM-3277
                     2=not 3277 or 3276
                     3=IBM-3276
                     .<8:15>=value of LU attribute ALLOWEDMIX
                     [1].<0:7>=LU character set
                     0=ASCII (USASCII)
                     9=EBCDIC (IBM EBCDIC)
                     14 =KATAKANA EBCDIC
                     .<8:15>=double-byte character set
                     0=No DBCS
                     2=IBMKANJI
                     3=IBMMIXED
                     5=JEFKANJI
      146            Queue waiters for disk file write
                     param1
                     = 0 disables the effect of param1
                     = 1 causes CONTROL 27 requests to be queued and completed one at a time;
                     otherwise all are completed by the first write.
                     The param2 parameter is not used with function 146.
                     SETMODE 146 remains in effect until the file has no more openers. When
                     there are no more openers, the effect of SETMODE 146 is lost and the next
                     open must repeat this SETMODE function.
      149            Disk: Alternate key insertion locking
                     param1
                     = 0 no automatic locking (default): locking and unlocking during insertion is
                     not automatically performed.
                     = 1 automatic locking: writes of record with alternate keys are locked at the
                     beginning of insertion and unlocked after all associated alternate key record
                     insertions are complete. This prevents interference from programs attempting
                     concurrent update of the same record.
                     The param2 parameter must be zero if supplied.
                     SETMODE 149 is not valid (nor needed) for audited files. For process pairs,
                     the mode needs to be set in the backup by CHECKSETMODE. If the file is a
                     key-sequenced file using the generic locks feature, the lock established by
                     automatic locking might not be released automatically at the end of the write
                     processing.


             Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                            11 -25
SETMODE Operations



      <function>     Parameters and Effect
      152            Disk: Skip cache flushing when closing nonaudited file (C30.00 and later
                     releases only)
                     param1
                     .<15>
                     = 1 for nonaudited disk files, causes the cache not to be flushed when the file
                     is closed unless the close is either for the last open with write access or for the
                     last open with a nonzero sync-depth value.
                     = 0 disables the effect of SETMODE 152 with param1 = 1.
                     The param2 parameter is not used with function 152. If it is supplied, it must
                     be 0.
                     To be effective, SETMODE 152 should be performed for each open of a file.
                     Any open that does not perform SETMODE 152 causes a flush of the cache
                     when it closes the file.
      153            Disk: Variable-length audit compression. (D10.00 and later releases. This
                     function should be avoided if a fallback to a release earlier than D10.00 is
                     possible.) Enable or disable variable-length audit compression for any
                     structured Enscribe file.
                     param1
                     = 1 enables variable-length audit compression.
                     = 0 disables variable-length audit compression.
                     The param2 parameter is not used with function 153. If supplied, it must be
                     0.
                     CAUTION: Since this feature generates undo and redo that cannot be
                     processed correctly by earlier releases of the disk process, a fallback to a
                     release earlier than D10.00 can result in problems.
                     If a fallback to a release earlier than D10.00 is possible, this function should be
                     avoided. If this function is used and a fallback becomes necessary, the
                     following steps should be taken:
                     1) The TMF subsystem should be stopped while the affected volumes are
                     brought up. The TMF subsystem can subsequently be restarted.
                     2) Once the earlier version of the operating system is running, new TMF
                     online dumps should be acquired for any TMF-protected files on which
                     SETMODE function 153 was used if TMF rollforward protection is required.
      162            Override System Compression Default on 5190 Cartridge Tape
                     param1
                     = 1 No data compression
                     = 2 Data compression (DRC)
                     The param2 parameter is not used with function 162.
                     Users of unlabeled tapes who do not want to use the default compression
                     setting can use SETMODE 162 to override the default setting. BACKUP and
                     FUP do not support this operation. This operation is allowed only at the
                     beginning of tape (BOT). For more information about the 5190 Cartridge Tape
                     Subsystem, refer to the 5190 Cartridge Tape Subsystem Manual.


             Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                            11 -26
SETMODE Operations



      <function>     Parameters and Effect
      163            SNAX:Enhanced CDI mode
                     param1
                     = 0 enables normal mode (disables all enhanced CDI support).
                     = 1 enables enhanced CDI mode.
                     = 2 enables special WRITEREAD mode (allows applications to determine the
                     setting of CDI by using the WRITEREAD procedure; using WRITEREAD
                     causes the outbound data buffer to be sent with CDI enabled).
                     The param2 parameter is not used with function 163.
                     A SETMODE 163 call applies only to the opener, not to the device that is
                     opened; another SETMODE 163 call must be made if the file is closed.
                     Enhanced CDI mode is supported only by the SNAX/XF and SNAX/CDF
                     products. For more information about enhanced CDI mode, refer to the
                     SNAX/XF Application Programming Manual and the SNAX/CDF Application
                     Programming Manual.
      165            SNAX:Exception response (ER) mode
                     param1
                     = 0 disables ER mode. The LU sends outbound LU-LU FMD requests in
                     definite response (DR) mode. This is the default value if SCF or SPI has not
                     been used previously to configure ER mode; otherwise, the SCF or SPI
                     configuration value is used.
                     = 1 enables ER mode for applications existing prior to the introduction of ER
                     mode. The LU sends outbound LU-LU FMD requests in ER mode. However,
                     error 122 is sent on a negative response instead of error 951.
                     = 2 enables ER mode for applications using the ER mode features. The LU
                     sends outbound LU-LU FMD requests in ER mode. Error 951 is sent on a
                     negative response.
                     The param2 parameter is not used with function 165.
                     The last-params [0] parameter contains the previous value of param1.
                     The last-params [1] parameter contains the number of outbound requests
                     required per device before an ER mode sync point is automatically generated
                     on behalf of the user.
                     ER mode is supported only by the SNAX/XF product. Specifying this function
                     for SNALU causes an error 2 (invalid operation) to be returned. Passing a
                     value other than one of those listed above causes an error 590 (invalid
                     parameter value) to be returned. A SETMODE 165 call applies only to the
                     opener, not to the device that is opened; another SETMODE 165 call must be
                     made if the file is closed.
                     For more information about ER mode, refer to the SNAX/XF Application
                     Programming Manual.




             Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                            11 -27
SETMODE Operations



      <function>     Parameters and Effect
      260            Printer: Enable PostScript printing
                     param1
                     = 1 The FASTP print process sends the PCL command to switch the printer to
                     PostScript mode. At the end of the job and before the next job prints, the
                     printer is returned to PCL mode.
                     = 0 The FASTP print process sends the PCL command to switch the printer
                     back to PCL mode.
                     The param2 parameter is not used with function 260.
                     Function 260 applies only to 5577 printers. When PostScript mode is in effect,
                     SETMODE 142 and CONTROL 1 are ignored and FASTP inhibits the sending
                     of other PCL sequences such as page eject and job offset.
                     For programming information about SETMODE function 260, refer to the
                     Guardian Programmer’s Guide.




             Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                            11 -28
12 Completion Codes
 For a more detailed description of the completion codes, refer to the Guardian
 Procedure Calls Reference Manual.

  Completion
  Code         Definition
  0            Normal, voluntary termination with no errors.
  1            Normal, voluntary termination with WARNING diagnostics.
  2            Abnormal, voluntary termination with FATAL errors or diagnostics.
  3            Abnormal, voluntary, but premature termination with FATAL errors or
               diagnostics.
  4            A process associated with a RUN statement never started.
  5            Process calls PROCESS_STOP_ (with abnormal termination specified) or
               ABEND on itself.
  6            PROCESS_STOP_, STOP, or ABEND was called to delete a process by an
               external, but authorized, process.
  7            Restart this job.
  8            Code 8 is the same as code 1 (normal termination), except that you must
               examine the listing file to determine whether the results are acceptable.
  9            A OSS kill() or raise() function generated a signal that stopped the
               process.

 The following completion codes are reserved for Tandem use:

  Completion
  Code       Definition
  -1           A trap was detected.
  -2           A process terminated itself but the operating system has a resource problem
               and cannot pass along the requested completion code and the associated
               termination information.
  -3           This code is returned by the system when a process terminating itself passed
               bad parameters to PROCESS_STOP_, STOP, or ABEND.
  -4           This code is returned by the system when a processor failure caused the name
               of a process to be deleted (that is, the only process running under that name
               was in the processor that failed).
  -5           A communications or resource failure occurred during the execution of one of
               the functions in the OSS exec or tdm_exec sets of functions; or an
               initialization failure of the new process occurred when it was too late for the
               exec or tdm-exec function to return an error to the caller.
  -6           An OSS process terminated when it caused a hardware exception.



         Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                         12- 1
Completion Codes



       Completion
       Code       Definition
       -7           An OSS process terminated as a result of a corrupted stack frame or register
                    state.
       -8           An OSS process terminated because of insufficient user stack space for signal
                    recovery.
       -9           An OSS process terminated because of insufficient PRIV stack space for
                    signal recovery.
       -10          An OSS process terminated because it was unable to obtain resources for
                    signal delivery.
       -11          An OSS process terminated because it attempted to resume from a
                    nonresumable signal.
       -12          One of the functions in the OSS exec or tdm_exec sets of functions executed
                    successfully.
       -13          The OSS open() or dup() function performed by the PROCESS_SPAWN_
                    procedure failed.




              Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                              12- 2
13 Traps
 For a more detailed description of the traps, refer to the Guardian Procedure Errors and
 Messages Manual.

  Trap Number          Signal Name              Trap Description
  0 (%0)               SIGSEGV                  Illegal address reference
  1 (%1)               SIGILL                   Instruction failure
  2 (%2)               SIGFPE                   Arithmetic overflow
  3 (%3)               SIGSTK                   Stack overflow
  4 (%4)               SIGTIMEOUT               Process loop-timer timeout
  5 (%5)               SIGLIMIT                 Call from process with PIN greater than 255
  11 (%13)             SIGMEMMGR                Memory manager read error
  12 (%14)             SIGNOMEM                 No memory available
  13 (%15)             SIGMEMERR                Uncorrectable memory error




           Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                           13- 1
Traps




        Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                        13- 2
14 Interprocess Messages
 Interprocess Command Interpreter Messages
 For a complete description of the command interpreter interprocess messages, refer to
 the Guardian Programmer’s Guide. Unless otherwise specified, file name are in internal
 (expanded) format. Note that the user ID of a user who is logged off is 0 and the user ID
 of the null user (0.0) is 0.

 -1 STARTUP

  STRUCT ci^startup;
  BEGIN                                 ! word
  INT msgcode;                          ! [0] -1
  STRUCT default;
  BEGIN
  INT volume [0:3];                     ! [1] $default volume name
  INT subvol [0:3];                     !     default subvolume name
  END;
  STRUCT infile;
  BEGIN
  INT volume [0:3];                     ! [9] IN parameter of the
  INT subvol [0:3];                     !     RUN command
  INT dname [0:3];
  END;
  STRUCT outfile;
  BEGIN
  INT volume [0:3];                     ! [21] OUT parameter of the
  INT subvol [0:3];                     !      RUN command
  INT dname [0:3];
  END;
  STRING param [0:n-1];                  ! [33] parameter string for
                                         !      the RUN command
                                         !      n = ( count-read-66 )
  END;




         Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                         14- 1
Interprocess Messages



      -2 ASSIGN

       STRUCT ci^assign;
       BEGIN                                  !   word
       INT msg^code;                          !   [0] -2
       STRUCT logicalunit;                    !       target program name
       BEGIN                                  !        target file specifier
       STRING prognamelen;                    !   [1] program name byte length
       STRING progname[0:30];                 !       program name blank filled
       STRING filenamelen;                    !   [17] file name byte length
       STRING filename[0:30];                 !         file name blank filled
       END;
       INT(32) fieldmask;                     ! [33] parameter bit mask
                                              !      if <bit> = 1 then
                                              !      parameter was entered
                                              !      <0> = file-name
                                              !      <1> = pri-extent-size
                                              !      <2> = sec-extent-size
                                              !      <3> = file-code
                                              !      <4> = exclusion-spec
                                              !      <5> = access-spec
                                              !      <6> = record-size
                                              !      <7> = block-size
       STRUCT physicalunit;                   !      file name assigned
       BEGIN                                  !      to target file name
       INT volume [0:3];                      ! [35] volume name
       INT subvol [0:3];                      ! [39] subvolume name
       END;
       INT primaryextent;                     !   [47] pri-extent-size
       INT secondaryextent;                   !   [48] sec-extent-size
       INT filecode;                          !   [49] file-code
       INT exclusionspec;                     !   [50] %0000 = SHARED             }
                                              !      %0020 = EXCLUSIVE        }   flag
                                              !      %0060 = PROTECTED        }   param
       INT accessspec;                        !   [51] %0000 = I/O            }   of
                                              !        %2000 = INPUT          }   OPEN
                                              !        %4000 = OUTPUT         }
       INT recordsize;                        !   [52] record-size
       INT blocksize;                         !   [53] block-size
       END;




               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               14- 2
Interprocess Messages



      -3 PARAM

       STRUCT ci^param;
       BEGIN
       INT msg^code;              ! [0] -3
       INT numparams;             ! [1] number of parameters
       STRING parameters [0:1023] ! [2] parameters
       END;

      The field “parameters” in the above message format is composed of “numparams”
      records of the following form (offsets are given in bytes):

       param[0]                                = length n, in bytes, of parameter-name
       param[1] for n                          = parameter-name
       param[n+1]                              = length v, in bytes, of parameter-value
       param[n+2] for v                        = parameter-value

      -20 WAKEUP

       STRUCT wakeup^msg;
       BEGIN
       INT msgcode;                           ! -20
       END;

      -21 DISPLAY

       STRUCT display^msg;
       BEGIN
       INT msgcode;                           ! -21
       STRING text [0:n-1];                   ! n <= 132.
       END;

      -50 LOGON

       STRUCT logon^msg;
       BEGIN
       INT msgcode;                           !   [0] -50
       INT userid;                            !   [1] user’s logon ID
       INT cipri;                             !   [2] TACL execution priority
       INT ciinfile [0:11];                   !   [3] TACL input file
       INT cioutfile [0:11];                  !   [15] TACL output file
       END;



               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               14- 3
Interprocess Messages



      -51 LOGOFF

       STRUCT logoff^msg;
       BEGIN
       INT msgcode;                           !   [0] -51
       INT userid;                            !   [1] user’s logon ID
       INT cipri;                             !   [2] TACL execution priority
       INT ciinfile [0:11];                   !   [3] TACL input file
       INT cioutfile [0:11];                  !   [15] TACL output file
       END;

      -52 RUN

       STRUCT processcreation^msg;
       BEGIN
       INT msgcode;                           !   [0] -52
       INT userid;                            !   [1] user’s logon ID
       INT cipri;                             !   [2] TACL execution priority
       INT ciinfile [0:11];                   !   [3] TACL input file
       INT cioutfile [0:11];                  !   [15] TACL output file
       INT progname [0:11];                   !   [27] internal format
                                              !        program file name
       INT priority;                          !   [39] PRI parameter
                                              !        default: 0
       INT processor;                         !   [40] CPU parameter
                                              !        default: 0
       INT proginfile        [0:11];          !   [41] IN parameter file name
                                              !        default:TACL input file
       INT progoutfile [0:11];                !   [53] OUT parameter file name
                                              !        default:TACL input file
       INT proglibfile [0:11];                !   [65] LIB parameter
                                              !        default: blanks
       INT progswapfile [0:11];               !   [77] SWAP parameter
                                              !        default: blanks
       END;

      -53 ILLEGAL LOGON

       STRUCT illegal^logon^msg;
       BEGIN
       INT msgcode;                           !   [0] -53
       INT userid;                            !   [1] user’s illegal logon ID
       INT cipri;                             !   [2] TACL execution priority
       INT ciinfile [0:11];                   !   [3] TACL input file
       INT cioutfile [0:11];                  !   [15] TACL output file
       STRING [0:n];                          !   [27] illegal logon string
                                              !        n<= 132 bytes
       END;


               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               14- 4
Interprocess Messages



      -54 ADD USER

       STRUCT adduser^msg;
       BEGIN
       INT msgcode;                           !   [0] -54
       INT userid;                            !   [1] user’s logon ID
       INT cipri;                             !   [2] TACL execution priority
       INT ciinfile [0:11];                   !   [3] TACL input file
       INT cioutfile [0:11];                  !   [15] TACL output file
       INT groupname [0:3];                   !   [27] new user group name
       INT username [0:3];                    !   [31] new user user name
       INT group^id;                          !   [35] new user group number
       INT user^id;                           !   [36] new user user number
       END;

      -55 DELETE USER

       STRUCT deluser^msg;
       BEGIN
       INT msgcode;                           !   [0] -55
       INT userid;                            !   [1] user’s logon ID
       INT cipri;                             !   [2] TACL execution priority
       INT ciinfile [0:11];                   !   [3] TACL input file
       INT cioutfile [0:11];                  !   [15] TACL output file
       INT groupname [0:3];                   !   [27] deleted user group
       number
       INT username [0:3];                    ! [31] deleted user group name
       END;

      -56 ALTER PRIORITY

       STRUCT altpri^msg;
       BEGIN
       INT msgcode;                           !   [0] -56
       INT userid;                            !   [1] user’s logon ID
       INT cipri;                             !   [2] TACL execution priority
       INT ciinfile [0:11];                   !   [3] TACL input file
       INT cioutfile [0:11];                  !   [15] TACL output file
       INT crtpid    [0:3];                   !   [27] process ID of process
                                             !        to be altered
       INT progname        [0:11];            !   [31] file name of process
                                             !        to be altered
       INT priority;                          !   [43] the new priority
       INT phandle;                           !   [44] process phandle of
                                             !        process to be altered
       END;




               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               14- 5
Interprocess Messages



      -57 PASSWORD

       STRUCT password^msg;
       BEGIN
       INT msgcode;                           !   [0] -57
       INT userid;                            !   [1] user’s logon ID
       INT cipri;                             !   [2] TACL execution priority
       INT ciinfile [0:11];                   !   [3] TACL input file
       INT cioutfile [0:11];                  !   [15] TACL output file
       END;

      -58 REMOTE PASSWORD

       STRUCT remotepassword^msg;
       BEGIN
       INT msgcode;                           !   [0] -58
       INT userid;                            !   [1] user’s logon ID
       INT cipri;                             !   [2] TACL execution priority
       INT ciinfile [0:11];                   !   [3] TACL input file
       INT cioutfile [0:11];                  !   [15] TACL output file
       INT sysname [0:3];                     !   [27] remote password for
                                             !        this system
       END;

      -59 PRELOGON

       STRUCT prelogon^msg;
       BEGIN
       INT msgcode;                           !   [0] -59
       INT userid;                            !   [1] user’s logon ID
       INT cipri;                             !   [2] TACL execution priority
       INT ciinfile [0:11];                   !   [3] TACL input file
       INT cioutfile [0:11];                  !   [15] TACL output file
       INT loggedon;                          !   [27] 0: TACL logged off
                                             !        >0 TACL logged on
       INT username [0:7];                    !   [28] user’s attempted
                                             !        logon ID
       END


      Note. A logon message is sent to $CMON before VERIFYUSER or USER_AUTHENTICATE_
      is performed.




               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               14- 6
Interprocess Messages



      -60 CONFIGURATION

       STRUCT config^msg;
       BEGIN
       INT msgcode;                           !   [0] -60
       INT userid;                            !   [1] user’s logon ID
       INT cipri;                             !   [2] TACL execution priority
       INT ciinfile [0:11];                   !   [3] TACL input file
       INT cioutfile [0:11];                  !   [15] TACL output file
       END;




               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               14- 7
Interprocess Messages



      Interprocess System Messages
      For a complete description of the interprocess messages, refer to the Guardian
      Procedure Errors and Messages Manual.

      -2 CPU DOWN

       Word                                         Description
       sysmsg[0]                                    -2
       sysmsg[1]                                    processor number

      -3 CPU UP

       Word                                         Description
       sysmsg[0]                                    -3
       sysmsg[1] for 4                              processor number

      -10 SETTIME

       Word                Description
       sysmsg[0]           -10
       sysmsg[1]           processor number
       sysmsg[2] for 4     Signed change in microseconds (FIXED integer)
       sysmsg[6]           Reason code
                           0 = Initial setting (Greenwich mean time [GMT] and local
                                civil time [LCT] change)
                           1 = Subsequent adjustment (GMT and LCT time change)
                           2 = Daylight-saving time transition (LCT time change)

      -11 POWER ON

       Word                         Description
       sysmsg[0]                    -11
       sysmsg[1]                    processor number

      -13 SYSTEM MESSAGE BUFFER OVERRUN

       Word                         Description
       sysmsg[0]                    -13


               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               14- 8
Interprocess Messages



      -21 3270 DEVICE STATUS RECEIVED

       Word             Description
       sysmsg[0]        -21
       sysmsg[1]        Response ID
       sysmsg[2]        Actual TR3271 status bytes, in which the sense byte is <0:7> and the status
                        byte is <8:15>
       sysmsg[3]        Translation of the device status to status bits; the application might pass this
                        word directly to TR3271 by way of SETMODE 51 to post the status on a
                        TR3271 subdevice.

      -22 ELAPSED TIME TIMEOUT

       Word                             Description
       sysmsg[0]                        -22
       sysmsg[1]                        Parameter 1 supplied to SIGNALTIMEOUT (0 if none)
       sysmsg[2] for 2                  Parameter 2 supplied to SIGNALTIMEOUT (0D if none)

      -23 MEMORY LOCK COMPLETION

       Word                             Description
       sysmsg[0]                        -23
       sysmsg[1]                        Parameter 1 supplied to LOCKMEMORY
       sysmsg[2] for 2                  Parameter 2 supplied to LOCKMEMORY (if none, OD)

      -24 MEMORY LOCK FAILURE

       Word                             Description
       sysmsg[0]                        -24
       sysmsg[1]                        Parameter 1 supplied to LOCKMEMORY (if none, 0)
       sysmsg[2] for 2                  Parameter 2 supplied to LOCKMEMORY (if none, 0D)

      -26 PROCESS TIME TIMEOUT

       Word                   Description
       sysmsg[0]              -26
       sysmsg[1]              Parameter 1 supplied to SIGNALPROCESSTIMEOUT (0 if none)
       sysmsg[2] for 2        Parameter 2 supplied to SIGNALPROCESSTIMEOUT (0D if none)

               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               14- 9
Interprocess Messages



      -32 PROCESS CONTROL

       Word                         Description
       sysmsg[0]                    -32
       sysmsg[1]                    Operation for CONTROL
       sysmsg[2]                    Operation parameter for CONTROL

      -33 PROCESS SETMODE

       Word                         Description
       sysmsg[0]                    -33
       sysmsg[1]                    Function for SETMODE or SETMODENOWAIT
       sysmsg[2]                    Function parameter 1 for SETMODE or SETMODENOWAIT
       sysmsg[3]                    Function parameter 2 for SETMODE or SETMODENOWAIT

      If the receiving process can handle requests for last parameter information (by setting
      param1.<15> in a SETMODE 80 call), the flags word is included:

       Word                         Description
       sysmsg[4]                    Flags word:
                                    .<13> 1 if parameter 1 was supplied for SETMODE
                                    .<14> 1 if parameter 2 was supplied for SETMODE
                                    .<15> 1 if last-params was supplied for SETMODE

      -34 PROCESS RESETSYNC

       Word                         Description
       sysmsg[0]                    -34

      -35 PROCESS CONTROLBUF

       Word                         Description
       sysmsg[0]                    -35
       sysmsg[1]                    Operation parameter for CONTROLBUF
       sysmsg[2]                    Length of buffer data for CONTROLBUF in bytes
       sysmsg[3] for n              Buffer data of length sysmsg[2] for CONTROLBUF




               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                              14 -10
Interprocess Messages



      -37 PROCESS SETPARAM

       Word                         Description
       sysmsg[0]                    -37
       sysmsg[1]                    Function parameter for SETPARAM
       sysmsg[2]                    Flags word:
                                    .<14> 1 if parameter array was supplied
                                    .<15> 1 if parameter array was returned
       sysmsg[3]                    Length of parameter array in bytes
       sysmsg[4:n]                  Parameter array of length sysmsg[3]

      -38 QUEUED MESSAGE CANCELLATION

       Word                         Description
       sysmsg[0]                    -38
       sysmsg[1]                    Message tag of canceled message

      -41 NOWAIT DEVICEINFO2 COMPLETION

       Word                         Description
       sysmsg[0]                    -41
       sysmsg[1:2]                  Tag value from tag-or-timeout parameter
       sysmsg[3]                    File-system error code
       sysmsg[4]                    Devtype value
       sysmsg[5]                    Physical-recordlen value
       sysmsg[6]                    Diskprocess-version value

      -100 REMOTE CPU DOWN

       Word                         Description
       sysmsg[0]                    -100
       sysmsg[1] for 2              Node number
       sysmsg[3]                    processor number
       sysmsg[4]                    Length of node name, in bytes
       sysmsg[5] for 3              Reserved
       sysmsg[8] for n              Node name (including the backslash “”) of length sysmsg[4]



               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                              14 -11
Interprocess Messages



      -101 PROCESS DELETION

       Word                  Description
       sysmsg[0]             -101
       sysmsg[1] for 10      Process phandle of terminated process
       sysmsg[11] for 4      Process processor time in microseconds (a FIXED value)
       sysmsg[15]            Process job ID; 0 if the process is not part of a job
       sysmsg[16]            Completion code
       sysmsg[17]            Termination information (0 if none supplied)
       sysmsg[18] for 4      SPI subsystem organization name
       sysmsg[22]            SPI subsystem number
       sysmsg[23]            SPI subsystem version
       sysmsg[24] for 10     Process phandle of external process causing termination; null if none
       sysmsg[34]            Length of termination text in bytes
       sysmsg[35]            Offset (from beginning of message) of process descriptor of
                             terminated named process (pair) in bytes
       sysmsg[36]            Length of process descriptor of terminated named process or process
                             pair in bytes (0 if no text)
       sysmsg[37].<0:13>     Reserved
       sysmsg[37].<14>       OSS system type: 1 if terminated process was an OSS process, 0 if
                             terminated process was a Guardian process
       sysmsg[37].<15>       Abend: termination caused by ABEND if 1, STOP if 0
       sysmsg[38] for 2      OSS process ID
       sysmsg[40]            Reserved
       sysmsg[41] for n      Termination text of length sysmsg[34] (80-byte limit).
       sysmsg[ ] for n       Process descriptor of terminated named process or process pair of
                             length sysmsg[36]

      -102 NOWAIT PROCESS_CREATE_ COMPLETION

       Word                          Description
       sysmsg[0]                     -102
       sysmsg[1] for 2               Nowait-tag supplied to PROCESS_CREATE_
       sysmsg[3] for 10              Process phandle of new process
       sysmsg[13]                    Error
       sysmsg[14]                    Error-detail



               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                              14 -12
Interprocess Messages



       Word                          Description
       sysmsg[15]                    Length of process descriptor of new process in bytes
       sysmsg[16] for 4              Reserved
       sysmsg[20] for n              Process descriptor of new process of length sysmsg[15]

      -103 PROCESS OPEN

       Word               Description
       sysmsg[0]          -103
       sysmsg[1]          Access mode (access FILE_OPEN_ parameter)
       sysmsg[2]          Exclusion mode (exclusion FILE_OPEN_ parameter)
       sysmsg[3]          Nowait depth (from the nowait FILE_OPEN_ parameter)
       sysmsg[4]          Sync depth (sync-or-receive-depth FILE_OPEN_ parameter)
       sysmsg[5]          Open options (from the options FILE_OPEN_ parameter)
       sysmsg[6]          User ID of opener (process access ID)
       sysmsg[7]          Miscellaneous:
                          <15> backup open: this is an open by a backup
                          <14> the opener is on a different node from the receiver.
                          <13> the opener’s user ID has not been verified locally (in the receiver’s
                          node0); in any case it will have passed a remote password check
                          <0:12> currently undefined; subject to change
       sysmsg[8] for 10   Backup open: contains process phandle of primary process Normal
                          open: null process phandle
       sysmsg[18]         Length of qualifier name in bytes
       sysmsg[19]         Offset in bytes from the beginning of the message to the beginning of the
                          opener process name
       sysmsg[20]         Length of the opener process name in bytes
       sysmsg[21]         For a backup open, the file number used by the primary. It is typically,
                          but not always, the same as the backup. Unlike the old open message,
                          this value is never negative.
       sysmsg[22]         Creator access ID of the opener. Unlike the process access ID given
                          earlier in the message, this ID is not verified by remote password
                          checking.
       sysmsg[23]         Offset from the beginning of the message to the beginning of the opener
                          home terminal name in bytes
       sysmsg[24]         Length of the opener home terminal name in bytes
       sysmsg[25] for 5   Reserved




               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                              14 -13
Interprocess Messages



       Word               Description
       sysmsg[30] for n   The qualifier portion of the name used to open the process, in external
                          form (for example, “#PORT2.CTL”). The length of this item is in
                          sysmsg[18]. It is zero length if no qualifier was given.
       sysmsg[ ] for n    For a named opener, this is the process name in external process
                          descriptor form (system, name, and sequence number). If the opening
                          process is unnamed, the length is zero. In either case, the opener’s
                          process handle is available from FILE_GETRECEIVEINFO_. Begins at
                          offset sysmsg[19] with length sysmsg[20].
       sysmsg[ ] for n    Opener’s home terminal name in external format. Begins at offset
                          sysmsg[23] with length sysmsg[24].

      -104 PROCESS CLOSE

       Word                          Description
       sysmsg[0]                     -104
       sysmsg[1]                     Tape disposition parameter for FILECLOSE_

      -105 BREAK ON DEVICE

       Word               Description
       sysmsg[0]          -105
       sysmsg[1]          File number of the receiver’s open file of the terminal that indicated
                          break (or -1 if unavailable). Before the D00.00 release, this is the file
                          number to that device (or, if there is more than one, it can be the number
                          of any of the files). The device must be open.
       sysmsg[2] for 2    Break tag value specified with SETPARAM

      -106 DEVICE TYPE INQUIRY

       Word               Description
       sysmsg[0]          -106
       sysmsg[1] for 3    Reserved
       sysmsg[4]          Length of the qualifier part of the file name being inquired about in bytes
                          (zero if none given)
       sysmsg[5] for n    Qualifier part of the file name being inquired about, in external format,
                          of length sysmsg[4]




               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                              14 -14
Interprocess Messages



      -107 SUBORDINATE NAME INQUIRY

       Word               Description
       sysmsg[0]          -107
       sysmsg[1]          Flags:
                          .<15> Skip if same; if set and the start name given below exists, skip it
                          and return the following name. If equal to 0, return the start name if it
                          exists.
                          .<0:14> Reserved
       sysmsg[2]          Length of the start name in bytes (zero if no start name)
       sysmsg[3]          Offset from the beginning of the message to the beginning of the name
                          pattern in bytes
       sysmsg[4]          Length of the name pattern in bytes
       sysmsg[5] for 3    Reserved
       sysmsg[8] for n    Start name: the qualifier part of the file name, in external format, at
                          which to start searching for a name for sysmsg[2].
       sysmsg[ ] for n    Name pattern: the qualifier part of the pattern for which a name is to be
                          returned at offset sysmsg[3] and length sysmsg[4]

      -108 NOWAIT FILE_GETINFOBYNAME_ COMPLETION

       Word               Description
       sysmsg[0]          -108
       sysmsg[1] for 2    Tag value from the timeout-or-tag parameter to
                          FILE_GETINFOBYNAME_
       sysmsg[3]          File-system error code for the request
       sysmsg[4] for 5    Type information (device type, and so on) having the same layout as
                          described for the typeinfo parameter of FILE_GETINFOBYNAME_
       sysmsg[9]          Physical record length
       sysmsg[10]         Flag value from the flags parameter to FILE_GETINFOBYNAME_:
                          .<0:14> Currently undefined; subject to change
                          .<15> 0 signifies a Guardian file, 1 signifies an OSS file

      -109 NOWAIT FILENAME_FINDNEXT_ COMPLETION

       Word                 Description
       sysmsg[0]            -109
       sysmsg[1]            Search ID for the request
       sysmsg[2]            The file-system error code for the request



               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                              14 -15
Interprocess Messages



       Word                 Description
       sysmsg[3] for 5      Information (device type, and so on) having the same layout as that of
                            the entityinfo parameter of FILENAME_FINDNEXT_. If
                            sysmsg[2] <> 0, the value of this field is undefined.
       sysmsg[8]            Length of the returned name in bytes (zero if none present because of
                            an error)
       sysmsg[9] for 2      Tag parameter from FILENAME_FINDNEXT_
       sysmsg[11] for 3     Reserved
       sysmsg[14] for n     Returned name, in external form of length sysmsg[8]

      -110 LOSS OF COMMUNICATION WITH NETWORK NODE

       Word                         Description
       sysmsg[0]                    -110
       sysmsg[1] for 3              Reserved
       sysmsg[4] for 2              Node identifier
       sysmsg[6]                    Length of node name in bytes
       sysmsg[7] for n              Node name (including the backslash “”)

      -111 ESTABLISHMENT OF COMMUNICATION WITH
      NETWORK NODE

       Word                         Description
       sysmsg[0]                    -111
       sysmsg[1] for 3              Reserved
       sysmsg[4] for 2              Node identifier
       sysmsg[6]                    Length of node name in bytes
       sysmsg[7] for n              Node name (including the backslash “”)

      -112 JOB PROCESS CREATION

       Word                         Description
       sysmsg[0]                    -112
       sysmsg[1]                    Job ID
       sysmsg[2] for 10             Process handle of the newly created process




               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                              14 -16
Interprocess Messages



      -113 REMOTE CPU UP

       Word                          Description
       sysmsg[0]                     -113
       sysmsg[1] for 2               Node identifier
       sysmsg[3]                     processor number
       sysmsg[4]                     Length of node name in bytes
       sysmsg[5] for 3               Reserved
       sysmsg[8] for n               Node name (including the backslash “”)

      -141 PROCESS SPAWN

       Word                          Description
       sysmsg[0]                     -141
       sysmsg[1] for 13              Reserved
       sysmsg[14] for 2              nowait-tag supplied to PROCESS_SPAWN_
       sysmsg[16] for 2              ZSYS-DDL-PROCESSRESULTS.Z-LEN of process-
                                     results supplied to PROCESS_SPAWN_
       sysmsg[18] for 10             ZSYS-DDL-PROCESSRESULTS.Z-PHANDLE of
                                     process-results (process handle of the new process
       sysmsg[28] for 2              ZSYS-DDL-PROCESSRESULTS.Z-PID of process-
                                     results (OSS pid of the new process
       sysmsg[30] for 2              ZSYS-DDL-PROCESSRESULTS.Z-ERRNO of process-
                                     results (OSS errno)
       sysmsg[32]                    ZSYS-DDL-PROCESSRESULTS.Z-TPCERROR of
                                     process-results (Guardian error)
       sysmsg[33]                    ZSYS-DDL-PROCESSRESULTS.Z-TPCDETAIL of
                                     process-results (Guardian error detail)




               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                              14 -17
Interprocess Messages



      -147 CONFIG GETINFO (G-Series Only)

       Word                          Description
       sysmsg[0]                     -147
       sysmsg[1]                     Message version (must be equal to
                                     ZSYS-VAL-SMSG-CONFIGINFO-VERS)
       sysmsg[2] for 4               Device name for which configuration info is needed; blank-
                                     filled (can be all blanks)
       sysmsg[6] for 4               Subdevice name; blank-filled (can be all blanks)
       sysmsg[10] for 4              Secondary subdevice name qualifier; blank-filled (can be all
                                     blanks)




               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                              14 -18
15 Error Codes
 This section contains a list of error codes that are returned by Guardian procedure calls
 and the file system. For a full description of the error codes, refer to the Guardian
 Procedure Errors and Messages Manual.

 File-System Error Codes

  Code      Description
  0         Operation successful
  1         End-of-file
  2         Operation not allowed on this type of file
  3         Failure to open or purge a partition
  4         Failure to open an alternate key file
  5         Failure to provide sequential buffering
  6         System message received
  7         Process not accepting control or setmode
  8         Operation successful (examine MCW for additional status)
  9         Operation successful, the data returned was locked by another user
  10        File/record already exists
  11        File not in directory or record not in file, or the specified tape file is not present on
            a labeled tape
  12        File in use
  13        Illegal file-name specification
  14        Device does not exist
  15        Volume specification supplied does not match name of volume on which file
            actually resides
  16        File number has not been opened
  17        Paired open was specified and the file is not open by the primary process, the
            parameters supplied do not match the parameters supplied when the file was
            opened by the primary, or the primary process is not alive
  18        System does not exist
  19        No more devices in logical device table
  20        Attempt to open network file with a name either too long or not acceptable
  21        Illegal count specified
  22        Application parameter or buffer address is out of bounds
  23        Disk address is out of bounds
  24        Privileged mode required for this operation

         Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                         15- 1
Error Codes



       Code     Description
       25       AWAITIO or CANCEL was attempted on a wait file
       26       AWAITIO or CANCEL was attempted on a file with no outstanding operations
       27       WAIT operation attempted when outstanding requests pending
       28       Number of outstanding NOWAIT operations would exceed that specified, or
                attempt to open a disk file or $RECEIVE with maximum number of concurrent
                operations greater than 1, or attempt to add more than the configured maximum
                subdevices for an I/O process
       29       Missing parameter
       30       Unable to obtain main memory space for a message block
       31       Unable to obtain file-system buffer space
       32       Unable to obtain storage pool space (SYSPOOL)
       33       I/O process is unable to obtain buffer space
       34       Unable to obtain file-system control block
       35       Unable to obtain I/O process control block
       36       Unable to lock physical memory
       37       I/O process is unable to lock physical memory
       39       Server process received a request with a sync ID older than the set of saved replies
       40       Operation timed out
       41       CHECKSUM error on file synchronization block
       42       Attempt to read from unallocated extent
       43       Unable to obtain disk space for file extent
       44       Disk directory is full or DCT is full
       45       File is full
       46       Invalid key specified
       47       Key not consistent with file data
       48       Security violation
       49       Access violation, or attempt to use an unexpired labeled tape for output, or
                mismatch between DEFINE use attribute (INPUT or OUTPUT/EXTEND) and the
                current operation (read or write)
       50       Directory error
       51       Directory is marked bad
       52       Error in disk free space table
       53       File-system internal error or CP6100 file management interface error
       54       I/O error in disk free space table or DP2 UNDO area
       55       I/O error in directory


              Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                              15- 2
Error Codes



       Code     Description
       56       I/O error on volume label
       57       Disk free space table is full
       58       Disk free space table is marked bad
       59       File is bad
       60       File resides on removed volume, device downed or not open, or server has failed
                and been replaced by a different process with the same name since it was opened
       61       No more file opens permitted on this volume or device
       62       Volume has been mounted, but mount order has not been given, file open not
                permitted
       63       Volume has been mounted and mount is in progress, file open not permitted
       64       Volume has been mounted and mount is in progress, file open not permitted
       65       Only special requests permitted or one device up, one device special and special
                request to both
       66       Device down, LIU not yet downloaded, hard failure occurred on controller, disk
                and controller incompatible, or both halves of a mirrored disk are down
       70       Continue file operation
       71       Duplicate record
       72       Attempted access to unmounted partition or structured access to secondary
                partition
       73       File/record locked
       74       Number of READUPDATES without replies exceeds receive-depth, or
                ACTIVATERECEIVETRANSID or reply called with an invalid message-tag
       75       Requesting process has no current process transid
       76       Transaction is in the process of ending
       78       Transid is invalid or obsolete
       79       Attempt by transaction to update or delete a record that it has not previously
                locked
       80       Invalid operation on audited file or nonaudited disk volume
       81       Operation invalid for transaction that still has nowait I/Os outstanding on a disk or
                process file
       82       The TMF subsystem has not been started up
       83       Attempt to begin more concurrent transactions than can be handled
       84       The TMF subsystem has not been configured
       85       Device has not been started up for the TMF subsystem
       86       BEGINTRANSACTION has been disabled
       87       Waiting on a read request and did not get it
       88       A control read is pending, new read invalid

              Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                              15- 3
Error Codes



       Code     Description
       89       Remote device has no buffer available
       90       Transaction aborted by system because its parent process died
       91       Transaction aborted by system due to database ID inconsistency
       92       Distributed transaction aborted by system due to network partition
       93       Transaction spanning too many audit files aborted by system
       94       Transaction aborted by operator command
       95       Transaction aborted because of disk process takeover by BACKUP
       96       Transaction aborted because it exceeded the AUTOABORT timeout duration
       97       Transaction was aborted
       98       Transaction monitor process’s network active transactions table is full
       99       Attempt to use microcode option that is not installed
       100      Device not ready or controller not operational
       101      Tape write protected
       102      Paper out, bail open, or end of ribbon
       103      Disk not ready due to power failure
       104      No response from device
       105      Invalid VFU buffer
       106      A previously buffered write has failed
       110      Only BREAK access permitted
       111      Operation aborted because of BREAK
       112      READ or WRITEREAD preempted by operator message or too many user
                console messages
       113      DEFINE attributes not valid for attempted function
       114      X.25 network line problem – restart failure
       115      X.25 network problem – reset failure
       119      Error code value was too large to fit into 8-bit container
       120      Data parity error, or attempt to access a tape whose density is higher than the
                switch setting on the tape drive
       121      Data overrun error
       122      Request aborted due to possible data loss caused by reset of circuit, or due to CLB
                sequence error or a DP2 disk process takeover
       123      Subdevice busy
       124      Line reset is in progress
       130      Illegal address to disk
       131      Write check error from disk

              Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                              15- 4
Error Codes



       Code     Description
       132      Seek incomplete from disk
       133      Access not ready on disk
       134      Address compare error on disk
       135      Write protect violation with disk
       136      Unit ownership error (dual-port disk)
       137      Controller buffer parity error
       138      Interrupt overrun
       139      Controller error
       140      Modem error (communication link not yet established, modem failure,
                momentary loss of carrier, or disconnect) or FOX link to an EXPAND line handler
                is down
       148      Invalid read or write from/to an optical disk
       150      End-of-tape marker detected
       151      Runaway tape detected, or attempt to access a tape whose density is lower than
                the switch setting on the tape drive
       152      Unusual end or tape unit went offline or CP6100 file closed while requests in
                progress
       153      Tape drive power on
       154      BOT detected during backspace files or backspace records
       155      Only nine-track magnetic tape allowed
       156      Tape command rejected or communication protocol violation detected
       157      I/O process internal error
       158      Invalid function requested for Hyper Link
       159      Device mode wrong for request, or attempt to execute the PUP PRIMARY
                command while the tape drive is waiting for a labeled tape mount
       160      Request is invalid for device state
       161      Impossible event occurred for line state
       162      Operation timed out
       163      EOT received or power at auto-call unit is off
       164      Disconnect received or data line is occupied (busy)
       165      RVI received or data line not occupied after setting call request
       166      ENQ received or auto-call unit failed to set “present next digit”
       167      EOT received on line bid or “data set status” not set after dialing all digits
       168      NAK received on line bid or auto-call unit failed to clear “present next digit” after
                “digit present” was set



              Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                              15- 5
Error Codes



       Code     Description
       169      WACK received on line bid or auto-call unit set “abandon call and retry” or
                station disabled or station not defined
       170      No ID sequence received during circuit assurance mode or invalid MCW entry
                number on write
       171      No response received on bid/poll/select, or reply invalid
       172      Reply not proper for protocol
       173      Maximum allowable NAKs received (transmission error) or invalid MCW on
                write or invalid request ID
       174      WACK received or CLB frame aborted
       175      Incorrect alternating ACK received or command reject
       176      POLL sequence ended with no responder
       177      Text overrun (insufficient buffer space for data transfer)
       178      No address list specified
       179      Application buffer is incorrect or control request pending or autopoll active
       180      Unknown device status received
       181      Status receipt currently enabled for subdevice
       182      SNALU access method outbound RU error
       183      SNA session has ended
       187      Operation returning with no useful data
       188      Damage to logical flow of events
       189      Response not yet available
       190      Device error
       191      Device power on or terminal reset
       192      Device in diagnose mode
       193      Invalid or missing microcode file
       194      Device use or mount request rejected by operator
       195      Operation requires use of $ZSVR but it is not running
       196      Tape label record missing or incorrect
       197      An SQL error occurred
       198      A DEFINE of the given name could not be found
       199      Disk file is Safeguard protected
       200      Device is owned by alternate port
       201      Current path to the device is down or attempt was made to write to a nonexistent
                process or error in message system interface
       210      Device ownership changed during operation

              Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                              15- 6
Error Codes



       Code      Description
       211       Processor performing operation failed during operation
       213       Channel data parity error
       214       Channel timeout
       215       I/O attempted to absent memory page
       216       Memory breakpoint encountered during this I/O
       217       Memory parity error during this I/O
       218       Interrupt timeout
       219       Illegal device reconnect
       220       Protect violation
       221       Controller handshake violation
       222       Bad channel status from EIO instruction
       223       Bad channel status from IIO instruction
       224       Controller error
       225       No unit or multiple units assigned to same unit number
       230       Processor power failed, then restored
       231       Controller power failed, then restored
       232       Access denied, SMON communication error
       233       SERVERCLASS_SEND_ error
       240       Network line-handler error, operation not started
       241       Network error, operation not started
       246       External cluster bypass error, operation aborted
       248       Network line-handler error, operation aborted
       249       Network error, operation aborted
       250       All paths to the system are down
       251       Network protocol error
       252       Required Expand class is not available
       255       Too many interrupts or net line handler flooded
       300-511   Reserved for application processes
       538       Extent size is greater than 65,535 pages
       541       A data structure version is incompatible with the requested operation
       549       Block mode is not currently allowed on this terminal
       550       Illegal position or key value
       551       Duplicate exists for insertion-ordered alternate key
       560       A PIN greater than 255 was encountered

              Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                              15- 7
Error Codes



       Code      Description
       561       The system did not recognize an item code in a list
       563       Buffer too small
       564       The system detected an operation that is not allowed for this file type
       565       Illegal request
       566       Illegal reply
       567       DEFINE used is incompatible for use with target system’s TOS version
       573       Requested process handle cannot be returned
       578       The block size specified is too large
       579       The record size specified is too large for the given block size, file type, and format
       580       An open failed because the file was oversize and the opener did not specify use of
                 64-bit primary keys
       581       An operation involving 32-bit primary keys was attempted on an open that
                 specified use of 64-bit keys
       582       Alternate key information could not be returned because it cannot be expressed in
                 the superseded format of the parameter
       583       The extent size specified is too large for format 1 files
       584       The operation could not be performed because a software component does not
                 support format 2 disk files
       590       Parameter value invalid or inconsistent with another
       593       Request has been canceled
       594       A DSM/TC error was returned to $ZSVR. Refer to the EMS log for detailed
                 information.
       595       A ZSSI error was returned to $ZSVR. Refer to the EMS log for detailed
                 information.
       597       Required item code in a list is missing
       632       Insufficient stack space
       634       The system detected a device number greater than 16 bits long
       635       Optical disk volume cannot be locked or cannot be accessed because other side is
                 locked
       639       Process cannot be stopped until process goes to stopmode 0
       640       DEBUGNOW is required instead of DEBUG for a privileged process
       1091      Expiration date not reached
       1163      Illegal operation attempted on a file having a system-reserved file name.
       4000-     Open System Services Error
       4999
       5001      Request rejected: requestor executing on a non-SMF system. (device type: 3.36,
                 25.0, or 52.0)

               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               15- 8
Error Codes



       Code     Description
       5002     Creation of logical file rejected pending deletion of volume from storage pool.
                (device type: 3.36, 25.0, or 52.0)
       5007     SMF access violation: insufficient SMF-privilege to access file.
                (device type: 3.36, 25.0, or 52.0)
       5010     An error occurred during SMF lock manager processing. (device type: 3.36,
                25.0, or 52.0)
       5011     An error occurred during access of the ANT table. (device type: 3.36)
       5012     An error occurred during access of the PENDOPS table. (device type: 3.36, 25.0,
                or 52.0)
       5013     The name range for a physical volume is exhausted. (device type: 3.36)
       5014     No physical volumes are available. (device type: 3.36)
       5015     The outcome for the request is unknown. (device type: 3.36, 25.0, or 52.0)
       5017     Unable to read one of the SMF catalog tables. (device type: 3.36, 25.0, or 52.0)
       5018     An error occurred during message processing. (device type: 3.36, 25.0, or 52.0)
       5028     Unable to read a received message. (device type: 3.36, 25.0, or 52.0)
       5034     Unable to start the thread manager. (device type: 3.36, 25.0, or 52.0)
       5035     Unable to start a thread. (device type: 3.36, 25.0, or 52.0)
       5043     An error occurred during a read of a SMF catalog file. (device type: 3.36, 25.0,
                or 52.0)
       5048     BEGINTRANSACTION error. (device type: 3.36, 25.0, or 52.0)
       5049     A memory allocation failed. (device type: 3.36, 25.0, or 52.0)
       5050     An unexpected error occurred during request processing. (device type: 3.36,
                25.0, or 52.0)
       5053     The SMF lock manager reached its lock threshold. (device type: 3.36, 25.0, or
                52.0)
       5064     An error occurred during recovery processing. (device type: 3.36, 25.0, or 52.0)
       5065     An error occurred during indeterminate outcome processing. (device type: 3.36,
                25.0, or 52.0)
       5072     Recovery processing was unable to initialize PENDOPS processing.
                (device type: 3.36, 25.0, or 52.0)
       5073     A PENDOPS semaphore failed; the process that locked a SMF object could not
                be identified. (device type: 3.36, 25.0, or 52.0)
       5076     An invalid operation code was found in the PENDOPS table; the PENDOPS entry
                is invalid. (device type: 3.36, 25.0, or 52.0)
       5313     A virtual disk process encountered an error when trying to perform the requested
                operation. (device type: 3.36)




              Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                              15- 9
Error Codes



      Sequential I/O Error Codes

       Code     Description
       512      Invalid parameter
       513      Missing file name
       514      Device not supported
       515      Invalid access
       516      Invalid buffer address
       517      Invalid file code
       518      Buffer too small
       519      Invalid block length
       520      Invalid record length
       521      Invalid EDIT file
       522      File already open
       523      EDITREAD or EDITREADINIT error occurred
       524      File is closed; check, read, set, write, or wait error
       525      Access violation
       526      No stack space
       527      Temporary buffer required
       528      EDIT file ran out of space
       529      Write error
       530      Invalid write to $RECEIVE
       531      Unable to open $RECEIVE
       532      I/O started
       533      An internal error occurred
       534      Checksum error
       535      Checksum error
       536      Common FCB is in old format
       537      Line number of EDIT file too long




              Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                             15 -10
Error Codes



      DEFINE Error Codes

       Code     Description
       0        Successful completion
       2049     A syntax error occurred in the DEFINE name
       2050     The DEFINE name already exists
       2051     The DEFINE name does not exist
       2052     Unable to obtain file-system buffer space
       2053     Unable to obtain physical memory
       2054     There was a bounds error in a parameter
       2055     An attribute is not allowed for the current CLASS
       2056     An attribute is missing
       2057     Required attribute missing from current CLASS in working set
       2058     Working set inconsistent for current CLASS
       2059     The working set for DEFINEs is invalid
       2060     No more DEFINEs are allowed
       2061     No more attributes are allowed for the DEFINE
       2062     The attribute is invalid for the DEFINE
       2063     The name of the default subvolume has a syntax error in the SET DEFINE
                command
       2064     Resetting a required DEFINE attribute is not allowed
       2066     A required parameter is missing
       2067     An invalid value was supplied for an attribute
       2068     The CLASS name identifies a nonexistent CLASS
       2069     Attempt to add a DEFINE that does not fall under current DEFMODE setting
       2071     The DEFINE specifies a 7-character device name, which cannot be converted to a
                network name on a C-series system
       2073     Replacing the =_DEFAULTS DEFINE with a DEFINE having the same name but
                a class other than DEFAULTS is not allowed
       2074     Deleting the DEFINE is not allowed
       2075     A DEFINE option is invalid
       2076     The buffer is too small for the saved DEFINE
       2077     An extended address parameter referred to an invalid segment
       2078     The DEFINERESTORE buffer does not contain a valid saved DEFINE
       2079     Cannot save the working set because the name is =_DEFAULTS and the working
                set is not CLASS DEFAULTS.


              Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                             15 -11
Error Codes



      NEWPROCESS and NEWPROCESSNOWAIT Error Codes
      A NEWPROCESS or NEWPROCESSNOWAIT error is returned to the calling process
      in a word containing two 8-bit fields. The lefthand part of the error word, bits <0:7>,
      contains one of the error codes shown below. The righthand part, bits <8:15>, can
      contain either an error subcode or a file-system error code. Refer to the Guardian
      Procedure Errors and Messages Manual for further information.

       Code      Description
       0         No error
       1         Undefined externals
       2         No PCB available
       3         File-system error on program-file
       4         Unable to allocate map
       5         File-system error on swap file
       6         Illegal file format
       7         Unlicensed privileged program
       8         Process name error
       9         Library conflict
       10        Unable to communicate with system monitor process
       11        File-system error on library file
       12        Program file and library file are the same
       13        Invalid segment size unable to set up the page tables
       14        File-system error on initial setup of the swap file
       15        Illegal home terminal
       16        I/O error on home terminal
       17        DEFINE context propagation error
       18        Object file with an illegal device subtype
       19        Process device subtype specified in backup process isn’t the same as primary’s
       20        DSC error: bad ZZPIM file
       21        DSC error: dynamic IOP error
       22        PFS^SIZE is out of range
       23        Cannot create PFS
       24        An unknown error number was returned from a remote system
       25        Unable to allocate a priv stack for the process
       26        Unable to lock the priv stack for the process
       27        Unable to allocate a main stack for the process


              Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                             15 -12
Error Codes



       28       DSC error: unable to lock the main stack of a native IOP
       29       Security inheritance failure
       30       Unable to allocate native globals
       31       Unable to lock native globals
       32       Main stack maximum value too large
       33       Heap maximum value too large
       34       Space guarantee value too large
       35       Duplicate SRL
       36       Unknown SRL specified by program
       37       Unknown SRL specified by another SRL
       38       Too many SRLs
       39       Program file requires fixup
       40       SRL requires fixups
       41       Program file security violation
       42       SRL security violation
       43       Program requires symbol from SRL
       47       Cannot guarantee swap space
       48       Mismatch on number of SRLs
       49       Undefined externals in SRL
       50       Incorrect number of SRLs in program file
       51       Incorrect number of SRLs in library
       52       SRL must be licensed
       53       Unable to obtain global virtual space
       54       Symbolic reference target/source type mismatch
       55       External data reference not resolved to any user/system library
       119      Error number returned is too large
       3xx      SRL has invalid file format
       5xx      File-system error on SRL number xx




              Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                             15 -13
Error Codes



      PROCESS_CREATE_ Error Codes

       Code     Description
       0        No error
       1        Error while accessing program file
       2        Parameter error
       3        Bounds violation
       4        Error while accessing library file
       5        Error while accessing swap file
       6        Error while accessing extended swap file
       7        File-system error on PFS
       8        Illegal home terminal
       9        I/O error on home terminal
       10       Unable to communicate with system monitor process
       11       Process name error
       12       Illegal program file format
       13       Illegal library file format
       14       Undefined externals
       15       No PCB available
       16       Unable to allocate map
       17       Unlicensed privileged program
       18       Library conflict
       19       Program file and library file are the same
       20       Object file with an illegal device subtype
       21       Process device subtype specified in backup process is not the same as primary
       22       Backup creation specified, but caller is unnamed
       24       DEFINE context propagation error
       25       DSC error: invalid ZZPIM file
       26       Dynamic IOP error
       27       Invalid PFS size
       29       Unable to allocate a priv stack for the process
       30       Unable to lock the priv stack for the process
       32       DSC error: unable to lock the main stack of a native IOP
       33       Security inheritance failure
       35       Internal PROCESS_CREATE_ error

              Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                             15 -14
Error Codes



       Code     Description
       36       Child's PFS error
       37       Unable to allocate global data for the process
       38       Unable to lock global IOP data for the process
       40       The main stack maximum value, specified either by the procedure call or by the
                object file, is too large.
       41       The heap maximum value, specified either by the procedure call or by the object
                file, is too large.
       42       The space guarantee value, specified either by the procedure call or by the object
                file, is too large.
       43       The process creation request specifies two files that contain the same shared run-
                time library (SRL) names.
       44       Unable to find a SRL specified by the program file
       45       Unable to find a SRL specified by another SRL
       46       The process creation request specifies too many SRLs
       47       The program file requires fixups to an SRL but the program file is currently
                running
       48       A SRL requires fixups to another SRL
       49       Security violation. The program file is not licensed, but a SRL containing instance
                data is licensed
       50       Security violation. Either the program file or SRL is licensed, but a SRL is not
                licensed
       51       The program file requires a symbol from an SRL, but the SRL is not exporting it
       52       The specified version, Z^VERSION, of the ZSYS^DDL^PLAUNCH^PARMS
                structure is not supported
       53       The specified version, Z^VERSION, of the ZSYS^DDL^PLAUNCH^PARMS
                structure is incompatible with the specified length, Z^LENGTH, of the structure
       54       Internal process creation error
       55       The specified space guarantee cannot be allocated
       56       Internal process creation error
       57       A shared run-time library (SRL) has undefined externals
       58       Internal process creation error
       59       Internal process creation error
       60       Security violation; a SRL containing callable procedures must be licensed to be
                used by callable or privileged code
       61       Unable to obtain global virtual space
       62       Symbolic reference target/source type mismatch
       63       External data references not resolved to any user/system library


              Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                             15 -15
Error Codes



       Code     Description
       104      Unable to create OSS process
       106      OSS start interpreter error
       107      OSS static variable error
       108      Not running on an OSS system error
       110      OSS current working directory error
       111      OSS file descriptor dup error
       112      OSS file descriptor open error
       113      OSS file descriptor open timeout error
       114      Cannot create OSS priv process
       115      Unable to allocate global data or heap for the process (PROCESS_SPAWN_ only)
       116      Unable to propagate SRL data (PROCESS_SPAWN_ only)
       3xx      Invalid file format on SRL number xx
       5xx      File-system error on SRL number xx

      PROCESS_GETINFOLIST_ Error Codes

       Code     Description
       0        No error
       1        A file-system error occurred
       2        Parameter error
       3        Bounds error
       4        Specified process does not exist
       5        Unable to communicate with processor
       6        Unable to communicate with node
       7        No more matches
       9        Invalid search code
       10       Invalid search value
       11       Invalid return attribute code
       12       Invalid search option




              Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                             15 -16
Error Codes



      PROCESS_GETPAIRINFO_ Error Codes

       Code     Description
       0        No error
       2        Parameter error
       3        Bounds error
       4        Single named process
       5        Caller’s pair: caller is current primary
       6        Caller’s pair: caller is current backup
       7        Process is unnamed
       8        Search is complete
       9        Process does not exist
       10       Unable to communicate with node
       11       Target is a process controlling a device or volume, but bit 15 was not set
       13       Limited information is returned for a process that is not started




              Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                             15 -17
Error Codes



      PROCESS_SPAWN_ Open System Services (OSS) Error Codes

       Code     Description
       0        NO ERROR
       4002     NO SUCH FILE OR DIRECTORY
       4005     I/O ERROR
       4007     ARGUMENT LIST TOO LONG
       4008     EXEC FORMAT ERROR
       4009     BAD FILE DESCRIPTOR
       4011     NO MORE PROCESSES
       4012     INSUFFICIENT USER MEMORY
       4013     PERMISSION DENIED
       4014     BAD ADDRESS
       4020     NOT A DIRECTORY
       4022     INVALID FUNCTION ARGUMENT
       4126     CONNECTION TIMED OUT
       4131     FILE NAME TOO LONG
       4203     OSS NOT RUNNING OR NOT INSTALLED
       4212     AN ERROR OCCURRED DURING INVOCATION OF A DEFINE
                PROCEDURE

      ALLOCATESEGMENT Error Codes

       Code     Description
       0        No error
       -1       Illegal segment ID
       -2       Illegal segment size
       -3       Bounds violation on swap file parameter
       -4       Illegal combination of options
       -5       Unable to allocate segment space
       -6       Unable to allocate segment page table space
       -7       Security violation
       -8       PIN does not exist
       -9       No segment allocated to PIN
       -10      Trying to share segment with self
       -11      Requested segment is currently being resized or is incompatible

              Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                             15 -18
Error Codes



      SEGMENT_ALLOCATE_ Error Codes

       Code     Description
       0        No error
       1        Error creating or opening segment swap file
       2        Parameter error
       3        Bounds violation
       4        Illegal segment ID
       5        Illegal segment size
       6        Unable to allocate segment space
       7        Unable to allocate segment page table space
       8        Security violation
       9        PIN does not exist
       10       No segment allocated to PIN
       11       Trying to share segment with self
       12       Requested shared segment is incompatible
       13       Requested segment already allocated
       14       Unable to allocate the PST
       15       Requested address range already allocated




              Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                             15 -19
Error Codes



      Subsystem Programmatic Interface (SPI) Error Codes

       Code       Description
       0          No error
       -1         Invalid buffer format
       -2         Illegal parameter value
       -3         Missing parameter
       -4         Illegal parameter address
       -5         Buffer full
       -6         Invalid checksum
       -7         Internal error
       -8         Token not found
       -9         Illegal token code or map
       -10        Invalid subsystem ID
       -11        Operation not supported
       -12        Insufficient stack space
       -13        File-system error
       -14        Guardian procedure error
       -15        Invalid template file
       -16        More text is available
       -26        See service provider
       -27        No format ID available

      EDITREAD and EDITREADINIT Error Codes

       Code           Description
       0 or greater   No error
       -1             End-of-file encountered
       -2             I/O error
       -3             Text file format error
       -4             Sequence number error
       -5             Checksum error




               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                              15 -20
Error Codes



      IOEdit Error Codes
      In addition to the error codes shown here, the IOEdit procedures can also return file-
      system error codes. Some of the file-system error codes have special meanings when
      returned by IOEdit. Refer to the Guardian Procedure Errors and Messages Manual for
      details.

       Code      Description
       -1        Inconsistent directory size value
       -2        Record numbers in the directory are out of order
       -3        A record number in the directory is beyond legal range
       -4        A block number in the directory is outside the file
       -5        Duplicate block numbers in the directory
       -6        Numbers ran out
       -7        Record numbers out of order
       -8        Record length too large
       -9        Record format inconsistent
       -10       Cannot do renumbering
       -13       Error accessing non-EDIT file line numbers
       -14       Error accessing non-EDIT file change tags
       -15       Change tag should be appended to record
       -16       Both tag and record number error
       -17       Change tag overlays text

      Formatter Error Codes

       Code      Description
       267       Buffer overflow
       268       No buffer
       270       Format loopback
       271       Edit item mismatch
       272       Illegal input character
       273       Bad format
       274       Numeric overflow




              Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                             15 -21
Error Codes




              Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                             15 -22
16 ASCII Character Set
                                        Hexa-
  Character   Left         Right        decimal    Decimal    Meaning
  NUL         000000       000000       00         0          Null
  SOH         000400       000001       01         1          Start of heading
  STX         001000       000002       02         2          Start of text
  ETX         001400       000003       03         3          End of text
  EOT         002000       000004       04         4          End of transmission
  ENQ         002400       000005       05         5          Enquiry
  ACK         003000       000006       06         6          Acknowledge
  BEL         003400       000007       07         7          Bell
  BS          004000       000010       08         8          Backspace
  HT          004400       000011       09         9          Horizontal tabulation
  LF          005000       000012       A          10         Line feed
  VT          005400       000013       B          11         Vertical tabulation
  FF          006000       000014       C          12         Form feed
  CR          006400       000015       D          13         Carriage return
  SO          007000       000016       E          14         Shift out
  SI          007400       000017       F          15         Shift in
  DLE         010000       000020       10         16         Data link escape
  DC1         010400       000021       11         17         Device control 1
  DC2         011000       000022       12         18         Device control 2
  DC3         011400       000023       13         19         Device control 3
  DC4         012000       000024       14         20         Device control 4
  NAK         012400       000025       15         21         Negative acknowledge
  SYN         013000       000026       16         22         Synchronous idle
  ETB         013400       000027       17         23         End of transmission block
  CAN         014000       000030       18         24         Cancel
  EM          014400       000031       19         25         End of medium
  SUB         015000       000032       1A         26         Substitute
  ESC         015400       000033       1B         27         Escape
  FS          016000       000034       1C         28         File separator
  GS          016400       000035       1D         29         Group separator


        Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                        16- 1
ASCII Character Set



                                               Hexa-
       Character      Left        Right        decimal    Decimal    Meaning
       RS             017000      000036       1E         30         Record separator
       US             017400      000037       1F         31         Unit separator
       SP             020000      000040       20         32         Space
        !             020400      000041       21         33         Exclamation point
        "             021000      000042       22         34         Quotation mark
        #             021400      000043       23         35         Number sign
        $             022000      000044       24         36         Dollar sign
        %             022400      000045       25         37         Percent sign
        &             023000      000046       26         38         Ampersand
        '             023400      000047       27         39         Apostrophe
        (             024000      000050       28         40         Opening parenthesis
        )             024400      000051       29         41         Closing parenthesis
        *             025000      000052       2A         42         Asterisk
        +             025400      000053       2B         43         Plus
        ,             026000      000054       2C         44         Comma
        -             026400      000055       2D         45         Hyphen (minus)
        .             027000      000056       2E         46         Period (decimal point)
        /             027400      000057       2F         47         Right slash
        0             030000      000060       30         48         Zero
        1             030400      000061       31         49         One
        2             031000      000062       32         50         Two
        3             031400      000063       33         51         Three
        4             032000      000064       34         52         Four
        5             032400      000065       35         53         Five
        6             033000      000066       36         54         Six
        7             033400      000067       37         55         Seven
        8             034000      000070       38         56         Eight
        9             034400      000071       39         57         Nine
        :             035000      000072       3A         58         Colon
        ;             035400      000073       3B         59         Semicolon
        <             036000      000074       3C         60         Less than
        =             036400      000075       3D         61         Equals
        >             037000      000076       3E         62         Greater than

               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               16- 2
ASCII Character Set



                                               Hexa-
       Character      Left        Right        decimal    Decimal    Meaning
        ?             037400      000077       3F         63         Question mark
        @             040000      000100       40         64         Commercial at sign
        A             040400      000101       41         65         Uppercase A
        B             041000      000102       42         66         Uppercase B
        C             041400      000103       43         67         Uppercase C
        D             042000      000104       44         68         Uppercase D
        E             042400      000105       45         69         Uppercase E
        F             043000      000106       46         70         Uppercase F
        G             043400      000107       47         71         Uppercase G
        H             044000      000110       48         72         Uppercase H
        I             044400      000111       49         73         Uppercase I
        J             045000      000112       4A         74         Uppercase J
        K             045400      000113       4B         75         Uppercase K
        L             046000      000114       4C         76         Uppercase L
        M             046400      000115       4D         77         Uppercase M
        N             047000      000116       4E         78         Uppercase N
        O             047400      000117       4F         79         Uppercase O
        P             050000      000120       50         80         Uppercase P
        Q             050400      000121       51         81         Uppercase Q
        R             051000      000122       52         82         Uppercase R
        S             051400      000123       53         83         Uppercase S
        T             052000      000124       54         84         Uppercase T
        U             052400      000125       55         85         Uppercase U
        V             053000      000126       56         86         Uppercase V
        W             053400      000127       57         87         Uppercase W
        X             054000      000130       58         88         Uppercase X
        Y             054400      000131       59         89         Uppercase Y
        Z             055000      000132       5A         90         Uppercase Z
        [             055400      000133       5B         91         Opening bracket
                     056000      000134       5C         92         Back slash
        ]             056400      000135       5D         93         Closing bracket
        ^             057000      000136       5E         94         Circumflex
        _             057400      000137       5F         95         Underscore

               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               16- 3
ASCII Character Set



                                               Hexa-
       Character      Left        Right        decimal    Decimal    Meaning
        `             060000      000140       60         96         Grave accent
        a             060400      000141       61         97         Lowercase a
        b             061000      000142       62         98         Lowercase b
        c             061400      000143       63         99         Lowercase c
        d             062000      000144       64         100        Lowercase d
        e             062400      000145       65         101        Lowercase e
        f             063000      000146       66         102        Lowercase f
        g             063400      000147       67         103        Lowercase g
        h             064000      000150       68         104        Lowercase h
        i             064400      000151       69         105        Lowercase i
        j             065000      000152       6A         106        Lowercase j
        k             065400      000153       6B         107        Lowercase k
        l             066000      000154       6C         108        Lowercase l
        m             066400      000155       6D         109        Lowercase m
        n             067000      000156       6E         110        Lowercase n
        o             067400      000157       6F         111        Lowercase o
        p             070000      000160       70         112        Lowercase p
        q             070400      000161       71         113        Lowercase q
        r             071000      000162       72         114        Lowercase r
        s             071400      000163       73         115        Lowercase s
        t             072000      000164       74         116        Lowercase t
        u             072400      000165       75         117        Lowercase u
        v             073000      000166       76         118        Lowercase v
        w             073400      000167       77         119        Lowercase w
        x             074000      000170       78         120        Lowercase x
        y             074400      000171       79         121        Lowercase y
        z             075000      000172       7A         122        Lowercase z
        {             075400      000173       7B         123        Opening brace
        |             076000      000174       7C         124        Vertical line
        }             076400      000175       7D         125        Closing brace
        ~             077000      000176       7E         126        Tilde
       DEL            077400      000177       7F         127        Delete



               Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               16- 4
17 TNS Instruction Set
TNS Alphabetical List of Instructions
   The mnemonics and opcodes for the TNS instruction set are listed in alphabetical order
   in the following table.
   For complete information about these instructions, refer to the Himalaya S-Series Server
   Description Manual. TNS/R instructions are not documented in this manual.
   A single asterisk following an instruction description denotes a privileged instruction,
   and a double asterisk denotes an instruction intended for operating system use only.

    Mnemonic            Octal Code         Description
    ADAR                00016-             Add A to Register
    ADDI                104---             Add Immediate
    ADDS                002---             Add to S
    ADM                 -74---             Add to Memory
    ADRA                00014-             Add Register to A
    ADXI                104---             Add to Index Immediate
    ALS                 0302--             Arithmetic Left Shift
    ANG                 000044             AND to Memory
    ANLI                007---             AND Left Immediate
    ANRI                006---             AND Right Immediate
    ANS                 000034             AND to SG Memory
    ANX                 000046             AND to Extended Memory
    ARS                 0303--             Arithmetic Right Shift
    ASPT                000470             Address of Segment Page Table Header *
    BANZ                -154--             Branch on A
    BAZ                 -144--             Branch on A Zero
    BCLD                000452             Bus Cold Load *
    BEQL                -12---             Branch if Equal
    BFI                 000030             Branch Forward Indirect
    BGEQ                -13---             Branch if Greater or Equal
    BGTR                -11---             Branch if Greater
    BIC                 -10---             Branch if Carry
    BIKE                000464             Bicycle While Idle *
    BLEQ                -16---             Branch if Less or Equal

           Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                           17- 1
TNS Instruction Set                                                  TNS Alphabetical List of Instructions



       Mnemonic             Octal Code         Description
       BLSS                 -14---             Branch if Less
       BNDW                 000450             Bounds Test Words *
       BNEQ                 -15---             Branch if Not Equal
       BNOC                 -17---             Branch if No Carry
       BNOV                 -164--             Branch if No Overflow
       BOX                  -1-4--             Branch on X
       BPT                  000451             Instruction Breakpoint Trap
       BSUB                 -174--             Branch to Subprocedure
       BTST                 000007             Byte Test
       BUN                  -l04--             Branch
       CAQ                  000262             Convert ASCII to Quad
       CAQV                 000261             Convert ASCII to Quad with Initial Value
       CCE                  000016             Condition Code Equal to
       CCG                  000017             Condition Code Greater than
       CCL                  000015             Condition Code Less than
       CDE                  000334             Convert Doubleword to Extended Float
       CDF                  000306             Convert Doubleword to Float
       CDFR                 000326             Convert Doubleword to Float (Round)
       CDG                  000366             Count Duplicate Words
       CDI                  000307             Convert Doubleword to Integer
       CDQ                  000265             Convert Doubleword to Quad
       CDX                  000356             Count Duplicate Words Extended
       CED                  000314             Extended Float to Doubleword
       CEDR                 000315             Extended Float to Doubleword (Round)
       CEF                  000276             Extended Float to Float
       CEFR                 000277             Extended Float to Float (Round)
       CEI                  000337             Extended Float to Integer
       CEIR                 000337             Extended Float to Integer (Round)
       CEQ                  000337             Extended Float to Quadrupleword
       CEQR                 000323             Extended Float to Quadrupleword (Round)
       CFD                  000312             Floating to Doubleword
       CFDR                 000313             Floating to Doubleword (Round)
       CFE                  000325             Floating to Extended Float
       CFI                  000311             Floating to Integer

                Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                                17- 2
TNS Instruction Set                                               TNS Alphabetical List of Instructions



       Mnemonic             Octal Code         Description
       CFIR                 000310             Floating to Integer (Round)
       CFQ                  000320             Floating to Quadrupleword
       CFQR                 000321             Floating to Quadrupleword (Round)
       CID                  000327             Convert Integer to Doubleword
       CIE                  000332             Convert Integer to Extended Float
       CIF                  000331             Convert Integer to Floating
       CIQ                  000266             Convert Integer to Quad
       CLQ                  000267             Convert Logical to Quad
       CMBX                 000422             Compare Bytes Extended
       CMPI                 001---             Compare Immediate
       CMRW                 000432             Correctable Memory Error Read/Write *
       COMB                 1262--             Compare Bytes
       COMW                 0262--             Compare Words
       CQA                  000260             Convert Quad to ASCII
       CQD                  000247             Convert Quad to Doubleword
       CQE                  000336             Convert Quad to Extended
       CQER                 000335             Convert Quad to Extended (Round)
       CQF                  000324             Convert Quad to Floating
       CQFR                 000330             Convert Quad to Floating (Round)
       CQI                  000264             Convert Quad to Integer
       CQL                  000246             Convert Quad to Logical
       CRAX                 000423             Convert Relative to Absolute Extended *
       DADD                 000220             Double Add
       DALS                 1302--             Double Arithmetic Left Shift
       DARS                 1303--             Double Arithmetic Right Shift
       DCMP                 000225             Double Compare
       DDIV                 000223             Double Divide
       DDTX                 000456             DDT Request *
       DDUP                 000006             Double Duplicate
       DFG                  000367             Deposit Field in Memory
       DFS                  000357             Deposit Field in System
       DFX                  000416             Deposit Field in Extended Memory
       DISP                 000073             Dispatch *
       DLEN                 000070             Disk Record Length **

                Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                                17- 3
TNS Instruction Set                                                 TNS Alphabetical List of Instructions



       Mnemonic             Octal Code         Description
       DLLS                 1300--             Double Logical Left Shift
       DLRS                 1301--             Double Logical Right Shift
       DLTE                 000054             Delete Element from List *
       DMPY                 000222             Double Multiply
       DNEG                 000224             Double Negate
       DOFS                 000057             Disk Record Offset **
       DPCL                 000032             Dynamic Procedure Call
       DPF                  000014             Deposit Field
       DSUB                 000221             Double Subtract
       DTL                  000207             Determine Time Left for Element *
       DTST                 000031             Double Test
       DXCH                 000005             Double Exchange
       DXIT                 000072             DEBUG Exit *
       EADD                 000300             Extended Floating-Point Add
       ECMP                 000305             Extended Floating-Point Compare
       EDIV                 000303             Extended Floating-Point Divide
       EIO                  000060             Execute I/O *
       EIOC                 000512             Exchange EIOC Table Entries *
       EMPY                 000302             Extended Floating-Point Multiply
       ENEG                 000304             Extended Floating-Point Negate
       ESUB                 000301             Extended Floating-Point Subtract
       EXCH                 000004             Exchange
       EXIT                 125---             Exit Procedure
       FADD                 000270             Floating-Point Add
       FCMP                 000275             Floating-Point Compare
       FDIV                 000273             Floating-Point Divide
       FMPY                 000272             Floating-Point Multiply
       FNEG                 000274             Floating-Point Negate
       FRST                 000405             Firmware Reset *
       FSUB                 000271             Floating-Point Subtract
       FTL                  000206             Find Position in Time List *
       HALT                 000074             Processor Halt *
       HIIO                 000062             High-Priority Interrogate I/O *
       IADD                 000210             Integer Add

                Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                                17- 4
TNS Instruction Set                                                 TNS Alphabetical List of Instructions



       Mnemonic             Octal Code         Description
       ICMP                 000215             Integer Compare
       IDIV                 000213             Integer Divide
       IDX1                 000344             Calculate Index, 1 Dimension
       IDX2                 000345             Calculate Index, 2 Dimension
       IDX3                 000346             Calculate Index, 3 Dimension
       IDXD                 000317             Calculate Index, Bounds in Data Space
       IDXP                 000347             Calculate Index, Bounds in Code SpaceIDXP
       IIO                  000061             Interrogate I/O *
       IMPY                 000212             Integer Multiply
       INEG                 000214             Integer Negate
       INSR                 000055             Insert Element into List *
       ISUB                 000211             Integer Subtract
       IXIT                 000071             Interrupt Exit *
       LADD                 000200             Logical Add
       LADI                 003---             Logical Add Immediate
       LADR                 -7----             Load AddressLADR
       LAND                 000010             Logical AND
       LBA                  000364             Load Byte via A
       LBAS                 000354             Load Byte via A from System
       LBP                  -2-4--             Load Byte from Program
       LBX                  000406             Load Byte Extended
       LBXX                 0256--, 0266--     Load Byte Extended, Indexed
       LCKX                 000430             Lock Down Extended Memory *
       LCMP                 000205             Logical Compare
       LDA                  000362             Load Double via A
       LDAS                 000352             Load Double via A from System
       LDB                  -5----             Load Byte
       LDD                  -6----             Load Double
       LDDX                 000412             Load Double Extended
       LDI                  100---             Load Immediate
       LDIV                 000203             Logical Divide
       LDLI                 005---             Load Left Immediate
       LDRA                 00013-             Load Register to A
       LDX                  -3----             Load X

                Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                                17- 5
TNS Instruction Set                                                  TNS Alphabetical List of Instructions



       Mnemonic             Octal Code         Description
       LDXI                 10----             Load X Immediate
       LLS                  0300--             Logical Left Shift
       LMPY                 000202             Logical Multiply
       LNEG                 000204             Logical Negate
       LOAD                 -4----             Load
       LOR                  000011             Logical OR
       LQAS                 000445             Load Quadrupleword via A from SG *
       LQX                  000414             Load Quadrupleword Extended
       LRS                  0301--             Logical Right Shift
       LSUB                 000201             Logical Subtract
       LWA                  000360             Load Word via A
       LWAS                 000350             Load Word via A from System
       LWP                  -2----             Load Word from Program
       LWUC                 000342             Load Word from User Code Space
       LWX                  000410             Load Word Extended
       LWXX                 0254--, 0264--     Load Word Extended, Indexed
       MAPS                 000042             Map In a Segment *
       MBXR                 000420             Move Bytes Extended, Reverse
       MBXX                 000421             Move Bytes Extended, and Checksum
       MNDX                 000227             Move Words while Not Duplicate, Extended
       MNGG                 000226             Move Words while Not Duplicate
       MOND                 000001             Minus One Double
       MOVB                 126---             Move Bytes
       MOVW                 026---             Move Words
       MRL                  000075             Merge onto Ready List *
       MVBX                 000417             Move Bytes Extended
       MXFF                 000041             Mutual Exclusion Off *
       MXON                 000040             Mutual Exclusion On *
       NOP                  000000             No Operation
       NOT                  000013             Not
       NSAR                 00012-             Nondestructive Store A in a Register
       NSTO                 -34---             Nondestructive Store
       ONED                 000003             One Double
       ORG                  000045             OR to Memory

                Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                                17- 6
TNS Instruction Set                                                 TNS Alphabetical List of Instructions



       Mnemonic             Octal Code         Description
       ORLI                 0044--             OR Left Immediate
       ORRI                 004---             OR Right Immediate
       ORS                  000035             OR to SG Memory
       ORX                  000047             OR to Extended Memory
       PCAL                 027---             Procedure Call
       POP                  124---             Pop from Stack
       PSEM                 000076             “P” a Semaphore *
       PUSH                 024---             Push to Stack
       QADD                 00024              Quad Add
       QCMP                 000245             Quad Compare
       QDIV                 000243             Quad Divide
       QDWN                 00025-             Quad Scale Down
       QLD                  00023-             Quad Load
       QMPY                 000242             Quad Multiply
       QNEG                 000244             Quad Negate
       QRND                 000263             Quad Round
       QST                  00023-             Quad Store
       QSUB                 000241             Quad Subtract
       QUP                  00025-             Quad Scale Up
       RCHN                 000447             Reset I/O Channel *
       RCLK                 000050             Read Clock
       RCPU                 000051             Read Processor Number
       RDE                  000024             Read ENV Register
       RDP                  000025             Read P Register
       RIBA                 000440             Read INTA and INTB Registers *
       RIOC                 000510             Read EIOC table entry *
       RIR                  000063             Reset Interrupt *
       RPT                  000442             Read Process Timer *
       RSMT                 000436             Read From Operations & Service Processor *
       RSPT                 000424             Read Segment Page Table Entry *
       RSUB                 025---             Return from Subprocedure
       RSW                  000026             Read Switches
       RUS                  000461             Read Micro State *
       RWCS                 000402             Read LCS *

                Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                                17- 7
TNS Instruction Set                                                  TNS Alphabetical List of Instructions



       Mnemonic             Octal Code         Description
       RXBL                 000426             Read Extended Base and Limit *
       SBA                  000365             Store Byte via A
       SBAR                 00017-             Subtract A from a Register
       SBAS                 000355             Store Byte via A into System
       SBRA                 00015-             Subtract Register from A
       SBU                  1266--             Scan Bytes Until
       SBW                  1264--             Scan Bytes While
       SBX                  000407             Store Byte Extended
       SBXX                 0257--, 0267--     Store Byte Extended, Indexed
       SCMP                 000454             Set Code Map
       SCPV                 000463             Set Current Process Variables *
       SCS                  000444             Set Code Segment
       SDA                  000363             Store Double via A
       SDAS                 000353             Store Double via A into System
       SDDX                 000413             Store Double Extended
       SEND                 000065             Send *
       SETE                 000022             Set ENV Register
       SETL                 000020             Set L Register
       SETP                 000023             Set P Register
       SETS                 000021             Set S Register
       SFRZ                 000053             System Freeze *
       SIOC                 000460             Store Entry to IOC *
       SMAP                 000067             Set Map *
       SMBP                 000404             Set Memory Breakpoint *
       SNDQ                 000052             Signal a Send Is Queued *
       SPT                  000443             Set Process Timer *
       SQAS                 000446             Store Quadrupleword via A to SG *
       SQX                  000415             Store Quadrupleword Extended
       SRST                 000455             Soft Reset *
       SSW                  000027             Set Switches
       STAR                 00011-             Store A in Register
       STB                  -54---             Store Byte
       STD                  -64---             Store Double
       STOR                 -44---             Store

                Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                                17- 8
TNS Instruction Set                                                 TNS Alphabetical List of Instructions



       Mnemonic             Octal Code         Description
       STRP                 00010-             Set RP
       SVMP                 000441             Save Map Entries *
       SWA                  000361             Store Word via A
       SWAS                 000351             Store Word via A into System
       SWX                  000411             Store Word Extended
       SWXX                 0255--, 0265       Store Word Extended, Indexed
       SXBL                 000427             Set Extended Base and Limit *
       TOTQ                 000056             Test OUTQ **
       TRCE                 000217             Add Entry to Trace Table *
       ULKX                 000431             Unlock Extended Memory *
       VSEM                 000077             "V" a Semaphore *
       WIOC                 000511             Write EIOC table entry *
       WSMT                 000437             Write to Operations and Service Processor *
       WSPT                 000425             Write Segment Page Table Entry *
       WWCS                 000400             Write to LCS *
       XCAL                 127---             External Call
       XIOC                 000462             Exchange IOC entries *
       XMSK                 000064             Exchange Mask *
       XOR                  000012             Exclusive OR
       XSMG                 000343             Compute Checksum in Current Data
       XSMX                 000333             Checksum Extended Block
       ZERD                 000002             Zero Double




                Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                                17- 9
TNS Instruction Set                                               TNS Alphabetical List of Instructions



      TNS Categorized List of Instructions
      The mnemonics and opcodes for the instruction set are grouped by type of instruction in
      the following tables.
      For complete information about these instructions, refer to the Himalaya S-Series Server
      Description Manual.
      A single asterisk following an instruction description denotes a privileged instruction,
      and a double asterisk denotes an instruction intended for operating system use only.

      16-Bit Arithmetic (Top of Register Stack)

       IADD                           000210                        Integer Add
       LADD                           000200                        Logical Add
       ISUB                           000211                        Integer Subtract
       LSUB                           000201                        Logical Subtract
       IMPY                           000212                        Integer Multiply
       LMPY                           000202                        Logical Multiply
       IDIV                           000213                        Integer Divide
       LDIV                           000203                        Logical Divide
       INEG                           000214                        Integer Negate
       LNEG                           000204                        Logical Negate
       ICMP                           000215                        Integer Compare
       LCMP                           000205                        Logical Compare
       CMPI                           001---                        Integer Compare Immediate
       ADDI                           104---                        Integer Add Immediate
       LADI                           003---                        Logical Add Immediate




                Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               17 -10
TNS Instruction Set                                               TNS Alphabetical List of Instructions



      32-Bit Signed Arithmetic

       CDI                            000307                        Convert Double to Integer
       CID                            000327                        Convert Integer to Double
       DADD                           000220                        Double Add
       DSUB                           000221                        Double Subtract
       DMPY                           000222                        Double Multiply
       DDIV                           000223                        Double Divide
       DNEG                           000224                        Double Negate
       DCMP                           000225                        Double Compare
       DTST                           000031                        Double Test
       MOND                           000001                        (Load) Minus One Double
       ZERD                           000002                        (Load) Zero Double
       ONED                           000003                        (Load) One Double

      16-Bit Signed Arithmetic (Register Stack Environment)

       ADRA                           00014-                        Add Register to A
       SBRA                           00015-                        Subtract Register from A
       ADAR                           00016-                        Add A to Register
       SBAR                           00017-                        Subtract A from Register
       ADXI                           104---                        Add to Index Immediate

      Decimal Arithmetic Load and Store

       QLD                            00023-                        Quadruple Load
       QST                            00023-                        Quadruple Store

      Decimal Integer Arithmetic

       QADD                           000240                        Quadruple Add
       QSUB                           000241                        Quadruple Subtract
       QMPY                           000242                        Quadruple Multiply
       QDIV                           000243                        Quadruple Divide
       QNEG                           000244                        Quadruple Negate
       QCMP                           000245                        Quadruple Compare



                Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               17 -11
TNS Instruction Set                                               TNS Alphabetical List of Instructions



      Decimal Arithmetic Scaling and Rounding

       QUP                              00025-                       Quadruple Scale Up
       QDWN                             00025-                       Quadruple Scale Down
       QRND                             000263                       Quadruple Round

      Decimal Arithmetic Conversions

       CQI                     000264                 Convert Quad to Integer
       CQL                     000246                 Convert Quad to Logical
       CQD                     000247                 Convert Quad to Double
       CQA                     000260                 Convert Quad to ASCII
       CIQ                     000266                 Convert Integer to Quad
       CLQ                     000267                 Convert Logical to Quad
       CDQ                     000265                 Convert Double to Quad
       CAQ                     000262                 Convert ASCII to Quad
       CAQV                    000261                 Convert ASCII to Quad with Initial Value

      Floating-Point Arithmetic

       FADD                    000270                 Floating-Point Add
       FSUB                    000271                 Floating-Point Subtract
       FMPY                    000272                 Floating-Point Multiply
       FDIV                    000273                 Floating-Point Divide
       FNEG                    000274                 Floating-Point Negate
       FCMP                    000275                 Floating-Point Compare

      Extended Floating-Point Arithmetic

       EADD                    000300                 Extended Floating-Point Add
       ESUB                    000301                 Extended Floating-Point Subtract
       EMPY                    000302                 Extended Floating-Point Multiply
       EDIV                    000303                 Extended Floating-Point Divide
       ENEG                    000304                 Extended Floating-Point Negate
       ECMP                    000305                 Extended Floating-Point Compare




                Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               17 -12
TNS Instruction Set                                               TNS Alphabetical List of Instructions



      Floating-Point Conversions

       CEF                     000276                 Convert Extended to Floating
       CEFR                    000277                 Convert Extended to Floating, Rounded
       CFI                     000311                 Convert Floating to Integer
       CFIR                    000310                 Convert Floating to Integer, Rounded
       CFD                     000312                 Convert Floating to Double
       CFDR                    000313                 Convert Floating to Double, Rounded
       CED                     000314                 Convert Extended to Double
       CEDR                    000315                 Convert Extended to Double, Rounded
       CEI                     000337                 Convert Extended to Integer
       CEIR                    000316                 Convert Extended to Integer, Rounded
       CFQ                     000320                 Convert Floating to Quad
       CFQR                    000321                 Convert Floating to Quad, Rounded
       CEQ                     000322                 Convert Extended to Quad
       CEQR                    000323                 Convert Extended to Quad, Rounded
       CFE                     000325                 Convert Floating to Extended
       CIF                     000331                 Convert Integer to Floating
       CDF                     000306                 Convert Double to Floating
       CDFR                    000326                 Convert Double to Floating, Rounded
       CQF                     000324                 Convert Quad to Floating
       CQFR                    000330                 Convert Quad to Floating, Rounded
       CIE                     000332                 Convert Integer to Extended
       CDE                     000334                 Convert Double to Extended
       CQE                     000336                 Convert Quad to Extended
       CQER                    000335                 Convert Quad to Extended, Rounded

      Floating-Point Functionals

       IDX1                    000344                 Calculate Index, 1 Dimension
       IDX2                    000345                 Calculate Index, 2 Dimensions
       IDX3                    000346                 Calculate Index, 3 Dimensions
       IDXP                    000347                 Calculate Index, Bounds in Code Space
       IDXD                    000317                 Calculate Index, Bounds in Data Space




                Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               17 -13
TNS Instruction Set                                                TNS Alphabetical List of Instructions



      Register Stack Manipulation

       EXCH                    000004                 Exchange A with B
       DXCH                    000005                 Double Exchange
       DDUP                    000006                 Double Duplicate
       STAR                    00011-                 Store A in a Register
       NSAR                    00012-                 Nondestructive Store A in a Register
       LDRA                    00013-                 Load A from a Register
       LDI                     100---                 Load Immediate
       LDXI                    10----                 Load Index Immediate
       LDLI                    005---                 Load Left Immediate

      Boolean Operations

       LAND                    000010                 Logical AND
       LOR                     000011                 Logical OR
       XOR                     000012                 Exclusive OR
       NOT                     000013                 NOT
       ORRI                    004---                 OR Right Immediate
       ORLI                    0044--                 OR Left Immediate
       ANRI                    006---                 AND Right Immediate
       ANLI                    007---                 AND Left Immediate

      Bit Shift and Deposit

       DPF                     000014                 Deposit Field
       LLS                     0300--                 Logical Left Shift
       DLLS                    1300--                 Double Logical Left Shift
       LRS                     0301--                 Logical Right Shift
       DLRS                    1301--                 Double Logical Right Shift
       ALS                     0302--                 Arithmetic Left Shift
       DALS                    1302--                 Double Arithmetic Left Shift
       ARS                     0303--                 Arithmetic Right Shift
       DARS                    1303--                 Double Arithmetic Right Shift




                Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               17 -14
TNS Instruction Set                                                TNS Alphabetical List of Instructions



      BYTE Test

       BTST                    000007                 Byte Test

      Memory Stack to/from Register Stack

       LWP                     -2----                 Load Word from Program
       LBP                     -2-4--                 Load Byte from Program
       PUSH                    024---                 Push Registers to Memory
       POP                     124---                 Pop Memory to Registers
       LWXX                    0254--, 0264--         Load Word Extended, Indexed
       SWXX                    0255--, 0265--         Store Word Extended, Indexed
       LBXX                    0256--, 0266--         Load Byte Extended, Indexed
       SBXX                    0257--, 0267--         Store Byte Extended, Indexed
       LDX                     -3----                 Load Index
       NSTO                    -34---                 Nondestructive Store
       LOAD                    -4----                 Load Word
       STOR                    -44---                 Store Word
       LDB                     -5----                 Load Byte
       STB                     -54---                 Store Byte
       LDD                     -6----                 Load Double
       STD                     -64---                 Store Double
       LADR                    -7----                 Load Address of Variable
       ADM                     -74---                 Add to Memory




                Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               17 -15
TNS Instruction Set                                               TNS Alphabetical List of Instructions



      Load and Store via Address on Register Stack

       ANS                     000034                 AND to SG Memory
       ORS                     000035                 OR to SG Memory
       ANG                     000044                 AND to Current Data
       ORG                     000045                 OR to Current Data
       ANX                     000046                 AND to Extended Memory
       ORX                     000047                 OR to Extended Memory
       LWUC                    000342                 Load Word from User Code Segment
       LWAS                    000350                 Load Word via A from System
       LWA                     000360                 Load Word via A
       SWAS                    000351                 Store Word via A into System
       SWA                     000361                 Store Word via A
       LDAS                    000352                 Load Double via A from System
       LDA                     000362                 Load Double via A
       SDAS                    000353                 Store Double via A into System
       SDA                     000363                 Store Double via A
       LBAS                    000354                 Load Byte via A from System
       LBA                     000364                 Load Byte via A
       SBAS                    000355                 Store Byte via A into System
       SBA                     000365                 Store Byte via A
       DFS                     000357                 Deposit Field into System Data
       DFG                     000367                 Deposit Field in Current Data
       LBX                     000406                 Load Byte Extended
       SBX                     000407                 Store Byte Extended
       LWX                     000410                 Load Word Extended
       SWX                     000411                 Store Word Extended
       LDDX                    000412                 Load Doubleword Extended
       SDDX                    000413                 Store Doubleword Extended
       LQX                     000414                 Load Quadrupleword Extended
       SQX                     000415                 Store Quadrupleword Extended
       DFX                     000416                 Deposit Field Extended
       SCS                     000444                 Set Code Segment
       LQAS                    000445                 Load Quadrupleword via A from SG *
       SQAS                    000446                 Store Quadrupleword via A to SG *

                Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               17 -16
TNS Instruction Set                                               TNS Alphabetical List of Instructions



      Branching

       BIC                     -10---                Branch if Carry
       BUN                     -104--                Branch Unconditionally
       BOX                     -1-4--                Branch on Index
       BGTR                    -11---                Branch if CC Greater
       BEQL                    -12---                Branch if CC Equal
       BGEQ                    -13---                Branch if CC Greater or Equal
       BLSS                    -14---                Branch if CC Less
       BAZ                     -144--                Branch if A Zero
       BNEQ                    -15---                Branch if CC Not Equal
       BANZ                    -154--                Branch if A Not Zero
       BLEQ                    -16---                Branch if CC Less or Equal
       BNOV                    -164--                Branch if no Overflow
       BNOC                    -17---                Branch if no Carry
       BFI                     000030                Branch Forward Indirect

      Moves, Compares, Scans, and Checksum Computations

       MNGG                    000226                Move Words While Not Duplicate
       CDG                     000366                Count Duplicate Words
       MOVW                    026---                Move Words
       MOVB                    126---                Move Bytes
       COMW                    0262--                Compare Words
       COMB                    1262--                Compare Bytes
       SBW                     1264--                Scan Bytes While
       SBU                    1266--                 Scan Bytes Until
       MNDX                    000227                Move Words While Not Duplicate, Extended
       XSMX                   000333                 Checksum Extended Block
       XSMG                   000343                 Compute Checksum in Current Data
       CDX                     000356                Count Duplicate Words Extended
       MVBX                    000417                Move Bytes Extended
       MBXR                    000420                Move Bytes Extended Reverse
       MBXX                    000421                Move Bytes Extended, and Checksum
       CMBX                    000422                Compare Bytes Extended


                Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               17 -17
TNS Instruction Set                                               TNS Alphabetical List of Instructions



      Program Register Control

       SETL                      000020                  Set L Register
       SETS                      000021                  Set S Register
       SETE                      000022                  Set ENV Register
       SETP                      000023                  Set P Register
       RDE                       000024                  Read ENV Register
       RDP                       000025                  Read P Register
       STRP                      00010-                  Set Register Pointer
       ADDS                      002---                  Add to S Register
       CCL                       000015                  Set CC Less
       CCE                       000016                  Set CC Equal
       CCG                       000017                  Set CC Greater

      Routine Calls/Returns

       PCAL                      027---                  Procedure Call
       XCAL                      127---                  External Procedure Call
       SCMP                      000454                  Set Code Map
       DPCL                      000032                  Dynamic Procedure Call
       EXIT                      125---                  Exit from Procedure
       DXIT                      000072                  DEBUG Exit *
       BSUB                      -174--                  Branch to Subprocedure
       RSUB                      025---                  Return from Subprocedure

      Interrupt System

       RIR                      000063                   Reset INT Register *
       XMSK                     000064                   Exchange MASK Register *
       IXIT                     000071                   Exit from Interrupt Handler *
       DISP                     000073                   Dispatch *
       RIBA                     000440                   Read INTA and INTB Registers *

      Bus Communication

       TOTQ                      000056                  Test Out Queues **
       SEND                      000065                  Send Packet *

                Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               17 -18
TNS Instruction Set                                                 TNS Alphabetical List of Instructions



      Input/Output

       RSW                     000026                 Read Switch Register
       SSW                     000027                 Set Switch Register
       EIO                     000060                 Execute I/O *
       IIO                     000061                 Interrogate I/O *
       HIIO                    000062                 High-Priority Interrogate I/O *
       RCHN                    000447                 Reset I/O Channel *
       LIOC                    000457                 Load IOC *
       SIOC                    000460                 Store IOC *
       XIOC                    000462                 Exchange IOC entries *
       RIOC                    000510                 Read EIOC table entry *
       WIOC                    000511                 Write EIOC table entry *
       EIOC                    000512                 Exchange EIOC table entries *

      Miscellaneous

       NOP                     000000                 No Operation
       RCLK                    000050                 Read Clock
       RCPU                    000051                 Read Processor Number
       BPT                     000451                 Instruction Breakpoint Trap
       RUS                     000461                 Read Micro State *
       BIKE                    000464                 Bicycle While Idle *




                Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               17 -19
TNS Instruction Set                                                 TNS Alphabetical List of Instructions



      Resource Management

       MXON                   000040                 Mutual Exclusion On *
       MXFF                   000041                 Mutual Exclusion Off *
       SNDQ                   000052                 Signal a Send Is Queued *
       SFRZ                   000053                 System Freeze *
       DOFS                   000057                 Disk Record Offset **
       DLEN                   000070                 Disk Record Length **
       HALT                   000074                 Processor Halt *
       PSEM                   000076                 "P" a Semaphore *
       VSEM                   000077                 "V" a Semaphore *
       VWCS                   000401                 Verify LCS *
       WWCS                   000400                 Write LCS *
       RWCS                   000402                 Read LCS *
       FRST                   000405                 Firmware Reset *
       RSMT                   000436                 Read from Operations & Service Processor *
       WSMT                   000437                 Write to Operations & Service Processor *
       RPT                    000442                 Read Process Timer *
       SPT                    000443                 Set Process Timer *
       BCLD                   000452                 Bus Cold Load *
       SRST                   000455                 Soft Reset *
       DDTX                   000456                 DDT Request *




                Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               17 -20
TNS Instruction Set                                               TNS Alphabetical List of Instructions



      Memory Management

       MAPS                   000042                 Map In a Segment *
       SMAP                   000067                 Set Map *
       CRAX                   000423                 Convert Relative to Absolute Extended *
       RSPT                   000424                 Read Segment Page Table Entry *
       WSPT                   000425                 Write Segment Page Table Entry *
       RXBL                   000426                 Read Extended Base and Limit *
       SXBL                   000427                 Set Extended Base and Limit *
       LCKX                   000430                 Lock Down Extended Memory *
       ULKX                   000431                 Unlock Extended Memory *
       CMRW                   000432                 Correctable Memory Error Read/Write *
       SVMP                   000441                 Save Map Entries *
       BNDW                   000450                 Bounds Test Words *
       SCPV                   000463                 Set Current Process Variables *
       ASPT                   000470                 Address of Segment Page Table Header *

      List Management

       DLTE                    000054                  Delete Element from List *
       INSR                    000055                  Insert Element into List *
       MRL                     000075                  Merge onto Ready List *
       FTL                     000206                  Find Position in Time List *
       DTL                     000207                  Determine Time Left for Element

      Trace and Breakpoints

       TRCE                    000217                  Add Entry to Trace Table *
       SMBP                    000404                  Set Memory Breakpoint *




                Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               17 -21
TNS Instruction Set                                               TNS Alphabetical List of Instructions




                Guardian Programming Reference Summary for pTAL and TAL —522631-001
                                               17 -22

522631 001(Guardian Reference)

  • 1.
    Guardian Programming Reference Summaryfor pTAL and TAL Abstract This summary provides a quick reference to information required for Guardian programming in pTAL and TAL. Product Version G09 Supported Releases This manual supports G06.15 and all subsequent releases until otherwise indicated in a new edition. Part Number Published 522631-001 February 2002
  • 2.
    Document History PartNumber Product Version Published 098691 D20 September 1993 114339 D30 March 1995 138788 G06.03 December 1998 422954-001 G06.06 August 1999 522631-001 G09 February 2002 Ordering Information For manual ordering information: domestic U.S. customers, call 1-800-243-6886; international customers, contact your local sales representative. Document Disclaimer Information contained in a manual is subject to change without notice. Please check with your authorized representative to make sure you have the most recent information. Export Statement Export of the information contained in this manual may require authorization from the U.S. Department of Commerce. Examples Examples and sample programs are for illustration only and may not be suited for your particular purpose. The inclusion of examples and sample programs in the documentation does not warrant, guarantee, or make any representations regarding the use or the results of the use of any examples or sample programs in any documentation. You should verify the applicability of any example or sample program before placing the software into productive use. U.S. Government Customers FOR U.S. GOVERNMENT CUSTOMERS REGARDING THIS DOCUMENTATION AND THE ASSOCIATED SOFTWARE: These notices shall be marked on any reproduction of this data, in whole or in part. NOTICE: Notwithstanding any other lease or license that may pertain to, or accompany the delivery of, this computer software, the rights of the Government regarding its use, reproduction and disclosure are as set forth in Section 52.227-19 of the FARS Computer Software—Restricted Rights clause. RESTRICTED RIGHTS NOTICE: Use, duplication, or disclosure by the Government is subject to the restrictions as set forth in subparagraph (c)(1)(ii) of the Rights in Technical Data and Computer Software clause at DFARS 52.227-7013. RESTRICTED RIGHTS LEGEND: Use, duplication or disclosure by the Government is subject to restrictions as set forth in paragraph (b)(3)(B) of the rights in Technical Data and Computer Software clause in DAR 7-104.9(a). This computer software is submitted with “restricted rights.” Use, duplication or disclosure is subject to the restrictions as set forth in NASA FAR SUP 18-52 227-79 (April 1985) “Commercial Computer Software—Restricted Rights (April 1985).” If the contract contains the Clause at 18-52 227-74 “Rights in Data General” then the “Alternate III” clause applies. U.S. Government Users Restricted Rights — Use, duplication or disclosure restricted by GSA ADP Schedule Contract. Unpublished — All rights reserved under the Copyright Laws of the United States.
  • 3.
    Guardian Programming Reference Summary for pTAL and TAL Tables What’s New in This Manual iii Manual Information iii New and Changed Information iv About This Manual v Your Comments Invited v Notation Conventions v Compaq Computer Corporation —522631-001 i
  • 4.
    Contents 1. Process Name and ID Formats 1. Process Name and ID Formats 2. File Codes 3. Device Types and Subtypes 4. Procedure Calls Summary (A-C) 5. Procedure Calls Summary (D-F) 6. Procedure Calls Summary (G-N) 7. Procedure Calls Summary (O-Q) 8. Procedure Calls Summary (R-Z) 9. CONTROL Operations 10. SET^FILE Operations 11. SETMODE Operations 12. Completion Codes 13. Traps 14. Interprocess Messages 15. Error Codes 16. ASCII Character Set 17. TNS Instruction Set TNS Alphabetical List of Instructions 17-1 Tables Table 3-1. Device Types and Subtypes (page 1 of 14) 3-1 Table 9-1. CONTROL Operation 1 9-1 Table 9-2. CONTROL Operations 2 - 27 9-3 Table 10-1. SET^FILE Operations That Set Values 10-1 Table 10-2. SET^FILE Operations That Set Addresses 10-8 Guardian Programming Reference Summary for pTAL and TAL —522631-001 ii
  • 5.
    What’s New inThis Manual Manual Information Guardian Programming Reference Summary for pTAL and TAL Abstract This summary provides a quick reference to information required for Guardian programming in pTAL and TAL. Product Version G09 Supported Releases This manual supports G06.15 and all subsequent releases until otherwise indicated in a new edition. Part Number Published 522631-001 February 2002 Document History Part Number Product Version Published 098691 D20 September 1993 114339 D30 March 1995 138788 G06.03 December 1998 422954-001 G06.06 August 1999 522631-001 G09 February 2002 Guardian Programming Reference Summary for pTAL and TAL —522631-001 iii
  • 6.
    What’s New inThis Manual New and Changed Information New and Changed Information This revision of the Guardian Programming Reference Summary for pTAL and TAL includes the following changes: • An entry has been added to Section 4, Procedure Calls Summary (A-C), for the CPU_GETINFOLIST procedure that directs users to the PROCESSOR_GETINFOLIST_ documentation. • The unsupported proc call GETSYSTEMSERIALNUMBER has been removed from Section 6, Procedure Calls Summary (G-N). • Table 3-1, Device Types and Subtypes, on page 3-1, has been updated to include an entry for the 4619 disk drive. Guardian Programming Reference Summary for pTAL and TAL —522631-001 iv
  • 7.
    About This Manual YourComments Invited After using this manual, please take a moment to send us your comments. You can do this by returning a Reader Comment Card or by sending an Internet mail message. A Reader Comment Card is located at the back of printed manuals and as a separate file on the Tandem User Documentation disc. You can either fax or mail the card to us. The fax number and mailing address are provided on the card. Also provided on the Reader Comment Card is an Internet mail address. When you send an Internet mail message to us, we immediately acknowledge receipt of your message. A detailed response to your message is sent as soon as possible. Be sure to include your name, company name, address, and phone number in your message. If your comments are specific to a particular manual, also include the part number and title of the manual. Many of the improvements you see in Tandem manuals are a result of suggestions from our customers. Please take this opportunity to help us improve future manuals. Notation Conventions General Syntax Notation The following list summarizes the notation conventions for syntax presentation in this manual. UPPERCASE LETTERS. Uppercase letters indicate keywords and reserved words; enter these items exactly as shown. Items not enclosed in brackets are required. For example: MAXATTACH lowercase italic letters. Lowercase italic letters indicate variable items that you supply. Items not enclosed in brackets are required. For example: file-name [ ] Brackets. Brackets enclose optional syntax items. For example: TERM [system-name.]$terminal-name INT[ERRUPTS] A group of items enclosed in brackets is a list from which you can choose one item or none. The items in the list may be arranged either vertically, with aligned brackets on each side of the list, or horizontally, enclosed in a pair of brackets and separated by vertical lines. For example: LIGHTS [ ON ] [ OFF ] [ SMOOTH [ num ] ] K [ X | D ] address-1 Guardian Programming Reference Summary for pTAL and TAL —522631-001 v
  • 8.
    About This Manual General Syntax Notation { } Braces. A group of items enclosed in braces is a list from which you are required to choose one item. The items in the list may be arranged either vertically, with aligned braces on each side of the list, or horizontally, enclosed in a pair of braces and separated by vertical lines. For example: LISTOPENS PROCESS { $appl-mgr-name } { $process-name } ALLOWSU { ON | OFF } | Vertical Line. A vertical line separates alternatives in a horizontal list that is enclosed in brackets or braces. For example: INSPECT { OFF | ON | SAVEABEND } … Ellipsis. An ellipsis immediately following a pair of brackets or braces indicates that you can repeat the enclosed sequence of syntax items any number of times. For example: M address-1 [ , new-value ]... [ - ] {0|1|2|3|4|5|6|7|8|9}... An ellipsis immediately following a single syntax item indicates that you can repeat that syntax item any number of times. For example: "s-char..." Punctuation. Parentheses, commas, semicolons, and other symbols not previously described must be entered as shown. For example: error := NEXTFILENAME ( file-name ) ; LISTOPENS SU $process-name.#su-name Quotation marks around a symbol such as a bracket or brace indicate that the symbol is a required character that you must enter as shown. For example: "[" repetition-constant-list "]" Item Spacing. Spaces shown between items are required unless one of the items is a punctuation symbol such as a parenthesis or a comma. For example: CALL STEPMOM ( process-id ) ; If there is no space between two items, spaces are not permitted. In the following example, there are no spaces permitted between the period and any other items: $process-name.#su-name Line Spacing. If the syntax of a command is too long to fit on a single line, each continuation line is indented three spaces and is separated from the preceding line by a blank line. This spacing distinguishes items in a continuation line from items in a vertical list of selections. For example: ALTER [ / OUT file-spec / ] CONTROLLER [ , attribute-spec ]... Guardian Programming Reference Summary for pTAL and TAL —522631-001 vi
  • 9.
    About This Manual Notation for Messages !i and !o. In procedure calls, the !i notation follows an input parameter (one that passes data to the called procedure); the !o notation follows an output parameter (one that returns data to the calling program). For example: CALL CHECKRESIZESEGMENT ( segment-id !i , error ) ; !o !i,o. In procedure calls, the !i,o notation follows an input/output parameter (one that both passes data to the called procedure and returns data to the calling program). For example: error := COMPRESSEDIT ( filenum ) ; !i,o !i:i. In procedure calls, the !i:i notation follows an input string parameter that has a corresponding parameter specifying the length of the string in bytes. For example: error := FILENAME_COMPARE_ ( filename1:length !i:i , filename2:length ) ; !i:i !o:i. In procedure calls, the !o:i notation follows an output buffer parameter that has a corresponding input parameter specifying the maximum length of the output buffer in bytes. For example: error := FILE_GETINFO_ ( filenum !i , [ filename:maxlen ] ) ; !o:i Notation for Messages The following list summarizes the notation conventions for the presentation of displayed messages in this manual. Bold Text. Bold text in an example indicates user input entered at the terminal. For example: ENTER RUN CODE ?123 CODE RECEIVED: 123.00 The user must press the Return key after typing the input. Nonitalic text. Nonitalic letters, numbers, and punctuation indicate text that is displayed or returned exactly as shown. For example: Backup Up. lowercase italic letters. Lowercase italic letters indicate variable items whose values are displayed or returned. For example: p-register process-name Guardian Programming Reference Summary for pTAL and TAL —522631-001 vii
  • 10.
    About This Manual Notation for Management Programming Interfaces [ ] Brackets. Brackets enclose items that are sometimes, but not always, displayed. For example: Event number = number [ Subject = first-subject-value ] A group of items enclosed in brackets is a list of all possible items that can be displayed, of which one or none might actually be displayed. The items in the list might be arranged either vertically, with aligned brackets on each side of the list, or horizontally, enclosed in a pair of brackets and separated by vertical lines. For example: LDEV ldev [ CU %ccu | CU %... ] UP [ (cpu,chan,%ctlr,%unit) ] { } Braces. A group of items enclosed in braces is a list of all possible items that can be displayed, of which one is actually displayed. The items in the list might be arranged either vertically, with aligned braces on each side of the list, or horizontally, enclosed in a pair of braces and separated by vertical lines. For example: LBU { X | Y } POWER FAIL process-name State changed from old-objstate to objstate { Operator Request. } { Unknown. } | Vertical Line. A vertical line separates alternatives in a horizontal list that is enclosed in brackets or braces. For example: Transfer status: { OK | Failed } % Percent Sign. A percent sign precedes a number that is not in decimal notation. The % notation precedes an octal number. The %B notation precedes a binary number. The %H notation precedes a hexadecimal number. For example: %005400 P=%p-register E=%e-register Notation for Management Programming Interfaces The following list summarizes the notation conventions used in the boxed descriptions of programmatic commands, event messages, and error lists in this manual. UPPERCASE LETTERS. Uppercase letters indicate names from definition files; enter these names exactly as shown. For example: ZCOM-TKN-SUBJ-SERV lowercase letters. Words in lowercase letters are words that are part of the notation, including Data Definition Language (DDL) keywords. For example: token-type !r. The !r notation following a token or field name indicates that the token or field is required. For example: ZCOM-TKN-OBJNAME token-type ZSPI-TYP-STRING. !r Guardian Programming Reference Summary for pTAL and TAL —522631-001 viii
  • 11.
    About This Manual Change Bar Notation !o. The !o notation following a token or field name indicates that the token or field is optional. For example: ZSPI-TKN-MANAGER token-type ZSPI-TYP-FNAME32. !o Change Bar Notation Change bars are used to indicate substantive differences between this edition of the manual and the preceding edition. Change bars are vertical rules placed in the right margin of changed portions of text, figures, tables, examples, and so on. Change bars highlight new or revised information. For example: The message types specified in the REPORT clause are different in the COBOL85 environment and the Common Run-Time Environment (CRE). The CRE has many new message types and some new message type codes for old message types. In the CRE, the message type SYSTEM includes all messages except LOGICAL-CLOSE and LOGICAL-OPEN. Guardian Programming Reference Summary for pTAL and TAL —522631-001 ix
  • 12.
    About This Manual Change Bar Notation Guardian Programming Reference Summary for pTAL and TAL —522631-001 x
  • 13.
    1 Process Name and ID Formats D-Series Process File Name Formats The syntax for a process file name that identifies an unnamed process is: [node]$:cpu:pin:seq-no The syntax for a process file name that identifies a named process is: [node]process-name[:seq-no][.qual-l[.qual-2]] node specifies the name of the node on which the process is running. A node name consists of a backslash () followed by as many as seven alphanumeric characters; the first alphanumeric character must be a letter. cpu specifies the number of the processor in which the process is running. The value of cpu is one or two digits representing a value in the range 0 through 15. pin specifies the PIN (process identification number) of the process. The value of pin is from one through five digits representing a value in the range 0 through the maximum value allowed for the processor. seq-no specifies the system-assigned sequence number of the process. The parameter seq-no has a maximum of 13 digits. Any leading zeroes are suppressed. process-name specifies the name of the process. A process name consists of a dollar sign ($) followed by as many as five alphanumeric characters; the first alphanumeric character must be a letter. qual-1 and qual-2 are optional qualifiers. The first qualifier consists of a pound sign (#) followed by as many as seven alphanumeric characters; the first alphanumeric character must be a letter. The second qualifier contains from one through eight alphanumeric characters; the first character must be a letter. Guardian Programming Reference Summary for pTAL and TAL —522631-001 1 -1
  • 14.
    Process Name andID Formats Process Descriptors A process descriptor is a form of process file name that always includes the node and seq-no sections of the name; when identifying a named process, it never includes the optional qualifiers qual-1 or qual-2. Operating system procedures always use the external file-name notation when returning a process descriptor. Process Handles A process handle is a 10-word structure that identifies a single named or unnamed process. Guardian Programming Reference Summary for pTAL and TAL —522631-001 1 -2
  • 15.
    2 File Codes For additional information about file codes, refer to the Guardian Procedure Errors and Messages Manual. . File Code Description 100 TNS object file 101 EDIT-format file 110 EDIT VS recovery file 111 EDIT VS stack dump file (data area image) 115 TEDIT TEDPROFL file 120-128 Spooler control files 129 Spooler job file 130 Inspect save file 134 TMF audit-trail file 170 XRAYSCAN structured output files for Enform reports 175 Measure data file 176 NonStop SQL Table file for Surveyor 180 C data file 223 Enable log file 230-232 Ada data file 250 Transfer profile file 251 Transfer session file 252 Transfer item descriptor file 253 Transfer recipient file 254 Transfer folder file 255 Transfer item data file 256 Transfer distribution list file 257 Transfer ready file 258 Transfer time file 259 Transfer network file 260 Transfer inverted folder file 261 Transfer restart file 262 Transfer name file 263 Transfer DIN file Guardian Programming Reference Summary for pTAL and TAL —522631-001 2 -1
  • 16.
    File Codes File Code Description 264 Transfer alias file 265 Transfer trace file 266 Transfer queue file 267 Transfer inverted attachment file 268 Transfer external objects file 275 Transfer WORDLINK and Translator format name file 276 Transfer WORDLINK and Translator character map file 277 Transfer WORDLINK and Translator batch gateway configuration file 278 Transfer WORDLINK and Translator format type file 280 Transfer WORDLINK and Translator text server text file 281 Transfer System Management Monitor database monitor sample file 282 Transfer System Management Monitor queue monitor sample file 283-299 Transfer files 300 TPS (Pathway) TCL program directory file 301 TPS (Pathway) TCL program code file 302 TPS (Pathway) SCREEN COBOL symbol file 303-304 TPS (Pathway) files 305 TPS (Pathway) TCP data area swap file 306 TPS (Pathway) AM control file 307 TPS (Pathway) Path TCP dump file 308 TPS (Pathway) Pathway trace file 309 TPS (Pathway) PATHMON stack dump file 310-399 TPS (Pathway) files 400 Tape simulator control file 401 Tape simulator data file 410 EXERCISE message file 411 EXERCISE error information file 412-419 EXERCISE files 430 EXERCISE Tandump segmented save file 440 TACL saved variable segment file 450 C00 file server and ViewPoint status display configuration file 451 Event display configuration file 500 NonStop II processor microcode file 502 NonStop II microcode file for SHADOW Guardian Programming Reference Summary for pTAL and TAL —522631-001 2 -2
  • 17.
    File Codes File Code Description 505 5106 Tri-Density tape drive microcode object file 510 Standard (unformatted) microcode file 520 NonStop TXP processor microcode file 521 GASM-format microcode object file 525 NonStop VLX processor microcode file 540-549 Safeguard files 550-599 NonStop SQL files 600 MUMPS global file 601 MUMPS routine file 602 MUMPS global directory file 603-620 MUMPS files 660 Encore capture file 661-669 Encore files 700 Native object file 830-831 Comm trace files 832-833 Comm configuration files 834-835 Comm configuration database files 840 SNAX utility output file 841 COUP database file 842 COUP process image file 843 EMS logger file 844 EMS formatter template 845 EMS compiled filter 846 Cover files 847-848 NetBatch files 849 DNS configuration file 850 DNS database file 851 SNAX5 configuration file 852 NonStop CLX shutdown file 853-854 Optical disk files 855 FUP restart file 888 Enform compiled query file 904 Exchange trace file Guardian Programming Reference Summary for pTAL and TAL —522631-001 2 -3
  • 18.
    File Codes Guardian Programming Reference Summary for pTAL and TAL —522631-001 2 -4
  • 19.
    3 Device Types and Subtypes Table 3-1. Device Types and Subtypes (page 1 of 14) Sub Type Device type D-Series Description G-Series Description 0 Process 0 Default subtype for general Default subtype for use general use 1-49 Reserved for definition by Reserved for definition by Tandem. The following Tandem. The following subtypes are defined: subtypes are defined: 1 = CMI process 1 = CMI process 2 = Security monitor process 2 = Security monitor 30 = Device simulation process process 30 = WANBOOT process 31 = Spooler collector 31 = Spooler collector process process 48 = TFTP server process 49 = SNMP trap multiplexor 50- For general use For general use 63 1 Operator con- 0 $0 (operator process) or $0 (operator process) or sole alternate collector alternate collector 1 $0.#ZSPI ($0 opened to $0.#ZSPI ($0 opened to receive SPI commands) receive SPI commands) 2 $Z0 (compatibility $Z0 (compatibility distributor) distributor) 2 $RECEIVE 0 3 Disk 2 4103 (160 MB formatted N.A. capacity) 3 4104 (240 MB formatted N.A. capacity) 4 4105 or 4106 (64 MB N.A. formatted capacity) 5 4109 (moving-head part, 64 N.A. MB formatted capacity) 6 4116 (540 MB formatted N.A. capacity) Guardian Programming Reference Summary for pTAL and TAL —522631-001 3 -1
  • 20.
    Device Types andSubtypes Table 3-1. Device Types and Subtypes (page 2 of 14) Sub Type Device type D-Series Description G-Series Description 3 Disk 7 4109 (fixed-head part, 1.45 N.A. MB formatted capacity) 8 4110, 4111 (128 MB N.A. formatted capacity) 4120 (V8) (128 MB N.A. formatted capacity) 9 4114 or 4115 (264 MB N.A. formatted capacity) 10 4130 (XL8) (415 MB N.A. formatted capacity) 16 4160 (V80) (265 MB N.A. formatted capacity) with 3125 controller 17 4210 (145 MB formatted N.A. capacity) 18 4170 (XL80) (895 MB N.A. formatted capacity) with 3129 controller 19 4220 (300 MB formatted N.A. capacity) with 3681 MFC 20 4580 (8 GB) with 3129 N.A. controller 21 4230 (648 MB formatted N.A. capacity) with 3681 MFC 22 4500 (1038 MB formatted N.A. capacity per spindle) with 3128 controller 23 4240 (1038 MB formatted N.A. capacity) with 3681 MFC 26 4330 (160 MB formatted N.A. capacity) 29 4250 (2 GB formatted N.A. capacity) with 3681 MFC 31 4510 (2 GB formatted N.A. capacity per spindle) with 3128 controller Guardian Programming Reference Summary for pTAL and TAL —522631-001 3 -2
  • 21.
    Device Types andSubtypes Table 3-1. Device Types and Subtypes (page 3 of 14) Sub Type Device type D-Series Description G-Series Description 3 Disk 33 4245 (1038 MB formatted N.A. capacity) with 3681 MFC 34 4255 (2 GB formatted N.A. capacity) with 3681 MFC 36 NonStop Storage Manage- ment Foundation (SMF) virtual disk process 38 4560 (2 GB formatted 4560 (2 GB formatted capaity per spindle) with capacity per spindle) with 3129 controller ServerNet/DA 39 4570 (4 GB) 4570 (4 GB) with ServerNet/DA 41 N.A. 4604 (4 GB) 42 N.A. 4608 (8 GB) 4609 (8 GB) 43 N.A. 4618 (18 GB) 43 N.A. 4619 (18 GB) (15,000 rpm) 44 N.A. 4636 (36 GB) 4580 4590 (18 GB) with ServerNet/DA 48 4590 (18 GB) 4590 (18 GB) with ServerNet/DA 56 5200 Optical Disk N.A. Subsystem (1.3 GB per volume) with 3128 controller 4 Magnetic tape 0 5101, 5103, 5104, 5110, N.A. unit 5114 (9-track, 45/125 ips) tape units with 3202 controller 1 5105 (7-track, 45 ips) tape N.A. unit with 3203 controller 2 5106 (tri density) master N.A. tape unit or 5107 slave unit with 3206 controller Guardian Programming Reference Summary for pTAL and TAL —522631-001 3 -3
  • 22.
    Device Types andSubtypes Table 3-1. Device Types and Subtypes (page 4 of 14) Sub Type Device type D-Series Description G-Series Description 3 5101, 5103, 5104, 5110, N.A. 5114 (9-track, 45/125 ips) tape units with 3207 controllers 4 Magnetic tape 4 5130 (9-track, 200 ips) N.A. unit master tape unit or 5131 slave unit with 3208 controller 5 5120 cartridge tape unit with N.A. 3209 or 3681 controller in 3681 MFC 6 5160 tape unit (1600 bits per 5170 tape unit (1600, inch, or bpi) or 5170 tape 6250 bpi) PMF/IOMF or unit (1600, 6250 bpi) with ServerNet/DA 3214 controller or 3681 MFC or PMF/IOMF 7 5130 master tape unit N.A. (9-track, 200 ips) or 5131 slave unit with 3211 controller 8 5180 tape unit (18 track, N.A. 38000 bpi) with 3215 controller 9 5190 tape unit (18 track, 5190 tape unit (18 track, 38000 bpi) with 3216 38000 bpi) or 5194 tape controller or 3681 MFC and unit (36 tracks, 38000 bpi) 5194 tape unit (36 tracks, with PMF, IOMF, or 38000 bpi) ServerNet/DA 10 5188 tape unit (38000 bpi) N.A. with 3217 controller 11 5142 DAT with PMF or IOMF 5 Printer 0 SNAX PRT protocol 1 5502, 5503, 5504, 5510, N.A. 5513, and 5514 (parallel printers) or 5518 parallel printer (for 7-bit data trans- fer) with 3601 UI 3 5508 (serial printer) Guardian Programming Reference Summary for pTAL and TAL —522631-001 3 -4
  • 23.
    Device Types andSubtypes Table 3-1. Device Types and Subtypes (page 5 of 14) Sub Type Device type D-Series Description G-Series Description 4 5520 (serial printer) 5 Printer 5 5510, 5513, 5514 (alternate N.A. character set) for parallel (band) printers or 5518 parallel printer (for 8-bit data transfer) with 3601 UI 6 5530 (letter-quality serial printer) 7 5515, 5516 dot matrix (parallel and serial printers) 5518 dot matrix (parallel printer) 8 5573 or 5574 laser (serial printer) 9 5512 dot matrix (serial printer) 10 5577 laser (serial printer) 32 ASYNC_PRT Device. Non- standard serial printers (DTR printer and 554x printers) 6 Terminal 0 Conversational mode (P/N Conversational mode (P/N 6401/6402) or 6401/6402) or PATP- ASYNC_TERM device TERM (non-Tandem) device 1 Page mode (P/N 6511, 6512) Page mode (P/N 6511, 6512) 2 Page mode (P/N 6520, 6524) Page mode (P/N 6520, 6524) 3 Page mode (P/N 6520 N.A. remote) ITI protocol for use by AM6520 4 Page mode (P/N 6526, 6528, Page mode (P/N 6526, 653x) 6528, 653x) 5 Page mode (P/N 6530 N.A. remote) ITI protocol for use by AM6520 6-10 Conversational mode Conversational mode Guardian Programming Reference Summary for pTAL and TAL —522631-001 3 -5
  • 24.
    Device Types andSubtypes Table 3-1. Device Types and Subtypes (page 6 of 14) Sub Type Device type D-Series Description G-Series Description 6 = 3277 (screen size 12x40) 6 = 3277 (screen size 12x40) 6 Terminal 7 = 3277 (screen size 24x80) 7 = 3277 (screen size 24x80) 8 = 3277 (screen size 32x80) 8 = 3277 (screen size 32x80) 9 = 3277 (screen size 43x80) 9 = 3277 (screen size 43x80) 10 = 3277 (screen size 10 = 3277 (screen size 12x80) 12x80) 11 6340 FaxLink 6340 FaxLink 16 Nonstandard device with 3606 controller, for read-continuous/type-ahead capability SNAX Interac- 20 3275-11, 3276-1 & -11, 3275-11, 3276-1 & -11, tive Terminal 3277-1, 3278-1 3277-1, 3278-1 Interface (ITI) Protocol 21 3275-12, 3276-2 & -12, 3275-12, 3276-2 & -12, 3277-2, 3278-2, 3277-2, 3278-2, 3178-C10, -C20, -C3, & - 3178-C10, -C20, -C3, & - C4, C4, 3191-A1K & -A2K, 3191-A1K & -A2K, 3279-2A, -2B, -S2A, -S2B, 3279-2A, -2B, -S2A, - & -02X, S2B, & -02X, 5578-001, -002, F-6652-A, 5578-001, -002, F-6652- & -C A, & -C 22 3276-3, 3278-3, 3277-3, 3276-3, 3278-3, 3277-3, 3279-3A, -3B, -S3G, & -03X 3279-3A, -3B, -S3G, & - 03X 23 3276-4 & -14, 3278-4, 3276-4 & -14, 3278-4, 3277-4, 6580-A04, -A06, - 3277-4, 6580-A04, -A06, A08, & -A10 -A08, & -A10 24 3278-5 3278-5 30 3262, 3284, 3286, 3282, 3262, 3284, 3286, 3282, 3289 3289 32 Hard-copy console 6603/6604 terminal Guardian Programming Reference Summary for pTAL and TAL —522631-001 3 -6
  • 25.
    Device Types andSubtypes Table 3-1. Device Types and Subtypes (page 7 of 14) Sub Type Device type D-Series Description G-Series Description 7 Envoy data 0 BISYNC, point-to-point, BISYNC, point-to-point, communica- nonswitched nonswitched tions line 1 BISYNC, point-to-point, BISYNC, point-to-point, switched switched 2 BISYNC, multipoint, BISYNC, multipoint, tributary tributary 3 BISYNC, multipoint, BISYNC, multipoint, supervisor supervisor 8 ADM-2, multipoint, ADM-2, multipoint, supervisor supervisor 9 TINET, multipoint, TINET, multipoint, supervisor supervisor 10 Burroughs, multipoint, Burroughs, multipoint, supervisor supervisor 11 Burroughs, point-to-point, Burroughs, point-to-point, contention contention 13 Burroughs, point-to-point, Burroughs, point-to-point, contention contention 30 Full duplex (FDX), out line Full duplex (FDX), out line 31 Full duplex (FDX), in line Full duplex (FDX), in line 32 NASDAQ, Full duplex NASDAQ, Full duplex (FDX), out line (FDX), out line 33 NASDAQ, Full duplex NASDAQ, Full duplex (FDX), in line (FDX), in line 40 Asynchronous line supervisor 50 Isochronous line N.A. 56 Automatic calling unit N.A. (ACU) 8 Open SCSI N.A. 9 Process-to-pro- 0 X25AM process cess interface Guardian Programming Reference Summary for pTAL and TAL —522631-001 3 -7
  • 26.
    Device Types andSubtypes Table 3-1. Device Types and Subtypes (page 8 of 14) Sub Type Device type D-Series Description G-Series Description 10 Terminal SNAX 0 327x CRT mode Interface 327x CRT mode Interface Cathode-Ray Tube (CRT) protocol 20 3275-11, 3276-1 & -11, 3275-11, 3276-1 & -11, 3277-1, 3278-1 3277-1, 3278-1 21 3275-12, 3276-2 & -12, 3275-12, 3276-2 & -12, 3277-2, 3278-2, 3277-2, 3278-2, 3178-C10, -C20, -C3, & - 3178-C10, -C20, -C3, & - C4, C4, 3279-2A, -2B, -S2A, -S2B, 3279-2A, -2B, -S2A, - & -02X S2B, & -02X 22 3276-3, 3278-3, 3277-3, 3276-3, 3278-3, 3277-3, 3279-3A, -3B, -S3G, & -03X 3279-3A, -3B, -S3G, & - 03X 23 3276-4 & -14, 3278-4, 3276-4 & -14, 3278-4, 3277-4, 6580-A04, -A06, - 3277-4, 6580-A04, -A06, A08, & -A10 -A08, & -A10 24 3278-5, 3276-5, 3277-5 3278-5, 3276-5, 3277-5 30 3262, 3284, 3286, 3287, 3262, 3284, 3286, 3287, 3289 3289 11 EnvoyACP/XF 40 FRMEXF or SDLCXF (synchronous data-link control) line 41 HDLCXF (high-level data-link control) line 42 ADCCP (advanced data communications control procedures) line 43 Frame protocol 12 Tandem-to-IBM 0 Link (TIL) 13 SNAX/XF or 5 SNASVM (Service SNAX/APN Manager Process) 14 SNALU 0 SNA Application Logical Unit (SNALU) 15 SNAX/3501 0 3501 Data Encryption 3501 Data Encryption Devices Devices Guardian Programming Reference Summary for pTAL and TAL —522631-001 3 -8
  • 27.
    Device Types andSubtypes Table 3-1. Device Types and Subtypes (page 9 of 14) Sub Type Device type D-Series Description G-Series Description 15 SNAX/3501 1 Key manager (ZKEY) Key manager (ZKEY) 3 High performance security High performance modules security modules NSP 4 Atalla A6000 Network Atalla A6000 Network Security Processor with 3605 Security Processor controller 19 IPX/SPX 0 Manager process Manager process 1 Protocol process Protocol process 20- NTM/MP 0 NonStop Transaction NonStop Transaction 23 Manager/MP Manager/MP 24 OSS Open System Services Open System Services 25 SMF pool 0 N.A. Storage pool process 26 Tandem Hyper- 0 Link (THL) 27 IPBMON 0 Interprocessor bus monitor Interprocessor bus moni- for Fiber Optic Extension tor for Fiber Optic (FOX) or TorusNet vertical Extension (FOX) or subsystem in TorusNet vertical sub- FOX-compatibility mode system in FOX-compatibility mode 5 $IPB1 (TorusNet vertical $IPB1 (TorusNet vertical subsystem master service subsystem master service manager in multiple-link manager in multiple-link mode) mode) 6 Service manager for Service manager for additional TorusNet vertical additional TorusNet verti- links cal links 28 $ZNUP 0 Network Utility Process 29 $ZMIOP 1 Subsystem manager 30 Optical disk unit 0 5200 Optical Storage N.A. Facility (OSF) disk drive with 3128 controller 1 5410 optical disk subsystem N.A. with 3219 controller 2 5411 optical disk subsystem N.A. with 3220 controller Guardian Programming Reference Summary for pTAL and TAL —522631-001 3 -9
  • 28.
    Device Types andSubtypes Table 3-1. Device Types and Subtypes (page 10 of 14) Sub Type Device type D-Series Description G-Series Description 30 Optical disk unit 3 5420 optical disk subsystem N.A. with 3220 controller 31 SNMP 0 NonStop SNMP Agent NonStop SNMP Agent 36 TandemTalk 1 AppleTalk Transaction N.A. Protocol (ATP) 2 AppleTalk Data Stream N.A. Protocol (ADSP) 3 AppleTalk Session Protocol N.A. (ASP) 4 AppleTalk Printer Access N.A. Protocol (PAP) 37 ISDN 0 Integrated Services Digital Integrated Services Network Subsystem Digital Network Sub- Manager system Manager 43 SLSA 0 N.A. ServerNet LAN Systems Access (SLSA) manager process (LAN MAN) 1 N.A. ServerNet LAN Systems Access (SLSA) monitor process (LAN MON) 44 any device type 0 44 is displayed as the type 44 is displayed as the type > 63 for any device with a device for any device with a type greater than 63. The device type greater than program is unable to return 63. The program is unable information on device types to return information on greater than 63. Use the device types greater than newer Guardian procedures 63. Use the newer (those that are not Guardian procedures superseded) to obtain (those that are not information on device types superseded) to obtain that are greater than 63. information on device types that are greater than 63. 45 QIO 0 Queued I/O Monitor Process Queue I/O Monitor Process 46 TELNET 0 TELNET Server Process TELNET Server Process 48 TCP/IP 0 49 SNAX/CDF 0 N.A. Guardian Programming Reference Summary for pTAL and TAL —522631-001 3- 10
  • 29.
    Device Types andSubtypes Table 3-1. Device Types and Subtypes (page 11 of 14) Sub Type Device type D-Series Description G-Series Description 50 CSM 0 Communications Subsystem N.A. Manager with 3650, 6100, or 6110 controller 1 Single-board (SBSCSM) N.A. with 3605 or 3606 controller 2 N.A. SWAN Concentrator Manager(CONMGR) 3 N.A. $ZZWAN WAN manager process 63 Subsystem Control Point Subsystem Control Point (SCP) (SCP) 51 CP6100 0 Line interface unit (LIU) Line interface unit (LIU) 1 Bisynchronous (BISYNC) Bisynchronous (BISYNC) point-to-point line point-to-point line 2 ADCCP line ADCCP line 3 TINET line N.A. 4 MPSB Burroughs multipoint MPSB Burroughs multipoint 52 SMF master 0 N.A. SMF master process 53 ATP6100 0 ASYNCTERMPROC: Terminals or serial printers attached to 3605, 6105, or 6110 controller (LIU-1) 1 ASYNCTERMPROC: Terminals or serial printers attached to 3606, 6105, or 6110 controller (LIU-4) 2 ASYNCPROC: ATP6100 lines on the 3681 multifunction controller 54 DDNAM 0 Non-3650 or non-6100 63 3650 or 6100 55 Open Systems 1 N.A. OSI/Application Services Interconnection (OSI/AS) Manager (OSI) 4 N.A. Transport service provider (TSP) Guardian Programming Reference Summary for pTAL and TAL —522631-001 3- 11
  • 30.
    Device Types andSubtypes Table 3-1. Device Types and Subtypes (page 12 of 14) Sub Type Device type D-Series Description G-Series Description 55 Open Systems 5 N.A. Tandem application, Interconnection presentation, and session (OSI) (TAPS) processes 11 N.A. OSI/Message Handling System (OSI/MHS) 12 N.A. OSI/Message Handling System (OSI/MHS) 20 N.A. OSI/FTAM Application Manager 21 N.A. OSI/FTAM Services 24 N.A. OSI/CMIP 25 N.A. OSI/FTAM Services 56 Multilan 0 MLAM line attached to the N.A. 3613, 3615, or 3616 TLAM controller 1 Network-basic input-output N.A. system (NETBIOS) 2 Dynamic Configuration N.A. Management 3 Controller Debug N.A. 4 SAP NAM (Expand) N.A. 5 Ethernet N.A. 6 Logical link control (LLC) N.A. type 1 57 GDS 0 General Device Support General Device Support 58 SNAX/XF or 0 SDLC (6203 or 6204) line SNAX/APN with 3604 controller 1 Line to 3605, 6100, or 6110 controller 2 Line attached to 3840, or N.A. 3841 SNAXLink controller (SNAX/XF only) 3 SNAX/XF Over X.25 (SOX) 4 Support for TLAM token-ring lines Guardian Programming Reference Summary for pTAL and TAL —522631-001 3- 12
  • 31.
    Device Types andSubtypes Table 3-1. Device Types and Subtypes (page 13 of 14) Sub Type Device type D-Series Description G-Series Description 59 AM6520 0 Line attached to a byte-syn- N.A. chronous controller 10 Line attached to 3605, 6100 N.A. CSS, or 6105 or 6110 CC 60 AM3270 0 Line attached to a byte- synchronous controller 10 Line attached to 3605, 6100 Line attached to SWAN CSS, or 6105 or 6110 CC concentrator TR3271 1 Line attached to a byte- synchronous controller 11 Line attached to 3605, 6100 Line attached to SWAN CSS, or 6105 or 6110 CC concentrator 61 X.25 0-61 Line attached to a 3604 N.A. controller 62 Line attached to a 3681 N.A. multifunction controller 63 Line attached to 3605, 6110 Line attached to SWAN controller, or 6100 CSS concentrator 62 Expand NCP 0 $NCP Network Control Process 63 Expand Line 0 NETNAM single-line NETNAM single-line Handler handler attached to a handler attached to a non-3605 controller non-3605 controller 1 NETDIRECT multiline line NETDIRECT multiline handler line handler 2 Multiline line handler Multiline line handler attached to a non-3605 con- attached to a non-3605 troller controller 3 NETCLUSTER FOX line NETCLUSTER FOX line handler handler 5 NETDIRECT single-line NETDIRECT single-line handler attached to 3605, handler attached to 3605, 6100, 6110 CSS, or 6105 CC 6100, 6110 CSS, or 6105 CC 6 Multiline line handler Multiline line handler attached to 3605, 6100, 6110 attached to 3605, 6100, CSS, or 6105 CC 6110 CSS, or 6105 CC Guardian Programming Reference Summary for pTAL and TAL —522631-001 3- 13
  • 32.
    Device Types andSubtypes Table 3-1. Device Types and Subtypes (page 14 of 14) Sub Type Device type D-Series Description G-Series Description 65 Storage Sub- 0 N.A. responsible for the system Manager configuration and control of storage I/O processes 66 NonStop Ker- 0 N.A. responsible for the nel Management configuration and control of system-wide attributes and generic processes 67 SCSI Lock 0 N.A. responsible for Management coordinating resource sharing SCSI I/O subsystem components across processors Guardian Programming Reference Summary for pTAL and TAL —522631-001 3- 14
  • 33.
    4 Procedure Calls Summary (A-C) This section lists procedure calls in alphabetic order and briefly describes the syntax of each. For additional information about the procedure calls, refer to the Guardian Procedure Calls Reference Manual. ABEND (Superseded by PROCESS_STOP_) Deletes a process or a process pair. CALL ABEND ( [ process-id ] ,[ stop-backup ] ,[ error ] ,[ compl-code ] ,[ termination-info ] ,[ spi-ssid ] ,[ length ] ,[ text ] ); process-id, INT:ref:4 input stop-backup, INT:value input error, INT:ref:1 output compl-code, INT:value input termination-info, INT:value input spi-ssid, INT .EXT:ref:6 input length, INT:value input text, STRING .EXT:ref:length input < (CCL) The process-id parameter is invalid, or an error occurred while ABEND was terminating the process. = (CCE) ABEND was successful. ACTIVATEPROCESS (Superseded by PROCESS_ACTIVATE_) Returns a process or process pair from the suspended state to the ready state. CALL ACTIVATEPROCESS ( process-id ); Guardian Programming Reference Summary for pTAL and TAL —522631-001 4 -1
  • 34.
    Procedure Calls Summary(A-C) process-id, INT:ref:4 input < (CCL) ACTIVATEPROCESS failed, or no process is designated process-id. = (CCE) The process is activated. ADDDSTTRANSITION (Superseded by DST_TRANSITION_ADD_) Allows a super-group user (255, n) to add an entry to the daylight-saving time (DST) transition table. CALL ADDDSTTRANSITION ( low-gmt ,high-gmt ,offset ); low-gmt, FIXED input high-gmt, FIXED:value input offset, INT:value input < (CCL) You are not the super ID (255,255), you loaded the DST table inconsistently (the DST table contains gaps or an overlap of entries), or you were loading the DST table at the same time someone else was loading the DST table. = (CCE) The DST table was loaded successfully. ADDRESS_DELIMIT_ Obtains the addresses of the first and last bytes of a particular area of the caller’s logical address space. It can also obtain a set of flags that describe the area and the logical segment ID of the area. error := ADDRESS_DELIMIT_ ( address ,[ low-address ] ,[ high-address ] ,[ address-descriptor ] ,[ segment-id ] ,[ error-detail ] ); Guardian Programming Reference Summary for pTAL and TAL —522631-001 4 -2
  • 35.
    Procedure Calls Summary(A-C) error, INT returned value 0 No error; the requested values are returned. 2 Parameter error; the address parameter was missing. 3 Bounds error; error-detail contains the number of the first parameter found to be in error, where 1 designates the first parameter on the left. This error is returned only to nonprivileged callers. 4 address is not mapped. 5 address.<0> = 1, address is an invalid address. address.<0> <> 1, address is within relative segment 1, 2, or 3. ! address, INT(32):value input low-address, INT(32):value output high-address, INT(32):value output address-descriptor, INT .EXT:ref:1 output <0:6> Bits are reserved; 0 is returned. <7> A flat, unaliased segment. An unaliased segment does not have a corresponding absolute segment address. <8> A flat, aliased segment. An aliased segment has a corresponding absolute segment address. <9> The currently addressable extended data segment. <10> Accessible only by privileged processes. <11> Shared by another process. <12> Cannot be deallocated. <13> Writeback-inhibited. <14> Extensible. <15> Resident. segment-id, INT .EXT:ref:1 output -110 Last valid extended data segment ID. -109 Accelerator-generated code segment. -108 Accelerator read-only data segment for user code segment. -107 Accelerator-generated user library segment. -106 Accelerator read-only data segment for library code segment. Guardian Programming Reference Summary for pTAL and TAL —522631-001 4 -3
  • 36.
    Procedure Calls Summary(A-C) -105 TNS user code segment. -104 TNS user library segment. -103 TNS user data segment. -102 Main RISC stack segment. -101 Debug stack segment. -100 Priv RISC stack segment. -99 System data segment. -98 System code segment. -97 System code segment. -96 System code segment. -95 System code segment. -94 System code segment. error-detail, INT .EXT:ref:1 output ADDRTOPROCNAME Accepts a P register value and stack marker ENV value and returns the associated symbolic procedure name and various optional items that describe the procedure in detail. error := ADDRTOPROCNAME ( p-reg ,stack-env ,proc-name ,proc-name-size ,proc-name-length ,[ base ] ,[ size ] ,[ entry ] ,[ attributes ] ,[ pin ] ); error, INT returned value 0 Successful call; the procedure name is deposited into proc-name for proc- name-length bytes. 11 A procedure name was not found. 22 One of the parameters specifies an address that is out of bounds. 23 The p-reg, stack-env, and pin parameters do not indicate a legal code location. Guardian Programming Reference Summary for pTAL and TAL —522631-001 4 -4
  • 37.
    Procedure Calls Summary(A-C) 24 The pin parameter was supplied and the caller is not privileged. 29 A required parameter was not supplied. 122 The supplied value of proc-name-size is less than the length of the procedure name that is to be returned into proc-name. p-reg, INT:value input stack-env, INT:value input <4> Library bit <7> System code bit <11:15> Space ID bits proc-name, STRING .EXT:ref output proc-name-size, INT:value input proc-name-length, INT .EXT:ref:1 output base, INT .EXT:ref:1 output size, INT .EXT:ref:1 output entry, INT .EXT:ref:1 output attributes, INT .EXT:ref:1 output <0> Priv bit <1> Callable bit <2> Resident bit <3> Interrupt bit <4> Entry point bit <5> Variable bit <6> Extensible bit <7:15> PEP number pin, INT:value input = (CCE) The symbolic procedure name was found; error contains 0. > (CCG) An error occurred; error contains the error value. Guardian Programming Reference Summary for pTAL and TAL —522631-001 4 -5
  • 38.
    Procedure Calls Summary(A-C) ALLOCATESEGMENT (Superseded by SEGMENT_ALLOCATE_) Allocates a selectable extended data segment for use by the calling process. It can also be used to share selectable extended data segments or flat extended data segments allocated by other processes. status := ALLOCATESEGMENT ( segment-id ,[ segment-size ] ,[ filename ] ,[ pin-and-flags ] ); status, INT returned value 0 No error. 1-999 File-system error related to the creation or open of the swap file. -1 Illegal segment-id. -2 Illegal segment-size. -3 Bounds violation on file-name. -4 Illegal combination of options. -5 Unable to allocate segment space. -6 Unable to allocate segment page table space. -7 Security violation on attempt to share segment. -8 The pin does not exist. -9 The does not have the segment allocated. -10 Trying to share segment with self. -11 Requested segment is currently being resized or is incompatible. segment-id, INT:value input segment-size, INT(32):value input filename, INT:ref:12 input, output pin-and-flags, INT:value input <8:15> Optional PIN for segment sharing. <5:7> Not used; must be zero (0). <4> Allocate an extensible segment. <3> Allocate a segment sharable by the file-name method. Guardian Programming Reference Summary for pTAL and TAL —522631-001 4 -6
  • 39.
    Procedure Calls Summary(A-C) <2> Allocate a writeback-inhibit segment. <1> If 1, bits <8:15> are ignored. <1> If 0, allocate a segment sharable by the PIN method. ALTER (Superseded by FILE_ALTERLIST_) Changes disk file characteristics that cannot ordinarily be changed while the file is open. This procedure operates only on Guardian objects. CALL ALTER ( filename ,function ,newvalue ,[ partonly ] ); filename, INT:ref:12 input function, INT:value input 1 Change file code. 2 Change the TMF audited characteristic of the file. 3 Change the refresh flag. 4 Oddunstr:allow odd byte positioning and transfers. 5 Change the alternate key description. This function is not supported for format 2 files. 6 Change the partitioning description. This function is not supported for format 2 files. 7 Resets the broken flag. 8 Change the expiration date. newvalue, INT:ref:* input partonly, INT:value input < (CCL) An error occurred (call FILEINFO). = (CCE) The call to ALTER was successful. > (CCG) An error occurred (call FILEINFO). Guardian Programming Reference Summary for pTAL and TAL —522631-001 4 -7
  • 40.
    Procedure Calls Summary(A-C) ALTERPRIORITY (Superseded by PROCESS_SETINFO_) Is used to change the execution priority of a process or process pair. CALL ALTERPRIORITY ( process-id ,priority ); process-id, INT:ref:4 input priority, INT:value input < (CCL) ALTERPRIORITY failed, or no process was designated as process-id. = (CCE) The priority of the process is altered. ARMTRAP (Superseded by SIGACTION_INIT_) Specifies a location within the application program where execution begins if a trap occurs. CALL ARMTRAP ( traphandlr-addr ,trapstack-addr ); traphandlr-addr, INT:value input trapstack-addr, INT:value input AWAITIO[X] Completes a previously initiated I/O operation. CALL AWAITIO[X] ( filenum ,[ buffer-addr ] ,[ count-transferred ] ,[ tag ] ,[ timelimit ] ,[ segment-id ] ); Guardian Programming Reference Summary for pTAL and TAL —522631-001 4 -8
  • 41.
    Procedure Calls Summary(A-C) filenum, INT:ref:1 (AWAITIO), input, output INT .EXT:ref:1 (AWAITIOX) input, output buffer-addr, INT:ref:1 (AWAITIO), output INT(32) .EXT:ref:1 (AWAITIOX) output count-transferred, INT:ref:1 (AWAITIO), output INT .EXT:ref:1 (AWAITIOX) output tag, INT(32):ref:1 (AWAITIO), output INT(32) .EXT:ref:1 (AWAITIOX) output timelimit, INT(32):value (AWAITIO, input AWAITIOX) > 0D A wait-for-completion is specified. = -1D An indefinite wait is indicated. = 0D A check for completion is specified. < -1D File-system error 590 occurs. omitted An indefinite wait is indicated. segment-id, INT .EXT:ref:1 (AWAITIOX only) output < (CCL) An error occurred (call FILEINFO). = (CCE) An I/O operation finished. > (CCG) A warning occurred (call FILEINFO). BACKSPACEEDIT Sets the current record number of an IOEdit file to that of the line preceding what was the current record before the call. BACKSPACEEDIT is an IOEdit procedure and can be used only with files that have been opened by OPENEDIT or OPENEDIT_. error := BACKSPACEEDIT ( filenum ); error, INT returned value filenum, INT:value input Guardian Programming Reference Summary for pTAL and TAL —522631-001 4 -9
  • 42.
    Procedure Calls Summary(A-C) BINSEM_CLOSE_ Closes access to a binary semaphore. error := BINSEM_CLOSE_ ( semid ); error, INT returned value 0 No error. 29 Required parameter missing. The semid parameter must be specified. 4022 Invalid parameter. The semid parameter does not identify a binary semaphore that is opened by the calling process. The corresponding OSS errno value is EINVAL. 4045 Deadlock. The binary semaphore specified by semid cannot be closed because it is locked by the calling process. The corresponding OSS errno value is EDEADLK. semid, INT(32):value input BINSEM_CREATE_ Creates, opens, and locks a binary semaphore. error := BINSEM_CREATE_ ( semid ,security ); error, INT returned value 0 No error. 22 Bounds error. The semid parameter cannot be written to by the calling process. 29 Required parameter missing. The semid and security parameters must be specified. Guardian Programming Reference Summary for pTAL and TAL —522631-001 4- 10
  • 43.
    Procedure Calls Summary(A-C) 4022 Invalid parameter. The security parameter is not a valid value. Specifying an invalid value for security could cause unpredictable results in future releases. The corresponding OSS errno value is EINVAL. 4024 Process cannot open the binary semaphore. The process has reached the maximum number of binary semaphores it can open, or the process file segment (PFS) has reached the maximum limit of available space. The corresponding OSS errno value is EMFILE. 4028 No space. The processor has reached the maximum limit of space available for binary semaphores. The corresponding OSS errno value is ENOSPC. semid, INT(32) .EXT:ref:1 output security, INT:value input BINSEM_FORCELOCK_ Forces a lock on a binary semaphore. status := BINSEM_FORCELOCK_ ( semid ,processhandle ); status, INT returned value 0 No error. 22 Bounds error. The processhandle parameter cannot be written to by the calling process. 4022 Invalid parameter. The semid parameter does not identify a binary semaphore that is opened by the calling process. The corresponding OSS errno value is EINVAL. 4045 Deadlock. The binary semaphore was forsaken before the procedure call, and it is now locked. The corresponding OSS errno value is EDEADLK. 4103 Already locked. The binary semaphore was locked by the calling process before the procedure call, and it remains locked. The corresponding OSS errno value is EALREADY. semid, INT(32):value input processhandle, INT .EXT:ref:10 output Guardian Programming Reference Summary for pTAL and TAL —522631-001 4- 11
  • 44.
    Procedure Calls Summary(A-C) BINSEM_LOCK_ Locks a binary semaphore. status := BINSEM_LOCK_ ( semid ,timeout ); status, INT returned value 0 No error. The binary semaphore becomes locked. 4011 Operation timed out. The time-out value was reached before the binary semaphore could be locked. The corresponding OSS errno value is EAGAIN. 4022 Invalid parameter. The semid parameter does not identify a binary semaphore that is opened by the calling process. The corresponding OSS errno value is EINVAL. 4045 Deadlock. The binary semaphore was forsaken before the procedure call, and it is now locked. The corresponding OSS errno value is EDEADLK. semid, INT(32):value input timeout, INT(32):value input BINSEM_OPEN_ Opens a binary semaphore. error := BINSEM_OPEN_ ( semid ,processhandle ,proc-semid ); error, INT returned value 0 No error. 22 Bounds error. The semid parameter cannot be written by the calling process, or the processhandle parameter cannot be read from the calling process. 29 Required parameter missing. The semid, processhandle, and proc- semid parameters must be specified. 4002 No entry. The proc-semid and processhandle parameters do not identify a binary semaphore in the processor. The corresponding OSS errno value is ENOENT. Guardian Programming Reference Summary for pTAL and TAL —522631-001 4- 12
  • 45.
    Procedure Calls Summary(A-C) 4013 Invalid access. The calling process does not have access to the binary semaphore because of its security. The security for a binary semaphore is set by the BINSEM_CREATE_ procedure. The corresponding OSS errno value is EACCESS. 4022 Invalid parameter. The processhandle parameter does not specify a process. A process that is being created or is terminating is treated as though it does not exist. The corresponding OSS errno value is EINVAL. 4024 Process cannot open the binary semaphore. The process has reached the maximum number of binary semaphores it can open, or the process file segment (PFS) has reached the maximum limit of available space. The corresponding OSS errno value is EMFILE. semid, INT(32) .EXT:ref:1 output processhandle, INT .EXT:ref:10 input proc-semid, INT(32):value input BINSEM_UNLOCK_ Unlocks a binary semaphore. error := BINSEM_UNLOCK_ ( semid ); error, INT returned value 0 No error. 4001 Cannot lock. The semid parameter is not locked by the calling process. The corresponding OSS errno value is EPERM. 4022 Invalid parameter. The semid parameter does not identify a binary semaphore that is opened by the calling process. The corresponding OSS errno value is EINVAL. semid, INT(32):value input BREAKMESSAGE_SEND_ Sends a break-on-device message to a specified process. error := BREAKMESSAGE_SEND_ ( processhandle ,receiver-filenum ,[ breaktag ] ); Guardian Programming Reference Summary for pTAL and TAL —522631-001 4- 13
  • 46.
    Procedure Calls Summary(A-C) error, INT returned value processhandle, INT .EXT:ref:10 input receiver-filenum, INT:value input breaktag, INT .EXT:ref:2 input CANCEL Cancels the oldest incomplete operation on a file opened for nowait I/O. CALL CANCEL ( filenum ); filenum, INT:value input < (CCL) An error occurred (call FILEINFO). = (CCE) The operation was canceled. CANCELPROCESSTIMEOUT Cancels a timer set by SIGNALPROCESSTIMEOUT. CALL CANCELPROCESSTIMEOUT ( tag ); tag, INT:value input = (CCE) CANCELPROCESSTIMEOUT was successful. > (CCG) The value of tag was invalid. CANCELREQ Cancels an incomplete operation on a file opened for nowait I/O. CALL CANCELREQ ( filenum ,[ tag ] ); filenum, INT:value input tag, INT(32):value input Guardian Programming Reference Summary for pTAL and TAL —522631-001 4- 14
  • 47.
    Procedure Calls Summary(A-C) < (CCL) An error occurred (call FILEINFO). = (CCE) The operation was canceled. CANCELTIMEOUT Cancels a timer initiated by SIGNALTIMEOUT. CALL CANCELTIMEOUT ( tag ); tag, INT:value input = (CCE) CANCELTIMEOUT finished successfully. > (CCG) The value of tag was invalid. CHANGELIST Controls polling when the application program acts as a supervisor or tributary station in a centralized multipoint configuration. CALL CHANGELIST ( filenum ,function ,parameter ); filenum, INT:value input function, INT:value input >= 0 Changes the poll state bit. -1 Changes the polling type. -2 Restores all partially disabled stations. parameter, INT:value input >= 0 Set (1) or clear (0) poll or select state bit. -1 Continuous polling (0) or noncontinuous polling (>0). -2 Dummy value. < (CCL) An error occurred (call FILEINFO). = (CCE) The CHANGELIST procedure executed successfully. Guardian Programming Reference Summary for pTAL and TAL —522631-001 4- 15
  • 48.
    Procedure Calls Summary(A-C) CHECK^BREAK Tests whether the BREAK key has been pressed since the last CHECK^BREAK. CHECK^BREAK is a sequential I/O (SIO) procedure and can be used only with files that have been opened by OPEN^FILE. state := CHECK^BREAK ( { common-fcb } { file-fcb } ); state, INT returned value 1 The BREAK key was pressed; the process owns BREAK. 0 The BREAK key was not pressed; this process does not own BREAK. common-fcb, INT:ref:* input file-fcb, INT:ref:* input CHECK^FILE Checks the file characteristics. CHECK^FILE is a sequential I/O (SIO) procedure and can be used only with files that have been opened by OPEN^FILE. retval := CHECK^FILE ( { common-fcb } { file-fcb } ,operation ); retval, INT returned value common-fcb, INT:ref:* input file-fcb, INT:ref:* input operation, INT:value input CHECKALLOCATESEGMENT (Superseded by SEGMENT_ALLOCATE_CHKPT_) Allocates an extended data segment for use by the backup process in a NonStop process pair. CALL CHECKALLOCATESEGMENT ( segment-id ,[ filename ] ,[ pin-and-flags ] ,error ); Guardian Programming Reference Summary for pTAL and TAL —522631-001 4- 16
  • 49.
    Procedure Calls Summary(A-C) segment-id, INT:value input filename, INT .EXT:ref:12 input pin-and-flags, INT:value input <8:15> Optional PIN for segment sharing. <5:7> Not used; must be zero (0). <4> Allocate an extensible segment. <3> Allocate a segment sharable by the file-name method. <2> Allocate a writeback-inhibit segment. <1> If 1, bits <8:15> are ignored. <1> If 0, allocate a segment sharable by the PIN method. error, INT .EXT:ref:1 output 2 Segment is not allocated by the primary process or segment ID is invalid. 22 Bounds error on file name. 29 The segment-id parameter is missing. 30 No message-system control blocks available. 31 Cannot use the PFS, or there is no room in the PFS for a message buffer in either the backup process or the primary process. 201 Unable to link to the backup process. < (CCL) Error is missing, or there is a bounds error on the error parameter. = (CCE) Is set by all other errors (see error parameter). CHECKCLOSE (Superseded by FILE_CLOSE_CHKPT_) Is called by a primary process to close a designated file in its backup process. CALL CHECKCLOSE ( filenum ,[ tape-disposition ] ); filenum, INT:value input tape-disposition, INT:value input Guardian Programming Reference Summary for pTAL and TAL —522631-001 4- 17
  • 50.
    Procedure Calls Summary(A-C) <13:15> 0 Rewind and unload, do not wait for completion (default). 1 Rewind, take offline, do not wait for completion. 2 Rewind, leave online, do not wait for completion. 3 Rewind, leave online, wait for completion. 4 Do not rewind, leave online. < (CCL) An invalid file number was supplied, or the backup process does not exist. = (CCE) The close was successful. CHECKDEALLOCATESEGMENT (Superseded by SEGMENT_DEALLOCATE_CHKPT_) Removes an extended data segment from use by the backup process in a NonStop process pair. CALL CHECKDEALLOCATESEGMENT ( segment-id ,[ flags ] ,error ); segment-id, INT:value input flags, INT:value input <0:14> Must be 0. <15> 1 = Dirty pages in memory will not be copied to the swap file. 0 = Dirty pages in memory will be copied to the swap file. error, INT .EXT:ref:1 output 2 Segment ID invalid or backup process could not deallocate segment. 29 The segment-id parameter is missing. 30 No control blocks available for linking. 31 Cannot use the process file segment (PFS), or the PFS has no room for a message buffer in either the backup or the primary. 201 Unable to link to the backup. Guardian Programming Reference Summary for pTAL and TAL —522631-001 4- 18
  • 51.
    Procedure Calls Summary(A-C) < (CCL) The error parameter is missing, or a bounds error occurred on the error parameter. = (CCE) Is set by all other errors (see error parameter) CHECKDEFINE Updates a backup process with a DEFINE that was changed in the primary process. status := CHECKDEFINE [ ( define-name ) ]; status, INT returned value <0:7> 0 = Operation successful. 1 = Could not communicate with backup. <8:15> File-system error number. define-name, STRING .EXT:ref:24 input CHECKMONITOR Is called by a backup process to monitor the state of the primary process and to return control to the appropriate point (in the backup process) in the event the primary process fails. status := CHECKMONITOR; status, INT returned value <0:7> =2 <8:15> =0 The primary process stopped. =1 The primary process ended abnormally. =2 The processor running the primary process failed. =3 The primary process called CHECKSWITCH. Guardian Programming Reference Summary for pTAL and TAL —522631-001 4- 19
  • 52.
    Procedure Calls Summary(A-C) CHECKOPEN (Superseded by FILE_OPEN_CHKPT_) Is called by a primary process to open a designated file for the primary’s backup process. CALL CHECKOPEN ( filename ,filenum ,[ flags ] ,[ sync-or-receive-depth ] ,[ sequential-block-buffer ] ,[ buffer-length ] ,backerror ); filename, INT:ref:12 input filenum, INT:value input, output flags, INT:value input <0> 1 Specifies that the “last open time” attribute of the file being opened is not updated by this open (disk files only). <1> $RECEIVE only, specifies whether the opener wants to receive open, close, CONTROL, SETMODE, SETPARAM, RESETSYNC, and CONTROLBUF messages: 0 Does not want messages 1 Wants messages <2> Unstructured access to an Enscribe file structure: 0 No 1 Yes <3> Reserved. <4:5> Access mode: 0 Read/write 1 Read-only 2 Write-only 3 Reserved <6> Resident buffering for unstructured files: 0 No 1 Yes <7> Must be 0 <8> For process files, open message is sent nowait and must be completed by a call to AWAITIO[X]: Guardian Programming Reference Summary for pTAL and TAL —522631-001 4- 20
  • 53.
    Procedure Calls Summary(A-C) 0 No 1 Yes <9> Must be 0 <10:11> Exclusion mode: 0 Shared 1 Exclusive 2 Process exclusive 3 Protected <12:15> Type of I/O: 0 Wait I/O >0 Nowait I/O and the maximum number of concurrent nowait I/O operations that can be in progress at a given time sync-or-receive-depth, INT:value input sequential-block-buffer, INT:ref:* input buffer-length, INT:value input backerror, INT:ref:1 output Š0 File-system error number for FILE_OPEN_ in the backup process. -1 Backup process not running, or checkpoint facility could not communicate with the backup process. < (CCL) The open failed. The file-system error number is returned in backerror. = (CCE) The file opened successfully. > (CCG) The open was successful, but an exceptional condition was detected. The file- system error number returns in backerror. CHECKPOINT (Superseded by CHECKPOINTX) Is called by a primary process to send information about the primary process’s current executing state to the backup process. status := CHECKPOINT ( [ stack-base ], [ buffer-1 ], [ count-1 ] , [ buffer-2 ], [ count-2 ] . . , [ buffer-13 ], [ count-13 ] ); Guardian Programming Reference Summary for pTAL and TAL —522631-001 4- 21
  • 54.
    Procedure Calls Summary(A-C) status, INT returned value <0:7> =0 No error. <0:7> =1 No backup, or CHECKPOINT cannot communicate with backup, <8:15> = filesystem error number <0:7> =2 Takeover from the primary, <8:15> =0 The primary process stopped. =1 The primary process ended abnormally. =2 The processor running the primary process failed. =3 The primary process called CHECKSWITCH. <0:7> =3 Illegal parameter, <8:15> = The number of the parameter in error; the leftmost position equals 1. stack-base, INT:ref:* input buffer-n, INT:ref:* input count-n, INT:value input CHECKPOINTMANY (Superseded by CHECKPOINTMANYX) Is called by a primary process to send information about the primary process’s current executing state to the backup process. status := CHECKPOINTMANY ( [ stack-base ] ,[ descriptors ] ); status, INT returned value <0:7> =0 No error. <0:7> =1 No backup, or CHECKPOINTMANY cannot communicate with backup, <8:15> = filesystem error number <0:7> =2 Takeover from the primary, <8:15> =0 The primary process stopped. =1 The primary process ended abnormally. =2 The processor running the primary process failed. =3 The primary process called CHECKSWITCH. <0:7> =3 Illegal parameter, <8:15> =1 Error in the stack-base parameter. =n n > 1 Error in word [n-2]. Guardian Programming Reference Summary for pTAL and TAL —522631-001 4- 22
  • 55.
    Procedure Calls Summary(A-C) stack-base, INT:ref:* input descriptors, INT:ref:* input CHECKPOINTMANYX Is called by a primary process to send information about the primary process’s current executing state to the backup process when more than five pieces of information are sent. status := CHECKPOINTMANYX ( [ stack-base ] ,[ descriptors ] ); status, INT returned value <0:7> =0 No error. <0:7> =1 No backup, or CHECKPOINTMANYX cannot communicate with the backup, <8:15> = file-system error number. <0:7> =2 Takeover from primary, <8:15> =0 The primary process stopped. =1 The primary process ended abnormally. =2 The processor running the primary process failed. =3 The primary process called CHECKSWITCH. <0:7> =3 Illegal parameter, <8:15> =1 Error in stack-base parameter. =2 Bounds error on descriptors. =3 Descriptor parameter set number + 2 (modulo 256). stack-base, INT:ref:* input descriptors, INT .EXT:ref:* input Guardian Programming Reference Summary for pTAL and TAL —522631-001 4- 23
  • 56.
    Procedure Calls Summary(A-C) CHECKPOINTX Is called by a primary process to send information about the primary process’s current executing state to the backup process. status := CHECKPOINTX ( [ stack-base ] ,[ segment-id1 ], [ bufferx-1 ], [ count-1 ] ,[ segment-id2 ], [ bufferx-2 ], [ count-2 ] ,[ segment-id5 ], [ bufferx-5 ], [ count-5 ] ); status, INT returned value <0:7> =0 No error. <0:7> =1 No backup, or CHECKPOINTX cannot communicate with the backup, <8:15> = file-system error number. <0:7> =2 Takeover from the primary process, <8:15> =0 The primary process stopped. =1 The primary process stopped. =2 The processor running the primary process failed. =3 The primary process called CHECKSWITCH. <0:7> =3 Illegal parameter, <8:15> The number of the parameter in error. =1 stack-base parameter. =2 Parameter set 1. =3 Parameter set 2. =4 Parameter set 3. =5 Parameter set 4. =6 Parameter set 5. =7 The total message is too large. stack-base, INT:ref:* input segment-idn, INT:value input bufferx-n, STRING .EXT:ref:* input count-n, INT(32):value input Guardian Programming Reference Summary for pTAL and TAL —522631-001 4- 24
  • 57.
    Procedure Calls Summary(A-C) CHECKRESIZESEGMENT Complements the RESIZESEGMENT procedure. CALL CHECKRESIZESEGMENT ( segment-id ,error ); segment-id, INT:value input error, INT .EXT:ref:1 output 2 Segment not allocated by the primary process or segment ID is invalid. 29 The segment-id is missing. 30 No control blocks available for linking. 31 Cannot use the process file segment (PFS), or the PFS has no room for a message buffer in either the backup process or the primary process. 201 Unable to link to the backup process. < (CCL) Is returned if the error parameter is missing or if there is a bounds error on the error parameter. = (CCE) Indicates any condition not set by CCL. > (CCG) Is not returned from this procedure. CHECKSETMODE Allows a primary process of a NonStop process pair to propagate SETMODE operations to the backup process of the pair. CALL CHECKSETMODE ( filenum ,function ,error ); filenum, INT:value input function, INT:value input 12 Set terminal access mode. 30 Allow nowait I/O operations to complete in any order. 36 Allow requests to be queued on $RECEIVE, based on process priority. 71 Set transmission priority. 72 Force system buffering for nowait files. 80 Set system message modes. Guardian Programming Reference Summary for pTAL and TAL —522631-001 4- 25
  • 58.
    Procedure Calls Summary(A-C) 117 Set TRANSID forwarding. 141 Enable/disable large transfers. 149 Set alternate key insertion locking. error, INT .EXT:ref:1 output 2 The value of function is not one of the allowed values. 29 The filenum or function parameter is missing. 30 No message control blocks are available. 31 Cannot use the process file segment (PFS), or the PFS has no room for a message buffer in either the backup process or the primary process. 201 Unable to link to the backup process. < CCL The error parameter is missing, or there is a bounds error on the error parameter. = CCG All other errors. CHECKSWITCH Is called by a primary process to interchange the duties of the primary and backup processes. status := CHECKSWITCH; status, INT returned value <0:7> = 1 Could not communicate with the backup. <8:15> = The file-system error number. <0:7> = 2 <8:15> =0 The primary process stopped. =1 The primary process ended abnormally. =2 The processor running the primary process failed. =3 The primary process called CHECKSWITCH. Guardian Programming Reference Summary for pTAL and TAL —522631-001 4- 26
  • 59.
    Procedure Calls Summary(A-C) CHILD_LOST Examines a system message to determine whether a specified process or process pair has been lost. error := CHILD_LOST_ ( message:length ,processhandle ); error, INT returned value 0 Process or process pair is not lost. 1 Reserved. 2 Parameter error. 3 Bounds error. 4 Process or process pair is lost. 5 System message is not relevant. message:length, STRING .EXT:ref:*, INT:value input:input -2 Local processor down. -5 Process deletion (stop). -6 Process deletion (abend). -8 Network status change. -100 Remote processor down. -101 Process deletion. -110 Connection to remote system lost. processhandle, INT .EXT:ref:10 input CLOSE (Superseded by FILE_CLOSE_) Is called by a primary process to close a designated file in its backup process. CALL CLOSE ( filenum ,[ tape-disposition ] ); Guardian Programming Reference Summary for pTAL and TAL —522631-001 4- 27
  • 60.
    Procedure Calls Summary(A-C) filenum, INT:value input tape-disposition, INT:value input <13:15> 0 Rewind and unload, do not wait for completion. 1 Rewind, take offline, do not wait for completion. 2 Rewind, leave online, do not wait for completion. 3 Rewind, leave online, wait for completion. 4 Do not rewind, but leave the file online. < (CCL) The file was not open, or for $RECEIVE or the TFILE, there is an outstanding operation using an active transaction. = (CCE) The close operation was successful. CLOSE^FILE Closes a file. CLOSE^FILE is a sequential I/O (SIO) procedure and can be used only with files that have been opened by OPEN^FILE. error := CLOSE^FILE ( { common-fcb } { file-fcb } ,[ tape-disposition ] ); error, INT returned value common-fcb, INT:ref:* input file-fcb, INT:ref:* input tape-disposition, INT:value input 0 Rewind, unload, and do not wait for completion. 1 Rewind, take offline, and do not wait for completion. 2 Rewind, leave online, and do not wait for completion. 3 Rewind, leave online, and wait for completion. 4 Do not rewind, leave the file online. Guardian Programming Reference Summary for pTAL and TAL —522631-001 4- 28
  • 61.
    Procedure Calls Summary(A-C) CLOSEALLEDIT Closes all open IOEdit files. CLOSEALLEDIT is an IOEdit procedure and can be used only with files that have been opened by OPENEDIT or OPENEDIT_. CALL CLOSEALLEDIT; CLOSEEDIT Closes a specified file that was opened by OPENEDIT or OPENEDIT_. CLOSEEDIT is an IOEdit procedure and can be used only with files that have been opened by OPENEDIT or OPENEDIT_. CALL CLOSEEDIT ( filenum ,[ keep-filenum ] ); filenum, INT:value input keep-filenum, INT:value input CLOSEEDIT_ Closes a specified file that was opened by OPENEDIT or OPENEDIT_. CLOSEEDIT_ is an IOEdit procedure and can be used only with files that have been opened by OPENEDIT or OPENEDIT_. error := CLOSEEDIT_ ( filenum ! i ,[ keep-filenum ] ); ! i error returned value filename input keep-filenum,INT:value input COMPLETEIOEDIT Informs IOEdit that an outstanding I/O request has finished. COMPLETEIOEDIT is an IOEdit procedure and can be used only with files that have been opened by OPENEDIT or OPENEDIT_. status := COMPLETEIOEDIT ( filenum ,count-transferred ,tag ); Guardian Programming Reference Summary for pTAL and TAL —522631-001 4- 29
  • 62.
    Procedure Calls Summary(A-C) status, INT returned value filenum, INT .EXT:ref:1 input, output count-transferred, INT:value input tag, INT(32):value input COMPRESSEDIT Copies a specified EDIT file to a new EDIT file that it creates. COMPRESSEDIT is an IOEdit procedure and can be used only with files that have been opened by OPENEDIT or OPENEDIT_. error := COMPRESSEDIT ( filenum ,[ start ] ,[ increment ] ); error, INT returned value filenum, INT .EXT:ref:1 input, output start, INT(32):value input increment, INT(32):value input COMPUTEJULIANDAYNO Converts a Gregorian calendar date on or after January 1, 0001, to a Julian day number. julian-day-num := COMPUTEJULIANDAYNO ( year ,month ,day ,[ error-mask ] ); julian-day-num, INT(32) returned value year, INT:value input month, INT:value input day, INT:value input error-mask, INT:ref:1 output <0> Year. <1> Month. <2> Day. Guardian Programming Reference Summary for pTAL and TAL —522631-001 4- 30
  • 63.
    Procedure Calls Summary(A-C) COMPUTETIMESTAMP Converts a Gregorian (common civil calendar) date and time into a 64-bit Julian timestamp. ret-timestamp := COMPUTETIMESTAMP ( date-n-time ,[ errormask ] ); ret-timestamp, FIXED returned value date-n-time, INT:ref:8 input [0] The Gregorian year (yyyy, for example, 1986). [1] The Gregorian month (1-12). [2] The Gregorian day of the month (1-31). [3] The hour of the day (0-23). [4] The minute of the hour (0-59). [5] The second of the minute (0-59). [6] The millisecond of the second (0-999). [7] The microsecond of the millisecond (0-999). errormask, INT:ref:1 output <0> Year <1> Month <2> Day <3> Hour of day <4> Minute of hour <5> Second of minute <6> Millisecond of second <7> Microsecond of millisecond Guardian Programming Reference Summary for pTAL and TAL —522631-001 4- 31
  • 64.
    Procedure Calls Summary(A-C) CONFIG_GETINFO_BYLDEV CONFIG_GETINFO_BYNAME Obtain the logical and physical attributes of a device on a G-series release. Use the CONFIG_GETINFO_BYLDEV procedure to specify the device by logical device number. Use the CONFIG_GETINFO_BYNAME procedure to specify the device by name. Note. These procedures are supported only on G-series releases. To obtain information about devices on D-series releases, call one of the following procedures: FILE_GETINFOBYNAME_, DEVICE_GETINFOBYNAME_, or DEVICE_GETINFOBYLDEV_. error := CONFIG_GETINFO_BYLDEV_ ( ldevnum ,common-info ,common-info-maxlen ,common-info-len ,specific-info ,specific-info-maxlen ,specific-info-len ,timeout , error-detail ); error := CONFIG_GETINFO_BYNAME_ ( devname:length ,common-info ,common-info-maxlen ,common-info-len ,specific-info ,specific-info-maxlen ,specific-info-len ,timeout , error-detail ); error, INT(32) returned value 0D Information was successfully returned. 1D Either the device or the process simulating a device detected a file-system error; error-detail contains a file-system error number. 2D Parameter error; error-detail contains the number of the first parameter to be in error, where 1D designates the first parameter on the left. 3D Bounds error; error-detail contains the number of the first parameter to be in error, where 1D designates the first parameter on the left. 4D Either the device or the process simulating a device detected an error; error- detail contains the error number returned by the device. Guardian Programming Reference Summary for pTAL and TAL —522631-001 4- 32
  • 65.
    Procedure Calls Summary(A-C) ldevnum (CONFIG_GETINTO_BYLDEV only) input devname:length, STRING .EXT:ref:* input:input (CONFIG_GETINTO_BYDEVNAME only) common-info output common-info-maxlen, INT:value input common-info-len, INT .EXT:ref:1 output specific-info, INT .EXT:ref:* output specific-info-maxlen, INT:value input specific-info-len, INT .EXT:ref:1 output timeout, INT(32):value input error-detail output CONFIG_GETINFO_BYLDEV2 CONFIG_GETINFO_BYNAME2 The CONFIG_GETINFO_BYLDEV2_ and CONFIG_GETINFO_BYNAME2_ procedures are variants of CONFIG_GETINFO_BYLDEV and CONFIG_GETINFO_BYNAME. The CONFIG_GETINFO_BYLDEV2_ and CONFIG_GETINFO_BYNAME2_ procedures allow the caller to specify device names that do not conform to Guardian file-name formats as required by some communication devices. Note. These procedures are supported only on G-series releases. To obtain information about devices on D-series releases, call one of the following procedures: FILE_GETINFOBYNAME_, DEVICE_GETINFOBYNAME_, or DEVICE_GETINFOBYLDEV_. error := CONFIG_GETINFO_BYLDEV2_ ( ldevnum ,common-info ,common-maxlen ,common-len ,specific-info ,specific-maxlen ,specific-len ,timeout ,error-detail ); Guardian Programming Reference Summary for pTAL and TAL —522631-001 4- 33
  • 66.
    Procedure Calls Summary(A-C) error := CONFIG_GETINFO_BYNAME2_ ( devname:length ,common-info ,common-maxlen ,common-len ,specific-info ,specific-maxlen ,specific-len ,timeout ,error-detail ); error, INT(32) returned value 0D Device found and data is returned. The value of error-detail is set to zero. 1D Device or subtype 30 process returned an error. The error is reported in error-detail. 2D Required parameter is invalid. The value of error-detail is set to the ordinal number of the invalid parameter. 3D Bounds error; a reference parameter contained an illegal address. The value of error-detail is set to the ordinal number of the invalid parameter. 4D Device returned error or invalid data to the inquiry. If error-detail is - 1, then the device returned zero and the response is invalid. Otherwise, error-detail is the value of the error returned to the inquiry by the device. ldevnum (CONFIG_GETINFO_BYLDEV only), INT(32):value input devname:length (CONFIG_GETINFO_BYDEVNAME only), input: input STRING .EXT:ref:*, INT:value common-info, INT .EXT:ref:(ZSYS^DDL^CONFIG^GETINFO2) output common-maxlen, INT:value input common-len, INT .EXT:ref:1 output specific-info, INT .EXT:ref:1 output specific-maxlen, INT:value input specific-len, INT .EXT:ref:1 output timeout, INT(32):value input error-detail, INT(32) .EXT:ref:1 output Guardian Programming Reference Summary for pTAL and TAL —522631-001 4- 34
  • 67.
    Procedure Calls Summary(A-C) CONTIME Converts a 48-bit timestamp to a date and time in integer form. CALL CONTIME ( date-and-time ,t0 ,t1 ,t2 ); date-and-time, INT:ref:7 output [0] Year (1975, 1976, ... ). [1] Month (1-12). [2] Day (1-31). [3] Hour (0-23). [4] Minute (0-59). [5] Second (0-59). [6] 0.01 sec (0-99). t0, t1, t2, INT:ref:3 input CONTROL Performs device-dependent I/O operations. CALL CONTROL ( filenum ,operation ,param ,[ tag ] ); filenum, INT:value input operation, INT:value input param, INT:value input tag, INT(32):value input < (CCL) An error occurred (call FILEINFO). = (CCE) CONTROL was successful. > (CCG) For magnetic tape, the end of file (EOF) was encountered while spacing records; for a process file, the process is not accepting CONTROL system messages. When device handlers do not allow the operation, file-system error 2 returns. Note. CONTROL operations are summarized in Section 9, CONTROL Operations. CONTROL operations used with the I/O devices are discussed in the Guardian Procedure Calls Reference Manual. Guardian Programming Reference Summary for pTAL and TAL —522631-001 4- 35
  • 68.
    Procedure Calls Summary(A-C) CONTROLBUF Performs device-dependent I/O operations requiring a data buffer. CALL CONTROLBUF ( filenum ,operation ,buffer ,count ,[ count-transferred ] ,[ tag ] ); filenum, INT:value input operation, INT:value input buffer, INT:ref:* input count, INT:value input count-transferred, INT:ref:1 output tag, INT(32):value input > (CCL) An error occurred (call FILEINFO). = (CCE) CONTROLBUF was successful. > (CCG) For a process file, the process is not accepting CONTROLBUF system messages. CONTROLMESSAGESYSTEM Controls the maximum number of receive and send XLBs (extended memory control blocks) used by a process. error := CONTROLMESSAGESYSTEM ( actioncode ,value ); error, INT:ref:1 output 0 Successful, no error 2 Bad actioncode 21 Bad value 29 Missing parameter actioncode, INT:value input value, INT:value input Guardian Programming Reference Summary for pTAL and TAL —522631-001 4- 36
  • 69.
    Procedure Calls Summary(A-C) 0 Sets the limit on the number of outstanding messages to the process, including time- limit expiration messages. 1 Sets the limit on the number of outstanding messages sent by the process (the maximum number of send XLBs for this process). CONVERTASCIIEBCDIC Translates the 256 EBCDIC encodings to and from the 256 8-bit ASCII encodings. For more information, refer to the Guardian Procedure Calls Reference Manual. CALL CONVERTASCIIEBCDIC ( buffer ! i ,count ! i ,translation); ! i buffer, STRING .EXT:ref:* input count, INT:value input translation, INT:value input CONVERTPROCESSNAME (Superseded by FILENAME_RESOLVE_) Converts a process name from local to network form. CALL CONVERTPROCESSNAME ( process-name ); process-name, INT:ref:3 input, output CONVERTPROCESSTIME Converts the quad microsecond process time returned by PROCESSTIME, MYPROCESSTIME, or PROCESSINFO into hours, minutes, seconds, milliseconds, and microseconds. CALL CONVERTPROCESSTIME ( process-time ,[ hours ] ,[ minutes ] ,[ seconds ] ,[ milliseconds ] ,[ microseconds ] ); Guardian Programming Reference Summary for pTAL and TAL —522631-001 4- 37
  • 70.
    Procedure Calls Summary(A-C) process-time, FIXED:value input hours, INT:ref:1 output minutes, INT:ref:1 output seconds, INT:ref:1 output milliseconds, INT:ref:1 output microseconds, INT:ref:1 output < (CCL) The process-time parameter represents a quantity greater than 3.7 years. = (CCE) CONVERTPROCESSTIME is successful. > (CCG) One or more of the supplied output parameters failed the bounds check on the address. CONVERTTIMESTAMP Converts a GMT timestamp to or from a local-time based timestamp within any accessible node in the network. ret-time := CONVERTTIMESTAMP ( julian-timestamp ,[ direction ] ,[ node ] ,[ error ] ); ret-time, FIXED returned value julian-timestamp, FIXED:value input direction, INT:value input 0 GMT to local civil time (LCT—the default). 1 GMT to local standard time (LST). 2 LCT to GMT. 3 LST to GMT. node, INT:value input error, INT:ref:1 output -5 Value of node is out of range. -4 Timestamp not supplied or has invalid value. -3 Invalid value supplied for direction. Guardian Programming Reference Summary for pTAL and TAL —522631-001 4- 38
  • 71.
    Procedure Calls Summary(A-C) -2 Impossible LCT. -1 Ambiguous LCT. 0 No errors, successful. 1 DST range error. 2 DST table not loaded. >2 File-system error (attempting to reach “NODE”). CPU_GETINFOLIST Use the PROCESSOR_GETINFOLIST_ procedure instead of CPU_GETINFOLIST. Calls to PROCESSOR_GETINFOLIST are identical in their format and values to those for CPU_GETINFOLIST. CPUTIMES Returns the length of time, since the cold load, in microseconds, that a given processor has spent in the busy, idle, or interrupt states. CALL CPUTIMES ( [ cpu ] ,[ sysid ] ,[ total-time ] ,[ cpu-process-busy ] ,[ cpu-interrupt ] ,[ cpu-idle ] ); cpu, INT:value input sysid, INT:value input total-time, FIXED:ref:1 output cpu-process-busy, FIXED:ref:1 output cpu-interrupt, FIXED:ref:1 output cpu-idle, FIXED:ref:1 output < (CCL) The system is unavailable or does not exist, the procedure could not get resources to execute, or the system is running on a pre-B00 version of the operating system. = (CCE) CPUTIMES is successful. > (CCG) The supplied parameters failed the bounds check. Guardian Programming Reference Summary for pTAL and TAL —522631-001 4- 39
  • 72.
    Procedure Calls Summary(A-C) CREATE (Superseded by FILE_CREATE_ and FILE_CREATELIST_) Defines a new structured or unstructured disk file. This procedure operates only on Guardian objects. CALL CREATE ( filename ,[ primary-extentsize ] ,[ file-code ] ,[ secondary-extentsize ] ,[ file-type ] ,[ recordlen ] ,[ data-blocklen ] ,[ key-sequenced-params ] ,[ alternate-key-params ] ,[ partition-params ] ,[ maximum-extents ] ,[ unstructured-buffer-size ] ,[ open-defaults ] ); filename, INT:ref:12 input, output primary-extentsize, INT:value input file-code, INT:value input secondary-extentsize, INT:value input file-type, INT:value input <0:1> Must be 0. <2> In systems that have the TMF subsystem, this file is audited; for other systems, this bit is 0. <3:9> Must be 0. <10> The file label is written to disk each time the end-of-file (EOF) is advanced. <11> Specifies index compression for key-sequenced files (see the Enscribe Programmer’s Guide). <12> Specifies ODDUNSTR access to unstructured files and data compression for key-sequenced files. <13:15> Specifies the file structure: 0 = Unstructured (default). 1 = Relative. 2 = Entry-sequenced. 3 = Key-sequenced. Guardian Programming Reference Summary for pTAL and TAL —522631-001 4- 40
  • 73.
    Procedure Calls Summary(A-C) recordlen, INT:value input data-blocklen, INT:value input key-sequenced-params, INT:ref:3 input alternate-key-params, INT:ref:* input partition-params, INT:ref:* input maximum-extents, INT:value input unstructured-buffer-size, INT:value input open-defaults, INT:value input <0> =0 Verify writes off (default). =1 Verify write on. <1> =0 The system automatically selects serial or parallel writes. =1 Serial mirror writes only. <2> =0 Buffered writes enabled (the default for audited files). =1 Write-thru (the default for nonaudited files). <3> =0 Audit compression off (default). =1 Audit compression on. < (CCL) The create failed (call FILEINFO). = (CCE) The file was created successfully. > (CCG) The device is not a disk. CREATEPROCESSNAME (Superseded by PROCESSNAME_CREATE_) Returns a unique process name suitable for passing to NEWPROCESS and NEWPROCESSNOWAIT. CALL CREATEPROCESSNAME ( process-name ); process-name, INT:ref:3 output < (CCL) The address passed for process-name is out of bounds. = (CCE) CREATEPROCESSNAME was successful. > (CCG) There were no unused names in the reserved name space ($Zddd, $Yddd, $Xddd) for CREATEPROCESSNAME to use. Guardian Programming Reference Summary for pTAL and TAL —522631-001 4- 41
  • 74.
    Procedure Calls Summary(A-C) CREATEREMOTENAME (Superseded by PROCESSNAME_CREATE_) Supplies a process name that is unique for the specified system in a network. (This process name goes into the name parameter of NEWPROCESS.) CALL CREATEREMOTENAME ( name ,sysnum ); name, INT:ref:3 output sysnum, INT:value input < (CCL) The remote the DCT could not be accessed. = (CCE) CREATEREMOTENAME was successful. > (CCG) Indicates that there were no unused names in the reserved name space ($Zddd, $Yddd, and $Xddd) for CREATEREMOTENAME to use. CREATORACCESSID (Superseded by PROCESS_GETINFO_ and PROCESS_GETINFOLIST_) Obtains the creator access ID (CAID) of the process that created the calling process. creator-access-id := CREATORACCESSID; creator-access-id, INT returned value <0:7> Group number {0:255} <8:15> User number {0:255} CRTPID_TO_PROCESSHANDLE_ Converts a process ID (CRTPID) to the corresponding process handle. error := CRTPID_TO_PROCESSHANDLE_ ( process-id ,processhandle ,[ pair-flag ] ,[ node-number ] ); Guardian Programming Reference Summary for pTAL and TAL —522631-001 4- 42
  • 75.
    Procedure Calls Summary(A-C) error, INT returned value process-id, INT .EXT:ref:4 input processhandle, INT .EXT:ref:10 output pair-flag, INT .EXT:ref:1 output node-number, INT(32):value input CURRENTSPACE Returns the ENV register (as saved in the stack marker) and a string (in ASCII) containing the space ID of the caller. stack-env := CURRENTSPACE [ ( ascii-space-id ) ]; stack-env, INT returned value <4> Library bit <7> System code bit <11:15> Space ID bits ascii-space-id, STRING:ref:5 output Guardian Programming Reference Summary for pTAL and TAL —522631-001 4- 43
  • 76.
    Procedure Calls Summary(A-C) Guardian Programming Reference Summary for pTAL and TAL —522631-001 4- 44
  • 77.
    5 Procedure Calls Summary (D-F) This section lists procedure calls in alphabetic order and briefly describes the syntax of each. For additional information about the procedure calls, refer to the Guardian Procedure Calls Reference Manual. DAYOFWEEK Takes a 32-bit Julian day number and returns the corresponding day of the week. day := DAYOFWEEK ( julian-day-num ); day, INT returned value julian-day-num, INT(32):value input 0 Sunday, 1 = Monday, ..., 6 = Saturday. -1 The julian-day-num is negative. DEALLOCATESEGMENT (Superseded by SEGMENT_DEALLOCATE_) Deallocates an extended data segment when the segment is no longer needed by the calling process. CALL DEALLOCATESEGMENT ( segment-id ,[ flags ] ); segment-id, INT:value input flags, INT:value input <0:14> = Must be 0. <15> =1 Dirty pages in memory will not be copied to the swap file. =0 Dirty pages in memory will be copied to the swap file. < (CCL) The segment is not deallocated. An illegal segment ID was supplied or the specified segment is currently in use by the system. = (CCE) The segment is deallocated. > (CCG) The segment is deallocated, but an I/O error occurred when the dirty pages were written to a segment’s permanent swap file. Guardian Programming Reference Summary for pTAL and TAL —522631-001 5 -1
  • 78.
    Procedure Calls Summary(D-F) DEBUG directly invokes the debug facility. CALL DEBUG; DEBUGPROCESS (Superseded by PROCESS_DEBUG_) Invokes the debug facility on a process. CALL DEBUGPROCESS ( process-id ,error ,[ term ] ,[ now ] ); process-id, INT:ref:4 input error, INT:ref:1 output 0 No error. 11 Specified process does not exist. 13 Invalid name. 14 Supplied process ID references an LDEV that does not exist. 18 Specified system is not known. 20 Supplied process ID tries to reference a process on a remote C-series system using a process name of more than five characters. 22 Parameter or buffer out of bounds. 29 Missing parameter. 48 Security violation. 190 The value of term (or caller’s home terminal if term was not specified) is not device type 6. 201 Unable to communicate over this path. 240- Network errors. 249 250 All paths to the specified system are down. 590 Bad parameter value. term, INT:ref:12 input now, INT:value input Guardian Programming Reference Summary for pTAL and TAL —522631-001 5 -2
  • 79.
    Procedure Calls Summary(D-F) DEFINEADD Adds a DEFINE to the calling process’s context using the attributes in the working set. DEFINEADD can replace an existing DEFINE with the attributes in the working set. error := DEFINEADD ( define-name ,[ replace ] ,[ checknum ] ); error, INT returned value 0 Add was successful. 2049 A syntax error occurred in name. 2050 Define already exists. 2051 Define does not exist. 2052 Unable to obtain file-system buffer space. 2053 Unable to obtain physical memory. 2054 Bounds error in define-name. 2057 Working set is not complete. 2058 Working set is not consistent. 2059 Working set is invalid. 2066 Missing parameter. 2069 The DEFMODE of the process does not permit the addition of the DEFINE. define-name, STRING .EXT:ref:24 input replace, INT:value input checknum, INT:ref:1 output 001 Specify either RETENTION or EXPIRATION, not both. 002 If you specify USE IN or EXTEND, you must include LABELS ANSI, VOLUMES. 003 If you specify VOLUME, you must also specify LABELS ANSI, LABELS IBM, or LABELS IBMBACKUP. If you specify one of these LABELS, you must also specify VOLUME. 004 If you specify LABELS ANSI, you must not specify LABELS EBCDIC, and vice versa. 005 If you specify RECFORM F, then you must specify a BLOCKLEN that is a multiple of RECLEN. Guardian Programming Reference Summary for pTAL and TAL —522631-001 5 -3
  • 80.
    Procedure Calls Summary(D-F) 006 If you specify DEVICE, you cannot specify SYSTEM in the same DEFINE, and vice versa. 007 If you specify LABELS BYPASS or LABELS OMITTED, then DEVICE is required and the following attributes may not be specified: VOLUME, OWNER, FILESECT, FILESEQ, FILEID, RETENTION, EXPIRATION, GEN, VERSION, RECFORM, BLOCKLEN, RECLEN, REELS, USE, EBCDIC, SYSTEM. 008 If you specify VOLUME SCRATCH, then USE IN or USE EXTEND is not allowed. 009 If you specify LABELS IBM or LABELS IBMBACKUP, FILEID must be specified. 010 If you do not specify BLOCKLEN but do specify RECLEN, you must specify a RECLEN value that is greater than 0. 011 If you specify LABELS IBMBACKUP, the system you specify in the SYSTEM or DEVICE attribute must have an operating system version of C20 or later. DEFINEDELETE Deletes a DEFINE from the calling process’s context. error := DEFINEDELETE ( define-name ); error, INT returned value 0 Add was successful. 2049 A syntax error occurred in name. 2051 Define does not exist. 2052 Unable to obtain file-system buffer space. 2054 Bounds error in define-name. 2066 Missing parameter. define-name, STRING .EXT:ref:24 input DEFINEDELETEALL Deletes all DEFINEs from the calling process’s context. CALL DEFINEDELETEALL; Guardian Programming Reference Summary for pTAL and TAL —522631-001 5 -4
  • 81.
    Procedure Calls Summary(D-F) DEFINEINFO Returns selected information about a DEFINE. error := DEFINEINFO ( define-name ,class ,attribute-name ,value-buf ,value-buf-len ,value-len ); error, INT returned value 0 Add was successful. 2049 A syntax error occurred in name. 2051 Define does not exist. 2052 Unable to obtain file-system buffer space. 2054 Bounds error in define-name. 2066 Missing parameter. define-name, STRING .EXT:ref:24 input class, STRING .EXT:ref:16 output attribute-name, STRING .EXT:ref:16 output value-buf, STRING .EXT:ref:* output value-buf-len, INT:value output value-len, INT:ref:1 output DEFINELIST Specifies the station addresses of the stations the application process wishes to communicate with, but only when the process acts as a supervisor or tributary station in a centralized multipoint configuration. CALL DEFINELIST ( filenum ,address-list ,address-size ,num-entries ,polling-count ,polling-type ); Guardian Programming Reference Summary for pTAL and TAL —522631-001 5 -5
  • 82.
    Procedure Calls Summary(D-F) filenum, INT:value input address-list, INT:ref:* input address-size, INT:value input num-entries, INT:value input polling-count, INT:value input polling-type, INT:value input < (CCL) An error occurred (call FILEINFO). = (CCE The DEFINELIST procedure was executed successfully. DEFINEMODE Controls the use of DEFINEs. error := DEFINEMODE ( new-value ,[ old-value ] ); error, INT returned value 0 Success. 2067 The value supplied in new-value is invalid. new-value, INT:value input old-value, INT:ref:1 output DEFINENEXTNAME Returns the name of the DEFINE that follows the specified DEFINE (in ASCII order). error := DEFINENEXTNAME ( define-name ); error, INT returned value 0 Successful. 2049 A syntax error occurred in name. 2051 DEFINE not found. Guardian Programming Reference Summary for pTAL and TAL —522631-001 5 -6
  • 83.
    Procedure Calls Summary(D-F) 2052 Unable to obtain file-system buffer space. 2054 Parameter address is bad. 2066 Missing parameter. 2060 No more DEFINEs. define-name, STRING .EXT:ref:24 input, output DEFINEPOOL (Superseded by POOL_CHECK_, POOL_DEFINE_, POOL_GETINFO_, POOL_GETSPACE_, POOL_PUTSPACE_, and POOL_RESIZE_) Designates a portion of a user’s stack or an extended data segment for use as a pool. status := DEFINEPOOL ( pool-head ,pool ,pool-size ); status, INT returned value 0 No error. 1 Bounds error on pool-head. 2 Bounds error on pool. 3 Invalid pool-size. 4 The pool-head and pool parameters overlap. 5 The pool-head parameter is not word-aligned. 6 The pool parameter is not word-aligned. pool-head, INT .EXT:ref:19 output pool, INT .EXT:ref:* input pool-size, INT(32):value input Guardian Programming Reference Summary for pTAL and TAL —522631-001 5 -7
  • 84.
    Procedure Calls Summary(D-F) DEFINEREADATTR Obtains the current value of an attribute in a DEFINE in the calling process’s context or in the working set. error := DEFINEREADATTR ( [ define-name ] ,attribute-name ,[ cursor ] ,value-buf ,value-buf-len ,value-len ,[ read-mode ] ,[ info-word ] ); error, INT returned value 0 Successful. 2049 A syntax error occurred in name. 2051 DEFINE not found. 2052 An error occurred when placing PFS in use. 2054 Bounds error on parameter. 2055 Attribute not supported. 2061 No more attributes (see “Considerations”). 2066 Missing parameter. define-name, STRING .EXT:ref:24 input attribute-name, STRING .EXT:ref:16 input, output cursor, INT:ref:1 input, output value-buf, STRING .EXT:ref:* output value-buf-len, INT:value input value-len, INT:ref:1 output read-mode, INT:value input 0 Search the present attributes only. 1 Search the present plus required attributes that are not present. 2 Search the present plus the required and optional attributes that are not present. Guardian Programming Reference Summary for pTAL and TAL —522631-001 5 -8
  • 85.
    Procedure Calls Summary(D-F) info-word, INT:ref:1 output <14:15> Indicates the type of the attribute: 0 = Optional 1 = Defaulted 2 = Required DEFINERESTORE Uses a saved version of a DEFINE in the user’s buffer to create an active DEFINE. If an active DEFINE of the same name already exists, it can optionally be replaced. The saved DEFINE can also be placed in the working set without its name. error := DEFINERESTORE ( buffer ,[ options ] ,[ define-name ] ,[ checknum ] ); error, INT returned value 0 Successful. 2050 DEFINE already exists and options.<15> is 0 or options is omitted. 2051 DEFINE does not exist and options.<15> is 1. 2052 Unable to obtain file system buffer space. 2053 Unable to obtain physical memory. 2054 Bounds error on buffer, define-name or checknum parameter. 2055 Illegal attribute in saved DEFINE. 2057 DEFINE or working set is incomplete. 2058 DEFINE or working set is inconsistent. 2059 DEFINE or working set is invalid. 2066 Parameter missing. 2067 Attribute contained an illegal value. 2068 Saved DEFINE was of invalid CLASS. 2069 Attempt to add a DEFINE that does not fall under the current DEFMODE setting. 2075 The value of option.<0:13> is not 0. 2077 The buffer or define-name parameter is in invalid segment. 2078 The buffer parameter does not contain a valid saved DEFINE. Guardian Programming Reference Summary for pTAL and TAL —522631-001 5 -9
  • 86.
    Procedure Calls Summary(D-F) buffer, INT .EXT:ref:* input options, INT:value input define-name, STRING .EXT:ref:24 output checknum, INT:ref:1 output DEFINERESTOREWORK[2] DEFINERESTOREWORK restores the DEFINE working set from the background set. DEFINERESTOREWORK2 allows a second background DEFINE working set to be restored. error := DEFINERESTOREWORK; error := DEFINERESTOREWORK2; error, INT returned value 0 Success. 2052 Unable to obtain file-system buffer space. 2053 Unable to obtain physical memory. DEFINESAVE Copies an active DEFINE or the current working attribute set into a user buffer. The saved DEFINE can later be made an active DEFINE or be placed into the working set by using DEFINERESTORE. error := DEFINESAVE ( define-name ,buffer ,buflen ,deflen ,[ option ] ); error, INT returned value 0 Successful. 2049 Syntax error in name. 2051 DEFINE not found. 2052 Unable to obtain file-system buffer space. Guardian Programming Reference Summary for pTAL and TAL —522631-001 5- 10
  • 87.
    Procedure Calls Summary(D-F) 2053 Not enough physical memory. 2054 Bounds error on buffer, deflen or define-name parameters. 2057 DEFINE or working set is incomplete. 2058 DEFINE or working set is inconsistent. 2059 DEFINE or working set is invalid. 2066 Parameter missing. 2075 The value of option.<0:14> is not 0. 2076 User’s buffer is too small. 2077 The buffer or define-name parameter is in invalid segment. 2079 An attempt to save the working set, but define-name is DEFAULTS and working set is not class DEFAULTS. define-name, STRING .EXT:ref:24 input buffer, INT .EXT:ref:* output buflen, INT:value input deflen, INT .EXT:ref:1 output option, INT:value input <0:14> are reserved and must be 0. <15> 1 save the current working set and name it define-name. 0 save the active DEFINE named by define-name. DEFINESAVEWORK[2] DEFINESAVEWORK saves the DEFINE working set in the background set. DEFINESAVEWORK2 allows a second background working set to be saved. error := DEFINESAVEWORK; error := DEFINESAVEWORK2; error, INT returned value 0 Successful. 2052 Unable to obtain file-system buffer space. 2053 Not enough physical memory. Guardian Programming Reference Summary for pTAL and TAL —522631-001 5- 11
  • 88.
    Procedure Calls Summary(D-F) DEFINESETATTR Modifies the value of an attribute in the DEFINE working set. error := DEFINESETATTR ( attribute-name ,[ value ] ,[ value-len ] ,[ default-names ] ); error, INT returned value 0 Successful. 2049 Syntax error in name. 2052 Unable to obtain file-system buffer space. 2055 Attribute not supported. 2062 Attribute name too long. 2063 A syntax error occurred in default names. 2064 The required attribute cannot be reset 2066 Parameter missing. 2067 Illegal value. attribute-name, STRING .EXT:ref:16 input value, STRING .EXT:ref:* input value-len, INT:value input default-names, INT:ref:8 input [0:3] The default volume name (blank filled on the right) [4:7] The default subvolume name (blank filled on the right) DEFINESETLIKE Initializes the working set with the attributes in an existing DEFINE. error := DEFINESETLIKE ( define-name ); error, INT returned value Guardian Programming Reference Summary for pTAL and TAL —522631-001 5- 12
  • 89.
    Procedure Calls Summary(D-F) 0 Successful. 2049 Syntax error in name. 2051 DEFINE not found. 2052 Unable to obtain file-system buffer space. 2053 Unable to obtain physical memory. 2054 Bounds error occurred on define-name. 2066 Parameter missing. define-name, STRING .EXT:ref:24 input DEFINEVALIDATEWORK Checks the working set for consistency. error := DEFINEVALIDATEWORK ( checknum ); error, INT returned value 0 Successful. 2057 Working set is incomplete. 2058 Working set is inconsistent. 2059 Working set is invalid. checknum, INT:ref:1 output DELAY Allows a process to suspend itself for a timed interval. CALL DELAY ( time-period ); time-period, INT(32):value input Guardian Programming Reference Summary for pTAL and TAL —522631-001 5- 13
  • 90.
    Procedure Calls Summary(D-F) DELETEEDIT Deletes from an EDIT file all lines that have line numbers in a specified range. DELETEEDIT is an IOEdit procedure and can be used only with files that have been opened by OPENEDIT or OPENEDIT_. error := DELETEEDIT ( filenum ,first ,last ); error, INT returned value filenum, INT:value input first, INT(32):value input last, INT(32):value input DEVICE_GETINFOBYLDEV_ Obtains the logical and physical attributes of a device. error := DEVICE_GETINFOBYLDEV_ ( ldevnum ,[ logical-info ] ,[ logical-info-maxlen ] ,[ logical-info-len ] ,[ primary-info ] ,[ primary-info-maxlen ] ,[ primary-info-len ] ,[ backup-info ] ,[ backup-info-maxlen ] ,[ backup-info-len ] ,[ timeout ] ,[ options ] ,[ match-type ] ,[ match-subtype ] ,[ devname:maxlen ] ,[ devname-len ] ,[ error-detail ] ); error, INT returned value Guardian Programming Reference Summary for pTAL and TAL —522631-001 5- 14
  • 91.
    Procedure Calls Summary(D-F) 0 Information successfully returned. 1 Reserved. 2 Parameter error; error-detail contains the number of the first parameter found to be in error, where 1 designates the first parameter on the left. 3 Bounds error; error-detail contains the number of the first parameter found to be in error, where 1 designates the first parameter on the left. 4 Device not found; error-detail contains a file-system error number. 5 Buffer too small. This error applies only to devname:maxlen. ldevnum, INT(32):value input logical-info, INT .EXT:ref:* output logical-info-maxlen, INT:value input logical-info-len, INT .EXT:ref:1 output primary-info, INT .EXT:ref:* output primary-info-maxlen, INT:value input primary-info-len, INT .EXT:ref:1 output backup-info, INT .EXT:ref:* output backup-info-maxlen, INT:value input backup-info-len, INT .EXT:ref:1 output timeout, INT(32):value input options, INT:value input <0:12> Reserved (specify 0). <13> Specifies that the procedure search for the next device that has a subtype of match-subtype. options.<15> must be set and match-subtype must be specified when this option is used. <14> Specifies that the procedure search for the next device that has a type of match-subtype. options.<15> must be set and match-type must be specified when this option is used. <15> Specifies that the procedure search for the next device that matches the selection criteria. match-type, INT:value input match-subtype, INT:value input devname:maxlen, STRING .EXT:ref:*,INT:value output:input devname-len, INT .EXT:ref:1 output error-detail, INT .EXT:ref:1 output Guardian Programming Reference Summary for pTAL and TAL —522631-001 5- 15
  • 92.
    Procedure Calls Summary(D-F) DEVICE_GETINFOBYNAME_ Obtains the logical and physical attributes of a device. error := DEVICE_GETINFOBYNAME_ ( devname:length ,[ logical-info ] ,[ logical-info-maxlen ] ,[ logical-info-len ] ,[ primary-info ] ,[ primary-info-maxlen ] ,[ primary-info-len ] ,[ backup-info ] ,[ backup-info-maxlen ] ,[ backup-info-len ] ,[ timeout ] ,[ error-detail ] ); error, INT returned value 1 Reserved. 2 Parameter error; error-detail contains the number of the first parameter found to be in error, where 1 designates the first parameter on the left. 3 Bounds error; error-detail contains the number of the first parameter found to be in error, where 1 designates the first parameter on the left. 4 Device not found; error-detail contains a file-system error number. devname:length, STRING .EXT:ref:*,INT:value input:input logical-info, INT .EXT:ref:* output logical-info-maxlen, INT:value input logical-info-len, INT .EXT:ref:1 output primary-info, INT .EXT:ref:* output primary-info-maxlen, INT:value input primary-info-len, INT .EXT:ref:1 output backup-info, INT .EXT:ref:* output backup-info-maxlen, INT:value input backup-info-len, INT .EXT:ref:1 output timeout, INT(32):value input error-detail, INT .EXT:ref:1 output Guardian Programming Reference Summary for pTAL and TAL —522631-001 5- 16
  • 93.
    Procedure Calls Summary(D-F) DEVICEINFO (Superseded by FILE_GETINFOBYNAME_ or FILE_GETINFOLISTBYNAME_) Obtains the device type and physical record length of a file. The file can be opened or closed. CALL DEVICEINFO ( filename ,devtype ,physical-recordlen ); filename, INT:ref:12 input devtype, INT:ref:1 output <0> Demountable. <1> Audited disk, or the file name specified was a subdevice. <2:3> Undefined. <4:9> Device type. <10:15> Device subtype. physical-recordlen, INT:ref:1 output DEVICEINFO2 (Superseded by FILE_GETINFOBYNAME_or FILE_GETINFOLISTBYNAME_) Obtains the device type and the physical record length of a file. The file can be opened or closed. CALL DEVICEINFO2 ( filename , [ devtype ] , [ physical-recordlen ] , [ diskprocess-version ] , [ error ] , [ options ] , [ tag-or-timeout ] ); filename, INT:ref:12 input devtype, INT:ref:1 output Guardian Programming Reference Summary for pTAL and TAL —522631-001 5- 17
  • 94.
    Procedure Calls Summary(D-F) <0> Demountable. <1> Audited disk, or the file name specified was a subdevice. <2:3> Undefined. <4:9> Device type. <10:15> Device subtype. physical-recordlen, INT:ref:1 output diskprocess-version, INT:ref:1 output 0 DP1 disk process. 1 DP2 disk process. error, INT:ref:1 output options, INT:value input <0:12> Should be 0. <13> If 1, this call is initiating a nowait inquiry only, and information will be returned in a system message. Only <13> or <14>, but not both, may be set to 1. <14> If 1, the sending of DEVICEINFO inquiry (-40) messages to a subtype 30 process should not be allowed to take longer than the period indicated by timeout. If time is exceeded, error 40 is returned. <15> If 1, DEVICEINFO inquiry (-40) messages are not to be sent to subtype 30 processes. tag-or-timeout, INT(32):value input DISK_REFRESH_ (Superseded on G-series releases) Causes control information to be written to the associated disk volume. error := DISK_REFRESH_ ( name:length ); error, INT returned value name:length, STRING .EXT:ref:*,INT:value input:input Guardian Programming Reference Summary for pTAL and TAL —522631-001 5- 18
  • 95.
    Procedure Calls Summary(D-F) DISKINFO (Superseded by FILE_GETINFOLISTBYNAME_) Obtains information about disk volumes. error := DISKINFO ( name , [ capacity ] , [ avail ] , [ numfrag ] , [ biggest ] , [ drivekinds ] , [ drivecaps] ); error, INT returned value name, INT .EXT:ref:12 input capacity, INT(32) .EXT:ref:1 output avail, INT(32) .EXT:ref:1 output numfrag, INT(32) .EXT:ref:1 output biggest, INT(32) .EXT:ref:1 output drivekinds, STRING .EXT:ref:16 output [0:7] The product number of the primary drive. [8:15] The product number of the mirror drive. drivecaps, INT(32) .EXT:ref:2 output DNUMIN Converts the ASCII characters that represent a number into the signed double-word integer value for that number. next-addr := DNUMIN ( ascii-num ,signed-result ,base ,[ status ] ,[ flags ] ); Guardian Programming Reference Summary for pTAL and TAL —522631-001 5- 19
  • 96.
    Procedure Calls Summary(D-F) next-addr, INT(32) returned value ascii-num, STRING .EXT:ref:* input signed-result, INT(32) .EXT:ref:1 output base, INT:value input status, INT .EXT:ref:1 output 1 A nonexistent number (the string does not start with a valid sign, prefix, or numeric). 0 Valid conversion. -1 Illegal integer (the number cannot be represented in 32 bits as a signed quantity). flags, INT:value input <0:12> Must be 0. <13> Disallow preceding sign (+/-). <14> Disallow prefixes (%, #, and so on) <15> Permit a two-word number of the form integer1.integer2 where each unsigned integer must fit within a 16-bit word. DNUMOUT Converts unsigned double-word integer values to their ASCII equivalents, right-justified in an array. width := DNUMOUT ( ascii-result ,unsigned-doubleword ,base ,[ width ] ,[ flags ] ); width, INT returned value ascii-result, STRING .EXT:ref:* output unsigned-doubleword, INT(32):value input base, INT:value input width, INT:value input flags, INT:value input Guardian Programming Reference Summary for pTAL and TAL —522631-001 5- 20
  • 97.
    Procedure Calls Summary(D-F) <0:14> Must be 0. <15> Blank-fill on left (the default is zero-fill). DST_GETINFO_ Provides information about the DST entry that is in effect at time keygmt. error:= DST_GETINFO_ ( keygmt , dstentry ); error keygmt, FIXED:value input dstentry, INT:EXT:ref:* output DST_TRANSITION_ADD_ Allows a super-group user (255,n) to add an entry to the daylight-saving-time (DST) transition table. This operation is allowed only when the DAYLIGHT_SAVING_TIME option in the system is configured to the TABLE option. This procedure supersedes the ADDDSTTRANSITION procedure. error:= DST_TRANSITION_ADD_ ( dstentry ); error dstentry, INT.EXT:ref:* input DST_TRANSITION_DELETE_ Allows a super-group user (255,n) to delete an existing entry from the daylight-saving- time (DST) transition table. This operation is allowed only when the DAYLIGHT_SAVING_TIME option in the system is configured to the TABLE option. error:= DST_TRANSITION_DELETE_ ( dstentry ); error dstentry, INT.EXT:ref:* input Guardian Programming Reference Summary for pTAL and TAL —522631-001 5- 21
  • 98.
    Procedure Calls Summary(D-F) Error Summary for DST_* Procedures: Error Literal Value Description 0 ZSYS^VAL^DST^OK The operation is successful. 1 ZSYS^VAL^DST^SECURITY^ERROR The caller is not a super-group user (255,n). 2 ZSYS^VAL^DST^BAD^VERSION The version number passed in ZSYS^DDL^DST^ENTRY^DEF is not valid. The only valid version is ZSYS^VAL^DST^VERSION^SE P1997. 3 ZSYS^VAL^DST^BAD^PARAMETER One of the specified parameters is not valid. 4 ZSYS^VAL^DST^INTERVAL^ERROR Invalid interval operation. An attempt was made to add, delete, or modify a DST entry that causes a collision with an existing DST entry. 5 ZSYS^VAL^DST^DELETE^NOW^ERROR An attempt was made to delete a required DST entry. This error is returned when the DST entry that the user attempted to delete is in effect at the time the delete operation was attempted and the offset of the entry is nonzero. 6 ZSYS^VAL^DST^TYPE^ERROR The DAYLIGHT_SAVING_TIME option in the system is not configured to use the TABLE option. 7 ZSYS^VAL^DST^TABLE^EMPTY The DST table has no entries. This error is returned by the DST_GETINFO_ procedure. 8 ZSYS^VAL^DST^BOUNDS^ERROR An attempt was made to use time values outside the supported range. The supported range is 1/ 1/ 1 0:00:00.000000 through 10000/12/31 23:59:59.999999 GMT. Guardian Programming Reference Summary for pTAL and TAL —522631-001 5- 22
  • 99.
    Procedure Calls Summary(D-F) Error Literal Value Description 9 ZSYS^VAL^DST^RANGE^LOW The specified keygmt value was less than the lowgmt value of the first DST interval with nonzero offset. This error is returned by the DST_GETINFO_ procedure. 10 ZSYS^VAL^DST^RANGE^HIGH The specified keygmt value is greater than the highgmt of the last DST interval with nonzero offset. This error is returned by the DST_GETINFO_ procedure. 11 ZSYS^VAL^DST^COUNT^OVERFLOW An attempt was made to add too many entries to the table. Delete some of the entries and try again. DST_TRANSITION_MODIFY_ Allows a super-group user (255,n) to modify an entry in the daylight-saving-time (DST) transition table. This operation is allowed only when the DAYLIGHT_SAVING_TIME option in the system is configured to the TABLE option. error:= DST_TRANSITION_MODIFY_ ( olddst , newdst ); error olddst, INT.EXT input newdst, INT.EXT input EDITREAD Reads text lines from an EDIT file (file code = 101). One line is transferred by each call to EDITREAD. status := EDITREAD ( edit-controlblk ,buffer ,bufferlen ,sequence-num ); status, INT returned value Guardian Programming Reference Summary for pTAL and TAL —522631-001 5- 23
  • 100.
    Procedure Calls Summary(D-F) >= 0 Indicates that the reading of the file was successful. -1 End of file encountered. -2 Error occurred while reading. -3 Text file format error. -4 Sequence error. -5 Checksum error. -6 Invalid buffer address. edit-controlblk, INT:ref:* input buffer, STRING:ref:* output bufferlen, INT:value input sequence-num, INT(32):ref:1 output EDITREADINIT Prepares a buffer in the application program’s data area for subsequent calls to EDITREAD. status := EDITREADINIT ( edit-controlblk ,filenum ,bufferlen ); status, INT returned value 0 Successful (OK to read). -1 End of file detected (empty file). -2 I/O error. -3 Format error (not EDIT file), or buffer length is incorrect. -6 Invalid buffer address. edit-controlblk, INT:ref:* input filenum, INT:value input bufferlen, INT:value input Guardian Programming Reference Summary for pTAL and TAL —522631-001 5- 24
  • 101.
    Procedure Calls Summary(D-F) ERRNO_GET_ Obtains the value of the errno variable set by many OSS, native C/C++, and some Guardian routines. ?SOURCE $SYSTEM.SYSTEM.HERRNO error := ERRNO_GET_; error, INT(32) returned value EXTENDEDIT Copies an EDIT file to a new file that it creates and that has a larger extent size than the original file. EXTENDEDIT is an IOEdit procedure and can only be used with files that have been opened by OPENEDIT or OPENEDIT_. error := EXTENDEDIT ( filenum ,[ start ] ,[ increment ] ); error, INT returned value filenum, INT .EXT:ref:1 input, output start, INT(32):value input increment, INT(32):value input FILE_ALTERLIST_ Changes certain attributes of a disk file that are normally set when the file is created. This procedure operates only on Guardian objects. error := FILE_ALTERLIST_ ( filename:length ,item-list ,number-of-items ,values ,values-length ,[ partonly ] ,[ error-item ] ); Guardian Programming Reference Summary for pTAL and TAL —522631-001 5- 25
  • 102.
    Procedure Calls Summary(D-F) error, INT returned value filename:length, STRING .EXT:ref:*,INT:value input:input item-list, INT .EXT:ref:* input number-of-items, INT:value input values, INT .EXT.ref:* input values-length, INT:value input partonly, INT:value input error-item, INT .EXT:ref:1 output FILE_CLOSE_ Closes an open file opened by either FILE_OPEN_ or OPEN. error := FILE_CLOSE_ ( filenum ,[ tape-disposition ] ); error, INT returned value filenum, INT:value input tape-disposition, INT:value input 0 Rewind and unload; do not wait for completion. 1 Rewind and take offline; do not wait for completion. 2 Rewind and leave online; do not wait for completion. 3 Rewind and leave online; wait for completion. 4 Do not rewind; leave online. FILE_CLOSE_CHKPT_ Is called by a primary process to close a designated file in its backup process. error := FILE_CLOSE_CHKPT_ ( filenum ,[ tape-disposition ] ); error, INT returned value filenum, INT:value input tape-disposition, INT:value input Guardian Programming Reference Summary for pTAL and TAL —522631-001 5- 26
  • 103.
    Procedure Calls Summary(D-F) 0 Rewind and unload; do not wait for completion. 1 Rewind and take offline; do not wait for completion. 2 Rewind and leave online; do not wait for completion. 3 Rewind and leave online; wait for completion. 4 Do not rewind; leave online. FILE_COMPLETE_ Completes one previously initiated I/O operation for a Guardian file or returns ready information for one Open System Services (OSS) file. The Guardian or OSS file is from a set of files that was previously enabled for completion by one or more calls to the FILE_COMPLETE_SET_ procedure. status := FILE_COMPLETE_ ( completion-info ,[ timelimit ] ,[ complete-element-list ] ,[ num-complete-elements ] ,[ error-complete-element ] ); status, INT returned value completion-info, INT output .EXT:ref:*(ZSYS^DDL^COMPLETION^INFO^DEF) timelimit, INT(32):value input >0D Wait for completion. The timelimit parameter specifies the maximum time (in 0.01-second units) from the time of the FILE_COMPLETE_ call that the caller can wait for completion. = 0D Check for completion. FILE_COMPLETE_ immediately returns to the caller, regardless of whether completion has occurred. = -1D Wait indefinitely. < -1D An invalid value (file-system error 590 occurs). omitted Wait indefinitely. complete-element-list, INT input .EXT:ref:*(ZSYS^DDL^COMPLETE^ELEMENT^DEF) num-complete-elements, INT input error-complete-element, INT .EXT output Guardian Programming Reference Summary for pTAL and TAL —522631-001 5- 27
  • 104.
    Procedure Calls Summary(D-F) FILE_COMPLETE_GETINFO_ Provides information about the set of files that are currently enabled for completion and thus can be completed by the FILE_COMPLETE_ procedure. These files were enabled for completion by one or more previous calls to the FILE_COMPLETE_SET_ procedure. status := FILE_COMPLETE_GETINFO_ ( info-list ,maxnum-info-elements ,[ num-info-elements ] ); status, INT returned value info-list, INT output .EXT:ref:*(ZSTS^DDL^COMPLETE^ELEMENT^DEF) maximum-info-elements, INT input num-info-elements, INT .EXT output FILE_COMPLETE_SET_ Enables a set of Guardian and Open System Services (OSS) files for completion by subsequent calls to the FILE_COMPLETE_ procedure. status := FILE_COMPLETE_SET_ ( complete-element-list ,num-complete-elements ,[ error-complete-element ] ); status, INT returned value complete-element-list, INT input .EXT:ref:*(ZSYS^DDL^COMPLETE^ELEMENT^DEF) num-complete-elements, INT input error-complete-element, INT .EXT output Guardian Programming Reference Summary for pTAL and TAL —522631-001 5- 28
  • 105.
    Procedure Calls Summary(D-F) FILE_CREATE_ Defines a new structured or unstructured disk file. This procedure operates only on Guardian objects. error := FILE_CREATE_ ( filename:maxlen ,filenamelen ,[ file-code ] ,[ primary-extent-size ] ,[ secondary-extent-size ] ,[ maximum-extents ] ,[ file-type ] ,[ options ] ,[ recordlen ] ,[ blocklen ] ,[ keylen ] ,[ key-offset ] ); error, INT returned value filename:maxlen, STRING .EXT:ref:*,INT:value input, output:input filenamelen, INT .EXT:ref:1 input, output file-code, INT:value input primary-extent-size, INT:value input secondary-extent-size, INT:value input maximum-extents, INT:value input file-type, INT:value input 0 Unstructured. 1 Relative. 2 Entry-sequenced. 3 Key-sequenced. options, INT:value input <0:9> Reserved (must be 0). <10> Refresh EOF. A change to the end-of-file value is to cause the file label to be written immediately to disk. <11> Index compression. For key-sequenced files, the entries in the index blocks are to be compressed. Must be 0 for other file types. <12> Data compression. For key-sequenced files, the keys of entries in the data blocks are to be compressed. Must be 0 for other file types. Guardian Programming Reference Summary for pTAL and TAL —522631-001 5- 29
  • 106.
    Procedure Calls Summary(D-F) <0:9> Reserved (must be 0). <13> Audit compression. For audited files, the audit data is to be compressed. <14> Audited. The file is to be audited under TMF. Must be 0 for systems without TMF. <15> Odd unstructured. For unstructured files, I/O transfers are to occur with the exact counts specified. If this option is not selected, transfers are rounded up to an even byte boundary. Must be 0 for other file types. recordlen, INT:value input blocklen, INT:value input keylen, INT:value input key-offset, INT:value input FILE_CREATELIST_ Defines a new structured or unstructured disk file with characteristics that cannot be specified through FILE_CREATE_. This procedure operates only on Guardian objects. error := FILE_CREATELIST_ ( filename:maxlen ,filenamelen ,item-list ,number-of-items ,values ,values-length ,[ error-item ] ); error, INT returned value filename:maxlen, STRING .EXT:ref:*,INT:value input, output:input filenamelen, INT .EXT:ref:1 input, output item-list, INT .EXT:ref:* input number-of-items, INT:value input values, INT .EXT:ref:* input values-length, INT:value input error-item, INT .EXT:ref:1 output Guardian Programming Reference Summary for pTAL and TAL —522631-001 5- 30
  • 107.
    Procedure Calls Summary(D-F) FILE_GETINFO_ Obtains a limited set of information about a file identified by file number. error := FILE_GETINFO_ ( filenum ,[ last-error ] ,[ filename:maxlen ] ,[ filename-length ] ,[ type-info ] ,[ flags ] ); error, INT returned value filenum, INT:value input last-error, INT .EXT:ref:1 output filename:maxlen, STRING .EXT:ref:*,INT:value output:input filename-length, INT .EXT:ref:1 output type-info, INT .EXT:ref:5 output [0] = Device type. [1] = Device subtype. [2] = Object type. >0 = SQL disk file. 0= Non-SQL disk file. -1 = Not a disk file. [3] File type. 0= Unstructured disk file. 1= Relative disk file. 2= Entry-sequenced disk file. 3= Key-sequenced disk file. -1 = Not a disk file. [4] File code. >=0 = Disk file. -1 = Not a disk file. flags, INT .EXT:ref:1 output Guardian Programming Reference Summary for pTAL and TAL —522631-001 5- 31
  • 108.
    Procedure Calls Summary(D-F) <0:14> Reserved and undefined. <15> File is an OSS file. FILE_GETINFOBYNAME_ Obtains a limited set of information about a file identified by file name. error := FILE_GETINFOBYNAME_ ( filename:length ,[ type-info ] ,[ physical-recordlen ] ,[ options ] ,[ tag-or-timeout ] ,[ flags ] ); error, INT returned value filename:length, STRING .EXT:ref:*,INT:value input:input type-info, INT .EXT:ref:5 output [0] = Device type. [1] = Device subtype. [2] = Object type. >0 = SQL disk file. 0= Non-SQL disk file. -1 = Not a disk file. 0= Unstructured disk file. 1= Relative disk file. 2= Entry-sequenced disk file. 3= Key-sequenced disk file. -1 = Not a disk file. [4] = File code. >=0 = Disk file. -1 = Not a disk file. physical-recordlen, INT .EXT:ref:1 output options, INT:value input Guardian Programming Reference Summary for pTAL and TAL —522631-001 5- 32
  • 109.
    Procedure Calls Summary(D-F) <0:12> Reserved (specify 0). <13> Specifies that this call is only initiating a nowait inquiry and the information will be returned in a system message. Do not set both options.<13> and options.<14>. <14> Specifies that the sending of a device type inquiry message to a subtype 30 process should not be allowed to take longer than indicated by timeout. If the time is exceeded, error 40 is returned. <15> Specifies that device type inquiry messages are not to be sent to subtype 30 processes. tag-or-timeout, INT(32):value input flags, INT .EXT:ref:1 output <0:14> Reserved and undefined. <15> File is an OSS file. FILE_GETINFOLIST_ Obtains detailed information about a file identified by file number. error := FILE_GETINFOLIST_ ( filenum ,item-list ,number-of-items ,result ,result-max ,[ result-length ] ,[ error-item ] ); error, INT returned value filenum, INT:value input item-list, INT .EXT:ref.* input number-of-items, INT:value input result, INT .EXT:ref:* output result-max, INT:value input result-length, INT .EXT:ref:1 output error-item, INT .EXT:ref:1 output Guardian Programming Reference Summary for pTAL and TAL —522631-001 5- 33
  • 110.
    Procedure Calls Summary(D-F) Code Size (bytes) Description 1 2 File name length 2 * File name 3 2 Current-file-name length 4 * Current file name 5 2 DEFINE name length 6 * DEFINE name 7 2 Last error 8 2 Last-error detail 9 2 Partition in error 10 2 Key in error 11 4 Next record pointer 12 4 Current record pointer 13 2 Current key specifier 14 2 Current key length 15 * Current key value 16 2 Current primary-key length 17 * Current primary-key value 18 6 Tape volume 19 2 Highest open-file number 20 2 Next open-file number 21 2 Current access mode 22 2 Open exclusion mode 23 2 Open nowait depth 24 2 Open sync depth 25 2 Open options 26 4 Open information 30 2 Device type 31 2 Device subtype 32 2 Demountable disk 33 2 Audited disk 34 2 Physical record length 35 4 Logical device number 36 2 Subdevice number Guardian Programming Reference Summary for pTAL and TAL —522631-001 5- 34
  • 111.
    Procedure Calls Summary(D-F) Code Size (bytes) Description 40 2 SQL type 41 2 File type 42 2 File code 43 2 Logical record length 44 2 Block length 45 2 Key offset 46 2 Key length 47 2 Lock key length 50 2 Primary extent size 51 2 Secondary extent size 52 2 Maximum extents 53 2 Allocated extents 54 8 Creation time 56 8 Last open time 57 8 Expiration time 58 2 File owner 59 2 Safeguard security 60 2 Progid security 61 2 Clear on purge 62 4 Operating system security string 63 2 Licensed file 65 2 Odd unstructured file 66 2 Audited file 67 2 Audit compression 68 2 Data compression 69 2 Index compression 70 2 Refresh EOF 71 2 Create options 72 2 Write through 73 2 Verify writes 74 2 Serial writes 75 2 File is open 76 2 Crash open 77 2 Rollforward needed Guardian Programming Reference Summary for pTAL and TAL —522631-001 5- 35
  • 112.
    Procedure Calls Summary(D-F) Code Size (bytes) Description 78 2 Broken 79 2 Corrupt 80 2 Secondary partition 81 2 Index levels 82 2 SQL program 83 2 SQL valid 84 2 SQL-catalog name length 85 * SQL-catalog name 90 2 Number of partitions 91 * Partition descriptors 92 * Partition-volume name-length array 93 * Partition-volume names 94 2 Partition partial-key length 95 * Partition partial-key values 96 2 Partition-volume names total length 100 2 Number of alternate keys 101 * Alternate-key descriptors 102 2 Number of alternate-key files 103 * Alternate-file name-length array 104 * Alternate-file names 105 2 Alternate-file total name length 110 4 Volume capacity 111 4 Volume free space 112 4 Volume fragments 113 4 Largest volume fragment 114 16 Disk drive types 115 8 Disk drive capacities 116 2 Sequential block buffering 117 8 Last open LCT 118 8 Expiration LCT 119 8 Creation LCT 136 4 Partition EOF 137 4 Partition maximum size 140 8 Partition modification time Guardian Programming Reference Summary for pTAL and TAL —522631-001 5- 36
  • 113.
    Procedure Calls Summary(D-F) Code Size (bytes) Description 141 8 Partition modification LCT 142 4 Aggregate EOF 143 4 Aggregate maximum file size 144 8 Aggregate modification time 145 8 Aggregate modification LCT 153 2 Logical (packed) record length 160 6 Three-word partition modification LCT 161 2 OSS file 164 4 OSS group ID 165 4 OSS access permissions 166 2 OSS open 167 4 OSS user ID 168 2 OSS number of links 169 2 Security mechanisms in effect FILE_GETINFOLISTBYNAME_ Obtains detailed information about a file identified by file name. error := FILE_GETINFOLISTBYNAME_ ( filename:length ,item-list ,number-of-items ,result ,result-max ,[ result-length ] ,[ error-item ] ); error INT! returned value filename:length STRING .EXT:ref:* INT:value input:input item-list INT .EXT:ref.* input number-of-itemsINT:value input INT .EXT:ref:* output result-max INT:value input result-length INT .EXT:ref:1 output error-item INT .EXT:ref:1 output Guardian Programming Reference Summary for pTAL and TAL —522631-001 5- 37
  • 114.
    Procedure Calls Summary(D-F) FILE_GETLOCKINFO_ Obtains information about locks (held or pending) on a local disk file or on a set of files on a local disk volume. This procedure operates only on Guardian objects. error := FILE_GETLOCKINFO_ ( name:length ,[ processhandle ] ,[ transid ] ,control ,lock-descr ,lock-descr-length ,participants ,max-participants ,[ locked-name:maxlen ] ,[ locked-name-length ] ); error, INT returned value 0 Information for one locked file and all its lock holders/waiters was returned without error. More locks might exist; continue calling FILE_GETLOCKINFO_. 1 End of information about locks associated with a process or transID. 11 Lock information for the file processor transaction was not found. If any information has been returned already, it is now invalid. 12 The disk-process lock tables were changed between calls. 41 Checksum error on control. The control parameter has been altered between calls to FILE_GETLOCKINFO_, or it was not initialized before the first call. 45 Information for one locked record or file has been returned name:length, STRING .EXT:ref:*,INT:value input:input processhandle, INT .EXT:ref:10 input transid, INT .EXT:ref:4 input control, INT .EXT:ref:10 input, output lock-descr, INT .EXT:ref:* output [0] Lock type. 0 indicates a file lock; 1 indicates a record lock. [1] Flags. The bits are: <0> = 1 indicates a generic lock. <1:15> = Reserved. [2] The number of participants (the number of holders and waiters for the lock). Guardian Programming Reference Summary for pTAL and TAL —522631-001 5- 38
  • 115.
    Procedure Calls Summary(D-F) [3:4] Record ID if the lock is a record lock on a file that is not key-sequenced; undefined otherwise. [5] The length in bytes of the key if the lock is a record lock on a key- sequenced file; 0 otherwise. [6:n] The key value if the lock is a record lock on a key-sequenced file. lock-descr-length INT:value input participants INT .EXT:ref:* output [0] Flags. The bits have the following meanings: <0> =1 The participant is identified by process handle. =0 The participant is identified by transid. <1:3> =1 The lock is granted. =0 The lock is in the waiting state. <4> =1 The lock is an intent lock internally set by DP2. <5:15> = Reserved. [1] Reserved. [2:11] The process handle of the participant (if participants[0].<0> = 1). [2:5] The transid of the participant (if participants[0].<0> = 0). max-participants, INT:value input locked-name:maxlen, STRING .EXT:ref:*,INT:value output:input locked-name-length, INT .EXT:ref:1 output FILE_GETOPENINFO_ Obtains information about the opens of one disk file or all the files on a disk device, or the opens of certain nondisk devices. error := FILE_GETOPENINFO_ ( searchname:length ,prevtag ,[ primary-opener ] ,[ backup-opener ] ,[ accessmode ] ,[ exclusion ] ,[ syncdepth ] ,[ filename:maxlen ] ,[ filenamelen ] ,[ accessid ] ,[ validmask ] ); Guardian Programming Reference Summary for pTAL and TAL —522631-001 5- 39
  • 116.
    Procedure Calls Summary(D-F) error, INT returned value searchname:length, STRING .EXT:ref:*,INT:value input:input prevtag, FIXED .EXT:ref:1 input, output primary-opener, INT .EXT:ref:10 output backup-opener, INT .EXT:ref:10 output accessmode, INT .EXT:ref:1 output 0 Read-write. 1 Read only. 2 Write only. exclusion, INT .EXT:ref:1 output 0 Shared. 1 Exclusive. 2 Process exclusive (supported only for Optical Storage Facility). 3 Protected. syncdepth, INT .EXT:ref:1 output filename:maxlen, STRING .EXT:ref:*,INT:value output:input filenamelen, INT .EXT:ref:1 output accessid, INT .EXT:ref:1 output validmask, INT .EXT:ref:1 output <0> Primary-opener. <1> Backup-opener. <2> Accessmode. <3> Exclusion. <4> Syncdepth. <5> Filename. <6> Accessid. Guardian Programming Reference Summary for pTAL and TAL —522631-001 5- 40
  • 117.
    Procedure Calls Summary(D-F) FILE_GETRECEIVEINFO_ Returns information about the last message read on the $RECEIVE file. error := FILE_GETRECEIVEINFO_ ( receive-info ); error, INT returned value receive-info, INT .EXT:ref:17 output [0] I/O type. Indicates the data operation last performed by the message sender. 0 = Not a data message (system message). 1 = Sender called WRITE. 2 = Sender called READ. 3 = Sender called WRITEREAD. [1] Maximum reply count. The maximum number of bytes of data that can be returned by REPLY (as determined by the read count of the sender). [2] Message tag. The value that identifies the request message just read. [3] File number. The value that identifies the file associated with this message in the requesting process. [4:5] Sync ID. The sync ID associated with this message. [6:15] Sender process handle. The process handle of the process that sent the last message. For system messages other than the open, close, control, setmode, setparam, resetsync, or controlbuf messages, the null process handle (-1 in each word) is returned. [16] Open label. The value assigned by the application (when replying to the open system message) to the open on which the received message was sent. If this value is unavailable (as when the opener is running on a C-series system), -1 is returned. FILE_GETSYNCINFO_ The FILE_GETSYNCINFO_ procedure is called by the primary process of a process pair before starting a series of write operations to a file open with paired access. Unlike the GETSYNCINFO procedure, this procedure can be used with format 2 files. error := FILE_GETSYNCINFO_ ( filenum ,infobuf ,infomax ,infosize ); Guardian Programming Reference Summary for pTAL and TAL —522631-001 5- 41
  • 118.
    Procedure Calls Summary(D-F) error, INT:value returned value filename, INT:value input infobuf, INT:EXT.ref:* output infomax, INT:value input infosize, INT:EXT.ref:1 output FILE_OPEN_ Establishes a communication path between an application process and a file, and returns a file number to the caller. error := FILE_OPEN_ ( {filename:length|pathname} ,filenum ,[ access ] ,[ exclusion ] ,[ nowait-depth ] ,[ sync-or-receive-depth ] ,[ options ] ,[ seq-block-buffer-id ] ,[ seq-block-buffer-len ] ,[ primary-processhandle ] ); error, INT returned value filename:length, STRING .EXT:ref:*,INT:value input:input pathname, STRING .EXT:ref:* input filenum, INT .EXT:ref:1 input, output access, INT:value input 0 Read-write. 1 Read only. 2 Write only. 3 Extend (supported only for tape). exclusion, INT:value input 0 Shared. 1 Exclusive. 2 Process exclusive (supported only for Optical Storage Facility). 3 Protected. Guardian Programming Reference Summary for pTAL and TAL —522631-001 5- 42
  • 119.
    Procedure Calls Summary(D-F) nowait-depth, INT:value input sync-or-receive-depth, INT:value input options, INT:value input <0> Unstructured access. For disk files, access is to occur as if the file were unstructured, that is, without regard to record structures and partitioning. (For unstructured files, setting this bit to 1 causes secondary partitions to be inaccessible.) Must be 0 for other devices. <1> Nowait open processing. Specifies that the processing of the open proceed in a nowait manner. This option cannot be specified for the TMF transaction pseudofile (TFILE). The value of nowait-depth must be a nonzero value when this option is used. <2> No open time update. For disk files, the “time of last open” file attribute is not updated by this open. Must be 0 for other devices. <3> Any file number for backup open. When performing a backup open, specifies that the system can use any file number for the backup open. 0 specifies that the backup open is to have the same file number as the primary open. Error 12 is returned if that file number is already in use. <4:9> Reserved (specify 0). <10> Open an OSS file by its OSS pathname. Specifies that the file to be opened is identified by the pathname parameter. <11> Reserved (specify 0). <12> No transactions. For $RECEIVE, system messages do not include transaction identifiers. Must be 0 if bit 15 is 1. <13> I18N locale support. For $RECEIVE, data messages include internationalization locale information. Must be 0 if bit 15 is 1. <14> Old format system messages. For $RECEIVE, system messages should be delivered in C-series format. If this bit is 0, D-series format messages are delivered. For other device types, this bit must be 0. <15> No file-management system messages. For $RECEIVE, specifies that the caller does not wish to receive process open, process close, CONTROL, SETMODE, SETPARAM, RESETSYNC, and CONTROLBUF messages. If this bit is 0, messages are delivered as normal. For other device types, this bit must be 0. seq-block-buffer-id, INT:value input seq-block-buffer-len, INT:value input primary-processhandle, INT .EXT:ref:10 input Guardian Programming Reference Summary for pTAL and TAL —522631-001 5- 43
  • 120.
    Procedure Calls Summary(D-F) FILE_OPEN_CHKPT_ Is called by a primary process to open a designated file for its backup process. error := FILE_OPEN_CHKPT_ ( filenum ,[ status ] ); error, INT returned value filenum, INT:value input status, INT .EXT:ref output 0 Backup open succeeded (error is 0). 1 File was opened in backup with warning. 2 Open failed in backup. 3 Unable to communicate with backup. 4 Error occurred in primary. FILE_PURGE_ Deletes a disk file that is not open. This procedure operates only on Guardian objects. error := FILE_PURGE_ ( filename:length ); error, INT returned value filename:length, STRING .EXT:ref:*,INT:value input:input FILE_RENAME_ Changes the name of an open disk file. error := FILE_RENAME_ ( filenum ,newname:length ); error, INT returned value filenum, INT:value input newname:length, STRING .EXT:ref:*,INT:value input:input Guardian Programming Reference Summary for pTAL and TAL —522631-001 5- 44
  • 121.
    Procedure Calls Summary(D-F) FILE_RESTOREPOSITION_ The FILE_RESTOREPOSITION_ procedure supersedes the REPOSITION procedure and is used to position a disk file to a saved position (the positioning information having been saved by a call to the FILE_SAVEPOSITION_ procedure). error := FILE_RESTOREPOSITION_ ( filenum ,savearea ,savesize ); error, INT:value returned value filenum, INT:value input savearea, INT:EXT.ref:* input savesize, INT:value input FILE_SAVEPOSITION_ The FILE_SAVEPOSITION_ procedure supersedes the SAVEPOSITION procedure and is used to save a disk file’s current file positioning information in anticipation of a need to return to that position. This procedure can be used with format 2 files. error := FILE_SAVEPOSITION_ ( filenum ,savearea ,savemax ,savesize); error, INT:value returned value filenum, INT:value input savearea, INT:EXT.ref:* output savemax, INT:value input savesize, INT:ref.EXT:1 output Guardian Programming Reference Summary for pTAL and TAL —522631-001 5- 45
  • 122.
    Procedure Calls Summary(D-F) FILE_SETKEY_ The FILE_SETKEY_ procedure supersedes the KEYPOSITION[X] procedures. The FILE_SETKEY_ procedure is used to position by primary or alternate key within a structured file, and sets the current position, access path, and positioning mode for the specified file. FILE_SETKEY_ can be used with format 2 files. error := FILE_SETKEY_ ( filenum ,key-value :key-value-len ,[ keyspecifier ] ,[ positioningmode ] ,[ options ] ,[ comparelength ] ); error, INT:value returned value filenum, INT:value input key-value:key-value-len, INT:value input, input keyspecifier input positioningmode, INT:value input options, INT:value input comparelength, INT:value input FILE_SETPOSITION_ The FILE_SETPOSITION_ procedure supersedes the POSITION procedure. This procedure has the same function as the POSITION procedure but the FILE_SETPOSITION_ procedure accepts an 8-byte record specifier, enabling use with format 2 files. error := FILE_SETPOSITION_ ( filenum ,recordspecifier ); error, INT:value returned value filenum, INT:value input recordspecifier, INT(64):value input Guardian Programming Reference Summary for pTAL and TAL —522631-001 5- 46
  • 123.
    Procedure Calls Summary(D-F) FILE_SETSYNCINFO_ The FILE_SETSYNCINFO_ procedure supersedes the SETSYNCINFO procedure and is used by the backup process of a process pair after a failure of the primary process. The FILE_SETSYNCINFO_ procedure passes a process pair’s latest synchronization block (received in a checkpoint message from the primary process) to the file system. Unlike the SETSYNCINFO procedure, the FILE_SETSYNCINFO_ procedure can be used with format 2 files. error := FILE_SETSYNCINFO_ ( filenum ,infobuf ,infosize ); error, INT:value returned value filenum, INT:value input infobuf, INT.EXT:ref:* input infosize, INT:value input FILEERROR Determines whether an I/O operation that completed with an error should be retried. status := FILEERROR ( filenum ); status, INT returned value 0= The operation should not be retried. 1= The operation should be retried. filenum, INT:value input Guardian Programming Reference Summary for pTAL and TAL —522631-001 5- 47
  • 124.
    Procedure Calls Summary(D-F) FILEINFO (Superseded by FILE_GETINFO_, FILE_GETINFOBYNAME_, FILE_GETINFOLIST_, and FILE_GETINFOLISTBYNAME_) Obtains error and characteristic information about a file. CALL FILEINFO ( [ filenum ] ,[ error ] ,[ filename ] ,[ ldevnum ] ,[ devtype ] ,[ extent-size ] ,[ eof-pointer ] ,[ next-record-pointer ] ,[ last-modtime ] ,[ filecode ] ,[ secondary-extent-size ] ,[ current-record-pointer ] ,[ open-flags ] ,[ subdevice ] ,[ owner ] ,[ security ] ,[ num-extents-allocated ] ,[ max-file-size ] ,[ partition-size ] ,[ num-partitions ] ,[ file-type ] ,[ maximum-extents ] ,[ unstructured-buffer-size ] ,[ more-flags ] ,[ sync-depth ] ,[ next-open-fnum ] ); filenum INT:value input error INT:ref:1 output filename INT:ref:12 input output ldevnum INT:ref:1 or INT:ref:16 output devtype INT:ref:1 output extent-size INT:ref:1 output eof-pointer INT(32):ref:1 output next-record-pointer INT(32):ref:1 output last-modtime INT:ref:3 output filecode INT:ref:1 output Guardian Programming Reference Summary for pTAL and TAL —522631-001 5- 48
  • 125.
    Procedure Calls Summary(D-F) secondary-extent-size INT:ref:1 output current-record-pointer INT(32):ref:1 output open-flags, INT:ref:1 output <1> For the $RECEIVE file only, the process will receive open, close, CONTROL, SETMODE, RESETSYNC, and CONTROLBUF system messages. <2> Unstructured access, regardless of the actual file structure. <3:5> Is the access mode: 0 = Read/write access. 1 = Read-only access. 2 = Write-only access. <6> Resident buffers are provided by the application process for calls to file system I/O routines. <8> For process files, the open message is sent nowait and must be completed by a call to AWAITIO. <9:11> Is the exclusion mode: 0 = Shared access. 1 = Exclusive access. 3 = Protected access. <12:15> Is the maximum number of concurrent nowait I/O operations that can be in progress on this file at any given time. <12:15> = 0 implies wait I/O. subdevice INT:ref:1 output owner INT:ref:1 output security STRING:ref:5 output [0].<4> =1 Applies to a program file if the file has PROGID authority. [0].<5> =1 Applies if the CLEARONPURGE option is on for this file. If on, this option causes all data to be physically deleted from the disk when the file is purged. If this option is not on, the disk space is only logically deallocated when the file is purged: no data is actually destroyed. [0].<6> =0 There is a Safeguard record for the file. =1 There is no Safeguard record for the file. [1] Returns the reading security of the file. [2] Returns the writing security of the file. [3] Returns the execution security of the file. [4] Returns the purging security of the file. Guardian Programming Reference Summary for pTAL and TAL —522631-001 5- 49
  • 126.
    Procedure Calls Summary(D-F) num-extents-allocated INT:ref:1 output max-file-size INT(32):ref:1 output partition-size INT:ref:1 output num-partitions INT:ref:1 output file-type INT:ref:1 output <2> =1 This file is audited by TMF. <5:7> SQL object type: 0 = Not SQL. 2 = SQL table. 5 = SQL protection view. 7 = SQL shorthand view. <10> =1 REFRESH is specified for this file. <11> =1 For key-sequenced files, index compression is specified. <12> =1 For key-sequenced files, data compression is specified. =1 For unstructured files, 1 indicates that ODDUNSTR is specified. <13:15> Specifies the file structure: 0 = Unstructured. 1 = Relative. 2 = Entry-sequenced. 3 = Key-sequenced. maximum-extents, INT:ref:1 output unstructured-buffer-size, INT:ref:1 output more-flags, INT:ref:1 output <0> 0 = Verify writes off. 1 = Verify writes on (the current file-label default). <1> 0 = The system automatically selects serial or parallel writes.. 1 = Serial mirror writes only (the current file-label default). <2> 0 = Buffered writes enabled. 1 = Write-thru (the current file-label default). <3> 0 = Audit-checkpoint compression off. 1 = Audit-checkpoint compression on (the current file-label default). <4> 0 = Crash-open flag off. 1 = Crash-open flag on. <5> 0 = Rollforward-needed flag off. 1 = Rollforward-needed flag on. <6> 0 = Broken-file flag off. 1 = Broken-file flag on. Guardian Programming Reference Summary for pTAL and TAL —522631-001 5- 50
  • 127.
    Procedure Calls Summary(D-F) <7> 0 = File closed. 1 = File opened. <8> 0 = Not licensed for privileged procedures. 1 = licensed. <9> 0 = Not a secondary partition. 1 = A secondary partition. <10> 0 = File contents valid. 1 = File contents probably invalid. <11:15> Unused. sync-depth, INT:ref:1 output next-open-fnum, INT:ref:1 output < (CCL) An error occurred; the error number returned in error. =(CCE) FILEINFO executed successfully. > (CCG) An error occurred; the error number returned in error. FILEINQUIRE (Superseded by FILE_GETINFO_, FILE_GETINFOBYNAME_, FILE_GETINFOLIST_, and FILE_GETINFOLISTBYNAME_) Obtains information about a file. CALL FILEINQUIRE ( [ filenumber ] ,[ filename ] ,item-list ,number-items ,result-buffer ,result-buffer-length ,[ error-item ] ,[ error-code ] ); filenumber, INT:value input filename, INT:ref:12 input item-list, INT:ref:* input number-items, INT:value input result-buffer, INT .EXT:ref:* output result-buffer-length, INT:value input error-item, INT:ref:1 output error-code, INT:ref:1 output Guardian Programming Reference Summary for pTAL and TAL —522631-001 5- 51
  • 128.
    Procedure Calls Summary(D-F) < (CCL) An error occurred (see error-code). = (CCE) FILEINQURE was successful. > (CCG) One or more of the items requested are invalid for the file’s device type, file type, open status, or other characteristic. FILENAME_COMPARE_ Compares two file names to determine if they refer to the same object. error := FILENAME_COMPARE_ ( filename1:length ,filename2:length ); error, INT returned value -1 The file names do not refer to the same object. 0 The file names refer to the same object. >0 A file-system error prevented evaluation; the returned value is the file-system error number. filename1:length, STRING .EXT:ref:*,INT:value input:input filename2:length, STRING .EXT:ref:*,INT:value input:input FILENAME_DECOMPOSE_ Extracts and returns one or more parts of a file-name or file name pattern. error := FILENAME_DECOMPOSE_ ( filename:length ,piece:maxlen ,piece-length ,level ,[ options ] ,[ subpart ] ); error, INT returned value filename:length, STRING .EXT:ref:*,INT:value input:input piece:maxlen, STRING .EXT:ref:*,INT:value output:input piece-length, INT .EXT:ref:1 output level, INT:value input Guardian Programming Reference Summary for pTAL and TAL —522631-001 5- 52
  • 129.
    Procedure Calls Summary(D-F) -1 Node name. 0 Destination name (for example, volume, device or process). 1 First qualifier (for example, subvolume). 2 Second qualifier (file identifier if disk file) options, INT:value input <0:12>= Reserved (specify 0). <13> =1 Do not return default values; that is, if a requested part is not present in filename but a default exists for it, return a null string instead of the default value. =0 Default values can be returned. <14> =1 Include prefix, that is, the entire portion of filename that precedes the part specified by level. =0 Do not include prefix. <15> =1 Include suffix, that is, the entire portion of filename that follows the part specified by level. =0 Do not include suffix. subpart, INT:value input 0 Extract all sections occurring before the period (.). 1 Extract processor for an unnamed process. 2 Extract PIN for an unnamed process. 3 Extract sequence number, of a process. 4 Extract name (begins with a dollar sign, ends at the first colon or period). FILENAME_EDIT_ Modifies one or more parts of a file name or file-name pattern, changing them to a specified value. error := FILENAME_EDIT_ ( filename:maxlen ,filename-length ,piece:length ,level ,[ options ] ,[ subpart ] ); Guardian Programming Reference Summary for pTAL and TAL —522631-001 5- 53
  • 130.
    Procedure Calls Summary(D-F) error, INT returned value filename:maxlen, STRING .EXT:ref:*,INT:value input, output:input filename-length, INT .EXT:ref:1 input, output piece:length, STRING .EXT:ref:*,INT:value input:input level, INT:value input -1 Node name. 0 Destination name (for example, volume, device, or process). 1 First qualifier (for example, subvolume). 2 Second qualifier (file identifier if disk file). options, INT:value input <0:13> Reserved (specify 0). <14> =1 Include prefix, that is, the entire portion of filename that precedes the part specified by level. =0 Do not include prefix. <15> =1 Include suffix, that is, the entire portion of filename that follows the part specified by level. =0 Do not include suffix. subpart, INT:value input This parameter applies only to process file names. 0 Replace whole destination, that is, all sections occurring before the period (.). 1 Replace processor, that is, the numeric part designating the processor for an unnamed process. 2 Replace PIN, that is, the numeric part that gives the process identification number for an unnamed process. 3 Replace sequence number, that is, the numeric part that gives the sequence number of a process. 4 Replace name, that is, the alphanumeric section that begins with a question mark and ends at the first colon or period. Guardian Programming Reference Summary for pTAL and TAL —522631-001 5- 54
  • 131.
    Procedure Calls Summary(D-F) FILENAME_FINDFINISH_ Releases the resources reserved for a search that was previously initiated by a call to FILENAME_FINDSTART_. error := FILENAME_FINDFINISH_ ( searchid ); error, INT returned value searchid, INT:value input FILENAME_FINDNEXT_ Returns the next name in a set of named entities that was defined by a call to FILENAME_FINDSTART_. error := FILENAME_FINDNEXT_ ( searchid, ,[ name:maxlen ] ,[ name-length ] ,[ entity-info ] ,[ tag ] ); error, INT returned value searchid, INT:value input name:maxlen, STRING .EXT:ref:*,INT:value output:input name-length, INT .EXT:ref:1 output entity-info, INT .EXT:ref:5 output [0] = Device type. [1] = Device subtype. [2] = Object type. >0 SQL disk file. 0 Non-SQL disk file. -1 Not a disk file. [3] = File type. Guardian Programming Reference Summary for pTAL and TAL —522631-001 5- 55
  • 132.
    Procedure Calls Summary(D-F) 0 Unstructured disk file. 1 Relative disk file. 2 Entry-sequenced disk file. 3 Key-sequenced disk file. -1 Not a disk file. [4] = File code. >= 0 Disk file. -1 Not a disk file. tag, INT(32):value input FILENAME_FINDSTART_ Sets up a search of named entities. error := FILENAME_FINDSTART_ ( searchid ,[ search-pattern:length ] ,[ resolve-level ] ,[ device-type ] ,[ device-subtype ] ,[ options ] ,[ startname:length ] ); error, INT returned value searchid, INT .EXT:ref:1 output search-pattern:length, STRING .EXT:ref:*,INT:value input:input resolve-level, INT:value input -1 Node name. 0 Destination name (for example, device or process). 1 First qualifier (for example, subvolume). 2 Second qualifier (file identifier if disk file). device-type, INT:value input device-subtype, INT:value input options, INT:value input Guardian Programming Reference Summary for pTAL and TAL —522631-001 5- 56
  • 133.
    Procedure Calls Summary(D-F) <0:8> Reserved (specify 0). <9> The search is to be executed in a nowait manner. The results of the search are returned in system messages sent to $RECEIVE. <10> Device simulation by subtype 30 devices is not to be supported. <11> The search is not to include subprocesses. <12> If an entity is encountered that is offline (that is, the system is not connected or the device is down), an error is to be reported. <13> If device-subtype is supplied, a file name must not match the device subtype value to be returned. <14> If device-type is supplied, a file name must not match the device type value to be returned. <15> If startname is supplied, and if the first name returned would be startname, then that name is to be skipped and the following name should be returned. startname:length, STRING .EXT:ref:*,INT:value input:input FILENAME_MATCH_ Determines whether one or more contiguous sections of a file name match the corresponding sections of a file-name pattern. error := FILENAME_MATCH_ ( filename:length ,pattern:length ,[ generic-set ] ); error, INT returned value 2 Match; name fits pattern. 1 Partial match; name fits lefthand pattern sections. 0 No match; name does not fit pattern. <0 An error occurred: -1 Missing name parameter. -2 Missing pattern parameter. -3 Length error on name parameter. -4 Length error on pattern parameter. -5 Bounds error on generic-set parameter. Guardian Programming Reference Summary for pTAL and TAL —522631-001 5- 57
  • 134.
    Procedure Calls Summary(D-F) filename:length, STRING .EXT:ref:*,INT:value input:input pattern:length, STRING .EXT:ref:*,INT:value input:input generic-set, INT .EXT:ref:1 output -1 The name falls before the first possible match. 0 The name falls within the set of possible matches. 1 The name falls after the last possible match. FILENAME_RESOLVE_ Converts a partially qualified file name to a fully qualified file name. error := FILENAME_RESOLVE_ ( partialname:length ,fullname:maxlen ,fullname-length ,[ options ] ,[ override-name:length ] ,[ search:length ] ,[ defaults:length ] ); error, INT returned value partialname:length, STRING .EXT:ref:*,INT:value input:input fullname:maxlen, STRING .EXT:ref:*,INT:value output:input fullname-length, INT .EXT:ref:1 output options, INT:value input <0:7> Reserved (specify 0). <8> If partialname consists of a simple unqualified disk file name, a DEFINE name is generated to use as override-name. The generated name is an equals sign (=) followed by partialname. <9> If search is supplied and a search fails to find an existing file, FILENAME_RESOLVE_ resolves partialname using the first entry in the search DEFINE. <10> If a DEFINE name other than one translated by options.<11> or options.<12> is supplied for partialname, FILENAME_RESOLVE_ returns error 13. <11> If a DEFINE name is supplied for partialname, and if the DEFINE has a file name associated with it, that file name is returned as the result. Guardian Programming Reference Summary for pTAL and TAL —522631-001 5- 58
  • 135.
    Procedure Calls Summary(D-F) <12> If a DEFINE name is supplied for partialname, and if the DEFINE contains only a file name (that is, it is a simple MAP DEFINE), then FILENAME_RESOLVE_ returns that file name as the result. If neither this option nor options.<11> is specified, then the DEFINE name is returned as the result. <13> If a logical device number (LDEV) appears as part of partialname, FILENAME_RESOLVE_ translates it to the corresponding symbolic device name. <14> A single name part supplied in partialname is to be treated as a subvolume name or pattern. <15> All alphabetic characters in the resolved file name are to be shifted to upper case. override-name:length, STRING .EXT:ref:*,INT:value input:input search:length, STRING .EXT:ref:*,INT:value input:input defaults:length, STRING .EXT:ref:*,INT:value input:input FILENAME_SCAN_ Checks for valid file-name syntax and returns the length in bytes of that part of the input string that constitutes a file name. error := FILENAME_SCAN_ ( string:length ,[ count ] ,[ kind ] ,[ entity-level ] ,[ options ] ); error, INT returned value string:length, STRING .EXT:ref:*,INT:value input:input count, INT .EXT:ref:1 output kind, INT .EXT:ref:1 output 0 File name (that is, the name of an entity). 1 File-name pattern. This value can be returned only if options.<15> is set to 1. If the input is a name as well as a file-name pattern (that is, it does not contain an asterisk or question mark), FILENAME_SCAN_ classifies it as a name and not a pattern. 2 DEFINE name. entity-level, INT .EXT:ref:1 output Guardian Programming Reference Summary for pTAL and TAL —522631-001 5- 59
  • 136.
    Procedure Calls Summary(D-F) -1 Node name. 0 Name of device or process without qualifiers. >0 Name of device or process with entity-level qualifiers. options, INT:value input <0:13> Reserved (specify 0). <14> Specifies that a subvolume name be accepted as valid input. <15> Specifies that a file name pattern be accepted as valid input. FILENAME_TO_OLDFILENAME_ Converts a file name to a C-series internal file name. error := FILENAME_TO_OLDFILENAME_ ( filename:length ,oldstyle-name ); error, INT returned value filename:length, STRING .EXT:ref:*,INT:value input:input oldstyle-name, INT .EXT:ref:12 output FILENAME_TO_PATHNAME_ Converts a Guardian file name or subvolume name to an OSS pathname. error := FILENAME_TO_PATHNAME_ ( filename:length ,pathname:maxlen ,pathlen ,[ options ] ); error, INT returned value 0 No error. 563 The pathname buffer is too small to contain the resulting name. 4002 The filename parameter specifies a Guardian name for an OSS file that either does not exist or has been unlinked but is still open by some process. The corresponding OSS errno value is ENOENT. Guardian Programming Reference Summary for pTAL and TAL —522631-001 5- 60
  • 137.
    Procedure Calls Summary(D-F) 4006 The fileset that corresponds to the supplied Guardian name for an OSS file is not mounted. The corresponding OSS errno value is ENXIO. 4013 The caller does not have search access to one of the directories within all of the resulting pathnames. The corresponding OSS errno value is EACCESS. 4014 A parameter has an invalid address. The corresponding OSS errno value is DEFAULT. 4022 Either options is specified and options.<14> does not contain all zeros or filename is not a valid file or subvolume name. The corresponding OSS errno value is EINVAL. 4202 The root fileset is not mounted. The corresponding OSS errno value is ENOROOT. 4211 The resulting pathname is longer than the limit defined in PATH_MAX. (PATH_MAX is a symbolic constant defined in the OSS limitsh header file.) The corresponding OSS errno value is ECWDTOOLONG. filename:length, STRING .EXT:ref:*,INT:value input:input pathname:maxlen, STRING .EXT:ref:*,INT:value output:input pathlen, INT .EXT:ref:1 output options, INT:value input FILENAME_TO_PROCESSHANDLE_ Converts a process file name to a process handle. error := FILENAME_TO_PROCESSHANDLE_ ( filename:length ,processhandle ); error, INT returned value filename:length, STRING .EXT:ref:*,INT:value input:input processhandle, INT .EXT:ref:10 output FILENAME_UNRESOLVE_ Accepts a file name as input, deletes lefthand sections that match the default values, and returns a file name that is semantically equivalent to the input file name. error := FILENAME_UNRESOLVE_ ( longname:length ,shortname:maxlen ,shortname-length ,[ level ] ,[ defaults:length ] ); Guardian Programming Reference Summary for pTAL and TAL —522631-001 5- 61
  • 138.
    Procedure Calls Summary(D-F) error, INT returned value longname:length, STRING .EXT:ref:*,INT:value input:input shortname:maxlen, STRING .EXT:ref:*,INT:value output:input shortname-length, INT .EXT:ref:1 output level, INT:value input. -1 Node name. 0 Destination name (for example, volume, device, or process). 1 First qualifier (for example, subvolume). 2 Second qualifier (file identifier if disk file). defaults:length, STRING .EXT:ref:*,INT:value input:input FILERECINFO (Superseded by FILE_GETINFO_, FILE_GETINFOBYNAME_, FILE_GETINFOLIST_, and FILE_GETINFOLISTBYNAME_) Obtains the record characteristics of a disk file. CALL FILERECINFO ( [ filenum ] ,[ current-keyspecifier ] ,[ current-keyvalue ] ,[ current-keylen ] ,[ current-primary-keyvalue ] ,[ current-primary-keylen ] ,[ partition-in-error ] ,[ specifier-of-key-in-error ] ,[ file-type ] ,[ logical-recordlen ] ,[ blocklen ] ,[ key-sequenced-parameters ] ,[ alternate-key-parameters ] ,[ partition-parameters ] ,[ filename ] ); filenum, INT:value input current-keyspecifier, INT:ref:1 output current-keyvalue, STRING:ref:* output current-keylen, INT:ref:1 output current-primary-keyvalue, STRING:ref:* output current-primary-keylen, INT:ref:1 output Guardian Programming Reference Summary for pTAL and TAL —522631-001 5- 62
  • 139.
    Procedure Calls Summary(D-F) partition-in-error, INT:ref:1 output specifier-of-key-in-error, INT:ref:1 output file-type, INT:ref:1 output <2> = 1 This file is audited by the TMF subsystem. SQL object type: <5:7> 0= Not SQL. 2= SQL table. 4= SQL index. 5= SQL protection view. 7= SQL shorthand view. <10> =1 REFRESH is specified for this file. <11> =1 For key-sequenced files, index compression is specified. <12> =1 For key-sequenced files, data compression is specified. =1 For unstructured files, ODDUNSTR is specified. =1 Specifies the file structure: <13:15> 0= Unstructured. 1= Relative. 2= Entry-sequenced 3= Key-sequenced. logical-recordlen, INT:ref:1 output blocklen, INT:ref:1 output key-sequenced-parameters, INT:ref:* output alternate-key-parameters, INT:ref:* output partition-parameters, INT:ref:* output filename, INT:ref:12 input < (CCL) An error occurred. Either the specified file was not found or both filenum and filename were specified in the same FILERECINFO call. = (CCE) FILERECINFO executed successfully. > (CCG) The file is not a disk file. Guardian Programming Reference Summary for pTAL and TAL —522631-001 5- 63
  • 140.
    Procedure Calls Summary(D-F) FIXSTRING Edits a string based on subcommands provided in a template. CALL FIXSTRING ( template ,template-len ,data ,data-len ,[ maximum-data-len ] ,[ modification-status ] ); template, STRING:ref:* input template-len, INT:value input data, STRING:ref:* input, output data-len, INT:ref:1 input, output maximum-data-len, INT:value input modification-status, INT:ref:1 output 0 No change was made to data. 1 A replacement, insertion, or deletion was performed on data. < (CCL) One or more of the required parameters is missing. = (CCE) The operation finished successfully. > (CCG) An insert or replace would have caused the data string to exceed the maximum-data-len. FNAME32COLLAPSE (obsolete) Converts the 32-character file name used by the Distributed Name Service to external format for display. length := FNAME32COLLAPSE ( intname ,extname ); length, INT returned value intname, STRING .EXT:ref:32 input extname, STRING .EXT:ref:35 output Guardian Programming Reference Summary for pTAL and TAL —522631-001 5- 64
  • 141.
    Procedure Calls Summary(D-F) FNAME32EXPAND (Superseded by FILENAME_SCAN_ and FILENAME_RESOLVE_) Expands a partial file name from the compacted external form to the 32-character file name used by the Distributed Name Service programmatic interface. length := FNAME32EXPAND ( extname ,intname ,defaults ); length, INT returned value extname, STRING .EXT:ref:35 input intname, STRING .EXT:ref:32 output defaults, STRING .EXT:ref:16 or 18 input FNAME32TOFNAME (obsolete) Converts a file name from the 32-character format used by the Distributed Name Service to the Guardian file-name format. status := FNAME32TOFNAME ( fname32 ,fname ); status, INT returned value -1 The file name was successfully converted. 0 The file name cannot be converted, or an error occurred. fname32, STRING .EXT:ref:32 input fname, STRING .EXT:ref:24 input FNAMECOLLAPSE (Superseded by OLDFILENAME_TO_FILENAME_) Converts a file name from internal to external form. The system number of a network file name is converted to the corresponding system name. length := FNAMECOLLAPSE ( internal-name ,external-name ); Guardian Programming Reference Summary for pTAL and TAL —522631-001 5- 65
  • 142.
    Procedure Calls Summary(D-F) length, INT returned value internal-name, INT:ref:12 input external-name, STRING:ref:26 or STRING:ref:34 output FNAMECOMPARE (Superseded by FILENAME_COMPARE_) Compares two file names within a local or network environment to determine whether these file names refer to the same file or device. status := FNAMECOMPARE ( filename1 ,filename2 ); status, INT returned value -1 (CCL) The file names do not refer to the same file. 0 (CCE) The file names refer to the same file. 1 (CCG) The file names refer to the same volume name, device name, or process name on the same system; however, words [4:11] are not the same. filename1, INT:ref:12 input filename2, INT:ref:12 input FNAMEEXPAND (Superseded by FILENAME_SCAN_ and FILENAME_RESOLVE_) Expands a partial file name from the compacted external form to the standard 12-word internal form. length := FNAMEEXPAND ( external-filename ,internal-filename ,default-names ); length, INT returned value external-filename, STRING:ref:26 or STRING:ref:35 input internal-filename, INT:ref:12 output default-names, INT:ref:8 input Guardian Programming Reference Summary for pTAL and TAL —522631-001 5- 66
  • 143.
    Procedure Calls Summary(D-F) [0:3] default volname. First two bytes can be “sysnum,” in which case “$” is omitted from volume name. (blank-filled on right). [4:7] default subvolname (blank-filled on right). [0:7] corresponds directly to word[1:8] of the command interpreter startup message. FNAMETOFNAME32 (obsolete) Converts a file name from the 12-word Guardian format to the 32-character Distributed Name Service format. status := FNAMETOFNAME32 ( fname ,fname32 ); status, INT returned value -1 The file name was successfully converted. 0 The file name cannot be converted, or an error occurred. fname, STRING .EXT:ref:24 input fname32, STRING .EXT:ref:32 output FORMATCONVERT[X] Converts the external format to the internal form required for presentation to the FORMATDATA[X] procedures. status := FORMATCONVERT[X] ( iformat ,iformatlen ,eformat ,eformatlen ,scales ,scale-count ,conversion ); status, INT returned value >0 Successful conversion. The value is the number of bytes in the converted format (iformat). =0 The value of iformatlen was insufficient to hold the entire converted format. <0 Error in the format. The value is the negated byte location in the input string at which the error was detected. The first byte of eformat is numbered 1. Guardian Programming Reference Summary for pTAL and TAL —522631-001 5- 67
  • 144.
    Procedure Calls Summary(D-F) iformat, output STRING:ref:* (Use with FORMATCONVERT) STRING .EXT:ref:* (Use with FORMATCONVERTX) iformatlen, INT:value input eformat, input STRING:ref:* (Use with FORMATCONVERT) STRING .EXT:ref:* (Use with FORMATCONVERTX) eformatlen, INT:value input scales, output INT:ref:* (Use with FORMATCONVERT) INT .EXT:ref:* (Use with FORMATCONVERTX) scale-count, input, output INT:ref:* (Use with FORMATCONVERT) INT .EXT:ref:* (Use with FORMATCONVERTX) conversion, INT:value input 0 Check the validity of the format only. 1 Produce an expanded form that has modifiers and decorations. 2 Produce a compact conversion, but ignore modifiers and decorations. FORMATDATA[X] Converts data-item values between internal and external representations. error := FORMATDATA[X] ( buffer ,bufferlen ,buffer-occurs ,length ,iformat ,variable-list ,variable-list-len ,flags ); error, INT:value returned value Guardian Programming Reference Summary for pTAL and TAL —522631-001 5- 68
  • 145.
    Procedure Calls Summary(D-F) 0 Successful operation. 267 Buffer overflow. 268 No buffer. 271 EDIT item mismatch. 272 Illegal input character. 273 Bad format. 274 Numeric overflow. buffer, input, output STRING:ref:* (Use with FORMATDATA) STRING .EXT:ref:* (Use with FORMATDATAX) bufferlen, INT:value input buffer-occurs, INT:value input length, output INT:ref:* (Use with FORMATDATA ) INT .EXT:ref:* (Use with FORMATDATAX) iformat, input INT:ref:* (Use with FORMATDATA ) INT .EXT:ref:* (Use with FORMATDATAX) variable-list, input INT:ref:* (Use with FORMATDATA ) INT .EXT:ref:* (Use with FORMATDATAX) variable-list-len, INT:value input flags, INT:value input <2> List-directed 0 = Apply the format-directed operation. 1 = Apply the list-directed operation. Guardian Programming Reference Summary for pTAL and TAL —522631-001 5- 69
  • 146.
    Procedure Calls Summary(D-F) <3> P-Relative (iformat array) 0 = The iformat array address is G-relative. 1 = The iformat array address is P-relative. <4> Null value passed 0 = Each variable-list item is a 4-word group (FORMATDATA) or a 5-word group (FORMATDATAX). 1 = Each variable-list item is a 5-word group (FORMATDATA) or a 7-word group (FORMATDATAX). <15> Input 0 = FORMATDATA[X] performs output operations. 1 = FORMATDATA[X] performs input operations. Guardian Programming Reference Summary for pTAL and TAL —522631-001 5- 70
  • 147.
    6 Procedure Calls Summary (G-N) This section lists procedure calls in alphabetic order and briefly describes the syntax of each. For additional information about the procedure calls, refer to the Guardian Procedure Calls Reference Manual. GETPCPBINFO Provides a process with information from its own (the current) process control block (PCB). CALL GETCPCBINFO ( request-id ,cpcb-info ,in-length ,out-length ,error ); request-id, INT:value input 0 Remote creator flag; returns 1 in cpcb-info if creator was remote. 1 Logged-on process state; returns 1 in cpcb-info if the process has logged on. 2 Safeguard-authenticated logon flag; returns 1 in cpcb-info if the process was started after you successfully logged on to a terminal owned by Safeguard. 3 Safeguard-authenticated logoff state; returns 1 in cpcb-info if the Safeguard- authenticated logon flag is set but the process has logged off. 4 Inherited-logon flag; returns 1 in cpcb-info if the logon was inherited by the process. 5 Stop-on-logoff flag; returns 1 in cpcb-info if the process is to be stopped when it requests to be placed in the logged-off state. 6 Propagate-logon flag; returns 1 in cpcb-info if the process’s local descendants are to be created with the inherited-logon flag set. 7 Propagate-stop-on-logoff flag; returns 1 in cpcb-info if the process’s local descendants are to be created with the stop-on-logoff flag set. 16 Logon flags and states; returns current settings of all the logon flags and state indicators in cpcb-info. cpcb-info, INT:ref:* output in-length, INT:value input out-length, INT:ref:1 output error, INT:ref:1 output Guardian Programming Reference Summary for pTAL and TAL —522631-001 6 -1
  • 148.
    Procedure Calls Summary(G-N) GETCRTPID (Superseded by PROCESS_GETINFO_ and PROCESS_GETINFOLIST_) Obtains the four-word process ID associated with a process CRTPID contains the process name or creation timestamp in words[0:2] and cpu,pin in word[3]. CALL GETCRTPID ( cpu,pin ,process-id ); cpu,pin, INT:value input process-id, INT:ref:4 output < (CCL) GETCRTPID failed, or no such process exists. = (CCE) GETCRTPID completed successfully. GETDEVNAME (Superseded by DEVICE_GETINFOBYLDEV_ or FILENAME_FINDNEXT_) Obtains the name associated with a logical device number. status := GETDEVNAME ( ldevnum ,devname ,[ sysnum ] ,[ devtype ] ,[ devsubtype ] ); status, INT returned value 0 Successful; the name of the designated logical device is returned in devname. 1 The designated logical device does not exist. The logical device number of the next higher device is returned in ldevnum; the name of that device is returned in devname. 2 There is no logical device number that is equal to or greater than the ldevnum whose value matches the devtype and devsubtype parameters. 4 The system specified could not be accessed. 99 Parameter error. ldevnum, INT:ref:1 input, output devname, INT:ref:4 output Guardian Programming Reference Summary for pTAL and TAL —522631-001 6 -2
  • 149.
    Procedure Calls Summary(G-N) sysnum, INT:value input devtype, INT:value input devsubtype, INT:value input GETINCREMENTEDIT Returns the record number increment value for an IOEdit file. GETINCREMENTEDIT is an IOEdit procedure and can be used only with files that have been opened by OPENEDIT or OPENEDIT_. increment := GETINCREMENTEDIT ( filenum ); increment, INT(32) returned value filenum, INT .EXT:ref:1 input GETPOOL (Superseded by POOL_CHECK_, POOL_DEFINE_, POOL_GETINFO_, POOL_GETSPACE_, POOL_PUTSPACE_, and POOL_RESIZE_) Obtains a block of memory from a buffer pool. address := GETPOOL ( pool-head ,block-size ); address, INT(32) returned value pool-head, INT .EXT:ref:19 input, output block-size, INT(32):value input < (CCL) The value of block-size is out of range, or the data structures are invalid; -1D is returned. = (CCE) The operation is successful; the extended address of the block returns if block- size is greater than zero, -1D returns if block-size is equal to zero. > (CCG) Insufficient memory is available; -1D returns. GETPOSITIONEDIT Returns the record number of the line in the specified file most recently read or written. GETPOSITIONEDIT is an IOEdit procedure and can only be used with files that have been opened by OPENEDIT or OPENEDIT_. position := GETPOSITIONEDIT ( filenum ); Guardian Programming Reference Summary for pTAL and TAL —522631-001 6 -3
  • 150.
    Procedure Calls Summary(G-N) position, INT(32) returned value filenum, INT:value input GETPPDENTRY (Superseded by PROCESS_GETPAIRINFO_) Obtains a description of a named process pair by the process pair’s index into the destination control table (DCT). CALL GETPPDENTRY ( index ,sysnum ,ppd ); index, INT:value input sysnum, INT:value input ppd, INT:ref:9 output [0:2] Process name (in local form). [3].<0:7> Processor of primary process. [3].<8:15> PIN of primary process. [4].<0:7> Processor of backup process if it is a process pair. [4].<8:15> PIN of backup process, if it is a process pair. [5:8] The value of process-id of ancestor containing: [0:2] Process name or creation timestamp. [3].<0:3> Reserved. [3].<4:7> Processor number where the process is executing. [3].<8:15> PIN assigned by the operating system. < (CCL) The DCT in the given system cannot be accessed. = (CCE) The GETPPDENTRY finished successfully. > (CCG) The index is greater than the last entry in the DCT. GETREMOTECRTPID (Superseded by PROCESS_GETINFO_ and PROCESS_GETINFOLIST_) Obtains the 4-word process ID associated with a remote process. CALL GETREMOTECRTPID ( cpu,pin ,process-id ,sysnum ); Guardian Programming Reference Summary for pTAL and TAL —522631-001 6 -4
  • 151.
    Procedure Calls Summary(G-N) cpu,pin, INT:value input process-id, INT:ref:4 output sysnum, INT:value input < (CCL) The GETREMOTECRTPID failed. Either no such process exists, the remote system could not be accessed, or the process has an inaccessible name, consisting of more than four characters. = (CCE) GETREMOTECRTPID was successful. GETSYNCINFO (Superseded by FILE_GETSYNCINFO_) Returns a disk file’s synchronization block so it can be sent to the backup process in a checkpoint message. CALL GETSYNCINFO ( filenum ,sync-block ,[ sync-block-size ] ); filenum, INT:value input sync-block, INT:ref:* output sync-block-size, INT:ref:1 output < (CCL) An error occurred (call FILEINFO). = (CCE) GETSYNCINFO was successful. > (CCG) The file is not a disk file. GETSYSTEMNAME (Superseded by NODENUMBER_TO_NODENAME_) Supplies the system name associated with a system number. ldev := GETSYSTEMNAME ( sysnum ,sysname ); ldev, INT returned value Guardian Programming Reference Summary for pTAL and TAL —522631-001 6 -5
  • 152.
    Procedure Calls Summary(G-N) >0 The logical device number of the network line handler that controls the current path to the system designated by sysnum. 0 The sysnum parameter is not defined. -1 All paths to the system are down. -2 The system is not on a network, or the system is local and unnamed (system name is blank). -3 A bounds error occurred on sysname. sysnum, INT:value input sysname, INT:ref:4 output GIVE^BREAK Returns BREAK to the process that owned BREAK before the last call to TAKE^BREAK. GIVE^BREAK is a sequential I/O (SIO) procedure and can be used only with files that have been opened by OPEN^FILE. error := GIVE^BREAK ( { common-fcb } { file-fcb } ); error, INT returned value common-fcb, INT:ref:* input file-fcb, INT:ref:* input GROUP_GETINFO_ Returns attributes of the specified group. error := GROUP_GETINFO_ ( [ group-name:group-maxlen ] ,[ group-curlen ] ,[ groupid ] ,[ is-auto-delete ] ,[ descrip:descrip-maxlen ] ,[ descriplen ] ); error, INT returned value Guardian Programming Reference Summary for pTAL and TAL —522631-001 6 -6
  • 153.
    Procedure Calls Summary(G-N) 0 No error. 11 Record not in use. The specified group name or group ID is undefined. 22 Parameter out of bounds. An input parameter is not within the valid range, or return information does not fit into the length of the space provided, or an output parameter overlays the stack marker that was created by calling this procedure. 29 This procedure was called without specifying a required parameter. 590 Bad parameter value. Either the value specified in group-curlen is greater than the value specified in group-maxlen, the value specified in group-curlen is not within the valid range, or the value specified in groupid is not within the valid range. group-name:group-maxlen, STRING .EXT:ref:*,INT:value input, output:input group-curlen, INT .EXT:ref:1 input, output groupid, INT(32) .EXT:ref:1 input, output is-auto-delete, INT .EXT:ref:1 output -1 The group is deleted when it becomes empty. 0 The group is not deleted when it becomes empty. descrip:descrip-maxlen, STRING .EXT:ref:*,INT:value output:input descriplen, INT .EXT:ref:1 output Guardian Programming Reference Summary for pTAL and TAL —522631-001 6 -7
  • 154.
    Procedure Calls Summary(G-N) GROUP_GETNEXT_ Returns a group name and group ID. On successive calls, all group names and group IDs can be obtained. error := GROUP_GETINFO_ ( group-name:group-maxlen ,group-curlen ,[ groupid ] ); error, INT returned value 0 No error. 11 Record not in file. There are no more groups, or the specified group name is undefined. 22 Parameter out of bounds. An input parameter is not within the valid range, or return information does not fit into the length of the space provided, or an output parameter overlays the stack marker that was created by calling this procedure. 29 Missing parameter. This procedure was called without specifying a required parameter. 590 Bad parameter value. The value specified in group-curlen is greater than the value specified in group-maxlen. group-name:group-maxlen, STRING .EXT:ref:*, input, output:input INT:value group-curlen, INT .EXT:ref:1 input, output groupid, INT(32) .EXT:ref:1 output GROUPIDTOGROUPNAME (Superseded by USER_GETINFO_) Returns the group name associated with an existing group ID from the USERID file. CALL GROUPIDTOGROUPNAME ( id-name ); id-name, INT:ref:4 input, output < (CCL) required parameter is missing, a buffer is out of bounds, or an I/O error occurred when accessing the $SYSTEM.SYSTEM.USERID file. = (CCE) The designated group name is returned. > (CCG) The specified group ID is undefined. Guardian Programming Reference Summary for pTAL and TAL —522631-001 6 -8
  • 155.
    Procedure Calls Summary(G-N) GROUPMEMBER_GETNEXT_ Returns a user name or alias associated with a group ID. On successive calls, all user names and aliases associated with a given group ID can be obtained. error := GROUPMEMBER_GETNEXT_ ( groupid ,member-name:member-maxlen ,member-curlen ); error, INT returned value 0 No error. 11 Record not in file. The specified group has no more members or is undefined. 22 Parameter out of bounds. An input parameter is not within the valid range, or return information does not fit into the length of the space provided, or an output parameter overlays the stack marker that was created by calling this procedure. 29 This procedure was called without specifying all parameters. 590 Bad parameter value. Either the value specified in member-curlen is greater than the value specified in member-maxlen, the value specified in member-curlen is not within the valid range, or the value specified in groupid is not within the valid range. groupid, INT(32):value input member-name:member-maxlen, STRING .EXT:ref:*,INT:value input, output:input member-curlen, INT .EXT:ref:1 input, output GROUPNAMETOGROUPID (Superseded by USER_GETINFO_) Returns the group ID associated with an existing group name from the USERID file. CALL GROUPNAMETOGROUPID ( name-id ); name-id, INT:ref:4 input, output < (CCL) The value of name-id is out of bounds, or an I/O error occurred when the procedure accessed $SYSTEM.SYSTEM.USERID. = (CCE) The designated group ID is returned. > (CCG) The specified group name is undefined. Guardian Programming Reference Summary for pTAL and TAL —522631-001 6 -9
  • 156.
    Procedure Calls Summary(G-N) HALTPOLL Stops continuous polling. CALL HALTPOLL ( filenum ); filenum, INT:value input < (CCL) An error occurred (call FILEINFO). = (CCE) The HALTPOLL procedure executed successfully. HEADROOM_ENSURE_ Allows you to check that the current stack has enough room for the needs of your process. This procedure can help you, for example, when specifying parameters for the PROCESS_LAUNCH_ procedure. Note. This procedure can be called only from a TNS/R native process. Its pTAL syntax is declared only in the EXTDECS0 file. ret-val := HEADROOM_ENSURE_ ( room ); ret-val, INT(32) returned value 0D Either the requested space already exists in the stack space or the stack space was successfully enlarged to make enough room for the request. 5D The request would have exceeded the maximum stack size. 6D The stack pointer is invalid. 7D The stack pointer does not address a main stack or a privileged stack. 36D The system was unable to allocate memory. 43D The system was unable to obtain swap space. 45D The Kernel Managed Swap Facility (KMSF) was unable to obtain swap space. room, INT(32):value input Guardian Programming Reference Summary for pTAL and TAL —522631-001 6- 10
  • 157.
    Procedure Calls Summary(G-N) HEAPSORT Sorts an array of equal-sized elements in place. CALL HEAPSORT ( array ,num-elements ,size-of-element ,compare-proc ); array, INT:ref:* input, output num-elements, INT:value input size-of-element, INT:value input compare-proc, INT PROC input HEAPSORTX_ Sorts an array of equal-sized elements in place. error := HEAPSORTX_ ( array ,num-elements ,size-of-element ,compare-proc ,[ pointer-array ] ); error, INT returned value 0 Array has been successfully sorted. 29 Required parameter is missing. 590 Invalid parameter supplied. 632 Insufficient stack space for temporary variable. array, INT .EXT:ref:* input, output num-elements, INT(32):value input size-of-element, INT:value input compare-proc, INT PROC input pointer-array, INT(32) .EXT:ref:* input Guardian Programming Reference Summary for pTAL and TAL —522631-001 6- 11
  • 158.
    Procedure Calls Summary(G-N) HIST_FORMAT_ Produces an ASCII text representation of the process state whose context is established by a previous call to the HIST_INIT_ procedure or HIST_GETPRIOR_ procedure. ?SOURCE $SYSTEM.SYSTEM.HHISTRY ret-val := HIST_FORMAT_ ( workspace ,text ,limit ); ret-val, INT returned value -2 HIST_BAD_WIDTH The value of the limit parameter is less than the minimum width for output defined by the Hist_MinWidth literal in the HHISTRY header file. -9 HIST_BAD_WORKSPACE The workspace structure has an invalid version identifier. This error can occur if HIST_FORMAT_ is called without first calling the HIST_INIT_ procedure or if the workspace structure has become corrupted. -10 HIST_BAD_FORMAT_CALL Nothing to format. This error can occur if you call HIST_FORMAT_ again after a previous call returned zero indicating no more text for the current context. workspace, INT .EXT:ref:(HIST_WORKSPACE_TEMPLATE) input, output text, STRING .EXT:ref:* output limit, INT:value input HIST_GETPRIOR_ Establishes a previous procedure call as the process context for display by the next HIST_FORMAT_ procedure call. ?SOURCE $SYSTEM.SYSTEM.HHISTRY error := HIST_GETPRIOR_ ( workspace ); error, INT returned value Guardian Programming Reference Summary for pTAL and TAL —522631-001 6- 12
  • 159.
    Procedure Calls Summary(G-N) 0 HIST_OK The procedure executed successfully. -8 HIST_ERROR The stack tracing mechanism failed. -9 HIST_BAD_WORKSPACE The workspace structure has an invalid version identifier. This error can occur if HIST_GETPRIOR_ is called without first calling the HIST_INIT_ procedure or if the workspace structure has become corrupted. workspace, INT .EXT:ref:(HIST_WORKSPACE_TEMPLATE) input, output HIST_INIT_ Initializes a process history display or stack trace. It validates a parameter and establishes the context to display and from which to begin tracing. HIST_INIT_ is used with the HIST_FORMAT_ and HIST_GETPRIOR_ procedures to provide the ability to display process state, including register contents and procedure activation history or stack traces. ?SOURCE $SYSTEM.SYSTEM.HHISTRY error := HIST_INIT_ ( workspace ,version ,options ,context ); error, INT returned value 0 HIST_OK The procedure terminated normally. -3 HIST_BAD_VERSION An invalid value was specified for the version parameter. -4 HIST_BAD_OPTION An invalid value was specified for the options parameter. An undefined bit was set. -5 HIST_BAD_CONTEXT A null value was specified for the context parameter. The context parameter must contain an address. -6 HIST_NOT_IMPLEMENTED A specified options bit is defined but not implemented. Guardian Programming Reference Summary for pTAL and TAL —522631-001 6- 13
  • 160.
    Procedure Calls Summary(G-N) -7 HIST_INIT_ERROR An error occurred during an attempt to initialize the stack trace. -8 HIST_ERROR The stack tracing mechanism failed while attempting to trace back to the calling procedure. -11 HIST_MISSING_HOOK This error is not returned in the D40 release. workspace, INT.EXT:ref:(HIST_WORKSPACE_TEMPLATE) input, output version, INT(32):value input options, INT:value input <13:15> =0 HO_Init_Here starts a trace of the current stack with the context of this call to HIST_INIT_. The context parameter is ignored in this case. 1 HO_Init_uContext uses the uContext structure whose address is passed in the context parameter. A uContext structure is a structure of type UCONTEXT_T that is passed to a signal handler installed by the SIGACTION_INIT_ or SIGACTION_SUPPLANT_ procedure. HIST_INIT_ initializes the trace at the point where the signal was generated. See “Protected contexts” under “Considerations” for more information. 2 HO_Init_JmpBuf uses the context saved in a TNS/R native jump buffer to start tracing at the point of a call to the SETJMP_ or SIGSETJMP_ procedure that filled the jump buffer. The address of the buffer is passed to HIST_INIT_ in the context parameter. 3 HO_Init_31Regs is reserved for Tandem use. 4 HO_Init_Address uses a 32-bit TNS/R native address for the context. This address is passed to the HIST_INIT_ procedure in the context parameter. A subsequent call to HIST_FORMAT_ returns context for that location. The address must point to a code location, but that location can contain TNS instructions or RISC instructions. To find out what is at a TNS address, you must first convert the TNS address into a RISC address. See the NonStop Himalaya K10000/K20000 Server Description Manual for details on address translation. The displayed context is affected when any of the following bits are set to 1: Guardian Programming Reference Summary for pTAL and TAL —522631-001 6- 14
  • 161.
    Procedure Calls Summary(G-N) <11> HO_NoSuppress enables the display of transition frames, including the shells by which TNS code calls TNS/R native procedures, the system procedure that calls a signal handler, and some transitions within low-level system software. By default, transition frames are not displayed. <10> HO_ShowProtected enables the display of protected context when a signal is generated within protected code. If a signal is generated within protected code, such as in a procedure running privileged, the context at that site is preserved in the uContext structure passed to the signal handler, but it is not displayed unless this option is set. <7> HO_OneLine modifies some formatting options to optimize the display of information in a single output line. It does not, however, ensure that all the information fits in one line. context, EXTADDR:ref:1 input INCREMENTEDIT Sets the increment to be added to successive line numbers for lines that will be added to an EDIT file without explicitly specified line numbers. INCREMENTEDIT is an IOEdit procedure and can be used only with files that have been opened by OPENEDIT or OPENEDIT_. CALL INCREMENTEDIT ( filenum ,[ increment ] ); filenum, INT:value input increment, INT(32):value input INITIALIZEEDIT Allocates the EDIT file segment (EFS) to be used by IOEdit and initializes the data structures that it contains. error := INITIALIZEEDIT ( [ swapvol ] ,[ maxfiles ] ,[ errorabend ] ,[ nowait-option ] ); error, INT returned value swapvol, INT .EXT:ref:4 input Guardian Programming Reference Summary for pTAL and TAL —522631-001 6- 15
  • 162.
    Procedure Calls Summary(G-N) maxfiles, INT:value input errorabend, INT:value input nowait-option, INT:value input 0 Don’t use double buffering on any file. 1 Use double buffering on all files that the user opens for nowait I/O before calling OPENEDIT_ (or OPENEDIT). 2 Use double buffering on all files opened for nowait I/O, whether by the user or by OPENEDIT_ (or OPENEDIT). INITIALIZER Reads the startup message and, optionally, requests receipt of assign and param messages sent by the Guardian command interpreter. status := INITIALIZER ( [ rucb ] ,[ passthru ] ,[ startupproc ] ,[ paramsproc ] ,[ assignproc ] ,[ flags ] ,[ timelimit ] ); status, INT returned value rucb, INT:ref:* input passthru, INT:ref:* output startupproc input paramsproc input assignproc input flags, INT:value input <0:10> Must be 0 <11> Request assign and param messages? 0 Yes 1 No <12> End abnormally if backup takeover occurs before first primary stack checkpoint? 0 Yes 1 No Guardian Programming Reference Summary for pTAL and TAL —522631-001 6- 16
  • 163.
    Procedure Calls Summary(G-N) <13> If 1, CALL MONITORNET (-1). <14> If 1, CALL MONITORCPUS (-1). <15> If 1, CALL ARMTRAP (-1,-1). timelimit, INT(32):value input >= 0D The timelimit parameter specifies the maximum amount of time (in units of 0.01 second) that INITIALIZER is to wait on $RECEIVE. = -1D INITIALIZER is to wait indefinitely. < -1D INITIALIZER calls ABEND. INTERPRETINTERVAL Converts a value representing a number of microseconds into days, hours, minutes, seconds, milliseconds, and microseconds. days := INTERPRETINTERVAL ( time ,[ hours ] ,[ minutes ] ,[ seconds ] ,[ milsecs ] ,[ microsecs ] ); days, INT(32) returned value time, FIXED:value input hours, INT:ref:1 output minutes, INT:ref:1 output seconds, INT:ref:1 output milsecs, INT:ref:1 output microsecs, INT:ref:1 output INTERPRETJULIANDAYNO Converts a Julian day number to the Gregorian year, month, and day. CALL INTERPRETJULIANDAYNO ( julian-day-num ,year ,month ,day ); Guardian Programming Reference Summary for pTAL and TAL —522631-001 6- 17
  • 164.
    Procedure Calls Summary(G-N) julian-day-num, INT(32):value input year, INT:ref:1 output month, INT:ref:1 output day, INT:ref:1 output INTERPRETTIMESTAMP Converts a 64-bit Julian timestamp into a Gregorian (the common civil calendar) date and time of day. ret-date-time := INTERPRETTIMESTAMP ( julian-timestamp ,date-n-time ); ret-date-time, INT(32) returned value julian-timestamp, FIXED:value input date-n-time, INT:ref:8 output [0] The Gregorian year (yyyy). [1] The Gregorian month (1-12). [2] The Gregorian day of month (1-31). [3] The hour of the day (0-23). [4] The minute of the hour (0-59). [5] The second of the minute (0-59). [6] The millisecond of the second (0-999). [7] The microsecond of the millisecond (0-999). JULIANTIMESTAMP Returns a four-word, microsecond resolution, Julian-date-based timestamp. retval := JULIANTIMESTAMP ( [ type ] ,[ tuid ] ,[ error ] ,[ node ] ); retval, FIXED returned value type, INT:value input Guardian Programming Reference Summary for pTAL and TAL —522631-001 6- 18
  • 165.
    Procedure Calls Summary(G-N) 0 Current GMT. 1 System-load GMT. 2 SYSGEN GMT. 3 Microseconds since system cold load. tuid, INT:ref:1 output error, INT output node, INT input KEYPOSITION[X] (Superseded by FILE_SETKEY_) Positions by primary or alternate key within a structured file. CALL KEYPOSITION[X] ( filenum ,key-value ,[ key-specifier ] ,[ length-word ] ,[ positioning-mode ] ); filenum, INT:value key-value, input STRING .ref:* (use with KEYPOSITION) input STRING .EXT:ref:* (use with KEYPOSITIONX) input key-specifier, INT:value input length-word, INT:value input positioning-mode, INT:value input < (CCL) Indicates that an error occurred (call FILE_GETINFO_ or FILEINFO). = (CCE) Indicates that the KEYPOSITION was successful. > (CCG) Indicates that this is not a structured disk file. LABELEDTAPESUPPORT Provides a way for nonprivileged programs to determine whether tape-label processing is enabled on the system. retvalue := LABELEDTAPESUPPORT ( [ sysnum ] ); Guardian Programming Reference Summary for pTAL and TAL —522631-001 6- 19
  • 166.
    Procedure Calls Summary(G-N) retvalue, INT returned value 1 Tape-label processing is enabled. 0 Tape-label processing is not enabled. <0 File-system error expressed as a negative value. sysnum, INT:value input LASTADDR (Superseded by ADDRESS_DELIMIT_) Returns the 'G'[0] relative address of the last word in the application process’s data area. last-addr := LASTADDR; last-addr, INT returned value LASTADDRX (Superseded by ADDRESS_DELIMIT_) Returns the last extended address available in the specified relative segment. last-addr := LASTADDRX ( [ seg ] ,[ pin ] ); last-addr, INT(32) returned value seg, INT:value input 0 User data 1 If privileged, it is system data; if not, it is user data. 2 Current code 3 User code 4-1023 Selectable extended data segment pin, INT:value input Guardian Programming Reference Summary for pTAL and TAL —522631-001 6- 20
  • 167.
    Procedure Calls Summary(G-N) LASTRECEIVE (Superseded by FILE_GETRECEIVEINFO_) Obtains the four-word process ID and the message tag associated with the last message read from the $RECEIVE file. CALL LASTRECEIVE ( [ process-id ] ,[ message-tag ] ); process-id, INT:ref:4 output message-tag, INT:ref:1 output < (CCL) $RECEIVE is not open. = (CCE) LASTRECEIVE was successful. LOCATESYSTEM (Superseded by NODENAME_TO_NODENUMBER_) Provides the system number corresponding to a system name and returns the logical device number of the line handler controlling the path to a given system. ldev := LOCATESYSTEM ( sysnum ,[ sysname ] ); ldev, INT returned value >0 The logical device number of the line handler for the specified system on the local system. 0 The system number does not exist. -1 All paths to the specified system are down. -2 SYSTEMNUMBER is passed to LOCATESYSTEM and no line handlers are configured. sysnum, INT:ref:1 input, output sysname, INT:ref:4 input Guardian Programming Reference Summary for pTAL and TAL —522631-001 6- 21
  • 168.
    Procedure Calls Summary(G-N) LOCKFILE Excludes other processes from accessing a file (and any records within that file). This procedure operates only on Guardian objects. CALL LOCKFILE ( filenum ,[ tag ] ); filenum, INT:value input tag, INT(32):value output < (CCL) An error occurred (call FILEINFO). = (CCE) LOCKFILE was successful. > (CCG) The file is not a disk file. LOCKINFO (Superseded by FILE_GETLOCKINFO_) Provides information about locks (held or pending) on a DP2 disk volume. This procedure operates only on Guardian objects. error := LOCKINFO ( searchtype ,searchid ,ctlwds ,buffersize ,buffer ); error, INT:value returned value searchtype, INT:value input 0 Returns lock information for volume searchid. 1 Returns lock information for file searchid. 2 Returns information about locks for volume searchid [0:3] that was requested by the process identified by the process ID in searchid [4:7]. 3 Returns information about locks for volume searchid [0:3] that was requested by the TMF transaction identified by a transid in searchid words [4:7]. searchid, INT .EXT:ref:12 input ctlwds, INT .EXT:ref:4 input, output buffersize, INT:value input buffer, STRING .EXT:ref:* output Guardian Programming Reference Summary for pTAL and TAL —522631-001 6- 22
  • 169.
    Procedure Calls Summary(G-N) LOCKREC Excludes other processes from accessing a record at the current position. This procedure operates only on Guardian objects. CALL LOCKREC ( filenum ,[ tag ] ); filenum, INT:value input tag, INT(32):value input < (CCL) An error occurred (call FILEINFO). = (CCE) LOCKREC was successful. > (CCG) The file is not a disk file. LONGJMP_ Performs a nonlocal goto. It restores the state of the calling process with context saved in a jump buffer by the SETJMP_ procedure. Control returns to the location of the corresponding SETJMP_ procedure call. ?SOURCE $SYSTEM.SYSTEM.HSETJMP LONGJMP_ ( env ,value ); env, INT .EXT:ref:(JMP_BUF_TEMPLATE) input value, INT(32) input LOOKUPPROCESSNAME (Superseded by PROCESS_GETPAIRINFO_) Obtains a description of a named process pair by its name or by its index into the local directory control table. CALL LOOKUPPROCESSNAME ( ppd ); ppd, INT:ref:9 input,output Guardian Programming Reference Summary for pTAL and TAL —522631-001 6- 23
  • 170.
    Procedure Calls Summary(G-N) < (CCL) The specified process name is not in the directory, or the remote system could not be accessed. = (CCE) The specified name was found. > (CCG) The specified entry number exceeds the last table entry. MBCS_ANY_KATAKANA_ Checks a string of Tandem Kanji characters for any Katakana characters. result := MBCS_ANY_KATAKANA_ ( buffer , length ,[ charset ] ); result, INT:value output 0 indicates that the buffer string does not contain any Katakana characters or that charset did not specify the Tandem Kanji multibyte character set. 1 indicates that the Tandem Kanji buffer string contains at least one Katakana character. buffer, STRING .EXT:ref:* input length, INT:value input charset, INT:value input MBCS_CHAR_ Indicates whether a string of bytes is part of a Tandem multibyte character set (MBCS). result := MBCS_CHAR_ ( testmbcschar ,[ charset ] ,[ charinfo ] ); result, INT:value output 0 indicates that charset is not a supported MBCS, or charset is a supported MBCS and testmbcschar does not point to the first byte of a valid character of one of the MBCS character sets listed under charset. not 0 indicates that the character set is a supported MBCS, and testmbcschar points to the first byte of a valid character of charset MBCS. For 2-byte character sets, the returned value is the integer value of the 16 bits that form the multibyte character. Guardian Programming Reference Summary for pTAL and TAL —522631-001 6- 24
  • 171.
    Procedure Calls Summary(G-N) testmbcschar, STRING .EXT:ref:* input charset, INT:value input when result is nonzero: 1 Tandem Kanji 9 Tandem Hangul 10 Tandem Chinese Big 5 11 Tandem Chinese PC 12 Tandem KSC5601 charinfo, INT .EXT:1 input, output MBCS_CHARSIZE_ Returns the display size (in columns) and the storage size (in bytes) of multibyte character set (MBCS) characters from the character set specified by the charset parameter. result := MBCS_CHARSIZE_ [ ( charset ) ]; result, INT:value output 0 indicates that either no MBCS is configured or the specified MBCS is not supported. nonzero indicates that the result parameter contains the following information: <0:7> = contains display size (in columns) of the multibyte character identified by the test. <8:15> = contains internal size (in bytes) of the multibyte character identified by the test. charset, INT:value input 1 Tandem Kanji 9 Tandem Hangul 10 Tandem Chinese Big 5 11 Tandem Chinese PC 12 Tandem KSC5601 Guardian Programming Reference Summary for pTAL and TAL —522631-001 6- 25
  • 172.
    Procedure Calls Summary(G-N) MBCS_CHARSTRING_ Tests the contents of a data string for the exclusive use of MBCS characters of known internal character sets. result := MBCS_CHARSTRING_ ( testmbcsstring ,bytecount ,index ,[ charset ] ,[ charinfo ] ); result, INT:value input 0 indicates that the charset parameter contains an unknown MBCS identifier or contains a known MBCS identifier but the test of testmbcsstring for valid characters failed. 1 indicates that all MBCS characters in the testmbcsstring are valid characters (or blanks) of the specified MBCS. testmbcsstring, STRING .EXT:ref:* input bytecount, INT:value input index, INT .EXT:ref:1 output charset, INT:value input charinfo, INT .EXT:ref:1 output MBCS_CODESETS_SUPPORTED_ Returns a 32-bit integer value. Each bit of the returned value indicates the presence of a particular multibyte character set (MBCS). result := MBCS_CODESETS_SUPPORTED_; result, INT(32):value output <1> Tandem Kanji <2> IBM Kanji <3> IBM Kanji Mixed <4> JEF (Fujitsu) Kanji <5> JEF (Fujitsu) Kanji Mixed Guardian Programming Reference Summary for pTAL and TAL —522631-001 6- 26
  • 173.
    Procedure Calls Summary(G-N) <6> reserved <7> JIS Kanji <8> reserved <9> Tandem Hangul <10> Chinese Big 5 <11> Chinese PC (5550C) <12> Tandem KSC5601 (with KIPS extensions) MBCS_DEFAULTCHARSET_ Returns the default multibyte character set (MBCS) identification. result := MBCS_DEFAULTCHARSET_; result, INT:value output 0 No MBCS configured 1 Tandem Kanji 9 Tandem Hangul 10 Tandem Chinese Big 5 11 Tandem Chinese PC 12 Tandem KSC5601 MBCS_EXTERNAL_TO_TANDEM_ Translates a text string from a specified external format to the Tandem internal text format. error-code := MBCS_EXTERNAL_TO_TANDEM_ ( [ source-string ] ,[ destination-tring ] ,source-length ,maximum-length ,[ intermediate ] ,external-form ,[ finished-length ] ,[ shift-to-DBCS ] ,[ shift-to-one-byte ] ); error-code, INT:value returned value Guardian Programming Reference Summary for pTAL and TAL —522631-001 6- 27
  • 174.
    Procedure Calls Summary(G-N) 0 Successful completion of the translation -1 Translation truncated due to lack of destination buffer space -2 Unknown translation requested -3 Invalid source string length -4 Invalid character in Kanji-only source string -5 Control string parameter too long -6 Translation truncated due to lack of space in screen field 29 Required parameter missing source-string, INT(32) .EXT:ref:1 input, output destination-string, INT(32) .EXT:ref:1 input, output source-length, INT:value input maximum-length, INT .EXT:ref:1 input, output intermediate, INT:value input external-form, INT:value input 0 IBM Kanji only (without subfield strings) 1 IBM Kanji EBCDIC 2 IBM Kanji/Katakana-EBCDIC 3 JEF (Fujitsu) Kanji only 4 JEF (Fujitsu) Kanji EBCDIC 5 JEF (Fujitsu) Kanji/Katakana-EBCDIC 6 NEC Kanji only (not implemented) 7 NEC Kanji/JIS X0201 (not implemented) 8 JIS X0208 Kanji/JIS X0201 (was C6226/C6220) finished-length, INT .EXT:ref:1 output shift-to-DBCS, STRING .EXT:ref:* input shift-to-one-byte, STRING .EXT:ref:* input Guardian Programming Reference Summary for pTAL and TAL —522631-001 6- 28
  • 175.
    Procedure Calls Summary(G-N) MBCS_FORMAT_CRT_FIELD Formats Kanji only or mixed data types for specific terminal types. error-code := MBCS_FORMAT_CRT_FIELD_ ( source-string ,destination-string ,source-length ,maximum-length ,intermediate ,terminal-type ,last-column, ,max-data-size ,screen-start-col ,[ shift-to-DBCS ] ,[ shift-to-one-byte ] ,[ startmode ] ); error-code, INT:value returned value 0 Successful completion of the translation -1 Source string translation incomplete, ran out of destination buffer area or ran out of space in the screen field -2 Unknown terminal type specified -3 Invalid source string length -4 Invalid character in Kanji only source string -5 Control string parameter too long -6 Source string translation incomplete, ran out of room in screen field 29 Parameter missing source-string, INT(32) .EXT:ref:1 input, output destination-string, INT(32) .EXT:ref:1 input, output source-length, INT:value input maximum-length, INT:value input intermediate, INT:value input terminal-type, INT:value input 4 Fujitsu F-6650 with lowercase alphabet 5 Fujitsu F-6650 with one-byte Katakana Guardian Programming Reference Summary for pTAL and TAL —522631-001 6- 29
  • 176.
    Procedure Calls Summary(G-N) last-column, INT:value input max-data-size, INT .EXT:ref:1 input, output screen-start-col, INT .EXT:ref:1 input, output shift-to-DBCS, STRING .EXT:ref:* input shift-to-one-byte, STRING .EXT:ref:* input startmode, INT:value input MBCS_FORMAT_ITI_BUFFER_ Formats ITI buffers for specific terminal types. error-code := MBCS_FORMAT_ITI_BUFFER_ ( source-string ,destination-string ,source-length ,maximum-length ,intermediate ,terminal-type ,maximum-col-count, ,finished-length ,screen-col-count ,[ shift-to-DBCS ] ,[ shift-to-one-byte ] ,[ startmode ] ); error-code, INT:value returned value 0 Successful completion of the translation -1 Source string translation incomplete, ran out of destination buffer area -2 Unknown terminal type specified -3 Invalid source string length -4 Invalid character in Kanji only source string -5 Control string parameter too long 29 Parameter missing source-string, INT(32) .EXT:ref:1 input, output destination-string, INT(32) .EXT:ref:1 input, output source-length, INT:value input Guardian Programming Reference Summary for pTAL and TAL —522631-001 6- 30
  • 177.
    Procedure Calls Summary(G-N) maximum-length, INT .EXT:ref:1 input intermediate, INT:value input terminal-type, INT:value input 0 IBM 3274-series 1 IBM Emulation on IBM5550 with one-byte Katakana 2 IBM Emulation on IBM5550 with lowercase alphabet 4 Fujitsu F-6650 with lowercase alphabet 5 Fujitsu F-6650 with one-byte Katakana maximum-col-count, INT:value input finished-length, INT .EXT:ref:1 output screen-col-count, INT .EXT:ref:1 output shift-to-DBCS, STRING .EXT:ref:* input shift-to-one-byte, STRING .EXT:ref:* input startmode, INT:value input MBCS_MB_TO_SB_ Converts multibyte characters to the corresponding 1-byte ASCII characters. CALL MBCS_MB_TO_SB_ ( mbytestring:mbytecount ,sbytestring:sbytecount ,rbytecount ,[ charset ] ,[ charinfo ] ); mbytestring:mbytecount, STRING .EXT:*,INT:value input:input sbytestring:sbytecount, STRING .EXT:*,INT:value output:input rbytecount, INT .EXT:ref:1 output charset, INT:value input 1 Tandem Kanji 9 Tandem Hangul 10 Tandem Chinese Big 5 11 Tandem Chinese PC 12 Tandem KSC5601 Guardian Programming Reference Summary for pTAL and TAL —522631-001 6- 31
  • 178.
    Procedure Calls Summary(G-N) charinfo, INT .EXT:ref:1 output MBCS_REPLACEBLANK_ Replaces nonstandard blanks. CALL MBCS_REPLACEBLANK_ ( bytestring ,bytecount ,[ charset ] ,[ charinfo ] ); bytestring, STRING .EXT:ref:* input bytecount, INT:value input charset, INT:value input charinfo, INT .EXT:ref:1 input, output MBCS_SB_TO_MB_ Converts 1-byte ASCII characters to the corresponding multibyte characters. CALL MBCS_SB_TO_MB_ ( sbytestring:sbytecount ,mbytestring:mbytecount ,rbytecount ,[ charset ] ,[ charinfo ] ); sbytestring:sbytecount, STRING .EXT:*,INT:value input:input mbytestring:mbytecount, STRING .EXT:*,INT:value output:input rbytecount, INT .EXT:ref:1 output charset, INT:value input 1 Tandem Kanji 9 Tandem Hangul 10 Tandem Chinese Big 5 11 Tandem Chinese PC 12 Tandem KSC5601 charinfo, INT .EXT:ref:1 output Guardian Programming Reference Summary for pTAL and TAL —522631-001 6- 32
  • 179.
    Procedure Calls Summary(G-N) MBCS_SHIFTSTRING_ Upshifts or downshifts all alphabetic characters in a multibyte character set (MBCS) string. CALL MBCS_SHIFTSTRING_ ( bytestring ,bytecount ,casebit ,[ charset ] ,[ charinfo ] ); bytestring, STRING .EXT:ref:* input bytecount, INT:value input casebit, INT:value input charset, INT:value input charinfo, INT .EXT:ref:1 output MBCS_TANDEM_TO_EXTERNAL_ Translates a text string from Tandem internal format to a specified external text format. error-code := MBCS_TANDEM_TO_EXTERNAL_ ( [ source-string ] ,[ destination-string ] ,source-length ,maximum-length ,[ intermediate ] ,external-form ,[ finished-length ] ,[ shift-to-DBCS ] ,[ shift-to-one-byte ] ); error-code, INT:value returned value 0 Successful completion of the translation -1 Translation truncated due to lack of destination buffer space -2 Unknown translation requested -3 Invalid source string length -4 Invalid character in Kanji-only source string Guardian Programming Reference Summary for pTAL and TAL —522631-001 6- 33
  • 180.
    Procedure Calls Summary(G-N) -5 Control string parameter too long -6 Translation truncated due to lack of space in screen field 29 Required parameter missing source-string, INT(32) .EXT:ref:1 input, output destination-string, INT(32) .EXT:ref:1 input, output source-length, INT:value input maximum-length, INT .EXT:ref:1 input, output intermediate, INT:value input external-form, INT:value input 0 IBM Kanji only (without subfield strings) 1 IBM Kanji EBCDIC 2 IBM Kanji/Katakana-EBCDIC 3 JEF (Fujitsu) Kanji only 4 JEF (Fujitsu) Kanji EBCDIC 5 JEF (Fujitsu) Kanji/Katakana-EBCDIC 6 NEC Kanji only (not implemented) 7 NEC Kanji/JIS X0201 (not implemented) 8 JIS X0208 Kanji/JIS X0201 (was C6226/C6220) finished-length, INT .EXT:ref:1 output shift-to-DBCS, STRING .EXT:ref:* input shift-to-one-byte, STRING .EXT:ref:* input MBCS_TESTBYTE_ Returns the identification of a specified byte contained within a text string of mixed data. result := MBCS_TESTBYTE_ ( buffer ,bytecount ,testindex ,[ charset ] ,[ charinfo ] ); result, INT:value output Guardian Programming Reference Summary for pTAL and TAL —522631-001 6- 34
  • 181.
    Procedure Calls Summary(G-N) 0 1-byte character 1 First byte of a multibyte character 2 Intermediate byte of a multibyte character 3 Last byte of a multibyte character buffer, STRING .EXT:ref:* input bytecount, INT:value input testindex, INT .EXT:ref:1 input, output charset, INT:value input charinfo, INT .EXT:ref:1 output MBCS_TRIMFRAGMENT_ Detects and trims trailing multibyte character fragments from text strings. CALL MBCS_TRIMFRAGMENT_ ( bytestring ,bytecount ,[ charset ] ,[ charinfo ] ); bytestring, STRING .EXT:ref:* input bytecount, INT .EXT:ref:1 input, output charset, INT:value input charinfo, INT .EXT:ref:1 output MESSAGESTATUS Determines if a particular message received through READUPDATE has been canceled. status := MESSAGESTATUS ( [ message-tag ] ); status, INT returned value 1 The message has been canceled. 0 The message has not been canceled. -1 No pending message is associated with the given tag. Guardian Programming Reference Summary for pTAL and TAL —522631-001 6- 35
  • 182.
    Procedure Calls Summary(G-N) message-tag, INT:value input MESSAGESYSTEMINFO Measures the number of XLBs used by a process, so it can warn when a limit is nearly reached. error := MESSAGESYSTEMINFO ( itemcode ,value ); error, INT output 0 Successful, no error 2 Bad itemcode 21 Bad value 22 Bounds error 29 Missing parameter itemcode, INT:value input value, INT .EXT:ref:1 output 0 The current limit on the number of messages to this process, as set by CONTROLMESSAGESYSTEM. 1 The current limit on the number of messages from this process, as set by CONTROLMESSAGESYSTEM. 4 The number of outstanding (non-LCB) messages to this process. 5 The number of outstanding (non-LCB) messages from this process. MOM (Superseded by PROCESS_GETINFO_ and PROCESS_GETINFOLIST_) Provides a process with the process ID of its creator. CALL MOM ( process-id ); process-id, INT:ref:4 output Guardian Programming Reference Summary for pTAL and TAL —522631-001 6- 36
  • 183.
    Procedure Calls Summary(G-N) MONITORCPUS Notifies the application process when a designated processor module fails or is returned to an operable state. CALL MONITORCPUS ( cpu-mask ); cpu-mask, INT:value input MONITORNET Enables or disables the receipt of system messages concerning the status of processors in remote systems. CALL MONITORNET ( enable ); enable, INT:value input 0 Disable the receipt of messages. 1 Enable the receipt of messages. MONITORNEW Enables or disables the receipt of the SETTIME and Power On messages. CALL MONITORNEW ( enable ); enable, INT:value input 0 Disable the receipt of messages. 1 Enable the receipt of messages. Guardian Programming Reference Summary for pTAL and TAL —522631-001 6- 37
  • 184.
    Procedure Calls Summary(G-N) MOVEX Moves data between extended data segments without the need for absolute addressing; it serves both privileged and nonprivileged users. error := MOVEX ( [ source-seg-id ] ,source ,[ dest-seg-id ] ,dest ,byte-count ); error, INT returned value 0 Successful call; the specified data was moved. 2 Either source-seg-id or dest-seg-id specified a nonexistent extended data segment, or the destination data segment has read-only access. 22 One of the parameters specifies an address that is out of bounds. 24 Either source-seg-id or dest-seg-id specified a privileged segment ID (greater than 2047), but the caller was not privileged. 29 A required parameter is not supplied. source-seg-id, INT:value input source, STRING .EXT:ref input dest-seg-id, INT:value input dest, STRING .EXT:ref input byte-count, INT (32):value input = (CCE) The specified data was moved; error contains 0. > (CCG) An error occurred; error contains the error value. MYGMOM (Superseded by PROCESS_GETINFO_ and PROCESS_GETINFOLIST_) Gives a process that is a member of a batch job the process-ID of its job ancestor (GMOM). CALL MYGMOM ( process-id ); process-id, INT:ref:4 output Guardian Programming Reference Summary for pTAL and TAL —522631-001 6- 38
  • 185.
    Procedure Calls Summary(G-N) MYPID (Superseded by PROCESSHANDLE_GETMINE_ and PROCESSHANDLE_DECOMPOSE_ ) Gives a process its own processor and PIN number. cpu,pin := MYPID; cpu,pin, INT:value returned value MYPROCESSTIME Returns the process execution time of the calling process. process-time := MYPROCESSTIME; process-time, FIXED returned value MYSYSTEMNUMBER (Superseded by NODENAME_TO_NODENUMBER_ or PROCESSHANDLE_GETMINE_ and PROCESSHANDLE_DECOMPOSE_) Gives a process its own system number. sysnum := MYSYSTEMNUMBER; sysnum, INT returned value MYTERM (Superseded by PROCESS_GETINFO_ and PROCESS_GETINFOLIST_) Gives a process the file name of its home terminal. CALL MYTERM ( filename ); filename, INT:ref:12 output Guardian Programming Reference Summary for pTAL and TAL —522631-001 6- 39
  • 186.
    Procedure Calls Summary(G-N) NEWPROCESS (Superseded by PROCESS_CREATE_ and PROCESS_LAUNCH_) Creates a new Guardian process. CALL NEWPROCESS ( filenames ,[ priority ] ,[ memory-pages ] ,[ processor ] ,[ process-id ] ,[ error ] ,[ name ] ,[ hometerm ] ,[ flags ] ,[ jobid ] ,[ errinfo ] ,[ pfs-size ] ); filenames, INT:ref:12 input INT:ref:38 priority, INT:value input <0> =1 A code breakpoint is set on the first executable instruction of the program’s MAIN procedure. <1> =1 The additional fields in filenames are used. =0 The additional fields in filenames are ignored. <2:7> Should be 0. <8:15> =0 The priority of the caller of procedure NEWPROCESS is used. If a value greater than 199 is specified, 199 is used. memory-pages, INT:value input processor, INT:value input process-id, INT:ref:4 output error, INT:ref:1 output name, INT:ref:3 input hometerm, INT:ref:12 input flags, INT:value input Guardian Programming Reference Summary for pTAL and TAL —522631-001 6- 40
  • 187.
    Procedure Calls Summary(G-N) <10> =0 Use the DEFINE mode of caller. =1 Use value in flags.<12>. <12> =0 DEFINEs disabled. =1 DEFINEs enabled. <14> =1 Saveabend file creation. =0 No saveabend file creation. <15> =1 Inspect. =0 Debug. jobid, INT:value input errinfo, INT .EXT:ref:2 output pfs-size, INT(32):value input NEWPROCESSNOWAIT (Superseded by PROCESS_CREATE_and PROCESS_LAUNCH_) Creates a new Guardian process using the nowait option. CALL NEWPROCESSNOWAIT ( filenames ,[ priority ] ,[ memory-pages ] ,[ processor ] ,[ process-id ] ,[ error ] ,[ name ] ,[ hometerm ] ,[ flags ] ,[ jobid ] ,[ errinfo ] ,[ pfs-size ] ); filenames, INT:ref:12 input INT:ref:38 priority, INT:value input <0> =1 A code breakpoint is set on the first executable instruction of the program’s MAIN procedure. <1> =1 The additional fields in filenames are used. =0 The additional fields in filenames are ignored. <2:7> Should be 0. <8:15> =0 The priority of the caller of procedure NEWPROCESSNOWAIT is used. If a value greater than 199 is specified, 199 is used. Guardian Programming Reference Summary for pTAL and TAL —522631-001 6- 41
  • 188.
    Procedure Calls Summary(G-N) memory-pages, INT:value input processor, INT:value input process-id, INT:ref:4 unused error, INT:ref:1 output name, INT:ref:3 input hometerm, INT:ref:12 input flags, INT:value input <10> =0 Use the DEFINE mode of caller. =1 Use value in flags.<12>. <12> =0 DEFINEs disabled. =1 DEFINEs enabled. <14> =1 Saveabend file creation. =0 No saveabend file creation. <15> =1 Inspect. =0 Debug. jobid, INT:value input errinfo, INT .EXT:ref:2 output pfs-size, INT(32):value input NEXTFILENAME (Superseded by FILENAME_FINDNEXT_) Obtains the name of the next disk file on a designated volume. error := NEXTFILENAME ( filename ); error, INT returned value 0 No error. 1 End-of-file, there is no next file. 13 Illegal file name specification. filename, INT:ref:12 input, output Guardian Programming Reference Summary for pTAL and TAL —522631-001 6- 42
  • 189.
    Procedure Calls Summary(G-N) NO^ERROR Is called internally by sequential I/O (SIO) procedures. NO^ERROR implements error handling and retries within the SIO procedure environment. If the file was opened by OPEN^FILE, then file-system procedures can call NO^ERROR directly. no-retry := NO^ERROR ( state ,file-fcb ,good-error-list ,retryable ); no-retry, INT returned value 0 The operation should be retried. <>0 The operation should not be retried. state, INT:value input = (CCE) The operation is successful. 0 NO^ERROR first checks the error value in the FCB. If the FCB error is 0, NO^ERROR calls FILEINFO for the file. file-fcb, INT:ref:* input good-error-list, INT:ref:* input retryable, INT:value input NODE_GETCOLDLOADINFO_ Retrieves the name of the OSIMAGE file from which the specified node was cold loaded. error := NODE_GETCOLDLOADINFO_ ( filename:maxlen ,filename-length ,[ nodename:length ] ); error, INT returned value Guardian Programming Reference Summary for pTAL and TAL —522631-001 6- 43
  • 190.
    Procedure Calls Summary(G-N) 0 File name successfully retrieved. 1 Reserved. 2 Parameter error. 3 Bounds error. 4 Unable to communicate with node. 5 The nodename parameter designates a C-series system. filename:maxlen, STRING .EXT:ref:*,INT:value output:input filename-length, INT .EXT:ref:1 output nodename:length, STRING .EXT:ref:*,INT:value input:input NODENAME_TO_NODENUMBER_ Converts a node name (system name) to the corresponding node number (system number). error := NODENAME_TO_NODENUMBER_ ( [ nodename:length ] ,nodenumber ); error, INT returned value nodename:length, STRING .EXT:ref:*,INT:value input:input nodenumber, INT(32) .EXT:ref:1 output NODENUMBER_TO_NODENAME_ Converts a node number (system number) to the corresponding node name (system name). error := NODENUMBER_TO_NODENAME_ ( [ nodenumber ] ,nodename:maxlen ,nodename-length ); error, INT returned value nodenumber, INT(32):value input nodename:maxlen, STRING .EXT:ref:*,INT:value output:input nodename-length, STRING .EXT:ref:*,INT:value output Guardian Programming Reference Summary for pTAL and TAL —522631-001 6- 44
  • 191.
    Procedure Calls Summary(G-N) NUMBEREDIT Renumbers the lines of an EDIT file that are in a specified range. NUMBEREDIT is an IOEdit procedure and can be used only with files that have been opened by OPENEDIT or OPENEDIT_. error := NUMBEREDIT ( filenum ,first ,last ,[ start ] ,[ increment ] ); error, INT returned value -6 Exhausted valid line numbers. -10 Unable to complete renumbering; file is unchanged. filenum, INT:value input first, INT(32):value input last, INT(32):value input start, INT(32):value input increment, INT(32):value input NUMIN Converts ASCII characters that represent a number into the signed integer value for that number. next-addr := NUMIN ( ascii-num ,signed-result ,base ,status ); next-addr, INT returned value ascii-num, STRING:ref:* input signed-result, INT:ref:1 output base, INT:value input status, INT:ref:1 output Guardian Programming Reference Summary for pTAL and TAL —522631-001 6- 45
  • 192.
    Procedure Calls Summary(G-N) 1 Nonexistent number 0 Valid conversion -1 Illegal integer or illegal syntax NUMOUT Converts unsigned integer values to their ASCII equivalents, right-justified in an array. Any preceding blanks are filled with zeroes. CALL NUMOUT ( ascii-result ,unsigned-integer ,base ,width ); ascii-result, STRING:ref:* output unsigned-integer, INT:value input base, INT:value input width, INT:value input Guardian Programming Reference Summary for pTAL and TAL —522631-001 6- 46
  • 193.
    7 Procedure Calls Summary (O-Q) This section lists procedure calls in alphabetic order and briefly describes the syntax of each. For additional information about the procedure calls, refer to the Guardian Procedure Calls Reference Manual. OBJFILE_GETINFOLIST_ Obtains information about the object file or user library file of the calling process. error := OBJFILE_GETINFOLIST_ ( ret-attr-list ,ret-attr-count ,ret-values-list ,ret-values-maxlen ,ret-values-len ,[ user-lib-info ] ,[ error-detail ] ); error, INT returned value 0 Information is returned successfully. 1 File-system error; error-detail contains the error number. Error 563 (buffer too small) is returned if ret-values-list is too small to contain all of the requested information. 2 Parameter error; error-detail contains the number of the first parameter found to be in error, where 1 designates the first parameter on the left. 3 Bounds error; error-detail contains the number of the first parameter found to be in error, where 1 designates the first parameter on the left. 4 Invalid attribute code specified; error-detail contains the attribute code that is unknown to OBJFILE_GETINFOLIST_. 5 The process does not have a user library. ret-attr-list, INT .EXT:ref:* input ret-attr-count, INT:value input ret-values-list, INT .EXT:ref:* output ret-values-maxlen, INT:value input ret-values-len, INT .EXT:ref:1 output user-lib-info, INT:value input error-detail, INT .EXT:ref:1 output Guardian Programming Reference Summary for pTAL and TAL —522631-001 7 -1
  • 194.
    Procedure Calls Summary(O-Q) Attribute Code Attribute Description Value Representation 1 Binder timestamp INT (3 words) 2 minimum tos version INT 3 Inspect length INT(32) 4 Binder length INT(32) 5 Inspect on INT 6 high PIN INT 7 high requesters INT 8 run named INT 9 PFS size INT(32) 10 target processor INT 11 accelerator timestamp INT (4 words) 12 compilation mode (accelerated or not accelerated) INT 13 run mode (will or will not run accelerated) INT OLDFILENAME_TO_FILENAME_ Converts a C-series internal file name to a D-series file name. error := OLDFILENAME_TO_FILENAME_ ( oldfilename ,filename:maxlen ,filename-length ); error, INT returned value oldfilename, INT .EXT:ref:12 input filename:maxlen, STRING .EXT:ref:*,INT:value output:input filename-length, INT .EXT:ref:1 output OLDSYSMSG_TO_NEWSYSMSG_ Converts a C-series system message to its D-series equivalent. error := OLDSYSMSG_TO_NEWSYSMSG_ ( oldmsg:length ,newmsg:maxlen ,newmsg-length ,[ error-detail ] ); Guardian Programming Reference Summary for pTAL and TAL —522631-001 7 -2
  • 195.
    Procedure Calls Summary(O-Q) error, INT returned value 0 Message successfully converted. 1 File-system error; error-detail contains the file-system error number. 2 Parameter error; error-detail contains the number of the first parameter found to be in error, where 1 designates the first parameter on the left. 3 Bounds error; error-detail contains the number of the first parameter found to be in error, where 1 designates the first parameter on the left. 4 The supplied system message is not supported by this procedure; no conversion was performed. oldmsg:length, STRING .EXT:ref:*,INT:value input:input newmsg:maxlen, STRING .EXT:ref:*,INT:value output:input newmsg-length, INT .EXT:ref:1 output error-detail, INT .EXT:ref:1 output C-series message D-series message -5 Process deletion: STOP -101 Process deletion: STOP -6 Process deletion: ABEND -101 Process deletion: ABEND -8 Network status change (all processors -110 Loss of communication with node down) -8 Network status change (single processor -100 Remote processor down down, 0 or more processors up) -8 Network status change (2 or more -110 Loss of communication with node processors down, 0 or more processors up) -8 Network status change (connection -111 Establishment of communication established) with node -8 Network status change (0 or more -113 Remote processor up processors up when node already connected) -9 Job process creation -112 Job process creation -12 NEWPROCESSNOWAIT completion -102 Nowait PROCESS_CREATE_ completion -20 Break on device -105 Break on device -30 Process open -103 Process open -31 Process close -104 Process close -40 Device type inquiry -106 Device type inquiry Guardian Programming Reference Summary for pTAL and TAL —522631-001 7 -3
  • 196.
    Procedure Calls Summary(O-Q) OPEN (Superseded by FILE_OPEN_) Establishes a communication path between an application process and a file. OPEN returns a file number to the application process. This procedure operates only on Guardian objects. CALL OPEN ( filename ,filenum ,[ flags ] ,[ sync-or-receive-depth ] ,[ primary-filenum ] ,[ primary-process-id ] ,[ seq-block-buffer-id ] ,[ buffer-length ] ,[ primary-define ] ); filename, INT:ref:12 input filenum, INT:ref:1 output flags, INT:value input Flag in Flag Octal Meaning <0> %100000 For disk files, if this bit is 1, the “last open time” attribute of the file being opened is not updated by this open. For other files, this bit should be zero. <1> %40000 For the $RECEIVE file only, specifies whether or not the opener wishes to receive open, close, CONTROL, SETMODE, SETPARAM, RESETSYNC, and CONTROLBUF messages. 0 = no 1 = yes (must be 0 for all files other than $RECEIVE) <2> %20000 Specifies that access to an Enscribe file is to occur as if the file were unstructured, that is, without regard to record structures and partitioning, (Note that for unstructured files, setting this bit to 1 makes secondary partitions inaccessible.) Setting this bit to 0 provides normal structured access to the file. 0 = normal access 1 = unstructured access <3> %10000 (Reserved) must be 0 for nonprivileged users. <4:5> %6000 Access mode 0 = Read/write 1 = Read-only 2 = Write-only 3 = reserved <6> %1000 Must be 0 (reserved) Guardian Programming Reference Summary for pTAL and TAL —522631-001 7 -4
  • 197.
    Procedure Calls Summary(O-Q) Flag in Flag Octal Meaning <7> %400 Must be 0 (reserved) <8> %200 For process files, indicates that the open message is sent nowait and must be completed with a call to AWAITIO[X]. OPEN returns a valid file number. 0 = no 1 = yes (must be 0 for all other files) <9> %100 Must be 0 (reserved) <10:11> %60 Exclusion mode 0 = shared 1 = exclusive 2 = process exclusive (supported for Optical Storage Facility only) 3 = protected <12:15> %17 > 0 implies nowait I/O and the maximum number of concurrent nowait I/O operations that can be in progress on this file at any given time. 0 implies waited I/O. sync-or-receive-depth, INT:value input primary-filenum, INT:value input primary-process-id, INT:ref:4 input seq-block-buffer-id, INT:ref:1 input buffer-length, INT:value input primary-define, INT:ref:12 input < (CCL) The open failed (call FILEINFO). = (CCE) The file opened successfully. > (CCG) The file opened successfully, but an exceptional condition was detected (call FILEINFO). Guardian Programming Reference Summary for pTAL and TAL —522631-001 7 -5
  • 198.
    Procedure Calls Summary(O-Q) OPEN^FILE Allows access to a file. error := OPEN^FILE ( common-fcb ,file-fcb ,[ block-buffer ] ,[ block-bufferlen ] ,[ flags ] ,[ flags-mask ] ,[ max-recordlen ] ,[ prompt-char ] ,[ error-file-fcb ] ); error, INT returned value common-fcb, INT:ref:* input file-fcb, INT:ref:* input block-buffer, INT:ref:* input block-bufferlen, INT:value input flags, INT(32):value input Note. Combine selected values using signed addition because bit 0 is not used. ABORT^OPENERR %1D ABORT^XFERERR %2D AUTO^CREATE %10D AUTO^TOF %100D BLOCKED %400D CRLF^BREAK %40000D LEVEL3^SPOOL^ENABLE %200000D MUSTBENEW %20D NOWAIT %200D OLD^RECEIVE %100000D PRINT^ERR^MSG %4D PURGE^DATA %40D READ^TRIM %2000D VAR^FORMAT %1000D Guardian Programming Reference Summary for pTAL and TAL —522631-001 7 -6
  • 199.
    Procedure Calls Summary(O-Q) WRITE^FOLD %10000D WRITE^PAD %20000D WRITE^TRIM %4000D flags-mask, INT(32):value input max-recordlen, INT:value input prompt-char, INT:value input error-file-fcb, INT:ref:* input OPENEDIT (Superseded by OPENEDIT_) Allocates and initializes data blocks in the EDIT file segment (EFS) so that the specified file can be accessed later by the IOEdit procedures. It optionally creates and opens the specified file through the file system. error := OPENEDIT ( file-name ,filenum ,[ flags ] ,[ sync-depth ] ,[ write-thru ] ); error, INT returned value -1 Page-count value is inconsistent. -2 Page-table tags are out of order. -3 Page-table tag is outside legal range. -4 Page-table block number is outside of file. -5 Page table has duplicate block numbers. 11 File does not exist; indicates that the file does not exist and that the flags parameter indicates read-only access to the file. 14 Device does not exist; indicates that the device-name part of the file name designates a device that either does not exist or is not a disk device. 16 File has not been opened, wrong file type; indicates that the file is not an EDIT file (that is, the file type is not unstructured or the file code is not 101 or 102). Guardian Programming Reference Summary for pTAL and TAL —522631-001 7 -7
  • 200.
    Procedure Calls Summary(O-Q) 31 Unable to obtain buffer space; indicates that the file’s directory does not fit into IOEdit’s extended data segment and OPENEDIT is unable to enlarge the segment. 34 Unable to obtain memory space for control block; indicates that the number of IOEdit files already open is equal to the maximum number specified or assumed when INITIALIZEEDIT was called. 59 File is bad; indicates that the file exists and has the correct file type and file code for an EDIT file, but the data in the file has an incorrect format and OPENEDIT is unable to repair it. file-name, INT .EXT:ref:12 input filenum, INT:value input, output flags, INT:value input sync-depth, INT:value input write-thru, INT:value input OPENEDIT_ Allocates and initializes data blocks in the EDIT file segment (EFS) so that the specified file can be accessed later by the IOEdit procedures. It optionally creates and opens the specified file through the file system. error := OPENEDIT_ ( file-name ,length ,filenum ,[ access ] ,[ exclusion ] ,[ nowait ] ,[ sync-depth ] ,[ write-thru ] ); error, INT returned value -1 Page-count value is inconsistent. -2 Page-table tags are out of order. -3 Page-table tag is outside legal range. -4 Page-table block number is outside of file. -5 Page-table has duplicate block numbers. 11 File does not exist; indicates that the file does not exist and that the flags parameter indicates read-only access to the file. 14 Device does not exist; indicates that the device-name part of the file name designates a device that either does not exist or is not a disk device. Guardian Programming Reference Summary for pTAL and TAL —522631-001 7 -8
  • 201.
    Procedure Calls Summary(O-Q) 16 File has not been opened, wrong file type; indicates that the file is not an EDIT file (that is, the file type is not unstructured or the file code is not 101 or 102). 31 Unable to obtain buffer space; indicates that the file’s directory does not fit into IOEdit’s extended data segment and OPENEDIT is unable to enlarge the segment. 34 Unable to obtain memory space for control block; indicates that the number of IOEdit files already open is equal to the maximum number specified or assumed when INITIALIZEEDIT was called. 59 File is bad; indicates that the file exists and has the correct file type and file code for an EDIT file, but the data in the file has an incorrect format and OPENEDIT is unable to repair it. file-name, INT .EXT:ref:* input length, INT:value input filenum, INT:value input, output access, INT:value input exclusion, INT:value input nowait, INT:value input sync-depth, INT:value input write-thru, INT:value input OPENER_LOST_ Examines a system message and searches an open table to determine if an opener has been lost. status := OPENER_LOST_ ( message:length ,table ,index ,number-of-entries ,entry-size ); status, INT returned value 0 Search completed; no lost openers 1 (reserved) 2 Parameter error 3 Bounds error 4 Backup opener lost Guardian Programming Reference Summary for pTAL and TAL —522631-001 7 -9
  • 202.
    Procedure Calls Summary(O-Q) 5 Primary opener lost; backup promoted to primary 6 Openers lost; table entry now free 7 Message is not a relevant status-change message message:length, STRING .EXT:ref:*,INT:value input:input -2 Local processor failure -8 Network status change -100 Remote processor failure -110 Connection to remote system lost table, INT .EXT:ref:* input index, INT .EXT:ref:* input, output number-of-entries, INT:value input entry-size, INT:value input OPENINFO (Superseded by FILE_GETOPENINFO_) Obtains information about one open of one disk file, of all the files on a disk device, or of certain nondisk devices. error := OPENINFO ( searchname ,prevtag ,[ pricrtpid ] ,[ backcrtpid ] ,[ accessmode ] ,[ exclusion ] ,[ syncdepth ] ,[ filename ] ,[ accessid ] ,[ validmask ] ); error, INT returned value searchname, INT:ref:12 input prevtag, INT:ref:1 input, output pricrtpid, INT:ref:4 output backcrtpid, INT:ref:4 output accessmode, INT:ref:1 output Guardian Programming Reference Summary for pTAL and TAL —522631-001 7- 10
  • 203.
    Procedure Calls Summary(O-Q) 0 Read/write. 1 Read only. 2 Write only. exclusion, INT:ref:1 output 0 Shared. 1 Exclusive. 3 Protected. syncdepth, INT:ref:1 output filename, INT:ref:12 output accessid, INT:ref:1 output validmask, INT:ref:1 output <0> The value of pricrtpid is valid. <1> The value of backcrtpid is valid. <2> The value of accessmode is valid. <3> The value of exclusion is valid. <4> The value of syncdepth is valid. <5> The value of filename is valid. <6> The value of accessid is valid. OSS_PID_NULL_ Returns a null OSS process ID. oss-pid := OSS_PID_NULL_; oss-pid, INT(32) returned value Guardian Programming Reference Summary for pTAL and TAL —522631-001 7- 11
  • 204.
    Procedure Calls Summary(O-Q) PACKEDIT Converts a line image from unpacked format into EDIT packed line format. PACKEDIT is an IOEdit procedure and can be used only with files that have been opened by OPENEDIT or OPENEDIT_. PACKEDIT ( unpacked-line ,unpacked-length ,packed-line ,packed-limit ,packed-length ,[ full-length ] ); unpacked-line, STRING .EXT:ref:* input unpacked-length, INT:value input packed-line, STRING .EXT:ref:* output packed-limit, INT:value input packed-length, INT .EXT:ref:1 output full-length, INT:value input PATHNAME_TO_FILENAME_ Converts an OSS pathname to a Guardian file name. error := PATHNAME_TO_FILENAME_ ( pathname ,filename:maxlen ,length ,[ info-flags ] ); error, INT returned value 0 No error. 563 The buffer pointed to by filename is too small. 4002 No such pathname exists. The corresponding OSS errno value is ENOENT. 4006 The prefix within pathname refers to an OSS fileset other than the root fileset that is not mounted. The corresponding OSS errno value is ENXIO. 4013 Search permission is denied on a component of the pathname prefix. The corresponding OSS errno value is EACCESS. 4014 A specified parameter has an invalid address. The corresponding OSS errno value is EFAULT. Guardian Programming Reference Summary for pTAL and TAL —522631-001 7- 12
  • 205.
    Procedure Calls Summary(O-Q) 4020 A prefix within pathname refers to a file other than a directory. The corresponding OSS errno value is ENOTDIR. 4022 pathname is invalid. The corresponding OSS errno value is EINVAL. 4131 The pathname or a component of the pathname is longer than PATH_MAX characters. (PATH_MAX is a symbolic constant defined in the OSS limitsh header file.) The corresponding OSS errno value is ENAMETOOLONG. 4202 The root fileset is not mounted. The corresponding OSS errno value is ENOROOT. 4203 OSS is not installed or is not initialized. The corresponding OSS errno value is EOSSNOTRUNNING. pathname, STRING .EXT:ref:* input filename:maxlen, STRING .EXT:ref:*,INT:value output:input length, INT .EXT:ref:1 output info-flags, INT .EXT:ref:1 output POOL_CHECK_ Checks the internal pool data structures and returns error information. error := POOL_CHECK_ ( pool ,[ corruption-address ] ,[ block ] ,[ block-size ] ,[ tag-size ] ); error, INT returned value 0 No error. 2 Required parameter missing. The pool parameter must be specified. 3 Bounds error. A parameter on the parameter list has a bounds error. 9 Corrupt pool header. 11 Corrupt allocated blocks. Data is probably written beyond the allocated block. 12 Corrupt free list blocks. Data is probably written into a returned block. pool, INT .EXT:ref:* input corruption-address, INT(32) .EXT:ref:1 output block, INT(32) .EXT:ref:1 output block-size, INT .EXT:ref:1 output tag-size, INT .EXT:ref:1 output Guardian Programming Reference Summary for pTAL and TAL —522631-001 7- 13
  • 206.
    Procedure Calls Summary(O-Q) POOL_DEFINE_ Designates a portion of a user's stack or an extended data segment for use as a pool. error := POOL_DEFINE_ ( pool ,pool-size ,[ alignment ] ,[ priv-only ] ); error, INT returned value 0 No error. 2 Required parameter missing. The pool and pool-size parameters must be specified. 3 Bounds error. The pool parameter is in a writeback-inhibit segment, or pool-size is larger than the space available, or a nonprivileged caller specified a nonzero value for priv-only. 4 Invalid size. The pool-size parameter is too small to allocate the minimum size pool including the pool header. 5 Alignment error on pool. The pool parameter is not in alignment with the selected alignment. 6 Invalid alignment. The value of alignment is not 0, 4, 8, or 16. pool INT .EXT:ref:* input pool-size INT(32):value input alignment INT:value input priv-only input POOL_GETINFO_ Returns information about the specified pool. error := POOL_GETINFO_ ( pool ,[ error-detail ] ,[ avail-pool-size ] ,[ curalloc ] ,[ maxalloc ] ,[ fail-block-size ] ,[ curfrag ] ,[ maxfrag ] ,[ alignment ] ,[ tag-size ] ); Guardian Programming Reference Summary for pTAL and TAL —522631-001 7- 14
  • 207.
    Procedure Calls Summary(O-Q) error INT returned value 0 No error. 2 Required parameter missing. The error-detail parameter contains the number of the first parameter found to be in error, where 1 designates the first parameter on the left. 3 Bounds error. The error-detail parameter contains the number of the first parameter found to be in error, where 1 designates the first parameter on the left. 9 Corrupt pool header. pool, INT .EXT:ref:* input error-detail, INT .EXT:ref:1 output avail-pool-size, INT(32) .EXT:ref:1 output curalloc, INT(32) .EXT:ref:1 output maxalloc, INT(32) .EXT:ref:1 output fail-block-size, INT(32) .EXT:ref:1 output curfrag, INT .EXT:ref:1 output maxfrag, INT .EXT:ref:1 output alignment, INT .EXT:ref:1 output tag-size, INT .EXT:ref:1 output POOL_GETSPACE_ Obtains a block of memory from a buffer pool. block := POOL_GETSPACE_ ( pool ,block-size ,[ error ] ); block, INT(32) returned value pool, INT .EXT:ref:* input block-size, INT(32):value input error, INT .EXT:ref:1 output 0 No error. 2 Required parameter missing. Guardian Programming Reference Summary for pTAL and TAL —522631-001 7- 15
  • 208.
    Procedure Calls Summary(O-Q) 4 Invalid block size. The value of block-size is not within the valid range. 9 Corrupt pool header. 10 Unable to allocate space. POOL_PUTSPACE_ Returns a block of memory to a buffer pool. error := POOL_PUTSPACE_ ( pool ,block ); error, INT returned value 0 No error. 2 Required parameter missing. 3 Bounds error. The block parameter is not within the pool boundaries. 9 Corrupt pool header. 11 Corrupt allocated block. Data is probably written beyond the allocated block or the block has already been returned. pool, INT .EXT:ref:* input block, INT .EXT:ref:* input POOL_RESIZE_ Returns a block of memory to a buffer pool. error := POOL_RESIZE_ ( pool ,new-pool-size ); error, INT returned value 0 No error. 2 Required parameter missing. 3 Bounds error. The pool parameter is in a writeback-inhibit segment, or new-pool- size is larger than the available space. 4 Invalid size. The value of new-pool-size is too small to allocate the minimum size pool, including the pool header. Guardian Programming Reference Summary for pTAL and TAL —522631-001 7- 16
  • 209.
    Procedure Calls Summary(O-Q) 9 Corrupt pool header. 11 Corrupt allocated blocks. Data is probably written beyond the allocated block. 12 Corrupt free list blocks. Data is probably written into a returned block. 13 Unable to shrink pool. pool, INT .EXT:ref:* input new-pool-size, INT(32):value input POSITION (Superseded by FILE_SETPOSITION_) Positions by primary key within relative and entry-sequenced files. For unstructured files, it specifies a new current position. Use KEYPOSITION with key-sequenced files. CALL POSITION ( filenum ,record-specifier ); filenum, INT:value input record-specifier, INT(32):value input < (CCL) An error occurred (call FILEINFO). = (CCE) POSITION was successful. > (CCG) No operation; filenum does not designate a disk file. POSITIONEDIT Sets the next record number to a specified value for a specified file. POSITIONEDIT is an IOEdit procedure and can be used only with files that have been opened by OPENEDIT or OPENEDIT_. error := POSITIONEDIT ( filenum ,record-number ); error, INT returned value filenum, INT:value input record-number, INT(32):value input Guardian Programming Reference Summary for pTAL and TAL —522631-001 7- 17
  • 210.
    Procedure Calls Summary(O-Q) PRIORITY (Superseded by PROCESS_SETINFO_, PROCESS_GETINFO_, and PROCESS_GETINFOLIST_) Enables a process to examine or change its initial priority and current priority. old-priority := PRIORITY ( [ new-priority ] ,[ init-priority ] ); old-priority, INT returned value new-priority, INT:value input init-priority, INT:ref:1 output PROCESS_ACTIVATE_ Returns a suspended process or process pair to the ready state. error := PROCESS_ACTIVATE_ ( processhandle ,[ specifier ] ); error, INT returned value 0 Process activated. 11 Process does not exist. 48 Security violation. 201 Unable to communicate with the processor of the process. processhandle, INT .EXT:ref:10 input specifier, INT:value input 0 Activate the specified process. 1 Activate both members if the specified process is part of a named process pair; otherwise, activate the specified process. Guardian Programming Reference Summary for pTAL and TAL —522631-001 7- 18
  • 211.
    Procedure Calls Summary(O-Q) PROCESS_CREATE_ (Superseded by PROCESS_LAUNCH_) Creates a new Guardian process and, optionally, assigns a symbolic process name to it. error := PROCESS_CREATE_ ( [ program-file:length ] ,[ library-file:length ] ,[ swap-file:length ] ,[ ext-swap-file:length ] ,[ priority ] ,[ processor ] ,[ processhandle ] ,[ error-detail ] ,[ name-option ] ,[ name:length ] ,[ process-descr:maxlen ] ,[ process-descr-len ] ,[ nowait-tag ] ,[ hometerm:length ] ,[ memory-pages ] ,[ jobid ] ,[ create-options ] ,[ defines:length ] ,[ debug-options ] ,[ pfs-size ] ); error, INT returned value program-file:length, STRING .EXT:ref:*,INT:value input:input library-file:length, STRING .EXT:ref:*,INT:value input:input swap-file:length, STRING .EXT:ref:*,INT:value input:input ext-swap-file:length, STRING .EXT:ref:*,INT:value input:input priority, INT:value input processor, INT:value input processhandle, INT .EXT:ref:10 output error-detail, INT .EXT:ref:1 output name-option, INT:value input 0 Process is unnamed. 1 Process is named; name is supplied in name. 2 Process is named; system must generate a name. 3 Process is caller’s backup; use caller’s name. 4 Process is named; system must generate a name. Guardian Programming Reference Summary for pTAL and TAL —522631-001 7- 19
  • 212.
    Procedure Calls Summary(O-Q) name:length, STRING .EXT:ref:*,INT:value input:input process-descr:maxlen, STRING .EXT:ref:*,INT:value output:input process-descr-len, INT .EXT:ref:1 output nowait-tag, INT(32):value input hometerm:length, STRING .EXT:ref:*,INT:value input:input memory-pages, INT:value input jobid, INT:value input create-options, INT:value input <0:8> Reserved (specify 0) <9> =0 If the caller is named, the process deletion message, if any, will go only to the current instance of the calling process. =1 If the caller is named, the process deletion message, if any, will go to whatever process has the calling process’s name (regardless of sequence number) at that time. <10> =0 Force new process into a low PIN if the calling process has the inherited force-low attribute set. =1 Ignore the value of the caller’s inherited force-low attribute. <11:12> =0 Propagate the DEFINEs in the caller’s context only. =1 Propagate DEFINES in defines only. =2 Propagate both sets of defines; in case of name conflicts, use the ones in defines. <13> =0 Use caller’s DEFINE mode. =1 Use value in bit 14. <14> =0 DEFINEs disabled (ignored if bit 13 is 0). =1 DEFINEs enabled (ignored if bit 13 is 0). <15> =0 Can be assigned any PIN. =1 Requires low PIN (in range 0 through 254). defines:length, STRING .EXT:ref:*,INT:value input:input debug-options, INT:value input <0:11> Reserved (specify 0) <12> =1 Enter Debug/Inspect at the first executable instruction of the program’s MAIN procedure. =0 Begin normal program execution. Guardian Programming Reference Summary for pTAL and TAL —522631-001 7- 20
  • 213.
    Procedure Calls Summary(O-Q) <13> =1 If the process traps, create a saveabend file. =0 If the process traps, do not create a saveabend file. <14> =1 Use debugger specified in bit 15 and saveabend option specified in bit 13 regardless of program-file flag setting. =0 Use standard rules for debugger selection. <15> =1 Use Inspect. =0 Use Debug. pfs-size, INT(32):value input PROCESS_DEBUG_ Invokes the debug facility for the calling process or another process. error := PROCESS_DEBUG_ ( [ processhandle ] ,[ terminal-name:length ] ,[ now ] ); error, INT returned value 0 Debug request accepted. If the process to be debugged is not the calling process, the request might have been queued. 11 Process does not exist. 48 Security violation. 201 Unable to communicate with the processor of the process. processhandle, INT .EXT:ref:10 input terminal-name:length, STRING .EXT:ref:*,INT:value input:input now, INT:value input Guardian Programming Reference Summary for pTAL and TAL —522631-001 7- 21
  • 214.
    Procedure Calls Summary(O-Q) PROCESS_GETINFO_ Obtains a limited set of information about a specified process. error := PROCESS_GETINFO_ ( [ processhandle ] ,[ file-name:maxlen ] ,[ file-name-len ] ,[ priority ] ,[ mom's-processhandle ] ,[ hometerm:maxlen ] ,[ hometerm-len ] ,[ process-time ] ,[ creator-access-id ] ,[ process-access-id ] ,[ gmom's-processhandle ] ,[ jobid ] ,[ program-file:maxlen ] ,[ program-len ] ,[ swap-file:maxlen ] ,[ swap-len ] ,[ error-detail ] ,[ proc-type ] ,[ oss-pid ] ); error, INT returned value 0 Information is returned for the specified process. 1 File-system error; error-detail contains the error number. 2 Parameter error; error-detail contains the number of the first parameter found to be in error, where 1 designates the first parameter on the left. 3 Bounds error; error-detail contains the number of the first parameter found to be in error, where 1 designates the first parameter on the left. 4 Specified process does not exist. 5 Unable to communicate with processor. 6 Unable to communicate with system. processhandle, INT .EXT:ref:10 input:output file-name:maxlen, STRING .EXT:ref:*,INT:value output:input file-name-len, INT .EXT:ref:1 output priority, INT .EXT:ref:1 output mom's-processhandle, INT .EXT:ref:10 output hometerm:maxlen, STRING .EXT:ref:*,INT:value output:input hometerm-len, INT .EXT:ref:1 output Guardian Programming Reference Summary for pTAL and TAL —522631-001 7- 22
  • 215.
    Procedure Calls Summary(O-Q) process-time, FIXED .EXT:ref:1 output creator-access-id, INT .EXT:ref:1 output process-access-id, INT .EXT:ref:1 output gmom's-processhandle, INT .EXT:ref:10 output jobid, INT .EXT:ref:1 output program-file:maxlen, STRING .EXT:ref:*,INT:value output:input program-len, INT .EXT:ref:1 output swap-file:maxlen, STRING .EXT:ref:*,INT:value output:input swap-len, INT .EXT:ref:1 output error-detail, INT .EXT:ref:1 output proc-type, INT .EXT:ref:1 output <0:14> (reserved) <15> =1 Process is a Guardian process. =0 Process is an OSS process. oss-pid, INT(32) .EXT:ref:1 output PROCESS_GETINFOLIST_ Obtains detailed information about a specified process or about a set of processes that meet specified criteria. error := PROCESS_GETINFOLIST_ ( [ cpu ] ,[ pin ] ,[ nodename:length ] ,[ processhandle ] ,ret-attr-list ,ret-attr-count ,ret-values-list ,ret-values-maxlen ,ret-values-len ,[ error-detail ] ,[ srch-option ] ,[ srch-attr-list ] ,[ srch-attr-count ] ,[ srch-values-list ] ,[ srch-values-len ] ,[ oss-pid ] ); error, INT returned value Guardian Programming Reference Summary for pTAL and TAL —522631-001 7- 23
  • 216.
    Procedure Calls Summary(O-Q) 0 Information is returned for the specified process or processes; error-detail contains the number of processes for which information has been returned (might be more than one process if in search mode). 1 File-system error; error-detail contains the error number. 2 Parameter error; error-detail contains the number of the first parameter found to be in error, where 1 designates the first parameter on the left. 3 Bounds error; error-detail contains the number of of the first parameter found to be in error, where 1 designates the first parameter on the left. 4 Specified process does not exist or does not meet search criteria; information returned is for a process (or processes) with a higher PIN; error-detail contains the number of processes for which information has been returned (might be more than one process if in search mode). 5 Unable to communicate with cpu; cpu might not exist. 6 Unable to communicate with nodename. 7 No more matches exist; error-detail contains the number of processes for which information has been returned (might be 0). 8 Reserved. 9 Invalid search attribute code; error-detail contains the code in question (not an index into a list). 10 Invalid search value; error-detail contains the associated attribute code (not an index into a list). 11 Invalid return attribute code; error-detail contains the code in question (not an index into a list). 12 Invalid srch-option. cpu, INT:value input pin, INT .EXT:ref:1 input:output nodename:length, STRING .EXT:ref:*,INT:value input:input processhandle, INT .EXT:ref:10 input ret-attr-list, INT .EXT:ref:* input ret-attr-count, INT:value input ret-values-list, INT .EXT:ref:* output ret-values-maxlen, INT:value input ret-values-len, INT .EXT:ref:1 output error-detail, INT .EXT:ref:1 output srch-option, INT:value input Guardian Programming Reference Summary for pTAL and TAL —522631-001 7- 24
  • 217.
    Procedure Calls Summary(O-Q) 0 Return information for only the process specified by nodename, cpu, pin or by processhandle. 1 Start a search at nodename, cpu, pin and return information for the first matching process. 2 Start a search at nodename, cpu, pin and return information for as many matching processes as will fit in ret-values-list. 3 Return information for only the OSS process specified by nodename, oss-pid. srch-attr-list, INT .EXT:ref:* input srch-attr-count, INT:value input srch-values-list, INT .EXT:ref:* input srch-values-len, INT:value input oss-pid, INT(32):value input Note. Attributes marked by an asterisk (*) correspond to individual parameters returned by PROCESS_GETINFO_. Attribute Code Value Representation * 1 creator access ID INT * 2 process access ID INT 3 maximum priority (search only) INT * 4 program file INT bytelength, STRING * 5 home terminal INT bytelength, STRING * 6 gmom's process handle INT (10 words) * 7 jobid INT 8 process subtype INT 9 minimum priority (search only) INT 12 earliest creation time (search only) FIXED 13 latest creation time (search only) FIXED 14 lowered priority none (as a search attribute) INT (as a return attribute) 15-29 (reserved for future use) * 30 process time FIXED 31 wait state INT 32 process state INT 33 library file INT bytelength, STRING Guardian Programming Reference Summary for pTAL and TAL —522631-001 7- 25
  • 218.
    Procedure Calls Summary(O-Q) Attribute Code Value Representation * 34 swap file INT bytelength, STRING 35 context changes INT 36 DEFINE mode INT 37 licenses INT 38 PIN INT * 39 file name INT bytelength, STRING * 40 mom's process handle INT (10 words) 41 process file security INT 42 current priority INT 43 initial priority INT 44 remote creator INT 45 logged-on state INT 46 extended data segment swap file INT bytelength, STRING 47 primary INT 48 process handle INT (10 words) 49 qualifier info available INT 50 Safeguard-authenticated logon INT 51 force low INT 53 creation timestamp FIXED 54 current pages INT(32) 55 messages sent INT(32) 56 messages received INT(32) 57 receive queue length INT 58 receive queue maximum length INT 59 page faults INT(32) 62 named INT 65 mom’s file name INT bytelength, STRING 66 gmom’s file name INT bytelength, STRING 67 Safeguard-authenticated logoff state INT 68 inherited logon INT 69 stop on logoff INT 70 propagate logon INT 71 propagate stop-on-logoff INT 72 logon flags and states INT Guardian Programming Reference Summary for pTAL and TAL —522631-001 7- 26
  • 219.
    Procedure Calls Summary(O-Q) Attribute Code Value Representation 73 applicable attributes INT 80 effective group ID INT(32) 81 saved set-group-ID INT(32) 82 login name INT bytelength, STRING <= 32 chars 83 group list INT n, INT(32) [0:n-1] 84 saved set-user-ID INT(32) * 90 OSS process ID (OSS process only) INT(32) 91 OSS command (OSS process only) INT bytelength, STRING <= 80 chars 92 OSS arguments (OSS process only) INT bytelength, STRING <= 80 chars 93 OSS program pathname (OSS INT bytelength, STRING <= 1024 chars process only) 94 OSS parent process ID (OSS process INT(32) only) 95 OSS elapsed time (OSS process only) INT(64) 96 OSS processor time (OSS process INT(64) only) 97 OSS start time (OSS process only) INT(64) 98 OSS group leader process ID (OSS INT(32) process only) 99 OSS process status (OSS process INT(32) only) 100 process file segment (PFS) size INT(32) 101 server class name INT bytelength, STRING 102 origin of main stack INT(32) 103 current main stack size INT(32) 104 maximum main stack size INT(32) 105 origin of the privileged stack INT(32) 106 current privileged stack size INT(32) 107 maximum privileged stack size INT(32) 108 start of global data INT(32) 109 size of global data INT(32) 110 start of native heap area INT(32) 111 current size of native heap area INT(32) 112 maximum size of native heap area INT(32) 113 guaranteed swap space INT(32) Guardian Programming Reference Summary for pTAL and TAL —522631-001 7- 27
  • 220.
    Procedure Calls Summary(O-Q) Attribute Code Value Representation 115 TNS/R native shared run-time INT library: buffer size required for attribute 116 116 TNS/R native shared run-time library INT number of file names, file-name information (in a variable- INT flags sized array) INT file-name length, STRING file name 117 TNS/R native shared run-time INT library: buffer size required for attribute 118 118 TNS/R native shared run-time library INT number of file names, name information (in a variable-sized INT flags array). INT name length, STRING name 119 process is TNS/R native INT PROCESS_GETPAIRINFO_ Obtains basic information about a named process or process pair. error := PROCESS_GETPAIRINFO_ ( [ processhandle ] ,[ pair:maxlen ] ,[ pair-length ] ,[ primary-processhandle ] ,[ backup-processhandle ] ,[ search-index ] ,[ ancst-processhandle ] ,[ nodename:length ] ,[ options ] ,[ ancst:maxlen ] ,[ ancst-length ] ,[ error-detail ] ); error, INT returned value 0 Information is returned for a process pair (not the calling process). 1 Reserved. 2 Parameter error; error-detail contains the number of the first parameter found to be in error, where 1 designates the leftmost parameter. 3 Bounds error; error-detail contains the number of the first parameter found to be in error, where 1 designates the leftmost parameter. 4 Information is returned for a single named process (can be the calling process). 5 Information is returned for a process pair where the caller is the current primary. Guardian Programming Reference Summary for pTAL and TAL —522631-001 7- 28
  • 221.
    Procedure Calls Summary(O-Q) 6 Information is returned for a process pair where the caller is the current backup. 7 No information is returned; process is unnamed (can be the calling process). 8 No information is returned; search is complete. 9 Specified process does not exist. 10 Unable to communicate with the node where the process resides. 11 Process is an I/O process, but the option to allow I/O processes was not selected. 12 The option to allow I/O processes was selected, but the process is an I/O process running on a C-series system. processhandle, INT .EXT:ref:10 input pair:maxlen, STRING .EXT:ref:*,INT:value input, output:input pair-length, INT .EXT:ref:1 output primary-processhandle, INT .EXT:ref:10 output backup-processhandle, INT .EXT:ref:10 output search-index, INT(32) .EXT:ref:1 input, output ancst-processhandle, INT .EXT:ref:10 output nodename:length, STRING .EXT:ref:*,INT:value input:input options, INT:value input <0:14> Reserved (specify 0) <15> Return information only for named processes. 1 Also return information for I/O processes (that is, processes controlling devices or volumes). ancst:maxlen, STRING .EXT:ref:*,INT:value output, input ancst-length, INT .EXT:ref:1 output error-detail, INT .EXT:ref:1 output Guardian Programming Reference Summary for pTAL and TAL —522631-001 7- 29
  • 222.
    Procedure Calls Summary(O-Q) PROCESS_LAUNCH_ Creates a new process and, optionally, assigns a number of process attributes. You can use this procedure to create only Guardian processes, although you can call it from a Guardian process or an OSS process. The program file must contain a program for execution in the Guardian environment. The program file and any user library file must reside in the Guardian name space; that is, they must not be OSS files. You can specify that the new process be created in either a waited or nowait manner. When it is created in a waited manner, identification for the new process is returned directly to the caller. When it is created in a nowait manner, its identification is returned in a system message sent to the caller’s $RECEIVE file. DEFINEs can be propagated to a new process. The DEFINEs can come from the caller’s context or from a buffer of DEFINEs saved by the DEFINESAVE procedure. Any parameter that can specify a file name can contain a DEFINE. error:= PROCESS_LAUNCH_ ( param-list ,[ error-detail ] ,[ output-list:maxlen ] ,[ output-list-len ] ); error, INT returned value param-list, INT .EXT:ref:* input error-detail, INT .EXT:ref:* output output-list:maxlen, STRING .EXT:ref:*, INT:value output:input output-list-len, INT .EXT:ref:* output PROCESS_SETINFO_ Alters a single nonstring attribute of a specified process and optionally returns the prior value of the attribute. error := PROCESS_SETINFO_ ( [ processhandle ] ,[ specifier ] ,set-attr-code ,[ set-value ] ,[ set-value-len ] ,[ old-value ] ,[ old-value-maxlen ] ,[ old-value-len ] ); Guardian Programming Reference Summary for pTAL and TAL —522631-001 7- 30
  • 223.
    Procedure Calls Summary(O-Q) error, INT returned value processhandle, INT .EXT:ref:10 input specifier, INT:value input 0 Act upon the specified process only. 1 Act upon both members if processhandle specifies a member of a named process pair. set-attr-code, INT:value input set-value, INT .EXT:ref:* input set-value-len, INT:value input old-value, INT .EXT:ref:* output old-value-maxlen, INT:value input old-value-len, INT .EXT:ref:1 output Note. Attributes marked with an asterisk (*) can be altered only when the caller is the target process. Attribute Code Value Representation 40 mom's process handle INT (10 words) * 41 process file security INT 42 priority INT * 45 logged-on state INT * 47 primary INT * 49 qualifier info available INT * 50 Safeguard-authenticated logon INT * 69 stop on logoff INT * 70 propagate logon INT * 71 propagate stop-on-logoff INT Guardian Programming Reference Summary for pTAL and TAL —522631-001 7- 31
  • 224.
    Procedure Calls Summary(O-Q) PROCESS_SETSTRINGINFO_ Alters a single string-form attribute of a specified process, and optionally returns the prior value of the attribute. error := PROCESS_SETSTRINGINFO_ ( [ processhandle ] ,[ specifier ] ,set-attr-code ,[ set-value:length ] ,[ old-value:maxlen ] ,[ old-value-len ] ); error, INT returned value processhandle, INT .EXT:ref:10 input specifier, INT:value input 0 Act upon the specified process only. 1 Act upon both members if processhandle specifies a member of a named process pair. set-attr-code, INT:value input set-value:length, STRING .EXT:ref:*,INT:value input:input old-value:maxlen, STRING .EXT:ref:*,INT:value output:input old-value-len, INT .EXT:ref:1 output PROCESS_SPAWN_ Creates a new Open System Services (OSS) process and, optionally, assigns a number of process attributes. oss-pid:= PROCESS_SPAWN_ ( oss-program-file ,[ fdinfo ] ,[ argv ] ,[ envp ] ,[ inheritance ] ,[ inheritance-length ] ,[ process-extension ] ,[ process-results ] ,[ nowait-tag ] ,[ path ] ); Guardian Programming Reference Summary for pTAL and TAL —522631-001 7- 32
  • 225.
    Procedure Calls Summary(O-Q) oss-pid, INT(32) .EXT:ref:1 returned value oss-program-file, STRING .EXT:ref:* input fdinfo, STRING .EXT:ref:(ZSYS^DDL^FDINFO) input argv, EXTADDR .EXT:ref:1 input envp, EXTADDR .EXT:ref:1 input inheritance, STRING .EXT:ref:(ZSYS^DDL^INHERITANCE) input inheritance-length, INT(32):value input prcoess-extension, STRING input .EXT:ref:(ZSYS^DDL^PROCESSEXTENSION) process-results, STRING input:output .EXT:ref:(ZSYS^DDL^PROCESSRESULTS) nowait-tag, INT(32):value input path, STRING .EXT:ref:* input PROCESS_STOP_ Deletes a process or a process pair and sends a process deletion system message to the mom of the process and to any other process that is entitled to receive the message. error := PROCESS_STOP_ ( [ processhandle ] ,[ specifier ] ,[ options ] ,[ completion-code ] ,[ termination-info ] ,[ spi-ssid ] ,[ text:length ] ); error, INT returned value processhandle, INT .EXT:ref:10 input specifier, INT:value input 0 Stop the specified process only. 1 Stop both members if the specified process is part of a named process pair; otherwise, stop the specified process. 2 Stop the caller’s opposite member, but not the caller, if it is part of a named process pair. The processhandle parameter is ignored. options, INT:value input Guardian Programming Reference Summary for pTAL and TAL —522631-001 7- 33
  • 226.
    Procedure Calls Summary(O-Q) <0:14> Reserved (specify 0) <15> Normal termination (STOP) 1 Abnormal termination (ABEND) completion-code, INT:value input termination-info, INT:value input spi-ssid, INT .EXT:ref:6 input text:length, STRING .EXT:ref:*,INT:value input:input PROCESS_SUSPEND_ Places a process or process pair into the suspended state. error := PROCESS_SUSPEND_ ( processhandle ,[ specifier ] ); error, INT returned value 0 Process has been successfully suspended. 11 Process does not exist. 48 A security violation has occurred. 201 Unable to communicate with processor where the process is running. processhandle, INT .EXT:ref:10 input specifier, INT:value input 0 Suspend the specified process only. 1 Suspend both members if the specified process is part of a named process pair. PROCESSACCESSID (Superseded by PROCESS_GETINFO_ and PROCESS_GETINFOLIST_) Obtains the process access ID (PAID) of the calling process. access-id := PROCESSACCESSID; access-id, INT returned value Guardian Programming Reference Summary for pTAL and TAL —522631-001 7- 34
  • 227.
    Procedure Calls Summary(O-Q) <0:7> Group number <8:15> User number PROCESSFILESECURITY (Superseded by PROCESS_SETINFO_, PROCESS_GETINFO_, or PROCESS_GETINFOLIST_) Examines or sets the file security for the current process. old-security := PROCESSFILESECURITY ( security ); old-security, INT returned value security, INT:value input <0:3> 0. <4:6> ID code allowed for read. <7:9> ID code allowed for write. <10:12> ID code allowed for execute. <13:15> ID code allowed for purge. 0 Any user (local). 1 Member of owner’s group (local). 2 Owner (local). 4 Any user (local or remote). 5 Member of owner’s community (local or remote). 6 Owner (local or remote). 7 Super ID (255,255) only (local). PROCESSHANDLE_COMPARE_ Compares two process handles and reports whether they are identical, represent different processes of the same process pair, or are different. status := PROCESSHANDLE_COMPARE_ ( processhandle-1 ,processhandle-2 ); status, INT returned value Guardian Programming Reference Summary for pTAL and TAL —522631-001 7- 35
  • 228.
    Procedure Calls Summary(O-Q) 0 Process handles are unrelated. 1 Process handles are not identical but designate a process pair. 2 Process handles are identical. processhandle-1, INT .EXT:ref:10 input processhandle-2, INT .EXT:ref:10 input PROCESSHANDLE_DECOMPOSE_ Returns one or more parts of a process handle. error := PROCESSHANDLE_DECOMPOSE_ ( processhandle ,[ cpu ] ,[ pin ] ,[ nodenumber ] ,[ nodename:maxlen ] ,[ nodename-length ] ,[ procname:maxlen ] ,[ procname-length ] ,[ sequence-number] ); error, INT returned value processhandle, INT .EXT:ref:10 input cpu, INT .EXT:ref:1 output pin, INT .EXT:ref:1 output nodenumber, INT(32) .EXT:ref:1 output nodename:maxlen, STRING .EXT:ref:*,INT:value output:input nodename-length, INT .EXT:ref:1 output procname:maxlen, STRING .EXT:ref:*,INT:value output:input procname-length, INT .EXT:ref:1 output sequence-number, FIXED .EXT:ref:1 output PROCESSHANDLE_GETMINE_ Obtains the caller’s process handle. error := PROCESSHANDLE_GETMINE_ ( processhandle ); error, INT returned value Guardian Programming Reference Summary for pTAL and TAL —522631-001 7- 36
  • 229.
    Procedure Calls Summary(O-Q) 0 Information returned successfully. 3 Parameter address out of bounds. processhandle, INT .EXT:ref:10 output PROCESSHANDLE_NULLIT_ Initializes a process handle to a null value. error := PROCESSHANDLE_NULLIT_ ( processhandle ); error, INT returned value 0 Operation was successful. 22 Parameter is out of bounds. 29 Parameter is missing. processhandle, INT .EXT:ref:10 output PROCESSHANDLE_TO_CRTPID_ Converts a process handle to the corresponding process ID (CRTPID). error := PROCESSHANDLE_TO_CRTPID_ ( processhandle ,process-id ,[ pair-flag ] ,[ node-number ] ); error, INT returned value processhandle, INT .EXT:ref:10 input process-id, INT .EXT:ref:4 output pair-flag, INT:value input node-number, INT(32):value input Guardian Programming Reference Summary for pTAL and TAL —522631-001 7- 37
  • 230.
    Procedure Calls Summary(O-Q) PROCESSHANDLE_TO_FILENAME_ Converts a process handle to a process file name. error := PROCESSHANDLE_TO_FILENAME_ ( processhandle ,filename:maxlen ,filename-length ,[ options ] ); error, INT returned value processhandle, INT .EXT:ref:10 input filename:maxlen, STRING .EXT:ref:*,INT:value output:input filename-length, INT .EXT:ref:1 output options, INT:value input <0:14> Not currently used (specify 0). <15> For named processes: if set, specifies that the sequence number not be included in filename for a named process. PROCESSHANDLE_TO_STRING_ Converts a process handle to the equivalent process string. error := PROCESSHANDLE_TO_STRING_ ( processhandle ,process-string:maxlen ,process-string-length ,[ nodename:length ] ,[ named-form ] ); error, INT returned value processhandle, INT .EXT:ref:10 input process-string:maxlen, STRING .EXT:ref:*,INT:value output:input process-string-length, INT .EXT:ref output nodename:length, STRING .EXT:ref:*,INT:value input:input named-form, INT:value input 0 Return process name, if possible; if it is unavailable, return cpu,pin form. 1 Return process name; if it is unavailable, report the error. 2 Return cpu,pin form in all cases. Guardian Programming Reference Summary for pTAL and TAL —522631-001 7- 38
  • 231.
    Procedure Calls Summary(O-Q) PROCESSINFO (Superseded by PROCESS_GETINFO_ and PROCESS_GETINFOLIST_) Obtains process status information. error := PROCESSINFO ( cpu,pin ,[ process-id ] ,[ creator-access-id ] ,[ process-access-id ] ,[ priority ] ,[ program-filename ] ,[ home-terminal ] ,[ sysnum ] ,[ search-mode ] ,[ priv-only ] ,[ processtime ] ,[ waitstate ] ,[ process-state ] ,[ library-filename ] ,[ swap-filename ] ,[ context-changes ] ,[ flag ] ,[ licenses ] ,[ jobid ] ); error, INT returned value 0 The status for process cpu,pin returns. 1 Process cpu,pin does not exist or does not match the specified criteria. 2 Process cpu,pin does not exist, and no higher cpu,pin in the specified processor matches the specified criteria. 3 Unable to communicate with cpu. 5 The system specified by sysnum could not be accessed. 6 Internal error. 7 Unable to process a D-series file name. 99 Parameter error cpu,pin, INT:value input process-id, INT:ref:4 input, output creator-access-id, INT:ref:1 input, output process-access-id, INT:ref:1 input, output priority, INT:ref:1 input, output program-filename, INT:ref:12 input, output Guardian Programming Reference Summary for pTAL and TAL —522631-001 7- 39
  • 232.
    Procedure Calls Summary(O-Q) home-terminal, INT:ref:12 input, output sysnum, INT:value input search-mode, INT:value input <0> =1 Must match process-id for 3 words. =0 No search. <1> =1 Must match creator-access-id. =0 No search. <2> =1 Must match process-access-id. =0 No search. <3> =1 Must be greater than or equal to priority. =0 No search. <4> =1 Must match program-filename. =0 No search. <5> =1 Must match home-terminal. =0 No search. <6> =1 Must match jobid. =0 No search. priv-only, INT:ref:* output processtime, FIXED:ref:* output waitstate, INT:ref:1 output <8> Wait on PON (processor power on). <9> Wait on IOPON (I/O power on). <10> Wait on INTR (interrupt). <11> Wait on LINSP (Inspect event). <12> Wait on LCAN (message system, cancel). <13> Wait on LDONE (message system, done). <14> Wait on LTMF (TMF request). <15> Wait on LREQ (message system, request). process-state, INT:ref:1 output <0> Privileged process. <1> Page fault occurred. <2> Process is on the ready list. <3> System process. Guardian Programming Reference Summary for pTAL and TAL —522631-001 7- 40
  • 233.
    Procedure Calls Summary(O-Q) <4:5> Reserved. <6> MAB in system code. <7> Process not accepting any messages. <8> Temporary system process. <9> Process has logged on (called VERIFYUSER). <10> In a pending process state. <11:15> The process state, where. 0 Unallocated. 1 Starting. 2 Runnable. 3 Suspended. 4 Debug mab. 5 Debug breakpoint. 6 Debug trap. 7 Debug request. 8 Inspect mab. 9 Inspect breakpoint. 10 Inspect trap. 11 Inspect request. 12 Saveabend. 13 Terminating. library-filename, INT:ref:12 output swap-filename, INT:ref:12 output context-changes, INT:ref:1 output flag, INT:ref:1 output licenses, INT:ref:1 output jobid, INT:ref:5 input, output Guardian Programming Reference Summary for pTAL and TAL —522631-001 7- 41
  • 234.
    Procedure Calls Summary(O-Q) PROCESSNAME_CREATE_ Returns a unique process name that is suitable for passing to the PROCESS_CREATE_ procedure. error := PROCESSNAME_CREATE_ ( name:maxlen ,namelen ,[ name-type ] ,[ nodename:length ] ,[ options ] ); error, INT returned value 0 Process name is returned successfully. 44 No names of the specified type are available. 201 Unable to communicate with the specified node. 590 Parameter or bounds error. name:maxlen, STRING .EXT:ref:*,INT:value output:input namelen, INT .EXT:ref:1 output name-type, INT:value input 0 4-character name 1 5-character name nodename:length, STRING .EXT:ref:*,INT:value input:input options, INT:value input <0:14> Reserved; must be 0. <15> =0 Include node name in the returned process name. =1 Return the process name in local form. Guardian Programming Reference Summary for pTAL and TAL —522631-001 7- 42
  • 235.
    Procedure Calls Summary(O-Q) PROCESSOR_GETINFOLIST_ Obtains configuration information and statistics about a processor. error := PROCESSOR_GETINFOLIST_ ( [ nodename:length ] ,[ cpu ] ,ret-attr-list ,ret-attr-count ,ret-values-list ,ret-values-maxlen ,ret-values-len ,[ error-detail ] ); error, INT returned value 0 Information is returned for the specified process. 1 File-system error; error-detail contains the error number. Error 563 is returned if the ret-values-list buffer is too small to contain all of the requested information. 2 Parameter error; error-detail contains the number of the first parameter found to be in error, where 1 designates the first parameter on the left. 3 Bounds error; error-detail contains the number of the first parameter found to be in error, where 1 designates the first parameter on the left. 4 Reserved. 5 Unable to communicate with processor. Processor might not exist. 7 An invalid return attribute code was supplied. 8 The specified node is running a C-series version of the operating system; PROCESSOR_GETINFOLIST_ cannot obtain information from a C-series system. nodename:length, STRING .EXT:ref:*,INT:value input:input cpu, INT:value input ret-attr-list, INT .EXT:ref:* input ret-attr-count, INT:value input ret-values-list, INT .EXT:ref:* output ret-values-maxlen, INT:value input ret-values-len, INT .EXT:ref:1 output error-detail, INT .EXT:ref:1 output Guardian Programming Reference Summary for pTAL and TAL —522631-001 7- 43
  • 236.
    Procedure Calls Summary(O-Q) Code Attribute Value Representation 2 processor type INT 3 software version INT 4 page size INT(32) 5 memory size INT(32) 6 first virtual page INT(32) 7 swappable pages INT(32) 8 free pages INT(32) 9 current locked memory INT(32) 10 maximum locked memory INT(32) 11 high locked memory INT(32) 12 page faults INT(32) 13 scans per memory manager call INT(32) 14 memory clock cycles INT(32) 15 memory pressure INT 16 memory queue length INT 17 local time offset FIXED 18 elapsed time FIXED 19 busy time FIXED 20 idle time FIXED 21 interrupt time FIXED 22 processor queue length INT 23 dispatches INT(32) 24 PCBs in low PINs INT number of elements, INT ARRAY 25 PCBs in high PINs INT number of elements, INT ARRAY 26 time list elements INT number of elements, INT(32) ARRAY 27 process time list elements INT number of elements, INT(32) ARRAY 28 breakpoints INT 29 send busy FIXED 35 T16 interrupt count INT number of elements, INT(32) ARRAY 36 disk cache hits FIXED 37 disk I/Os FIXED 38 processor queue state INT, INT, FIXED 39 memory queue state INT, INT, FIXED Guardian Programming Reference Summary for pTAL and TAL —522631-001 7- 44
  • 237.
    Procedure Calls Summary(O-Q) Code Attribute Value Representation 40 sequenced sends INT(32) 41 unsequenced sends INT(32) 42 CME events INT(32) 43 pages created INT(32) 44 interpreter busy FIXED 45 interpreter transitions INT(32) 46 transactions INT(32) 47 processor model INT 48 processor name INT bytelength, STRING 49 processor full name INT bytelength, STRING 56 base time FIXED 57 memory-management attributes INT(32) 58 segments in use INT(32) 59 maximum segments used INT(32) 60 the update part of the release ID INT (the two digits that follow the period) 61 for Compaq internal use only 62 availability of IEEE floating INT point on the current system PROCESSOR_GETNAME_ Returns a processor’s type as a character string. error := PROCESSOR_GETNAME_ ( cpu-number ,name:maxlen ,namelen ,[ cpu-type-out ] ,[ node-name:length ] ,[ node-number ] ,[ cpu-type-in ] ,[ expand-name ] ,[ cpu-model-out ] ,[ cpu-model-in ] ); error, INT returned value Guardian Programming Reference Summary for pTAL and TAL —522631-001 7- 45
  • 238.
    Procedure Calls Summary(O-Q) 22 Parameter or buffer out of bounds. 29 Missing parameter. 201 Unable to communicate over this path. 590 Parameter value bad or inconsistent. cpu-number, INT:value input name:maxlen, STRING .EXT:ref:*,INT:value output:input Processor Type = 0 “NonStop 1+” (no longer supported) 1 “NonStop II” (no longer supported) 2 “TXP” (no longer supported) 3 “VLX” (no longer supported) 4 “CLX” 5 “Cyclone” 6 “NSR-L” 7 “NSR-N,” “NSR-P,” or “NSR-K” 8 “NSR-W” 9 “NSR-G” or “NSR-T” otherwise maxlen blanks namelen, INT .EXT:ref:1 output cpu-type-out, INT .EXT:ref:1 output node-name:length, STRING .EXT:ref:*,INT:value input:input node-number, INT(32):value input cpu-type-in, INT:value input expand-name, INT:value input cpu-model-out, INT .EXT:ref:1 output cpu-model-in, INT:value input PROCESSORSTATUS Obtains the number and the status of the processor modules in a system. processor-status := PROCESSORSTATUS; Guardian Programming Reference Summary for pTAL and TAL —522631-001 7- 46
  • 239.
    Procedure Calls Summary(O-Q) processor-status, INT(32) returned value PROCESSORTYPE Returns the processor type of a specified system and processor. type := PROCESSORTYPE ( [ cpu ] ,[ sysid ] ); type, INT returned value -2 This feature is not supported for the system named in sysid. -1 Unable to communicate with processor (either it does not exist or the network is down). 0 Tandem NonStop 1+ processor (no longer supported). 1 Tandem NonStop II processor (no longer supported). 2 Tandem NonStop TXP processor (no longer supported). 3 Tandem NonStop VLX processor (no longer supported). 4 Tandem NonStop CLX processor. 5 Tandem NonStop Cyclone processor. 6 Tandem NonStop NSR-L processor. 7 Tandem NonStop NSR-N, NSR-P, or NSR-K processor. 8 Tandem NonStop NSR-W processor. 9 Tandem NonStop NSR-G or NSR-T processor. cpu, INT:value input sysid, INT:value input Guardian Programming Reference Summary for pTAL and TAL —522631-001 7- 47
  • 240.
    Procedure Calls Summary(O-Q) PROCESSSTRING_SCAN_ Scans an input string for a process string and returns the corresponding process handle or a single component of the process string converted to internal form. error := PROCESSSTRING_SCAN_ ( string:length ,[ length-used ] ,[ processhandle ] ,[ stringtype ] ,[ name:maxlen ] ,[ namelen ] ,[ cpu ] ,[ pin ] ,[ options ] ); error, INT returned value string:length, STRING .EXT:ref:*,INT:value input:input length-used, INT .EXT:ref:1 output processhandle, INT .EXT:ref:10 output stringtype, INT .EXT:ref:1 output 0 Asterisk form (that is, “*”) 1 Single processor form (for example, “2”) 2 processor, PIN form (for example, “2,137”) 3 Name form (for example, “$PSRV”) name:maxlen, STRING .EXT:ref:*,INT:value output:input namelen, INT .EXT:ref:1 output cpu, INT .EXT:ref:1 output pin, INT .EXT:ref:1 output options, INT:value input <0:14> Reserved (specify 0). <15> =1 Device names (up to eight characters) are to be accepted in the input string. =0 Device names are not to be accepted in the input string. Guardian Programming Reference Summary for pTAL and TAL —522631-001 7- 48
  • 241.
    Procedure Calls Summary(O-Q) PROCESSTIME (Superseded by PROCESS_GETINFO_ and PROCESS_GETINFOLIST_) Returns the process execution time of any process in the network. process-time := PROCESSTIME ( [ cpu,pin ] ,[ sysid ] ); process-time, FIXED returned value -1F The process does not exist. -2F The system is unavailable or does not exist. >=0F PROCESSTIME was successful. cpu,pin, INT:value input sysid, INT:value input PROGRAMFILENAME (Superseded by PROCESS_GETINFO_ and PROCESS_GETINFOLIST_) Obtains the name of the calling process’s program file. CALL PROGRAMFILENAME ( program-file ); program-file, INT:ref:12 output PURGE (Superseded by FILE_PURGE_) Deletes a disk file that is not open. This procedure operates only on Guardian objects. CALL PURGE ( filename ); filename, INT:ref:12 input < (CCL) The purge failed (call FILEINFO). However, in the case of a disk free-space error, the file is purged, and an error returns. = (CCE) The file purged successfully. > (CCG) The device is not a disk. Guardian Programming Reference Summary for pTAL and TAL —522631-001 7- 49
  • 242.
    Procedure Calls Summary(O-Q) PUTPOOL (Superseded by POOL_CHECK_, POOL_DEFINE_, POOL_GETINFO_, POOL_GETSPACE_, POOL_PUTSPACE_, and POOL_RESIZE_) Returns a block of memory to a buffer pool. CALL PUTPOOL ( pool-head ,pool-block ); pool-head, INT .EXT:ref:19 input, output pool-block, STRING .EXT:ref:* input < (CCL) The data structures are invalid or pool-block is not a block in the buffer pool. = (CCE) The operation is successful. Guardian Programming Reference Summary for pTAL and TAL —522631-001 7- 50
  • 243.
    8 Procedure Calls Summary (R-Z) This section lists procedure calls in alphabetic order and briefly describes the syntax of each. For additional information about the procedure calls, refer to the Guardian Procedure Calls Reference Manual. RAISE Note. This procedure can be called only from TNS/R native processes. RAISE_ is the pTAL procedure name for the C raise() function. The C raise() function complies with the POSIX.1 standard. See the $SYSTEM.SYSTEM.HSIGNAL header file for the pTAL prototype definitions. For a discussion of each parameter and other procedure considerations, see the raise(3) function reference page either online or in the Open System Services Library Calls Reference Manual. READ[X] Returns data from an open file to the application process’s data area. CALL READ[X] ( filenum ,buffer ,read-count ,[ count-read ] ,[ tag ] ); filenum, INT:value input buffer, output INT:ref:* (Use with READ) STRING .EXT:ref:* (Use with READX) read-count, INT:value input count-read, output INT:ref:1 (Use with READ) INT .EXT:ref:1 (Use with READX) tag, INT(32):value input Guardian Programming Reference Summary for pTAL and TAL —522631-001 8 -1
  • 244.
    Procedure Calls Summary(R-Z) < (CCL) An error occurred (call FILEINFO). < (CCL) Also returned following a successful read with an insertion-ordered alternate key path if the alternate key value of the current record is equal to the alternate key value in the following record along that path. A call to FILE_GETINFO_ or FILEINFO shows that error 551 occurred; this error is advisory only and does not indicate an unsuccessful read operation. = (CCE) The READ[X] is successful. > (CCG) For disk and nondisk devices, the end of file (EOF) is encountered (no more records in this subset); for the $RECEIVE file, a system message is received (call FILEINFO). READ^FILE Reads a file sequentially. READ^FILE is a sequential I/O (SIO) procedure and can be used only with files that have been opened by OPEN^FILE. error := READ^FILE ( file-fcb ,buffer ,[ count-returned ] ,[ prompt-count ] ,[ max-read-count ] ,[ nowait ] ); error, INT returned value 0 No error. 1 End of file. 6 System message (only if user requested system messages through SET^SYSTEMMESSAGES or SET^SYSTEMMESSAGESMANY). 111 Operation aborted because of BREAK (if BREAK is enabled). If nowait is not zero, and if abort-on-error is in effect, the only possible value for error is 0. file-fcb, INT:ref:* input buffer, INT:ref:* output count-returned, INT:ref:1 output prompt-count, INT:value input max-read-count, INT:value input nowait, INT:value input Guardian Programming Reference Summary for pTAL and TAL —522631-001 8 -2
  • 245.
    Procedure Calls Summary(R-Z) READEDIT Reads one line from a specified EDIT file and returns it to the caller in unpacked format. READEDIT is an IOEdit procedure and can be used only with files that have been opened by OPENEDIT or OPENEDIT_. error := READEDIT ( filenum ,[ record-number ] ,unpacked-line ,unpacked-limit ,unpacked-length ,[ reserved parameter ] ,[ spacefill ] ,[ full-length ] ); error, INT returned value filenum, INT:value input record-number, INT(32):value input, output unpacked-line, STRING .EXT:ref:* output unpacked-limit, INT:value input unpacked-length, INT .EXT:ref:1 output [reserved parameter] spacefill, INT:value input full-length, INT:value input READEDITP Reads one line from a specified EDIT file and returns it to the caller in EDIT packed line format. READEDITP is an IOEdit procedure and can be used only with files that have been opened by OPENEDIT or OPENEDIT_. error := READEDITP ( filenum ,[ record-number ] ,packed-line ,packed-limit ,packed-length ); error, INT returned value filenum, INT:value input record-number, INT(32):value input, output Guardian Programming Reference Summary for pTAL and TAL —522631-001 8 -3
  • 246.
    Procedure Calls Summary(R-Z) error, INT returned value packed-line, STRING .EXT:ref:* output packed-limit, INT:value input packed-length, INT .EXT:ref:1 output READLOCK[X] Sequentially locks and reads records in a disk file, exactly like the combination of LOCKREC and READ[X]. This procedure operates only on Guardian objects. CALL READLOCK[X] ( filenum ,buffer ,read-count ,[ count-read ] ,[ tag ] ); filenum, INT:value input buffer, output INT:ref:* (Use with READLOCK) STRING .EXT:ref:* (Use with READLOCKX) read-count, INT:value input count-read, input INT:ref:1 (Use with READLOCK) INT .EXT:ref:1 (Use with READLOCKX) tag, INT(32):value input < (CCL) An error occurred (call FILEINFO). = (CCE) The READLOCK[X] is successful. > (CCG) End of file (EOF). There are no more records in this subset. Guardian Programming Reference Summary for pTAL and TAL —522631-001 8 -4
  • 247.
    Procedure Calls Summary(R-Z) READUPDATE[X] Reads data from a disk or process file in anticipation of a subsequent write to the file. CALL READUPDATE[X] ( filenum ,buffer ,read-count ,[ count-read ] ,[ tag ] ); filenum, INT:value input buffer, output INT:ref:* (Use with READUPDATE) STRING .EXT:ref:* (Use with READUPDATEX) read-count, INT:value input count-read, output INT:ref:1 (Use with READUPDATE) INT .EXT:ref:1 (Use with READUPDATEX) tag, INT(32):value input < (CCL) An error occurred (call FILEINFO). = (CCE) The READUPDATE[X] is successful. > (CCG) A system message is received through $RECEIVE. READUPDATELOCK[X} Locks, then reads the record from the current position in the file in the same manner as the combination of LOCKREC and READUPDATE[X]. This procedure operates only on Guardian objects. CALL READUPDATELOCK[X] ( filenum ,buffer ,read-count ,[ count-read ] ,[ tag ] ); Guardian Programming Reference Summary for pTAL and TAL —522631-001 8 -5
  • 248.
    Procedure Calls Summary(R-Z) filenum, INT:value input buffer output INT:ref:* (Use with READUPDATELOCK) STRING .EXT:ref:* (Use with READUPDATELOCKX) read-count, INT:value input count-read, output INT:ref:1 (Use with READUPDATELOCK) INT .EXT:ref:1 (Use with READUPDATELOCKX) tag, INT(32):value input < (CCL) An error occurred (call FILEINFO). = (CCE) The READUPDATELOCK[X] is successful. RECEIVEINFO (Superseded by FILE_GETRECEIVEINFO_) Obtains the four-word process ID, message tag, error recovery (sync ID), and request-related (file number, read count, and I/O type) information associated with the last message read from the $RECEIVE file. CALL RECEIVEINFO ( [ process-id ] ,[ message-tag ] ,[ sync-id ] ,[ filenum ] ,[ read-count ] ,[ iotype ] ); process-id, INT:ref:4 output message-tag, INT:ref:1 output sync-id, INT(32):ref:1 output filenum, INT:ref:1 output read-count, INT:ref:1 output iotype, INT:ref:1 output Guardian Programming Reference Summary for pTAL and TAL —522631-001 8 -6
  • 249.
    Procedure Calls Summary(R-Z) 0 Not a data message 1 Sender called WRITE 2 Sender called READ 3 Sender called WRITEREAD < (CCL) $RECEIVE is not open. = (CCE) RECEIVEINFO is successful. REFPARAM_BOUNDSCHECK_ Checks the validity of parameter addresses passed to the procedure that calls it. Bounds checking performed by the system is enough for most applications. This procedure, however, provides additional checks for those few applications that might need it. Primarily, REFPARAM_BOUNDSCHECK_ verifies that a specified memory area is valid for a specified type of access (read only or read/write). Optionally, it also verifies that the specified memory area does not overlap the part of the process stack occupied by the calling procedure and any of the procedures it calls. Note. This procedure is declared only in the EXTDECS0 file. error := REFPARAM_BOUNDSCHECK_ ( start-address ,area-length ,framestart ,flags ); error, INT returned value 0 No error. The procedure successfully executed; the specified memory area is in bounds. See “Considerations” for a discussion of what it means to be in bounds. 1 The specified memory area is out of bounds. Accessing the area might cause an addressing trap or system-generated nondeferrable signal. 2 The address is in a read-only area and the check was made for read/write access. The effect of attempting to write to the area depends on whether your process is a TNS/R native process or a TNS process: For a TNS/R native process, the system might deliver a nondeferrable signal to the process; for a TNS process, the write operation might not take effect. Guardian Programming Reference Summary for pTAL and TAL —522631-001 8 -7
  • 250.
    Procedure Calls Summary(R-Z) 3 The address area is in bounds in an extensible segment, but disk space for the extensible segment could not be allocated. If you try to write to this area, the effect depends on whether your process is a TNS process or a TNS/R native process: A TNS process might terminate with a “no memory available” trap (trap 12); a TNS/R native process might receive a SIGNOMEM signal. 4 The start-address parameter points to a location on the TOSSTACK, but the calling procedure is not executing on the TOSSTACK. This error can occur only on a TNS processor. 5 An absolute address was supplied in start-address for a TNS/R native process and flags.<14> was not set to allow this. start-address, STRING .EXT:ref* input area-length, INT(32):value input framestart, EXTADDR:value input flags, INT:value input <0:13> must be zero. <14> =0 specifies that absolute addressing is not allowed for TNS/R native processes. =1 allows absolute addressing even if REFPARAM_BOUNDSCHECK_ is called from a TNS/R native process. No checking is performed and REFPARAM_BOUNDSCHECK_ returns without error. <15> =0 checks the area for read/write access. =1 checks the area for read-only access. REFRESH (Superseded by DISK_REFRESH_) Writes control information to the associated physical disk volumes. error := REFRESH ( [ volname ] ); error, INT returned value volname, INT:ref:12 input REMOTEPROCESSORSTATUS Supplies the status of processor modules in a particular system in a network. status := REMOTEPROCESSORSTATUS ( sysnum ); Guardian Programming Reference Summary for pTAL and TAL —522631-001 8 -8
  • 251.
    Procedure Calls Summary(R-Z) status, INT(32) returned value sysnum, INT:value input REMOTETOSVERSION Provides an identifying letter and number indicating which version of the Guardian operating system is running on a remote system. tos-version := REMOTETOSVERSION [ ( sysid ) ]; tos-version, INT returned value <0:7> The uppercase ASCII letter that indicates system level: A TOS B 1.0 C 1.1 D 1.1 and Expand E 1.1 and Expand and TMF K Ann releases L Bnn releases M Cnn releases N Dnn releases P Fnn releases Q Gnn releases <8:15> The revision number of the system in binary format sysid, INT:value input RENAME (Superseded by FILE_RENAME_) Changes the name of a disk file that is open. If the file is temporary, assigning a name makes the file permanent. This procedure operates only on Guardian objects. CALL RENAME ( filenum ,new-name ); Guardian Programming Reference Summary for pTAL and TAL —522631-001 8 -9
  • 252.
    Procedure Calls Summary(R-Z) filenum, INT:value input new-name, INT:ref:12 input < (CCL) An error occurred (call FILEINFO). = (CCE) The RENAME is successful. > (CCG) The file is not a disk file. REPLY[X] Sends a reply to a message received earlier in a corresponding call to READUPDATE[X] on the $RECEIVE file. CALL REPLY[X] ( [ buffer ] ,[ write-count ] ,[ count-written ] ,[ message-tag ] ,[ error-return ] ); buffer, input INT:ref:* (Use with REPLY) STRING .EXT:ref:* (Use with REPLYX) write-count, INT:value input count-written, output INT:ref:1 (Use with REPLY) INT .EXT:ref:1 (Use with REPLYX) message-tag, INT:value input error-return, INT:value input File System Error Condition Code Setting 0 CCE (no error) 1-9 CCG (warning) 10-32767 CCL (error) Guardian Programming Reference Summary for pTAL and TAL —522631-001 8- 10
  • 253.
    Procedure Calls Summary(R-Z) < (CCL) An error occurred (call FILE_GETINFO_ or FILEINFO). = (CCE) The REPLY[X] is successful. > (CCG) A warning occurred (call FILE_GETINFO_ or FILEINFO). REPOSITION (Superseded by FILE_RESTOREPOSITION_) Positions a disk file to a saved position (the positioning information was saved by a call to the SAVEPOSITION procedure). CALL REPOSITION ( filenum ,positioning-block ); filenum, INT:value input positioning-block, INT:ref:* input < (CCL) An error occurred (call FILE_GETINFO_ or FILEINFO). = (CCE) REPOSITION is successful. > (CCG) The file is not a disk file. RESETSYNC Is used by the backup process of a process pair after a failure of the primary process. RESETSYNC resynchronizes any open files whose file sychronization blocks are not checkpointed after the most recent stack checkpoint, and clears a process pair’s file synchronization block. CALL RESETSYNC ( filenum ); filenum, INT:value input < (CCL) An error occurred (call FILEINFO). = (CCE) RESETSYNC is successful. > (CCG) The file is not a disk file. RESIZEPOOL (Superseded by POOL_CHECK_, POOL_DEFINE_, POOL_GETINFO_, POOL_GETSPACE_, POOL_PUTSPACE_, and POOL_RESIZE_) Changes the size of a pool that was initialized by the DEFINEPOOL procedure. Guardian Programming Reference Summary for pTAL and TAL —522631-001 8- 11
  • 254.
    Procedure Calls Summary(R-Z) error := RESIZEPOOL ( pool-head ,new-pool-size ); error, INT returned value 0 Successful call; the size of the specified pool had been changed to new-pool-size. 12 The call would shrink the pool too much, leaving less area than that reserved by GETPOOL; the reserved blocks must be returned by a PUTPOOL. 21 An invalid new-pool-size was specified. 22 One of the parameters specifies an address that is out of bounds. 29 A required parameter was not supplied. 59 The pool is invalid and cannot be resized. pool-head, INT .EXT:ref:19 input, output new-pool-size, INT(32):value input = (CCE) The pool was resized successfully; error contains 0. > (CCG) An error occurred; error contains the error value. RESIZESEGMENT Alters the size of an existing extended data segment (such as a segment created by ALLOCATESEGMENT), allowing nonprivileged users to conserve processor address space. error := RESIZESEGMENT ( segment-ID ,new-segment-size ); error, INT returned value -2 Unable to allocate segment space. -1 Unable to allocate page table space. 0 Successful call; the size of the specified extended segment has been changed to new- segment-size. 2 The seg-id parameter specified a nonexistent extended segment or the extended segment is of a type that may not be resized (see Considerations). 12 The extended segment is a shared segment and cannot be reduced, or the segment is currently being resized. Guardian Programming Reference Summary for pTAL and TAL —522631-001 8- 12
  • 255.
    Procedure Calls Summary(R-Z) 21 An invalid new-segment-size was specified. 24 The seg-id parameter specified a privileged segment ID (greater than 2047) and the caller was not privileged. 29 A required parameter was not supplied. 43 Disk space could not be allocated to accommodate the new-segment-size specified. 45 The existing permanent swap file for the extended segment is not large enough to back up the requested new-segment-size. segment-ID, INT:value input new-segment-size, INT(32):value input < (CCL) Indicates resource allocation failure. = (CCE) Indicates that the segment was resized successfully; error contains 0. > (CCG) Indicates that an error occurred; error contains the error value (the specified extended segment was unaffected). SAVEPOSITION (Superseded by FILE_SAVEPOSITION_) Saves a disk file’s current file-positioning information. The information is returned to the file system in a call to REPOSITION. CALL SAVEPOSITION ( filenum ,positioning-block ,[ positioning-blksize ] ); filenum, INT:value input positioning-block, INT:ref:* output positioning-blksize, INT:ref:1 output < (CCL) An error occurred (call FILEINFO). = (CCE) SAVEPOSITION is successful. > (CCG) The file is not a disk file. Guardian Programming Reference Summary for pTAL and TAL —522631-001 8- 13
  • 256.
    Procedure Calls Summary(R-Z) SEGMENT_ALLOCATE_ Allocates an extended data segment for use by the calling process. error := SEGMENT_ALLOCATE_ ( segment-id ,[ segment-size ] ,[ filename:length ] ,[ error-detail ] ,[ pin ] ,[ segment-type ] ,[ base-address ] ,[ max-size ] ,[ alloc-options ] ); error, INT returned value 0 No error. 1 File-system error related to the creation or open of filename;.error-detail contains the file-system error number. 2 Parameter error; error-detail contains the number of the first parameter found to be in error where 1 designates the first parameter on the left. 3 Bounds error; error-detail contains the number of the first parameter found to be in error where 1 designates the first parameter on the left. 4 Invalid segment-id. 5 Invalid segment-size. 6 Unable to allocate segment space. 7 Unable to allocate segment page table space. 8 Security violation when attempting to share segment. 9 The pin parameter does not exist. 10 The pin parameter does not have the segment allocated. 11 Caller is trying to share segment with self. 12 Requested shared segment is incompatible. 13 The segment-id parameter is already allocated by this process. 14 Unable to allocate process segment table (PST); error-detail contains the file- system error number. 15 Part or all of the requested address range has already been allocated. segment-id INT:value input segment-size INT(32):value input filename:length STRING .EXT:ref:* INT:value input:input Guardian Programming Reference Summary for pTAL and TAL —522631-001 8- 14
  • 257.
    Procedure Calls Summary(R-Z) error-detail INT .EXT:ref:1 output pin INT:value input segment-type INT:value input base-address INT(32) .EXT:ref:1 output max-size INT(32):value input alloc-options INT:value input <0:13> Reserved (specify 0) <14> =0 Allocate a selectable segment. =1 Allocate a flat segment. If not running on a system that supports flat segments allocate a selectable segment. <15> =0 Return the base-address in the base address parameter. =1 Allocate a flat segment starting at the address specified in the base- address parameter. Bit <14> must also be set to 1. If not running on a system that supports flat segments, allocate a selectable segment starting at the base address%000000D (%H00080000). SEGMENT_ALLOCATE_CHKPT_ Is called by a primary process to allocate an extended data segment for use by its backup process. error := SEGMENT_ALLOCATE_CHKPT_ ( segment-id ,[ filename:length ] ,[ error-detail ] ,[ pin ] ); error, INT returned value segment-id, INT:value input filename:length, STRING .EXT:ref:*,INT:value input:input error-detail, INT .EXT:ref:1 output pin, INT:value input SEGMENT_DEALLOCATE_ Deallocates an extended data segment. error := SEGMENT_DEALLOCATE_ ( segment-id ,[ flags ] ,[ error-detail ] ); Guardian Programming Reference Summary for pTAL and TAL —522631-001 8- 15
  • 258.
    Procedure Calls Summary(R-Z) error, INT returned value 0 Segment successfully deallocated. 1 Segment deallocated, but an I/O error occurred when writing to the segment's permanent swap file; error-detail contains the file-system error number. 2 Parameter error; error-detail contains the number of the first parameter found to be in error, where 1 designates the first parameter on the left. 3 Bounds error. 4 Segment not deallocated; error-detail contains the reason for failure. segment-id, INT:value input flags, INT:value input <0:14> Reserved (specify 0) <15> = 1 Dirty pages in memory are not to be written to the swap file. = 0 Dirty pages in memory are to be written to the swap file. error-detail, INT .EXT:ref:1 output SEGMENT_DEALLOCATE_CHKPT_ Is called by a primary process to deallocate an extended data segment in its backup process. error := SEGMENT_DEALLOCATE_CHKPT_ ( segment-id ,[ flags ] ,[ error-detail ] ); error, INT returned value 0 Segment successfully deallocated. 1 Segment deallocated, but an I/O error occurred when writing to the segment's permanent swap file; error-detail contains the file-system error number. 2 Parameter error; error-detail contains the number of the first parameter found to be in error, where 1 designates the first parameter on the left. 3 Bounds error. 4 Segment not deallocated; error-detail contains the reason for failure. Guardian Programming Reference Summary for pTAL and TAL —522631-001 8- 16
  • 259.
    Procedure Calls Summary(R-Z) segment-id, INT:value input flags, INT:value input <0:14> Reserved (specify 0) <15> = 1 Dirty pages in memory are not to be written to the swap file. = 0 Dirty pages in memory are to be written to the swap file. error-detail, INT .EXT:ref:1 output SEGMENT_GETBACKUPINFO_ Retrieves information about an extended segment that is allocated by the backup process in a named process pair. error := SEGMENT_GETBACKUPINFO_ ( segment-id ,[ segment-size ] ,[ filename:maxlen ] ,[ filename-len ] ,[ error-detail ] ,[ base-address ] ); error, INT returned value 0 No error. 1 Error occurred when attempting to obtain filename; error-detail contains the file-system error number. 2 Parameter error; error-detail contains the number of the first parameter found to be in error, where 1 designates the first parameter on the left. 3 Bounds error; error-detail contains the number of the first parameter found to be in error, where 1 designates the first parameter on the left. 4 The value of segment-id is out of range. 5 The value of segment-id is in range but is not allocated by caller. 6 Information not obtained; error-detail contains the reason for failure. segment-id, INT:value input segment-size, INT(32) .EXT:ref:1 output filename:maxlen, STRING .EXT:ref:*,INT:value output:input Guardian Programming Reference Summary for pTAL and TAL —522631-001 8- 17
  • 260.
    Procedure Calls Summary(R-Z) filename-len, INT .EXT:ref:1 output error-detail, INT .EXT:ref:1 output base-address, INT(32) .EXT:ref:1 output SEGMENT_GETINFO_ Retrieves information about a currently allocated extended segment. error := SEGMENT_GETINFO_ ( segment-id ,[ segment-size ] ,[ filename:maxlen ] ,[ filename-len ] ,[ error-detail ] ,[ base-address ] ,[ usage-flags ] ); error, INT returned value 0 No error. 1 Error occurred when attempting to obtain filename; error-detail contains the file-system error number. 2 Parameter error; error-detail contains the number of the first parameter found to be in error, where 1 designates the first parameter on the left. 3 Bounds error; error-detail contains the number of the first parameter found to be in error, where 1 designates the first parameter on the left. 4 The value of segment-id is out of range. 5 The value of segment-id is in range but is not allocated by caller. segment-id, INT:value input segment-size, INT(32) .EXT:ref:1 output filename:maxlen, STRING .EXT:ref:*,INT:value output:input filename-len, INT .EXT:ref:1 output error-detail, INT .EXT:ref:1 output base-address, INT(32) .EXT:ref:1 output usage-flags, INT .EXT:ref:1 output The bits, when set to 1, indicate the following: Guardian Programming Reference Summary for pTAL and TAL —522631-001 8- 18
  • 261.
    Procedure Calls Summary(R-Z) <0:8> (Bits are reserved; 0 is returned) <9> Segment is a flat segment. <10> Segment is a resident cache segment. <11> Segment is a shared segment. <12> Segment is the currently in-use segment for the process. <13> Segment is writeback-inhibit. Changes made to the segment are not written to the swap files. <14> Segment is extensible. <15> Segment is resident. SEGMENT_USE_ Selects a particular extended data segment to be currently addressable by the calling process. error := SEGMENT_USE_ ( new-segment-id ,[ old-segment-id ] ,[ base-address ] ,[ error-detail ] ); error, INT returned value 0 No error. 3 Bounds error; error-detail contains the number of the first parameter found to be in error, where 1 designates the first parameter on the left. 4 The value of new-segment-id is not allocated. 5 The value of new-segment-id is out of range. new-segment-id, INT:value input old-segment-id, INT .EXT:ref:1 input base-address, INT(32) .EXT:ref:1 output error-detail, INT .EXT:ref:1 output Guardian Programming Reference Summary for pTAL and TAL —522631-001 8- 19
  • 262.
    Procedure Calls Summary(R-Z) SEGMENTSIZE (Superseded by SEGMENT_GETBACKUPINFO_ and SEGMENT_GETINFO_) Returns the size of the specified segment in bytes. seg-size := SEGMENTSIZE ( segment-id ); seg-size, INT(32) returned value segment-id, INT:value input SENDBREAKMESSAGE (Superseded by BREAKMESSAGE_SEND_) Allows user processes to send BREAK messages to other processes. error := SENDBREAKMESSAGE ( process-id ,[ breaktag ] ); error, INT returned value process-id, INT .EXT:ref:4 input breaktag, INT .EXT:ref:2 input SET^FILE Alters file characteristics and checks the old value of those characteristics it is changing. SET^FILE is a sequential I/O (SIO) procedure and can be used only with files that have been opened by OPEN^FILE. error := SET^FILE ( { common-fcb } { file-fcb } ,operation ,[ new-value ] ,[ old-value ] ); error, INT returned value common-fcb, INT:ref:* input file-fcb, INT:ref:* input operation, INT:value input new-value, INT:value input old-value, INT:ref:* output Guardian Programming Reference Summary for pTAL and TAL —522631-001 8- 20
  • 263.
    Procedure Calls Summary(R-Z) Note. For more information, please see Section 10, SET^FILE Operations. SETJMP_ Saves process context in a jump buffer. This context is used when a nonlocal goto is performed by a corresponding call to the LONGJMP_ procedure. ?SOURCE $SYSTEM.SYSTEM.HSETJMP retval := SETJMP_ ( env ); ! o retval INT(32) returned value 0D Indicates that the SETJMP_ procedure was called directly. <>0D Indicates that the SETJMP_ procedure is returning as a result of a call to the LONGJMP_ procedure. The returned value is specified by LONGJMP_. env, INT .EXT:ref:(JMP_BUF_TEMPLATE) output SETLOOPTIMER Aborts the caller if the caller begins looping (malfunctioning), and permits the caller to calculate the amount of processor time it has used. CALL SETLOOPTIMER ( new-time-limit ,[ old-time-limit ] ); new-time-limit, INT:value input old-time-limit, INT:ref:1 output < (CCL) The new-time-limit parameter is omitted or is specified as a negative value. The state of process loop timing and the setting of the process’s loop timer are unchanged. = (CCE) The new-time-limit value is set into the process’s loop timer and that loop timing is enabled. Guardian Programming Reference Summary for pTAL and TAL —522631-001 8- 21
  • 264.
    Procedure Calls Summary(R-Z) SETMODE Sets device-dependent functions. CALL SETMODE ( filenum ,function ,[ param1 ] ,[ param2 ] ,[ last-params ] ); filenum, INT:value input function, INT:value input param1, INT:value input param2, INT:value input last-params, INT:ref:2 output < (CCL) An error occurred (call FILEINFO). = (CCE) The SETMODE is successful. > (CCG) The SETMODE function is not allowed for this device type. Note. For more information, please see Section 11, SETMODE Operations. SETMODENOWAIT Sets device-dependent functions with the nowait option on nowait files. CALL SETMODENOWAIT ( filenum ,function ,[ param1 ] ,[ param2 ] ,[ last-params ] ,[ tag ] ); filenum, INT:value input function, INT:value input param1, INT:value input param2, INT:value input last-params, INT:ref:2 output tag, INT(32):value input Guardian Programming Reference Summary for pTAL and TAL —522631-001 8- 22
  • 265.
    Procedure Calls Summary(R-Z) < (CCL) An error occurred (call FILEINFO). = (CCE) The SETMODENOWAIT is successful. > (CCG) The SETMODENOWAIT function is not allowed for this device type. SETMYTERM (Superseded by PROCESS_SETINFO_) Permits a process to change the terminal it uses as its home terminal. CALL SETMYTERM ( terminal-name ); terminal-name, INT:ref:12 input < (CCL) The terminal cannot be reassigned, terminal-name is invalid, or terminal- name is not a terminal or a named process. = (CCE) The SETMYTERM is successful. SETPARAM Sets and fetches various values such as the station characteristics of network addresses. CALL SETPARAM ( filenum ,function ,[ param-array ] ,[ param-count ] ,[ last-param-array ] ,[ last-param-count ] ,[ nowait-tag ] ); filenum, INT:value input function, INT:value input 1 Set or fetch a remote data terminal equipment address. 2 Set or fetch the clear cause or diagnostic bytes. 3 Set or fetch parameters for BREAK handling. 4 Set or fetch the reset cause or diagnostic bytes. 5 Fetch the restart cause or diagnostic bytes. 6 Set or fetch the 6520 and 6530 block-mode, terminal-error counters. Guardian Programming Reference Summary for pTAL and TAL —522631-001 8- 23
  • 266.
    Procedure Calls Summary(R-Z) 7 Set or override the closed user’s group (CUG) number to be used in the next call- request packet. 8 Set or fetch the protocol ID field in the outgoing call-request packet. 9 Fetch the reason why circuit disconnected, and learn the current link status. 20 Reset and retrieve the called data-terminal equipment (DTE) address buffer. 21 Provide a count of the number of 64-byte segments that can be sent and received by a subdevice. 22 Access the Level 4 ITI-protocol, block-mode timer. 153 Fetch the 4-byte SNA sense code and the 4-byte exception response identification number (use only when SNAX exception response mode is enabled). param-array, INT:ref:* input param-count, INT:value input last-param-array, INT:ref:* output last-param-count, INT:ref:1 output nowait-tag, INT(32):ref:1 input < (CCL) An error occurred (call FILEINFO). = (CCE) The SETPARAM is successful. > (CCG) The SETPARAM function is not allowed for this device type. SETSTOP Indicates how a process may be stopped. last-stop-mode := SETSTOP ( stop-mode ); last-stop-mode, INT returned value stop-mode, INT:value input 0 Stoppable by any process. 1 Stoppable only by the super ID (255,255) , a process whose process access ID equals this process’s creator access ID (CAID) or the CAID group manager, or a process whose process access ID equals this process’s process access ID (PAID) or the PAID group manager. 2 Unstoppable by any other process; this mode is available to privileged users only. Guardian Programming Reference Summary for pTAL and TAL —522631-001 8- 24
  • 267.
    Procedure Calls Summary(R-Z) SETSYNCINFO (Superseded by FILE_SETSYNCINFO_) Is used by the backup process of a process pair to pass the process pair’s latest synchronization block to the file system. CALL SETSYNCINFO ( filenum ,sync-block ); filenum, INT:value input sync-block, INT:ref:* input < (CCL) An error occurred (call FILEINFO). = (CCE) SETSYNCINFO is successful. > (CCG) The file is not a disk file. SETSYSTEMCLOCK Changes the system clock if you are a super-group ID (255,255). CALL SETSYSTEMCLOCK ( julian-gmt ,mode ,[ tuid ] ); julian-gmt, FIXED input mode, INT:value input 0 Absolute GMT, the source is operator input. 1 Absolute GMT, the source is the hardware clock. 2 Relative GMT, the source is operator input. 3 Relative GMT, the source is the hardware clock. tuid, INT:value input < (CCL) Insufficient capability = (CCE) SETSYSTEMCLOCK was successful. > (CCG) There is a mismatch with tuid; retry after redetermining the relative error. Guardian Programming Reference Summary for pTAL and TAL —522631-001 8- 25
  • 268.
    Procedure Calls Summary(R-Z) SHIFTSTRING (Superseded by STRING_UPSHIFT_) Puts all the alphabetic characters in a string in lowercase or uppercase. Nonalphabetic characters remain unchanged. CALL SHIFTSTRING ( string ,count ,casebit ); string, STRING:ref:* input, output count, INT:value input casebit, INT:value input <15> = 0 Puts the specified string in uppercase. = 1 Puts the specified string in lowercase. SIGACTION_ Note. This procedure can be called only from TNS/R native processes. Is the pTAL procedure name for the C sigaction() function. See the $SYSTEM.SYSTEM.HSIGNAL header file for the pTAL prototype definitions. For a discussion of each parameter and procedure considerations, see the sigaction(2) function reference page either online or in the Open System Services System Calls Reference Manual. SIGACTION_INIT_ Establishes the caller’s initial state of signal handling if default handling is not desired. Note. This procedure can be called only from TNS/R native processes. ?SOURCE $SYSTEM.SYSTEM.HTDMSIG error := SIGACTION_INIT_ ( handler ); error (INT32) returned value 0D Indicates a successful outcome. -1D Indicates an error. The reason for the error is given in the errno variable. Use the ERRNO_GET_ procedure to obtain the value of errno in a pTAL program. Guardian Programming Reference Summary for pTAL and TAL —522631-001 8- 26
  • 269.
    Procedure Calls Summary(R-Z) handler, PROCADDR:ref:1 input SIGACTION_RESTORE_ Note. This procedure can be called only from TNS/R native processes. Restores the signal-handling state saved by a previous call to the SIGACTION_SUPPLANT_ procedure. ?SOURCE $SYSTEM.SYSTEM.HTDMSIG error := SIGACTION_RESTORE_ ( signal-buffer ); error, INT(32) returned value 0D Indicates a successful outcome. -1D Indicates an error. The reason for the error is given in the errno variable: FE_EFAULT The address in signal-buffer is invalid. FE_EINVAL The content of the signal-buffer contains invalid data or SIGACTION_SUPPLANT_ was not called. signal-buffer, INT.EXT:ref:(SIG_SAVE_TEMPLATE) input SIGACTION_SUPPLANT_ Note. This procedure can be called only from TNS/R native processes. Allows a subsystem (such as a shared run-time library) to take over signal handling temporarily. ?SOURCE $SYSTEM.SYSTEM.HTDMSIG error := SIGACTION_SUPPLANT_ ( handler ,signal-buffer ,length ); error, INT(32) returned value Guardian Programming Reference Summary for pTAL and TAL —522631-001 8- 27
  • 270.
    Procedure Calls Summary(R-Z) 0D indicates a successful outcome -1D indicates an error. The reason for the error is given in the errno variable: FE_EFAULT The address in signal-buffer is out of bounds. FE_EINVAL SIG_ The IGN or SIG_ERR is passed to the handler. FE_ERANGE The value of length is less than the minimum required. Use the ERRNO_GET_ procedure to obtain the value of errno in a Guardian process. handler, PROCADDR:value input signal-buffer, INT .EXT:ref:* output length, INT:value input SIGADDSET_ SIGDELSET_ SIGEMPTYSET_ SIGFILLSET_ SIGISMEMBER_ These procedure names are the pTAL names for the corresponding C functions: Procedure Name Corresponding C Function SIGADDSET_ sigaddset() SIGDELSET_ sigdelset() SIGEMPTYSET_ sigemptyset() SIGFILLSET_ sigfillset() SIGISMEMBER_ sigismember() See the $SYSTEM.SYSTEM.HSIGNAL header file for the pTAL prototype definitions. For a discussion of each parameter and procedure considerations, see the corresponding sigaddset(3), sigdelset(3), sigemptyset(3), sigfillset(3), and sigismember(3) function reference pages either online or in the Open System Services Library Calls Reference Manual. Note. These procedures can be called only from TNS/R native processes. Guardian Programming Reference Summary for pTAL and TAL —522631-001 8- 28
  • 271.
    Procedure Calls Summary(R-Z) SIGJMP_MASKSET_ Saves a signal mask in a jump buffer that has already been initialized by the SIGSETJMP_ procedure. Note. This procedure can be called only from TNS/R native processes. ?SOURCE $SYSTEM.SYSTEM.HTDMSIG error := SIGJMP_MASKSET_ ( env ,signal-mask ); error, INT(32) returned value 0D Indicates a successful outcome. -1D Indicates an error. The reason for the error is given in the errno variable: FE_EINVAL The jump buffer has not been initialized. Use the ERRNO_GET_ procedure to obtain the value of errno in a Guardian process. env, INT .EXT:ref:(SIGJMP_BUF_TEMPLATE) input, output signal-mask, INT .EXT:ref:(SIGSET_T) input SIGLONGJMP_ Performs a nonlocal goto. It restores the state of the calling process using context saved in a jump buffer by the SIGSETJMP_ procedure. Control returns to the location of the corresponding SIGSETJMP_ procedure call. Note. This procedure can be called only from TNS/R native processes. ?SOURCE $SYSTEM.SYSTEM.HSETJMP SIGLONGJMP_ ( env ,value ); env, INT .EXT:ref:(SIGJMP_BUF_TEMPLATE) input value, INT(32):value input Guardian Programming Reference Summary for pTAL and TAL —522631-001 8- 29
  • 272.
    Procedure Calls Summary(R-Z) SIGNAL_ SIGNAL_ is the pTAL procedure name for the C signal() function. See the $SYSTEM.SYSTEM.HSIGNAL header file for the pTAL prototype definitions. For a discussion of each parameter and procedure considerations, see the signal(3) function reference page either online or in the Open System Services Library Calls Reference Manual. Note. This procedure can be called only from TNS/R native processes. SIGNALPROCESSTIMEOUT Sets a timer based on process execution time. When the time expires, the calling process receives a system message on $RECEIVE. CALL SIGNALPROCESSTIMEOUT ( timeout-value ,[ param1 ] ,[ param2 ] ,[ tag ] ); timeout-value, INT(32):value input param1, INT:value input param2, INT(32):value input tag, INT(32):ref:1 output < (CCL) SIGNALPROCESSTIMEOUT cannot allocate a time-list element (TLE). = (CCE) SIGNALPROCESSTIMEOUT is successful. > (CCG) The given timeout value is illegal, or there is a bounds error on tag. SIGNALTIMEOUT Sets a timer to a given number of units of elapsed time. CALL SIGNALTIMEOUT ( timeout-value ,[ param1 ] ,[ param2 ] ,[ tag ] ); timeout-value, INT(32):value input Guardian Programming Reference Summary for pTAL and TAL —522631-001 8- 30
  • 273.
    Procedure Calls Summary(R-Z) param1, INT:value input param2, INT(32):value input tag, INT:ref:1 output < (CCL) SIGNALTIMEOUT cannot allocate a time-list element (TLE). = (CCE) SIGNALTIMEOUT finished successfully. > (CCG) The given timeout value is illegal. SIGPENDING_ SIGPENDING_ is the pTAL procedure name for the C sigpending() function. See the $SYSTEM.SYSTEM.HSIGNAL header file for the pTAL prototype definitions. For a discussion of each parameter and procedure considerations, see the sigpending(2) function reference page either online or in the Open System Services System Calls Reference Manual. Note. This procedure can be called only from TNS/R native processes. SIGPROCMASK_ SIGPROCMASK_ is the pTAL procedure name for the C sigprocmask() function. See the $SYSTEM.SYSTEM.HSIGNAL header file for the pTAL prototype definitions. For a discussion of each parameter and procedure considerations, see the sigprocmask(2) function reference page either online or in the Open System Services System Calls Reference Manual. Note. This procedure can be called only from TNS/R native processes. SIGSETJMP_ Saves process context in a jump buffer. This context is used when a nonlocal goto is performed by a corresponding call to the SIGLONGJMP_ procedure. Optionally, this procedure also saves the current signal mask. Note. This procedure can be called only from TNS/R native processes. ?SOURCE $SYSTEM.SYSTEM.HSETJMP retval := SIGSETJMP_ ( env ,mask ); retval, INT(32) returned value Guardian Programming Reference Summary for pTAL and TAL —522631-001 8- 31
  • 274.
    Procedure Calls Summary(R-Z) 0D Indicates that the SIGSETJMP_ procedure was called directly. <>0D Indicates that SIGSETJMP_ is returning as a result of a call to the SIGLONGJMP_ procedure. The returned value is specified by SIGLONGJMP_. env, INT .EXT:ref:(SIGJMP_BUF_TEMPLATE) output mask, INT(32):value input 0D Specifies that the current signal mask is not to be saved. <>0D Specifies that the current signal mask is to be saved. This mask is reinstated by a corresponding call to the SIGLONGJMP_ procedure. SIGSUSPEND_ SIGSUSPEND_ is the pTAL procedure name for the C sigsuspend() function. The C sigsuspend() function complies with the POSIX.1 standard. See the $SYSTEM.SYSTEM.HSIGNAL header file for the pTAL prototype definitions. For a discussion of each parameter and procedure considerations, see the sigsuspend(2) function reference page either online or in the Open System Services System Calls Reference Manual. Note. This procedure can be called only from TNS/R native processes. STEPMOM (Superseded by PROCESS_SETINFO_) Allows a process to receive process STOP or ABEND messages for a process it did not create. CALL STEPMOM ( process-id ); process-id, INT:ref:4 input < (CCL) STEPMOM failed, or no process is designated as process-id. = (CCE) The caller is now the creator (MOM) of process-id. Guardian Programming Reference Summary for pTAL and TAL —522631-001 8- 32
  • 275.
    Procedure Calls Summary(R-Z) STOP (Superseded by PROCESS_STOP_) Deletes a process or a process pair and signals that the deletion was caused by a normal condition. (A STOP system message is sent to the deleted process’s creator.) CALL STOP ( [ process-id ] ,[ stop-backup ] ,[ error ] ,[ compl-code ] ,[ termination-info ] ,[ spi-ssid ] ,[ length ] ,[ text ] ); process-id, INT:ref:4 input stop-backup, INT:value input error, INT:ref:1 output compl-code, INT:value input termination-info, INT:value input spi-ssid, INT .EXT:ref:6 input length, INT:value input text, STRING.EXT:ref:length input < (CCL) The process-id parameter is invalid, or an error occurred while stopping the process. = (CCE) STOP was successful. STRING_UPSHIFT_ Changes all the alphabetic characters in a string to uppercase. error := STRING_UPSHIFT_ ( in-string:length ,out-string:maxlen ); error, INT returned value 0 Operation successful. 1 Reserved. Guardian Programming Reference Summary for pTAL and TAL —522631-001 8- 33
  • 276.
    Procedure Calls Summary(R-Z) 2 Parameter error. 3 Bounds error. 4 String too large to fit in out-string. in-string:length,STRING .EXT:ref:*,INT:value input:input out-string:maxlen, STRING .EXT:ref:*,INT:value output:input SUSPENDPROCESS (Superseded by PROCESS_SUSPEND_) Puts a process or process pair into the suspended state. CALL SUSPENDPROCESS ( process-id ); process-id, INT:ref:4 input < (CCL) SUSPENDPROCESS failed, or process-id does not exist. = (CCE) The process-id parameter is suspended. SYSTEMENTRYPOINT_RISC_ The SYSTEMENTRYPOINT_RISC_ procedure, which is defined only for TNS/R processes, returns either the 32-bit RISC address of the named entry point or, if not found, the value zero. Note. pTAL syntax for this procedure is declared only in the EXTDECS0 file. risc-addr := SYSTEMENTRYPOINT_RISC_ ( name ,len ); risc-addr, EXTADDR returned value name, STRING .EXT:ref:* input len, INT:value input Guardian Programming Reference Summary for pTAL and TAL —522631-001 8- 34
  • 277.
    Procedure Calls Summary(R-Z) SYSTEMENTRYPOINTLABEL Returns either the procedure label of the named entry point or a zero if no label is found. label := SYSTEMENTRYPOINTLABEL ( name ,len ); label, INT returned value name, STRING:ref:* input len, INT:value input TAKE^BREAK Enables BREAK monitoring for a file. TAKE^BREAK is a sequential I/O (SIO) procedure and can be used only with files that have been opened by OPEN^FILE. error := TAKE^BREAK ( file-fcb ); error, INT returned value file-fcb, INT:ref:* input TEXTTOSSID Scans a character string, expecting to find the external representation of a subsystem ID starting in the first byte (no leading spaces accepted). It returns the internal representation of the subsystem ID it finds. len := TEXTTOSSID ( chars ,ssid ,[ status ] ); len, INT returned value chars, STRING .EXT:ref:* input ssid, INT .EXT:ref:6 output status, INT(32) .EXT:ref:1 output Guardian Programming Reference Summary for pTAL and TAL —522631-001 8- 35
  • 278.
    Procedure Calls Summary(R-Z) TIME Provides the current date and time in integer form. CALL TIME ( date-and-time ); date-and-time, INT:ref:7 output [0] year (yyyy). [1] month (1-12). [2] day (1-31). [3] hour (0-23). [4] minute (0-59). [5] second (0-59). [6] 0.01 sec (0-99). TIMESTAMP Provides the internal form of the processor interval clock where the application is running. CALL TIMESTAMP ( interval-clock ); interval-clock, INT:ref:3 output TOSVERSION Provides an identifying letter and number indicating which version of the Guardian operating system is running. version := TOSVERSION; version, INT returned value <0:7> An uppercase ASCII letter indicating the system level: A TOS B 1.0 C 1.1 Guardian Programming Reference Summary for pTAL and TAL —522631-001 8- 36
  • 279.
    Procedure Calls Summary(R-Z) D 1.1 + Expand E 1.1 + Expand + TMF K Ann releases L Bnn releases M Cnn releases N Dnn releases P Fnn releases Q Gnn releases <8:15> The revision number of the system in binary format UNLOCKFILE Unlocks a disk file and any records in the file that are currently locked by the caller. CALL UNLOCKFILE ( filenum ,[ tag ] ); filenum, INT:value input tag, INT(32):value input < (CCL) An error occurred (call FILEINFO). = (CCE) UNLOCKFILE was successful. > (CCG) The file is not a disk file. UNLOCKREC Unlocks a record currently locked by the caller. CALL UNLOCKREC ( filenum ,[ tag ] ); filenum, INT:value input tag, INT(32):value input < (CCL) An error occurred (call FILEINFO). = (CCE) The UNLOCKREC is successful. > (CCG) The file is not a disk file. Guardian Programming Reference Summary for pTAL and TAL —522631-001 8- 37
  • 280.
    Procedure Calls Summary(R-Z) UNPACKEDIT Converts a line image from EDIT packed line format into unpacked format. UNPACKEDIT is an IOEdit procedure and can be used only with files that have been opened by OPENEDIT or OPENEDIT_. UNPACKEDIT ( packed-line ,packed-length ,unpacked-line ,unpacked-limit ,unpacked-length ,[ spacefill ] ,[ full-length ] ); packed-line, STRING .EXT:ref:* input packed-length, INT:value input unpacked-line, STRING .EXT:ref:* output unpacked-limit, INT:value input unpacked-length, INT .EXT:ref:1 output spacefill, INT:value input full-length, INT:value input USER_AUTHENTICATE_ Verifies that a user exists and optionally logs on the user. This procedure should be called in a dialog mode to allow a dialog between the security mechanism and the user. error := USER_AUTHENTICATE_ ( inputtext:inputtext-len ,[ options ] ,[ dialog-id ] ,[ status ] ,[ status-flags ] ,[ displaytext:displaytext-maxlen ] ,[ displaytext-len ] ,[ cmon-timeout ] ,[ termname:termname-len ] ,[ volsubvol:volsubvol-maxlen ] ,[ volsubvol-len ] ,[ initdir:initdir-maxlen ] ,[ initdir-len ] ,[ initprog:initprog-maxlen ] ,[ initprog-len ] ,[ initprog-type ] ,[ last-logon-time ] ,[ time-password-expires ]); Guardian Programming Reference Summary for pTAL and TAL —522631-001 8- 38
  • 281.
    Procedure Calls Summary(R-Z) error, INT returned value 0 No error. 13 Invalid termname parameter. 22 Parameter out of bounds. An input parameter is not within the valid range, or return information does not fit into the length of the space provided, or an output parameter overlays the stack marker that was created by calling this procedure. 29 Missing parameter. Either this procedure is called without specifying inputtext:inputtext-len, or a parameter required by another parameter is not specified. 48 Security violation. The user specified in inputtext:inputtext-len is undefined, or an error occurred during a dialog with Safeguard. 70 Continue dialog. See the status parameter for detailed information on how to set the inputttext parameter in the next call to USER_AUTHENTICATE_. 160 Invalid dialog-id parameter, invalid protocol, or dialog has exceeded two minutes. 563 The text to be returned in the displaytext parameter is longer than the length specified by the displaytext-maxlen parameter. inputtext:inputtext-len, STRING .EXT:ref:*,INT:value input:input options, INT:value input <0:7> Reserved (specify 0). <8> Echo is disabled by the caller (with a SETMODE 20) for password input. <9> Send $CMON the Prelogon^msg message (-59). <10> Send $CMON the Logon^msg message (-50). <11> Do not allow the super ID (255,255) to log on. <12> Do not allow a logon with a Guardian user ID. <13> Require blind logon. <14> Do not log on if $CMON has an error or timeout. <15> Log on and update the process's attributes to reflect the user's attributes. dialog-id, FIXED .EXT:ref:1 input, output status, INT .EXT:ref:1 output Values returned for error = 0: Guardian Programming Reference Summary for pTAL and TAL —522631-001 8- 39
  • 282.
    Procedure Calls Summary(R-Z) status Description 0 No status. 8 Password is valid but it is about to expire. Caller should return caution message. Values returned for error = 48: status Description 1 User does not exist or password is incorrect. 2 Cannot authenticate with Guardian user ID because options bit 12 is set to 1. 3 $CMON rejected logon. 5 Authentication record frozen. 6 Authentication record expired. 10 Password expired: user cannot log on. 13 Password change request: new password is too short. New password is rejected. 14 Password change request: new password is too long. New password is rejected. 15 Password change request: new password does not conform to password history (password cannot be reused). New password is rejected. 16 Password change request: new password does not conform to password quality. New password is rejected. 17 Password change request: new password contains blank characters. New password is rejected. 18 Password change request: new password is not verified. The first new password provided is not the same as the second new password provided. 19 Password change request: change cannot be made during the allowed time period. Password change request is rejected. 20 Password change request: change is denied due to a system error. Retry later. 21 Cannot authenticate the super ID (255,255) because options bit 11 is set to 1. Guardian Programming Reference Summary for pTAL and TAL —522631-001 8- 40
  • 283.
    Procedure Calls Summary(R-Z) Values returned for error = 70: status Description 4 Caller should set inputtext to a password in the next call to USER_AUTHENTICATE_ to either log on or begin a password change. 9 Caller should set inputtext to a password in the next call to USER_AUTHENTICATE_ to change the password. 11 Caller must set inputtext to a password in the next call to USER_AUTHENTICATE_ to change the password, because the password has expired but the grace period is in effect. If the password is not changed, the user is not authenticated or logged on. 12 Caller should set inputtext to a new password in the next call to USER_AUTHENTICATE_ to verify the new password. status-flags, INT.EXT:ref:1 output <0:14> Reserved. <15> Caller should disable echo (with a SETMODE 20) for password input before the next call during this dialog with USER_AUTHENTICATE_. displaytext:displaytext-maxlen, STRING output:input .EXT:ref:*,INT:value displaytext-len, INT .EXT:ref:1 output cmon-timeout, INT:value input termname:termname-len, STRING .EXT:ref:*,INT:value input:input volsubvol:volsubvol-maxlen, STRING .EXT:ref:*,INT:value output:input volsubvol-len, INT .EXT:ref:1 output initdir:initdir-maxlen, STRING .EXT:ref:*,INT:value output:input initdir-len, INT .EXT:ref:1 output initprog:initprog-maxlen, STRING .EXT:ref:*,INT:value output:input initprog-len, INT .EXT:ref:1 output initprog-type, INT .EXT:ref:1 output last-logon-time, FIXED .EXT:ref:1 output time-password-expires, FIXED .EXT:ref:1 output Guardian Programming Reference Summary for pTAL and TAL —522631-001 8- 41
  • 284.
    Procedure Calls Summary(R-Z) USER_GETINFO_ Returns the default attributes of the specified user. The user can be identified by user name; by Guardian user ID; or, if Safeguard is running, by alias. error := USER_GETINFO_ ( [ user-name:user-maxlen ] ,[ user-curlen ] ,[ user-id ] ,[ is-alias ] ,[ group-count ] ,[ group-list ] ,[ primary-group ] ,[ volsubvol:volsubvol-maxlen ] ,[ volsubvol-len ] ,[ initdir:initdir-maxlen ] ,[ initdir-len ] ,[ initprog:initprog-maxlen ] ,[ initprog-len ] ,[ default-security ]); error, INT returned value 0 No error. Default user information is returned as requested. 11 Record not in use. The specified group name or group ID is undefined. 22 Parameter out of bounds. An input parameter is not within the valid range, or return information does not fit into the length of the space provided, or an output parameter overlays the stack marker that was created by calling this procedure. 29 Missing parameter. This procedure was called without specifying a required parameter. 590 Bad parameter value. The value specified in user-curlen is greater than the value specified in user-maxlen, or the value specified in user-curlen is not within the valid range, or the value specified in user-id is not within the valid range. user-name:user-maxlen, STRING .EXT:ref:*,INT:value input, output:input user-curlen, INT .EXT:ref:1 input, output user-id, INT(32) .EXT:ref:1 input, output is-alias, INT .EXT:ref:1 output group-count, INT .EXT:ref:1 output group-list, INT(32) .EXT:ref:32 output primary-group, INT(32) .EXT:ref:1 output volsubvol:volsubvol-maxlen, STRING .EXT:ref:*,INT:value output:input volsubvol-len, INT .EXT:ref:1 output initdir:initdir-maxlen, STRING .EXT:ref:*,INT:value output:input Guardian Programming Reference Summary for pTAL and TAL —522631-001 8- 42
  • 285.
    Procedure Calls Summary(R-Z) initdir-len, INT .EXT:ref:1 output initprog:initprog-maxlen, STRING .EXT:ref:*,INT:value output:input initprog-len, INT .EXT:ref:1 output default-security, INT .EXT:ref:1 output <0:3> reserved <4:6> read <7:9> write <10:12> execute <13:15> purge where the legitimate fields are encoded with numbers that represent the following information: 0 = A (any local user) 1 = G (any local group member) 2 = O (only the local owner) 3 = not used 4 = N (any network user) 5 = C (any network group/community user) 6 = U (only the network owner) 7 = - (only the local super ID (255,255)) USER_GETNEXT_ Returns the next user name or alias in the order in which it is stored by the security mechanism in effect. On successive calls, all user names and aliases can be obtained. error := USER_GETNEXT_ ( user-name:user-maxlen ,user-curlen ,is-alias ); error, INT returned value 0 No error. 11 Record not in use. The specified user name is undefined. Guardian Programming Reference Summary for pTAL and TAL —522631-001 8- 43
  • 286.
    Procedure Calls Summary(R-Z) 22 Parameter out of bounds. An input parameter is not within the valid range, or return information does not fit into the length of the space provided, or an output parameter overlays the stack marker that was created by calling this procedure. 29 Missing parameter. This procedure was called without specifying all the parameters. 590 Bad parameter value. Either the value specified in user-curlen is greater than the value specified in user-maxlen, or the value specified in user-curlen is not within the valid range. user-name:user-maxlen, STRING .EXT:ref:*,INT:value input, output:input user-curlen, INT .EXT:ref:1 input, output is-alias, INT .EXT:ref:1 input, output USERDEFAULTS (Superseded by USER_GETINFO_) Returns the default attributes of the specified user. error-code := USERDEFAULTS ( [ user-id ] ,[ user-name ] ,[ volsubvol ] ,[ filesecur ] ); error-code, INT returned value 0 No error. Default user information is returned as requested. 1 End-of-file. The specified user ID or user name is undefined. 22 Parameter out of bounds. One of the parameters supplied overlays the stack marker that was created by calling this procedure. 29 Missing parameter. This procedure was called without specifying one of the required parameters (either user-id or user-name). user-id, STRING .EXT:ref:2 input <0:7> group ID {0:255} <8:15> user ID {0:255} user-name, STRING .EXT:ref:16 input, output volsubvol, STRING .EXT:ref:16 output filesecur, STRING .EXT:ref:2 output Guardian Programming Reference Summary for pTAL and TAL —522631-001 8- 44
  • 287.
    Procedure Calls Summary(R-Z) <0:3> Unused. <4:6> Read. <7:9> Write. <10:12> Execute. <13:15> Purge. 0 = A (any local user). 1 = G (any local group member). 2 = O (only the local owner). 3 = not used. 4 = N (any network user). 5 = C (any network group/community user). 6 = U (only the network owner). 7 = - (only the local super ID (255,255)). < (CCL) A required parameter is missing, a buffer is out of bounds, or an I/O error occurred on the user ID file ($SYSTEM.SYSTEM.USERID). = (CCE) The default information is returned for the specified user. > (CCG) The specified user ID or user name is undefined. USERIDTOUSERNAME (Superseded by USER_GETINFO_) Returns the user name, from $SYSTEM.SYSTEM.USERID, that is associated with a designated user ID. CALL USERIDTOUSERNAME ( id-name ); id-name, INT:ref:8 input, output < (CCL) The value ofid-name is out of bounds, or an I/O error occurred in the $SYSTEM.SYSTEM.USERID file. = (CCE) The designated user name returned. > (CCG) The specified user ID is undefined. Guardian Programming Reference Summary for pTAL and TAL —522631-001 8- 45
  • 288.
    Procedure Calls Summary(R-Z) USERNAMETOUSERID (Superseded by USER_GETINFO_) Returns the user ID, from $SYSTEM.SYSTEM.USERID, that is associated with a designated user name. CALL USERNAMETOUSERID ( name-id ); name-id, INT:ref:8 input, output < (CCL) The value of name-id is out of bounds, or an I/O error occurred in the $SYSTEM.SYSTEM.USERID file. = (CCE) The designated user ID returned. > (CCG) The specified user name is undefined. USESEGMENT (Superseded by SEGMENT_USE_) Makes a particular extended data segment currently addressable by the calling process. old-segment-id := USESEGMENT ( segment-id ); old-segment-id, INT returned value segment-id, INT:value input < (CCL) The value of segment-id is not allocated, or the segment cannot be used by a nonprivileged caller. = (CCE) The operation is successful. VERIFY USER (Superseded by USER_AUTHENTICATE_ and USER_GETINFO_) Controls logons, verifies that a user exists, and returns user-defaults information. CALL VERIFYUSER ( user-name-or-id ,[ logon ] ,[ default ,default-len ] ); Guardian Programming Reference Summary for pTAL and TAL —522631-001 8- 46
  • 289.
    Procedure Calls Summary(R-Z) user-name-or-id, INT:ref:12 input logon, INT:value input 0 Verify the user but do not log on. <> 0 Verify the user and log on. default, INT:ref:18 output [0:3] = Group name, blank-filled. [4:7] = User name, blank-filled. [8] <0:7> = Group ID. <8:15> = User ID. [9:12] = Default volume, blank-filled. [13:16] = Default subvolume, blank-filled. [17].<0:15> = Default file security, as follows: <0:3> = Unused. <4:6> = Read. <7:9> = Write. <10:12> = Execute. <13:15> = Purge. 0 = A (any local user). 1 = G (any local group member). 2 = O (only the local owner). 3 = not used. 4 = N (any network user). 5 = C (any network group/community user). 6 = U (only the network owner). 7 = - (only the local super ID (255,255)). default-len, INT:value input < (CCL) A buffer is out of bounds, or an I/O error occurred on the user ID file ($SYSTEM.SYSTEM.USERID). = (CCE) Indicates a successful verification and/or logon. > (CCG) There is no such user, or the password is invalid. Guardian Programming Reference Summary for pTAL and TAL —522631-001 8- 47
  • 290.
    Procedure Calls Summary(R-Z) WAIT^FILE Waits or checks for the completion of an outstanding I/O operation. WAIT^FILE is a sequential I/O (SIO) procedure and can be used only with files that have been opened by OPEN^FILE. error := WAIT^FILE ( file-fcb ,[ count-read ] ,[ time-limit ] ); error, INT returned value 0 No error. 1 End of file. 6 System message (only if user requested system messages through SET^SYSTEMMESSAGES or SET^SYSTEMMESSAGESMANY). 40 Operation timed out (only if time-limit is supplied and is not -1D). 111 Operation aborts because of BREAK (if BREAK is enabled). 532 Operation restarted. file-fcb, INT:ref:* input count-read, INT:ref:* output time-limit, INT(32):value input <> 0D Wait for completion. 0D Check for completion. 0D (and error = 40) No completion. 1D Willing to wait forever. WRITE[X] Writes data from an array in the application program to an open file. CALL WRITE[X] ( filenum ,buffer ,write-count ,[ count-written ] ,[ tag ] ); Guardian Programming Reference Summary for pTAL and TAL —522631-001 8- 48
  • 291.
    Procedure Calls Summary(R-Z) filenum, INT:value input buffer, input INT:ref:* (Use with WRITE) STRING .EXT:ref:* (Use with WRITEX) write-count, INT:value input count-written, output INT:ref:1 (Use with WRITE) INT .EXT:ref:* (Use with WRITEX) tag, INT(32):value input < (CCL) An error occurred (call FILEINFO). = (CCE) The WRITE[X] is successful. WRITE^FILE Writes a file sequentially. The file must be open and have write or read/write access. WRITE^FILE is a sequential I/O (SIO) procedure and can be used only with files that have been opened by OPEN^FILE. error := WRITE^FILE ( file-fcb ,buffer ,write-count ,[ reply-error-code ] ,[ forms-control-code ] ,[ nowait ] ); error, INT returned value file-fcb, INT:ref:* input buffer, INT:ref:* input write-count, INT:value input reply-error-code, INT:value input forms-control-code, INT:value input nowait, INT:value input Guardian Programming Reference Summary for pTAL and TAL —522631-001 8- 49
  • 292.
    Procedure Calls Summary(R-Z) WRITEEDIT Accepts a line in unpacked format, converts it into EDIT packed line format, and writes it to the specified file. WRITEEDIT is an IOEdit procedure and can only be used with files that have been opened by OPENEDIT or OPENEDIT_. error := WRITEEDIT ( filenum ,[ record-number ] ,unpacked-line ,unpacked-length ,[ full-length ] ,[ new-record-number ] ); error, INT returned value 10 File already includes a line with the specified record number. 21 Specified record is too long to fit into EDIT packed line format. (The maximum is 255 bytes of packed text.) 45 All of the file’s possible extents are allocated and full. You can use EXTENDEDIT to increase the file’s extent size and call WRITEEDIT again. filenum, INT:value input record-number, INT(32):value input >= 0 Specifies 1000 times the EDIT line number of the line to be written. -1 Specifies that the line is written at the beginning of the file. -2 Specifies that the line is written at the end of the file. -3 Specifies that the line is written to the line represented by the file’s current record number. unpacked-line, STRING .EXT:ref:* input unpacked-length, INT:value input full-length, INT:value input new-record-number, INT(32) .EXT:ref:1 output Guardian Programming Reference Summary for pTAL and TAL —522631-001 8- 50
  • 293.
    Procedure Calls Summary(R-Z) WRITEEDITP Accepts a line in EDIT packed line format and writes it to the specified file. WRITEEDITP is an IOEdit procedure and can be used only with files that have been opened by OPENEDIT or OPENEDIT_. error := WRITEEDITP ( filenum ,[ record-number ] ,packed-line ,packed-length ); error, INT returned value 10 File already includes a line with the specified record number. 45 All of the file’s possible extents are allocated and full. You can use EXTENDEDIT to increase the file’s extent size and call WRITEEDIT again. filenum, INT:value input record-number, INT(32):value input >= 0 Specifies 1000 times the EDIT line number of the line to be written. -1 Specifies that the line is written at the beginning of the file. -2 Specifies that the line is written at the end of the file. -3 Specifies that the line is written to the line represented by the file’s current record number. packed-line, STRING .EXT:ref:* input packed-length, INT:value input WRITEREAD[X] Writes data to a file from an array in the application process, then waits for data to be transferred back from the file. CALL WRITEREAD[X] ( filenum ,buffer ,write-count ,read-count ,[ count-read ] ,[ tag ] ); Guardian Programming Reference Summary for pTAL and TAL —522631-001 8- 51
  • 294.
    Procedure Calls Summary(R-Z) filenum, INT:value input buffer, input, output INT:ref:* (Use with WRITEREAD) STRING .EXT:ref:* (Use with WRITEREADX) write-count, INT:value input read-count, INT:value input count-read, output INT:ref:1 (Use with WRITEREAD) INT .EXT:ref:1 (Use with WRITEREADX) tag, INT(32):value input < (CCL) An error occurred (Call FILEINFO). = (CCE) The WRITEREAD[X] is successful. > (CCG) CNTRL-Y is pressed on the terminal. WRITEUPDATE[X] Transfers data from an array in the application program to a file. CALL WRITEUPDATE[X] ( filenum ,buffer ,write-count ,[ count-written ] ,[ tag ] ); filenum, INT:value input buffer, input INT:ref:* (Use with WRITEUPDATE) STRING .EXT:ref:* (Use with WRITEUPDATEX) write-count, INT:value input count-written, output Guardian Programming Reference Summary for pTAL and TAL —522631-001 8- 52
  • 295.
    Procedure Calls Summary(R-Z) INT:ref:1 (Use with WRITEUPDATE) INT .EXT:ref:1 (Use with WRITEUPDATEX) tag, INT(32):value input < (CCL) An error occurred (call FILEINFO). = (CCE) WRITEUPDATE[X] was successful. WRITEUPDATEUNLOCK[X] Performs random processing of records in a disk file. This procedure operates only on Guardian objects. CALL WRITEUPDATEUNLOCK[X] ( filenum ,buffer ,write-count ,[ count-written ] ,[ tag ] ); filenum, INT:value input buffer, input INT:ref:* (Use with WRITEUPDATEUNLOCK) STRING .EXT:ref:* (Use with WRITEUPDATEUNLOCKX) write-count, INT:value input count-written, output INT:ref:1 (Use with WRITEUPDATEUNLOCK) INT .EXT:ref:1 (Use with WRITEUPDATEUNLOCKX) tag, INT(32):value input < (CCL) An error occurred (call FILEINFO). = (CCE) WRITEUPDATEUNLOCK[X] was successful. Guardian Programming Reference Summary for pTAL and TAL —522631-001 8- 53
  • 296.
    Procedure Calls Summary(R-Z) XBNDSTEST (Superseded by REFPARAM_BOUNDSCHECK_) Checks stack limits and/or parameter addresses. status := XBNDSTEST ( param ,bytelen ,flags ,constants ); status, INT returned value 1 In bounds, but in a read-only segment or (on TNS/R systems only) in the system library. 0 In bounds and writable. -1 Out of bounds or illegal address. -2 Incorrectly aligned on word boundary. -3 Undefined flag value. -4 In bounds, but in an extensible extended data segment that cannot be extended (usually due to lack of additional disk space for the swap file). param, STRING .EXT:ref:* input bytelen, INT:value input flags, INT:value input <0:12> Must be zero. <13> Use the extended-address limits from constants. <14> The parameter must be word-aligned. <15> Skip the bounds test and return 0. constants, FIXED:value input Guardian Programming Reference Summary for pTAL and TAL —522631-001 8- 54
  • 297.
    Procedure Calls Summary(R-Z) XSTACKTEST (Superseded by HEADROOM_ENSURE_) Checks stack limits, ensures that adequate stack space is available, and returns a set of constants to be used with the XBNDSTEST procedure. status := XSTACKTEST ( firstparm ,stackwords ,flags ,constants ); status, INT returned value 0 Adequate stack space available. 2 Undefined flags value. 21 The value of stackwords is less than 1. 22 Bounds error on firstparm or constants. 632 Insufficient stack space available. firstparm, INT:ref:* input stackwords, INT:value input flags, INT:value input <0:13> Must be zero. <14> Allow parameters that use privileged addresses. <15> Skip the stack test and return 0. constants, FIXED:ref output Guardian Programming Reference Summary for pTAL and TAL —522631-001 8- 55
  • 298.
    Procedure Calls Summary(R-Z) Guardian Programming Reference Summary for pTAL and TAL —522631-001 8- 56
  • 299.
    9 CONTROL Operations For additional information about the CONTROL procedure call, refer to the Guardian Procedure Calls Reference Manual. Table 9-1. CONTROL Operation 1 Description Subtype Description of <param> Terminal or 0,2, or 3 0 form feed (send %014) Line Printer 1–15 vertical tab (send %013) Forms Control 16–79 skip <param> - 16 lines Line Printer 6 or 32 0 form feed (send %014) 1–15 single space (send %6412) 16–79 skip <param> - 16 lines Line Printer 1 or 5 0 skip to VFU channel 0 (top of form) 1 skip to VFU channel 1 (bottom of form) 2 skip to VFU channel 2 (single space, top-of form eject) 3 skip to VFU channel 3 (next odd-numbered line) 4 skip to VFU channel 5 skip to VFU channel 5 (next one-half page) 6 skip to VFU channel 6 (next one-fourth page) 7 skip to VFU channel 7 (next one-sixth page) 8 skip to VFU channel 8 (user-defined) 9 skip to VFU channel 9 (user-defined) 10 skip to VFU channel 10 (user-defined) 11 skip to VFU channel 11 (user-defined) 16-31 skip <param> - 16 lines Line Printer 7 0 select VFC channel 1 (top of form) 1 select VFC channel 2 (bottom of form) 2 select VFC channel 3 (single space) 3 select VFC channel 4 (skip to next double space line) 4 select VFC channel 5 (skip to next triple space line) 5 select VFC channel 6 (skip to next half page) 6 select VFC channel 7 (skip to next one-fourth page) 7 select VFC channel 8 (skip to next one-sixth page) 8 select VFC channel 9 (bottom of form) 9 select VFC channel 10 (bottom of form - 1) Guardian Programming Reference Summary for pTAL and TAL —522631-001 9 -1
  • 300.
    CONTROL Operations Table 9-1. CONTROL Operation 1 Description Subtype Description of <param> Line Printer 7 10 select VFC channel 11 (top of form - 1) 11 select VFC channel 12 (top of form) 16-31 skip <param> - 16 lines Line Printer 4 0 skip to VFU channel 0 (top of form/line 1) (default DAVFU) 1 skip to VFU channel 1 (bottom of form/line 60) 2 skip to VFU channel 2 (single space/line 1-60, top-of- form eject 3 skip to VFU channel 3 (next odd-numbered line) 4 skip to VFU channel 6 (next third line: 1,4,7,10, and so forth) 5 skip to VFU channel 5 (next one-half page) 6 skip to VFU channel 6 (next one-fourth page) 7 skip to VFU channel 7 (next one-sixth page) 8 skip to VFU channel 8 (line 1) 9 skip to VFU channel 9 (line 1) 10 skip to VFU channel 10 (line 1) 11 skip to VFU channel 11 (bottom of paper/line 63) 16-31 skip <param> - 16 lines Guardian Programming Reference Summary for pTAL and TAL —522631-001 9 -2
  • 301.
    CONTROL Operations Table 9-2. CONTROL Operations 2 - 27 Operation Description Description of <param> 2 Write end of file on unstructured disk or None magnetic tape (if disk, write access is required). A write end of file (EOF) to an unstructured disk file sets EOF to point to the relative byte address indicated by the next-record pointer and writes the new EOF setting in the file label on disk. If this new EOF setting is out of bounds, EOF is set to the last possible position. 3 Magnetic tape, rewind and unload, do not wait None for completion. 4 Magnetic tape, take off line, do not wait for None completion (treated as operation 3 for 5106 Tri- Density Tape Drive). Not supported for 5130, 5160, 5170, and 5180 tape drives. 5 Magnetic tape, rewind, leave on line, do not wait None for completion. 6 Magnetic tape, rewind, leave on line, wait for None completion. 7 Magnetic tape, space forward files. number of files {0:255} 8 Magnetic tape, space backward files. number of files {0:255} 9 Magnetic tape, space forward records. number of records {0:255} 10 Magnetic tape, space backward records. number of records {0:255} 11 Terminal or serial-connected line printer, wait for None modem connect. 12 Terminal or serial-connected line printer, None disconnect the modem (that is, hang up). 13 Issue an SNA CHASE request. SNAX exception None response mode must be enabled to use operation 13. 17 Terminal or serial-connected line printer, enable None connection and initiate call to remote DTE in X.25 network. 20 Disk, purge data (write access is required). None Guardian Programming Reference Summary for pTAL and TAL —522631-001 9 -3
  • 302.
    CONTROL Operations Table 9-2. CONTROL Operations 2 - 27 Operation Description Description of <param> 21 Disk, allocate or deallocate extents (write access 0: deallocate all extents is required). past the end-of-file extent 1: maximum-extents number of extents to allocate for a nonpartitional file (for DP2 disk files only) 1:16* number of partitions number of extents to allocate for a partitioned file 22 Cancel an AM3270 I/O operation. None 24 Magnetic tape, force end-of-volume (EOV). None Next volume in set is requested and current volume is unloaded. Valid only for ANSI or IBM label tape. 26 Requests immediate completion of all None outstanding I/O requests without loss of data by the recipient of the CONTROL 26 request. 27 Wait for DP2 disk file write. This operation finishes when a WRITE, WRITEUPDATE, or WRITEUPDATEUNLOCK occurs on a DP2 disk file designated by filenum. Not valid for partitioned files. Do not assume that the file contains any new data when a call to CONTROL 27 finishes; assume only that it is time to check the file for new data. CONTROL 27 also finishes when a WRITE or WRITEUPDATE occurs as part of a logical undo of a transaction by the backout process or when a volume goes down. If SETMODE 146 was specified, each write completes only one CONTROL 27; otherwise, each write completes all pending CONTROL 27 operations. To ensure that no updates are missed, you should issue a nowait CONTROL 27 call on one open to a file, then read data from the file on another open, and finally wait for the CONTROL operation to finish. If CONTROL 27 were executed after reading, a write by another process could occur between the read and the CONTROL operations. The file open that is used for the CONTROL operation should have a syncdepth of 0. Path errors and network errors might indicate successful completion. Refer to the discussion of CONTROL operation 27 in the Guardian Programmer’s Guide. Guardian Programming Reference Summary for pTAL and TAL —522631-001 9 -4
  • 303.
    10 SET^FILE Operations For additional information about the SET^FILE procedure call, refer to the Guardian Procedure Calls Reference Manual. Table 10-1. SET^FILE Operations That Set Values new-value old-value <operation> Parameter Parameter Parameter Description of Operation Entered Entered State (Required) Requested (Optional) (Optional) of File ASSIGN^ Specifies the block length, in new- blocklen Closed BLOCK bytes, for the file. blocklen BUFLEN or ASSIGN^ BLOCK LENGTH ASSIGN^ Specifies the file code for the new-file- file-code Closed FILECODE file. code ASSIGN^ Specifies the open access for new-open- open- Closed OPENACCESS the file. The following literals access access are provided for <open-access>: READWRITE^ACCESS (0) READ^ACCESS (1) WRITE^ACCESS (2) Even if WRITE^ACCESS is specified, SIO actually opens the file with READWRITE^ACCESS to facilitate interactive I/O. ASSIGN^ Specifies the open exclusion for new-open- open- Closed OPEN the file. The following literals exclusion exclusion EXCLUSION are provided for <open- exclusion>: SHARE (0) EXCLUSIVE (1) PROTECTED (3) ASSIGN^ Specifies the primary extent new-pri- pri-ext- Closed PRIEXT size (in units of 2048-byte ext-size size or ASSIGN^ blocks) for the file. PRIMARY EXTENTSIZE ASSIGN^ Specifies the logical record new- recordlen Closed RECORDLEN length (in bytes) for the file. recordlen or ASSIGN^RECORDLENGTH ASSIGN^ gives the default read or write RECORD count. For default values, refer LENGTH to the Guardian Programmer’s Guide. Guardian Programming Reference Summary for pTAL and TAL —522631-001 10- 1
  • 304.
    SET^FILE Operations Table 10-1. SET^FILE Operations That Set Values new-value old-value <operation> Parameter Parameter Parameter Description of Operation Entered Entered State (Required) Requested (Optional) (Optional) of File ASSIGN^ Specifies the secondary extent new-sec- sec-ext- Closed SECEXT size (in units of 2048-byte ext-size size or blocks) for the file. ASSIGN^ SECONDARY EXTENTSIZE INIT^FILEFCB Specifies that the file FCB be must be must be Closed initialized. This operation is not omitted omitted used when the INITIALIZER procedure is called to initialize the FCBs. It is valid only for C-series FCBs. For example: CALL SET^FILE (common^fcb,INIT^ FILEFCB); CALL SET^FILE (in^file,INIT^FILEFCB); INIT^FILEFCB Specifies that the file FCB be must be must be Closed ^ D00 initialized. This operation is not omitted omitted used when the INITIALIZER procedure is called to initialize the FCB. It is valid only for D-series FCBs. For example: CALL SET^FILE (common^fcb, INIT^FILEFCB^D00); CALL SET^FILE (in^file, INIT^FILEFCB^D00); SET^ABORT^ Sets or clears abort-on-transfer new-state state Open XFERERR error for the file. If on, and a fatal error occurs during a data- transfer operation (such as a call to any SIO procedure except OPEN^FILE), all files are closed and the process abnormally ends. If off, the file system or SIO procedure error number returns to the caller. Guardian Programming Reference Summary for pTAL and TAL —522631-001 10- 2
  • 305.
    SET^FILE Operations Table 10-1. SET^FILE Operations That Set Values new-value old-value <operation> Parameter Parameter Parameter Description of Operation Entered Entered State (Required) Requested (Optional) (Optional) of File SET^ Sets or clears break hit for the new-state state BREAKHIT file. This is used only if the user is handling BREAK independently of the SIO procedures, or if the user has requested BREAK system messages through SET^SYSTEMMESSAGES or SET^SYSTEMMESSAGES MANY. SET^ Sets or clears the checksum new- fcb-checksum- CHECKSUM word in the FCB. This is useful checksum- word after modifying an FCB directly word (that is, without using the SIO procedures). SET^ Sets the physical I/O count, in new-count count Open COUNTXFER bytes, transferred for the file. RED This is used only if nowait I/O is in effect and the user is making the call to AWAITIO for the file. This is the <count- transferred> parameter value returned from AWAITIO. SET^CRLF^ Sets or clears carriage new-state state Open BREAK return/line feed (CR/LF) on BREAK for the file. If on, a CR/LF is executed on the terminal when the BREAK key is pressed. SET^ Specifies that the following must be must be Open EDITREAD^ READ^FILE is to begin at the omitted omitted REPOSITION position set in the sequential block buffer (second through fourth words). For example: CALL SET^FILE(EDIT^FCB, SET^EDITREAD^ REPOSITION); See discussion of the SET^EDITREAD^ REPOSITION operation in the Guardian Programmer’s Guide. Guardian Programming Reference Summary for pTAL and TAL —522631-001 10- 3
  • 306.
    SET^FILE Operations Table 10-1. SET^FILE Operations That Set Values new-value old-value <operation> Parameter Parameter Parameter Description of Operation Entered Entered State (Required) Requested (Optional) (Optional) of File SET^ERROR Sets file-system error code new-error error Open value for the file. This is used only if nowait I/O is in effect and the user makes the call to AWAITIO for the file. This is the error parameter value returned from FILEINFO. SET^ Sets or clears physical I/O new-state state Open PHYSIOOUT outstanding for the file specified by file-fcb. This is used only if nowait I/O is in effect and the user makes the call to AWAITIO for the file. SET^PRINT^ Sets or clears print error new-state state Open ERR^MSG message for the file. If on and a fatal error occurs, an error message is displayed on the error file. This is the home terminal unless otherwise specified. SET^PROMPT Sets interactive prompt for the new- prompt- Open file. See the OPEN^FILE prompt- char procedure. char SET^RCVEOF Sets return end of file (EOF) on new-state state Open process close for $RECEIVE file. This causes an EOF indication to be returned from READ^FILE when the receive open count goes from 1 to 0. The setting for return EOF has no meaning if the user is monitoring open and close messages. If the file is opened with read- only access, the setting defaults to on for return EOF. SET^RCV Sets receive open count for the new- receive- Open OPENCNT $RECEIVE file. This operation receive- open- is intended to clear the count of open- count opens when an open already count accepted by the SIO procedures is subsequently rejected by the user. See SET^ RCVUSEROPENREPLY. Guardian Programming Reference Summary for pTAL and TAL —522631-001 10- 4
  • 307.
    SET^FILE Operations Table 10-1. SET^FILE Operations That Set Values new-value old-value <operation> Parameter Parameter Parameter Description of Operation Entered Entered State (Required) Requested (Optional) (Optional) of File SET^ Sets user-will-reply for the new-state state Open RCVUSER $RECEIVE file. This is used if OPENREPLY the SIO procedures are to maintain the opener's directory, thereby limiting opens to a single process or a process pair but keeping the option to reject opens. If state is 1, an error of 6 returns from a call to READ^FILE when an open message is received and is the only current open by a process or a process pair. If an open is attempted by a process and an open is currently in effect, the open attempt is rejected by the SIO procedures; no return is made from READ^FILE because of the rejected open attempt. If state is 0, a return from READ^FILE is made only when data is received. Note: If open message = 1 is specified to SET^SYSTEMMESSAGES or SET^SYSTEMMESSAGES MANY, the setting of SET^RCVUSEROPENREPLY has no meaning. An error of 6 returns from READ^FILE if an open message is accepted by the SIO procedures. SET^READ^ Sets or clears read-trailing- new-state state Open TRIM blank-trim for the file. If on, the count-read parameter does not account for trailing blanks. Guardian Programming Reference Summary for pTAL and TAL —522631-001 10- 5
  • 308.
    SET^FILE Operations Table 10-1. SET^FILE Operations That Set Values new-value old-value <operation> Parameter Parameter Parameter Description of Operation Entered Entered State (Required) Requested (Optional) (Optional) of File SET^SYSTEM Sets system message reception new-sys- sys-msg- Open MESSAGES for the $RECEIVE file. Setting msg-mask mask a bit in the sys-msg-mask indicates that the corresponding message is to pass back to the user. Default action is for the SIO procedures to handle all system messages. sys-msg-mask [0] .<0> = BREAK message .<1> = unused .<2> = processor down message .<3> = processor up message .<4> = unused .<5> = process deletion message if D-series format; STOP message if C-series format .<6> = unused if D-series format;ABEND message if C- series format .<7> = unused .<8> = unused if D-series format;MONITORNET message if C-series format .<9> = uused .<10> = open message .<11> = close message .<12> = CONTROL message .<13> = SETMODE message .<14> = RESETSYNC message .<15> = unused SET^SYSTEM The user replies to the system new-sys- sys-msg- Open MESSAGES messages designated by this msg-mask mask (continued) operation by using WRITE^FILE. If no WRITE^FILE is encountered before the next READ^FILE, a reply-error-code = 0 is made automatically. Note that this operation cannot set some of the newer system messages; for these, use SET^SYSTEMMESSAGESM ANY. Guardian Programming Reference Summary for pTAL and TAL —522631-001 10- 6
  • 309.
    SET^FILE Operations Table 10-1. SET^FILE Operations That Set Values new-value old-value <operation> Parameter Parameter Parameter Description of Operation Entered Entered State (Required) Requested (Optional) (Optional) of File SET^TRACE Sets or clears the traceback new-state old-state BACK feature. When traceback is active, the SIO facility appends the caller's P-relative address to all error messages. SET^ Sets user flag for the file. The new-user- user- Open USERFLAG user flag is a one-word value in flag flag-in- the FCB that the user can fcb manipulate to maintain information about the file. SET^ WRITE^ Sets or clears write-fold for the new-state state FOLD file. If on, write^file operations exceeding the record length cause multiple logical records to be written. If off, write^file operations exceeding the record length are truncated to record- length bytes; no error message or warning is given. SET^ WRITE^ Sets or clears write-blank-pad new-state state Open PAD for the file. If on, write^file operations of less than record- length bytes, including the last record if WRITE^FOLD is in effect, are padded with trailing blanks to fill out the logical record. SET^ WRITE^ Sets or clears write-trailing- new-state state Open TRIM blank-trim for the file. If on, trailing blanks are trimmed from the output record before being written to the line. Guardian Programming Reference Summary for pTAL and TAL —522631-001 10- 7
  • 310.
    SET^FILE Operations Table 10-2. SET^FILE Operations That Set Addresses <new-value> <old-value> <operation> Parameter Parameter Parameter Description of Operation Entered Entered State (Required) Requested (Optional) (Optional) of File ASSIGN^ Specifies the physical name @filename filename Closed FILENAME of the file to be opened. For FOR 12 words example: CALL SET^FILE (in^file, ASSIGN^FILENAME,@in^ filename); ASSIGN^ Specifies the logical name of @logical- @logical- Closed LOGICAL the file to be opened. The filename filename FILENAME logical-filename FOR 4 words parameter must be encoded as follows: Byte NumberContents [0] len [1] through [7] logical- filename len is the length of the logical file name {0:7}. SET^DUPFILE Specifies a duplicate file for @new-dup- @dup- Open the file. This is a file where file-fcb file-fcb data read from file-fcb is printed. The default action is no duplicate file. For example: CALL SET^FILE(in^file,SET^DUP FILE, @out^file); SET^ Sets error reporting file for all @new- @error- ERRORFILE files. Defaults to home error- file-fcb terminal. If the error file-fcb reporting file is not open when needed by the SIO procedures, it is opened for the duration of the message printing and then closed. Guardian Programming Reference Summary for pTAL and TAL —522631-001 10- 8
  • 311.
    SET^FILE Operations Table 10-2. SET^FILE Operations That Set Addresses <new-value> <old-value> <operation> Parameter Parameter Parameter Description of Operation Entered Entered State (Required) Requested (Optional) (Optional) of File SET^ Sets the allowable opener’s @openers- @openers- Open OPENERS processhandle for process process PHANDLE $RECEIVE file. This is used handle handle to restrict the openers of this FOR 10 process to a specified words process. A typical example is using the SIO procedures to read the startup message. This operation is valid only for D-series FCBs. Note: If open message = 1 is specified to SET^SYSTEMMESSAGES or SET^SYSTEMMESSAGES MANY, the setting of SET^OPENERSPHANDLE has no meaning. SET^OPENERS Sets the allowable opener’s @openers- openers- Open PID process-id for pid pid $RECEIVE file. This is used FOR 4 words to restrict the openers of this process to a specified process. A typical example is using the SIO procedures to read the startup message. This is valid only for C-series FCBs. Note: If open message = 1 is specified to SET^SYSTEMMESSAGES or SET^SYSTEMMESSAGES MANY, the setting of SET^OPENERSPID has no meaning. Guardian Programming Reference Summary for pTAL and TAL —522631-001 10- 9
  • 312.
    SET^FILE Operations Table 10-2. SET^FILE Operations That Set Addresses <new-value> <old-value> <operation> Parameter Parameter Parameter Description of Operation Entered Entered State (Required) Requested (Optional) (Optional) of File SET^SYSTEM Sets system message @new-sys- sys-msg- Open MESSAGES reception for the $RECEIVE msg-mask- mask- MANY file. sys-msg-mask- word words words is a four-word mask. Setting a bit in sys-msg- mask-words indicates that the corresponding message is to pass back to the user. Default action is for the SIO procedures to handle all system messages. SET^SYSTEM sys-msg-mask-words[0] MESSAGES .<0:1> = unused MANY .<2> = processor down (continued: message word 0) .<3> = processor up message .<4> = processor used .<5> = process deletion message if D-series format; STOP message if C-series format .<6> = unused if D-series format; ABEND message if C-series format .<7> = unused .<8> = unused if D-series format; MONITORNET message if C-series format .<9> = job creation .<10> = SETTIME message .<11> = power on message .<12> = NEWPROCESSNOWAIT message .<13:15> = unused Guardian Programming Reference Summary for pTAL and TAL —522631-001 10 -10
  • 313.
    SET^FILE Operations Table 10-2. SET^FILE Operations That Set Addresses <new-value> <old-value> <operation> Parameter Parameter Parameter Description of Operation Entered Entered State (Required) Requested (Optional) (Optional) of File SET^SYSTEM sys-msg-mask-words[1] @new-sys- sys-msg- Open MESSAGES .<0:3> = unused msg-mask- mask- MANY .<4> = BREAK message word words (continued: .<5> = unused word 1) .<6> = tme signal message (NonStop II systems only) .<7> = memory lock completion message (NonStop II systems only) .<8> = memory lock failure message (NonStop II systems only) .<9:13> = unused .<14> = open message .<15> = close message SET^SYSTEM sys-msg-mask- MESSAGES words[2] MANY .<0> = CONTROL message (continued: .<1> = SETMODE message word 2) .<2> = RESETSYNC message .<3> = CONTROLBUF message .<4:7> = unused .<8> = device-type inquiry if D-series format; unused if C- series format .<9:15> = unused SET^SYSTEM sys-msg-mask-words[3] @new-sys- sys-msg- Open MESSAGES .<0> = nowait msg-mask- mask- MANY PROCESS_CREATE_ word words (continued: completion word 3) .<1> = subordinate name inquiry .<2> = nowait get info by name completion .<3> = nowait FILENAME_FINDNEXT_ completion .<4> = loss of communication with node .<5> = establishment of communication with node .<6> = remote processor down .<7> = remote processor up .<8:15> = unused Guardian Programming Reference Summary for pTAL and TAL —522631-001 10 -11
  • 314.
    SET^FILE Operations Guardian Programming Reference Summary for pTAL and TAL —522631-001 10 -12
  • 315.
    11 SETMODE Operations For additional information about the SETMODE procedure call, refer to the Guardian Procedure Calls Reference Manual. function Parameters and Effect 1 Disk: Set file security param1 <0> = 1 for program files only, sets accessor's ID to program file's ID when program file is run (PROGID option). <1> = 1 sets CLEARONPURGE option to on. This means that all data in the file is physically erased from the disk (set to zeros) when the file is purged. If this option is not on, the disk space is only logically deallocated on a purge; the data is not destroyed, and another user might be able to examine the "purged" data when the space is reallocated to another file. <4:6> = ID allowed for reading <7:9> = ID allowed for writing <10:12> = ID allowed for execution <13:15> = ID allowed for purging For each of the fields from <4:6> through <13:15>, the value can be any one of the following: 0 = member local ID 1 = member of owner's group (local) 2 = owner (local) 4 = any network user (local or remote) 5 = member of owner's community 6 = local or remote user having same ID as owner 7 = local super ID (255,255) only Refer to the Guardian Programmer’s Guide or the File Utility Program (FUP) Reference Manual for an explanation of local and remote users, communities, and related topics. The param2 parameter is not used with function 1. If this SETMODE function is used on a file that is protected by a Safeguard disk-file authorization record, and if the user is not logged on as the super ID on the system where the file is located, error 199 is returned. This function operates only on Guardian objects. If an OSS file is specified, file-system error 2 occurs. 2 Disk: Set file owner ID param1 .<0:7> = group ID .<8:15> = member ID The param2 parameter is not used with function 2. If this SETMODE function is used on a file that is protected by a Safeguard disk-file authorization record, and if the user is not logged on as the super ID on the system where the file is located, error 199 is returned. Guardian Programming Reference Summary for pTAL and TAL —522631-001 11- 1
  • 316.
    SETMODE Operations function Parameters and Effect 3 Disk: Set write verification param1.<15> = 0 verified writes off (default). = 1 verified writes on. The param2 parameter is used with DP2 disk files only. param2 = 0 change the open option setting of the verify writes option (default). = 1 change the file label default value of the verify writes option. 4 Disk: Set lock mode param1 = 0 normal mode (default): request is suspended when a read or lock is attempted and an established record lock or file lock is encountered. = 1 reject mode: request is rejected with file-system error 73 when a read or lock is attempted and an established record lock or file lock is encountered. No data is returned for the rejected request. = 2 read-through/normal mode: READ or READUPDATE ignores record locks and file locks; encountering a lock does not delay or prevent reading of a record. The locking response of LOCKFILE, LOCKREC, READLOCK, and READUPDATELOCK is the same as in normal mode (mode 0). = 3 read-through/reject mode: READ or READUPDATE ignores record locks and file locks; encountering a lock does not delay or prevent reading of a record. The locking response of LOCKFILE, LOCKREC, READLOCK, and READUPDATELOCK is the same as in reject mode (mode 1). = 6 read-warn/normal mode: READ or READUPDATE returns data without regard to record and file locks; however, encountering a lock causes warning code 9 to be returned with the data. The locking response of LOCKFILE, LOCKREC, READLOCK, and READUPDATELOCK is the same as in normal mode (mode 0). = 7 read-warn/reject mode: READ or READUPDATE returns data without regard to record and file locks; however, encountering a lock causes warning code 9 to be returned with the data. The locking response of LOCKFILE, LOCKREC, READLOCK, and READUPDATELOCK is the same as in reject mode (mode 1). param2 must be 0, if supplied. Guardian Programming Reference Summary for pTAL and TAL —522631-001 11- 2
  • 317.
    SETMODE Operations function Parameters and Effect 5 Line printer: Set system automatic perforation skip mode (assumes standard VFU function in channel 2) param1.<15> = 0 off, 66 lines per page = 1 on, 60 lines per page (default) For the 5530 line printer: param1 = 0 disable automatic perforation skip. = 1 enable automatic perforation skip (default). The value of param2 is not used with function 5. 6 Terminal: Set system auto line feed after receipt of carriage return line termination (default mode is configured) param1.<15> = 0 LFTERM line feed from terminal or network (default) = 1 LFSYS system provides line feed after line termination by carriage return param2 sets the number of retries of I/O operations. 7 Terminal: Set system auto line feed after receipt of carriage return line termination (default mode is configured) param1.<15> = 0 LFTERM line feed from terminal or network (default) = 1 LFSYS system provides line feed after line termination by carriage return 8 Terminal: Set system transfer mode (default mode is configured) param1.<15> = 0 conversational mode = 1 page mode The param2 parameter sets the number of retries of I/O operations Note: the param2 parameter is used only with 6530 terminals. 9 Terminal: Set interrupt characters param1 .<0:7> = character 1 .<8:15> = character 2 param2 .<0:7> = character 3 .<8:15> = character 4 (Default for conversational mode is backspace, line cancel, end of file, and line termination. Default for page mode is page termination.) See the discussion of “interrupt characters” in the Guardian Programmer’s Guide. 10 Terminal: Set parity checking by system (default is configured) param1.<15> = 0 no checking = 1 checking The param2 parameter is not used with function 10. Guardian Programming Reference Summary for pTAL and TAL —522631-001 11- 3
  • 318.
    SETMODE Operations function Parameters and Effect 11 Terminal: Set break ownership param1 = 0 means BREAK disabled (default setting). = any positive value means enable BREAK. Terminal access mode after BREAK is typed: param2 = 0 normal mode (any type file access is permitted) = 1 BREAK mode (only BREAK-type file access is permitted) Refer to the discussion of “Communicating With Terminals” in the Guardian Programmer’s Guide. 12 Terminal: Set terminal access mode param1.<15> = 0 normal mode (any type file access is permitted) = 1 BREAK mode (only BREAK-type file access is permitted) File access type: param2.<15> = 0 normal access to terminal = 1 BREAK access to terminal Refer to the discussion of “Communicating With Terminals” in the Guardian Programmer’s Guide. 13 Terminal: Set system read termination on ETX character (default is configured) param1 = 0 no termination on ETX = 1 termination on first character after ETX = 3 termination on second character after ETX The param2 parameter is used, with ATP6100 only, to specify the value of the ETX character. No changes occur to the read termination on ETX as specified by param1 if you do not specify an ETX character or if you set param2 to 0 (setting the ETX character to 0 is not allowed). 14 Terminal: Set system read terminal on interrupt characters (default is configured) param1.<15> = 0 no termination on interrupt characters (that is, transparency mode) = 1 termination on any interrupt character The param2 parameter is not used with function 14. 15 Terminal: Set retry parameters 16 Terminal: Set line parameters 17 Terminal: Set maximum frame size and secondary addresses Guardian Programming Reference Summary for pTAL and TAL —522631-001 11- 4
  • 319.
    SETMODE Operations function Parameters and Effect 18 Terminal: Set statistics threshold, flag fill, and window size 19 Terminal: Set transaction parameters and set extended control field size 20 Terminal: Set system echo mode (default is configured) param1.<15> = 0 system does not echo characters as read = 1 system echoes characters as read The param2 parameter is not used with function 20. Note. SETMODEs 15, 16, 17, 18 and 19 are described in the EnvoyACP/XF Reference Manual. Guardian Programming Reference Summary for pTAL and TAL —522631-001 11- 5
  • 320.
    SETMODE Operations <function> Parameters and Effect 22 Line printer (subtype 3, 4, 6, and 32) or terminal: Set baud rate param1 = 0 baud rate = 50 1 baud rate = 75 2 baud rate = 110 3 baud rate = 134.5 4 baud rate = 150 5 baud rate = 300 6 baud rate = 600 7 baud rate = 1200 8 baud rate = 1800 9 baud rate = 2000 10 baud rate = 2400 11 baud rate = 3600 12 baud rate = 4800 13 baud rate = 7200 14 baud rate = 9600 15 baud rate = 19200 16 baud rate = 200 17 baud rate = 38400 (5577 printer only) The param2 parameter is not used with function 22, except when specifying split baud rates with the LIU-4 controller (see below). Note: The 5520 line printer supports only the 110, 150, 300, 600, 1200, 2400, 4800, and 9600 baud rates. The 5530 line printer supports only the 75,150, 300, 600, 1200, 2400, 4800, and 9600 baud rates. If no baud rate is specified at SYSGEN, then 9600 baud is used. The default rate is what was specified at SYSGEN. The asynchronous controller supports only the 150, 300, 600, 1200, and 1800 baud rates. An ATP6100 line configured on an LIU-4 controller allows an application to set different transmission (TX) and receiving (RX) baud rates with function 22. You have the option of setting split rates by specifying the TX rate in param1 and the RX rate in param2. You can set nonsplit rates by the normal method (that is, by specifying values for param1 as listed at the beginning of the description of function 22. The LIU-4 does not support 3600 or 38400 baud rates.) Guardian Programming Reference Summary for pTAL and TAL —522631-001 11- 6
  • 321.
    SETMODE Operations <function> Parameters and Effect 22 You can specify split baud rates with the LIU-4 controller as follows. Note that (continued) the values for param1 all have bit 0 set to 1: param1 = 128 TX baud rate = 50 129 TX baud rate = 75 130 TX baud rate = 110 131 TX baud rate = 134.5 132 TX baud rate = 150 133 TX baud rate = 300 134 TX baud rate = 600 135 TX baud rate = 1200 136 TX baud rate = 1800 137 TX baud rate = 2000 138 TX baud rate = 2400 140 TX baud rate = 4800 141 TX baud rate = 7200 142 TX baud rate = 9600 143 TX baud rate = 19200 144 TX baud rate = 200 param2 = 0 RX baud rate = 50 1 RX baud rate = 75 2 RX baud rate = 110 3 RX baud rate = 134.5 4 RX baud rate = 150 5 RX baud rate = 300 6 RX baud rate = 600 7 RX baud rate = 1200 8 RX baud rate = 1800 9 RX baud rate = 2000 10 RX baud rate = 2400 12 RX baud rate = 4800 13 RX baud rate = 7200 14 RX baud rate = 9600 15 RX baud rate = 19200 16 RX baud rate = 200 If you specify split baud rates with the LIU-4 controller, the last-params parameter returns the following values: last-params [0] .<0:7> param1 value (TX) .<8:15> param2 value (RX) last-params [1]undefined Guardian Programming Reference Summary for pTAL and TAL —522631-001 11- 7
  • 322.
    SETMODE Operations <function> Parameters and Effect 23 Terminal: Set character size param1 = 0 character size = 5 bits 1 character size = 6 bits 2 character size = 7 bits 3 character size = 8 bits The param2 parameter is not used with function 23. 24 Terminal: Set parity generation by system param1 = 0 parity = odd 1 parity = even 2 parity = none The param2 parameter is not used with function 24. 25 Line printer (subtype 3): Set form length param1 = length of form in lines The param2 parameter is not used with function 25. 26 Line printer (subtype 3): Set or clear vertical tabs param1 = 0 is (line#-1) of where tab is to be set. = -1 clear all tabs (except line 1). Note: A vertical tab stop always exists at line 1 (top of form). The param2 parameter is not used with function 26. 27 Line printer or terminal: Set system spacing mode param1.<15> = 0 postspace (default setting) = 1 prespace The param2 parameter is not used with function 27. 28 Line printer or terminal: Reset to configured values param1 = 0 (default) resets printer to its configured values = 1 resets only soft parameters = 2 resets only hard parameters The param2 parameter is not used with function 28. For the 5530 line printer, SETMODE 28 resets all the SETMODE parameters back to their SYSGEN values and also reinitializes the printer. Note: SETMODE 29 (set auto answer or control answer mode) is the only SETMODE function not affected by a SETMODE 28. Guardian Programming Reference Summary for pTAL and TAL —522631-001 11- 8
  • 323.
    SETMODE Operations <function> Parameters and Effect 29 Line printer (subtype 3, 4, 6, or 32): Set automatic answer mode or control answer mode. param1.<15> = 0 CTRLANSWER = 1 AUTOANSWER (default) The default mode is what was specified at SYSGEN; if no mode is specified at SYSGEN, then AUTOANSWER is used. The param2 parameter is not used with function 29. Note: SETMODE function 29 remains in effect even after the file is closed. SETMODE 29 is the only SETMODE function not affected by a SETMODE 28. SETMODE 29 is not reset at the beginning of each new job. Therefore, you should always issue a SETMODE 29 at the beginning of your job to ensure that you are in the desired mode (rather than in the mode left by the previous job). 30 Allow nowait I/O operations to finish in any order param1 = 0 complete operations in the order they were originally requested (default). = 1 complete operations in any order, except that if more than one operation is ready to finish at the time of the AWAITIO[X] call, then complete them in the order they were requested. = 3 complete operations in any order (that is, in the order chosen by the system). The param2 parameter is not used with function 30 and should be zero if supplied. 31 Set packet mode param1.<0> = 0 ignore param2. = 1 param2 specifies leading packet size. param2 = 0 use default packet size for transmission (default). > 0 is size of first outgoing packet in each WRITE or WRITEREAD request. It must be smaller than the configured packet size. Guardian Programming Reference Summary for pTAL and TAL —522631-001 11- 9
  • 324.
    SETMODE Operations <function> Parameters and Effect 32 Set X.25 call setup parameters param1 .<0> = 0 do not accept charge. = 1 accept charge. .<1> = 0 do not request charge. = 1 request charge. .<2> = 0 is normal outgoing call. = 1 is priority outgoing call. .<8:15>= port number (0-99) 33 To determine the actual value for port number, refer to specifications on your own network. Seven-track tape drive: Set conversion mode param1 = 0 ASCIIBCD (even parity) (default) = 1 BINARY3TO4 (odd parity) = 2 BINARY2TO3 (odd parity) = 3 BINARY1TO1 (odd parity) 36 Allow requests to be queued on $RECEIVE based on process priority param1 .<15> = 0 use first-in-first-out (FIFO) ordering (default). = 1 use process priority ordering. The param2 parameter is not used with function 36. Guardian Programming Reference Summary for pTAL and TAL —522631-001 11 -10
  • 325.
    SETMODE Operations <function> Parameters and Effect 37 Line printer (subtype 1, 4, 5, or 6): Get device status The param1 parameter is not used with function 37. The param2 parameter is not used with function 37. last-params = status of device Status values are: last-params for printer (subtype 1 or 5) (only last-params [0] is used) All other bits are undefined. .<5> = DOV, data overrun 0 = no overrun 1 = overrun occurred .<7> = CLO, connector loop open 0 = not open 1 = open (device unplugged) .<8> = CID, cable identification 0 = old cable 1 = new cable .<10> = PMO, paper motion 0 = not moving 1 = paper moving .<11> = BOF, bottom of form 0 = not at bottom 1 = at bottom .<12> = TOF, top of form 0 = not at top 1 = at top .<13> = DPE, device parity error 0 = parity OK 1 = parity error .<14> = NOL, not on line 0 = on line 1 = not on line .<15> = NRY, not ready 0 = ready 1 = not ready Note: Ownership, Interrupt Pending, Controller Busy, and Channel Parity errors are not returned in last-params; your application program "sees" them as normal file errors. Also, CID must be checked when PMO, BOF, and TOF are tested, because the old cable version does not return any of these states. Guardian Programming Reference Summary for pTAL and TAL —522631-001 11 -11
  • 326.
    SETMODE Operations <function> Parameters and Effect 37 last-params for printer (subtype 4) (continued) last-params [0] = primary status returned from printer: .<9:11> = full status field 0 = partial status 1 = full status 2 = full status / VFU fault 3 = reserved for future use 4 = full status / data parity error 5 = full status / buffer overflow 6 = full status / bail open 7 = full status / auxiliary status available .<12> = buffer full 0 = not full 1 = full .<13> = paper out 0 = OK 1 = paper out .<14> = device power on 0 = OK 1 = POWER ON error .<15> = device not ready 0 = ready 1 = not ready All other bits are undefined. last-params [1] = auxiliary status word if last-params [0].<9:11> = 7; auxiliary status word is as follows: .<9:13>= auxiliary status 0 = no errors this field 1 = no shuttle motion 2 = character generator absent 3 = VFU channel error 4-31 = reserved for future use .<14:15> = always 3 All other bits are undefined. last-params for printer (subtype 6) last-params [0] contains the primary status [1] contains the auxiliary status Guardian Programming Reference Summary for pTAL and TAL —522631-001 11 -12
  • 327.
    SETMODE Operations <function> Parameters and Effect 37 Primary status bits are: (continued) [0].<0:8> = 0 undefined .<9> = 1 reserved .<10:12> = 0 no faults = 1 printer idle = 2 paper out = 3 end of ribbon = 4 data parity error = 5 buffer overflow = 6 cover open = 7 auxiliary status available .<13> = 0 buffer not full = 1 buffer full .<14> = 0 OK = 1 device power on error .<15> = 0 OK = 1 device not ready If primary status last-params [0].<10:12> = 7, auxiliary status word is: [1].<0:7>= undefined .<8:11>= fault display status (most significant hex digit) .<12:15>= fault display status (least significant hex digit) Fault display status summary: Operator Aux Status Aux StatusProblem Display. <8:11>.<12:15>Description None 00 No faults E01 01 Paper out E03 03 Cover open E06 06 End of ribbon E07 07 Break E11 11 Parity error E12 12 Unprintable character E22 22 Carrier loss E23 23 Buffer overflow E30 30 Printwheel motor fault E31 31 Carriage fault E32 32 Software fault E34 34 Hardware fault Guardian Programming Reference Summary for pTAL and TAL —522631-001 11 -13
  • 328.
    SETMODE Operations <function> Parameters and Effect 38 Terminal: Set special line-termination mode and character param1 =0 sets special line-termination mode. The value of param2 is the new line- termination character. The line-termination character is not counted in the length of a read. No system-supplied carriage return or line feed is issued at the end of a read (see note on cursor movement below). =1 sets special line-termination mode. The value of param2 is the new line- termination interrupt character. The line-termination character is counted in the length of a read. No system-supplied carriage return or line feed is issued at the end of a read (see note on cursor movement below). =2 resets special line-termination mode. The line-termination interrupt character is restored to its configured value. The param2 parameter must be present but is not used. param2 = the new line-termination interrupt character (passed in bits <8:15>) if param1 = 0 or 1. The last-params parameter, if present, returns the current mode in last- params [0] and the current line-termination interrupt character in last-params [1]. Note: Although the cursor typically will not move when 0 or 1 is specified for param1, these options do not turn off ECHO. Therefore, if the termination character is one which would normally cause cursor movement (such as an LF or a CR) and ECHO is enabled, cursor movement will occur. Note. SETMODEs 40-49 are reserved for the Exchange products. Refer to the Exchange reference manuals for details. Guardian Programming Reference Summary for pTAL and TAL —522631-001 11 -14
  • 329.
    SETMODE Operations <function> Parameters and Effect 50 Enable/disable 3270 COPY param1= = 0 suppress COPY = 1 allow COPY 51 Get/set 3270 status param1 status flags mask to set The param2 parameter is not used with function 51. Refer to the Device-Specific Access Methods–AM3270/TR3271 manual for the flags mask information. 52 Tape drive: Set short write mode param1 = 0 allow writes shorter than 24 bytes; a record shorter than 24 bytes is padded with zeros to a length of 24 bytes (default). = 1 disallow writes shorter than 24 bytes. = 2 allow writes shorter than 24 bytes; no padding is done on records shorter than 24 bytes. param2 is not used with function 52. Note: When short writes are disallowed, an attempt to WRITE or WRITEUPDATE a record that is shorter than 24 bytes causes error 21 (bad count) to be issued. 53 Enable/disable receipt of status param1 = 0 disable status receive = 1 enable status receive param2 = the response ID 54 Return control unit and device assigned to subdevice The param1 parameter is not used with function 54. The param2 parameter is not used with function 54. last-params [0] .<0:7> = 0 .<8:15> = subdevice number known by AM3270 [1] .<0:7>= standard 3270 control-unit address .<8:15>= standard 3270 device address Guardian Programming Reference Summary for pTAL and TAL —522631-001 11 -15
  • 330.
    SETMODE Operations <function> Parameters and Effect 57 Disk: Set serial writes option param1 = 0 system automatically selects serial or parallel writes (default). = 1 change the file label default value of the serial writes option. The param2 parameter is used with DP2 disk files only. param2 = 0 change the open option setting of the serial writes option (default). = 1 change the file label default value of the serial writes option. 59 Return count of bytes read param1 = count of actual bytes read param2 = 0 66 Tape drive: Set density param1= 0800 BPI (NRZI) = 1 1600 BPI (PE) = 2 6250 BPI (GCR) = 3 as indicated by switches on tape drive The param2 parameter is not used with function 66. 67 AUTODCONNECT for full-duplex modems: Monitor carrier detect or data set ready param1 = 0 disable AUTODCONNECT (default setting). = 1 enable AUTODCONNECT. The param2 parameter is not used with function 67. 68 Line printer (subtype 4): Set horizontal pitch param1 = 0 normal print (default) = 1 condensed print = 2 expanded print The param2 parameter is not used with function 68. 71 Set transmission priority. Transmission authority is used by an Expand process to determine the ordering of messages for transmission on an Expand path. This operation indirectly invokes the network utility process, $ZNUP, on a remote system to get information before the request can be serviced. The param1 parameter is not used with function 71. param2.<0:7>= 0 (reserved) .<8:15>= transmission priority The transmission priority value can range from 0 through 255. A value of 0 (the default) causes the processor priority of the process to be used as the transmission authority. A value of 1 is the lowest priority; 255 is the highest priority. Once a path is selected, the Expand process processes the highest- priority message first. Guardian Programming Reference Summary for pTAL and TAL —522631-001 11 -16
  • 331.
    SETMODE Operations <function> Parameters and Effect 72 Force system buffering for nowait files param1 = 1 force use of intermediate buffer in PFS for read operations. (Nowait write operations always require the data to remain unchanged until completion of the information. = 0 allow the system to make transfers directly from user buffers. The default value for files opened by FILE_OPEN_ is 0; for files opened by OPEN, it is 1. The param2 parameter is not used and its value should be zero if supplied. 80 ($RECEIVE): Set system message modes param1 .<0:12>should be zero. .<13> = 0 disable reception of -38 messages (default). = 1 enable reception of cancellation (-38) messages. .<14> = 0 disallow reception of SETPARAM (-37) messages, returning error 2 to processes attempting SETPARAM calls (default). = 1 allow reception of SETPARAM (-37) messages. .<15> = 0 disallow return of last-param values for SETMODE (-33) messages, returning error 2 to processes attempting to obtain them (default). = 1 allow last-param values to be returned for SETMODE (-33) messages. The extended form of the -33 message will be delivered under this mode. The param2 parameter is not used and should be zero if supplied. 90 Disk: Set buffered option defaults same as CREATE param1 = 0 buffered = 1 write-through param2 is used with DP2 disk files only. param2 = 0 change the open option setting of the buffered option (default). = 1 change the file label default value of the buffered option. This function operates only on Guardian objects. If an OSS file is specified, file-system error 2 occurs. Guardian Programming Reference Summary for pTAL and TAL —522631-001 11 -17
  • 332.
    SETMODE Operations <function> Parameters and Effect 91 Disk: Set cache and sequential option (Function 91 is not applicable for alternate-key files.) param1 = 0 system managed (default). DP2 will detect sequential access; when detected, it will set LRU access to sequential and perform key-sequenced sequential splits. = 1 direct I/O, bypass disk cache. = 2 random access, LRU-chain buffer. = 3 sequential access, reuse buffer. Directs DP2 to set cache. LRU access to sequential and perform key-sequenced sequential splits. The param2 parameter is not used with function 91. Sequential LRU access results in “random” LRU chaining that provides an approximate half-life within the LRU cache chain. Key-sequenced sequential splits attempt to leave the inserted record as the last in the old block, in contrast to a 50/50 split. This helps to ensure a compact key-sequenced structure when multiple sequential records are inserted. 92 Disk: Set maximum number of extents for a nonpartitioned file. (Function 92 is invalid for audit-trail files and for partitioned non-key-sequenced files.) The param1 parameter specifies the new maximum number of extents value. There is no guarantee of success if you specify a value greater than 500. The default is 16 extents. The param2 parameter is not used with function 92. This function operates only on Guardian objects. If an OSS file is specified, file-system error 2 occurs. 93 Disk: Set buffer length for an unstructured file param1=new BUFFERSIZE value, must be valid DP2 block size. Valid DP2 block sizes are 512,1024, 2048, 4096 bytes (the default is 4096 bytes). The param2 parameter is not used with function 93. This function operates only on Guardian objects. If an OSS file is specified, file-system error 2 occurs. 94 Disk: Set audit-checkpoint compression option for an Enscribe file. param1 = 0 no audit-checkpoint compression (default) = 1 audit-checkpoint compression enabled param2 = 0 change the open option setting of the audit-checkpoint compression option (default). = 1 change the file label default value of the audit-checkpoint compression option. Guardian Programming Reference Summary for pTAL and TAL —522631-001 11 -18
  • 333.
    SETMODE Operations <function> Parameters and Effect 95 Disk: Flush dirty cache buffers The param1 parameter is not used with function 95. The param2 parameter is not used with function 95. If last-params is specified, SETMODE returns: 0 = broken file flag off after dirty cache blocks were written to disk 1 = broken file flag on, indicating some part of file is bad, possibly due to failed write of a dirty cache block 97 License program to use privileged procedures param1 = 0 disallow privilege (revoke license) = 1 allow privilege (license) The param2 parameter is not used with function 97. To use this SETMODE function on a Guardian file, the user must be logged on as the super ID (255,255) on the system where the file is located. To use this function on an OSS object, the user must have appropriate privilege; that is, the user must be locally authenticated as the super ID on the system where the target object resides. 99 TAPEPROCESS error recovery method param1 = 0 record level (default) = 1 file level = 2 volume level Once set, the error recovery method remains set until changed or until the application closes TAPEPROCESS. The param2 parameter is not used with function 99. Note. SETMODEs 100-109 are reserved for customer use. Guardian Programming Reference Summary for pTAL and TAL —522631-001 11 -19
  • 334.
    SETMODE Operations <function> Parameters and Effect 110 Set Shift In/Shift Out (SISO) code extension technique for an individual subdevice Note: SETMODE 110 is supported in AM6520 for CRT protocol when used for 6530 terminals, ITI protocol for 6530 terminals, and PRT protocol for 5520 printers. param1 = 0 disable SISO (default setting) = 1 enable SISO Theparam2 parameter is not used with function 110. 112 Session in Between Brackets (BETB) state Places SNAX LU-LU session in BETB state so that either the first speaker or the bidder can bid to open a new bracket. param1 = 0 disable = 1 enable placing session in the BETB state 113 Set screen size param1 = the screen width (40, 66, 80, or 132) param2 = the screen length (25 or 28) The last-params parameter is an integer reference parameter containing two elements: last-params[0]= old param1 [1]= old param2 115 SNA Control Request Notification param1 = 0 disable = 1 enable control request notification Users of CRT protocol can receive notification that a CINIT or CTERM request has been sent by the SSCP to the PLU. 116 Terminal: Establish extended address field for ADCCP (ABM only) combined stations. See the Envoy ACP/XF Reference Manual. Guardian Programming Reference Summary for pTAL and TAL —522631-001 11 -20
  • 335.
    SETMODE Operations <function> Parameters and Effect 117 Process files: Set TRANSID forwarding param1 = 0 normal mode (default for process subtypes other than 30 and 31): If a transaction identifier is in effect at the time of a write, read, or writeread on the process file, it is sent with the request so that the receiver will operate under the transaction. = 1 suppress mode (default for process subtypes 30 and 31): A transaction identifier is never associated with a message on the process file, whether or not one is in effect for the sending process. The SETMODE action is local to the program that calls SETMODE; no SETMODE message is sent to the destination process. If this SETMODE function is invoked in a process pair, provision should be made to either call CHECKSETMODE or to reexecute the SETMODE call at the time of a takeover. 119 Tape drive: Set mode param1 = 0 set start/stop mode = 1 set streaming mode Theparam2 parameter is not used with function 119. Only the 3209 controller supports both options of SETMODE 119. The 3208 and 3211 controllers supports this SETMODE function only when param1 = 0. The 3214 and 3215 controllers support this SETMODE function only when param1 = 1. 120 Return end-of-tape (EOT) message when writing labeled tapes param1 = 0 volume switching is transparent = 1 notify user of volume switch by sending error 150 (EOT). COBOL applications do not receive error 150 (EOT); the COBOL run-time library (RTL) handles this error transparently. Theparam2 parameter is not used with function 120. 123 Disk: Set the generic lock key length of a key-sequenced file (DP2 only). param1=lock key length. The generic lock key length determines the grouping of records that will share a single lock. This value must be between 0 and the key length of the file. If locks are in force at the time of the call, this SETMODE function is rejected with error 73. The key length value applies to all partitions of a file. Alternate keys are not affected. If the lock key length is nonzero and less than the key length of the file, the keys are not affected. If the lock key length is nonzero and less than the key length of the file, generic locking is activated and calls to UNLOCKREC are thus ignored. Generic locking is turned off by giving a lock key length of 0 or equal to the key length of the file (which is equivalent to 0). Theparam2 parameter is not used and should be zero if supplied. Note that when generic locking is activated, any write is rejected with error 73 if it attempts to insert a record having the same generic lock key as an existing lock owned by another user, whether for audited or nonaudited files. Guardian Programming Reference Summary for pTAL and TAL —522631-001 11 -21
  • 336.
    SETMODE Operations <function> Parameters and Effect 141 DP2 disk file: Enable/disable large transfers param1 = 1 enable large transfers = 0 disable large transfers (This is the default value when the file is opened.) The param2 parameter is not used with function 141. Thelast-params parameter [0] contains the previous setting of the large transfer mode flag. Thelast-params parameter [1] if param1 is 1, this contains the value of the file's broken flag after the cache has been flushed. If param1 is 0, this contains a 0. SETMODE 141 is valid only for DP2 disk files. When enabled by a SETMODE 141 (or SETMODENOWAIT 141), a read or write operation can transfer up to 56K bytes of data to a DP2 disk file if the operation is local or over a FOX connection, or up 32K bytes if it is through Expand. Large transfer operations are allowed on remote DP2 files if the DP2 disk process is at release level C00 or higher. If this SETMODE function is waited and any nowait I/O operations are outstanding at the time SETMODE is called, the SETMODE is not done. The condition code is set to CCL and error 27 is returned. When this SETMODE function is issued with param1 set to 1, DP2 flushes and removes all blocks for the file from its cache. This ensures that any updates done by the user before the SETMODE are written to disk. The file must have been opened with the unstructured access option specified, even if the file is unstructured. There is no support for alternate-key files or partitions. Because the file is opened for unstructured access, secondary partitions and alternate-key files are not opened. Guardian Programming Reference Summary for pTAL and TAL —522631-001 11 -22
  • 337.
    SETMODE Operations <function> Parameters and Effect 141 If the file is audited and structured, the file must be opened with an access (continued) mode of read-only. The exclusion mode can be shared, protected, or exclusive. If the exclusion mode is shared, updates done by other openers of the file might not be seen by this opener. If the file is audited and unstructured, only read operations can be performed on the file after this SETMODE is issued with param1 set to 1. Write operations must not be issued until the SETMODE is reissued with param1 set to 0. If the file is not audited, the file can be opened with any access mode and any exclusion mode. If the exclusion mode is shared, updates done by other openers of the file might not be seen by this opener. To issue write requests after the SETMODE is issued with param1 set to 1, the exclusion mode must be exclusive. Once the large transfer mode is enabled, only the data transfer operations of READX, READUPDATEX, WRITEX, and WRITEUPDATEX are allowed. No record locks are supported. READX and WRITEX use the record address in NEXTREC. READUPDATEX and WRITEUPDATEX use the record address in CURREC. POSITION can be used to set CURREC and NEXTREC. Relative byte addressing is used for positioning. The operation is done nowait if the file is opened for nowait I/O. The operation must then be completed by a call to AWAITIOX. The operation can be canceled by CANCEL or CANCELREQ. With the large transfer mode enabled, data is read or written directly from the user's buffer. The user's buffer is locked in memory until completion of the operation. The data is not moved to or from the PFS. If the I/O is done nowait, the user should not modify or examine the data in the buffer until the I/O has finished. This also applies to other processes sharing the segment containing the buffer. If the I/O is done in a nowait manner and the buffer is in the stack, the buffer must be in the high end of the stack. The record address (in NEXTREC or CURREC) must be on a page boundary (a multiple of 2K bytes) or error 550, “illegal position," will be returned. Note that, as usual, when performing successive READXs without intervening POSITIONs, NEXTREC is incremented by the count actually read. Just before the EOF, the count read will probably not be a multiple of 2K bytes, hence violating the record address constraint for the next READX call. A POSITION before each READX call ensures that the record address meets the page boundary constraint. If -1D positioning is used, the current EOF must be on a page boundary; otherwise, the disk process returns an error. If -1D positioning is used or writes are done that change the EOF, some performance gains are lost. When the EOF is changed, DP2 must do extra checkpoints. To avoid the extra checkpoints, issue a CONTROL 2 to set the EOF to a high value before starting a series of large writes. When the writes are complete, another CONTROL 2 can be issued to set EOF to the correct value. Guardian Programming Reference Summary for pTAL and TAL —522631-001 11 -23
  • 338.
    SETMODE Operations <function> Parameters and Effect 141 The length of the transfer cannot be more than 57,344 bytes. The length must (continued) be a multiple of 2K bytes. Although up to 56K bytes are transferred to the disk process in one operation, the actual transfer to the disk might not be 56K bytes at once. The disk process must do the actual data transfer to the disk in smaller pieces if more than one file extent is crossed or the controller is not a 3107 or 3108. Also, some Expand connections do not support transfers of more than 30K bytes and return an error if a larger transfer is attempted. Large transfer requests are considered repeatable, so no sync ID is passed to the disk process. If the file is opened with a positive sync depth, normal retries occur after path failures. A positive sync depth should not be used with -1D positioning, because writes to the end of a file are not repeatable. If a path failure occurs, determine whether the data was written before the path failure. If the data was not written, issue a retry. Since DP2's cache is bypassed by these operations and the data is read from or written to the disk file directly, records or blocks modified by other openers might not be seen by these requests. The user might see "dirty" data if access mode and exclusion mode are not set carefully. 142 Select Character Set param1 = 1 select IBM PC character set. = 0 select default character set. Theparam2 parameter is not used with function 141. If supplied, it must be 0. For 5512 , 5515/5516, and 5573 printers, the I/O process sends the following ESC sequences to select the character set: ESC(1OUselect IBM PC character set. ESC(1O@select default character set. Note: These printers do not come equipped with the IBM PC character set; it can be installed later. To use this operation, the printer must have the IBM PC character set installed on the printer. If the printer does not have the IBM PC character set installed, the printer ignores the SETMODE 142. Guardian Programming Reference Summary for pTAL and TAL —522631-001 11 -24
  • 339.
    SETMODE Operations <function> Parameters and Effect 144 Sets LU character set and double-byte character code Theparam1 parameter must be omitted for function 144. Theparam2 parameter must be omitted for function 144. last-params [0].<0> = 0 no translation =1SNAX does EBCDIC/ASCII translation .<1:7>=IBM device type 1=IBM-3277 2=not 3277 or 3276 3=IBM-3276 .<8:15>=value of LU attribute ALLOWEDMIX [1].<0:7>=LU character set 0=ASCII (USASCII) 9=EBCDIC (IBM EBCDIC) 14 =KATAKANA EBCDIC .<8:15>=double-byte character set 0=No DBCS 2=IBMKANJI 3=IBMMIXED 5=JEFKANJI 146 Queue waiters for disk file write param1 = 0 disables the effect of param1 = 1 causes CONTROL 27 requests to be queued and completed one at a time; otherwise all are completed by the first write. The param2 parameter is not used with function 146. SETMODE 146 remains in effect until the file has no more openers. When there are no more openers, the effect of SETMODE 146 is lost and the next open must repeat this SETMODE function. 149 Disk: Alternate key insertion locking param1 = 0 no automatic locking (default): locking and unlocking during insertion is not automatically performed. = 1 automatic locking: writes of record with alternate keys are locked at the beginning of insertion and unlocked after all associated alternate key record insertions are complete. This prevents interference from programs attempting concurrent update of the same record. The param2 parameter must be zero if supplied. SETMODE 149 is not valid (nor needed) for audited files. For process pairs, the mode needs to be set in the backup by CHECKSETMODE. If the file is a key-sequenced file using the generic locks feature, the lock established by automatic locking might not be released automatically at the end of the write processing. Guardian Programming Reference Summary for pTAL and TAL —522631-001 11 -25
  • 340.
    SETMODE Operations <function> Parameters and Effect 152 Disk: Skip cache flushing when closing nonaudited file (C30.00 and later releases only) param1 .<15> = 1 for nonaudited disk files, causes the cache not to be flushed when the file is closed unless the close is either for the last open with write access or for the last open with a nonzero sync-depth value. = 0 disables the effect of SETMODE 152 with param1 = 1. The param2 parameter is not used with function 152. If it is supplied, it must be 0. To be effective, SETMODE 152 should be performed for each open of a file. Any open that does not perform SETMODE 152 causes a flush of the cache when it closes the file. 153 Disk: Variable-length audit compression. (D10.00 and later releases. This function should be avoided if a fallback to a release earlier than D10.00 is possible.) Enable or disable variable-length audit compression for any structured Enscribe file. param1 = 1 enables variable-length audit compression. = 0 disables variable-length audit compression. The param2 parameter is not used with function 153. If supplied, it must be 0. CAUTION: Since this feature generates undo and redo that cannot be processed correctly by earlier releases of the disk process, a fallback to a release earlier than D10.00 can result in problems. If a fallback to a release earlier than D10.00 is possible, this function should be avoided. If this function is used and a fallback becomes necessary, the following steps should be taken: 1) The TMF subsystem should be stopped while the affected volumes are brought up. The TMF subsystem can subsequently be restarted. 2) Once the earlier version of the operating system is running, new TMF online dumps should be acquired for any TMF-protected files on which SETMODE function 153 was used if TMF rollforward protection is required. 162 Override System Compression Default on 5190 Cartridge Tape param1 = 1 No data compression = 2 Data compression (DRC) The param2 parameter is not used with function 162. Users of unlabeled tapes who do not want to use the default compression setting can use SETMODE 162 to override the default setting. BACKUP and FUP do not support this operation. This operation is allowed only at the beginning of tape (BOT). For more information about the 5190 Cartridge Tape Subsystem, refer to the 5190 Cartridge Tape Subsystem Manual. Guardian Programming Reference Summary for pTAL and TAL —522631-001 11 -26
  • 341.
    SETMODE Operations <function> Parameters and Effect 163 SNAX:Enhanced CDI mode param1 = 0 enables normal mode (disables all enhanced CDI support). = 1 enables enhanced CDI mode. = 2 enables special WRITEREAD mode (allows applications to determine the setting of CDI by using the WRITEREAD procedure; using WRITEREAD causes the outbound data buffer to be sent with CDI enabled). The param2 parameter is not used with function 163. A SETMODE 163 call applies only to the opener, not to the device that is opened; another SETMODE 163 call must be made if the file is closed. Enhanced CDI mode is supported only by the SNAX/XF and SNAX/CDF products. For more information about enhanced CDI mode, refer to the SNAX/XF Application Programming Manual and the SNAX/CDF Application Programming Manual. 165 SNAX:Exception response (ER) mode param1 = 0 disables ER mode. The LU sends outbound LU-LU FMD requests in definite response (DR) mode. This is the default value if SCF or SPI has not been used previously to configure ER mode; otherwise, the SCF or SPI configuration value is used. = 1 enables ER mode for applications existing prior to the introduction of ER mode. The LU sends outbound LU-LU FMD requests in ER mode. However, error 122 is sent on a negative response instead of error 951. = 2 enables ER mode for applications using the ER mode features. The LU sends outbound LU-LU FMD requests in ER mode. Error 951 is sent on a negative response. The param2 parameter is not used with function 165. The last-params [0] parameter contains the previous value of param1. The last-params [1] parameter contains the number of outbound requests required per device before an ER mode sync point is automatically generated on behalf of the user. ER mode is supported only by the SNAX/XF product. Specifying this function for SNALU causes an error 2 (invalid operation) to be returned. Passing a value other than one of those listed above causes an error 590 (invalid parameter value) to be returned. A SETMODE 165 call applies only to the opener, not to the device that is opened; another SETMODE 165 call must be made if the file is closed. For more information about ER mode, refer to the SNAX/XF Application Programming Manual. Guardian Programming Reference Summary for pTAL and TAL —522631-001 11 -27
  • 342.
    SETMODE Operations <function> Parameters and Effect 260 Printer: Enable PostScript printing param1 = 1 The FASTP print process sends the PCL command to switch the printer to PostScript mode. At the end of the job and before the next job prints, the printer is returned to PCL mode. = 0 The FASTP print process sends the PCL command to switch the printer back to PCL mode. The param2 parameter is not used with function 260. Function 260 applies only to 5577 printers. When PostScript mode is in effect, SETMODE 142 and CONTROL 1 are ignored and FASTP inhibits the sending of other PCL sequences such as page eject and job offset. For programming information about SETMODE function 260, refer to the Guardian Programmer’s Guide. Guardian Programming Reference Summary for pTAL and TAL —522631-001 11 -28
  • 343.
    12 Completion Codes For a more detailed description of the completion codes, refer to the Guardian Procedure Calls Reference Manual. Completion Code Definition 0 Normal, voluntary termination with no errors. 1 Normal, voluntary termination with WARNING diagnostics. 2 Abnormal, voluntary termination with FATAL errors or diagnostics. 3 Abnormal, voluntary, but premature termination with FATAL errors or diagnostics. 4 A process associated with a RUN statement never started. 5 Process calls PROCESS_STOP_ (with abnormal termination specified) or ABEND on itself. 6 PROCESS_STOP_, STOP, or ABEND was called to delete a process by an external, but authorized, process. 7 Restart this job. 8 Code 8 is the same as code 1 (normal termination), except that you must examine the listing file to determine whether the results are acceptable. 9 A OSS kill() or raise() function generated a signal that stopped the process. The following completion codes are reserved for Tandem use: Completion Code Definition -1 A trap was detected. -2 A process terminated itself but the operating system has a resource problem and cannot pass along the requested completion code and the associated termination information. -3 This code is returned by the system when a process terminating itself passed bad parameters to PROCESS_STOP_, STOP, or ABEND. -4 This code is returned by the system when a processor failure caused the name of a process to be deleted (that is, the only process running under that name was in the processor that failed). -5 A communications or resource failure occurred during the execution of one of the functions in the OSS exec or tdm_exec sets of functions; or an initialization failure of the new process occurred when it was too late for the exec or tdm-exec function to return an error to the caller. -6 An OSS process terminated when it caused a hardware exception. Guardian Programming Reference Summary for pTAL and TAL —522631-001 12- 1
  • 344.
    Completion Codes Completion Code Definition -7 An OSS process terminated as a result of a corrupted stack frame or register state. -8 An OSS process terminated because of insufficient user stack space for signal recovery. -9 An OSS process terminated because of insufficient PRIV stack space for signal recovery. -10 An OSS process terminated because it was unable to obtain resources for signal delivery. -11 An OSS process terminated because it attempted to resume from a nonresumable signal. -12 One of the functions in the OSS exec or tdm_exec sets of functions executed successfully. -13 The OSS open() or dup() function performed by the PROCESS_SPAWN_ procedure failed. Guardian Programming Reference Summary for pTAL and TAL —522631-001 12- 2
  • 345.
    13 Traps Fora more detailed description of the traps, refer to the Guardian Procedure Errors and Messages Manual. Trap Number Signal Name Trap Description 0 (%0) SIGSEGV Illegal address reference 1 (%1) SIGILL Instruction failure 2 (%2) SIGFPE Arithmetic overflow 3 (%3) SIGSTK Stack overflow 4 (%4) SIGTIMEOUT Process loop-timer timeout 5 (%5) SIGLIMIT Call from process with PIN greater than 255 11 (%13) SIGMEMMGR Memory manager read error 12 (%14) SIGNOMEM No memory available 13 (%15) SIGMEMERR Uncorrectable memory error Guardian Programming Reference Summary for pTAL and TAL —522631-001 13- 1
  • 346.
    Traps Guardian Programming Reference Summary for pTAL and TAL —522631-001 13- 2
  • 347.
    14 Interprocess Messages Interprocess Command Interpreter Messages For a complete description of the command interpreter interprocess messages, refer to the Guardian Programmer’s Guide. Unless otherwise specified, file name are in internal (expanded) format. Note that the user ID of a user who is logged off is 0 and the user ID of the null user (0.0) is 0. -1 STARTUP STRUCT ci^startup; BEGIN ! word INT msgcode; ! [0] -1 STRUCT default; BEGIN INT volume [0:3]; ! [1] $default volume name INT subvol [0:3]; ! default subvolume name END; STRUCT infile; BEGIN INT volume [0:3]; ! [9] IN parameter of the INT subvol [0:3]; ! RUN command INT dname [0:3]; END; STRUCT outfile; BEGIN INT volume [0:3]; ! [21] OUT parameter of the INT subvol [0:3]; ! RUN command INT dname [0:3]; END; STRING param [0:n-1]; ! [33] parameter string for ! the RUN command ! n = ( count-read-66 ) END; Guardian Programming Reference Summary for pTAL and TAL —522631-001 14- 1
  • 348.
    Interprocess Messages -2 ASSIGN STRUCT ci^assign; BEGIN ! word INT msg^code; ! [0] -2 STRUCT logicalunit; ! target program name BEGIN ! target file specifier STRING prognamelen; ! [1] program name byte length STRING progname[0:30]; ! program name blank filled STRING filenamelen; ! [17] file name byte length STRING filename[0:30]; ! file name blank filled END; INT(32) fieldmask; ! [33] parameter bit mask ! if <bit> = 1 then ! parameter was entered ! <0> = file-name ! <1> = pri-extent-size ! <2> = sec-extent-size ! <3> = file-code ! <4> = exclusion-spec ! <5> = access-spec ! <6> = record-size ! <7> = block-size STRUCT physicalunit; ! file name assigned BEGIN ! to target file name INT volume [0:3]; ! [35] volume name INT subvol [0:3]; ! [39] subvolume name END; INT primaryextent; ! [47] pri-extent-size INT secondaryextent; ! [48] sec-extent-size INT filecode; ! [49] file-code INT exclusionspec; ! [50] %0000 = SHARED } ! %0020 = EXCLUSIVE } flag ! %0060 = PROTECTED } param INT accessspec; ! [51] %0000 = I/O } of ! %2000 = INPUT } OPEN ! %4000 = OUTPUT } INT recordsize; ! [52] record-size INT blocksize; ! [53] block-size END; Guardian Programming Reference Summary for pTAL and TAL —522631-001 14- 2
  • 349.
    Interprocess Messages -3 PARAM STRUCT ci^param; BEGIN INT msg^code; ! [0] -3 INT numparams; ! [1] number of parameters STRING parameters [0:1023] ! [2] parameters END; The field “parameters” in the above message format is composed of “numparams” records of the following form (offsets are given in bytes): param[0] = length n, in bytes, of parameter-name param[1] for n = parameter-name param[n+1] = length v, in bytes, of parameter-value param[n+2] for v = parameter-value -20 WAKEUP STRUCT wakeup^msg; BEGIN INT msgcode; ! -20 END; -21 DISPLAY STRUCT display^msg; BEGIN INT msgcode; ! -21 STRING text [0:n-1]; ! n <= 132. END; -50 LOGON STRUCT logon^msg; BEGIN INT msgcode; ! [0] -50 INT userid; ! [1] user’s logon ID INT cipri; ! [2] TACL execution priority INT ciinfile [0:11]; ! [3] TACL input file INT cioutfile [0:11]; ! [15] TACL output file END; Guardian Programming Reference Summary for pTAL and TAL —522631-001 14- 3
  • 350.
    Interprocess Messages -51 LOGOFF STRUCT logoff^msg; BEGIN INT msgcode; ! [0] -51 INT userid; ! [1] user’s logon ID INT cipri; ! [2] TACL execution priority INT ciinfile [0:11]; ! [3] TACL input file INT cioutfile [0:11]; ! [15] TACL output file END; -52 RUN STRUCT processcreation^msg; BEGIN INT msgcode; ! [0] -52 INT userid; ! [1] user’s logon ID INT cipri; ! [2] TACL execution priority INT ciinfile [0:11]; ! [3] TACL input file INT cioutfile [0:11]; ! [15] TACL output file INT progname [0:11]; ! [27] internal format ! program file name INT priority; ! [39] PRI parameter ! default: 0 INT processor; ! [40] CPU parameter ! default: 0 INT proginfile [0:11]; ! [41] IN parameter file name ! default:TACL input file INT progoutfile [0:11]; ! [53] OUT parameter file name ! default:TACL input file INT proglibfile [0:11]; ! [65] LIB parameter ! default: blanks INT progswapfile [0:11]; ! [77] SWAP parameter ! default: blanks END; -53 ILLEGAL LOGON STRUCT illegal^logon^msg; BEGIN INT msgcode; ! [0] -53 INT userid; ! [1] user’s illegal logon ID INT cipri; ! [2] TACL execution priority INT ciinfile [0:11]; ! [3] TACL input file INT cioutfile [0:11]; ! [15] TACL output file STRING [0:n]; ! [27] illegal logon string ! n<= 132 bytes END; Guardian Programming Reference Summary for pTAL and TAL —522631-001 14- 4
  • 351.
    Interprocess Messages -54 ADD USER STRUCT adduser^msg; BEGIN INT msgcode; ! [0] -54 INT userid; ! [1] user’s logon ID INT cipri; ! [2] TACL execution priority INT ciinfile [0:11]; ! [3] TACL input file INT cioutfile [0:11]; ! [15] TACL output file INT groupname [0:3]; ! [27] new user group name INT username [0:3]; ! [31] new user user name INT group^id; ! [35] new user group number INT user^id; ! [36] new user user number END; -55 DELETE USER STRUCT deluser^msg; BEGIN INT msgcode; ! [0] -55 INT userid; ! [1] user’s logon ID INT cipri; ! [2] TACL execution priority INT ciinfile [0:11]; ! [3] TACL input file INT cioutfile [0:11]; ! [15] TACL output file INT groupname [0:3]; ! [27] deleted user group number INT username [0:3]; ! [31] deleted user group name END; -56 ALTER PRIORITY STRUCT altpri^msg; BEGIN INT msgcode; ! [0] -56 INT userid; ! [1] user’s logon ID INT cipri; ! [2] TACL execution priority INT ciinfile [0:11]; ! [3] TACL input file INT cioutfile [0:11]; ! [15] TACL output file INT crtpid [0:3]; ! [27] process ID of process ! to be altered INT progname [0:11]; ! [31] file name of process ! to be altered INT priority; ! [43] the new priority INT phandle; ! [44] process phandle of ! process to be altered END; Guardian Programming Reference Summary for pTAL and TAL —522631-001 14- 5
  • 352.
    Interprocess Messages -57 PASSWORD STRUCT password^msg; BEGIN INT msgcode; ! [0] -57 INT userid; ! [1] user’s logon ID INT cipri; ! [2] TACL execution priority INT ciinfile [0:11]; ! [3] TACL input file INT cioutfile [0:11]; ! [15] TACL output file END; -58 REMOTE PASSWORD STRUCT remotepassword^msg; BEGIN INT msgcode; ! [0] -58 INT userid; ! [1] user’s logon ID INT cipri; ! [2] TACL execution priority INT ciinfile [0:11]; ! [3] TACL input file INT cioutfile [0:11]; ! [15] TACL output file INT sysname [0:3]; ! [27] remote password for ! this system END; -59 PRELOGON STRUCT prelogon^msg; BEGIN INT msgcode; ! [0] -59 INT userid; ! [1] user’s logon ID INT cipri; ! [2] TACL execution priority INT ciinfile [0:11]; ! [3] TACL input file INT cioutfile [0:11]; ! [15] TACL output file INT loggedon; ! [27] 0: TACL logged off ! >0 TACL logged on INT username [0:7]; ! [28] user’s attempted ! logon ID END Note. A logon message is sent to $CMON before VERIFYUSER or USER_AUTHENTICATE_ is performed. Guardian Programming Reference Summary for pTAL and TAL —522631-001 14- 6
  • 353.
    Interprocess Messages -60 CONFIGURATION STRUCT config^msg; BEGIN INT msgcode; ! [0] -60 INT userid; ! [1] user’s logon ID INT cipri; ! [2] TACL execution priority INT ciinfile [0:11]; ! [3] TACL input file INT cioutfile [0:11]; ! [15] TACL output file END; Guardian Programming Reference Summary for pTAL and TAL —522631-001 14- 7
  • 354.
    Interprocess Messages Interprocess System Messages For a complete description of the interprocess messages, refer to the Guardian Procedure Errors and Messages Manual. -2 CPU DOWN Word Description sysmsg[0] -2 sysmsg[1] processor number -3 CPU UP Word Description sysmsg[0] -3 sysmsg[1] for 4 processor number -10 SETTIME Word Description sysmsg[0] -10 sysmsg[1] processor number sysmsg[2] for 4 Signed change in microseconds (FIXED integer) sysmsg[6] Reason code 0 = Initial setting (Greenwich mean time [GMT] and local civil time [LCT] change) 1 = Subsequent adjustment (GMT and LCT time change) 2 = Daylight-saving time transition (LCT time change) -11 POWER ON Word Description sysmsg[0] -11 sysmsg[1] processor number -13 SYSTEM MESSAGE BUFFER OVERRUN Word Description sysmsg[0] -13 Guardian Programming Reference Summary for pTAL and TAL —522631-001 14- 8
  • 355.
    Interprocess Messages -21 3270 DEVICE STATUS RECEIVED Word Description sysmsg[0] -21 sysmsg[1] Response ID sysmsg[2] Actual TR3271 status bytes, in which the sense byte is <0:7> and the status byte is <8:15> sysmsg[3] Translation of the device status to status bits; the application might pass this word directly to TR3271 by way of SETMODE 51 to post the status on a TR3271 subdevice. -22 ELAPSED TIME TIMEOUT Word Description sysmsg[0] -22 sysmsg[1] Parameter 1 supplied to SIGNALTIMEOUT (0 if none) sysmsg[2] for 2 Parameter 2 supplied to SIGNALTIMEOUT (0D if none) -23 MEMORY LOCK COMPLETION Word Description sysmsg[0] -23 sysmsg[1] Parameter 1 supplied to LOCKMEMORY sysmsg[2] for 2 Parameter 2 supplied to LOCKMEMORY (if none, OD) -24 MEMORY LOCK FAILURE Word Description sysmsg[0] -24 sysmsg[1] Parameter 1 supplied to LOCKMEMORY (if none, 0) sysmsg[2] for 2 Parameter 2 supplied to LOCKMEMORY (if none, 0D) -26 PROCESS TIME TIMEOUT Word Description sysmsg[0] -26 sysmsg[1] Parameter 1 supplied to SIGNALPROCESSTIMEOUT (0 if none) sysmsg[2] for 2 Parameter 2 supplied to SIGNALPROCESSTIMEOUT (0D if none) Guardian Programming Reference Summary for pTAL and TAL —522631-001 14- 9
  • 356.
    Interprocess Messages -32 PROCESS CONTROL Word Description sysmsg[0] -32 sysmsg[1] Operation for CONTROL sysmsg[2] Operation parameter for CONTROL -33 PROCESS SETMODE Word Description sysmsg[0] -33 sysmsg[1] Function for SETMODE or SETMODENOWAIT sysmsg[2] Function parameter 1 for SETMODE or SETMODENOWAIT sysmsg[3] Function parameter 2 for SETMODE or SETMODENOWAIT If the receiving process can handle requests for last parameter information (by setting param1.<15> in a SETMODE 80 call), the flags word is included: Word Description sysmsg[4] Flags word: .<13> 1 if parameter 1 was supplied for SETMODE .<14> 1 if parameter 2 was supplied for SETMODE .<15> 1 if last-params was supplied for SETMODE -34 PROCESS RESETSYNC Word Description sysmsg[0] -34 -35 PROCESS CONTROLBUF Word Description sysmsg[0] -35 sysmsg[1] Operation parameter for CONTROLBUF sysmsg[2] Length of buffer data for CONTROLBUF in bytes sysmsg[3] for n Buffer data of length sysmsg[2] for CONTROLBUF Guardian Programming Reference Summary for pTAL and TAL —522631-001 14 -10
  • 357.
    Interprocess Messages -37 PROCESS SETPARAM Word Description sysmsg[0] -37 sysmsg[1] Function parameter for SETPARAM sysmsg[2] Flags word: .<14> 1 if parameter array was supplied .<15> 1 if parameter array was returned sysmsg[3] Length of parameter array in bytes sysmsg[4:n] Parameter array of length sysmsg[3] -38 QUEUED MESSAGE CANCELLATION Word Description sysmsg[0] -38 sysmsg[1] Message tag of canceled message -41 NOWAIT DEVICEINFO2 COMPLETION Word Description sysmsg[0] -41 sysmsg[1:2] Tag value from tag-or-timeout parameter sysmsg[3] File-system error code sysmsg[4] Devtype value sysmsg[5] Physical-recordlen value sysmsg[6] Diskprocess-version value -100 REMOTE CPU DOWN Word Description sysmsg[0] -100 sysmsg[1] for 2 Node number sysmsg[3] processor number sysmsg[4] Length of node name, in bytes sysmsg[5] for 3 Reserved sysmsg[8] for n Node name (including the backslash “”) of length sysmsg[4] Guardian Programming Reference Summary for pTAL and TAL —522631-001 14 -11
  • 358.
    Interprocess Messages -101 PROCESS DELETION Word Description sysmsg[0] -101 sysmsg[1] for 10 Process phandle of terminated process sysmsg[11] for 4 Process processor time in microseconds (a FIXED value) sysmsg[15] Process job ID; 0 if the process is not part of a job sysmsg[16] Completion code sysmsg[17] Termination information (0 if none supplied) sysmsg[18] for 4 SPI subsystem organization name sysmsg[22] SPI subsystem number sysmsg[23] SPI subsystem version sysmsg[24] for 10 Process phandle of external process causing termination; null if none sysmsg[34] Length of termination text in bytes sysmsg[35] Offset (from beginning of message) of process descriptor of terminated named process (pair) in bytes sysmsg[36] Length of process descriptor of terminated named process or process pair in bytes (0 if no text) sysmsg[37].<0:13> Reserved sysmsg[37].<14> OSS system type: 1 if terminated process was an OSS process, 0 if terminated process was a Guardian process sysmsg[37].<15> Abend: termination caused by ABEND if 1, STOP if 0 sysmsg[38] for 2 OSS process ID sysmsg[40] Reserved sysmsg[41] for n Termination text of length sysmsg[34] (80-byte limit). sysmsg[ ] for n Process descriptor of terminated named process or process pair of length sysmsg[36] -102 NOWAIT PROCESS_CREATE_ COMPLETION Word Description sysmsg[0] -102 sysmsg[1] for 2 Nowait-tag supplied to PROCESS_CREATE_ sysmsg[3] for 10 Process phandle of new process sysmsg[13] Error sysmsg[14] Error-detail Guardian Programming Reference Summary for pTAL and TAL —522631-001 14 -12
  • 359.
    Interprocess Messages Word Description sysmsg[15] Length of process descriptor of new process in bytes sysmsg[16] for 4 Reserved sysmsg[20] for n Process descriptor of new process of length sysmsg[15] -103 PROCESS OPEN Word Description sysmsg[0] -103 sysmsg[1] Access mode (access FILE_OPEN_ parameter) sysmsg[2] Exclusion mode (exclusion FILE_OPEN_ parameter) sysmsg[3] Nowait depth (from the nowait FILE_OPEN_ parameter) sysmsg[4] Sync depth (sync-or-receive-depth FILE_OPEN_ parameter) sysmsg[5] Open options (from the options FILE_OPEN_ parameter) sysmsg[6] User ID of opener (process access ID) sysmsg[7] Miscellaneous: <15> backup open: this is an open by a backup <14> the opener is on a different node from the receiver. <13> the opener’s user ID has not been verified locally (in the receiver’s node0); in any case it will have passed a remote password check <0:12> currently undefined; subject to change sysmsg[8] for 10 Backup open: contains process phandle of primary process Normal open: null process phandle sysmsg[18] Length of qualifier name in bytes sysmsg[19] Offset in bytes from the beginning of the message to the beginning of the opener process name sysmsg[20] Length of the opener process name in bytes sysmsg[21] For a backup open, the file number used by the primary. It is typically, but not always, the same as the backup. Unlike the old open message, this value is never negative. sysmsg[22] Creator access ID of the opener. Unlike the process access ID given earlier in the message, this ID is not verified by remote password checking. sysmsg[23] Offset from the beginning of the message to the beginning of the opener home terminal name in bytes sysmsg[24] Length of the opener home terminal name in bytes sysmsg[25] for 5 Reserved Guardian Programming Reference Summary for pTAL and TAL —522631-001 14 -13
  • 360.
    Interprocess Messages Word Description sysmsg[30] for n The qualifier portion of the name used to open the process, in external form (for example, “#PORT2.CTL”). The length of this item is in sysmsg[18]. It is zero length if no qualifier was given. sysmsg[ ] for n For a named opener, this is the process name in external process descriptor form (system, name, and sequence number). If the opening process is unnamed, the length is zero. In either case, the opener’s process handle is available from FILE_GETRECEIVEINFO_. Begins at offset sysmsg[19] with length sysmsg[20]. sysmsg[ ] for n Opener’s home terminal name in external format. Begins at offset sysmsg[23] with length sysmsg[24]. -104 PROCESS CLOSE Word Description sysmsg[0] -104 sysmsg[1] Tape disposition parameter for FILECLOSE_ -105 BREAK ON DEVICE Word Description sysmsg[0] -105 sysmsg[1] File number of the receiver’s open file of the terminal that indicated break (or -1 if unavailable). Before the D00.00 release, this is the file number to that device (or, if there is more than one, it can be the number of any of the files). The device must be open. sysmsg[2] for 2 Break tag value specified with SETPARAM -106 DEVICE TYPE INQUIRY Word Description sysmsg[0] -106 sysmsg[1] for 3 Reserved sysmsg[4] Length of the qualifier part of the file name being inquired about in bytes (zero if none given) sysmsg[5] for n Qualifier part of the file name being inquired about, in external format, of length sysmsg[4] Guardian Programming Reference Summary for pTAL and TAL —522631-001 14 -14
  • 361.
    Interprocess Messages -107 SUBORDINATE NAME INQUIRY Word Description sysmsg[0] -107 sysmsg[1] Flags: .<15> Skip if same; if set and the start name given below exists, skip it and return the following name. If equal to 0, return the start name if it exists. .<0:14> Reserved sysmsg[2] Length of the start name in bytes (zero if no start name) sysmsg[3] Offset from the beginning of the message to the beginning of the name pattern in bytes sysmsg[4] Length of the name pattern in bytes sysmsg[5] for 3 Reserved sysmsg[8] for n Start name: the qualifier part of the file name, in external format, at which to start searching for a name for sysmsg[2]. sysmsg[ ] for n Name pattern: the qualifier part of the pattern for which a name is to be returned at offset sysmsg[3] and length sysmsg[4] -108 NOWAIT FILE_GETINFOBYNAME_ COMPLETION Word Description sysmsg[0] -108 sysmsg[1] for 2 Tag value from the timeout-or-tag parameter to FILE_GETINFOBYNAME_ sysmsg[3] File-system error code for the request sysmsg[4] for 5 Type information (device type, and so on) having the same layout as described for the typeinfo parameter of FILE_GETINFOBYNAME_ sysmsg[9] Physical record length sysmsg[10] Flag value from the flags parameter to FILE_GETINFOBYNAME_: .<0:14> Currently undefined; subject to change .<15> 0 signifies a Guardian file, 1 signifies an OSS file -109 NOWAIT FILENAME_FINDNEXT_ COMPLETION Word Description sysmsg[0] -109 sysmsg[1] Search ID for the request sysmsg[2] The file-system error code for the request Guardian Programming Reference Summary for pTAL and TAL —522631-001 14 -15
  • 362.
    Interprocess Messages Word Description sysmsg[3] for 5 Information (device type, and so on) having the same layout as that of the entityinfo parameter of FILENAME_FINDNEXT_. If sysmsg[2] <> 0, the value of this field is undefined. sysmsg[8] Length of the returned name in bytes (zero if none present because of an error) sysmsg[9] for 2 Tag parameter from FILENAME_FINDNEXT_ sysmsg[11] for 3 Reserved sysmsg[14] for n Returned name, in external form of length sysmsg[8] -110 LOSS OF COMMUNICATION WITH NETWORK NODE Word Description sysmsg[0] -110 sysmsg[1] for 3 Reserved sysmsg[4] for 2 Node identifier sysmsg[6] Length of node name in bytes sysmsg[7] for n Node name (including the backslash “”) -111 ESTABLISHMENT OF COMMUNICATION WITH NETWORK NODE Word Description sysmsg[0] -111 sysmsg[1] for 3 Reserved sysmsg[4] for 2 Node identifier sysmsg[6] Length of node name in bytes sysmsg[7] for n Node name (including the backslash “”) -112 JOB PROCESS CREATION Word Description sysmsg[0] -112 sysmsg[1] Job ID sysmsg[2] for 10 Process handle of the newly created process Guardian Programming Reference Summary for pTAL and TAL —522631-001 14 -16
  • 363.
    Interprocess Messages -113 REMOTE CPU UP Word Description sysmsg[0] -113 sysmsg[1] for 2 Node identifier sysmsg[3] processor number sysmsg[4] Length of node name in bytes sysmsg[5] for 3 Reserved sysmsg[8] for n Node name (including the backslash “”) -141 PROCESS SPAWN Word Description sysmsg[0] -141 sysmsg[1] for 13 Reserved sysmsg[14] for 2 nowait-tag supplied to PROCESS_SPAWN_ sysmsg[16] for 2 ZSYS-DDL-PROCESSRESULTS.Z-LEN of process- results supplied to PROCESS_SPAWN_ sysmsg[18] for 10 ZSYS-DDL-PROCESSRESULTS.Z-PHANDLE of process-results (process handle of the new process sysmsg[28] for 2 ZSYS-DDL-PROCESSRESULTS.Z-PID of process- results (OSS pid of the new process sysmsg[30] for 2 ZSYS-DDL-PROCESSRESULTS.Z-ERRNO of process- results (OSS errno) sysmsg[32] ZSYS-DDL-PROCESSRESULTS.Z-TPCERROR of process-results (Guardian error) sysmsg[33] ZSYS-DDL-PROCESSRESULTS.Z-TPCDETAIL of process-results (Guardian error detail) Guardian Programming Reference Summary for pTAL and TAL —522631-001 14 -17
  • 364.
    Interprocess Messages -147 CONFIG GETINFO (G-Series Only) Word Description sysmsg[0] -147 sysmsg[1] Message version (must be equal to ZSYS-VAL-SMSG-CONFIGINFO-VERS) sysmsg[2] for 4 Device name for which configuration info is needed; blank- filled (can be all blanks) sysmsg[6] for 4 Subdevice name; blank-filled (can be all blanks) sysmsg[10] for 4 Secondary subdevice name qualifier; blank-filled (can be all blanks) Guardian Programming Reference Summary for pTAL and TAL —522631-001 14 -18
  • 365.
    15 Error Codes This section contains a list of error codes that are returned by Guardian procedure calls and the file system. For a full description of the error codes, refer to the Guardian Procedure Errors and Messages Manual. File-System Error Codes Code Description 0 Operation successful 1 End-of-file 2 Operation not allowed on this type of file 3 Failure to open or purge a partition 4 Failure to open an alternate key file 5 Failure to provide sequential buffering 6 System message received 7 Process not accepting control or setmode 8 Operation successful (examine MCW for additional status) 9 Operation successful, the data returned was locked by another user 10 File/record already exists 11 File not in directory or record not in file, or the specified tape file is not present on a labeled tape 12 File in use 13 Illegal file-name specification 14 Device does not exist 15 Volume specification supplied does not match name of volume on which file actually resides 16 File number has not been opened 17 Paired open was specified and the file is not open by the primary process, the parameters supplied do not match the parameters supplied when the file was opened by the primary, or the primary process is not alive 18 System does not exist 19 No more devices in logical device table 20 Attempt to open network file with a name either too long or not acceptable 21 Illegal count specified 22 Application parameter or buffer address is out of bounds 23 Disk address is out of bounds 24 Privileged mode required for this operation Guardian Programming Reference Summary for pTAL and TAL —522631-001 15- 1
  • 366.
    Error Codes Code Description 25 AWAITIO or CANCEL was attempted on a wait file 26 AWAITIO or CANCEL was attempted on a file with no outstanding operations 27 WAIT operation attempted when outstanding requests pending 28 Number of outstanding NOWAIT operations would exceed that specified, or attempt to open a disk file or $RECEIVE with maximum number of concurrent operations greater than 1, or attempt to add more than the configured maximum subdevices for an I/O process 29 Missing parameter 30 Unable to obtain main memory space for a message block 31 Unable to obtain file-system buffer space 32 Unable to obtain storage pool space (SYSPOOL) 33 I/O process is unable to obtain buffer space 34 Unable to obtain file-system control block 35 Unable to obtain I/O process control block 36 Unable to lock physical memory 37 I/O process is unable to lock physical memory 39 Server process received a request with a sync ID older than the set of saved replies 40 Operation timed out 41 CHECKSUM error on file synchronization block 42 Attempt to read from unallocated extent 43 Unable to obtain disk space for file extent 44 Disk directory is full or DCT is full 45 File is full 46 Invalid key specified 47 Key not consistent with file data 48 Security violation 49 Access violation, or attempt to use an unexpired labeled tape for output, or mismatch between DEFINE use attribute (INPUT or OUTPUT/EXTEND) and the current operation (read or write) 50 Directory error 51 Directory is marked bad 52 Error in disk free space table 53 File-system internal error or CP6100 file management interface error 54 I/O error in disk free space table or DP2 UNDO area 55 I/O error in directory Guardian Programming Reference Summary for pTAL and TAL —522631-001 15- 2
  • 367.
    Error Codes Code Description 56 I/O error on volume label 57 Disk free space table is full 58 Disk free space table is marked bad 59 File is bad 60 File resides on removed volume, device downed or not open, or server has failed and been replaced by a different process with the same name since it was opened 61 No more file opens permitted on this volume or device 62 Volume has been mounted, but mount order has not been given, file open not permitted 63 Volume has been mounted and mount is in progress, file open not permitted 64 Volume has been mounted and mount is in progress, file open not permitted 65 Only special requests permitted or one device up, one device special and special request to both 66 Device down, LIU not yet downloaded, hard failure occurred on controller, disk and controller incompatible, or both halves of a mirrored disk are down 70 Continue file operation 71 Duplicate record 72 Attempted access to unmounted partition or structured access to secondary partition 73 File/record locked 74 Number of READUPDATES without replies exceeds receive-depth, or ACTIVATERECEIVETRANSID or reply called with an invalid message-tag 75 Requesting process has no current process transid 76 Transaction is in the process of ending 78 Transid is invalid or obsolete 79 Attempt by transaction to update or delete a record that it has not previously locked 80 Invalid operation on audited file or nonaudited disk volume 81 Operation invalid for transaction that still has nowait I/Os outstanding on a disk or process file 82 The TMF subsystem has not been started up 83 Attempt to begin more concurrent transactions than can be handled 84 The TMF subsystem has not been configured 85 Device has not been started up for the TMF subsystem 86 BEGINTRANSACTION has been disabled 87 Waiting on a read request and did not get it 88 A control read is pending, new read invalid Guardian Programming Reference Summary for pTAL and TAL —522631-001 15- 3
  • 368.
    Error Codes Code Description 89 Remote device has no buffer available 90 Transaction aborted by system because its parent process died 91 Transaction aborted by system due to database ID inconsistency 92 Distributed transaction aborted by system due to network partition 93 Transaction spanning too many audit files aborted by system 94 Transaction aborted by operator command 95 Transaction aborted because of disk process takeover by BACKUP 96 Transaction aborted because it exceeded the AUTOABORT timeout duration 97 Transaction was aborted 98 Transaction monitor process’s network active transactions table is full 99 Attempt to use microcode option that is not installed 100 Device not ready or controller not operational 101 Tape write protected 102 Paper out, bail open, or end of ribbon 103 Disk not ready due to power failure 104 No response from device 105 Invalid VFU buffer 106 A previously buffered write has failed 110 Only BREAK access permitted 111 Operation aborted because of BREAK 112 READ or WRITEREAD preempted by operator message or too many user console messages 113 DEFINE attributes not valid for attempted function 114 X.25 network line problem – restart failure 115 X.25 network problem – reset failure 119 Error code value was too large to fit into 8-bit container 120 Data parity error, or attempt to access a tape whose density is higher than the switch setting on the tape drive 121 Data overrun error 122 Request aborted due to possible data loss caused by reset of circuit, or due to CLB sequence error or a DP2 disk process takeover 123 Subdevice busy 124 Line reset is in progress 130 Illegal address to disk 131 Write check error from disk Guardian Programming Reference Summary for pTAL and TAL —522631-001 15- 4
  • 369.
    Error Codes Code Description 132 Seek incomplete from disk 133 Access not ready on disk 134 Address compare error on disk 135 Write protect violation with disk 136 Unit ownership error (dual-port disk) 137 Controller buffer parity error 138 Interrupt overrun 139 Controller error 140 Modem error (communication link not yet established, modem failure, momentary loss of carrier, or disconnect) or FOX link to an EXPAND line handler is down 148 Invalid read or write from/to an optical disk 150 End-of-tape marker detected 151 Runaway tape detected, or attempt to access a tape whose density is lower than the switch setting on the tape drive 152 Unusual end or tape unit went offline or CP6100 file closed while requests in progress 153 Tape drive power on 154 BOT detected during backspace files or backspace records 155 Only nine-track magnetic tape allowed 156 Tape command rejected or communication protocol violation detected 157 I/O process internal error 158 Invalid function requested for Hyper Link 159 Device mode wrong for request, or attempt to execute the PUP PRIMARY command while the tape drive is waiting for a labeled tape mount 160 Request is invalid for device state 161 Impossible event occurred for line state 162 Operation timed out 163 EOT received or power at auto-call unit is off 164 Disconnect received or data line is occupied (busy) 165 RVI received or data line not occupied after setting call request 166 ENQ received or auto-call unit failed to set “present next digit” 167 EOT received on line bid or “data set status” not set after dialing all digits 168 NAK received on line bid or auto-call unit failed to clear “present next digit” after “digit present” was set Guardian Programming Reference Summary for pTAL and TAL —522631-001 15- 5
  • 370.
    Error Codes Code Description 169 WACK received on line bid or auto-call unit set “abandon call and retry” or station disabled or station not defined 170 No ID sequence received during circuit assurance mode or invalid MCW entry number on write 171 No response received on bid/poll/select, or reply invalid 172 Reply not proper for protocol 173 Maximum allowable NAKs received (transmission error) or invalid MCW on write or invalid request ID 174 WACK received or CLB frame aborted 175 Incorrect alternating ACK received or command reject 176 POLL sequence ended with no responder 177 Text overrun (insufficient buffer space for data transfer) 178 No address list specified 179 Application buffer is incorrect or control request pending or autopoll active 180 Unknown device status received 181 Status receipt currently enabled for subdevice 182 SNALU access method outbound RU error 183 SNA session has ended 187 Operation returning with no useful data 188 Damage to logical flow of events 189 Response not yet available 190 Device error 191 Device power on or terminal reset 192 Device in diagnose mode 193 Invalid or missing microcode file 194 Device use or mount request rejected by operator 195 Operation requires use of $ZSVR but it is not running 196 Tape label record missing or incorrect 197 An SQL error occurred 198 A DEFINE of the given name could not be found 199 Disk file is Safeguard protected 200 Device is owned by alternate port 201 Current path to the device is down or attempt was made to write to a nonexistent process or error in message system interface 210 Device ownership changed during operation Guardian Programming Reference Summary for pTAL and TAL —522631-001 15- 6
  • 371.
    Error Codes Code Description 211 Processor performing operation failed during operation 213 Channel data parity error 214 Channel timeout 215 I/O attempted to absent memory page 216 Memory breakpoint encountered during this I/O 217 Memory parity error during this I/O 218 Interrupt timeout 219 Illegal device reconnect 220 Protect violation 221 Controller handshake violation 222 Bad channel status from EIO instruction 223 Bad channel status from IIO instruction 224 Controller error 225 No unit or multiple units assigned to same unit number 230 Processor power failed, then restored 231 Controller power failed, then restored 232 Access denied, SMON communication error 233 SERVERCLASS_SEND_ error 240 Network line-handler error, operation not started 241 Network error, operation not started 246 External cluster bypass error, operation aborted 248 Network line-handler error, operation aborted 249 Network error, operation aborted 250 All paths to the system are down 251 Network protocol error 252 Required Expand class is not available 255 Too many interrupts or net line handler flooded 300-511 Reserved for application processes 538 Extent size is greater than 65,535 pages 541 A data structure version is incompatible with the requested operation 549 Block mode is not currently allowed on this terminal 550 Illegal position or key value 551 Duplicate exists for insertion-ordered alternate key 560 A PIN greater than 255 was encountered Guardian Programming Reference Summary for pTAL and TAL —522631-001 15- 7
  • 372.
    Error Codes Code Description 561 The system did not recognize an item code in a list 563 Buffer too small 564 The system detected an operation that is not allowed for this file type 565 Illegal request 566 Illegal reply 567 DEFINE used is incompatible for use with target system’s TOS version 573 Requested process handle cannot be returned 578 The block size specified is too large 579 The record size specified is too large for the given block size, file type, and format 580 An open failed because the file was oversize and the opener did not specify use of 64-bit primary keys 581 An operation involving 32-bit primary keys was attempted on an open that specified use of 64-bit keys 582 Alternate key information could not be returned because it cannot be expressed in the superseded format of the parameter 583 The extent size specified is too large for format 1 files 584 The operation could not be performed because a software component does not support format 2 disk files 590 Parameter value invalid or inconsistent with another 593 Request has been canceled 594 A DSM/TC error was returned to $ZSVR. Refer to the EMS log for detailed information. 595 A ZSSI error was returned to $ZSVR. Refer to the EMS log for detailed information. 597 Required item code in a list is missing 632 Insufficient stack space 634 The system detected a device number greater than 16 bits long 635 Optical disk volume cannot be locked or cannot be accessed because other side is locked 639 Process cannot be stopped until process goes to stopmode 0 640 DEBUGNOW is required instead of DEBUG for a privileged process 1091 Expiration date not reached 1163 Illegal operation attempted on a file having a system-reserved file name. 4000- Open System Services Error 4999 5001 Request rejected: requestor executing on a non-SMF system. (device type: 3.36, 25.0, or 52.0) Guardian Programming Reference Summary for pTAL and TAL —522631-001 15- 8
  • 373.
    Error Codes Code Description 5002 Creation of logical file rejected pending deletion of volume from storage pool. (device type: 3.36, 25.0, or 52.0) 5007 SMF access violation: insufficient SMF-privilege to access file. (device type: 3.36, 25.0, or 52.0) 5010 An error occurred during SMF lock manager processing. (device type: 3.36, 25.0, or 52.0) 5011 An error occurred during access of the ANT table. (device type: 3.36) 5012 An error occurred during access of the PENDOPS table. (device type: 3.36, 25.0, or 52.0) 5013 The name range for a physical volume is exhausted. (device type: 3.36) 5014 No physical volumes are available. (device type: 3.36) 5015 The outcome for the request is unknown. (device type: 3.36, 25.0, or 52.0) 5017 Unable to read one of the SMF catalog tables. (device type: 3.36, 25.0, or 52.0) 5018 An error occurred during message processing. (device type: 3.36, 25.0, or 52.0) 5028 Unable to read a received message. (device type: 3.36, 25.0, or 52.0) 5034 Unable to start the thread manager. (device type: 3.36, 25.0, or 52.0) 5035 Unable to start a thread. (device type: 3.36, 25.0, or 52.0) 5043 An error occurred during a read of a SMF catalog file. (device type: 3.36, 25.0, or 52.0) 5048 BEGINTRANSACTION error. (device type: 3.36, 25.0, or 52.0) 5049 A memory allocation failed. (device type: 3.36, 25.0, or 52.0) 5050 An unexpected error occurred during request processing. (device type: 3.36, 25.0, or 52.0) 5053 The SMF lock manager reached its lock threshold. (device type: 3.36, 25.0, or 52.0) 5064 An error occurred during recovery processing. (device type: 3.36, 25.0, or 52.0) 5065 An error occurred during indeterminate outcome processing. (device type: 3.36, 25.0, or 52.0) 5072 Recovery processing was unable to initialize PENDOPS processing. (device type: 3.36, 25.0, or 52.0) 5073 A PENDOPS semaphore failed; the process that locked a SMF object could not be identified. (device type: 3.36, 25.0, or 52.0) 5076 An invalid operation code was found in the PENDOPS table; the PENDOPS entry is invalid. (device type: 3.36, 25.0, or 52.0) 5313 A virtual disk process encountered an error when trying to perform the requested operation. (device type: 3.36) Guardian Programming Reference Summary for pTAL and TAL —522631-001 15- 9
  • 374.
    Error Codes Sequential I/O Error Codes Code Description 512 Invalid parameter 513 Missing file name 514 Device not supported 515 Invalid access 516 Invalid buffer address 517 Invalid file code 518 Buffer too small 519 Invalid block length 520 Invalid record length 521 Invalid EDIT file 522 File already open 523 EDITREAD or EDITREADINIT error occurred 524 File is closed; check, read, set, write, or wait error 525 Access violation 526 No stack space 527 Temporary buffer required 528 EDIT file ran out of space 529 Write error 530 Invalid write to $RECEIVE 531 Unable to open $RECEIVE 532 I/O started 533 An internal error occurred 534 Checksum error 535 Checksum error 536 Common FCB is in old format 537 Line number of EDIT file too long Guardian Programming Reference Summary for pTAL and TAL —522631-001 15 -10
  • 375.
    Error Codes DEFINE Error Codes Code Description 0 Successful completion 2049 A syntax error occurred in the DEFINE name 2050 The DEFINE name already exists 2051 The DEFINE name does not exist 2052 Unable to obtain file-system buffer space 2053 Unable to obtain physical memory 2054 There was a bounds error in a parameter 2055 An attribute is not allowed for the current CLASS 2056 An attribute is missing 2057 Required attribute missing from current CLASS in working set 2058 Working set inconsistent for current CLASS 2059 The working set for DEFINEs is invalid 2060 No more DEFINEs are allowed 2061 No more attributes are allowed for the DEFINE 2062 The attribute is invalid for the DEFINE 2063 The name of the default subvolume has a syntax error in the SET DEFINE command 2064 Resetting a required DEFINE attribute is not allowed 2066 A required parameter is missing 2067 An invalid value was supplied for an attribute 2068 The CLASS name identifies a nonexistent CLASS 2069 Attempt to add a DEFINE that does not fall under current DEFMODE setting 2071 The DEFINE specifies a 7-character device name, which cannot be converted to a network name on a C-series system 2073 Replacing the =_DEFAULTS DEFINE with a DEFINE having the same name but a class other than DEFAULTS is not allowed 2074 Deleting the DEFINE is not allowed 2075 A DEFINE option is invalid 2076 The buffer is too small for the saved DEFINE 2077 An extended address parameter referred to an invalid segment 2078 The DEFINERESTORE buffer does not contain a valid saved DEFINE 2079 Cannot save the working set because the name is =_DEFAULTS and the working set is not CLASS DEFAULTS. Guardian Programming Reference Summary for pTAL and TAL —522631-001 15 -11
  • 376.
    Error Codes NEWPROCESS and NEWPROCESSNOWAIT Error Codes A NEWPROCESS or NEWPROCESSNOWAIT error is returned to the calling process in a word containing two 8-bit fields. The lefthand part of the error word, bits <0:7>, contains one of the error codes shown below. The righthand part, bits <8:15>, can contain either an error subcode or a file-system error code. Refer to the Guardian Procedure Errors and Messages Manual for further information. Code Description 0 No error 1 Undefined externals 2 No PCB available 3 File-system error on program-file 4 Unable to allocate map 5 File-system error on swap file 6 Illegal file format 7 Unlicensed privileged program 8 Process name error 9 Library conflict 10 Unable to communicate with system monitor process 11 File-system error on library file 12 Program file and library file are the same 13 Invalid segment size unable to set up the page tables 14 File-system error on initial setup of the swap file 15 Illegal home terminal 16 I/O error on home terminal 17 DEFINE context propagation error 18 Object file with an illegal device subtype 19 Process device subtype specified in backup process isn’t the same as primary’s 20 DSC error: bad ZZPIM file 21 DSC error: dynamic IOP error 22 PFS^SIZE is out of range 23 Cannot create PFS 24 An unknown error number was returned from a remote system 25 Unable to allocate a priv stack for the process 26 Unable to lock the priv stack for the process 27 Unable to allocate a main stack for the process Guardian Programming Reference Summary for pTAL and TAL —522631-001 15 -12
  • 377.
    Error Codes 28 DSC error: unable to lock the main stack of a native IOP 29 Security inheritance failure 30 Unable to allocate native globals 31 Unable to lock native globals 32 Main stack maximum value too large 33 Heap maximum value too large 34 Space guarantee value too large 35 Duplicate SRL 36 Unknown SRL specified by program 37 Unknown SRL specified by another SRL 38 Too many SRLs 39 Program file requires fixup 40 SRL requires fixups 41 Program file security violation 42 SRL security violation 43 Program requires symbol from SRL 47 Cannot guarantee swap space 48 Mismatch on number of SRLs 49 Undefined externals in SRL 50 Incorrect number of SRLs in program file 51 Incorrect number of SRLs in library 52 SRL must be licensed 53 Unable to obtain global virtual space 54 Symbolic reference target/source type mismatch 55 External data reference not resolved to any user/system library 119 Error number returned is too large 3xx SRL has invalid file format 5xx File-system error on SRL number xx Guardian Programming Reference Summary for pTAL and TAL —522631-001 15 -13
  • 378.
    Error Codes PROCESS_CREATE_ Error Codes Code Description 0 No error 1 Error while accessing program file 2 Parameter error 3 Bounds violation 4 Error while accessing library file 5 Error while accessing swap file 6 Error while accessing extended swap file 7 File-system error on PFS 8 Illegal home terminal 9 I/O error on home terminal 10 Unable to communicate with system monitor process 11 Process name error 12 Illegal program file format 13 Illegal library file format 14 Undefined externals 15 No PCB available 16 Unable to allocate map 17 Unlicensed privileged program 18 Library conflict 19 Program file and library file are the same 20 Object file with an illegal device subtype 21 Process device subtype specified in backup process is not the same as primary 22 Backup creation specified, but caller is unnamed 24 DEFINE context propagation error 25 DSC error: invalid ZZPIM file 26 Dynamic IOP error 27 Invalid PFS size 29 Unable to allocate a priv stack for the process 30 Unable to lock the priv stack for the process 32 DSC error: unable to lock the main stack of a native IOP 33 Security inheritance failure 35 Internal PROCESS_CREATE_ error Guardian Programming Reference Summary for pTAL and TAL —522631-001 15 -14
  • 379.
    Error Codes Code Description 36 Child's PFS error 37 Unable to allocate global data for the process 38 Unable to lock global IOP data for the process 40 The main stack maximum value, specified either by the procedure call or by the object file, is too large. 41 The heap maximum value, specified either by the procedure call or by the object file, is too large. 42 The space guarantee value, specified either by the procedure call or by the object file, is too large. 43 The process creation request specifies two files that contain the same shared run- time library (SRL) names. 44 Unable to find a SRL specified by the program file 45 Unable to find a SRL specified by another SRL 46 The process creation request specifies too many SRLs 47 The program file requires fixups to an SRL but the program file is currently running 48 A SRL requires fixups to another SRL 49 Security violation. The program file is not licensed, but a SRL containing instance data is licensed 50 Security violation. Either the program file or SRL is licensed, but a SRL is not licensed 51 The program file requires a symbol from an SRL, but the SRL is not exporting it 52 The specified version, Z^VERSION, of the ZSYS^DDL^PLAUNCH^PARMS structure is not supported 53 The specified version, Z^VERSION, of the ZSYS^DDL^PLAUNCH^PARMS structure is incompatible with the specified length, Z^LENGTH, of the structure 54 Internal process creation error 55 The specified space guarantee cannot be allocated 56 Internal process creation error 57 A shared run-time library (SRL) has undefined externals 58 Internal process creation error 59 Internal process creation error 60 Security violation; a SRL containing callable procedures must be licensed to be used by callable or privileged code 61 Unable to obtain global virtual space 62 Symbolic reference target/source type mismatch 63 External data references not resolved to any user/system library Guardian Programming Reference Summary for pTAL and TAL —522631-001 15 -15
  • 380.
    Error Codes Code Description 104 Unable to create OSS process 106 OSS start interpreter error 107 OSS static variable error 108 Not running on an OSS system error 110 OSS current working directory error 111 OSS file descriptor dup error 112 OSS file descriptor open error 113 OSS file descriptor open timeout error 114 Cannot create OSS priv process 115 Unable to allocate global data or heap for the process (PROCESS_SPAWN_ only) 116 Unable to propagate SRL data (PROCESS_SPAWN_ only) 3xx Invalid file format on SRL number xx 5xx File-system error on SRL number xx PROCESS_GETINFOLIST_ Error Codes Code Description 0 No error 1 A file-system error occurred 2 Parameter error 3 Bounds error 4 Specified process does not exist 5 Unable to communicate with processor 6 Unable to communicate with node 7 No more matches 9 Invalid search code 10 Invalid search value 11 Invalid return attribute code 12 Invalid search option Guardian Programming Reference Summary for pTAL and TAL —522631-001 15 -16
  • 381.
    Error Codes PROCESS_GETPAIRINFO_ Error Codes Code Description 0 No error 2 Parameter error 3 Bounds error 4 Single named process 5 Caller’s pair: caller is current primary 6 Caller’s pair: caller is current backup 7 Process is unnamed 8 Search is complete 9 Process does not exist 10 Unable to communicate with node 11 Target is a process controlling a device or volume, but bit 15 was not set 13 Limited information is returned for a process that is not started Guardian Programming Reference Summary for pTAL and TAL —522631-001 15 -17
  • 382.
    Error Codes PROCESS_SPAWN_ Open System Services (OSS) Error Codes Code Description 0 NO ERROR 4002 NO SUCH FILE OR DIRECTORY 4005 I/O ERROR 4007 ARGUMENT LIST TOO LONG 4008 EXEC FORMAT ERROR 4009 BAD FILE DESCRIPTOR 4011 NO MORE PROCESSES 4012 INSUFFICIENT USER MEMORY 4013 PERMISSION DENIED 4014 BAD ADDRESS 4020 NOT A DIRECTORY 4022 INVALID FUNCTION ARGUMENT 4126 CONNECTION TIMED OUT 4131 FILE NAME TOO LONG 4203 OSS NOT RUNNING OR NOT INSTALLED 4212 AN ERROR OCCURRED DURING INVOCATION OF A DEFINE PROCEDURE ALLOCATESEGMENT Error Codes Code Description 0 No error -1 Illegal segment ID -2 Illegal segment size -3 Bounds violation on swap file parameter -4 Illegal combination of options -5 Unable to allocate segment space -6 Unable to allocate segment page table space -7 Security violation -8 PIN does not exist -9 No segment allocated to PIN -10 Trying to share segment with self -11 Requested segment is currently being resized or is incompatible Guardian Programming Reference Summary for pTAL and TAL —522631-001 15 -18
  • 383.
    Error Codes SEGMENT_ALLOCATE_ Error Codes Code Description 0 No error 1 Error creating or opening segment swap file 2 Parameter error 3 Bounds violation 4 Illegal segment ID 5 Illegal segment size 6 Unable to allocate segment space 7 Unable to allocate segment page table space 8 Security violation 9 PIN does not exist 10 No segment allocated to PIN 11 Trying to share segment with self 12 Requested shared segment is incompatible 13 Requested segment already allocated 14 Unable to allocate the PST 15 Requested address range already allocated Guardian Programming Reference Summary for pTAL and TAL —522631-001 15 -19
  • 384.
    Error Codes Subsystem Programmatic Interface (SPI) Error Codes Code Description 0 No error -1 Invalid buffer format -2 Illegal parameter value -3 Missing parameter -4 Illegal parameter address -5 Buffer full -6 Invalid checksum -7 Internal error -8 Token not found -9 Illegal token code or map -10 Invalid subsystem ID -11 Operation not supported -12 Insufficient stack space -13 File-system error -14 Guardian procedure error -15 Invalid template file -16 More text is available -26 See service provider -27 No format ID available EDITREAD and EDITREADINIT Error Codes Code Description 0 or greater No error -1 End-of-file encountered -2 I/O error -3 Text file format error -4 Sequence number error -5 Checksum error Guardian Programming Reference Summary for pTAL and TAL —522631-001 15 -20
  • 385.
    Error Codes IOEdit Error Codes In addition to the error codes shown here, the IOEdit procedures can also return file- system error codes. Some of the file-system error codes have special meanings when returned by IOEdit. Refer to the Guardian Procedure Errors and Messages Manual for details. Code Description -1 Inconsistent directory size value -2 Record numbers in the directory are out of order -3 A record number in the directory is beyond legal range -4 A block number in the directory is outside the file -5 Duplicate block numbers in the directory -6 Numbers ran out -7 Record numbers out of order -8 Record length too large -9 Record format inconsistent -10 Cannot do renumbering -13 Error accessing non-EDIT file line numbers -14 Error accessing non-EDIT file change tags -15 Change tag should be appended to record -16 Both tag and record number error -17 Change tag overlays text Formatter Error Codes Code Description 267 Buffer overflow 268 No buffer 270 Format loopback 271 Edit item mismatch 272 Illegal input character 273 Bad format 274 Numeric overflow Guardian Programming Reference Summary for pTAL and TAL —522631-001 15 -21
  • 386.
    Error Codes Guardian Programming Reference Summary for pTAL and TAL —522631-001 15 -22
  • 387.
    16 ASCII CharacterSet Hexa- Character Left Right decimal Decimal Meaning NUL 000000 000000 00 0 Null SOH 000400 000001 01 1 Start of heading STX 001000 000002 02 2 Start of text ETX 001400 000003 03 3 End of text EOT 002000 000004 04 4 End of transmission ENQ 002400 000005 05 5 Enquiry ACK 003000 000006 06 6 Acknowledge BEL 003400 000007 07 7 Bell BS 004000 000010 08 8 Backspace HT 004400 000011 09 9 Horizontal tabulation LF 005000 000012 A 10 Line feed VT 005400 000013 B 11 Vertical tabulation FF 006000 000014 C 12 Form feed CR 006400 000015 D 13 Carriage return SO 007000 000016 E 14 Shift out SI 007400 000017 F 15 Shift in DLE 010000 000020 10 16 Data link escape DC1 010400 000021 11 17 Device control 1 DC2 011000 000022 12 18 Device control 2 DC3 011400 000023 13 19 Device control 3 DC4 012000 000024 14 20 Device control 4 NAK 012400 000025 15 21 Negative acknowledge SYN 013000 000026 16 22 Synchronous idle ETB 013400 000027 17 23 End of transmission block CAN 014000 000030 18 24 Cancel EM 014400 000031 19 25 End of medium SUB 015000 000032 1A 26 Substitute ESC 015400 000033 1B 27 Escape FS 016000 000034 1C 28 File separator GS 016400 000035 1D 29 Group separator Guardian Programming Reference Summary for pTAL and TAL —522631-001 16- 1
  • 388.
    ASCII Character Set Hexa- Character Left Right decimal Decimal Meaning RS 017000 000036 1E 30 Record separator US 017400 000037 1F 31 Unit separator SP 020000 000040 20 32 Space ! 020400 000041 21 33 Exclamation point " 021000 000042 22 34 Quotation mark # 021400 000043 23 35 Number sign $ 022000 000044 24 36 Dollar sign % 022400 000045 25 37 Percent sign & 023000 000046 26 38 Ampersand ' 023400 000047 27 39 Apostrophe ( 024000 000050 28 40 Opening parenthesis ) 024400 000051 29 41 Closing parenthesis * 025000 000052 2A 42 Asterisk + 025400 000053 2B 43 Plus , 026000 000054 2C 44 Comma - 026400 000055 2D 45 Hyphen (minus) . 027000 000056 2E 46 Period (decimal point) / 027400 000057 2F 47 Right slash 0 030000 000060 30 48 Zero 1 030400 000061 31 49 One 2 031000 000062 32 50 Two 3 031400 000063 33 51 Three 4 032000 000064 34 52 Four 5 032400 000065 35 53 Five 6 033000 000066 36 54 Six 7 033400 000067 37 55 Seven 8 034000 000070 38 56 Eight 9 034400 000071 39 57 Nine : 035000 000072 3A 58 Colon ; 035400 000073 3B 59 Semicolon < 036000 000074 3C 60 Less than = 036400 000075 3D 61 Equals > 037000 000076 3E 62 Greater than Guardian Programming Reference Summary for pTAL and TAL —522631-001 16- 2
  • 389.
    ASCII Character Set Hexa- Character Left Right decimal Decimal Meaning ? 037400 000077 3F 63 Question mark @ 040000 000100 40 64 Commercial at sign A 040400 000101 41 65 Uppercase A B 041000 000102 42 66 Uppercase B C 041400 000103 43 67 Uppercase C D 042000 000104 44 68 Uppercase D E 042400 000105 45 69 Uppercase E F 043000 000106 46 70 Uppercase F G 043400 000107 47 71 Uppercase G H 044000 000110 48 72 Uppercase H I 044400 000111 49 73 Uppercase I J 045000 000112 4A 74 Uppercase J K 045400 000113 4B 75 Uppercase K L 046000 000114 4C 76 Uppercase L M 046400 000115 4D 77 Uppercase M N 047000 000116 4E 78 Uppercase N O 047400 000117 4F 79 Uppercase O P 050000 000120 50 80 Uppercase P Q 050400 000121 51 81 Uppercase Q R 051000 000122 52 82 Uppercase R S 051400 000123 53 83 Uppercase S T 052000 000124 54 84 Uppercase T U 052400 000125 55 85 Uppercase U V 053000 000126 56 86 Uppercase V W 053400 000127 57 87 Uppercase W X 054000 000130 58 88 Uppercase X Y 054400 000131 59 89 Uppercase Y Z 055000 000132 5A 90 Uppercase Z [ 055400 000133 5B 91 Opening bracket 056000 000134 5C 92 Back slash ] 056400 000135 5D 93 Closing bracket ^ 057000 000136 5E 94 Circumflex _ 057400 000137 5F 95 Underscore Guardian Programming Reference Summary for pTAL and TAL —522631-001 16- 3
  • 390.
    ASCII Character Set Hexa- Character Left Right decimal Decimal Meaning ` 060000 000140 60 96 Grave accent a 060400 000141 61 97 Lowercase a b 061000 000142 62 98 Lowercase b c 061400 000143 63 99 Lowercase c d 062000 000144 64 100 Lowercase d e 062400 000145 65 101 Lowercase e f 063000 000146 66 102 Lowercase f g 063400 000147 67 103 Lowercase g h 064000 000150 68 104 Lowercase h i 064400 000151 69 105 Lowercase i j 065000 000152 6A 106 Lowercase j k 065400 000153 6B 107 Lowercase k l 066000 000154 6C 108 Lowercase l m 066400 000155 6D 109 Lowercase m n 067000 000156 6E 110 Lowercase n o 067400 000157 6F 111 Lowercase o p 070000 000160 70 112 Lowercase p q 070400 000161 71 113 Lowercase q r 071000 000162 72 114 Lowercase r s 071400 000163 73 115 Lowercase s t 072000 000164 74 116 Lowercase t u 072400 000165 75 117 Lowercase u v 073000 000166 76 118 Lowercase v w 073400 000167 77 119 Lowercase w x 074000 000170 78 120 Lowercase x y 074400 000171 79 121 Lowercase y z 075000 000172 7A 122 Lowercase z { 075400 000173 7B 123 Opening brace | 076000 000174 7C 124 Vertical line } 076400 000175 7D 125 Closing brace ~ 077000 000176 7E 126 Tilde DEL 077400 000177 7F 127 Delete Guardian Programming Reference Summary for pTAL and TAL —522631-001 16- 4
  • 391.
    17 TNS InstructionSet TNS Alphabetical List of Instructions The mnemonics and opcodes for the TNS instruction set are listed in alphabetical order in the following table. For complete information about these instructions, refer to the Himalaya S-Series Server Description Manual. TNS/R instructions are not documented in this manual. A single asterisk following an instruction description denotes a privileged instruction, and a double asterisk denotes an instruction intended for operating system use only. Mnemonic Octal Code Description ADAR 00016- Add A to Register ADDI 104--- Add Immediate ADDS 002--- Add to S ADM -74--- Add to Memory ADRA 00014- Add Register to A ADXI 104--- Add to Index Immediate ALS 0302-- Arithmetic Left Shift ANG 000044 AND to Memory ANLI 007--- AND Left Immediate ANRI 006--- AND Right Immediate ANS 000034 AND to SG Memory ANX 000046 AND to Extended Memory ARS 0303-- Arithmetic Right Shift ASPT 000470 Address of Segment Page Table Header * BANZ -154-- Branch on A BAZ -144-- Branch on A Zero BCLD 000452 Bus Cold Load * BEQL -12--- Branch if Equal BFI 000030 Branch Forward Indirect BGEQ -13--- Branch if Greater or Equal BGTR -11--- Branch if Greater BIC -10--- Branch if Carry BIKE 000464 Bicycle While Idle * BLEQ -16--- Branch if Less or Equal Guardian Programming Reference Summary for pTAL and TAL —522631-001 17- 1
  • 392.
    TNS Instruction Set TNS Alphabetical List of Instructions Mnemonic Octal Code Description BLSS -14--- Branch if Less BNDW 000450 Bounds Test Words * BNEQ -15--- Branch if Not Equal BNOC -17--- Branch if No Carry BNOV -164-- Branch if No Overflow BOX -1-4-- Branch on X BPT 000451 Instruction Breakpoint Trap BSUB -174-- Branch to Subprocedure BTST 000007 Byte Test BUN -l04-- Branch CAQ 000262 Convert ASCII to Quad CAQV 000261 Convert ASCII to Quad with Initial Value CCE 000016 Condition Code Equal to CCG 000017 Condition Code Greater than CCL 000015 Condition Code Less than CDE 000334 Convert Doubleword to Extended Float CDF 000306 Convert Doubleword to Float CDFR 000326 Convert Doubleword to Float (Round) CDG 000366 Count Duplicate Words CDI 000307 Convert Doubleword to Integer CDQ 000265 Convert Doubleword to Quad CDX 000356 Count Duplicate Words Extended CED 000314 Extended Float to Doubleword CEDR 000315 Extended Float to Doubleword (Round) CEF 000276 Extended Float to Float CEFR 000277 Extended Float to Float (Round) CEI 000337 Extended Float to Integer CEIR 000337 Extended Float to Integer (Round) CEQ 000337 Extended Float to Quadrupleword CEQR 000323 Extended Float to Quadrupleword (Round) CFD 000312 Floating to Doubleword CFDR 000313 Floating to Doubleword (Round) CFE 000325 Floating to Extended Float CFI 000311 Floating to Integer Guardian Programming Reference Summary for pTAL and TAL —522631-001 17- 2
  • 393.
    TNS Instruction Set TNS Alphabetical List of Instructions Mnemonic Octal Code Description CFIR 000310 Floating to Integer (Round) CFQ 000320 Floating to Quadrupleword CFQR 000321 Floating to Quadrupleword (Round) CID 000327 Convert Integer to Doubleword CIE 000332 Convert Integer to Extended Float CIF 000331 Convert Integer to Floating CIQ 000266 Convert Integer to Quad CLQ 000267 Convert Logical to Quad CMBX 000422 Compare Bytes Extended CMPI 001--- Compare Immediate CMRW 000432 Correctable Memory Error Read/Write * COMB 1262-- Compare Bytes COMW 0262-- Compare Words CQA 000260 Convert Quad to ASCII CQD 000247 Convert Quad to Doubleword CQE 000336 Convert Quad to Extended CQER 000335 Convert Quad to Extended (Round) CQF 000324 Convert Quad to Floating CQFR 000330 Convert Quad to Floating (Round) CQI 000264 Convert Quad to Integer CQL 000246 Convert Quad to Logical CRAX 000423 Convert Relative to Absolute Extended * DADD 000220 Double Add DALS 1302-- Double Arithmetic Left Shift DARS 1303-- Double Arithmetic Right Shift DCMP 000225 Double Compare DDIV 000223 Double Divide DDTX 000456 DDT Request * DDUP 000006 Double Duplicate DFG 000367 Deposit Field in Memory DFS 000357 Deposit Field in System DFX 000416 Deposit Field in Extended Memory DISP 000073 Dispatch * DLEN 000070 Disk Record Length ** Guardian Programming Reference Summary for pTAL and TAL —522631-001 17- 3
  • 394.
    TNS Instruction Set TNS Alphabetical List of Instructions Mnemonic Octal Code Description DLLS 1300-- Double Logical Left Shift DLRS 1301-- Double Logical Right Shift DLTE 000054 Delete Element from List * DMPY 000222 Double Multiply DNEG 000224 Double Negate DOFS 000057 Disk Record Offset ** DPCL 000032 Dynamic Procedure Call DPF 000014 Deposit Field DSUB 000221 Double Subtract DTL 000207 Determine Time Left for Element * DTST 000031 Double Test DXCH 000005 Double Exchange DXIT 000072 DEBUG Exit * EADD 000300 Extended Floating-Point Add ECMP 000305 Extended Floating-Point Compare EDIV 000303 Extended Floating-Point Divide EIO 000060 Execute I/O * EIOC 000512 Exchange EIOC Table Entries * EMPY 000302 Extended Floating-Point Multiply ENEG 000304 Extended Floating-Point Negate ESUB 000301 Extended Floating-Point Subtract EXCH 000004 Exchange EXIT 125--- Exit Procedure FADD 000270 Floating-Point Add FCMP 000275 Floating-Point Compare FDIV 000273 Floating-Point Divide FMPY 000272 Floating-Point Multiply FNEG 000274 Floating-Point Negate FRST 000405 Firmware Reset * FSUB 000271 Floating-Point Subtract FTL 000206 Find Position in Time List * HALT 000074 Processor Halt * HIIO 000062 High-Priority Interrogate I/O * IADD 000210 Integer Add Guardian Programming Reference Summary for pTAL and TAL —522631-001 17- 4
  • 395.
    TNS Instruction Set TNS Alphabetical List of Instructions Mnemonic Octal Code Description ICMP 000215 Integer Compare IDIV 000213 Integer Divide IDX1 000344 Calculate Index, 1 Dimension IDX2 000345 Calculate Index, 2 Dimension IDX3 000346 Calculate Index, 3 Dimension IDXD 000317 Calculate Index, Bounds in Data Space IDXP 000347 Calculate Index, Bounds in Code SpaceIDXP IIO 000061 Interrogate I/O * IMPY 000212 Integer Multiply INEG 000214 Integer Negate INSR 000055 Insert Element into List * ISUB 000211 Integer Subtract IXIT 000071 Interrupt Exit * LADD 000200 Logical Add LADI 003--- Logical Add Immediate LADR -7---- Load AddressLADR LAND 000010 Logical AND LBA 000364 Load Byte via A LBAS 000354 Load Byte via A from System LBP -2-4-- Load Byte from Program LBX 000406 Load Byte Extended LBXX 0256--, 0266-- Load Byte Extended, Indexed LCKX 000430 Lock Down Extended Memory * LCMP 000205 Logical Compare LDA 000362 Load Double via A LDAS 000352 Load Double via A from System LDB -5---- Load Byte LDD -6---- Load Double LDDX 000412 Load Double Extended LDI 100--- Load Immediate LDIV 000203 Logical Divide LDLI 005--- Load Left Immediate LDRA 00013- Load Register to A LDX -3---- Load X Guardian Programming Reference Summary for pTAL and TAL —522631-001 17- 5
  • 396.
    TNS Instruction Set TNS Alphabetical List of Instructions Mnemonic Octal Code Description LDXI 10---- Load X Immediate LLS 0300-- Logical Left Shift LMPY 000202 Logical Multiply LNEG 000204 Logical Negate LOAD -4---- Load LOR 000011 Logical OR LQAS 000445 Load Quadrupleword via A from SG * LQX 000414 Load Quadrupleword Extended LRS 0301-- Logical Right Shift LSUB 000201 Logical Subtract LWA 000360 Load Word via A LWAS 000350 Load Word via A from System LWP -2---- Load Word from Program LWUC 000342 Load Word from User Code Space LWX 000410 Load Word Extended LWXX 0254--, 0264-- Load Word Extended, Indexed MAPS 000042 Map In a Segment * MBXR 000420 Move Bytes Extended, Reverse MBXX 000421 Move Bytes Extended, and Checksum MNDX 000227 Move Words while Not Duplicate, Extended MNGG 000226 Move Words while Not Duplicate MOND 000001 Minus One Double MOVB 126--- Move Bytes MOVW 026--- Move Words MRL 000075 Merge onto Ready List * MVBX 000417 Move Bytes Extended MXFF 000041 Mutual Exclusion Off * MXON 000040 Mutual Exclusion On * NOP 000000 No Operation NOT 000013 Not NSAR 00012- Nondestructive Store A in a Register NSTO -34--- Nondestructive Store ONED 000003 One Double ORG 000045 OR to Memory Guardian Programming Reference Summary for pTAL and TAL —522631-001 17- 6
  • 397.
    TNS Instruction Set TNS Alphabetical List of Instructions Mnemonic Octal Code Description ORLI 0044-- OR Left Immediate ORRI 004--- OR Right Immediate ORS 000035 OR to SG Memory ORX 000047 OR to Extended Memory PCAL 027--- Procedure Call POP 124--- Pop from Stack PSEM 000076 “P” a Semaphore * PUSH 024--- Push to Stack QADD 00024 Quad Add QCMP 000245 Quad Compare QDIV 000243 Quad Divide QDWN 00025- Quad Scale Down QLD 00023- Quad Load QMPY 000242 Quad Multiply QNEG 000244 Quad Negate QRND 000263 Quad Round QST 00023- Quad Store QSUB 000241 Quad Subtract QUP 00025- Quad Scale Up RCHN 000447 Reset I/O Channel * RCLK 000050 Read Clock RCPU 000051 Read Processor Number RDE 000024 Read ENV Register RDP 000025 Read P Register RIBA 000440 Read INTA and INTB Registers * RIOC 000510 Read EIOC table entry * RIR 000063 Reset Interrupt * RPT 000442 Read Process Timer * RSMT 000436 Read From Operations & Service Processor * RSPT 000424 Read Segment Page Table Entry * RSUB 025--- Return from Subprocedure RSW 000026 Read Switches RUS 000461 Read Micro State * RWCS 000402 Read LCS * Guardian Programming Reference Summary for pTAL and TAL —522631-001 17- 7
  • 398.
    TNS Instruction Set TNS Alphabetical List of Instructions Mnemonic Octal Code Description RXBL 000426 Read Extended Base and Limit * SBA 000365 Store Byte via A SBAR 00017- Subtract A from a Register SBAS 000355 Store Byte via A into System SBRA 00015- Subtract Register from A SBU 1266-- Scan Bytes Until SBW 1264-- Scan Bytes While SBX 000407 Store Byte Extended SBXX 0257--, 0267-- Store Byte Extended, Indexed SCMP 000454 Set Code Map SCPV 000463 Set Current Process Variables * SCS 000444 Set Code Segment SDA 000363 Store Double via A SDAS 000353 Store Double via A into System SDDX 000413 Store Double Extended SEND 000065 Send * SETE 000022 Set ENV Register SETL 000020 Set L Register SETP 000023 Set P Register SETS 000021 Set S Register SFRZ 000053 System Freeze * SIOC 000460 Store Entry to IOC * SMAP 000067 Set Map * SMBP 000404 Set Memory Breakpoint * SNDQ 000052 Signal a Send Is Queued * SPT 000443 Set Process Timer * SQAS 000446 Store Quadrupleword via A to SG * SQX 000415 Store Quadrupleword Extended SRST 000455 Soft Reset * SSW 000027 Set Switches STAR 00011- Store A in Register STB -54--- Store Byte STD -64--- Store Double STOR -44--- Store Guardian Programming Reference Summary for pTAL and TAL —522631-001 17- 8
  • 399.
    TNS Instruction Set TNS Alphabetical List of Instructions Mnemonic Octal Code Description STRP 00010- Set RP SVMP 000441 Save Map Entries * SWA 000361 Store Word via A SWAS 000351 Store Word via A into System SWX 000411 Store Word Extended SWXX 0255--, 0265 Store Word Extended, Indexed SXBL 000427 Set Extended Base and Limit * TOTQ 000056 Test OUTQ ** TRCE 000217 Add Entry to Trace Table * ULKX 000431 Unlock Extended Memory * VSEM 000077 "V" a Semaphore * WIOC 000511 Write EIOC table entry * WSMT 000437 Write to Operations and Service Processor * WSPT 000425 Write Segment Page Table Entry * WWCS 000400 Write to LCS * XCAL 127--- External Call XIOC 000462 Exchange IOC entries * XMSK 000064 Exchange Mask * XOR 000012 Exclusive OR XSMG 000343 Compute Checksum in Current Data XSMX 000333 Checksum Extended Block ZERD 000002 Zero Double Guardian Programming Reference Summary for pTAL and TAL —522631-001 17- 9
  • 400.
    TNS Instruction Set TNS Alphabetical List of Instructions TNS Categorized List of Instructions The mnemonics and opcodes for the instruction set are grouped by type of instruction in the following tables. For complete information about these instructions, refer to the Himalaya S-Series Server Description Manual. A single asterisk following an instruction description denotes a privileged instruction, and a double asterisk denotes an instruction intended for operating system use only. 16-Bit Arithmetic (Top of Register Stack) IADD 000210 Integer Add LADD 000200 Logical Add ISUB 000211 Integer Subtract LSUB 000201 Logical Subtract IMPY 000212 Integer Multiply LMPY 000202 Logical Multiply IDIV 000213 Integer Divide LDIV 000203 Logical Divide INEG 000214 Integer Negate LNEG 000204 Logical Negate ICMP 000215 Integer Compare LCMP 000205 Logical Compare CMPI 001--- Integer Compare Immediate ADDI 104--- Integer Add Immediate LADI 003--- Logical Add Immediate Guardian Programming Reference Summary for pTAL and TAL —522631-001 17 -10
  • 401.
    TNS Instruction Set TNS Alphabetical List of Instructions 32-Bit Signed Arithmetic CDI 000307 Convert Double to Integer CID 000327 Convert Integer to Double DADD 000220 Double Add DSUB 000221 Double Subtract DMPY 000222 Double Multiply DDIV 000223 Double Divide DNEG 000224 Double Negate DCMP 000225 Double Compare DTST 000031 Double Test MOND 000001 (Load) Minus One Double ZERD 000002 (Load) Zero Double ONED 000003 (Load) One Double 16-Bit Signed Arithmetic (Register Stack Environment) ADRA 00014- Add Register to A SBRA 00015- Subtract Register from A ADAR 00016- Add A to Register SBAR 00017- Subtract A from Register ADXI 104--- Add to Index Immediate Decimal Arithmetic Load and Store QLD 00023- Quadruple Load QST 00023- Quadruple Store Decimal Integer Arithmetic QADD 000240 Quadruple Add QSUB 000241 Quadruple Subtract QMPY 000242 Quadruple Multiply QDIV 000243 Quadruple Divide QNEG 000244 Quadruple Negate QCMP 000245 Quadruple Compare Guardian Programming Reference Summary for pTAL and TAL —522631-001 17 -11
  • 402.
    TNS Instruction Set TNS Alphabetical List of Instructions Decimal Arithmetic Scaling and Rounding QUP 00025- Quadruple Scale Up QDWN 00025- Quadruple Scale Down QRND 000263 Quadruple Round Decimal Arithmetic Conversions CQI 000264 Convert Quad to Integer CQL 000246 Convert Quad to Logical CQD 000247 Convert Quad to Double CQA 000260 Convert Quad to ASCII CIQ 000266 Convert Integer to Quad CLQ 000267 Convert Logical to Quad CDQ 000265 Convert Double to Quad CAQ 000262 Convert ASCII to Quad CAQV 000261 Convert ASCII to Quad with Initial Value Floating-Point Arithmetic FADD 000270 Floating-Point Add FSUB 000271 Floating-Point Subtract FMPY 000272 Floating-Point Multiply FDIV 000273 Floating-Point Divide FNEG 000274 Floating-Point Negate FCMP 000275 Floating-Point Compare Extended Floating-Point Arithmetic EADD 000300 Extended Floating-Point Add ESUB 000301 Extended Floating-Point Subtract EMPY 000302 Extended Floating-Point Multiply EDIV 000303 Extended Floating-Point Divide ENEG 000304 Extended Floating-Point Negate ECMP 000305 Extended Floating-Point Compare Guardian Programming Reference Summary for pTAL and TAL —522631-001 17 -12
  • 403.
    TNS Instruction Set TNS Alphabetical List of Instructions Floating-Point Conversions CEF 000276 Convert Extended to Floating CEFR 000277 Convert Extended to Floating, Rounded CFI 000311 Convert Floating to Integer CFIR 000310 Convert Floating to Integer, Rounded CFD 000312 Convert Floating to Double CFDR 000313 Convert Floating to Double, Rounded CED 000314 Convert Extended to Double CEDR 000315 Convert Extended to Double, Rounded CEI 000337 Convert Extended to Integer CEIR 000316 Convert Extended to Integer, Rounded CFQ 000320 Convert Floating to Quad CFQR 000321 Convert Floating to Quad, Rounded CEQ 000322 Convert Extended to Quad CEQR 000323 Convert Extended to Quad, Rounded CFE 000325 Convert Floating to Extended CIF 000331 Convert Integer to Floating CDF 000306 Convert Double to Floating CDFR 000326 Convert Double to Floating, Rounded CQF 000324 Convert Quad to Floating CQFR 000330 Convert Quad to Floating, Rounded CIE 000332 Convert Integer to Extended CDE 000334 Convert Double to Extended CQE 000336 Convert Quad to Extended CQER 000335 Convert Quad to Extended, Rounded Floating-Point Functionals IDX1 000344 Calculate Index, 1 Dimension IDX2 000345 Calculate Index, 2 Dimensions IDX3 000346 Calculate Index, 3 Dimensions IDXP 000347 Calculate Index, Bounds in Code Space IDXD 000317 Calculate Index, Bounds in Data Space Guardian Programming Reference Summary for pTAL and TAL —522631-001 17 -13
  • 404.
    TNS Instruction Set TNS Alphabetical List of Instructions Register Stack Manipulation EXCH 000004 Exchange A with B DXCH 000005 Double Exchange DDUP 000006 Double Duplicate STAR 00011- Store A in a Register NSAR 00012- Nondestructive Store A in a Register LDRA 00013- Load A from a Register LDI 100--- Load Immediate LDXI 10---- Load Index Immediate LDLI 005--- Load Left Immediate Boolean Operations LAND 000010 Logical AND LOR 000011 Logical OR XOR 000012 Exclusive OR NOT 000013 NOT ORRI 004--- OR Right Immediate ORLI 0044-- OR Left Immediate ANRI 006--- AND Right Immediate ANLI 007--- AND Left Immediate Bit Shift and Deposit DPF 000014 Deposit Field LLS 0300-- Logical Left Shift DLLS 1300-- Double Logical Left Shift LRS 0301-- Logical Right Shift DLRS 1301-- Double Logical Right Shift ALS 0302-- Arithmetic Left Shift DALS 1302-- Double Arithmetic Left Shift ARS 0303-- Arithmetic Right Shift DARS 1303-- Double Arithmetic Right Shift Guardian Programming Reference Summary for pTAL and TAL —522631-001 17 -14
  • 405.
    TNS Instruction Set TNS Alphabetical List of Instructions BYTE Test BTST 000007 Byte Test Memory Stack to/from Register Stack LWP -2---- Load Word from Program LBP -2-4-- Load Byte from Program PUSH 024--- Push Registers to Memory POP 124--- Pop Memory to Registers LWXX 0254--, 0264-- Load Word Extended, Indexed SWXX 0255--, 0265-- Store Word Extended, Indexed LBXX 0256--, 0266-- Load Byte Extended, Indexed SBXX 0257--, 0267-- Store Byte Extended, Indexed LDX -3---- Load Index NSTO -34--- Nondestructive Store LOAD -4---- Load Word STOR -44--- Store Word LDB -5---- Load Byte STB -54--- Store Byte LDD -6---- Load Double STD -64--- Store Double LADR -7---- Load Address of Variable ADM -74--- Add to Memory Guardian Programming Reference Summary for pTAL and TAL —522631-001 17 -15
  • 406.
    TNS Instruction Set TNS Alphabetical List of Instructions Load and Store via Address on Register Stack ANS 000034 AND to SG Memory ORS 000035 OR to SG Memory ANG 000044 AND to Current Data ORG 000045 OR to Current Data ANX 000046 AND to Extended Memory ORX 000047 OR to Extended Memory LWUC 000342 Load Word from User Code Segment LWAS 000350 Load Word via A from System LWA 000360 Load Word via A SWAS 000351 Store Word via A into System SWA 000361 Store Word via A LDAS 000352 Load Double via A from System LDA 000362 Load Double via A SDAS 000353 Store Double via A into System SDA 000363 Store Double via A LBAS 000354 Load Byte via A from System LBA 000364 Load Byte via A SBAS 000355 Store Byte via A into System SBA 000365 Store Byte via A DFS 000357 Deposit Field into System Data DFG 000367 Deposit Field in Current Data LBX 000406 Load Byte Extended SBX 000407 Store Byte Extended LWX 000410 Load Word Extended SWX 000411 Store Word Extended LDDX 000412 Load Doubleword Extended SDDX 000413 Store Doubleword Extended LQX 000414 Load Quadrupleword Extended SQX 000415 Store Quadrupleword Extended DFX 000416 Deposit Field Extended SCS 000444 Set Code Segment LQAS 000445 Load Quadrupleword via A from SG * SQAS 000446 Store Quadrupleword via A to SG * Guardian Programming Reference Summary for pTAL and TAL —522631-001 17 -16
  • 407.
    TNS Instruction Set TNS Alphabetical List of Instructions Branching BIC -10--- Branch if Carry BUN -104-- Branch Unconditionally BOX -1-4-- Branch on Index BGTR -11--- Branch if CC Greater BEQL -12--- Branch if CC Equal BGEQ -13--- Branch if CC Greater or Equal BLSS -14--- Branch if CC Less BAZ -144-- Branch if A Zero BNEQ -15--- Branch if CC Not Equal BANZ -154-- Branch if A Not Zero BLEQ -16--- Branch if CC Less or Equal BNOV -164-- Branch if no Overflow BNOC -17--- Branch if no Carry BFI 000030 Branch Forward Indirect Moves, Compares, Scans, and Checksum Computations MNGG 000226 Move Words While Not Duplicate CDG 000366 Count Duplicate Words MOVW 026--- Move Words MOVB 126--- Move Bytes COMW 0262-- Compare Words COMB 1262-- Compare Bytes SBW 1264-- Scan Bytes While SBU 1266-- Scan Bytes Until MNDX 000227 Move Words While Not Duplicate, Extended XSMX 000333 Checksum Extended Block XSMG 000343 Compute Checksum in Current Data CDX 000356 Count Duplicate Words Extended MVBX 000417 Move Bytes Extended MBXR 000420 Move Bytes Extended Reverse MBXX 000421 Move Bytes Extended, and Checksum CMBX 000422 Compare Bytes Extended Guardian Programming Reference Summary for pTAL and TAL —522631-001 17 -17
  • 408.
    TNS Instruction Set TNS Alphabetical List of Instructions Program Register Control SETL 000020 Set L Register SETS 000021 Set S Register SETE 000022 Set ENV Register SETP 000023 Set P Register RDE 000024 Read ENV Register RDP 000025 Read P Register STRP 00010- Set Register Pointer ADDS 002--- Add to S Register CCL 000015 Set CC Less CCE 000016 Set CC Equal CCG 000017 Set CC Greater Routine Calls/Returns PCAL 027--- Procedure Call XCAL 127--- External Procedure Call SCMP 000454 Set Code Map DPCL 000032 Dynamic Procedure Call EXIT 125--- Exit from Procedure DXIT 000072 DEBUG Exit * BSUB -174-- Branch to Subprocedure RSUB 025--- Return from Subprocedure Interrupt System RIR 000063 Reset INT Register * XMSK 000064 Exchange MASK Register * IXIT 000071 Exit from Interrupt Handler * DISP 000073 Dispatch * RIBA 000440 Read INTA and INTB Registers * Bus Communication TOTQ 000056 Test Out Queues ** SEND 000065 Send Packet * Guardian Programming Reference Summary for pTAL and TAL —522631-001 17 -18
  • 409.
    TNS Instruction Set TNS Alphabetical List of Instructions Input/Output RSW 000026 Read Switch Register SSW 000027 Set Switch Register EIO 000060 Execute I/O * IIO 000061 Interrogate I/O * HIIO 000062 High-Priority Interrogate I/O * RCHN 000447 Reset I/O Channel * LIOC 000457 Load IOC * SIOC 000460 Store IOC * XIOC 000462 Exchange IOC entries * RIOC 000510 Read EIOC table entry * WIOC 000511 Write EIOC table entry * EIOC 000512 Exchange EIOC table entries * Miscellaneous NOP 000000 No Operation RCLK 000050 Read Clock RCPU 000051 Read Processor Number BPT 000451 Instruction Breakpoint Trap RUS 000461 Read Micro State * BIKE 000464 Bicycle While Idle * Guardian Programming Reference Summary for pTAL and TAL —522631-001 17 -19
  • 410.
    TNS Instruction Set TNS Alphabetical List of Instructions Resource Management MXON 000040 Mutual Exclusion On * MXFF 000041 Mutual Exclusion Off * SNDQ 000052 Signal a Send Is Queued * SFRZ 000053 System Freeze * DOFS 000057 Disk Record Offset ** DLEN 000070 Disk Record Length ** HALT 000074 Processor Halt * PSEM 000076 "P" a Semaphore * VSEM 000077 "V" a Semaphore * VWCS 000401 Verify LCS * WWCS 000400 Write LCS * RWCS 000402 Read LCS * FRST 000405 Firmware Reset * RSMT 000436 Read from Operations & Service Processor * WSMT 000437 Write to Operations & Service Processor * RPT 000442 Read Process Timer * SPT 000443 Set Process Timer * BCLD 000452 Bus Cold Load * SRST 000455 Soft Reset * DDTX 000456 DDT Request * Guardian Programming Reference Summary for pTAL and TAL —522631-001 17 -20
  • 411.
    TNS Instruction Set TNS Alphabetical List of Instructions Memory Management MAPS 000042 Map In a Segment * SMAP 000067 Set Map * CRAX 000423 Convert Relative to Absolute Extended * RSPT 000424 Read Segment Page Table Entry * WSPT 000425 Write Segment Page Table Entry * RXBL 000426 Read Extended Base and Limit * SXBL 000427 Set Extended Base and Limit * LCKX 000430 Lock Down Extended Memory * ULKX 000431 Unlock Extended Memory * CMRW 000432 Correctable Memory Error Read/Write * SVMP 000441 Save Map Entries * BNDW 000450 Bounds Test Words * SCPV 000463 Set Current Process Variables * ASPT 000470 Address of Segment Page Table Header * List Management DLTE 000054 Delete Element from List * INSR 000055 Insert Element into List * MRL 000075 Merge onto Ready List * FTL 000206 Find Position in Time List * DTL 000207 Determine Time Left for Element Trace and Breakpoints TRCE 000217 Add Entry to Trace Table * SMBP 000404 Set Memory Breakpoint * Guardian Programming Reference Summary for pTAL and TAL —522631-001 17 -21
  • 412.
    TNS Instruction Set TNS Alphabetical List of Instructions Guardian Programming Reference Summary for pTAL and TAL —522631-001 17 -22