Guardian Programmer's Guide

Table Of Contents
Communicating With Devices
Guardian Programmer’s Guide 421922-014
9 - 6
Getting Device Information
!Data structure for returned logical device information:
STRUCT .LOGICAL^INFO;
BEGIN
INT(32) LDEV; !logical device number
INT PRIMARY^CPU; !CPU where primary I/O process runs
INT PRIMARY^PIN; !PIN of primary I/O process
INT BACKUP^CPU; !CPU where backup I/O process runs
INT BACKUP^PIN; !PIN of backup I/O process
INT TYPE; !device type
INT SUBTYPE; !device subtype
INT RECORD^SIZE; !record length in bytes
INT FLAGS; !<1> set if device is TMF audited
!<2> set if device dynamically
! configured
!<3> set if logically demountable
!<4> set if device has subdevices
! that can be opened
END;
!Template structure for physical device information:
STRUCT PHYSICAL^INFO (*);
BEGIN
INT STATUS; !file-system error number from IOP
INT PRIMARY^SUBTYPE; !device subtype of primary half of
! mirrored disk
INT MIRROR^SUBTYPE; !device subtype of mirrored half of
! mirrored disk
INT FLAGS; !<1> set if device has physical
! devices
!<2> set if current primary IOP
STRUCT PATH0; !substructure for path 0
BEGIN
INT FLAGS; !<1> set if path configured
!<2> set if path currently in use by
! IOP
INT CHANNEL; !channel number of path
INT CONTROLLER; !controller number of path
INT UNIT; !unit number of path
INT STATE; !operational status of path
END;
STRUCT PATH1; !substructure for path 1
BEGIN
INT FLAGS;
INT CHANNEL;
INT CONTROLLER;
INT UNIT;
INT STATE;
END;