1 /* BEGIN INCLUDE FILE gtss_file_values.incl.pl1 */
 2 /*
 3   Created: (Wardd Multics)  09/01/78 1447.1 mst Fri
 4 */
 5 
 6 /**       The gtss_file_values structure provides parameters to the
 7           gtss_attributes_mgr_ subroutine.
 8 
 9           The caller must provide space for this structure, fill in
10           the version with 1, the dname and ename with the file directory
11           and entry name, and for calls to gtss_attributes_mgr_$set,
12           fill in values to be reset and set the corresponding set_switch
13           to "1"b.
14 
15           If the (Multics) file located is a directory
16           a GCOS catalog is implied.
17 
18           If both ename and new_ename are set but no set_switch
19           is "1"b (and the set entry is called) this implies
20           that the existing attribute values are being renamed
21           to the new entry.
22 
23           Then: call gtss_attributes_mgr_$set(addr(gtss_file_values),code);
24 
25           Use of ename/new_ename combinations
26           for set entry.
27 
28           -^H|-----------^H|-----------^H|-^H|-----------------^H|
29           |  ename   |new_ename ||    meaning     |
30           =^H|===========^H|===========^H|=^H|=================^H|
31           |  blanks  |  blanks  ||    illegal     |
32           -^H|-----------^H|-----------^H|-^H|-----------------^H|
33           |  blanks  |not blanks||    initial     |
34           |          |          ||    setting     |
35           -^H|-----------^H|-----------^H|-^H|-----------------^H|
36           |not blanks|  blanks  || check enames's |
37           |          |          ||attribute values|
38           |          |          ||   and reset.   |
39           -^H|-----------^H|-----------^H|-^H|-----------------^H|
40           |not blanks|not blanks|| delete ename's |
41           |          |          || values and put |
42           |          |          || on values for  |
43           |          |          ||  new_ename's   |
44           -^H|-----------^H|-----------^H|-^H|-----------------^H|
45 **/
46 dcl  attr_name                (0:7)char(4)static int options(constant)init(
47                               /* 0 */ "mode"
48 ,                             /* 1 */ "maxl"
49 ,                             /* 2 */ "curl"
50 ,                             /* 3 */ "busy"
51 ,                             /* 4 */ "attr"
52 ,                             /* 5 */ "null"
53 ,                             /* 6 */ "noal"
54 ,                             /* 7 */ "crdt"
55                               );
56 dcl 1 gtss_file_values        aligned automatic
57 ,     3 version               fixed bin(17)       /* Current version is 1. (OUT) */
58 ,     3 dname                 char(168)unal       /* Directory name. (IN) */
59 ,     3 ename                 char(032)unal       /* Entry name. (IN) */
60 ,     3 new_ename             char(032)unal       /* New entry name. (IN) */
61 ,     3 change_name           bit(1)              /* "1"b => Change segment name. (IN) */
62 ,     3 catalog               bit(1)              /* "1"b => File is a catalog (Multics directory). (OUT) */
63 ,     3 info_ptr              ptr                 /* hcs_$status_long (4. entry_ptr) info structure address. (OUT) */
64 ,     3 set_switch                                /* "1"b => Set corresponding value. (IN) */
65 ,       4 mode_random         bit(01)unal         /* 0. Set the random/sequential(linked) field. */
66 ,       4 maxll               bit(01)unal         /* 1. Set max size value. */
67 ,       4 curll               bit(01)unal         /* 2. Set current size value. */
68 ,       4 busy                bit(01)unal         /* 3. Set file as busy. */
69 ,       4 attr                bit(01)unal         /* 4. Set user attributes value. */
70 ,       4 null_file           bit(01)unal         /* 5. Set null file value. */
71 ,       4 number_allocations  bit(01)unal         /* 6. Set or increment number of uses. */
72 ,       4 creation_date       bit(01)unal         /* 7. Set file creation date. */
73 ,       4 not_in_use          bit(28)unal
74                               /* The above set_ variables should be declared in an order
75                                  corresponding to the value in the attr_name array. */
76 ,     3 data_flags                                /* (OUT|IN) */
77 ,       4 mode_random         bit(01)unal         /* "1"b => random. */
78 ,       4 busy                bit(01)unal         /* "1"b => file is busy. */
79 ,       4 null_file           bit(01)unal         /* "1"b => file is null. */
80 ,       4 not_in_use2         bit(33)unal
81 ,     3 data_fields                               /* (OUT|IN) */
82 ,       4 curll               fixed bin(35)       /* Current length in llinks (>=0). */
83 ,       4 maxll               fixed bin(35)       /* Maximum length in llinks (>=0). */
84 ,       4 number_allocations  fixed bin(35)       /* 0 => set | >0 => increment modulo 262144. */
85 ,     3 attributes                                /* (OUT|IN) */
86 ,       4 not_in_use3         bit(01)unal
87 ,       4 attr                bit(35)unal         /* User specified file attribute value. */
88 ,     3 creation_date         char(06)            /* MMDDYY of creation. */
89 ;
90 
91 
92 /*   END INCLUDE FILE gtss_file_values.incl.pl1 */