summaryrefslogtreecommitdiff
path: root/common/quicktime_win32/SpeechRecognition.h
diff options
context:
space:
mode:
Diffstat (limited to 'common/quicktime_win32/SpeechRecognition.h')
-rw-r--r--common/quicktime_win32/SpeechRecognition.h927
1 files changed, 927 insertions, 0 deletions
diff --git a/common/quicktime_win32/SpeechRecognition.h b/common/quicktime_win32/SpeechRecognition.h
new file mode 100644
index 0000000..e5ef0e5
--- /dev/null
+++ b/common/quicktime_win32/SpeechRecognition.h
@@ -0,0 +1,927 @@
+/*
+ File: SpeechRecognition.h
+
+ Contains: Apple Speech Recognition Toolbox 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 __SPEECHRECOGNITION__
+#define __SPEECHRECOGNITION__
+
+#ifndef __MACTYPES__
+#include <MacTypes.h>
+#endif
+
+#ifndef __MIXEDMODE__
+#include <MixedMode.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=mac68k
+#elif PRAGMA_STRUCT_PACKPUSH
+ #pragma pack(push, 2)
+#elif PRAGMA_STRUCT_PACK
+ #pragma pack(2)
+#endif
+
+/* Error Codes [Speech recognition gets -5100 through -5199] */
+enum {
+ kSRNotAvailable = -5100, /* the service requested is not avail or applicable */
+ kSRInternalError = -5101, /* a system internal or hardware error condition */
+ kSRComponentNotFound = -5102, /* a needed system resource was not located */
+ kSROutOfMemory = -5103, /* an out of memory error occurred in the toolbox memory space */
+ kSRNotASpeechObject = -5104, /* the object specified is no longer or never was valid */
+ kSRBadParameter = -5105, /* an invalid parameter was specified */
+ kSRParamOutOfRange = -5106, /* when we say 0-100, don't pass in 101. */
+ kSRBadSelector = -5107, /* an unrecognized selector was specified */
+ kSRBufferTooSmall = -5108, /* returned from attribute access functions */
+ kSRNotARecSystem = -5109, /* the object used was not a SRRecognitionSystem */
+ kSRFeedbackNotAvail = -5110, /* there is no feedback window associated with SRRecognizer */
+ kSRCantSetProperty = -5111, /* a non-settable property was specified */
+ kSRCantGetProperty = -5112, /* a non-gettable property was specified */
+ kSRCantSetDuringRecognition = -5113, /* the property can't be set while recognition is in progress -- do before or between utterances. */
+ kSRAlreadyListening = -5114, /* in response to SRStartListening */
+ kSRNotListeningState = -5115, /* in response to SRStopListening */
+ kSRModelMismatch = -5116, /* no acoustical models are avail to match request */
+ kSRNoClientLanguageModel = -5117, /* trying to access a non-specified SRLanguageModel */
+ kSRNoPendingUtterances = -5118, /* nothing to continue search on */
+ kSRRecognitionCanceled = -5119, /* an abort error occurred during search */
+ kSRRecognitionDone = -5120, /* search has finished, but nothing was recognized */
+ kSROtherRecAlreadyModal = -5121, /* another recognizer is modal at the moment, so can't set this recognizer's kSRBlockModally property right now */
+ kSRHasNoSubItems = -5122, /* SRCountItems or related routine was called on an object without subelements -- e.g. a word -- rather than phrase, path, or LM. */
+ kSRSubItemNotFound = -5123, /* returned when accessing a non-existent sub item of a container */
+ kSRLanguageModelTooBig = -5124, /* Cant build language models so big */
+ kSRAlreadyReleased = -5125, /* this object has already been released before */
+ kSRAlreadyFinished = -5126, /* the language model can't be finished twice */
+ kSRWordNotFound = -5127, /* the spelling couldn't be found in lookup(s) */
+ kSRNotFinishedWithRejection = -5128, /* property not found because the LMObj is not finished with rejection */
+ kSRExpansionTooDeep = -5129, /* Language model is left recursive or is embedded too many levels */
+ kSRTooManyElements = -5130, /* Too many elements added to phrase or path or other langauge model object */
+ kSRCantAdd = -5131, /* Can't add given type of object to the base SRLanguageObject (e.g.in SRAddLanguageObject) */
+ kSRSndInSourceDisconnected = -5132, /* Sound input source is disconnected */
+ kSRCantReadLanguageObject = -5133, /* An error while trying to create new Language object from file or pointer -- possibly bad format */
+ /* non-release debugging error codes are included here */
+ kSRNotImplementedYet = -5199 /* you'd better wait for this feature in a future release */
+};
+
+
+/* Type Definitions */
+typedef struct OpaqueSRSpeechObject* SRSpeechObject;
+typedef SRSpeechObject SRRecognitionSystem;
+typedef SRSpeechObject SRRecognizer;
+typedef SRSpeechObject SRSpeechSource;
+typedef SRSpeechSource SRRecognitionResult;
+typedef SRSpeechObject SRLanguageObject;
+typedef SRLanguageObject SRLanguageModel;
+typedef SRLanguageObject SRPath;
+typedef SRLanguageObject SRPhrase;
+typedef SRLanguageObject SRWord;
+/* between 0 and 100 */
+typedef unsigned short SRSpeedSetting;
+/* between 0 and 100 */
+typedef unsigned short SRRejectionLevel;
+/* When an event occurs, the user supplied proc will be called with a pointer */
+/* to the param passed in and a flag to indicate conditions such */
+/* as interrupt time or system background time. */
+struct SRCallBackStruct {
+ long what; /* one of notification flags */
+ long message; /* contains SRRecognitionResult id */
+ SRRecognizer instance; /* ID of recognizer being notified */
+ OSErr status; /* result status of last search */
+ short flags; /* non-zero if occurs during interrupt */
+ long refCon; /* user defined - set from SRCallBackParam */
+};
+typedef struct SRCallBackStruct SRCallBackStruct;
+/* Call back procedure definition */
+typedef CALLBACK_API( void , SRCallBackProcPtr )(SRCallBackStruct * param);
+typedef STACK_UPP_TYPE(SRCallBackProcPtr) SRCallBackUPP;
+/*
+ * NewSRCallBackUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( SRCallBackUPP )
+NewSRCallBackUPP(SRCallBackProcPtr userRoutine);
+#if !OPAQUE_UPP_TYPES
+ enum { uppSRCallBackProcInfo = 0x000000C0 }; /* pascal no_return_value Func(4_bytes) */
+ #ifdef __cplusplus
+ inline DEFINE_API_C(SRCallBackUPP) NewSRCallBackUPP(SRCallBackProcPtr userRoutine) { return (SRCallBackUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSRCallBackProcInfo, GetCurrentArchitecture()); }
+ #else
+ #define NewSRCallBackUPP(userRoutine) (SRCallBackUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSRCallBackProcInfo, GetCurrentArchitecture())
+ #endif
+#endif
+
+/*
+ * DisposeSRCallBackUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+DisposeSRCallBackUPP(SRCallBackUPP userUPP);
+#if !OPAQUE_UPP_TYPES
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) DisposeSRCallBackUPP(SRCallBackUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
+ #else
+ #define DisposeSRCallBackUPP(userUPP) DisposeRoutineDescriptor(userUPP)
+ #endif
+#endif
+
+/*
+ * InvokeSRCallBackUPP()
+ *
+ * Availability:
+ * Non-Carbon CFM: available as macro/inline
+ * CarbonLib: in CarbonLib 1.0.2 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API_C( void )
+InvokeSRCallBackUPP(
+ SRCallBackStruct * param,
+ SRCallBackUPP userUPP);
+#if !OPAQUE_UPP_TYPES
+ #ifdef __cplusplus
+ inline DEFINE_API_C(void) InvokeSRCallBackUPP(SRCallBackStruct * param, SRCallBackUPP userUPP) { CALL_ONE_PARAMETER_UPP(userUPP, uppSRCallBackProcInfo, param); }
+ #else
+ #define InvokeSRCallBackUPP(param, userUPP) CALL_ONE_PARAMETER_UPP((userUPP), uppSRCallBackProcInfo, (param))
+ #endif
+#endif
+
+#if CALL_NOT_IN_CARBON || OLDROUTINENAMES
+ /* support for pre-Carbon UPP routines: New...Proc and Call...Proc */
+ #define NewSRCallBackProc(userRoutine) NewSRCallBackUPP(userRoutine)
+ #define CallSRCallBackProc(userRoutine, param) InvokeSRCallBackUPP(param, userRoutine)
+#endif /* CALL_NOT_IN_CARBON */
+
+struct SRCallBackParam {
+ SRCallBackUPP callBack;
+ long refCon;
+};
+typedef struct SRCallBackParam SRCallBackParam;
+/* Recognition System Types */
+enum {
+ kSRDefaultRecognitionSystemID = 0
+};
+
+/* Recognition System Properties */
+enum {
+ kSRFeedbackAndListeningModes = FOUR_CHAR_CODE('fbwn'), /* short: one of kSRNoFeedbackHasListenModes, kSRHasFeedbackHasListenModes, kSRNoFeedbackNoListenModes */
+ kSRRejectedWord = FOUR_CHAR_CODE('rejq'), /* the SRWord used to represent a rejection */
+ kSRCleanupOnClientExit = FOUR_CHAR_CODE('clup') /* Boolean: Default is true. The rec system and everything it owns is disposed when the client application quits */
+};
+
+enum {
+ kSRNoFeedbackNoListenModes = 0, /* next allocated recognizer has no feedback window and doesn't use listening modes */
+ kSRHasFeedbackHasListenModes = 1, /* next allocated recognizer has feedback window and uses listening modes */
+ kSRNoFeedbackHasListenModes = 2 /* next allocated recognizer has no feedback window but does use listening modes */
+};
+
+/* Speech Source Types */
+enum {
+ kSRDefaultSpeechSource = 0,
+ kSRLiveDesktopSpeechSource = FOUR_CHAR_CODE('dklv'), /* live desktop sound input */
+ kSRCanned22kHzSpeechSource = FOUR_CHAR_CODE('ca22') /* AIFF file based 16 bit, 22.050 KHz sound input */
+};
+
+/* Notification via Apple Event or Callback */
+/* Notification Flags */
+enum {
+ kSRNotifyRecognitionBeginning = 1L << 0, /* recognition can begin. client must now call SRContinueRecognition or SRCancelRecognition */
+ kSRNotifyRecognitionDone = 1L << 1 /* recognition has terminated. result (if any) is available. */
+};
+
+/* Apple Event selectors */
+/* AppleEvent message class */
+enum {
+ kAESpeechSuite = FOUR_CHAR_CODE('sprc')
+};
+
+/* AppleEvent message event ids */
+enum {
+ kAESpeechDone = FOUR_CHAR_CODE('srsd'),
+ kAESpeechDetected = FOUR_CHAR_CODE('srbd')
+};
+
+/* AppleEvent Parameter ids */
+enum {
+ keySRRecognizer = FOUR_CHAR_CODE('krec'),
+ keySRSpeechResult = FOUR_CHAR_CODE('kspr'),
+ keySRSpeechStatus = FOUR_CHAR_CODE('ksst')
+};
+
+/* AppleEvent Parameter types */
+enum {
+ typeSRRecognizer = FOUR_CHAR_CODE('trec'),
+ typeSRSpeechResult = FOUR_CHAR_CODE('tspr')
+};
+
+
+/* SRRecognizer Properties */
+enum {
+ kSRNotificationParam = FOUR_CHAR_CODE('noti'), /* see notification flags below */
+ kSRCallBackParam = FOUR_CHAR_CODE('call'), /* type SRCallBackParam */
+ kSRSearchStatusParam = FOUR_CHAR_CODE('stat'), /* see status flags below */
+ kSRAutoFinishingParam = FOUR_CHAR_CODE('afin'), /* automatic finishing applied on LM for search */
+ kSRForegroundOnly = FOUR_CHAR_CODE('fgon'), /* Boolean. Default is true. If true, client recognizer only active when in foreground. */
+ kSRBlockBackground = FOUR_CHAR_CODE('blbg'), /* Boolean. Default is false. If true, when client recognizer in foreground, rest of LMs are inactive. */
+ kSRBlockModally = FOUR_CHAR_CODE('blmd'), /* Boolean. Default is false. When true, this client's LM is only active LM; all other LMs are inactive. Be nice, don't be modal for long periods! */
+ kSRWantsResultTextDrawn = FOUR_CHAR_CODE('txfb'), /* Boolean. Default is true. If true, search results are posted to Feedback window */
+ kSRWantsAutoFBGestures = FOUR_CHAR_CODE('dfbr'), /* Boolean. Default is true. If true, client needn't call SRProcessBegin/End to get default feedback behavior */
+ kSRSoundInVolume = FOUR_CHAR_CODE('volu'), /* short in [0..100] log scaled sound input power. Can't set this property */
+ kSRReadAudioFSSpec = FOUR_CHAR_CODE('aurd'), /* *FSSpec. Specify FSSpec where raw audio is to be read (AIFF format) using kSRCanned22kHzSpeechSource. Reads until EOF */
+ kSRCancelOnSoundOut = FOUR_CHAR_CODE('caso'), /* Boolean: Default is true. If any sound is played out during utterance, recognition is aborted. */
+ kSRSpeedVsAccuracyParam = FOUR_CHAR_CODE('sped') /* SRSpeedSetting between 0 and 100 */
+};
+
+/* 0 means more accurate but slower. */
+/* 100 means (much) less accurate but faster. */
+enum {
+ kSRUseToggleListen = 0, /* listen key modes */
+ kSRUsePushToTalk = 1
+};
+
+enum {
+ kSRListenKeyMode = FOUR_CHAR_CODE('lkmd'), /* short: either kSRUseToggleListen or kSRUsePushToTalk */
+ kSRListenKeyCombo = FOUR_CHAR_CODE('lkey'), /* short: Push-To-Talk key combination; high byte is high byte of event->modifiers, the low byte is the keycode from event->message */
+ kSRListenKeyName = FOUR_CHAR_CODE('lnam'), /* Str63: string representing ListenKeyCombo */
+ kSRKeyWord = FOUR_CHAR_CODE('kwrd'), /* Str255: keyword preceding spoken commands in kSRUseToggleListen mode */
+ kSRKeyExpected = FOUR_CHAR_CODE('kexp') /* Boolean: Must the PTT key be depressed or the key word spoken before recognition can occur? */
+};
+
+/* Operational Status Flags */
+enum {
+ kSRIdleRecognizer = 1L << 0, /* engine is not active */
+ kSRSearchInProgress = 1L << 1, /* search is in progress */
+ kSRSearchWaitForAllClients = 1L << 2, /* search is suspended waiting on all clients' input */
+ kSRMustCancelSearch = 1L << 3, /* something has occurred (sound played, non-speech detected) requiring the search to abort */
+ kSRPendingSearch = 1L << 4 /* we're about to start searching */
+};
+
+/* Recognition Result Properties */
+enum {
+ kSRTEXTFormat = FOUR_CHAR_CODE('TEXT'), /* raw text in user supplied memory */
+ kSRPhraseFormat = FOUR_CHAR_CODE('lmph'), /* SRPhrase containing result words */
+ kSRPathFormat = FOUR_CHAR_CODE('lmpt'), /* SRPath containing result phrases or words */
+ kSRLanguageModelFormat = FOUR_CHAR_CODE('lmfm') /* top level SRLanguageModel for post parse */
+};
+
+/* SRLanguageObject Family Properties */
+enum {
+ kSRSpelling = FOUR_CHAR_CODE('spel'), /* spelling of a SRWord or SRPhrase or SRPath, or name of a SRLanguageModel */
+ kSRLMObjType = FOUR_CHAR_CODE('lmtp'), /* Returns one of SRLanguageObject Types listed below */
+ kSRRefCon = FOUR_CHAR_CODE('refc'), /* 4 bytes of user storage */
+ kSROptional = FOUR_CHAR_CODE('optl'), /* Boolean -- true if SRLanguageObject is optional */
+ kSREnabled = FOUR_CHAR_CODE('enbl'), /* Boolean -- true if SRLanguageObject enabled */
+ kSRRepeatable = FOUR_CHAR_CODE('rptb'), /* Boolean -- true if SRLanguageObject is repeatable */
+ kSRRejectable = FOUR_CHAR_CODE('rjbl'), /* Boolean -- true if SRLanguageObject is rejectable (Recognition System's kSRRejectedWord */
+ /* object can be returned in place of SRLanguageObject with this property) */
+ kSRRejectionLevel = FOUR_CHAR_CODE('rjct') /* SRRejectionLevel between 0 and 100 */
+};
+
+/* LM Object Types -- returned as kSRLMObjType property of language model objects */
+enum {
+ kSRLanguageModelType = FOUR_CHAR_CODE('lmob'), /* SRLanguageModel */
+ kSRPathType = FOUR_CHAR_CODE('path'), /* SRPath */
+ kSRPhraseType = FOUR_CHAR_CODE('phra'), /* SRPhrase */
+ kSRWordType = FOUR_CHAR_CODE('word') /* SRWord */
+};
+
+/* a normal and reasonable rejection level */
+enum {
+ kSRDefaultRejectionLevel = 50
+};
+
+/********************************************************************************/
+/* NOTES ON USING THE API */
+/* */
+/* All operations (with the exception of SRGetRecognitionSystem) are */
+/* directed toward an object allocated or begot from New, Get and Read */
+/* type calls. */
+/* */
+/* There is a simple rule in dealing with allocation and disposal: */
+/* */
+/* * all toolbox allocations are obtained from a SRRecognitionSystem */
+/* */
+/* * if you obtain an object via New or Get, then you own a reference */
+/* to that object and it must be released via SRReleaseObject when */
+/* you no longer need it */
+/* */
+/* * when you receive a SRRecognitionResult object via AppleEvent or */
+/* callback, it has essentially been created on your behalf and so */
+/* you are responsible for releasing it as above */
+/* */
+/* * when you close a SRRecognitionSystem, all remaining objects which */
+/* were allocated with it will be forcefully released and any */
+/* remaining references to those objects will be invalid. */
+/* */
+/* This translates into a very simple guideline: */
+/* If you allocate it or have it allocated for you, you must release */
+/* it. If you are only peeking at it, then don't release it. */
+/* */
+/********************************************************************************/
+/* Opening and Closing of the SRRecognitionSystem */
+/*
+ * SROpenRecognitionSystem()
+ *
+ * Availability:
+ * Non-Carbon CFM: in SpeechRecognitionLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SROpenRecognitionSystem(
+ SRRecognitionSystem * system,
+ OSType systemID) THREEWORDINLINE(0x303C, 0x0400, 0xAA56);
+
+
+/*
+ * SRCloseRecognitionSystem()
+ *
+ * Availability:
+ * Non-Carbon CFM: in SpeechRecognitionLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SRCloseRecognitionSystem(SRRecognitionSystem system) THREEWORDINLINE(0x303C, 0x0201, 0xAA56);
+
+
+/* Accessing Properties of any Speech Object */
+/*
+ * SRSetProperty()
+ *
+ * Availability:
+ * Non-Carbon CFM: in SpeechRecognitionLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SRSetProperty(
+ SRSpeechObject srObject,
+ OSType selector,
+ const void * property,
+ Size propertyLen) THREEWORDINLINE(0x303C, 0x0802, 0xAA56);
+
+
+/*
+ * SRGetProperty()
+ *
+ * Availability:
+ * Non-Carbon CFM: in SpeechRecognitionLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SRGetProperty(
+ SRSpeechObject srObject,
+ OSType selector,
+ void * property,
+ Size * propertyLen) THREEWORDINLINE(0x303C, 0x0803, 0xAA56);
+
+
+/* Any object obtained via New or Get type calls must be released */
+/*
+ * SRReleaseObject()
+ *
+ * Availability:
+ * Non-Carbon CFM: in SpeechRecognitionLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SRReleaseObject(SRSpeechObject srObject) THREEWORDINLINE(0x303C, 0x0204, 0xAA56);
+
+
+/*
+ * SRGetReference()
+ *
+ * Availability:
+ * Non-Carbon CFM: in SpeechRecognitionLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SRGetReference(
+ SRSpeechObject srObject,
+ SRSpeechObject * newObjectRef) THREEWORDINLINE(0x303C, 0x0425, 0xAA56);
+
+
+/* SRRecognizer Instance Functions */
+/*
+ * SRNewRecognizer()
+ *
+ * Availability:
+ * Non-Carbon CFM: in SpeechRecognitionLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SRNewRecognizer(
+ SRRecognitionSystem system,
+ SRRecognizer * recognizer,
+ OSType sourceID) THREEWORDINLINE(0x303C, 0x060A, 0xAA56);
+
+
+/*
+ * SRStartListening()
+ *
+ * Availability:
+ * Non-Carbon CFM: in SpeechRecognitionLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SRStartListening(SRRecognizer recognizer) THREEWORDINLINE(0x303C, 0x020C, 0xAA56);
+
+
+/*
+ * SRStopListening()
+ *
+ * Availability:
+ * Non-Carbon CFM: in SpeechRecognitionLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SRStopListening(SRRecognizer recognizer) THREEWORDINLINE(0x303C, 0x020D, 0xAA56);
+
+
+/*
+ * SRSetLanguageModel()
+ *
+ * Availability:
+ * Non-Carbon CFM: in SpeechRecognitionLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SRSetLanguageModel(
+ SRRecognizer recognizer,
+ SRLanguageModel languageModel) THREEWORDINLINE(0x303C, 0x040E, 0xAA56);
+
+
+/*
+ * SRGetLanguageModel()
+ *
+ * Availability:
+ * Non-Carbon CFM: in SpeechRecognitionLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SRGetLanguageModel(
+ SRRecognizer recognizer,
+ SRLanguageModel * languageModel) THREEWORDINLINE(0x303C, 0x040F, 0xAA56);
+
+
+/*
+ * SRContinueRecognition()
+ *
+ * Availability:
+ * Non-Carbon CFM: in SpeechRecognitionLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SRContinueRecognition(SRRecognizer recognizer) THREEWORDINLINE(0x303C, 0x0210, 0xAA56);
+
+
+/*
+ * SRCancelRecognition()
+ *
+ * Availability:
+ * Non-Carbon CFM: in SpeechRecognitionLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SRCancelRecognition(SRRecognizer recognizer) THREEWORDINLINE(0x303C, 0x0211, 0xAA56);
+
+
+/*
+ * SRIdle()
+ *
+ * Availability:
+ * Non-Carbon CFM: in SpeechRecognitionLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SRIdle(void) THREEWORDINLINE(0x303C, 0x0028, 0xAA56);
+
+
+/* Language Model Building and Manipulation Functions */
+/*
+ * SRNewLanguageModel()
+ *
+ * Availability:
+ * Non-Carbon CFM: in SpeechRecognitionLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SRNewLanguageModel(
+ SRRecognitionSystem system,
+ SRLanguageModel * model,
+ const void * name,
+ Size nameLength) THREEWORDINLINE(0x303C, 0x0812, 0xAA56);
+
+
+/*
+ * SRNewPath()
+ *
+ * Availability:
+ * Non-Carbon CFM: in SpeechRecognitionLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SRNewPath(
+ SRRecognitionSystem system,
+ SRPath * path) THREEWORDINLINE(0x303C, 0x0413, 0xAA56);
+
+
+/*
+ * SRNewPhrase()
+ *
+ * Availability:
+ * Non-Carbon CFM: in SpeechRecognitionLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SRNewPhrase(
+ SRRecognitionSystem system,
+ SRPhrase * phrase,
+ const void * text,
+ Size textLength) THREEWORDINLINE(0x303C, 0x0814, 0xAA56);
+
+
+/*
+ * SRNewWord()
+ *
+ * Availability:
+ * Non-Carbon CFM: in SpeechRecognitionLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SRNewWord(
+ SRRecognitionSystem system,
+ SRWord * word,
+ const void * text,
+ Size textLength) THREEWORDINLINE(0x303C, 0x0815, 0xAA56);
+
+
+/* Operations on any object of the SRLanguageObject family */
+/*
+ * SRPutLanguageObjectIntoHandle()
+ *
+ * Availability:
+ * Non-Carbon CFM: in SpeechRecognitionLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SRPutLanguageObjectIntoHandle(
+ SRLanguageObject languageObject,
+ Handle lobjHandle) THREEWORDINLINE(0x303C, 0x0416, 0xAA56);
+
+
+/*
+ * SRPutLanguageObjectIntoDataFile()
+ *
+ * Availability:
+ * Non-Carbon CFM: in SpeechRecognitionLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SRPutLanguageObjectIntoDataFile(
+ SRLanguageObject languageObject,
+ short fRefNum) THREEWORDINLINE(0x303C, 0x0328, 0xAA56);
+
+
+/*
+ * SRNewLanguageObjectFromHandle()
+ *
+ * Availability:
+ * Non-Carbon CFM: in SpeechRecognitionLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SRNewLanguageObjectFromHandle(
+ SRRecognitionSystem system,
+ SRLanguageObject * languageObject,
+ Handle lObjHandle) THREEWORDINLINE(0x303C, 0x0417, 0xAA56);
+
+
+/*
+ * SRNewLanguageObjectFromDataFile()
+ *
+ * Availability:
+ * Non-Carbon CFM: in SpeechRecognitionLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SRNewLanguageObjectFromDataFile(
+ SRRecognitionSystem system,
+ SRLanguageObject * languageObject,
+ short fRefNum) THREEWORDINLINE(0x303C, 0x0427, 0xAA56);
+
+
+/*
+ * SREmptyLanguageObject()
+ *
+ * Availability:
+ * Non-Carbon CFM: in SpeechRecognitionLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SREmptyLanguageObject(SRLanguageObject languageObject) THREEWORDINLINE(0x303C, 0x0218, 0xAA56);
+
+
+/*
+ * SRChangeLanguageObject()
+ *
+ * Availability:
+ * Non-Carbon CFM: in SpeechRecognitionLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SRChangeLanguageObject(
+ SRLanguageObject languageObject,
+ const void * text,
+ Size textLength) THREEWORDINLINE(0x303C, 0x0619, 0xAA56);
+
+
+/*
+ * SRAddLanguageObject()
+ *
+ * Availability:
+ * Non-Carbon CFM: in SpeechRecognitionLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SRAddLanguageObject(
+ SRLanguageObject base,
+ SRLanguageObject addon) THREEWORDINLINE(0x303C, 0x041A, 0xAA56);
+
+
+/*
+ * SRAddText()
+ *
+ * Availability:
+ * Non-Carbon CFM: in SpeechRecognitionLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SRAddText(
+ SRLanguageObject base,
+ const void * text,
+ Size textLength,
+ long refCon) THREEWORDINLINE(0x303C, 0x081B, 0xAA56);
+
+
+/*
+ * SRRemoveLanguageObject()
+ *
+ * Availability:
+ * Non-Carbon CFM: in SpeechRecognitionLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SRRemoveLanguageObject(
+ SRLanguageObject base,
+ SRLanguageObject toRemove) THREEWORDINLINE(0x303C, 0x041C, 0xAA56);
+
+
+/* Traversing SRRecognitionResults or SRLanguageObjects */
+/*
+ * SRCountItems()
+ *
+ * Availability:
+ * Non-Carbon CFM: in SpeechRecognitionLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SRCountItems(
+ SRSpeechObject container,
+ long * count) THREEWORDINLINE(0x303C, 0x0405, 0xAA56);
+
+
+/*
+ * SRGetIndexedItem()
+ *
+ * Availability:
+ * Non-Carbon CFM: in SpeechRecognitionLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SRGetIndexedItem(
+ SRSpeechObject container,
+ SRSpeechObject * item,
+ long index) THREEWORDINLINE(0x303C, 0x0606, 0xAA56);
+
+
+/*
+ * SRSetIndexedItem()
+ *
+ * Availability:
+ * Non-Carbon CFM: in SpeechRecognitionLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SRSetIndexedItem(
+ SRSpeechObject container,
+ SRSpeechObject item,
+ long index) THREEWORDINLINE(0x303C, 0x0607, 0xAA56);
+
+
+/*
+ * SRRemoveIndexedItem()
+ *
+ * Availability:
+ * Non-Carbon CFM: in SpeechRecognitionLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SRRemoveIndexedItem(
+ SRSpeechObject container,
+ long index) THREEWORDINLINE(0x303C, 0x0408, 0xAA56);
+
+
+/* Utilizing the System Feedback Window */
+/*
+ * SRDrawText()
+ *
+ * Availability:
+ * Non-Carbon CFM: in SpeechRecognitionLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SRDrawText(
+ SRRecognizer recognizer,
+ const void * dispText,
+ Size dispLength) THREEWORDINLINE(0x303C, 0x0621, 0xAA56);
+
+
+/*
+ * SRDrawRecognizedText()
+ *
+ * Availability:
+ * Non-Carbon CFM: in SpeechRecognitionLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SRDrawRecognizedText(
+ SRRecognizer recognizer,
+ const void * dispText,
+ Size dispLength) THREEWORDINLINE(0x303C, 0x0622, 0xAA56);
+
+
+/*
+ * SRSpeakText()
+ *
+ * Availability:
+ * Non-Carbon CFM: in SpeechRecognitionLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SRSpeakText(
+ SRRecognizer recognizer,
+ const void * speakText,
+ Size speakLength) THREEWORDINLINE(0x303C, 0x0620, 0xAA56);
+
+
+/*
+ * SRSpeakAndDrawText()
+ *
+ * Availability:
+ * Non-Carbon CFM: in SpeechRecognitionLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SRSpeakAndDrawText(
+ SRRecognizer recognizer,
+ const void * text,
+ Size textLength) THREEWORDINLINE(0x303C, 0x061F, 0xAA56);
+
+
+/*
+ * SRStopSpeech()
+ *
+ * Availability:
+ * Non-Carbon CFM: in SpeechRecognitionLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SRStopSpeech(SRRecognizer recognizer) THREEWORDINLINE(0x303C, 0x0223, 0xAA56);
+
+
+/*
+ * SRSpeechBusy()
+ *
+ * Availability:
+ * Non-Carbon CFM: in SpeechRecognitionLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( Boolean )
+SRSpeechBusy(SRRecognizer recognizer) THREEWORDINLINE(0x303C, 0x0224, 0xAA56);
+
+
+/*
+ * SRProcessBegin()
+ *
+ * Availability:
+ * Non-Carbon CFM: in SpeechRecognitionLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SRProcessBegin(
+ SRRecognizer recognizer,
+ Boolean failed) THREEWORDINLINE(0x303C, 0x031D, 0xAA56);
+
+
+/*
+ * SRProcessEnd()
+ *
+ * Availability:
+ * Non-Carbon CFM: in SpeechRecognitionLib 1.0 and later
+ * CarbonLib: in CarbonLib 1.0 and later
+ * Mac OS X: in version 10.0 and later
+ */
+EXTERN_API( OSErr )
+SRProcessEnd(
+ SRRecognizer recognizer,
+ Boolean failed) THREEWORDINLINE(0x303C, 0x031E, 0xAA56);
+
+
+
+
+
+#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 /* __SPEECHRECOGNITION__ */
+