1 /* include file for info structure used with record_status control order 2 created by M. Asherman 1/6/76 */ 3 /* modified 6/15/77 to support stationary type records */ 4 5 dcl rs_info_ptr ptr; 6 dcl 1 rs_info based (rs_info_ptr) aligned, 7 2 version fixed, /* must be set to 1 or 2 (Input) */ 8 2 flags aligned, 9 3 lock_sw bit (1) unal, /* Input -- if ="1"b try to lock record */ 10 3 unlock_sw bit (1) unal, /* Input -- if ="1"b try to unlock record */ 11 3 create_sw bit (1) unal, /* Input--if set creat new record */ 12 3 locate_sw bit (1) unal, /* Input--if set causes current rec to be 13 located outside the index by descrip, or created without key */ 14 3 inc_ref_count bit (1) unal, /* Input--bump reference count of record, if stationary */ 15 3 dec_ref_count bit (1) unal, /* Input--decrement ref count if this flag set and record stationary */ 16 3 locate_pos_sw bit (1) unal, /* Input--if set the record_length is taken 17 as an input argument specifying the absolute logical record positioni to which both the current and next positions will be set */ 18 3 mbz1 bit (29) unal, /* must be set to "0"b, reserved for future use */ 19 2 record_length fixed (21), /* length in bytes, Input if create_sw set */ 20 2 max_rec_len fixed (21), /* max length of contained record 21 Input if create_sw is set--overrides min_block_size in effect */ 22 2 record_ptr ptr, /* points to first byte of record--will be word aligned */ 23 2 descriptor fixed (35), /* Input if locate_sw set and create_sw="0"b */ 24 2 ref_count fixed (34), /* Output--should match number of keys on this record-- = -1 if non-stationary record */ 25 2 time_last_modified fixed (71), /* Output */ 26 2 modifier fixed (35), /* Output--also Input when locking */ 27 2 block_ptr ptr unal, /* Output */ 28 2 last_image_modifier 29 fixed (35), 30 2 mbz2 fixed; 31 32 dcl 1 rs_desc based (addr (rs_info.descriptor)), 33 /* record block descriptor structure */ 34 2 comp_num fixed (17) unal, /* msf component number */ 35 2 offset bit (18) unal; /* word offset of record block */ 36 37 dcl 1 seq_desc based (addr (rs_info.descriptor)), 38 /* for sequential files */ 39 2 bitno bit (6) unal, 40 2 comp_num fixed (11) unal, /* msf component number */ 41 2 wordno bit (18) unal; /* word offset */ 42 43 dcl rs_info_version_1 static internal fixed init (1); 44 dcl rs_info_version_2 static internal fixed init (2); 45