1 /* Include file for vfile_ control orders dealing with key ranges in indexed files */ 2 /* created by M. Asherman 4/7/77 3 Modified: 4 12/18/80 by Lindsey Spratt: Add the delete_old_subsets bit. 5 */ 6 7 /* format: style2 */ 8 dcl 1 common_sl_info based (info_ptr), /* info structure for select and exclude orders */ 9 2 flags aligned, /* Input */ 10 3 list_type fixed (3) unal, /* code identifies format of tail structure */ 11 3 status_only bit (1) unal, /* if set, subset info is returned, but current subset stays the same */ 12 3 output_descriptors 13 bit (1) unal, /* if set, resulting descriptor list is returned */ 14 3 delete_old_subsets 15 bit (1) unal, /* if set, causes all of the existing subsets on this switch to be deleted. */ 16 3 mbz bit (11) unal, /* must be zero--in case of extensions */ 17 3 version fixed (17) unal, /* current info version */ 18 2 array_limit fixed, /* upper bound of array in tail of info structure */ 19 2 subset_no fixed, /* identifies temporary subset-- Output */ 20 2 count fixed (34), /* Output--number of distinct descrips */ 21 2 desc_arrayp ptr; /* pointer to resulting array of descriptors */ 22 23 /* descriptor array generated if requested */ 24 dcl desc_array (1:common_sl_info.count) based (common_sl_info.desc_arrayp); 25 26 /* this format allows specification in terms of index intervals defined by two heads or one key */ 27 dcl 1 hi_sl_info based (info_ptr), /* structure for list_type = 1 */ 28 2 common like common_sl_info, 29 2 interval (1:sl_array_limit refer (hi_sl_info.array_limit)), 30 3 first_head, 31 4 length fixed, 32 4 kptr ptr unal, 33 3 last_head, 34 4 length fixed, /* if negative, this interval is defined by match with key */ 35 4 kptr ptr unal; 36 37 /* format for specification in terms of an array of descriptors */ 38 dcl 1 da_sl_info based (info_ptr), /* list_type=2 */ 39 2 common like common_sl_info, 40 2 desc_array (1:sl_array_limit refer (da_sl_info.array_limit)) fixed (35); 41 42 dcl sl_array_limit fixed; 43 dcl sl_info_version_0 static options (constant) internal fixed init (0); 44 45 /* list_type=0 denotes reselection of a single, previously defined subset (no tail structure) */