1 /*        Begin  include file ... rcp_data_info.incl.pl1
 2    *
 3    *      Created on 04/03/75 by Bill Silver.
 4    *      Modified on 04/24/78 by Michael R. Jordan to add the attached and loaded bits.
 5    *      Modified on 11/19/78 by Michael R. Jordan to add reservation information and volume entries (version 2).
 6    *      Modified 6/79 by Michael R. Jordan for 32 character device types (version 3).
 7    *      This include file is used to copy data from rcp_data.
 8 */
 9 dcl  rdi_ptr ptr;                                           /* Pointer to base of the rdi structure. */
10 dcl  ddtype_ptr ptr;                                        /* Points to a ddtype entry. */
11 dcl  ddevice_ptr ptr;                                       /* Points to a ddevice entry. */
12 dcl  dvolume_ptr ptr;                                       /* Points to a dvolume entry. */
13 
14 dcl  rdi_version_3 fixed bin static internal options (constant) init (3); /* Version number of this structure. */
15 
16 dcl 1 rdi based (rdi_ptr) aligned,                          /* Beginning of rcp_data_info structure. */
17     2 head like rdi_header,                                 /* Header of this structure. */
18     2 ddtypes (0 refer (rdi.tot_ddtypes))                   /* One entry per device type. */
19      like ddtype,                                           /* See structure below. */
20     2 ddevices (0 refer (rdi.tot_ddevices))                 /* One entry per configured device. */
21      like ddevice,                                          /* See structure below. */
22     2 dvolumes (0 refer (rdi.tot_dvolumes))                 /* One entry per "known" volume. */
23      like dvolume,                                          /* See structure below. */
24     2 end bit (36) aligned;                                 /* End of rcp_data_info. */
25 
26 dcl 1 rdi_header based aligned,                             /* Header of RCP Data Info structure. */
27     2 version_num fixed bin,                                /* The version number of this structure. */
28     2 tot_ddtypes fixed bin,                                /* Total number of ddtype entries. */
29     2 tot_ddevices fixed bin,                               /* Total number of ddevice entries. */
30     2 tot_dvolumes fixed bin;                               /* Total number of dvolume entries. */
31 
32 dcl 1 ddtype based (ddtype_ptr) aligned,                    /* Entry for one device type. */
33     2 device_type char (32),                                /* Name of this device type. */
34     2 max_concurrent fixed bin,                             /* Max num of concurrently assigned devices. */
35     2 num_reserved fixed bin,                               /* Num of devices reserved for system processes. */
36     2 num_devices fixed bin,                                /* Num of devices of this type that are configured. */
37     2 first_devicex fixed bin;                              /* Index of first device of this type. */
38 
39 dcl 1 ddevice based (ddevice_ptr) aligned,                  /* Entry for one device. */
40     2 device_name char (8),                                 /* Name of device associated with this entry. */
41     2 volume_name char (32),                                /* Volume name.  Blank => no volume. */
42     2 dtypex fixed bin,                                     /* Device type index. */
43     2 model fixed bin,                                      /* Device model number. */
44     2 num_qualifiers fixed bin,                             /* Number of device qualifiers. */
45     2 qualifiers (4) fixed bin (35),                        /* Device qualifiers. */
46     2 state_time fixed bin (71),                            /* Time device put into current state. */
47     2 state fixed bin,                                      /* 0 => free,  1 => assigned,  2 => deleted. */
48     2 iom_num fixed bin,                                    /* IOM number for this device. */
49     2 chan_num fixed bin,                                   /* Channel number for this device. */
50     2 num_channels fixed bin,                               /* Num channels that may address device. */
51     2 flags,                                                /* Special info flags. */
52      (3 reservable bit (1),                                 /* ON => may be reserved for system process. */
53       3 reserved bit (1),                                   /* ON => assigned to a system process. */
54       3 mounting bit (1),                                   /* ON => mount pending. */
55       3 writing bit (1),                                    /* ON => mounting for writing. */
56       3 attached bit (1),                                   /* ON => device is attached. */
57       3 loaded bit (1)) unal,                               /* ON => device is loaded. */
58     2 group_id char (32),                                   /* Process group ID. */
59     2 reservation_id fixed bin (71),                        /* Reservation id. */
60     2 reserved_by char (32);                                /* Group id of user who reserved this device. */
61 
62 dcl 1 dvolume based (dvolume_ptr) aligned,                  /* Entry for one volume. */
63     2 process_id bit (36),                                  /* "0"b => unassigned. */
64     2 volume_name char (32),                                /* Volume name. */
65     2 vtypex fixed bin,                                     /* Volume type index. */
66     2 group_id char (32),                                   /* This is used for the reserved_for field. */
67     2 reserved_by char (32),
68     2 reservation_id fixed bin (71),
69     2 state_time fixed bin (71),                            /* Same as for a device. */
70     2 state fixed bin,                                      /* Same as for a device. */
71     2 unassign_state fixed bin,                             /* State to return when unassigning. */
72     2 current_authorization bit (72) aligned;               /* Authorization of process using this volume. */
73 
74 /*        End of include file ... rcp_data_info.incl.pl1    */