;"***************************************************************************** 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." )>