X-Git-Url: https://jxself.org/git/?p=pdp10-muddle.git;a=blobdiff_plain;f=mim%2Fdevelopment%2Fmim%2Fvax%2Fmimlib%2Fl-defs.mud;fp=mim%2Fdevelopment%2Fmim%2Fvax%2Fmimlib%2Fl-defs.mud;h=53144d91423ba4dbcd1c75a4bfa3c90abeec2169;hp=0000000000000000000000000000000000000000;hb=d73ace3f3292e320b461b8fcd2e9f5dc5d9684d7;hpb=d530283ea60fb0ddcc28e9c5bd072456afe06e07 diff --git a/mim/development/mim/vax/mimlib/l-defs.mud b/mim/development/mim/vax/mimlib/l-defs.mud new file mode 100644 index 0000000..53144d9 --- /dev/null +++ b/mim/development/mim/vax/mimlib/l-defs.mud @@ -0,0 +1,218 @@ + + +;"***************************************************************************** + + This file defines constants and macros related to library format, local + library operations, and other random cruft. + + L-DEFS.MUD: EDIT HISTORY Machine Independent + + COMPILATION: Include when compiling. + + JUN84 [Shane] - Created. + 4OCT84 [Shane] - Commented, cleaned up. + 20OCT84 [Shane] - Add bit for declaring entry applicable. + 9NOV84 [Shane] - Merge definitions for LIBLOCK, MAP-RECORDS state vector. + ****************************************************************************" + + + +;"LENGTHW -- Return number of words required to represent STRING." + + 3> -2>> + +;"RDRWD -- Read and return word (FIX) from disk CHANNEL in binary mode." + +] ADECL> READ-BYTE>> + +;"RDBUF -- Read words from disk CHANNEL open in binary mode into UVECTOR, + returning number of words read." + + +
] ADECL> + READ-BUFFER .UVECTOR .FIX>) + (T + ] ADECL> + READ-BUFFER .UVECTOR>)>> + +;"WRWRD -- Write FIX to disk CHANNEL open in binary mode." + +] ADECL> WRITE-BYTE .FIX>> + +;"WRBUF -- Write words from UVECTOR to disk CHANNEL open in binary mode." + + + ] ADECL> + WRITE-BUFFER .UVECTOR .FIX>) + (T + ] ADECL> + WRITE-BUFFER .UVECTOR>)>> + +;"SETADR -- Access disk CHANNEL to address FIX." + +] ADECL> ACCESS .FIX>> + +;"GETADR -- Return address of next word in disk CHANNEL." + +] ADECL> ACCESS>> + +;"BYTEn - Extract and return the nth byte from WORD. Leftmost byte is 3." + +>> + +>> + +>> + +>> + +;"LHALF, RHALF -- Extract and return the leftmost (rightmost) 16 bits from WORD." + +>> + +>> + +;"ADDRESS - Extract and return rightmost 24 bits from WORD (file address)." + +>> + +;"CHAR - Return WORD changed to character." + +> + +;"TESTBIT -- Return T if WORD contains the bits of MASK, otherwise FALSE. If + SENSE is FALSE, the result is logically negated." + +) + 0>) + (T + 0>)>> + + ;"External." + +;"TYPE-NAME? -- Return T if ATOM names a type." + + -6> ,OLD-TYPES>> + >>> + +;"EXTRACT-NMn -- Extract and return the specified part from file-spec NAME." + +) + '(STRING )) + '#DECL ((CHANNEL) (STRING) STRING) + ' + '.STRING>> + +) + '(STRING )) + '#DECL ((CHANNEL) (STRING) STRING) + ' + '.STRING>> + +;"DIRECTORY HEADER CONSTANTS." + + ;"File address of hash table size." + ;"File address of entry count." + ;"File address of package count." + ;"File address of free list." + ;"File address of EOF pointer." + ;"Header size = file address of first hash bucket." + +;"HASH BUCKET CONSTANTS." + + ;"Bit indicating bucket points to list." + ;"Bit indicating bucket points to package." + ;"Bit indicating bucket points to entry." + +;"RECORD INFORMATION WORD CONSTANTS." + + ;"Bit indicating presence of code file." + ;"Bit indicating presence of source file." + ;"Bit indicating presence of abstract file." + ;"Bit indicating presence of doc file." + ;"Bit indicating presence of doc string." + ;"Bit indicating record is for package." + +;"ENTRY/RENTRY DESCRIPTOR CONSTANTS." + + ;"Bit indicating r/entry is manifested." + ;"Bit indicating r/entry is type name." + ;"Bit indictaing r/entry is entry." + ;"Bit indicating gval is applicable." + +;"USE/EXPORT/INCLUDE DESCRIPTOR CONSTANTS." + + ;"Bit indicating module is used." + ;"Bit indicating module is exported." + ;"Bit indicating module is included." + +;"HASH TABLE CONSTANTS." + + ;"Default number of buckets for new library." + ;"Magic constant for hashing functions." + +;"STRUCTURE SIZE CONSTANTS." + + ;"No record may exceed this size in words (arbitrary)." + ;"No string may exceed this size in words (library law)." + ;"No string may exceed this size in chars (library law)." + +;"OFFSETS FOR STATE VECTOR IN MAP-RECORDS, NEXT-RECORD (see L-QUERY-BASE.MUD)." + +> ;"File address of next bucket." +> ;"File address of cdr in list." +> ;"File address of last in table." + +;"LUP TYPE DEFINITIONS. (See LUP-BASE.MUD)." + +;"A LIBLOCK represents a locked local library." + + + ;"Channel to shadow copy of library. Changes modify this file." + LL-NEW + ;"Channel to log file for update record." + LL-LOG + ;"The files (names) in LL-TMP-FILES are to be renamed to the + corresponding files (names) in LL-ADD-FILES when the updated + library is installed." + LL-ADD-FILES + LL-TMP-FILES + ;"The files (names) in LL-DEL-FILES are to be deleted when the updated + library is installed." + LL-DEL-FILES + ;"Unique suffix for generating temporary file names." + LL-SUFFIX FIX> + + ;"Mask for locking in FLOCK (UNIX)." + ;"Mask for releasing in FLOCK." + +> ;"Convenient synonym." + + + ;"Following dont exist under TOPS20." + >">> + ">>) + (("MACHINE" "VAX") + ;"No effect on vax." + )> + + +