1 /* BEGIN INCLUDE FILE ... system_constants.incl.pl1 */ 2 3 /****^ HISTORY COMMENTS: 4 1) change(86-11-12,GWMay), approve(86-11-12,MCR7445), audit(86-11-19,GDixon), 5 install(86-11-21,MR12.0-1223): 6 created. 7 END HISTORY COMMENTS */ 8 9 /* format: off */ 10 11 /* ************************************************************************ */ 12 /* */ 13 /* Function: Provides constants for commonly used Multics system values. */ 14 /* */ 15 /* Usage: These values are available for use in place of "magic" numbers */ 16 /* (unexplained numbers) in programming applications. */ 17 /* */ 18 /* Definitions: */ 19 /* */ 20 /* PER bit character/byte word page segment */ 21 /* */ 22 /* bits 1 9 36 36864 9400320 */ 23 /* characters/bytes 1 4 4096 1044480 */ 24 /* words 1 1024 261120 */ 25 /* pages 1 255 */ 26 /* segments 1 */ 27 /* */ 28 /* The base values for a bit, char, word and page are determined by the */ 29 /* Multics hardware implementation. The other values are calculated from */ 30 /* their relation to one another as shown in the matrix above. */ 31 /* */ 32 /* BITS_PER_CHAR = 9 (defined by the hardware) */ 33 /* BITS_PER_WORD = BITS_PER_CHAR * CHARS_PER_WORD */ 34 /* = 9 * 4 */ 35 /* = 36 */ 36 /* BITS_PER_PAGE = BITS_PER_CHAR * CHARS_PER_WORD * CHARS_PER_PAGE */ 37 /* = 9 * 4 * 1024 */ 38 /* = 36864 */ 39 /* BITS_PER_SEGMENT = BITS_PER_CHAR * CHARS_PER_WORD * CHARS_PER_PAGE * */ 40 /* PAGES_PER_SEGMENT */ 41 /* = 9 * 4 * 1024 * 255 */ 42 /* = 9400320 */ 43 /* */ 44 /* CHARS_PER_WORD = 4 (defined by the hardware) */ 45 /* CHARS_PER_PAGE = CHARS_PER_WORD * WORDS_PER_PAGE */ 46 /* = 4 * 1024 */ 47 /* = 4096 */ 48 /* CHARS_PER_SEGMENT = CHARS_PER_WORD * WORDS_PER_PAGE * PAGES_PER_SEGMENT */ 49 /* = 4 * 1024 * 255 */ 50 /* = 1044480 */ 51 /* */ 52 /* WORDS_PER_PAGE = 1024 (defined by the hardware) */ 53 /* WORDS_PER_SEGMENT = WORDS_PER_PAGE * PAGES_PER_SEGMENT */ 54 /* = 1024 * 255 */ 55 /* = 261120 */ 56 /* */ 57 /* PAGES_PER_SEGMENT = 255 (defined by system standard) */ 58 /* */ 59 /* ************************************************************************ */ 60 61 declare BITS_PER_CHAR fixed bin (4) internal static 62 options (constant) initial (9); 63 64 declare BITS_PER_WORD fixed bin (6) internal static 65 options (constant) initial (36); 66 67 declare BITS_PER_PAGE fixed bin (16) internal static 68 options (constant) initial (36864); 69 70 declare BITS_PER_SEGMENT fixed bin (24) internal static 71 options (constant) initial (9400320); 72 73 declare CHARS_PER_WORD fixed bin (3) internal static 74 options (constant) initial (4); 75 76 declare CHARS_PER_PAGE fixed bin (13) internal static 77 options (constant) initial (4096); 78 79 declare CHARS_PER_SEGMENT fixed bin (21) internal static 80 options (constant) initial (1044480); 81 82 /* Note: WORDS_PER_PAGE should be equal to sys_info$max_page_size */ 83 84 declare WORDS_PER_PAGE fixed bin (11) internal static 85 options (constant) initial (1024); 86 87 /* Note: WORDS_PER_SEGMENT should be equal to sys_info$max_seg_size */ 88 89 declare WORDS_PER_SEGMENT fixed bin (21) internal static 90 options (constant) initial (261120); 91 92 declare PAGES_PER_SEGMENT fixed bin (8) internal static 93 options (constant) initial (255); 94 95 /* END INCLUDE FILE ... system_constants.incl.pl1 */ 96