1 /* ====== BEGIN INCLUDE FILE lister_entries.incl.pl1 =================================== */ 2 3 /* 4 Modified 800521 by PB to add code to calling sequence for lister_merge_. 5 Modified 800702 by PB to add lister_status_. 6 Modified 800813 by PB to add lister_assign_. 7 Modified 800826 by PB to add lister_create_record_$retain_uid. 8 Modified 801008 by PB to add display to calling sequence for lister_print_. 9 Modified 801024 by PB to add lister_convert_. 10 Modified 810226 by PB to add listform_path to calling sequence for lister_print_. 11 */ 12 13 dcl lister_assign_ 14 entry (ptr, bit (1) aligned, ptr, ptr); 15 /* param 1 (input) ptr to lister segment */ 16 /* param 2 (input) "1"b iff all records are to be modified */ 17 /* param 3 (input) ptr to selected records */ 18 /* param 4 (input) ptr to assign info structure */ 19 20 dcl lister_compile_listin_ 21 entry (ptr, ptr, fixed bin (21), ptr, fixed bin, char (*), fixed bin (35)); 22 /* param 1 (input) ptr to new file segment */ 23 /* param 2 (input) ptr to listin segment */ 24 /* param 3 (input) length in chars of listin segment */ 25 /* param 4 (input) ptr to system free area */ 26 /* param 5 (output) number of records parsed */ 27 /* param 6 (output) error token, if any errors */ 28 /* param 7 (output) status code */ 29 30 dcl lister_compile_select_ 31 entry (char (*), ptr, ptr, ptr, char (*), fixed bin (35)); 32 /* param 1 (input) select expression to be parsed */ 33 /* param 2 (input) ptr to file that will be searched */ 34 /* param 3 (input) ptr to area */ 35 /* param 4 (output) ptr to compiled select expression */ 36 /* param 5 (output) error token */ 37 /* param 6 (output) standard status code */ 38 39 dcl lister_compile_sort_ 40 entry (char (*), ptr, ptr, ptr, char (*), fixed bin (35)); 41 /* param 1 (input) sort string to be parsed */ 42 /* param 2 (input) ptr to file */ 43 /* param 3 (input) ptr to area */ 44 /* param 4 (output) ptr to compiled sort expression */ 45 /* param 5 (output) token in error (if any error) */ 46 /* param 6 (output) standard status code */ 47 48 dcl lister_convert_ entry (ptr, fixed bin (35)); 49 /* param 1 (input) input file ptr */ 50 /* param 2 (output) standard status code */ 51 52 dcl lister_copy_file_head_ 53 entry (ptr, ptr); 54 /* param 1 (input) input file ptr */ 55 /* param 2 (input) output file ptr */ 56 57 dcl lister_copy_records_ 58 entry (ptr, ptr, ptr); 59 /* param 1 (input) ptr to input file */ 60 /* param 2 (input) ptr to output file */ 61 /* param 3 (input) ptr to list of records to be copied */ 62 63 dcl lister_compare_field_tables_ 64 entry (ptr, ptr) 65 returns (bit (1) aligned); 66 /* param 1 (input) ptr to file 1 */ 67 /* param 2 (input) ptr to file 2 */ 68 /* return (output) "1"b if field tables are equal */ 69 70 dcl lister_create_record_ 71 entry (ptr) 72 returns (ptr); 73 /* param 1 (input) file ptr */ 74 /* return (output) record ptr */ 75 76 dcl lister_create_record_$after 77 entry (ptr, ptr) 78 returns (ptr); 79 /* param 1 (input) ptr to file to create record in */ 80 /* param 2 (input) ptr to record that is to be just before created record */ 81 /* return (output) ptr to created record */ 82 83 dcl lister_create_record_$retain_uid 84 entry (ptr, fixed bin (24) unsigned unaligned) 85 returns (ptr); 86 /* param 1 (input) file ptr */ 87 /* param 2 (input) uid to be retained */ 88 /* return (output) record ptr */ 89 90 dcl lister_delete_ 91 entry (ptr, ptr); 92 /* param 1 (input) file ptr */ 93 /* param 2 (input) ptr to list of record to be deleted */ 94 95 dcl lister_expand_ 96 entry (ptr, ptr, fixed bin (21), fixed bin, bit (1) aligned) 97 returns (fixed bin); 98 /* param 1 (input) file ptr */ 99 /* param 2 (input) ptr to output segment */ 100 /* param 3 (in/out) 1-origin char index of next free char in output segment */ 101 /* param 4 (input) line length to use */ 102 /* param 5 (input) "1"b iff field names are always to appear */ 103 /* return (output) number of records expanded */ 104 105 dcl lister_hash_fid_ reducible 106 entry (ptr, char (*)) 107 returns (fixed bin); 108 /* param 1 (input) file ptr */ 109 /* param 2 (input) field identifier */ 110 /* return (output) field index */ 111 112 dcl lister_hash_fid_$enter irreducible 113 entry (ptr, char (*)) 114 returns (ptr); 115 /* param 1 (input) file ptr */ 116 /* param 2 (input) field identifier */ 117 /* return (output) field identifier node offset */ 118 119 dcl lister_format_parse_ 120 entry (ptr, ptr, char (*), ptr, char (*), fixed bin (35)); 121 /* param 1 (input) ptr to file containing field table */ 122 /* param 2 (input) ptr to area */ 123 /* param 3 (input) listform string */ 124 /* param 4 (output) format table ptr */ 125 /* param 5 (output) error token */ 126 /* param 6 (output) status code */ 127 128 dcl lister_merge_ entry (ptr, ptr, ptr, (*) fixed bin, fixed bin, fixed bin, fixed bin(35)) 129 returns ((3) fixed bin); 130 /* param 1 (input) input file ptr */ 131 /* param 2 (input) update file ptr */ 132 /* param 3 (input) output file ptr */ 133 /* param 4 (input) array of fields to merge on */ 134 /* param 5 (input) 1-origin number of elements in field_list */ 135 /* param 6 (input) type of merge */ 136 /* param 7 (output) status code */ 137 /* return (output) count of number of input, update, output records */ 138 139 dcl lister_print_ entry (ptr, ptr, ptr, fixed bin (21), bit (1) aligned, 140 ptr, ptr, fixed bin, bit (1) aligned, bit (1) aligned, char (*)); 141 /* param 1 (input) ptr to file to be printed */ 142 /* param 2 (input) format table ptr */ 143 /* param 3 (input) ptr to base of output segment */ 144 /* param 4 (in/out) index of next output character */ 145 /* param 5 (input) "1"b iff all records are to be printed */ 146 /* param 6 (input) ptr to list of records to print */ 147 /* null => print no records */ 148 /* param 7 (input) ptr to argument list for -ag */ 149 /* param 8 (input) index of -ag in above argument list */ 150 /* param 9 (input) brief error flag */ 151 /* param 10 (input) "1"b iff called by display_list af */ 152 /* param 11 (input) pathname of listform segment */ 153 154 dcl lister_select_ entry (ptr, ptr, ptr, ptr) 155 returns (fixed bin); 156 /* param 1 (input) ptr to file to be searched */ 157 /* param 2 (input) ptr to select_expression */ 158 /* param 3 (input) ptr to area */ 159 /* param 4 (output) ptr to list of selected records */ 160 /* return (output) number of records found */ 161 162 dcl lister_sort_ entry (ptr, ptr, ptr); 163 /* param 1 (input) file ptr */ 164 /* param 2 (input) ptr to list of records */ 165 /* param 3 (input) ptr to sort list array */ 166 167 dcl lister_status_ entry (ptr, char (*), bit (1) aligned, ptr); 168 /* param 1 (input) ptr to lister segment */ 169 /* param 2 (input) entryname of lister segment */ 170 /* param 3 (input) on if no selection expression given */ 171 /* param 4 (input) ptr to status info structure */ 172 173 /* ------ END INCLUDE FILE lister_entries.incl.pl1 ----------------------------------- */