1 /* BEGIN INCLUDE FILE...driver_status.incl.pl1 */ 2 3 4 5 /****^ HISTORY COMMENTS: 6 1) change(88-01-27,Brunelle), approve(), audit(), install(): 7 Ancient History 8 Coded by Robert S. Coren August 1973 9 Modified by J. Whitmore to structure data for the Access Isolation Mechanism 10 Modified by J. C. Whitmore, 5/78, for IO Daemon extensions 11 Modified by J. C. Whitmore, 8/79, to add the generic_type variable 12 2) change(88-08-19,Brunelle), approve(88-08-19,MCR7911), 13 audit(88-09-29,Wallman), install(88-10-28,MR12.2-1199): 14 Upgraded for version 5 iod tables. Changed the minor_args ftom string to 15 text_offset. Changed acct_ptr to acct_entry. Added have_accounting bit 16 to denote accounting ^= nothing. 17 END HISTORY COMMENTS */ 18 19 20 /* status data for a logical device driver */ 21 22 /* format: style4 */ 23 24 dcl driver_status_ptr ptr; 25 dcl 1 driver_status aligned based (driver_status_ptr), 26 2 req_type_label char (32), /* string to describe the request type */ 27 2 dev_name_label char (32), /* string to describe the device */ 28 2 device_id char (32), /* minor device name used by this logical driver */ 29 2 device_class_id char (32), /* device class name used by this logical driver */ 30 2 coord_chan fixed bin (71), /* ipc event channel for signals to coord. */ 31 2 driver_chan fixed bin (71), /* ipc event channel for signals from coord. */ 32 2 last_wake_time fixed bin (71), /* time last wakeup sent to coord */ 33 2 request_pending bit (36), /* locking word for communication with coord */ 34 /* 0 = ready for a request */ 35 /* driver pid = don't bug me */ 36 /* coord pid = got a request */ 37 2 status_flags, 38 3 attached bit (1) unal, /* minor device is attached for i/o */ 39 3 busy bit (1) unal, /* driver doing request..tell coord when done */ 40 3 ready bit (1) unal, /* driver is ready to handle requests */ 41 3 acknowledge bit (1) unal, /* coordinator must reply to all wakeups */ 42 3 have_accounting bit (1) unal, /* ON if accounting ^= nothing */ 43 3 pad bit (31) unal, 44 2 list_index fixed bin, /* index of this driver in the driver ptr list */ 45 2 dev_index fixed bin, /* index in iod_device_tab of this minor device */ 46 2 maj_index fixed bin, /* index in iod_device_tab of the corresponding major device */ 47 2 dev_class_index fixed bin, /* index of device_class entry */ 48 2 minor_args unaligned like text_offset, /* descriptive string for this minor device */ 49 2 min_banner bit (72) aligned, /* min banner access class for marking output */ 50 2 acct_entry entry (char (*), char (*), ptr, fixed bin (35)) variable, /* entry variable to accounting procedure */ 51 /* for this logical driver */ 52 2 rqti_ptr ptr, /* pointer to the request type info seg */ 53 2 dev_out_iocbp ptr, /* iocb pointer for dev_out_stream */ 54 2 dev_in_iocbp ptr, /* iocb pointer for dev_in_stream */ 55 2 dev_out_stream char (32), /* output stream for minor device */ 56 2 dev_in_stream char (32), /* input stream for minor device */ 57 2 elem_size fixed bin, /* element size for the stream */ 58 2 message_type fixed bin, /* expected format of user request */ 59 2 form_wait_time fixed bin (71), /* average time needed to write ctl term msg */ 60 2 forms_validation_ptr ptr, /* forms validation data */ 61 2 dev_ptr1 ptr, /* another one */ 62 2 dev_fb1 fixed bin, /* a spare fixed bin variable for the driver */ 63 2 dev_fb2 fixed bin, /* and another */ 64 2 dev_fb3 fixed bin, /* and another */ 65 2 dev_fb4 fixed bin, /* and the last spare fixed bin */ 66 2 dev_fb71 fixed bin (71), /* a spare fixed bin 71 variable */ 67 2 dev_ctl_ptr ptr, /* pointer to control structure for this device */ 68 2 bit_rate_est fixed bin (35), /* output rate estimate - bits per second */ 69 2 defer_time_limit fixed bin (35), /* max time allowed for a request - in seconds (0 = no limit) */ 70 2 generic_type char (32), /* generic type of this minor device */ 71 2 status_pad (2) fixed bin (35), /* save some room for later */ 72 2 descriptor like request_descriptor, /* copy of request descriptor */ 73 2 desc_pad (13) fixed bin, 74 2 message fixed bin; /* place-holder for copy of request message */ 75 76 77 /* END INCLUDE FILE...driver_status.incl.pl1 */