next up previous contents index
Next: MZLOGL - change Up: Memory management Previous: ZEBRA bank format

MZEBRA - initialize the ZEBRA system

To initialize the ZEBRA system Common blocks the user must call MZEBRA, before any other request to ZEBRA.

In particular, the following COMMON variables of interest to the user are initialized:

logical unit numbers:
      COMMON /ZUNIT/ IQREAD,IQPRNT,IQPR2,IQLOG,IQPNCH,IQTTIN,IQTYPE

default logging level:
      NQLOGD in /ZSTATE/

where
      IQREAD   lun for standard system input ('card reader')

      IQPRNT   lun for standard  user print output
      IQPR2    lun for secondary user print output
               initialization: IQPRNT=IQPR2=IQLOG

      IQLOG    lun for standard system output ('line printer')
               this is used for all ZEBRA system printing

      IQPNCH   standard system coded output to be read back by
               program ('card punch')

      IQTTIN   standard on-line terminal input  (zero if none)
      IQTYPE   standard on-line terminal output (zero if none)

      NQLOGD   system-wide default logging level, see next para.
               standard default initialization to zero

On any particular machine ZEBRA knows the correct values for the logical unit numbers, for example it knows that 6 and 7 are the right values for IQREAD and IQLOG on the IBM, similarly L"INPUT" and L"OUTPUT" on the CDC Cybers. It is of advantage to the user to direct all his print output through the unit numbers provided by ZEBRA in /ZUNIT/. After the call to MZEBRA he is free to change any particular value in /ZUNIT/, and with the call to MZEBRA he may also modify the initialization, in particular he may re-direct the standard print output to the on-line terminal.

The parameter in the call to MZEBRA may select initialization options either with an integer constant or with a list:

CALL MZEBRA (LIST)

 --- short form of options:

   with  LIST = 0:  standard defaults
               -1:  preset IQLOG = IQTYPE, ie. output to terminal
               -2:  preset NQLOGD= -2,     ie. only error messages
               -3:  preset NQLOGD= -2 and IQLOG=IQTYPE

 --- options specified by a list:

   with  LIST(1)   N elements in the list to follow (excluding itself)
                   if zero or -ve: standard options

             (2)   -> NQLOGD, the system-wide default log level
                              (see MZLOGL on the next page)

                   for example: LIST(2)= -3: suppress all messages
                   standard default: NQLOGD = 0

             (3)   -> IQLOG,  lun for standard log printing
                              unless absent or zero
                              if = -1: set IQLOG = IQTYPE

             (4)   -> IQPRNT, lun for standard output printing
                              if absent/zero: set IQPRNT = IQLOG
                              if = -1:        set IQPRNT = IQTYPE

CALL MZVERS

prints at logging level -1 or above an initialisation message on unit IQLOG, showing amongst other things, the version number of the current ZEBRA system. In \IQUEST(1) it returns as an integer the Zebra MZ version number multiplied by 10000; thus version 3.66 /7 would give 36607.

Examples:

   set normal logging, set printer output to terminal:

      CALL MZEBRA (-1)
      CALL MZVERS

   set monitor logging, set unit 4 as print file:

      DIMENSION    LIST(3)
      DATA  LIST   / 2,  2, 4 /
      CALL MZEBRA (LIST)
      CALL MZVERS

MZEBRA only initializes the general ZEBRA system commons, it does not initialize the dynamic store. Before any request to the ZEBRA system involving the store, the user must initialize it by calling MZSTOR.

CALL MZEND

Should be called at the end of execution by the user to obtain the statistics of usage of the dynamic store.


Janne Saarela
Mon May 15 08:34:47 METDST 1995