1 /* BEGIN INCLUDE FILE ... _imft_std_commands.incl.pl1 */ 2 3 /* Created: April 1982 by G. Palter */ 4 /* Modified: July 1982 by G. Palter to add true AIM support */ 5 /* Modified: March 1983 by Robert Coren to add local_io_error abort code */ 6 /* Modified: August 1983 by Robert Coren to add access_floor to AIM2 record */ 7 8 9 /****^ HISTORY COMMENTS: 10 1) change(88-08-12,Beattie), approve(88-08-01,MCR7948), 11 audit(88-10-14,Farley), install(88-10-14,MR12.2-1165): 12 Add imft_version to sync_record structure to inform other driver of this 13 driver's version of the IMFT software. 14 END HISTORY COMMENTS */ 15 16 17 /* Standard command and reply control records used by IMFT drivers */ 18 19 20 /* Standard command/reply types */ 21 22 dcl (IMFT_DATA initial (0), /* data record */ 23 IMFT_SYNC1 initial (1), /* first half of synchronization sequence */ 24 IMFT_SYNC2 initial (2), /* second half of synchronization sequence */ 25 IMFT_ABORT initial (3), /* abort the current operation */ 26 IMFT_LOGOUT initial (4), /* one side requests that the other logout */ 27 IMFT_RESYNCHRONIZE initial (5), /* reply requesting resynchronization */ 28 IMFT_AIM1 initial (6), /* first half of establsihing AIM ceiling */ 29 IMFT_AIM2 initial (7)) /* second half of establishing AIM ceiling */ 30 fixed binary (7) unaligned unsigned static options (constant); 31 32 33 /* Synchronization control record: sent as the SYNC1 command and reply and as the SYNC2 command; the SYNC2 reply is a 34 zero-length record which is only sent if the SYNC2 command indicates success */ 35 36 dcl 1 sync_record aligned based (sync_record_ptr), 37 2 my_userid character (32), /* Person_id of system sending this record */ 38 2 my_password character (8), /* scrambled card input passowrd */ 39 2 code fixed binary (35), /* non-zero code => validation failed; break the connection */ 40 2 correct_userid character (32), /* Person_id that was expected if incorrect */ 41 2 imft_version character (8); /* version of IMFT being used by driver */ 42 43 dcl sync_record_ptr pointer; 44 45 46 /* Abort command record */ 47 48 dcl 1 abort_command aligned based (abort_command_ptr), 49 2 reason fixed binary, /* reason to abort this operation */ 50 2 code fixed binary (35); /* real error code for an I/O error */ 51 52 dcl abort_command_ptr pointer; 53 54 dcl (IMFT_ABORT_IO_ERROR initial (1), /* I/O error */ 55 IMFT_ABORT_ABORTED initial (2), /* random fault */ 56 IMFT_ABORT_DEFERRED initial (3), /* operator deferred request */ 57 IMFT_ABORT_CANCELLED initial (4), /* operator cancelled request */ 58 IMFT_ABORT_SAVED initial (5), /* operator saved the request silently */ 59 IMFT_ABORT_RESTARTED initial (6), /* operator restarted the request */ 60 IMFT_ABORT_LOCAL_IO_ERROR initial (7)) /* I/O error on local system */ 61 fixed binary static options (constant); 62 63 64 /* AIM ceiling control records: the AIM1 command and reply are the aim_attributes structures defining the attributes on 65 the system; the AIM2 command/reply record follows */ 66 67 dcl 1 aim2_record aligned based (aim2_record_ptr), 68 2 code fixed binary (35), /* non-zero => AIM ceiling can not be established */ 69 2 computed_ceiling bit (72), /* ceiling computed by other system (before translation) */ 70 2 computed_floor bit (72), /* floor computed by other system (before translation) */ 71 2 flags unaligned, 72 3 explicit_ceiling_given bit (1), /* ON => an explicit access ceiling follows */ 73 3 explicit_floor_given bit (1), /* ON => an explicit access floor follows */ 74 3 pad bit (34), 75 2 explicit_ceiling bit (72), /* the explicitly requested ceiling (before translation) */ 76 2 explicit_floor bit (72); /* the explicitly requested floor (before translation) */ 77 78 /* The following version of the structure is used for pre-version 3.0 IMFT */ 79 80 dcl 1 v2_aim2_record aligned based (aim2_record_ptr), 81 2 code fixed binary (35), /* non-zero => AIM ceiling can not be established */ 82 2 computed_ceiling bit (72), /* ceiling computed by other system (before translation) */ 83 2 explicit_ceiling_given bit (1), /* ON => an explicit access ceiling follows */ 84 2 explicit_ceiling bit (72); /* the explicitly requested ceiling (before translation) */ 85 86 dcl aim2_record_ptr pointer; 87 88 /* END INCLUDE FILE ... _imft_std_commands.incl.pl1 */