1 /* BEGIN INCLUDE FILE slt.incl.pl1 --- Last modified 2/76 SHW */
 2 
 3 /* Declarations for Segment Loading Table header and array.
 4 
 5    Used by Initialization and MST Checker subroutines */
 6 
 7 dcl sltp ptr,                                               /* pointer to base of SLT segment */
 8     names_ptr ptr,                                          /* pointer to base of SLT names segment */
 9     namep ptr,                                              /* pointer to segment name list block */
10     pathp ptr,                                              /* pointer to segment's directory path name */
11     aclp ptr;                                               /* pointer to acl structure */
12 
13 declare 1 slt based (sltp) aligned,                         /* declaration of Segment Loading Table (SLT) */
14           2 name_seg_ptr ptr,                               /* words 0-1, pointer (ITS pair) to name segment */
15           2 free_core_start fixed bin (24),                 /* word 2, start of free core after perm-wired */
16           2 first_sup_seg fixed bin (18),                   /* word 3, first supervisor segment number */
17           2 last_sup_seg fixed bin (18),                    /* word 4, last supervisor segment number */
18           2 first_init_seg fixed bin (18),                  /* word 5, first initializer segment number */
19           2 last_init_seg fixed bin (18),                   /* word 6, last initializer segment number */
20           2 free_core_size fixed bin (24),                  /* size (in words) of free core after perm-wired */
21           2 seg (0:8191) aligned,                           /* segment entries (4 words each) */
22             3 slte (4) fixed bin (35);                      /* Space for SLT entries */
23 
24 /* auxiliary segment of SLT for storing of segment names and directory path names */
25 
26 declare 1 name_seg based (names_ptr) aligned,               /* name segment header */
27           2 pad bit (18) unal,
28           2 next_loc bit (18) unal,                         /* Next available free location in name seg */
29           2 ht (0:127) bit (18) aligned;                    /* Names hash table */
30 
31 declare 1 segnam based (namep) aligned,                     /* declaration for segment name block */
32           2 count fixed bin (17),                           /* number of segment names in this block */
33           2 names (50 refer (segnam.count)),                /* segment name array */
34             3 hp bit (18) unal,                             /* hash thread pointer */
35             3 ref bit (1) unal,                             /* "1"b if name referenced */
36             3 pad bit (5) unal,
37             3 segno bit (12) unal,                          /* segment number associated with this name */
38             3 name char (32) unal;                          /* space for name (max 32 characters) */
39 
40 declare 1 path based (pathp) aligned,                       /* declaration for directory path name */
41           2 size fixed bin (17),                            /* length of pathname */
42           2 name char (168 refer (path.size)) unal,         /* directory path name */
43           2 acls fixed bin;                                 /* ACL list starts here */
44 
45 declare 1 acls based (aclp) aligned,                        /* declaration for acl list */
46           2 count fixed bin,                                /* number of entries in acl list */
47           2 acl (50 refer (acls.count)),                    /* array of acl entries */
48             3 userid char (32),                             /* user specification */
49             3 mode bit (36) aligned,                        /* mode for the specified user */
50             3 pad bit (36) aligned,
51             3 code fixed bin;
52 
53 
54 /* END INCLUDE FILE slt.incl.pl1 */