1 /* BEGIN INCLUDE FILE linus_set_fn.incl.pl1 -- jaw 7/13/77 2 3 81-10-26 Rickie E. Brinegar: Modified to have entry variables instead of 4 entry pointers. This change included the addition of bit switches inorder 5 to be able to tell if the entry variable had been set yet. Also changed 6 the name of the structure from set_fn to linus_set_fn and the name of the 7 variable that it was based on from setf_ptr to linus_set_fn_ptr. 8 9 81-11-05 Rickie E. Brinegar: Changed the entry pointers to entry variables 10 and added bit switches to determine when the entries have or have not been 11 set. Renamed set_fn sturcture to linus_set_fn, setf_ptr to 12 linus_set_fn_ptr, and nset_fn_init_args to 13 initial_number_of_linus_set_fn_args. 14 15 */ 16 17 dcl 1 linus_set_fn aligned based (linus_set_fn_ptr), /* internal rep. of set fun. */ 18 2 fwd_ptr ptr, /* pointer to next set function to be eval. 19 at this level */ 20 2 prior_ptr ptr, /* pointer to head of list of set functions 21 to be evaluated prior to this one */ 22 2 assign_entry entry variable, /* pointer to assign entry */ 23 2 calc_entry entry variable, /* pointer to calc entry */ 24 2 init_entry entry variable, /* pointer to initialization entry */ 25 2 assign_al_ptr ptr, /* pointer to assign entry arg list */ 26 2 calc_al_ptr ptr, /* pointer to calc entry arg list */ 27 2 rtrv_al_ptr ptr, /* pointer to arg list for dsl_$retrieve */ 28 2 flags, 29 3 assign_entry_set bit (1) unaligned, /* 0 => null, 1 => not null */ 30 3 calc_entry_set bit (1) unaligned, /* 0 => null, 1 => not null */ 31 3 init_entry_set bit (1) unaligned, /* 0 => null, 1 => not null */ 32 3 pad_bits bit (33) unaligned, 33 2 rslt_desc bit (36), /* descriptor for result */ 34 2 nargs fixed bin, /* number of input args to calc entry */ 35 2 arg (initial_number_of_linus_set_fn_args refer (linus_set_fn.nargs)), 36 3 type fixed bin (4) unal, /* 1 => constant 37 2 => linus variable 38 3 => scalar function 39 4 => set function 40 5 => expression 41 6 => data base item */ 42 3 must_convert bit (1) unal, /* on if must convert prior to call */ 43 3 reserved bit (30) unal, 44 3 desc bit (36), /* descriptor of source data */ 45 3 assn_ptr ptr, /* assign_ ptr for source data */ 46 3 assn_type fixed bin, /* assign_ type for source data */ 47 3 assn_len fixed bin (35), /* assign_ length for source data */ 48 3 arg_desc bit (36), /* descriptor for converted arg */ 49 3 arg_assn_ptr ptr, /* assign_ ptr for converted arg */ 50 3 arg_assn_type fixed bin, /* assign_ type code for converted arg */ 51 3 arg_assn_len fixed bin (35), /* assign_ length for converted arg */ 52 3 ef_ptr ptr; /* pointer to express. or function structure */ 53 54 dcl initial_number_of_linus_set_fn_args fixed bin; 55 dcl linus_set_fn_ptr ptr; 56 57 /* END INCLUDE FILE linus_set_fn.incl.pl1 */