| 
    
   | 
   | 
  
     
    
    
System-defined file designators indicate those files that the file system
uniquely identifies as standard input/output devices for jobs and sessions.
System-defined files are $STDIN, $STDINX, $STDLIST, $NEWPASS,
$OLDPASS, and $NULL. You cannot redefine characteristics for
these files once the process executing your code has been created, nor can
you backreference a file equation to redefine the characteristics
for a system-defined file designator. For more information about
system-defined files, refer to Chapter 3, "Specifying a File Designator".
    
The following examples show two different ways that you can open system-defined
files using the indicated HPFOPEN options:
    
      "Opening $STDIN" shows an example of an HPFOPEN
          call that uses the designator option to open the job
          or session standard input device (see Example 5-3).  
      "Opening $STDLIST" shows an example of an
          HPFOPEN call that uses the formaldesignator
          option to open the job or session standard list device (see
          example 5-4).  
     
    
     
    
Example 5-3 is an HP Pascal/iX code segment containing an HPFOPEN
intrinsic call that uses only the designator option to open the
system-defined file $STDIN. $STDIN is the file designator
associated with your job or session's standard input device. For an interactive
session, $STDIN is always a terminal keyboard. For a batch job,
$STDIN may be a disk file or other input device. You can also open a
system-defined file using only the HPFOPEN formaldesignator
option (illustrated in Example 5-4).$STDIN, opening:files|
    
Example 5-3. Opening $STDLIST Using HPFOPEN designator option
  procedure open_standard_input_device
  const
     designator_option    = 5;     {defines HPFOPEN itemnum 5}
  var
     inputfile_num  : integer;  {required HPFOPEN filenum parameter}
     status         : integer;{returns info if error/warning occurs}
     designator     : integer;  {declares HPFOPEN item 5           }
  begin
     inputfile_num  := 0;
     status         := 0;
     designator     := 4;       {Specifies $STDIN                  }
     HPFOPEN  (inputfile_num, status,
               designator_option, designator,  {designator option}
               );
     if status <>0 then handle_file_error (inputfile_num, status);
  end;
If the HPFOPEN call is successful, a positive integer value is
returned in inputfile_num, and status returns a value of
zero. The file is now open and can be read from. If an error or warning
condition is encountered by HPFOPEN, status returns a nonzero
value, thus invoking the error-handling procedure handle_file_error.
For more information about HPFOPEN parameters, refer to the MPE/iX
Intrinsics Reference Manual.
    
     
    
Example 5-4 is an HP Pascal/iX code segment containing an HPFOPEN
intrinsic call that uses the formaldesignator option to open
the system-defined file $STDLIST.
    
$STDLIST is the file designator associated with your job or session's
standard list device. For an interactive session, $STDLIST is nearly
always a terminal screen. For a batch job, $STDLIST is usually a line
printer. You can also open $STDLIST using the HPFOPEN
designator option (illustrated in Example 5-3).
    
Example 5-4. Opening $STDLIST Using HPFOPEN formaldesignator option
  procedure open_standard_list_device
  const
     formal_designator_option   = 2;     {defines HPFOPEN itemnum 2}
  type
     pac80  = packed array [1..80] of char;
  var
     listfile_num   : integer;  {required HPFOPEN filenum parameter}
     status         : integer; {returns info if error/warning occurs}
     file_name      : pac80;    {declares HPFOPEN item 2           }
  begin
     listfile_num   := 0;
     status         := 0;
     file_name      := '$stdlist'; {Specifies system-defined file  }
                                   {Blank is used as delimiter     }
     HPFOPEN  (listfile_num, status,
               formal_designator_option, file_name,
                                           {formaldesignator option}
               );
     if status <>0 then handle_file_error (listfile_num, status);
  end;
If the HPFOPEN call is successful, a positive integer value is
returned in listfile_num, and status returns a value of zero.
The standard list device is now open and can be written to. If an error or
warning condition is encountered by HPFOPEN, status returns a nonzero
value, thus invoking the error-handling procedure handle_file_error.
    
In appendix A, "HP Pascal/iX Program examples," example A-1 uses a similar
procedure to open $STDLIST. For more information about
HPFOPEN parameters, refer to the MPE/iX Intrinsics
Reference Manual.
    
    
     
    
     
   |