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