GEFADD 3 - Get file/device info from file code.

Usage:

mme     gefadd

Where:

Q register
contains a two-character BCD file code in bits 24-35.

Description:

MME GEFADD is used to obtain information about the file or device associated with the file code specified in the Q register. Zero will be returned in both the A and Q registers if the file code is not defined, or if the file code is associated with a "system" PAT pointer for which there is no actual PAT body. "System" PAT pointers are created for file codes used for sysout ($REMOTE and $SYSOUT), and terminals ($DAC). Otherwise, the A register will be loaded with information about the type and state of the device, and the Q register will have information about the device address.

Originally, the information in the Q register was adequate to uniquely identify the device. However, with logical subdevices, more that 64 devices per channel, and more 4 IOM's per system, the information in the Q may no longer be adequate. Generally, a program does not need the physical address information, but if it does, PMME P.DINF may be used instead.

The Q register is set with as follows with information about the primary physical address of the device. No information is returned about alternate access paths to the same device.

Bits 0-5
zero
Bits 6-11
device number on channel
Bits 12-13
IOM/IOX/IMU/IOP number (modulo 4)
Bit 14
The device number was higher than 63. Currently if this is set, no other address info is returned. The rest of the Q will be zeroed.
Bit 15
the IOM number was higher than 3.
Bits 16-23
eight-bit channel number within IOM.
Bits 24-35
reserved for GCOS.
For permanent catalogued disk files, the device information given will be the device of the catalogue block for the file, not the device where its first extent is found.

MME GEFADD also stores information in the A register. The nature of this information depends on the device type, as described below.

All devices:
Bits 0-5
6-bit device type code.
Bits 6-8
Normal disposition code.
000 -- Release
001 -- Dismount
010 -- Save
011 -- Continue
Card Readers and Punches:
Bits 9-10
is 00 if the device does not have ASCII capability, and 11 otherwise.
Bits 11-12
reserved for GCOS.
Bit 13
51 column card option active.
Bit 14
51 column card option available (CRZ301 and PRU1050 only).
Bits 15-35
reserved for GCOS.
Printers:
Bit 9
ASCII capability.
Bit 10
ASCII print train currently loaded.
Bit 11
must be zero.
Bits 12-14
defines print line capabilities.
000 -- Reserved.
001 -- 132-character print line.
010 -- 136-character print line.
011 -- 160-character print line
Bits 15-35
reserved for GCOS.
Disk files:
Bits 9-14
reserved for GCOS. This was once the sector size field, so you may find old code that checked this for 40 word sector devices. All devices are now logically 64 even if they the real device is physically formatted with a larger sector size.
Bit 15
is 1 for a FIPS-compatible device, 0 otherwise.
Bit 16
reserved for GCOS.
Bit 17
file has been written to since allocation.
Bit 18
the size field (bits 22-35) is in llinks. This bit is always be set since some old code will interpret the size field in links if bit 18 is zero. Note that the B library knows this is always set and recycles the bit position.
Bit 19
the file is random.
Bit 20
the file is permanent.
Bit 21
this is always zero to indicate that the sector size is 64 words. Like bit 18, the B library recycles this bit position,
Bits 22-35
is the size of the file in llinks. This is 0 if the size is too large to represent in 14 bits (greater than 16,383 llinks; in this case use PMME FILINF or MME GEFCON to obtain the size.
Magnetic Tape:
Bits 9-12
density capability from bits 21-24 of word 1 of secondary SCT.
Bits 13-14
is 10 if the allocated tape unit is capable of S2000 operation mode, and 11 if the tape file is allocated as an S2000 file.
Bit 15
is 1 if the device is FIPS-compatible, 0 otherwise.
Bit 16
cartridge tape device.
Bit 17
automated cartridge tape library (robot) device. Bit 16 will be set if bit 17 is.
Bit 18
is 1 if the device is an MTS0610 or MTS0611, 0 otherwise.
Bit 19
reserved for GCOS.
Bits 20-23
is the high-density default from .CROPT (obtained from a $INFO statement in the start-up job stream).
Bits 24-27
is the low-density default from .CROPT.
Bits 28-31
is the density code from the PAT. This is the density requested on the $TAPE card.
Bits 32-34
current density setting (open reel tapes).
2 -- 200 bpi
0 -- 556 bpi
1 -- 800 bpi
7 -- 1600 bpi
6 -- 6250 bpi
Bit 35
reserved for GCOS.

Tape density codes are interpreted as follows.

0000    as is (no mapping)
0001    200 bpi (NRZI mode)
0010    556 bpi (NRZI mode)
0100    800 bpi (NRZI mode)
1001    1600 bpi Phase-Encoded (PE) mode
1010    comp36 (compressed 36 track cartridge)
1011    std36  (standard 36 track cartridge)
1100    6250 bpi
1101    std18  (standard 18 track cartridge)
1110    comp18 (compressed 18 track cartridge)
1111    system high density and low density
               options used

See Also:

expl b bmac fildes
for symbols that may be used to interpret the descriptor information in the A register.

Copyright © 2000, Thinkage Ltd.