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 */