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:
--- 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
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.
Should be called at the end of execution by the user to obtain the statistics of usage of the dynamic store.