1 /* Begin include file ... system_link_init_info.incl.pl1 ... 5/6/80 MRJ */ 2 3 4 5 /****^ HISTORY COMMENTS: 6 1) change(86-05-02,Elhard), approve(86-05-02,MCR7391), 7 audit(86-07-18,DGHowe), install(86-11-20,MR12.0-1222): 8 Modified to declare DEFERRED_INIT type constant. 9 2) change(86-06-24,DGHowe), approve(86-06-24,MCR7420), audit(86-11-12,Zwick), 10 install(86-11-20,MR12.0-1222): 11 added the external pointer initialization structure and the constants 12 required to use them. 13 END HISTORY COMMENTS */ 14 15 16 /* Modified: 82-11-17 by T. Oke to add list_init_info and LIST_TEMPLATE_INIT. */ 17 18 /* format: style3,idind25 */ 19 20 /* NOTE -------------------------------------------------- 21 the following structures defining initialization information can also 22 be found in fortran_storage.incl.pl1 definition_dcls.incl.pl1 23 and should be kept equivalent 24 ------------------------------------------------------- 25 */ 26 27 dcl init_info_ptr ptr; /* ptr to structure below */ 28 dcl init_size fixed bin (35); /* size (in words) of initialization template */ 29 30 dcl 1 init_info aligned based (init_info_ptr), 31 2 size fixed bin (35), /* size (in words) of data */ 32 2 type fixed bin, /* type of initialization: see below */ 33 2 init_template (init_size refer (init_info.size)) fixed bin (35); 34 35 dcl 1 init_info_single_word aligned based (init_info_ptr), 36 /* for convenience of people like ssi */ 37 2 size fixed bin (19), /* = 1 */ 38 2 type fixed bin, /* = TEMPLATE_INIT */ 39 2 init_template (1) fixed bin (35); /* = value */ 40 41 dcl 1 list_init_info aligned based, 42 2 size fixed bin (35), /* length of variable */ 43 2 type fixed bin, /* LIST_TEMPLATE_INIT */ 44 2 pad bit (18) unaligned, 45 2 list_size fixed bin (18) unsigned unaligned, 46 /* size in words of template */ 47 2 template (0 refer (list_init_info.list_size)) bit (36); 48 /* first create_entry position */ 49 50 /* A list template consists of a series of entries with the following 51 description, concatenated together. n_bits and datum are bit items, 52 to permit a wide range of inputs. 53 54 1. A 'repeat' of '0' signifies skipping of 'n_bits' bits. 55 2. A 'n_bits' of '0' signifies the last item of the list. 56 57 COMMON, VLA's, and LA's are presumed to start at the base pointer 58 of their particular storage section. */ 59 60 dcl 1 list_template_entry aligned based, 61 2 n_bits fixed bin (35) aligned, /* size of datum */ 62 2 mbz bit (3) unaligned, /* future expansion */ 63 2 init_type fixed bin (3) unsigned unaligned, /* 0 normal init, 1 ptr init, 2 packed ptr init */ 64 2 repeat fixed bin (30) unsigned unaligned, 65 /* number of times to repeat datum */ 66 2 datum bit (init_n_bits_in_datum refer (list_template_entry.n_bits)); 67 68 /* list_template_entry_ptr is defined such that it can be used as an 69 automatic definition overlay with a fixed size datum. it has a declared 70 size of 72 to allow for the its pointer sixe of 72 bits. 71 */ 72 73 dcl 1 list_template_entry_ptr aligned based, 74 2 n_bits fixed bin (35) aligned, 75 2 mbz bit(3) unaligned, 76 2 init_type fixed bin (3) unsigned unaligned, 77 2 repeat fixed bin (30) unsigned unaligned, 78 2 datum bit(72); 79 80 /* the pointer_init_template represents the initialization information 81 for ITS and packed pointers. Both pointer types require the entire 82 72 bit structure. 83 */ 84 85 dcl 1 pointer_init_template based, 86 2 ptr_type fixed bin (18) unsigned unaligned, /* 0 text section, 1 linkage section, 2 static section */ 87 2 section_offset fixed bin (18) unsigned unaligned, /* offset to item in specified section */ 88 2 word_offset fixed bin (18) unsigned unaligned, /* word offset from section item to target */ 89 2 mbz bit (12) unaligned, 90 2 bit_offset fixed bin (6) unsigned unaligned; /* bit offset from section item|word offset to target */ 91 92 93 dcl init_n_bits_in_datum fixed bin (35); 94 95 dcl NO_INIT fixed bin static options (constant) init (0); 96 dcl TEMPLATE_INIT fixed bin static options (constant) init (3); 97 dcl EMPTY_AREA_INIT fixed bin static options (constant) init (4); 98 dcl LIST_TEMPLATE_INIT fixed bin static options (constant) init (5); 99 dcl INIT_DEFERRED fixed bin static options (constant) init (6); 100 dcl ITS_PTR_INIT fixed bin (3) unsigned static options (constant) init(1); 101 dcl PACKED_PTR_INIT fixed bin (3) unsigned static options (constant) init(2); 102 dcl PTR_INIT_TEXT fixed bin (17) static options (constant) init(0); 103 dcl PTR_INIT_LOT fixed bin (17) static options (constant) init(1); 104 dcl PTR_INIT_ISOT fixed bin (17) static options (constant) init(2); 105 106 107 /* End include file ... system_link_init_info.incl.pl1 */