mirror of
https://github.com/elliotnunn/supermario.git
synced 2025-02-16 14:30:32 +00:00
132 lines
3.4 KiB
C
132 lines
3.4 KiB
C
|
/*
|
||
|
File: Dictionary.h
|
||
|
|
||
|
Written by: Hae-Sung Kim
|
||
|
|
||
|
Copyright: © 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__
|