1 /* START OF: sort_seg_info.incl.pl1 * * * * * * * * * * * * * * * * */ 2 3 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ 4 /* */ 5 /* This include file declares the information structure for the sort_seg_ subroutine. */ 6 /* This structure defines the sort string delimiter, and sort field delimiters for fields */ 7 /* to be sorted upon within each sort unit (sort string or block of sort strings). */ 8 /* */ 9 /* Status */ 10 /* 0) Created: May 1, 1982 by G. C. Dixon */ 11 /* 1) Modified: July 22, 1982 by DJ Schimke adding numeric and integer sort modes. */ 12 /* */ 13 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ 14 15 dcl 1 ss_info aligned based(ss_info_ptr), 16 2 header, 17 3 version char(8), /* version of this structure. Set with */ 18 /* SS_info_version_1 string constant. */ 19 3 block_size fixed bin, /* number of sort strings to be blocked together */ 20 /* in each sort unit. */ 21 3 field_count fixed bin, /* number of sort fields within eacch sort unit. */ 22 3 duplicate_mode fixed bin, /* method of handling duplicate sort units. Set */ 23 /* with one of the constants below. */ 24 3 mbz1 (3) fixed bin, /* reserved for future use. Set to 0. */ 25 3 delim, /* sort string delimiter definition. */ 26 4 type fixed bin, /* type of delimiter. Set with one of field */ 27 /* constants below. */ 28 4 number fixed bin, /* numeric type delimiter value. */ 29 4 string char(256) varying, /* string type delimiter value. */ 30 2 field (ss_field_count refer (ss_info.field_count)), 31 /* sort field definitions */ 32 3 from like ss_info.delim, /* start of sort field. */ 33 3 to like ss_info.delim, /* end of sort field. */ 34 3 modes, /* per-field sort modes. */ 35 (4 descending bit(1), /* sort field in descending order */ 36 4 non_case_sensitive bit(1), /* translate field to lowercase for sorting. */ 37 4 numeric bit(1), /* sort field according to numeric value. */ 38 4 integer bit(1), /* sort field according to integer value. */ 39 4 mbz2 bit(32)) unal, /* reserved for future use. Set to ""b. */ 40 ss_field_count fixed bin, 41 ss_info_ptr ptr, 42 43 SS_info_version_1 char(8) int static options(constant) init("ss_info1"), 44 /* string constant which must be used to set */ 45 /* structure version. */ 46 /* constants for setting duplicate_mode, type(s) */ 47 (SS_unset init(0), 48 SS_duplicates init(1), /* duplicate modes */ 49 SS_unique init(2), 50 SS_only_duplicates init(3), 51 SS_only_duplicate_keys init(4), 52 SS_unique_keys init(5), 53 SS_only_unique init(6), 54 SS_only_unique_keys init(7), 55 SS_length init(1), /* field types */ 56 SS_index init(2), 57 SS_string init(3), 58 SS_reg_exp init(4)) fixed bin int static options(constant); 59 60 /* END OF: sort_seg_info.incl.pl1 * * * * * * * * * * * * * * * * */