mirror of
https://github.com/elliotnunn/mac-rom.git
synced 2024-12-29 07:29:15 +00:00
132 lines
3.4 KiB
C
132 lines
3.4 KiB
C
|
/*
|
|||
|
File: Dictionary.h
|
|||
|
|
|||
|
Written by: Hae-Sung Kim
|
|||
|
|
|||
|
Copyright: <EFBFBD> 1992 by Apple Computer, Inc., all rights reserved.
|
|||
|
|
|||
|
Change History (most recent first):
|
|||
|
|
|||
|
<2> 6/3/92 DCL Cleanup to meet Interface Standards.
|
|||
|
<1> 5/27/92 hsK first checked in
|
|||
|
|
|||
|
*/
|
|||
|
|
|||
|
#ifndef __DICTIONARY__
|
|||
|
#define __DICTIONARY__
|
|||
|
|
|||
|
#ifndef __TYPES__
|
|||
|
#include <Types.h>
|
|||
|
#endif
|
|||
|
|
|||
|
#ifndef __FILES__
|
|||
|
#include <Files.h>
|
|||
|
#endif
|
|||
|
|
|||
|
/*------------------------------------------------------------------------------------------
|
|||
|
Constant definitions.
|
|||
|
------------------------------------------------------------------------------------------ */
|
|||
|
|
|||
|
/* Dictionary data insertion modes. */
|
|||
|
|
|||
|
enum {
|
|||
|
kInsert = 0, /* Only insert the input entry if there is nothing in the dictionary that matches the key. */
|
|||
|
kReplace = 1, /* Only replace the entries which match the key with the input entry. */
|
|||
|
kInsertOrReplace = 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. */
|
|||
|
};
|
|||
|
typedef short InsertMode;
|
|||
|
|
|||
|
/* Key attribute constants. */
|
|||
|
|
|||
|
#define kIsCaseSensitive 0x10 /* case sensitive = 16 */
|
|||
|
#define kIsNotDiacriticalSensitive 0x20 /* diac not sensitive = 32 */
|
|||
|
|
|||
|
/* Registered attribute type constants. */
|
|||
|
|
|||
|
enum {
|
|||
|
kNoun = -1,
|
|||
|
kVerb = -2,
|
|||
|
kAdjective = -3,
|
|||
|
kAdverb = -4
|
|||
|
};
|
|||
|
typedef short AttributeType;
|
|||
|
|
|||
|
/* ------------------------------------------------------------------------------------------
|
|||
|
|
|||
|
Type definitions.
|
|||
|
|
|||
|
------------------------------------------------------------------------------------------ */
|
|||
|
|
|||
|
/* Dictionary information record. */
|
|||
|
|
|||
|
struct DictionaryInformation{
|
|||
|
FSSpec dictionaryFSSpec;
|
|||
|
long numberOfRecords;
|
|||
|
long currentGarbageSize;
|
|||
|
ScriptCode script;
|
|||
|
short maximumKeyLength;
|
|||
|
unsigned char keyAttributes;
|
|||
|
};
|
|||
|
|
|||
|
typedef struct DictionaryInformation DictionaryInformation;
|
|||
|
|
|||
|
|
|||
|
|
|||
|
/* --------------------------------------------------------------------------------------
|
|||
|
|
|||
|
Function ProtoTypes.
|
|||
|
|
|||
|
-------------------------------------------------------------------------------------- */
|
|||
|
|
|||
|
#ifdef __cplusplus
|
|||
|
extern "C" {
|
|||
|
#endif
|
|||
|
|
|||
|
pascal OSErr InitializeDictionary(FSSpecPtr theFsspecPtr, short maximumKeyLength,
|
|||
|
unsigned char keyAttributes, ScriptCode script )
|
|||
|
= { 0x303C,0x0500,0xAA53 };
|
|||
|
|
|||
|
pascal OSErr OpenDictionary( FSSpecPtr theFsspecPtr,
|
|||
|
char accessPermission,
|
|||
|
long *dictionaryReference )
|
|||
|
= { 0x303C,0x0501,0xAA53 };
|
|||
|
|
|||
|
pascal OSErr CloseDictionary( long dictionaryReference )
|
|||
|
= { 0x303C,0x0202,0xAA53 };
|
|||
|
|
|||
|
pascal OSErr InsertRecordToDictionary( long dictionaryReference,
|
|||
|
ConstStr255Param key,
|
|||
|
Handle recordDataHandle,
|
|||
|
InsertMode whichMode )
|
|||
|
= { 0x303C,0x0703,0xAA53 };
|
|||
|
|
|||
|
pascal OSErr DeleteRecordFromDictionary( long dictionaryReference,
|
|||
|
ConstStr255Param key )
|
|||
|
= { 0x303C,0x0404,0xAA53 };
|
|||
|
|
|||
|
pascal OSErr FindRecordInDictionary( long dictionaryReference,
|
|||
|
ConstStr255Param key,
|
|||
|
Ptr requestedAttributeTablePointer,
|
|||
|
Handle recordDataHandle )
|
|||
|
= { 0x303C,0x0805,0xAA53 };
|
|||
|
|
|||
|
pascal OSErr FindRecordByIndexInDictionary( long dictionaryReference,
|
|||
|
long recordIndex,
|
|||
|
Ptr requestedAttributeTablePointer,
|
|||
|
Str255 recordKey,
|
|||
|
Handle recordDataHandle )
|
|||
|
= { 0x303C,0x0A06,0xAA53 };
|
|||
|
|
|||
|
pascal OSErr GetDictionaryInformation( long dictionaryReference,
|
|||
|
DictionaryInformation *theDictionaryInformation)
|
|||
|
= { 0x303C,0x0407,0xAA53 };
|
|||
|
|
|||
|
pascal OSErr CompactDictionary( long dictionaryReference )
|
|||
|
= { 0x303C,0x0208,0xAA53 };
|
|||
|
|
|||
|
#ifdef __cplusplus
|
|||
|
}
|
|||
|
#endif
|
|||
|
|
|||
|
#endif __Dictionary__
|