mac-rom/Interfaces/AIncludes/Dictionary.a
Elliot Nunn 4325cdcc78 Bring in CubeE sources
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.
2017-12-26 09:52:23 +08:00

140 lines
3.8 KiB
Plaintext

;
; File: Dictionary.a
;
; Contains: xxx put contents here xxx
;
; Written by: xxx put writers here xxx
;
; Copyright: © 1992 by Apple Computer, Inc., all rights reserved.
;
; Change History (most recent first):
;
; <2> 6/2/92 DCL Changed Include flag; removed equ
; <1> 6/1/92 hsK first checked in
;
;
IF &TYPE('__INCLUDINGDICTIONARY__') = 'UNDEFINED' THEN
__INCLUDINGDICTIONARY__ SET 1
IF &TYPE('__INCLUDINGTRAPS__') = 'UNDEFINED' THEN
INCLUDE 'Traps.a'
ENDIF
IF &TYPE('__INCLUDINGFSEQU__') = 'UNDEFINED' THEN
INCLUDE 'FSEqu.a'
ENDIF
; Dictionary data insertion modes.
kInsert EQU 0 ; Only insert the input entry if there is nothing in the dictionary that matches the key.
kReplace EQU 1 ; Only replace the entries which match the key with the input entry.
kInsertOrReplace EQU 2 ; Insert the entry if there is nothing in the dictionary which matches the key.
; If there is already matched entries, replace the existing matched entries with the input entry.
; Key attribute constants.
kIsCaseSensitive EQU $10 ; case sensitive = 16.
kIsNotDiacriticalSensitive EQU $20 ; diac not sensitive = 32.
; Registered attribute type constants.
kNoun EQU -1
kVerb EQU -2
kAdjective EQU -3
kAdverb EQU -4
; Dictionary information record type.
DictionaryInformation RECORD 0,INCREMENT
dictionaryFSSpec DS FSSpec ; FSSpec record
numberOfRecords DS.L 1 ; long integer
currentGarbageSize DS.L 1 ; long integer
script DS.W 1 ; ScriptCode
maximumKeyLength DS.W 1 ; short integer
keyAttributes DS.B 1 ; unsigned byte
padding DS.B 1 ; byte padding
size EQU *
ENDR
; Define the Dictionary Manager Dispatch trap opword
_DictionaryDispatch OPWORD $AA53
; Define the selector and the parameter size for each Dictionary Manager call.
selectInitializeDictionary EQU 0
paramWordsInitializeDictionary EQU 5
selectOpenDictionary EQU 1
paramWordsOpenDictionary EQU 5
selectCloseDictionary EQU 2
paramWordsCloseDictionary EQU 2
selectInsertRecordToDictionary EQU 3
paramWordsInsertRecordToDictionary EQU 7
selectDeleteRecordFromDictionary EQU 4
paramWordsDeleteRecordFromDictionary EQU 4
selectFindRecordInDictionary EQU 5
paramWordsFindRecordInDictionary EQU 8
selectFindRecordByIndexInDictionary EQU 6
paramWordsFindRecordByIndexInDictionary EQU 10
selectGetDictionaryInformation EQU 7
paramWordsGetDictionaryInformation EQU 4
selectCompactDictionary EQU 8
paramWordsCompactDictionary EQU 2
; Define the dispatch macros to get to the calls.
MACRO
_InitializeDictionary
DoDispatch _DictionaryDispatch, selectInitializeDictionary, paramWordsInitializeDictionary
ENDM
MACRO
_OpenDictionary
DoDispatch _DictionaryDispatch, selectOpenDictionary, paramWordsOpenDictionary
ENDM
MACRO
_CloseDictionary
DoDispatch _DictionaryDispatch, selectCloseDictionary, paramWordsCloseDictionary
ENDM
MACRO
_InsertRecordToDictionary
DoDispatch _DictionaryDispatch, selectInsertRecordToDictionary, paramWordsInsertRecordToDictionary
ENDM
MACRO
_DeleteRecordFromDictionary
DoDispatch _DictionaryDispatch, selectDeleteRecordFromDictionary, paramWordsDeleteRecordFromDictionary
ENDM
MACRO
_FindRecordInDictionary
DoDispatch _DictionaryDispatch, selectFindRecordInDictionary, paramWordsFindRecordInDictionary
ENDM
MACRO
_FindRecordByIndexInDictionary
DoDispatch _DictionaryDispatch, selectFindRecordByIndexInDictionary, paramWordsFindRecordByIndexInDictionary
ENDM
MACRO
_GetDictionaryInformation
DoDispatch _DictionaryDispatch, selectGetDictionaryInformation, paramWordsGetDictionaryInformation
ENDM
MACRO
_CompactDictionary
DoDispatch _DictionaryDispatch, selectCompactDictionary, paramWordsCompactDictionary
ENDM
ENDIF ; ...already included