mirror of
https://github.com/nillerusr/source-engine.git
synced 2024-12-22 14:16:50 +00:00
1300 lines
35 KiB
C
1300 lines
35 KiB
C
|
/*
|
||
|
File: Dictionary.h
|
||
|
|
||
|
Contains: Dictionary Manager Interfaces
|
||
|
|
||
|
Version: QuickTime 7.3
|
||
|
|
||
|
Copyright: (c) 2007 (c) 1992-2001 by Apple Computer, Inc., all rights reserved.
|
||
|
|
||
|
Bugs?: For bug reports, consult the following page on
|
||
|
the World Wide Web:
|
||
|
|
||
|
http://developer.apple.com/bugreporter/
|
||
|
|
||
|
*/
|
||
|
#ifndef __DICTIONARY__
|
||
|
#define __DICTIONARY__
|
||
|
|
||
|
#ifndef __MACTYPES__
|
||
|
#include <MacTypes.h>
|
||
|
#endif
|
||
|
|
||
|
#ifndef __FILES__
|
||
|
#include <Files.h>
|
||
|
#endif
|
||
|
|
||
|
#ifndef __CODEFRAGMENTS__
|
||
|
#include <CodeFragments.h>
|
||
|
#endif
|
||
|
|
||
|
#ifndef __MACERRORS__
|
||
|
#include <MacErrors.h>
|
||
|
#endif
|
||
|
|
||
|
#ifndef __AEREGISTRY__
|
||
|
#include <AERegistry.h>
|
||
|
#endif
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
#if PRAGMA_ONCE
|
||
|
#pragma once
|
||
|
#endif
|
||
|
|
||
|
#ifdef __cplusplus
|
||
|
extern "C" {
|
||
|
#endif
|
||
|
|
||
|
#if PRAGMA_IMPORT
|
||
|
#pragma import on
|
||
|
#endif
|
||
|
|
||
|
#if PRAGMA_STRUCT_ALIGN
|
||
|
#pragma options align=power
|
||
|
#elif PRAGMA_STRUCT_PACKPUSH
|
||
|
#pragma pack(push, 2)
|
||
|
#elif PRAGMA_STRUCT_PACK
|
||
|
#pragma pack(2)
|
||
|
#endif
|
||
|
|
||
|
/*
|
||
|
=============================================================================================
|
||
|
Modern Dictionary Manager
|
||
|
=============================================================================================
|
||
|
*/
|
||
|
/*
|
||
|
Dictionary information
|
||
|
*/
|
||
|
enum {
|
||
|
kDictionaryFileType = FOUR_CHAR_CODE('dict'),
|
||
|
kDCMDictionaryHeaderSignature = FOUR_CHAR_CODE('dict'),
|
||
|
kDCMDictionaryHeaderVersion = 2
|
||
|
};
|
||
|
|
||
|
enum {
|
||
|
kDCMAnyFieldTag = typeWildCard,
|
||
|
kDCMAnyFieldType = typeWildCard
|
||
|
};
|
||
|
|
||
|
/*
|
||
|
Contents of a Field Info Record (an AERecord)
|
||
|
*/
|
||
|
enum {
|
||
|
keyDCMFieldTag = FOUR_CHAR_CODE('ftag'), /* typeEnumeration */
|
||
|
keyDCMFieldType = FOUR_CHAR_CODE('ftyp'), /* typeEnumeration */
|
||
|
keyDCMMaxRecordSize = FOUR_CHAR_CODE('mrsz'), /* typeMagnitude */
|
||
|
keyDCMFieldAttributes = FOUR_CHAR_CODE('fatr'),
|
||
|
keyDCMFieldDefaultData = FOUR_CHAR_CODE('fdef'),
|
||
|
keyDCMFieldName = FOUR_CHAR_CODE('fnam'), /* typeChar */
|
||
|
keyDCMFieldFindMethods = FOUR_CHAR_CODE('ffnd') /* typeAEList of typeDCMFindMethod */
|
||
|
};
|
||
|
|
||
|
/*
|
||
|
Special types for fields of a Field Info Record
|
||
|
*/
|
||
|
enum {
|
||
|
typeDCMFieldAttributes = FOUR_CHAR_CODE('fatr'),
|
||
|
typeDCMFindMethod = FOUR_CHAR_CODE('fmth')
|
||
|
};
|
||
|
|
||
|
|
||
|
/*
|
||
|
Field attributes
|
||
|
*/
|
||
|
enum {
|
||
|
kDCMIndexedFieldMask = 0x00000001,
|
||
|
kDCMRequiredFieldMask = 0x00000002,
|
||
|
kDCMIdentifyFieldMask = 0x00000004,
|
||
|
kDCMFixedSizeFieldMask = 0x00000008,
|
||
|
kDCMHiddenFieldMask = (long)0x80000000
|
||
|
};
|
||
|
|
||
|
typedef OptionBits DCMFieldAttributes;
|
||
|
/*
|
||
|
Standard dictionary properties
|
||
|
*/
|
||
|
enum {
|
||
|
pDCMAccessMethod = FOUR_CHAR_CODE('amtd'), /* data type: typeChar ReadOnly */
|
||
|
pDCMPermission = FOUR_CHAR_CODE('perm'), /* data type: typeUInt16 */
|
||
|
pDCMListing = FOUR_CHAR_CODE('list'), /* data type: typeUInt16 */
|
||
|
pDCMMaintenance = FOUR_CHAR_CODE('mtnc'), /* data type: typeUInt16 */
|
||
|
pDCMLocale = FOUR_CHAR_CODE('locl'), /* data type: typeUInt32. Optional; default = kLocaleIdentifierWildCard */
|
||
|
pDCMClass = pClass, /* data type: typeUInt16 */
|
||
|
pDCMCopyright = FOUR_CHAR_CODE('info') /* data type: typeChar */
|
||
|
};
|
||
|
|
||
|
/*
|
||
|
pDCMPermission property constants
|
||
|
*/
|
||
|
enum {
|
||
|
kDCMReadOnlyDictionary = 0,
|
||
|
kDCMReadWriteDictionary = 1
|
||
|
};
|
||
|
|
||
|
/*
|
||
|
pDCMListing property constants
|
||
|
*/
|
||
|
enum {
|
||
|
kDCMAllowListing = 0,
|
||
|
kDCMProhibitListing = 1
|
||
|
};
|
||
|
|
||
|
/*
|
||
|
pDCMClass property constants
|
||
|
*/
|
||
|
enum {
|
||
|
kDCMUserDictionaryClass = 0,
|
||
|
kDCMSpecificDictionaryClass = 1,
|
||
|
kDCMBasicDictionaryClass = 2
|
||
|
};
|
||
|
|
||
|
/*
|
||
|
Standard search method
|
||
|
*/
|
||
|
enum {
|
||
|
kDCMFindMethodExactMatch = kAEEquals,
|
||
|
kDCMFindMethodBeginningMatch = kAEBeginsWith,
|
||
|
kDCMFindMethodContainsMatch = kAEContains,
|
||
|
kDCMFindMethodEndingMatch = kAEEndsWith,
|
||
|
kDCMFindMethodForwardTrie = FOUR_CHAR_CODE('ftri'), /* used for morphological analysis*/
|
||
|
kDCMFindMethodBackwardTrie = FOUR_CHAR_CODE('btri') /* used for morphological analysis*/
|
||
|
};
|
||
|
|
||
|
typedef OSType DCMFindMethod;
|
||
|
/*
|
||
|
AccessMethod features
|
||
|
*/
|
||
|
enum {
|
||
|
kDCMCanUseFileDictionaryMask = 0x00000001,
|
||
|
kDCMCanUseMemoryDictionaryMask = 0x00000002,
|
||
|
kDCMCanStreamDictionaryMask = 0x00000004,
|
||
|
kDCMCanHaveMultipleIndexMask = 0x00000008,
|
||
|
kDCMCanModifyDictionaryMask = 0x00000010,
|
||
|
kDCMCanCreateDictionaryMask = 0x00000020,
|
||
|
kDCMCanAddDictionaryFieldMask = 0x00000040,
|
||
|
kDCMCanUseTransactionMask = 0x00000080
|
||
|
};
|
||
|
|
||
|
typedef OptionBits DCMAccessMethodFeature;
|
||
|
typedef UInt32 DCMUniqueID;
|
||
|
typedef struct OpaqueDCMObjectID* DCMObjectID;
|
||
|
typedef DCMObjectID DCMAccessMethodID;
|
||
|
typedef DCMObjectID DCMDictionaryID;
|
||
|
#define kDCMInvalidObjectID ((DCMObjectID) kInvalidID)
|
||
|
typedef struct OpaqueDCMObjectRef* DCMObjectRef;
|
||
|
typedef DCMObjectRef DCMDictionaryRef;
|
||
|
typedef DCMObjectRef DCMDictionaryStreamRef;
|
||
|
#define kDCMInvalidObjectRef ((DCMObjectRef) kInvalidID)
|
||
|
typedef struct OpaqueDCMObjectIterator* DCMObjectIterator;
|
||
|
typedef DCMObjectIterator DCMAccessMethodIterator;
|
||
|
typedef DCMObjectIterator DCMDictionaryIterator;
|
||
|
typedef struct OpaqueDCMFoundRecordIterator* DCMFoundRecordIterator;
|
||
|
/*
|
||
|
Field specification declarations
|
||
|
*/
|
||
|
typedef DescType DCMFieldTag;
|
||
|
typedef DescType DCMFieldType;
|
||
|
/*
|
||
|
Dictionary header information
|
||
|
*/
|
||
|
struct DCMDictionaryHeader {
|
||
|
FourCharCode headerSignature;
|
||
|
UInt32 headerVersion;
|
||
|
ByteCount headerSize;
|
||
|
Str63 accessMethod;
|
||
|
};
|
||
|
typedef struct DCMDictionaryHeader DCMDictionaryHeader;
|
||
|
/*
|
||
|
Callback routines
|
||
|
*/
|
||
|
typedef CALLBACK_API( Boolean , DCMProgressFilterProcPtr )(Boolean determinateProcess, UInt16 percentageComplete, UInt32 callbackUD);
|
||
|
typedef STACK_UPP_TYPE(DCMProgressFilterProcPtr) DCMProgressFilterUPP;
|
||
|
#if CALL_NOT_IN_CARBON
|
||
|
/*
|
||
|
* NewDCMProgressFilterUPP()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: available as macro/inline
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
EXTERN_API_C( DCMProgressFilterUPP )
|
||
|
NewDCMProgressFilterUPP(DCMProgressFilterProcPtr userRoutine);
|
||
|
#if !OPAQUE_UPP_TYPES
|
||
|
enum { uppDCMProgressFilterProcInfo = 0x00000E50 }; /* pascal 1_byte Func(1_byte, 2_bytes, 4_bytes) */
|
||
|
#ifdef __cplusplus
|
||
|
inline DEFINE_API_C(DCMProgressFilterUPP) NewDCMProgressFilterUPP(DCMProgressFilterProcPtr userRoutine) { return (DCMProgressFilterUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppDCMProgressFilterProcInfo, GetCurrentArchitecture()); }
|
||
|
#else
|
||
|
#define NewDCMProgressFilterUPP(userRoutine) (DCMProgressFilterUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppDCMProgressFilterProcInfo, GetCurrentArchitecture())
|
||
|
#endif
|
||
|
#endif
|
||
|
|
||
|
/*
|
||
|
* DisposeDCMProgressFilterUPP()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: available as macro/inline
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
EXTERN_API_C( void )
|
||
|
DisposeDCMProgressFilterUPP(DCMProgressFilterUPP userUPP);
|
||
|
#if !OPAQUE_UPP_TYPES
|
||
|
#ifdef __cplusplus
|
||
|
inline DEFINE_API_C(void) DisposeDCMProgressFilterUPP(DCMProgressFilterUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
|
||
|
#else
|
||
|
#define DisposeDCMProgressFilterUPP(userUPP) DisposeRoutineDescriptor(userUPP)
|
||
|
#endif
|
||
|
#endif
|
||
|
|
||
|
/*
|
||
|
* InvokeDCMProgressFilterUPP()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: available as macro/inline
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
EXTERN_API_C( Boolean )
|
||
|
InvokeDCMProgressFilterUPP(
|
||
|
Boolean determinateProcess,
|
||
|
UInt16 percentageComplete,
|
||
|
UInt32 callbackUD,
|
||
|
DCMProgressFilterUPP userUPP);
|
||
|
#if !OPAQUE_UPP_TYPES
|
||
|
#ifdef __cplusplus
|
||
|
inline DEFINE_API_C(Boolean) InvokeDCMProgressFilterUPP(Boolean determinateProcess, UInt16 percentageComplete, UInt32 callbackUD, DCMProgressFilterUPP userUPP) { return (Boolean)CALL_THREE_PARAMETER_UPP(userUPP, uppDCMProgressFilterProcInfo, determinateProcess, percentageComplete, callbackUD); }
|
||
|
#else
|
||
|
#define InvokeDCMProgressFilterUPP(determinateProcess, percentageComplete, callbackUD, userUPP) (Boolean)CALL_THREE_PARAMETER_UPP((userUPP), uppDCMProgressFilterProcInfo, (determinateProcess), (percentageComplete), (callbackUD))
|
||
|
#endif
|
||
|
#endif
|
||
|
|
||
|
#endif /* CALL_NOT_IN_CARBON */
|
||
|
|
||
|
#if CALL_NOT_IN_CARBON || OLDROUTINENAMES
|
||
|
/* support for pre-Carbon UPP routines: New...Proc and Call...Proc */
|
||
|
#define NewDCMProgressFilterProc(userRoutine) NewDCMProgressFilterUPP(userRoutine)
|
||
|
#define CallDCMProgressFilterProc(userRoutine, determinateProcess, percentageComplete, callbackUD) InvokeDCMProgressFilterUPP(determinateProcess, percentageComplete, callbackUD, userRoutine)
|
||
|
#endif /* CALL_NOT_IN_CARBON */
|
||
|
|
||
|
/*
|
||
|
Library version
|
||
|
*/
|
||
|
/*
|
||
|
* DCMLibraryVersion()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: in DictionaryMgrLib 1.0 and later
|
||
|
* CarbonLib: in CarbonLib 1.0 and later
|
||
|
* Mac OS X: in version 10.0 and later
|
||
|
*/
|
||
|
EXTERN_API( UInt32 )
|
||
|
DCMLibraryVersion(void);
|
||
|
|
||
|
|
||
|
/*
|
||
|
Create/delete dictionary
|
||
|
*/
|
||
|
/*
|
||
|
* DCMNewDictionary()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: in DictionaryMgrLib 1.0 and later
|
||
|
* CarbonLib: in CarbonLib 1.0 and later
|
||
|
* Mac OS X: in version 10.0 and later
|
||
|
*/
|
||
|
EXTERN_API( OSStatus )
|
||
|
DCMNewDictionary(
|
||
|
DCMAccessMethodID accessMethodID,
|
||
|
const FSSpec * newDictionaryFile,
|
||
|
ScriptCode scriptTag,
|
||
|
const AEDesc * listOfFieldInfoRecords,
|
||
|
Boolean invisible,
|
||
|
ItemCount recordCapacity,
|
||
|
DCMDictionaryID * newDictionary);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* DCMDeriveNewDictionary()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: in DictionaryMgrLib 1.0 and later
|
||
|
* CarbonLib: in CarbonLib 1.0 and later
|
||
|
* Mac OS X: in version 10.0 and later
|
||
|
*/
|
||
|
EXTERN_API( OSStatus )
|
||
|
DCMDeriveNewDictionary(
|
||
|
DCMDictionaryID srcDictionary,
|
||
|
const FSSpec * newDictionaryFile,
|
||
|
ScriptCode scriptTag,
|
||
|
Boolean invisible,
|
||
|
ItemCount recordCapacity,
|
||
|
DCMDictionaryID * newDictionary);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* DCMDeleteDictionary()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: in DictionaryMgrLib 1.0 and later
|
||
|
* CarbonLib: in CarbonLib 1.0 and later
|
||
|
* Mac OS X: in version 10.0 and later
|
||
|
*/
|
||
|
EXTERN_API( OSStatus )
|
||
|
DCMDeleteDictionary(DCMDictionaryID dictionaryID);
|
||
|
|
||
|
|
||
|
/*
|
||
|
Register dictionary
|
||
|
*/
|
||
|
/*
|
||
|
* DCMRegisterDictionaryFile()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: in DictionaryMgrLib 1.0 and later
|
||
|
* CarbonLib: in CarbonLib 1.0 and later
|
||
|
* Mac OS X: in version 10.0 and later
|
||
|
*/
|
||
|
EXTERN_API( OSStatus )
|
||
|
DCMRegisterDictionaryFile(
|
||
|
const FSSpec * dictionaryFile,
|
||
|
DCMDictionaryID * dictionaryID);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* DCMUnregisterDictionary()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: in DictionaryMgrLib 1.0 and later
|
||
|
* CarbonLib: in CarbonLib 1.0 and later
|
||
|
* Mac OS X: in version 10.0 and later
|
||
|
*/
|
||
|
EXTERN_API( OSStatus )
|
||
|
DCMUnregisterDictionary(DCMDictionaryID dictionaryID);
|
||
|
|
||
|
|
||
|
/*
|
||
|
Open dictionary
|
||
|
*/
|
||
|
/*
|
||
|
* DCMOpenDictionary()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: in DictionaryMgrLib 1.0 and later
|
||
|
* CarbonLib: in CarbonLib 1.0 and later
|
||
|
* Mac OS X: in version 10.0 and later
|
||
|
*/
|
||
|
EXTERN_API( OSStatus )
|
||
|
DCMOpenDictionary(
|
||
|
DCMDictionaryID dictionaryID,
|
||
|
ByteCount protectKeySize,
|
||
|
ConstLogicalAddress protectKey,
|
||
|
DCMDictionaryRef * dictionaryRef);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* DCMCloseDictionary()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: in DictionaryMgrLib 1.0 and later
|
||
|
* CarbonLib: in CarbonLib 1.0 and later
|
||
|
* Mac OS X: in version 10.0 and later
|
||
|
*/
|
||
|
EXTERN_API( OSStatus )
|
||
|
DCMCloseDictionary(DCMDictionaryRef dictionaryRef);
|
||
|
|
||
|
|
||
|
/*
|
||
|
Change access privilege
|
||
|
*/
|
||
|
/*
|
||
|
* DCMGetDictionaryWriteAccess()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: in DictionaryMgrLib 1.0 and later
|
||
|
* CarbonLib: in CarbonLib 1.0 and later
|
||
|
* Mac OS X: in version 10.0 and later
|
||
|
*/
|
||
|
EXTERN_API( OSStatus )
|
||
|
DCMGetDictionaryWriteAccess(
|
||
|
DCMDictionaryRef dictionaryRef,
|
||
|
Duration timeOutDuration);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* DCMReleaseDictionaryWriteAccess()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: in DictionaryMgrLib 1.0 and later
|
||
|
* CarbonLib: in CarbonLib 1.0 and later
|
||
|
* Mac OS X: in version 10.0 and later
|
||
|
*/
|
||
|
EXTERN_API( OSStatus )
|
||
|
DCMReleaseDictionaryWriteAccess(
|
||
|
DCMDictionaryRef dictionaryRef,
|
||
|
Boolean commitTransaction);
|
||
|
|
||
|
|
||
|
/*
|
||
|
Find records
|
||
|
*/
|
||
|
/*
|
||
|
* DCMFindRecords()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: in DictionaryMgrLib 1.0 and later
|
||
|
* CarbonLib: in CarbonLib 1.0 and later
|
||
|
* Mac OS X: in version 10.0 and later
|
||
|
*/
|
||
|
EXTERN_API( OSStatus )
|
||
|
DCMFindRecords(
|
||
|
DCMDictionaryRef dictionaryRef,
|
||
|
DCMFieldTag keyFieldTag,
|
||
|
ByteCount keySize,
|
||
|
ConstLogicalAddress keyData,
|
||
|
DCMFindMethod findMethod,
|
||
|
ItemCount preFetchedDataNum,
|
||
|
DCMFieldTag preFetchedData[],
|
||
|
ItemCount skipCount,
|
||
|
ItemCount maxRecordCount,
|
||
|
DCMFoundRecordIterator * recordIterator);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* DCMCountRecordIterator()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: in DictionaryMgrLib 1.0 and later
|
||
|
* CarbonLib: in CarbonLib 1.0 and later
|
||
|
* Mac OS X: in version 10.0 and later
|
||
|
*/
|
||
|
EXTERN_API( ItemCount )
|
||
|
DCMCountRecordIterator(DCMFoundRecordIterator recordIterator);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* DCMIterateFoundRecord()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: in DictionaryMgrLib 1.0 and later
|
||
|
* CarbonLib: in CarbonLib 1.0 and later
|
||
|
* Mac OS X: in version 10.0 and later
|
||
|
*/
|
||
|
EXTERN_API( OSStatus )
|
||
|
DCMIterateFoundRecord(
|
||
|
DCMFoundRecordIterator recordIterator,
|
||
|
ByteCount maxKeySize,
|
||
|
ByteCount * actualKeySize,
|
||
|
LogicalAddress keyData,
|
||
|
DCMUniqueID * uniqueID,
|
||
|
AEDesc * dataList);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* DCMDisposeRecordIterator()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: in DictionaryMgrLib 1.0 and later
|
||
|
* CarbonLib: in CarbonLib 1.0 and later
|
||
|
* Mac OS X: in version 10.0 and later
|
||
|
*/
|
||
|
EXTERN_API( OSStatus )
|
||
|
DCMDisposeRecordIterator(DCMFoundRecordIterator recordIterator);
|
||
|
|
||
|
|
||
|
/*
|
||
|
Dump dictionary
|
||
|
*/
|
||
|
/*
|
||
|
* DCMCountRecord()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: in DictionaryMgrLib 1.0 and later
|
||
|
* CarbonLib: in CarbonLib 1.0 and later
|
||
|
* Mac OS X: in version 10.0 and later
|
||
|
*/
|
||
|
EXTERN_API( OSStatus )
|
||
|
DCMCountRecord(
|
||
|
DCMDictionaryID dictionaryID,
|
||
|
ItemCount * count);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* DCMGetRecordSequenceNumber()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: in DictionaryMgrLib 1.0 and later
|
||
|
* CarbonLib: in CarbonLib 1.0 and later
|
||
|
* Mac OS X: in version 10.0 and later
|
||
|
*/
|
||
|
EXTERN_API( OSStatus )
|
||
|
DCMGetRecordSequenceNumber(
|
||
|
DCMDictionaryRef dictionaryRef,
|
||
|
DCMFieldTag keyFieldTag,
|
||
|
ByteCount keySize,
|
||
|
ConstLogicalAddress keyData,
|
||
|
DCMUniqueID uniqueID,
|
||
|
ItemCount * sequenceNum);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* DCMGetNthRecord()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: in DictionaryMgrLib 1.0 and later
|
||
|
* CarbonLib: in CarbonLib 1.0 and later
|
||
|
* Mac OS X: in version 10.0 and later
|
||
|
*/
|
||
|
EXTERN_API( OSStatus )
|
||
|
DCMGetNthRecord(
|
||
|
DCMDictionaryRef dictionaryRef,
|
||
|
DCMFieldTag keyFieldTag,
|
||
|
ItemCount serialNum,
|
||
|
ByteCount maxKeySize,
|
||
|
ByteCount * keySize,
|
||
|
LogicalAddress keyData,
|
||
|
DCMUniqueID * uniqueID);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* DCMGetNextRecord()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: in DictionaryMgrLib 1.0 and later
|
||
|
* CarbonLib: in CarbonLib 1.0 and later
|
||
|
* Mac OS X: in version 10.0 and later
|
||
|
*/
|
||
|
EXTERN_API( OSStatus )
|
||
|
DCMGetNextRecord(
|
||
|
DCMDictionaryRef dictionaryRef,
|
||
|
DCMFieldTag keyFieldTag,
|
||
|
ByteCount keySize,
|
||
|
ConstLogicalAddress keyData,
|
||
|
DCMUniqueID uniqueID,
|
||
|
ByteCount maxKeySize,
|
||
|
ByteCount * nextKeySize,
|
||
|
LogicalAddress nextKeyData,
|
||
|
DCMUniqueID * nextUniqueID);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* DCMGetPrevRecord()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: in DictionaryMgrLib 1.0 and later
|
||
|
* CarbonLib: in CarbonLib 1.0 and later
|
||
|
* Mac OS X: in version 10.0 and later
|
||
|
*/
|
||
|
EXTERN_API( OSStatus )
|
||
|
DCMGetPrevRecord(
|
||
|
DCMDictionaryRef dictionaryRef,
|
||
|
DCMFieldTag keyFieldTag,
|
||
|
ByteCount keySize,
|
||
|
ConstLogicalAddress keyData,
|
||
|
DCMUniqueID uniqueID,
|
||
|
ByteCount maxKeySize,
|
||
|
ByteCount * prevKeySize,
|
||
|
LogicalAddress prevKeyData,
|
||
|
DCMUniqueID * prevUniqueID);
|
||
|
|
||
|
|
||
|
/*
|
||
|
Get field data
|
||
|
*/
|
||
|
/*
|
||
|
* DCMGetFieldData()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: in DictionaryMgrLib 1.0 and later
|
||
|
* CarbonLib: in CarbonLib 1.0 and later
|
||
|
* Mac OS X: in version 10.0 and later
|
||
|
*/
|
||
|
EXTERN_API( OSStatus )
|
||
|
DCMGetFieldData(
|
||
|
DCMDictionaryRef dictionaryRef,
|
||
|
DCMFieldTag keyFieldTag,
|
||
|
ByteCount keySize,
|
||
|
ConstLogicalAddress keyData,
|
||
|
DCMUniqueID uniqueID,
|
||
|
ItemCount numOfData,
|
||
|
const DCMFieldTag dataTag[],
|
||
|
AEDesc * dataList);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* DCMSetFieldData()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: in DictionaryMgrLib 1.0 and later
|
||
|
* CarbonLib: in CarbonLib 1.0 and later
|
||
|
* Mac OS X: in version 10.0 and later
|
||
|
*/
|
||
|
EXTERN_API( OSStatus )
|
||
|
DCMSetFieldData(
|
||
|
DCMDictionaryRef dictionaryRef,
|
||
|
DCMFieldTag keyFieldTag,
|
||
|
ByteCount keySize,
|
||
|
ConstLogicalAddress keyData,
|
||
|
DCMUniqueID uniqueID,
|
||
|
const AEDesc * dataList);
|
||
|
|
||
|
|
||
|
/*
|
||
|
Add record
|
||
|
*/
|
||
|
/*
|
||
|
* DCMAddRecord()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: in DictionaryMgrLib 1.0 and later
|
||
|
* CarbonLib: in CarbonLib 1.0 and later
|
||
|
* Mac OS X: in version 10.0 and later
|
||
|
*/
|
||
|
EXTERN_API( OSStatus )
|
||
|
DCMAddRecord(
|
||
|
DCMDictionaryRef dictionaryRef,
|
||
|
DCMFieldTag keyFieldTag,
|
||
|
ByteCount keySize,
|
||
|
ConstLogicalAddress keyData,
|
||
|
Boolean checkOnly,
|
||
|
const AEDesc * dataList,
|
||
|
DCMUniqueID * newUniqueID);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* DCMDeleteRecord()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: in DictionaryMgrLib 1.0 and later
|
||
|
* CarbonLib: in CarbonLib 1.0 and later
|
||
|
* Mac OS X: in version 10.0 and later
|
||
|
*/
|
||
|
EXTERN_API( OSStatus )
|
||
|
DCMDeleteRecord(
|
||
|
DCMDictionaryRef dictionaryRef,
|
||
|
DCMFieldTag keyFieldTag,
|
||
|
ByteCount keySize,
|
||
|
ConstLogicalAddress keyData,
|
||
|
DCMUniqueID uniqueID);
|
||
|
|
||
|
|
||
|
/*
|
||
|
Reorganize/compact dictionary
|
||
|
*/
|
||
|
/*
|
||
|
* DCMReorganizeDictionary()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: in DictionaryMgrLib 1.0 and later
|
||
|
* CarbonLib: in CarbonLib 1.0 and later
|
||
|
* Mac OS X: in version 10.0 and later
|
||
|
*/
|
||
|
EXTERN_API( OSStatus )
|
||
|
DCMReorganizeDictionary(
|
||
|
DCMDictionaryID dictionaryID,
|
||
|
ItemCount extraCapacity,
|
||
|
DCMProgressFilterUPP progressProc,
|
||
|
UInt32 userData);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* DCMCompactDictionary()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: in DictionaryMgrLib 1.0 and later
|
||
|
* CarbonLib: in CarbonLib 1.0 and later
|
||
|
* Mac OS X: in version 10.0 and later
|
||
|
*/
|
||
|
EXTERN_API( OSStatus )
|
||
|
DCMCompactDictionary(
|
||
|
DCMDictionaryID dictionaryID,
|
||
|
DCMProgressFilterUPP progressProc,
|
||
|
UInt32 userData);
|
||
|
|
||
|
|
||
|
/*
|
||
|
DictionaryID utilities
|
||
|
*/
|
||
|
/*
|
||
|
* DCMGetFileFromDictionaryID()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: in DictionaryMgrLib 1.0 and later
|
||
|
* CarbonLib: in CarbonLib 1.0 and later
|
||
|
* Mac OS X: in version 10.0 and later
|
||
|
*/
|
||
|
EXTERN_API( OSStatus )
|
||
|
DCMGetFileFromDictionaryID(
|
||
|
DCMDictionaryID dictionaryID,
|
||
|
FSSpec * fileRef);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* DCMGetDictionaryIDFromFile()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: in DictionaryMgrLib 1.0 and later
|
||
|
* CarbonLib: in CarbonLib 1.0 and later
|
||
|
* Mac OS X: in version 10.0 and later
|
||
|
*/
|
||
|
EXTERN_API( OSStatus )
|
||
|
DCMGetDictionaryIDFromFile(
|
||
|
const FSSpec * fileRef,
|
||
|
DCMDictionaryID * dictionaryID);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* DCMGetDictionaryIDFromRef()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: in DictionaryMgrLib 1.0 and later
|
||
|
* CarbonLib: in CarbonLib 1.0 and later
|
||
|
* Mac OS X: in version 10.0 and later
|
||
|
*/
|
||
|
EXTERN_API( DCMDictionaryID )
|
||
|
DCMGetDictionaryIDFromRef(DCMDictionaryRef dictionaryRef);
|
||
|
|
||
|
|
||
|
/*
|
||
|
Field information and manipulation
|
||
|
*/
|
||
|
/*
|
||
|
* DCMGetDictionaryFieldInfo()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: in DictionaryMgrLib 1.0 and later
|
||
|
* CarbonLib: in CarbonLib 1.0 and later
|
||
|
* Mac OS X: in version 10.0 and later
|
||
|
*/
|
||
|
EXTERN_API( OSStatus )
|
||
|
DCMGetDictionaryFieldInfo(
|
||
|
DCMDictionaryID dictionaryID,
|
||
|
DCMFieldTag fieldTag,
|
||
|
AEDesc * fieldInfoRecord);
|
||
|
|
||
|
|
||
|
/*
|
||
|
Dictionary property
|
||
|
*/
|
||
|
/*
|
||
|
* DCMGetDictionaryProperty()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: in DictionaryMgrLib 1.0 and later
|
||
|
* CarbonLib: in CarbonLib 1.0 and later
|
||
|
* Mac OS X: in version 10.0 and later
|
||
|
*/
|
||
|
EXTERN_API( OSStatus )
|
||
|
DCMGetDictionaryProperty(
|
||
|
DCMDictionaryID dictionaryID,
|
||
|
DCMFieldTag propertyTag,
|
||
|
ByteCount maxPropertySize,
|
||
|
ByteCount * actualSize,
|
||
|
LogicalAddress propertyValue);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* DCMSetDictionaryProperty()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: in DictionaryMgrLib 1.0 and later
|
||
|
* CarbonLib: in CarbonLib 1.0 and later
|
||
|
* Mac OS X: in version 10.0 and later
|
||
|
*/
|
||
|
EXTERN_API( OSStatus )
|
||
|
DCMSetDictionaryProperty(
|
||
|
DCMDictionaryID dictionaryID,
|
||
|
DCMFieldTag propertyTag,
|
||
|
ByteCount propertySize,
|
||
|
ConstLogicalAddress propertyValue);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* DCMGetDictionaryPropertyList()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: in DictionaryMgrLib 1.0 and later
|
||
|
* CarbonLib: in CarbonLib 1.0 and later
|
||
|
* Mac OS X: in version 10.0 and later
|
||
|
*/
|
||
|
EXTERN_API( OSStatus )
|
||
|
DCMGetDictionaryPropertyList(
|
||
|
DCMDictionaryID dictionaryID,
|
||
|
ItemCount maxPropertyNum,
|
||
|
ItemCount * numProperties,
|
||
|
DCMFieldTag propertyTag[]);
|
||
|
|
||
|
|
||
|
/*
|
||
|
Seaarch dictionary
|
||
|
*/
|
||
|
/*
|
||
|
* DCMCreateDictionaryIterator()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: in DictionaryMgrLib 1.0 and later
|
||
|
* CarbonLib: in CarbonLib 1.0 and later
|
||
|
* Mac OS X: in version 10.0 and later
|
||
|
*/
|
||
|
EXTERN_API( OSStatus )
|
||
|
DCMCreateDictionaryIterator(DCMDictionaryIterator * dictionaryIterator);
|
||
|
|
||
|
|
||
|
/*
|
||
|
Search AccessMethod
|
||
|
*/
|
||
|
/*
|
||
|
* DCMCreateAccessMethodIterator()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: in DictionaryMgrLib 1.0 and later
|
||
|
* CarbonLib: in CarbonLib 1.0 and later
|
||
|
* Mac OS X: in version 10.0 and later
|
||
|
*/
|
||
|
EXTERN_API( OSStatus )
|
||
|
DCMCreateAccessMethodIterator(DCMAccessMethodIterator * accessMethodIterator);
|
||
|
|
||
|
|
||
|
/*
|
||
|
Iterator Operation
|
||
|
*/
|
||
|
/*
|
||
|
* DCMCountObjectIterator()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: in DictionaryMgrLib 1.0 and later
|
||
|
* CarbonLib: in CarbonLib 1.0 and later
|
||
|
* Mac OS X: in version 10.0 and later
|
||
|
*/
|
||
|
EXTERN_API( ItemCount )
|
||
|
DCMCountObjectIterator(DCMObjectIterator iterator);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* DCMIterateObject()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: in DictionaryMgrLib 1.0 and later
|
||
|
* CarbonLib: in CarbonLib 1.0 and later
|
||
|
* Mac OS X: in version 10.0 and later
|
||
|
*/
|
||
|
EXTERN_API( OSStatus )
|
||
|
DCMIterateObject(
|
||
|
DCMObjectIterator iterator,
|
||
|
DCMObjectID * objectID);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* DCMResetObjectIterator()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: in DictionaryMgrLib 1.0 and later
|
||
|
* CarbonLib: in CarbonLib 1.0 and later
|
||
|
* Mac OS X: in version 10.0 and later
|
||
|
*/
|
||
|
EXTERN_API( OSStatus )
|
||
|
DCMResetObjectIterator(DCMObjectIterator iterator);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* DCMDisposeObjectIterator()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: in DictionaryMgrLib 1.0 and later
|
||
|
* CarbonLib: in CarbonLib 1.0 and later
|
||
|
* Mac OS X: in version 10.0 and later
|
||
|
*/
|
||
|
EXTERN_API( OSStatus )
|
||
|
DCMDisposeObjectIterator(DCMObjectIterator iterator);
|
||
|
|
||
|
|
||
|
/*
|
||
|
Get AccessMethod information
|
||
|
*/
|
||
|
/*
|
||
|
* DCMGetAccessMethodIDFromName()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: in DictionaryMgrLib 1.0 and later
|
||
|
* CarbonLib: in CarbonLib 1.0 and later
|
||
|
* Mac OS X: in version 10.0 and later
|
||
|
*/
|
||
|
EXTERN_API( OSStatus )
|
||
|
DCMGetAccessMethodIDFromName(
|
||
|
ConstStr63Param accessMethodName,
|
||
|
DCMAccessMethodID * accessMethodID);
|
||
|
|
||
|
|
||
|
/*
|
||
|
Field Info Record routines
|
||
|
*/
|
||
|
/*
|
||
|
* DCMCreateFieldInfoRecord()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: in DictionaryMgrLib 1.0 and later
|
||
|
* CarbonLib: in CarbonLib 1.0 and later
|
||
|
* Mac OS X: in version 10.0 and later
|
||
|
*/
|
||
|
EXTERN_API( OSStatus )
|
||
|
DCMCreateFieldInfoRecord(
|
||
|
DescType fieldTag,
|
||
|
DescType fieldType,
|
||
|
ByteCount maxRecordSize,
|
||
|
DCMFieldAttributes fieldAttributes,
|
||
|
AEDesc * fieldDefaultData,
|
||
|
ItemCount numberOfFindMethods,
|
||
|
DCMFindMethod findMethods[],
|
||
|
AEDesc * fieldInfoRecord);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* DCMGetFieldTagAndType()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: in DictionaryMgrLib 1.0 and later
|
||
|
* CarbonLib: in CarbonLib 1.0 and later
|
||
|
* Mac OS X: in version 10.0 and later
|
||
|
*/
|
||
|
EXTERN_API( OSStatus )
|
||
|
DCMGetFieldTagAndType(
|
||
|
const AEDesc * fieldInfoRecord,
|
||
|
DCMFieldTag * fieldTag,
|
||
|
DCMFieldType * fieldType);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* DCMGetFieldMaxRecordSize()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: in DictionaryMgrLib 1.0 and later
|
||
|
* CarbonLib: in CarbonLib 1.0 and later
|
||
|
* Mac OS X: in version 10.0 and later
|
||
|
*/
|
||
|
EXTERN_API( OSStatus )
|
||
|
DCMGetFieldMaxRecordSize(
|
||
|
const AEDesc * fieldInfoRecord,
|
||
|
ByteCount * maxRecordSize);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* DCMGetFieldAttributes()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: in DictionaryMgrLib 1.0 and later
|
||
|
* CarbonLib: in CarbonLib 1.0 and later
|
||
|
* Mac OS X: in version 10.0 and later
|
||
|
*/
|
||
|
EXTERN_API( OSStatus )
|
||
|
DCMGetFieldAttributes(
|
||
|
const AEDesc * fieldInfoRecord,
|
||
|
DCMFieldAttributes * attributes);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* DCMGetFieldDefaultData()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: in DictionaryMgrLib 1.0 and later
|
||
|
* CarbonLib: in CarbonLib 1.0 and later
|
||
|
* Mac OS X: in version 10.0 and later
|
||
|
*/
|
||
|
EXTERN_API( OSStatus )
|
||
|
DCMGetFieldDefaultData(
|
||
|
const AEDesc * fieldInfoRecord,
|
||
|
DescType desiredType,
|
||
|
AEDesc * fieldDefaultData);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* DCMGetFieldFindMethods()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: in DictionaryMgrLib 1.0 and later
|
||
|
* CarbonLib: in CarbonLib 1.0 and later
|
||
|
* Mac OS X: in version 10.0 and later
|
||
|
*/
|
||
|
EXTERN_API( OSStatus )
|
||
|
DCMGetFieldFindMethods(
|
||
|
const AEDesc * fieldInfoRecord,
|
||
|
ItemCount findMethodsArrayMaxSize,
|
||
|
DCMFindMethod findMethods[],
|
||
|
ItemCount * actualNumberOfFindMethods);
|
||
|
|
||
|
|
||
|
/*
|
||
|
Check Dictionary Manager availability
|
||
|
*/
|
||
|
#if TARGET_RT_MAC_CFM
|
||
|
#ifdef __cplusplus
|
||
|
inline pascal Boolean DCMDictionaryManagerAvailable() { return (DCMLibraryVersion != (void*)kUnresolvedCFragSymbolAddress); }
|
||
|
#else
|
||
|
#define DCMDictionaryManagerAvailable() ((DCMLibraryVersion != (void*)kUnresolvedCFragSymbolAddress)
|
||
|
#endif
|
||
|
#elif TARGET_RT_MAC_MACHO
|
||
|
/* Dictionary Manager is always available on OS X */
|
||
|
#ifdef __cplusplus
|
||
|
inline pascal Boolean DCMDictionaryManagerAvailable() { return true; }
|
||
|
#else
|
||
|
#define DCMDictionaryManagerAvailable() (true)
|
||
|
#endif
|
||
|
#endif /* */
|
||
|
|
||
|
/*
|
||
|
=============================================================================================
|
||
|
Definitions for Japanese Analysis Module
|
||
|
=============================================================================================
|
||
|
*/
|
||
|
/*
|
||
|
Default dictionary access method for Japanese analysis
|
||
|
*/
|
||
|
#define kAppleJapaneseDefaultAccessMethodName "\pDAM:Apple Backward Trie Access Method"
|
||
|
/*
|
||
|
Data length limitations of Apple Japanese dictionaries
|
||
|
*/
|
||
|
enum {
|
||
|
kMaxYomiLengthInAppleJapaneseDictionary = 40,
|
||
|
kMaxKanjiLengthInAppleJapaneseDictionary = 64
|
||
|
};
|
||
|
|
||
|
/*
|
||
|
Defined field tags of Apple Japanese dictionary
|
||
|
*/
|
||
|
enum {
|
||
|
kDCMJapaneseYomiTag = FOUR_CHAR_CODE('yomi'),
|
||
|
kDCMJapaneseHyokiTag = FOUR_CHAR_CODE('hyok'),
|
||
|
kDCMJapaneseHinshiTag = FOUR_CHAR_CODE('hins'),
|
||
|
kDCMJapaneseWeightTag = FOUR_CHAR_CODE('hind'),
|
||
|
kDCMJapanesePhoneticTag = FOUR_CHAR_CODE('hton'),
|
||
|
kDCMJapaneseAccentTag = FOUR_CHAR_CODE('acnt'),
|
||
|
kDCMJapaneseOnKunReadingTag = FOUR_CHAR_CODE('OnKn'),
|
||
|
kDCMJapaneseFukugouInfoTag = FOUR_CHAR_CODE('fuku')
|
||
|
};
|
||
|
|
||
|
enum {
|
||
|
kDCMJapaneseYomiType = typeUnicodeText,
|
||
|
kDCMJapaneseHyokiType = typeUnicodeText,
|
||
|
kDCMJapaneseHinshiType = FOUR_CHAR_CODE('hins'),
|
||
|
kDCMJapaneseWeightType = typeShortInteger,
|
||
|
kDCMJapanesePhoneticType = typeUnicodeText,
|
||
|
kDCMJapaneseAccentType = FOUR_CHAR_CODE('byte'),
|
||
|
kDCMJapaneseOnKunReadingType = typeUnicodeText,
|
||
|
kDCMJapaneseFukugouInfoType = FOUR_CHAR_CODE('fuku')
|
||
|
};
|
||
|
|
||
|
|
||
|
/*
|
||
|
=============================================================================================
|
||
|
System 7 Dictionary Manager
|
||
|
=============================================================================================
|
||
|
*/
|
||
|
|
||
|
#if PRAGMA_STRUCT_ALIGN
|
||
|
#pragma options align=reset
|
||
|
#pragma options align=mac68k
|
||
|
#endif
|
||
|
|
||
|
enum {
|
||
|
/* Dictionary data insertion modes */
|
||
|
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, otherwise replaces the existing matched entries with the input entry. */
|
||
|
};
|
||
|
|
||
|
/* This Was InsertMode */
|
||
|
|
||
|
typedef short DictionaryDataInsertMode;
|
||
|
enum {
|
||
|
/* Key attribute constants */
|
||
|
kIsCaseSensitive = 0x10, /* case sensitive = 16 */
|
||
|
kIsNotDiacriticalSensitive = 0x20 /* diac not sensitive = 32 */
|
||
|
};
|
||
|
|
||
|
enum {
|
||
|
/* Registered attribute type constants. */
|
||
|
kNoun = -1,
|
||
|
kVerb = -2,
|
||
|
kAdjective = -3,
|
||
|
kAdverb = -4
|
||
|
};
|
||
|
|
||
|
/* This Was AttributeType */
|
||
|
typedef SInt8 DictionaryEntryAttribute;
|
||
|
/* Dictionary information record */
|
||
|
struct DictionaryInformation {
|
||
|
FSSpec dictionaryFSSpec;
|
||
|
SInt32 numberOfRecords;
|
||
|
SInt32 currentGarbageSize;
|
||
|
ScriptCode script;
|
||
|
SInt16 maximumKeyLength;
|
||
|
SInt8 keyAttributes;
|
||
|
};
|
||
|
typedef struct DictionaryInformation DictionaryInformation;
|
||
|
struct DictionaryAttributeTable {
|
||
|
UInt8 datSize;
|
||
|
DictionaryEntryAttribute datTable[1];
|
||
|
};
|
||
|
typedef struct DictionaryAttributeTable DictionaryAttributeTable;
|
||
|
typedef DictionaryAttributeTable * DictionaryAttributeTablePtr;
|
||
|
#if CALL_NOT_IN_CARBON
|
||
|
/*
|
||
|
* InitializeDictionary()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: in InterfaceLib 7.1 and later
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
EXTERN_API( OSErr )
|
||
|
InitializeDictionary(
|
||
|
const FSSpec * theFsspecPtr,
|
||
|
SInt16 maximumKeyLength,
|
||
|
SInt8 keyAttributes,
|
||
|
ScriptCode script) THREEWORDINLINE(0x303C, 0x0500, 0xAA53);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* OpenDictionary()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: in InterfaceLib 7.1 and later
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
EXTERN_API( OSErr )
|
||
|
OpenDictionary(
|
||
|
const FSSpec * theFsspecPtr,
|
||
|
SInt8 accessPermission,
|
||
|
SInt32 * dictionaryReference) THREEWORDINLINE(0x303C, 0x0501, 0xAA53);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* CloseDictionary()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: in InterfaceLib 7.1 and later
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
EXTERN_API( OSErr )
|
||
|
CloseDictionary(SInt32 dictionaryReference) THREEWORDINLINE(0x303C, 0x0202, 0xAA53);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* InsertRecordToDictionary()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: in InterfaceLib 7.1 and later
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
EXTERN_API( OSErr )
|
||
|
InsertRecordToDictionary(
|
||
|
SInt32 dictionaryReference,
|
||
|
ConstStr255Param key,
|
||
|
Handle recordDataHandle,
|
||
|
DictionaryDataInsertMode whichMode) THREEWORDINLINE(0x303C, 0x0703, 0xAA53);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* DeleteRecordFromDictionary()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: in InterfaceLib 7.1 and later
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
EXTERN_API( OSErr )
|
||
|
DeleteRecordFromDictionary(
|
||
|
SInt32 dictionaryReference,
|
||
|
ConstStr255Param key) THREEWORDINLINE(0x303C, 0x0404, 0xAA53);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* FindRecordInDictionary()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: in InterfaceLib 7.1 and later
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
EXTERN_API( OSErr )
|
||
|
FindRecordInDictionary(
|
||
|
SInt32 dictionaryReference,
|
||
|
ConstStr255Param key,
|
||
|
DictionaryAttributeTablePtr requestedAttributeTablePointer,
|
||
|
Handle recordDataHandle) THREEWORDINLINE(0x303C, 0x0805, 0xAA53);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* FindRecordByIndexInDictionary()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: in InterfaceLib 7.1 and later
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
EXTERN_API( OSErr )
|
||
|
FindRecordByIndexInDictionary(
|
||
|
SInt32 dictionaryReference,
|
||
|
SInt32 recordIndex,
|
||
|
DictionaryAttributeTablePtr requestedAttributeTablePointer,
|
||
|
Str255 recordKey,
|
||
|
Handle recordDataHandle) THREEWORDINLINE(0x303C, 0x0A06, 0xAA53);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* GetDictionaryInformation()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: in InterfaceLib 7.1 and later
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
EXTERN_API( OSErr )
|
||
|
GetDictionaryInformation(
|
||
|
SInt32 dictionaryReference,
|
||
|
DictionaryInformation * theDictionaryInformation) THREEWORDINLINE(0x303C, 0x0407, 0xAA53);
|
||
|
|
||
|
|
||
|
/*
|
||
|
* CompactDictionary()
|
||
|
*
|
||
|
* Availability:
|
||
|
* Non-Carbon CFM: in InterfaceLib 7.1 and later
|
||
|
* CarbonLib: not available
|
||
|
* Mac OS X: not available
|
||
|
*/
|
||
|
EXTERN_API( OSErr )
|
||
|
CompactDictionary(SInt32 dictionaryReference) THREEWORDINLINE(0x303C, 0x0208, 0xAA53);
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
#endif /* CALL_NOT_IN_CARBON */
|
||
|
|
||
|
|
||
|
#if PRAGMA_STRUCT_ALIGN
|
||
|
#pragma options align=reset
|
||
|
#elif PRAGMA_STRUCT_PACKPUSH
|
||
|
#pragma pack(pop)
|
||
|
#elif PRAGMA_STRUCT_PACK
|
||
|
#pragma pack()
|
||
|
#endif
|
||
|
|
||
|
#ifdef PRAGMA_IMPORT_OFF
|
||
|
#pragma import off
|
||
|
#elif PRAGMA_IMPORT
|
||
|
#pragma import reset
|
||
|
#endif
|
||
|
|
||
|
#ifdef __cplusplus
|
||
|
}
|
||
|
#endif
|
||
|
|
||
|
#endif /* __DICTIONARY__ */
|
||
|
|