mirror of
https://github.com/elliotnunn/mac-rom.git
synced 2024-12-28 01:29:20 +00:00
5b0f0cc134
Resource forks are included only for .rsrc files. These are DeRezzed into their data fork. 'ckid' resources, from the Projector VCS, are not included. The Tools directory, containing mostly junk, is also excluded.
247 lines
7.6 KiB
Plaintext
247 lines
7.6 KiB
Plaintext
;
|
|
; File: BTreeEqu.a
|
|
;
|
|
; Contains: Private equates for the B*Tree manager.
|
|
;
|
|
; Written by: Kenny SC. Tung
|
|
;
|
|
; Copyright: © 1989-1992 by Apple Computer, Inc., all rights reserved.
|
|
;
|
|
; Change History (most recent first):
|
|
;
|
|
; <15> 10/7/92 gs Add btTooManyNodesErr (-430) for OCE folks to get around DIVU
|
|
; "bug".
|
|
; <14> 8/21/91 JSM Clean up header.
|
|
; <13> 1/30/91 gbm sab, #38: Change the Ôalready including this fileÕ variable to
|
|
; all uppercase (for security reasons)
|
|
; <12> 1/4/91 KST With dnf: Took out the definition of 'kdDTString' and changed
|
|
; the type number to 'kdReserved'.
|
|
; <11> 8/3/90 KST Adding a new field ioBTWriteFlag in BTioParam structure.
|
|
; <10> 7/17/90 KST btRsrvedErr is no longer used.
|
|
; <9> 7/17/90 KST Adding 2 error codes.
|
|
; <8> 7/6/90 KST Changing maxKeyLen from 127 to 129 per AppleMail request.
|
|
; <6> 4/9/90 KST Making necessary changes to support user specified key
|
|
; comparison procedure.
|
|
; <5> 4/4/90 KST Adding new error codes.
|
|
; <4> 3/13/90 KST Adding a new error code -- "btVersionErr".
|
|
; <3> 2/23/90 KST Adding a new error code -- btNoKDErr.
|
|
; <2> 2/22/90 KST Moved B*tree error codes from SysErr.a into this file. Added a
|
|
; new field in BTioParam.
|
|
; <1> 2/21/90 HJR Moved from Interfaces:AIncludes to Internal:Asm.
|
|
; <4> 2/6/90 KST Adding a new call, btUpdateKD.
|
|
; <3> 1/22/90 KST Added new access control calls and rewrote btree macros.
|
|
; <2.1> 10/16/89 KST Added new _BTCleanUp trap and selector.
|
|
; <2.0> 10/3/89 KST Moved B*Tree assembly routine macros from Hfs70Equ.a to
|
|
; BTreeEqu.a. Changed ioKBufSize to ioKReqCount.
|
|
; <1.9> 9/18/89 KST Added a new type kdDTString to replace default for DTDB.
|
|
; <1.8> 8/16/89 KST BTHints are not exported to the public.
|
|
; <1.7> 8/7/89 KST Moved error codes to sysErr.a and Moved btQType to sysEqu.a
|
|
; <1.6> 7/6/89 KST Added BTFlush call.
|
|
; <1.5> 6/15/89 KST maxKeylen is used by DTMgr, so it can't be in BTreePrivate.a
|
|
; <1.4> 6/15/89 KST Separate private stuff from BTreeEqu.a
|
|
; <1.3> 6/14/89 KST Made changes for the new implementation of BTreeMgr.
|
|
; <1.2> 3/21/89 KST Changed BTError code, added support for Mac Plus.
|
|
; <1.1> 3/8/89 KST Added IMPORT for cmdAddr and fsqAddr.
|
|
; <1.0> 3/8/89 KST Adding to EASE for the first time.
|
|
;
|
|
|
|
IF &TYPE('__INCLUDINGBTREEEQU__') = 'UNDEFINED' THEN
|
|
__INCLUDINGBTREEEQU__ SET 1
|
|
|
|
_BTreeDispatch OPWORD $A08E
|
|
|
|
;; dispatch selector:
|
|
btInitN EQU 0
|
|
btOpenN EQU 1
|
|
btCloseN EQU 2
|
|
btInsertN EQU 3
|
|
btSetRecN EQU 4
|
|
btReplRecN EQU 5
|
|
btSearchN EQU 6
|
|
btGetRecN EQU 7
|
|
btDeleteN EQU 8
|
|
btGetInfoN EQU 9
|
|
btFlushN EQU 10 ; <07/06/89 KSCT>
|
|
btCleanUpN EQU 11 ; <10/05/89 KSCT>
|
|
btRsrvAccessN EQU 12 ; <12/01/89 KSCT>
|
|
btRelAccessN EQU 13 ; <12/01/89 KSCT>
|
|
btGetUIDN EQU 14 ; <12/14/89 KSCT>
|
|
btUpdateKDN EQU 15 ; <02/05/90 KSCT>
|
|
maxBTtrap EQU btUpdateKDN ; <02/05/90 KSCT>
|
|
|
|
;; key descriptors:
|
|
kdMaxLen EQU 24 ; only 24 bytes allowed for the KD record including length byte
|
|
|
|
kdSkip EQU 0 ; skip next N bytes
|
|
kdByte EQU 1 ; unsigned byte
|
|
kdSignedByte EQU 2 ; signed
|
|
kdString EQU 3 ; variable length string
|
|
kdWord EQU 4 ; unsigned word
|
|
kdSignedWord EQU 5 ; signed
|
|
kdLong EQU 6 ; unsigned long
|
|
kdSignedLong EQU 7 ; signed long
|
|
kdFLString EQU 8 ; fixed length string
|
|
kdReserved EQU 9 ; not used by anyone. <03Jan91 #12>
|
|
kdUseKCProc EQU 10 ; always uses key comparison procedure <28Mar90>
|
|
kdMaxnum EQU kdUseKCProc+1 ; 0 ~ 10 are OK, max+1 <28Mar90>
|
|
|
|
;kdDTString EQU 9 ; a special type for DeskTop Mgr. <9/18/89>
|
|
|
|
;; string attr; not a valid key type parser can recognize the error <3/17/89>
|
|
casesen EQU 16 ; case sensitive <3/17/89>
|
|
diacNsen EQU 32 ; diacritical non sensitive <3/17/89>
|
|
keyAttrmsk EQU $CF ; 1100 1111 mask <3/17/89>
|
|
|
|
;; BTioParam
|
|
ioBTWriteFlag EQU 26 ;(byte) used by BTFlush only, set to flush the cache
|
|
ioBTKeyPtr EQU 44 ;(long)
|
|
;; ioDirID EQU 48 ; must have this field
|
|
ioBTHint EQU 52 ;(4 longs)
|
|
ioBTPosMode EQU 68 ;(word)
|
|
ioKReqCount EQU 70 ;(word)
|
|
ioKActCount EQU 72 ;(word)
|
|
ioBTRsrvUID EQU 74 ;(long) <04Dec89>
|
|
ioBTDataSize EQU 78 ;(long) <19Feb90>
|
|
ioBTKCProc EQU 82 ;(long) <28Mar90>
|
|
BTioParamSize EQU ioBTKCProc+4 ; <28Mar90>
|
|
|
|
;; BTParam (used by BTInit, BTUpdateKD and BTGetInfo only)
|
|
ioBTNodeSize EQU 26 ;(word)
|
|
ioBTMaxKLen EQU 28 ;(word)
|
|
ioBTDepth EQU 30 ;(word)
|
|
ioBTRecNum EQU 32 ;(long)
|
|
ioBTNNodes EQU 36 ;(long)
|
|
ioBTFreeNode EQU 40 ;(long)
|
|
ioBTClumpSize EQU 44 ;(long)
|
|
;; ioDirID EQU 48 ; must have this field
|
|
ioBTKDPtr EQU 52 ;(long)
|
|
ioBTKDReqCount EQU 56 ;(word)
|
|
ioBTKDActCount EQU 58 ;(word)
|
|
BTParamSize equ ioBTKDActCount+2
|
|
|
|
maxKeyLen EQU 129 ; max key length (doesn't include key length byte)
|
|
|
|
|
|
; B*Tree functions:
|
|
MACRO
|
|
_BTInit &async1,&async2
|
|
MOVEQ #btInitN,D0
|
|
_BTreeDispatch &async1,&async2
|
|
ENDM
|
|
|
|
MACRO
|
|
_BTOpen &async1,&async2
|
|
MOVEQ #btOpenN,D0
|
|
_BTreeDispatch &async1,&async2
|
|
ENDM
|
|
|
|
MACRO
|
|
_BTClose &async1,&async2
|
|
MOVEQ #btCloseN,D0
|
|
_BTreeDispatch &async1,&async2
|
|
ENDM
|
|
|
|
MACRO
|
|
_BTInsRec &async1,&async2
|
|
MOVEQ #btInsertN,D0
|
|
_BTreeDispatch &async1,&async2
|
|
ENDM
|
|
|
|
MACRO
|
|
_BTSetRec &async1,&async2
|
|
MOVEQ #btSetRecN,D0
|
|
_BTreeDispatch &async1,&async2
|
|
ENDM
|
|
|
|
MACRO
|
|
_BTReplRec &async1,&async2
|
|
MOVEQ #btReplRecN,D0
|
|
_BTreeDispatch &async1,&async2
|
|
ENDM
|
|
|
|
MACRO
|
|
_BTSearch &async1,&async2
|
|
MOVEQ #btSearchN,D0
|
|
_BTreeDispatch &async1,&async2
|
|
ENDM
|
|
|
|
MACRO
|
|
_BTGetRec &async1,&async2
|
|
MOVEQ #btGetRecN,D0
|
|
_BTreeDispatch &async1,&async2
|
|
ENDM
|
|
|
|
MACRO
|
|
_BTDelRec &async1,&async2
|
|
MOVEQ #btDeleteN,D0
|
|
_BTreeDispatch &async1,&async2
|
|
ENDM
|
|
|
|
MACRO
|
|
_BTGetInfo &async1,&async2
|
|
MOVEQ #btGetInfoN,D0
|
|
_BTreeDispatch &async1,&async2
|
|
ENDM
|
|
|
|
MACRO
|
|
_BTFlush &async1,&async2
|
|
MOVEQ #btFlushN, D0
|
|
_BTreeDispatch &async1,&async2
|
|
ENDM
|
|
|
|
MACRO
|
|
_BTCleanUp &async1,&async2
|
|
MOVEQ #btCleanUpN, D0
|
|
_BTreeDispatch &async1,&async2
|
|
ENDM
|
|
|
|
MACRO
|
|
_BTRsrvAccess &async1,&async2
|
|
MOVEQ #btRsrvAccessN, D0
|
|
_BTreeDispatch &async1,&async2
|
|
ENDM
|
|
|
|
MACRO
|
|
_BTRelAccess &async1,&async2
|
|
MOVEQ #btRelAccessN, D0
|
|
_BTreeDispatch &async1,&async2
|
|
ENDM
|
|
|
|
MACRO ;; This call is not queued
|
|
_BTGetUid &async1,&async2
|
|
MOVEQ #btGetUidN, D0
|
|
_BTreeDispatch &async1,&async2
|
|
ENDM
|
|
|
|
MACRO
|
|
_btUpdateKD &async1,&async2
|
|
MOVEQ #btUpdateKDN, D0
|
|
_BTreeDispatch &async1,&async2
|
|
ENDM
|
|
|
|
|
|
; B*Tree Manager error codes -410 to -430
|
|
notBTree EQU -410
|
|
btBadNodeErr EQU -411
|
|
btSizeErr EQU -412 ; record too big
|
|
btNoSpaceErr EQU -413 ; not enough disk space
|
|
btDupRecErr EQU -414
|
|
btRecNotFnd EQU -415
|
|
btKeyLenErr EQU -416
|
|
btKeyAttrErr EQU -417
|
|
btKeyFdErr EQU -418 ; key field error
|
|
btPMInvalid EQU -419 ; invalid place marker
|
|
btKDLenErr EQU -420 ; KD too long or 0
|
|
btKDTypeErr EQU -421 ; unsupported KD type
|
|
|
|
btBadUIDErr EQU -422 ; Invalid UID
|
|
;btRsrvedErr EQU -423 ; the file has already been reserved
|
|
btNoKDErr EQU -424 ; no key descriptor in the header
|
|
btDepthErr EQU -425 ; tree depth > limit
|
|
btNoKCProcErr EQU -426 ; no Key Comp procedure error <28Mar90>
|
|
btVersionErr EQU -427 ; Btree version error (for future release)
|
|
btEofErr EQU -428 ; BTGetRec reading beyond EOF
|
|
btBofErr EQU -429 ; BTGetRec reading before BOF
|
|
btTooManyNodesErr EQU -430 ; Attempt to grow B*Tree beyond node limit <15>
|
|
|
|
ENDIF ; ...already included |