Guardian Application Conversion Guide
Converting Basic Elements of a Pascal Program
Converting Pascal Applications
096047 Tandem Computers Incorporated 6–7
Process File Names. Your existing program might declare a variable for a C-series
process file name. The D-series enhanced interface uses D-series process files names
instead of C-series process file names. Use C-series process file names for
compatibility with unconverted C-series procedures.
D-series process file names are variable-length string data items with their lengths
specified as separate data items. For example:
VAR my_process_file : STRING(47); { process file name }
The PASEXT file contains declarations that you can use for declaring D-series process-
file-name variables.
Declaring Process Identifiers
Your existing program might declare a process-ID variable to identify a process (for
example, an opener in an opener table). This example uses the process-ID declaration
from the TYPES section of the PEXTDECS file:
TYPE process_id = Process_Id_Type;
Convert the process-ID variable declaration to a process-handle variable for process-
control operations or to a process-descriptor variable for returning information from a
Guardian procedure. Use a process-ID variable for compatibility with unconverted
C-series procedures.
A process handle is a 10-word (20-character) fixed-length structure. A process
descriptor is a specific form of the D-series process file name that always includes the
node name and sequence number. For example:
VAR my_phandle : ARRAY[1..10] OF INTEGER; { process handle }
my_process_desc : STRING(33); { process descriptor }
The PASEXT file contains declarations that you can use for declaring process-handle
and process-descriptor variables.
Avoiding Subvolume Defaulting in Disk File Names
Your existing program might use subvolume defaulting to represent a Guardian disk
file name in the form
volume.file-id
. For example:
VAR disk_file : STRING(17) := '$diskvol.filename';
Avoid subvolume defaulting in your program. If a file name requires the volume
name, also include the subvolume name:
VAR disk_file : STRING(26) := '$diskvol.subvol.filename ';