1 /* BEGIN INCLUDE FILE gtss_prgdes_.incl.pl1 */ 2 /* 3 Created: Kepner 04/12/78 4 Modified: Ron Barstad 82-08-11 to change size of prgdes array for 4js3 5 Modified: Ron Barstad 83-05-19 change size of prgdes array for update 7 6 */ 7 8 /* 9 " This structure describes the timesharing subsystem program 10 " descriptors. 11 " 12 " Anywhere fixed bin(17) unal appears it should be noted that GCOS 13 " can potentially make use of all 18 bits and caution should be 14 " exercised. These items should be changed to fixed bin(18) 15 " usigned unal when this feature is added to the PL/I compiler. 16 " 17 " ss_name subsystem name 18 " 19 " program_size actual program size to be used in execution. 20 " 21 " load_size the size remaining when all leading and trailing zeros 22 " have been eliminated. This is used to reduce the size 23 " of the original copy of the program. 24 " 25 " entry_point address relative to zero that contains the first 26 " executable instruction. 27 " 28 " parameters flags defining attributes of the subsystem. The flag 29 " bits are defined below. Assume bits are numbered 1-18. 30 " 1 cache 31 " 2 .BSCF 32 " 3 special size request 33 " 4 drl t.exec permission. 34 " 5 drl t.cmov permission 35 " 6 special product offering. 36 " 7 high use program file, #p 37 " 8 special file switch (perm/temp) allowed. 38 " 9 ss not callable at system level. 39 " 10 subsystem allowed use of get-specific. 40 " 11 execute permission allowed for file i/o. 41 " 12 subsystem can read system master catalog. 42 " 13 basic or databasic 43 " 14 subsystem uses common command list. 44 " 15 low use subsystem (# q file) 45 " 16 subsystem must be patched when loaded. 46 " 17 master subsystem. 47 " 18 privileged subsystem. 48 " 49 " seek_address the word offset in the multisegment file 50 " component where the object code for this subsystem is 51 " stored. 52 " 53 " initial_load_address The address of the first nonzero word in 54 " the program. 55 " 56 " cmd_lang_offset The word offset into gtss_prgdes_ext_$primitives 57 " (suitable for use with addrel) of the command language 58 " list for this subsystem. 59 " 60 " cmd_lang_len Number of command names for this subsystem. 61 " 62 " statistics 63 " 64 " bci_catalog_name The GECALL name for the subsystem. 65 " 66 " library an integer which indicates which multisegment file 67 " contains the object code for this subsystem. 68 " 69 " component an integer which indicates which component of the 70 " multisegment file contains the object code for this 71 " subsystem. 72 " 73 " ss_name_len The number of nonblank characters in the subsystem 74 " name. 75 */ 76 77 dcl 1 gtss_prgdes_ext_$prgdes (302) aligned ext, 78 2 ss_name char (4) aligned, 79 2 program_size fixed bin (17) unal, 80 2 load_size fixed bin (17) unal, 81 2 entry_point fixed bin (17) unal, 82 2 parameters bit (18) unal, 83 2 seek_address bit(18) unal, 84 2 initial_load_address fixed bin (17) unal, 85 2 cmd_lang_offset fixed bin (17) unal, 86 2 cmd_lang_len fixed bin (17) unal, 87 2 statistics, 88 3 calls fixed bin (17) unal, 89 3 loads fixed bin (17) unal, 90 3 filler (3) bit (36) unal, 91 2 bci_catalog_name bit (36) aligned, 92 2 library fixed bin (17) unal, 93 2 component fixed bin (17) unal, 94 2 ss_name_len fixed bin (17) aligned; 95 96 97 98 /* This overlay structure is used to pass the user visible portion 99 of the program descriptor to the subsystem via DRL PRGDES. */ 100 dcl 1 prgdes_ov (302) aligned based (addr (gtss_prgdes_ext_$prgdes)), 101 2 first_9_words char (36), /* user visible portion */ 102 2 filler char (12); 103 104 /* END INCLUDE FILE gtss_prgdes_.incl.pl1 */