mirror of
https://github.com/elliotnunn/supermario.git
synced 2024-11-22 19:31:02 +00:00
541 lines
18 KiB
C
541 lines
18 KiB
C
/*
|
||
File: CommToolboxPriv.h
|
||
|
||
Contains: Internal interface to the CommResource Mgr and the CommToolbox Utilities
|
||
|
||
Written by: Byron Han, Jerry Godes
|
||
|
||
Copyright: © 1988-1991 by Apple Computer, Inc., all rights reserved.
|
||
|
||
Change History (most recent first):
|
||
|
||
<33> 8/27/91 JSM Cleanup header, remove Pre70 stuff.
|
||
<32> 8/20/91 BH move CRMReserveRF into public interfaces
|
||
<31> 8/9/91 JNG Moved CRMReleaseRF into main interfaces
|
||
<30> 6/25/91 JNG Move CRMIsDriverOpen into CommResources.h
|
||
<29> 6/18/91 BH rename choose messages
|
||
<28> 1/9/91 kaz <jng> Changing ModemStringType and PrinterStringType to STR# to
|
||
include driver names. Changing ChooseIDStrID from -32512 to
|
||
-32510.
|
||
<27> 12/21/90 JL changed constStrxxParameter to ConstStrxxxParam to match change
|
||
in Types.h
|
||
<26> 12/13/90 JNG Use the System Icon LDEF <kaz>
|
||
<25> 11/4/90 dba miscellaneous cleanup, including using (void) instead of (),
|
||
more care about const, including use of constStr255Parameter,
|
||
getting rid of extraneous parameter names, getting rid of stuff
|
||
on lines after #endif (not acceptable for ANSI standard), etc.
|
||
<24> 11/1/90 fjs add defines for the color icons associated with the serial ports
|
||
<23> 10/5/90 kaz Removing _CTBKeystrokeFilter references. <jng>
|
||
<22> 10/2/90 kaz Adding CRMAppRec to keep track of the processes that init the
|
||
Term, FT, or Conn Mgrs; renamed reserved to appList to CTBBlock;
|
||
added bitfields for initialized mgrs; added prototypes for
|
||
handling the app list; fixed spelling of some messages. <jng>
|
||
<21> 9/10/90 gbm don’t you just hate it when boneheads check in files that they
|
||
obviously haven’t compiled... I do :)
|
||
<20> 9/10/90 JNG Have ResFileRec contain canonical form of file name; Add in new
|
||
resources for choose
|
||
<19> 8/23/90 kaz Added GetMemErr(), GetResErr() macros.
|
||
<18> 8/15/90 kaz Added PlaceWindow() prototype
|
||
<17> 8/6/90 kaz Renaming GoodDrawOutlineButton(); added DoGrayOutline().
|
||
<16> 5/24/90 kaz Combined GetIndfinf & GetIndflst; added Getflst()
|
||
<15> 5/22/90 kaz Updated FontInfoRec to have a textMode; Merged FontInfoRec &
|
||
TextState; renamed Parse_finf and Parse_flst; added routines to
|
||
Get & Set TextState
|
||
<14> 4/11/90 kaz Added CmdPeriod Prototype
|
||
<13> 3/22/90 BBH moved getglobals macro here from CommResourceMgr.c
|
||
<12> 3/20/90 kaz Merging in changes from 1.0
|
||
- struct for accessing QD globals
|
||
- new routines in CommToolboxUtilityRoutines
|
||
<11> 3/18/90 BBH keep IconPrivateBlock's unused field for Tools 1.0
|
||
compatibility. Sorry for the flip flops
|
||
<10> 3/18/90 BBH remove change to IconPrivateBlock
|
||
<9> 3/18/90 BBH returned hasSM (renamed unused) to IconPrivateBlock since the
|
||
tools assume that the procID is the second word in the
|
||
IconPrivateBlock data structure (this uncovered the bug in
|
||
ReaLDEF!)
|
||
<8> 3/16/90 BBH added CTB_VersionType
|
||
<7> 3/16/90 BBH added Menus.h to include list to support GetMenuItem routine in
|
||
CommToolboxUtilityRoutines.c
|
||
<6> 3/16/90 BBH added FontInfoRec, parse_finf, parse_flst,
|
||
GoodDrawOutlineButton, FindMenuItem
|
||
<5> 3/15/90 BBH add proper include in case they were not included before
|
||
(Memory and Resources and Dialogs)
|
||
<4+> 3/15/90 BBH add OSUtils to include list, fix typos
|
||
<4> 3/15/90 BBH add proper include in case they were not included before (Memory
|
||
and Resources and Dialogs)
|
||
<3> 3/14/90 BBH added min system heap resource (temporary until ptch's go in)
|
||
<2> 3/14/90 BBH Merged in CommResourcePriv.h, CTBPrivate.h, and CTBCoreIntf.h
|
||
<1> 3/14/90 BBH first checked in
|
||
*/
|
||
|
||
#ifndef __CommToolboxPriv__
|
||
#define __CommToolboxPriv__
|
||
|
||
#ifndef __RESOURCES__
|
||
#include <Resources.h>
|
||
#endif
|
||
|
||
#ifndef __MEMORY__
|
||
#include <Memory.h>
|
||
#endif
|
||
|
||
#ifndef __DIALOGS__
|
||
#include <Dialogs.h>
|
||
#endif
|
||
|
||
#ifndef __MENUS__
|
||
#include <Menus.h>
|
||
#endif
|
||
|
||
#ifndef __OSUTILS__
|
||
#include <OSUtils.h>
|
||
#endif
|
||
|
||
#ifndef __FILES__
|
||
#include <Files.h>
|
||
#endif
|
||
|
||
#ifndef __PROCESSES__
|
||
#include <Processes.h>
|
||
#endif
|
||
|
||
// the resource types and resource ID's to be used by the CommToolbox
|
||
/* the following 7 resources are temporary to be merged into ptch code */
|
||
#define CTB_InstallType 'INIT'
|
||
#define CTB_InstallID 29
|
||
|
||
#define CTB_DispatcherType 'proc' /* this used to be ctbd -32512 */
|
||
#define CTB_DispatcherID -32509
|
||
|
||
#define CTB_GestaltProcType 'proc' /* this used to be ctbg -32510 */
|
||
#define CTB_GestaltProcID -32508
|
||
|
||
#define CTB_PatchType 'ctbp' /* this used to be type ctb∂ */
|
||
#define CTB_Patch1 -32512 /* allocate low memory */
|
||
#define CTB_Patch2 -32511 /* register builtin ports */
|
||
#define CTB_Patch3 -32510 /* perform gestalt installation */
|
||
/* end temporary */
|
||
|
||
#define CTB_ConnectionMgrType 'cmtb'
|
||
#define CTB_FileTransferMgrType 'cmtb'
|
||
#define CTB_TerminalMgrType 'cmtb'
|
||
#define CTB_CTBUtilitiesType 'cmtb'
|
||
#define CTB_CommResourceMgrType 'cmtb'
|
||
|
||
#define CTB_ConnectionMgrID -32512
|
||
#define CTB_FileTransferMgrID -32511
|
||
#define CTB_TerminalMgrID -32510
|
||
#define CTB_CTBUtilitiesID -32509
|
||
#define CTB_CommResourceMgrID -32508
|
||
|
||
#define CTB_VersionType 'ctb ' // used to be ctbv -32512
|
||
#define CTB_VersionID -32512
|
||
|
||
#define CTB_KeyclickType 'snd ' /* this used to be ctb$ -32511 */
|
||
#define CTB_KeyclickID -32512
|
||
|
||
#define CTB_ChooseType 'proc' /* this used to be choo -32512 */
|
||
#define CTB_ChooseID -32512
|
||
|
||
#define CTB_DITLPackType 'proc' /* this used to be ditl -32512 */
|
||
#define CTB_DITLPackID -32511
|
||
|
||
#define CTB_NuLookupType 'proc' /* this used to be nlup -32510 */
|
||
#define CTB_NuLookupID -32510
|
||
|
||
#define CTB_NuLookupParmsType 'flst' /* this used to be parm -32510 */
|
||
#define CTB_NuLookupParmsID -32510
|
||
|
||
#define CTB_ModemIconType 'ICN#' /* this used to be ctbi -32512 */
|
||
#define CTB_Modem4ColorIconType 'icl4'
|
||
#define CTB_Modem8ColorIconType 'icl8'
|
||
#define CTB_ModemIconID -32512
|
||
|
||
#define CTB_PrinterIconType 'ICN#' /* this used to be ctbi -32511 */
|
||
#define CTB_Printer4ColorIconType 'icl4'
|
||
#define CTB_Printer8ColorIconType 'icl8'
|
||
#define CTB_PrinterIconID -32511
|
||
|
||
#define CTB_ModemStringType 'STR#' /* this used to be ctbs -32512 */
|
||
#define CTB_ModemStringID -32512
|
||
|
||
#define CTB_PrinterStringType 'STR#' /* this used to be ctbs -32511 */
|
||
#define CTB_PrinterStringID -32511
|
||
|
||
#define CTB_CommFolderNameType 'STR ' /* this used to be ctbs -32510 */
|
||
#define CTB_CommFolderNameID -32510
|
||
|
||
#define CTB_MarkerType 'ctb ' /* lets CTB6 installer scripts know CTB7 is installed */
|
||
#define CTB_CTB6MarkerID 0
|
||
#define CTB_CTB7MarkerID 1
|
||
|
||
#define CTB_ChooseDLOGID -32512
|
||
#define CTB_ChoosehdlgID -32512
|
||
#define CTB_ChoosedctbID -32512
|
||
#define CTB_ChooseDITLID -32512
|
||
#define CTB_ChooseSTRsID -32510
|
||
#define CTB_ChooseLDEFID -32512
|
||
#define CTB_ChoosehmnuID -32512
|
||
#define CTB_ChoosefinfID -32512
|
||
#define CTB_ChooseflstID -32512 /* preferred over finf */
|
||
#define CTB_ChooseCNTLID -32512
|
||
#define CTB_ChooseMENUID -32512
|
||
|
||
#define CTB_ChooseConfirmDLOGID -32511
|
||
#define CTB_ChooseConfirmDITLID -32511
|
||
|
||
#define CTB_ChooseUnavailableDLOGID -32509
|
||
#define CTB_ChooseUnavailableDITLID -32509
|
||
|
||
#define CTB_NulookuphdlgID -32510
|
||
#define CTB_NulookupDLOGID -32510
|
||
#define CTB_NulookupdctbID -32510
|
||
#define CTB_NulookupDITLID -32510
|
||
#define CTB_NulookupSTRsID -32510
|
||
#define CTB_NulookupLDEFID -32510
|
||
|
||
#define CTB_PopupCDEFType 'CDEF'
|
||
#define CTB_PopupCDEFID 63
|
||
|
||
/* added since CTB6 */
|
||
#define CTB_PopupTriangleType 'PICT'
|
||
#define CTB_PopupTriangleID -8224 /* owned by cdef 63 */
|
||
|
||
#define CTB_PopupExpandType 'proc' /* this expands menuwidth */
|
||
#define CTB_PopupExpandID -8224 /* owned by cdef 63 */
|
||
|
||
|
||
// Communications Resource Manager
|
||
/////////////////////////////////////////////////////////////////////////////////////////////
|
||
// partial declaration of resource map handle
|
||
typedef struct ResourceMapRecord {
|
||
long theHeader[4];
|
||
struct ResourceMapRecord
|
||
**next;
|
||
short refNum;
|
||
} ResourceMapRecord, *ResourceMapPtr, **ResourceMapHandle, ***ResourceMapHandlePtr;
|
||
|
||
|
||
// structures used by CRM for manipulating the resource map chain
|
||
typedef struct CRMToolContext { /* NOTE if this structure changes,
|
||
CRMToolPreflight/Postflight
|
||
have to change as well */
|
||
short oldProcID;
|
||
ResourceMapHandle oldHidden; // old resfile just below system file
|
||
short toolProcID;
|
||
Boolean wasBelow; // were we already below the system map?
|
||
} CRMToolContext, *CRMToolContextPtr;
|
||
|
||
|
||
// structures used to manage resource files
|
||
typedef struct ResFileRec {
|
||
FSSpec theName; /* Canonical File id */
|
||
short refNum; /* resource file reference number */
|
||
ResourceMapHandle /* the resource map */
|
||
resMap;
|
||
THz pZone; /* zone the resource map resides in */
|
||
long useCount; /* number times opened/closed */
|
||
CRMToolContext special; /* special context for CTBSetupPreflight/Postflight */
|
||
long reserved; /* who knows what */
|
||
struct ResFileRec **next; /* next in the chain */
|
||
} ResFileRec, *ResFileRecPtr, **ResFileRecHdl;
|
||
|
||
// data structure used to keep track of resources (useCount etc)
|
||
typedef struct CRMResourceCount {
|
||
struct CRMResourceCount *next;
|
||
long theHandle;
|
||
long useCount;
|
||
short refnum;
|
||
} CRMResourceCount, *CRMResourceCountPtr;
|
||
|
||
// bit field for cmtbFlags below
|
||
#define cmInUse 1
|
||
#define ftInUse 1 << (CTB_FileTransferMgrID - CTB_ConnectionMgrID)
|
||
#define tmInUse 1 << (CTB_TerminalMgrID - CTB_ConnectionMgrID)
|
||
|
||
// data struct to keep a list of processes that have inited a mgr
|
||
typedef struct CRMAppRec {
|
||
ProcessSerialNumber aProcess;
|
||
short cmtbFlags; // tmInUse, etc.
|
||
long reserved;
|
||
struct CRMAppRec *next;
|
||
} CRMAppRec, *CRMAppRecPtr;
|
||
|
||
// commtoolbox dispatcher format
|
||
typedef struct DispatchCode {
|
||
short instruction; // bra.s @OK
|
||
long table[19]; // table of manager pointers
|
||
short CTBrefnum; // ignored
|
||
short big; // ignored
|
||
} DispatchCode, *DispatchCodePtr;
|
||
|
||
|
||
// CommToolbox Globals pointed to by 0xBB4
|
||
#define CTBBlockVersion 1
|
||
|
||
typedef struct CTBBlock {
|
||
short version; // should be CTBBlockVersion
|
||
QHdrPtr CRMQueue; // queue of devices being managed
|
||
long resList; // queue of resources being managed
|
||
short private; // What is this?
|
||
CRMAppRecPtr appList; // List o' processes that call us
|
||
ResFileRec **resFiles; // queue of files being managed
|
||
ResourceMapHandle toolResChain; // ?????
|
||
|
||
long secret[16];
|
||
} CTBBlock, *CTBBlockPtr;
|
||
|
||
#define CRMGetGlobals (* (CTBBlockPtr *) CommToolboxGlobals)
|
||
#define GetMemErr() MemError()
|
||
#define GetResErr() *((short *) ResErr)
|
||
|
||
/* internal CommResourceMgr routines */
|
||
pascal short CRMOpenRFPerm(ConstStr63Param fName, short vRefNum, long dirID);
|
||
pascal short CRMGetRFCount(short refNum);
|
||
pascal OSErr CRMParseRefNum(short refNum, Str63 fName, short *vRefNum);
|
||
|
||
pascal OSErr CRMCreateCommunications(short *vRefNum, long *dirID);
|
||
pascal short CRMCountFiles(OSType fType, short vRefNum, long dirID);
|
||
pascal OSErr CRMGetIndFile(Str63 fName, OSType fType, short vRefNum, long dirID, short index);
|
||
pascal Boolean CRMCheckTool(ConstStr63Param fName, OSType fType, short vRefNum, long dirID);
|
||
|
||
pascal void CRMDumpResChain(void);
|
||
|
||
pascal void CRMToolPreflight(short procID, CRMToolContext *);
|
||
pascal void CRMToolPostflight(const CRMToolContext *);
|
||
|
||
/* CRM App List Handling Routines */
|
||
pascal short TrackManagers(short mgrID);
|
||
CRMAppRecPtr FindApp(const ProcessSerialNumber *);
|
||
CRMAppRecPtr AddApp(const ProcessSerialNumber *);
|
||
void RemoveApp(CRMAppRecPtr);
|
||
|
||
// CommToolbox Utilities
|
||
|
||
// Choose
|
||
/* Choose private data structures */
|
||
typedef struct ChooseRec {
|
||
long reserved;
|
||
long msg; // one of {ctbChooseNoChangeHandle, ctbChooseNoDialog, ctbChooseNoChangeTool}
|
||
ProcPtr idleProc;
|
||
ProcPtr filterProc;
|
||
Str63 newTool;
|
||
Ptr newConfig;
|
||
ProcPtr eventProc;
|
||
} ChooseRec, *ChooseRecPtr;
|
||
|
||
/* ChooseRec messages */
|
||
#define ctbChooseNoChangeHandle 1
|
||
#define ctbChooseNoDialog 2
|
||
#define ctbChooseNoChangeTool 4
|
||
|
||
/* messages to the choo resource */
|
||
#define ChooseCM 0
|
||
#define ChooseTM 1
|
||
#define ChooseFT 2
|
||
|
||
|
||
// ICON LDEF data structures
|
||
/* IconLDEF cell data */
|
||
typedef struct CellDataBlock {
|
||
long icon[32];
|
||
long mask[32];
|
||
Str255 title;
|
||
} CellDataBlock, *CellDataP, **CellDataH;
|
||
|
||
typedef struct NewCellDataBlock { /* Structure of new icon ldef's Data */
|
||
Handle cHand;
|
||
short cFont;
|
||
Style cFace;
|
||
Str255 cName;
|
||
} NewCellDataBlock, *NewCellDataBlockP, **NewCellDataBlockH;
|
||
|
||
/* CommToolboxLDEF private data */
|
||
typedef struct IconPrivateBlock {
|
||
Boolean unused; // has to be here for CTB 1.0 compatibility
|
||
short procID; /* res refnum for the tool */
|
||
NewCellDataBlockH tempData; /* Data for new IconLDEF */
|
||
} IconPrivateBlock, *IconPrivateP, **IconPrivateH;
|
||
|
||
|
||
// generic structure for converting finf and flst resources
|
||
typedef struct TextState {
|
||
short theFont;
|
||
Style theFace;
|
||
short theSize;
|
||
short theMode;
|
||
} TextState, *TextStatePtr;
|
||
|
||
// Accessing QD Globals
|
||
typedef struct {
|
||
char privates[76];
|
||
long randSeed;
|
||
BitMap screenBits;
|
||
Cursor arrow;
|
||
Pattern dkGray; // we really care only for the patterns
|
||
Pattern ltGray;
|
||
Pattern gray;
|
||
Pattern black;
|
||
Pattern white;
|
||
GrafPtr thePort;
|
||
} GrafWorld, *GrafWorldPtr;
|
||
|
||
// routines in CommToolboxUtilityRoutines
|
||
pascal short FindMenuItem(MenuHandle, ConstStr255Param);
|
||
pascal OSErr GetIndflst(Handle hInfo, Boolean oldStyle,
|
||
short index, TextState *finfInfo);
|
||
pascal void DoSolidOutline(DialogPtr pDialog, short theItem);
|
||
pascal void DoGrayOutline(DialogPtr pDialog, short theItem);
|
||
pascal void DoTheIcon(Ptr theIcon, const Rect *destRect, Boolean selected);
|
||
pascal GrafWorldPtr GetQDGlobals(void);
|
||
pascal void GetItemRect(DialogPtr, short, Rect *);
|
||
pascal void SetUserItemProc(DialogPtr, short, ProcPtr);
|
||
pascal void PCopyString(ConstStr255Param, Str255);
|
||
pascal Boolean CmdPeriod(EventRecord *);
|
||
pascal void GetTextState(TextState *txState);
|
||
pascal void SetTextState(TextState *txState);
|
||
pascal void Getflst(short procID, short resourceID,
|
||
short finfIndex, TextState *finfInfo);
|
||
pascal Point PlaceWindow(WindowPtr theParent,short childHeight,short childWidth);
|
||
|
||
// CommToolbox Utilities Core
|
||
/* Common Tool Messages */
|
||
#define CTBInitMsg 0
|
||
#define CTBDisposeMsg 1
|
||
|
||
#define CTBSuspendMsg 2
|
||
#define CTBResumeMsg 3
|
||
|
||
#define CTBMenuMsg 4
|
||
#define CTBEventMsg 5
|
||
|
||
#define CTBActivateMsg 6
|
||
#define CTBDeactivateMsg 7
|
||
|
||
/* except for connection manager since I BBH f*cked up */
|
||
#define CTBGetErrorStringMsg 8
|
||
|
||
#define CTBIdleMsg 50
|
||
#define CTBResetMsg 51
|
||
#define CTBAbortMsg 52
|
||
|
||
|
||
#define CTBValidateMsg 0
|
||
#define CTBDefaultMsg 1
|
||
|
||
// case these later
|
||
#define CTBPreflightMsg 0
|
||
#define CTBSetupMsg 1
|
||
#define CTBItemMsg 2
|
||
#define CTBFilterMsg 3
|
||
#define CTBCleanupMsg 4
|
||
|
||
|
||
#define CTBGetMsg 0
|
||
#define CTBSetMsg 1
|
||
|
||
#define CTB2EnglishMsg 0
|
||
#define CTB2IntlMsg 1
|
||
|
||
// DITL package selectors
|
||
#define AppendMsg 1
|
||
#define CountMsg 2
|
||
#define ShortenMsg 3
|
||
|
||
|
||
typedef struct CoreRecord { // looks pretty common to ConnRecord, TermRecord, FTRecord
|
||
short procID;
|
||
|
||
long flags;
|
||
OSErr errCode;
|
||
|
||
long refCon;
|
||
long userData;
|
||
|
||
ProcPtr defProc;
|
||
|
||
Ptr config;
|
||
Ptr oldConfig;
|
||
|
||
long reserved0;
|
||
long reserved1;
|
||
long reserved2;
|
||
} CoreRecord, *CorePtr, **CoreHandle;
|
||
|
||
pascal short InitManager(short selector);
|
||
|
||
/* core setup misceallaneous routines */
|
||
pascal void CTBGetToolName(short procID, Str255 name, short mgrSel);
|
||
pascal short CTBGetProcID(ConstStr255Param name, short mgrSel);
|
||
pascal Handle CTBGetVersion(CoreHandle, short mgrSel);
|
||
|
||
/* core validate routines */
|
||
pascal Boolean CTBValidate(CoreHandle, short mgrSel);
|
||
pascal void CTBDefault(Ptr *config, short procID, Boolean allocate, short mgrSel);
|
||
|
||
/* core setup routines */
|
||
pascal Handle CTBSetupPreflight(short procID, long *magicCookie, short mgrSel);
|
||
|
||
pascal Boolean CTBSetupFilter(short procID, Ptr theConfig, short count, DialogPtr, EventRecord *,
|
||
short *theItem, long *magicCookie, short mgrSel);
|
||
|
||
pascal void CTBSetupSetup(short procID, Ptr theConfig, short count, DialogPtr, long *magicCookie,
|
||
short mgrSel);
|
||
|
||
pascal void CTBSetupItem(short procID, Ptr theConfig, short count, DialogPtr, short *item,
|
||
long *magicCookie, short mgrSel);
|
||
|
||
pascal void CTBSetupCleanup(short procID, Ptr theConfig, short count, DialogPtr, long *magicCookie,
|
||
short mgrSel);
|
||
pascal void CTBSetupXCleanup(short procID, Ptr theConfig, short count, DialogPtr, Boolean OKed,
|
||
long *magicCookie, short mgrSel);
|
||
|
||
pascal void CTBSetupPostflight(short procID, short mgrSel);
|
||
|
||
|
||
/* core scripting routines */
|
||
pascal Ptr CTBGetConfig(CoreHandle, short mgrSel);
|
||
|
||
pascal short CTBSetConfig(CoreHandle, Ptr thePtr, short mgrSel);
|
||
|
||
|
||
/* core localization routines */
|
||
pascal short CTBIntlToEnglish(CoreHandle,
|
||
Ptr inputPtr, Ptr *outputPtr, short language, short mgrSel);
|
||
|
||
pascal short CTBEnglishToIntl(CoreHandle,
|
||
Ptr inputPtr, Ptr *outputPtr, short language, short mgrSel);
|
||
|
||
/* core choose routines */
|
||
pascal short CTBChoose(CoreHandle *, Point where, ProcPtr idleProc, short mgrSel);
|
||
pascal short CTBPChoose(CoreHandle *, Point where, ChooseRec *, short mgrSel);
|
||
|
||
|
||
/* core utility routines - these reside in CommToolboxUtilityRoutines.c */
|
||
pascal Handle CRMGetAResource(ResType, short procID);
|
||
|
||
|
||
// Note that SetupStruct has been renamed CM/FT/TMSetupStruct but the core routines
|
||
// use SetupStruct so the next line could very well have been #def SetupStruct TMSetupStruct
|
||
|
||
#define SetupStruct CMSetupStruct
|
||
|
||
// selectors for the various code routines
|
||
#define CMSel 0
|
||
#define TMSel 1
|
||
#define FTSel 2
|
||
|
||
// selectors for the tool res types
|
||
#define BndType 0
|
||
#define DefType 1
|
||
#define ValType 2
|
||
#define SetType 3
|
||
#define ScrType 4
|
||
#define LocType 5
|
||
|
||
// common error code for no tools in response to InitXXX()
|
||
#define CTBNoTools 8
|
||
|
||
|
||
#endif
|