43 - obtain information about allocated files.

Usage:

mme    gefsye
zero   CC,ARGLIST
zero   43,BUFFER

Where:

CC
is either zero or a courtesy call address.
ARGLIST
points to a list of arguments for this call. The format of this list is described below.
BUFFER
points to a buffer that can be used in this operation. This buffer must be at least 99 words from the upper boundary of the slave program; if it is not, the program will abort. The size of the buffer may be provided in the argument list (as described below). The minimum size is 36 words. If the size given in the argument list is less than 36, or no size is given, or the specified end of the buffer exceeds the upper boundary of the program, a buffer size of 99 is used.

Description:

This version of MME GEFSYE obtains information about all the files allocated for this program. The argument list indicated by ARGLIST has the form

zero    RETURN_WORD,INF_PTR
zero    -1,BUFSIZE
where
RETURN_WORD
points to two words where MME GEFSYE can return a status. MME GEFSYE will initialize these words to zeroes, and they will be zero when the MME returns (there are no error returns).
INF_PTR
should be zero to begin with. When MME GEFSYE returns, this field will contain the address of an information block (as described below). The information block will be located in the memory indicated by BUFFER.
BUFSIZE
is the size of buffer, in words. See the discussion of BUFFER (above) for limits on the buffer size. This field may be omitted by using
dec     -1
as the second word of the argument list.

Information Block

The information block contains information about all files that are currently allocated. The first word of the block has the form

Bit 0:  if 1, error returned from Integrity Control
    1:  if 1, an update file with RDERR/JOURNAL/
        is present
    2:  if 1, a file with ABORT/ARCHIVE/ is present
    3:  if 1, a file with RDERR/DUP/ is present
    4:  if 1, a file with ACCESS/MONITOR/ is present
    5:  if 1, a file with I/O controlled by
        Integrity Control is present
    6:  reserved
    7:  if 1, an update file with ABORT/ROLLBACK/ or
        TEST allocation is present
    8:  if 1, an update file with VERIFY/YES/ is
        present
    9:  if 1, temporary random files are allocated
   10:  if 1, temporary sequential files are
        allocated
   11:  if 1, files with TEST allocation are present
   12:  if 1, files with TEST allocation are present
        as well as update PRMFLs without TEST
   13:  if 1, user-supplied before images should not
        be taken for efficiency reasons
14-17:  reserved
18-35:  number (M) of mass storage files allocated;
        M must be <= BUFSIZ-35
After this word comes M additional words, each describing an allocated file. Each of these words has the following form.
Bit 0:  if 1, error returned by Integrity Control
    1:  if 1, file has update allocation with
        RDERR/JOURNAL/ protection
    2:  if 1, file has ABORT/ARCHIVE/ protection
    3:  if 1, file has RDERR/DUP/ protection
    4:  if 1, file has ACCESS/MONITOR/ protection
    5:  if 1, file I/O controlled by Integrity
        Control
    6:  reserved
    7:  if 1, file has update allocation with
        ABORT/ROLLBACK/
    8:  if 1, file has update allocation with
        VERIFY/YES/
    9:  if 1, file is permanent
   10:  if 1, file is not catalogued
   11:  if 1, file has random allocation
12-17:  number of sectors per page (protected
        files only)
18-21:  allocation type from PAT pointer:
        0000   Execute
        0010   Append
        0110   Load
        0111   Recovery
        1000   Read
        1001   Read concurrent
        1010   Read and append
        1011   Query
        1100   Write
        1101   Write concurrent
        1110   Test
        1111   Test concurrent
22-23:  reserved
24-35:  file code

Copyright © 2000, Thinkage Ltd.