2017-10-21 23:40:19 +00:00
|
|
|
/********************************************
|
|
|
|
*
|
|
|
|
* Tool Locator
|
|
|
|
*
|
|
|
|
* Copyright Apple Computer, Inc.1986-92
|
|
|
|
* All Rights Reserved
|
|
|
|
*
|
|
|
|
* Copyright 1992, 1993, Byte Works, Inc.
|
|
|
|
*
|
|
|
|
********************************************/
|
|
|
|
|
|
|
|
#ifndef __TYPES__
|
|
|
|
#include <TYPES.h>
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#ifndef __LOCATOR__
|
|
|
|
#define __LOCATOR__
|
|
|
|
|
|
|
|
/* Error Codes */
|
|
|
|
#define toolNotFoundErr 0x0001
|
|
|
|
#define funcNotFoundErr 0x0002
|
|
|
|
#define sysStrtMtErr 0x0100 /* can't mount system startup volume */
|
|
|
|
#define tlBadRecFlag 0x0103 /* StartStop record invalid */
|
|
|
|
#define tlCantLoad 0x0104 /* A tool cannot be loaded */
|
|
|
|
#define toolVersionErr 0x0110
|
|
|
|
#define messNotFoundErr 0x0111
|
|
|
|
#define messageOvfl 0x0112 /* No message numbers available */
|
|
|
|
#define nameTooLong 0x0113 /* Message name too long */
|
|
|
|
#define reqNotAccepted 0x0120 /* SendRequest request not accepted */
|
|
|
|
#define duplicateName 0x0121 /* duplicate name for AcceptRequests */
|
|
|
|
#define invalidSendRequest 0x0122 /* bad combo of target and sendHow */
|
|
|
|
|
|
|
|
/* MessageCenter Codes */
|
|
|
|
#define fileInfoType 0x0001 /* Message type parameter */
|
|
|
|
#define addMessage 0x0001 /* action parameter */
|
|
|
|
#define getMessage 0x0002 /* action parameter */
|
|
|
|
#define deleteMessage 0x0003 /* action parameter */
|
|
|
|
#define fileInfoTypeGS 0x0011 /* Message type parameter (GS/OS strings) */
|
|
|
|
|
|
|
|
/* GetMsgHandle flags values */
|
|
|
|
#define gmhByIndex 0
|
|
|
|
#define gmhByType 1
|
|
|
|
#define gmhByName 2
|
|
|
|
|
|
|
|
/* SendRequest/AcceptRequests codes */
|
|
|
|
#define systemSaysBeep 0x0001 /* used by SysBeep2 */
|
|
|
|
#define systemSaysUnknownDisk 0x0002 /* used by HandleDiskInsert */
|
|
|
|
#define srqGoAway 0x0003
|
|
|
|
#define srqGetrSoundSample 0x0004
|
|
|
|
#define srqSynchronize 0x0005
|
|
|
|
#define srqPlayrSoundSample 0x0006
|
|
|
|
#define systemSaysNewDeskMsg 0x0008
|
|
|
|
#define systemSaysEjectingDev 0x000E
|
|
|
|
#define systemSaysDeskStartUp 0x0502
|
|
|
|
#define systemSaysDeskShutDown 0x0503
|
|
|
|
#define systemSaysFixedAppleMenu 0x051E
|
|
|
|
#define systemSaysMenuKey 0x0F01
|
|
|
|
#define systemSaysDoClipboard 0x000C
|
|
|
|
#define systemSaysForceUndim 0x000D
|
|
|
|
#define srqOpenOrPrint 0x0010
|
|
|
|
#define srqQuit 0x0011
|
|
|
|
#define systemSaysGetSysIcon 0x1201
|
|
|
|
|
|
|
|
/* SendRequest sendHow values */
|
|
|
|
#define stopAfterOne 0x8000
|
|
|
|
#define sendToAll 0
|
|
|
|
#define sendToName 1
|
|
|
|
#define sendToUserID 2
|
|
|
|
|
|
|
|
/* StartUpTools flag bits */
|
|
|
|
#define leaveScreenClean 0x0004
|
|
|
|
#define openResAsAllowed 0x0008
|
|
|
|
#define noResourceMgr 0x0010 /* for ShutDownTools, too */
|
|
|
|
|
|
|
|
/* TLMountVolume Codes */
|
|
|
|
#define mvReturn 0x0001 /* like ok for dialogs */
|
|
|
|
#define mvEscape 0x0002 /* like cancel for dialogs */
|
|
|
|
|
|
|
|
/* Tool Set Spec Codes */
|
|
|
|
#define sysTool 0x0000
|
|
|
|
#define userTool 0x8000
|
|
|
|
#ifndef theToolsLength /* ToolTable - default number of ToolSpecs */
|
|
|
|
#define theToolsLength 0x0010
|
|
|
|
#endif
|
|
|
|
|
|
|
|
struct MessageRec {
|
|
|
|
struct MessageRec **messageNext;
|
|
|
|
Word messageType;
|
|
|
|
Word messageData;
|
|
|
|
Str255 fileNames[1];
|
|
|
|
};
|
|
|
|
typedef struct MessageRec MessageRec, *MessageRecPtr, **MessageRecHndl;
|
|
|
|
|
|
|
|
typedef struct wString {
|
|
|
|
Word length; /* Number of Chars in text field */
|
|
|
|
char text[255];
|
|
|
|
} wString, *wStringPtr, **wStringHndl;
|
|
|
|
typedef wStringHndl *wStringHndlPtr;
|
|
|
|
|
|
|
|
typedef struct MessageRecGS {
|
|
|
|
long reserved; /* reserved */
|
|
|
|
Word messageType;
|
|
|
|
Word printFlag;
|
|
|
|
wString fileNames[1];
|
|
|
|
} MessageRecGS, *MessageRecGSPtr, **MessageRecGSHndl;
|
|
|
|
|
|
|
|
struct ToolSpec {
|
|
|
|
Word toolNumber;
|
|
|
|
Word minVersion;
|
|
|
|
};
|
|
|
|
typedef struct ToolSpec ToolSpec;
|
|
|
|
|
|
|
|
struct ToolTable {
|
|
|
|
Word toolCount;
|
|
|
|
ToolSpec theTools[theToolsLength];
|
|
|
|
};
|
|
|
|
typedef struct ToolTable ToolTable, *ToolTablePtr;
|
|
|
|
|
|
|
|
struct StartStopRecord {
|
|
|
|
Word flags;
|
|
|
|
Word videoMode;
|
|
|
|
Word resFileID;
|
|
|
|
Handle dPageHandle;
|
|
|
|
Word numTools;
|
|
|
|
ToolSpec theTools[theToolsLength];
|
|
|
|
};
|
|
|
|
typedef struct StartStopRecord StartStopRecord, *StartStopRecordPtr;
|
|
|
|
|
|
|
|
typedef Long ResponseRecord;
|
|
|
|
|
|
|
|
struct srqGoAwayOut {
|
|
|
|
Word recvCount;
|
|
|
|
Word resultID; /* returned UserID */
|
|
|
|
Word resultFlags; /* returned flags--bit 15=Restartable, 14-0=reserved */
|
|
|
|
};
|
|
|
|
typedef struct srqGoAwayOut srqGoAwayOut, *srqGoAwayOutPtr;
|
|
|
|
|
|
|
|
extern pascal void TLBootInit(void) inline(0x0101,dispatcher);
|
|
|
|
extern pascal void TLStartUp(void) inline(0x0201,dispatcher);
|
|
|
|
extern pascal void TLShutDown(void) inline(0x0301,dispatcher);
|
|
|
|
extern pascal Word TLVersion(void) inline(0x0401,dispatcher);
|
|
|
|
extern pascal void TLReset(void) inline(0x0501,dispatcher);
|
|
|
|
extern pascal Boolean TLStatus(void) inline(0x0601,dispatcher);
|
|
|
|
extern pascal Pointer GetFuncPtr(Word, Word) inline(0x0B01,dispatcher);
|
|
|
|
extern pascal Pointer GetTSPtr(Word, Word) inline(0x0901,dispatcher);
|
|
|
|
extern pascal Pointer GetWAP(Word, Word) inline(0x0C01,dispatcher);
|
|
|
|
extern pascal void LoadOneTool(Word, Word) inline(0x0F01,dispatcher);
|
|
|
|
extern pascal void LoadTools(Pointer) inline(0x0E01,dispatcher);
|
|
|
|
extern pascal void MessageCenter(Word, Word, Handle) inline(0x1501,dispatcher);
|
|
|
|
extern pascal void RestoreTextState(Handle) inline(0x1401,dispatcher);
|
|
|
|
extern pascal Handle SaveTextState(void) inline(0x1301,dispatcher);
|
|
|
|
extern pascal void SetTSPtr(Word, Word, Pointer) inline(0x0A01,dispatcher);
|
|
|
|
extern pascal void SetWAP(Word, Word, Pointer) inline(0x0D01,dispatcher);
|
|
|
|
extern pascal Word TLMountVolume(Integer, Integer, Pointer, Pointer, Pointer, Pointer) inline(0x1101,dispatcher);
|
|
|
|
extern pascal Word TLTextMountVolume(Pointer, Pointer, Pointer, Pointer) inline(0x1201,dispatcher);
|
|
|
|
extern pascal void UnloadOneTool(Word) inline(0x1001,dispatcher);
|
|
|
|
|
|
|
|
extern pascal ResponseRecord MessageByName(Boolean, Pointer) inline(0x1701,dispatcher);
|
|
|
|
extern pascal void SetDefaultTPT(void) inline(0x1601,dispatcher);
|
|
|
|
extern pascal void ShutDownTools(Word, Ref) inline(0x1901,dispatcher);
|
|
|
|
extern pascal Ref StartUpTools(Word, Word, Ref) inline(0x1801,dispatcher);
|
|
|
|
|
|
|
|
extern pascal void AcceptRequests(Pointer, Word, WordProcPtr) inline(0x1B01,dispatcher);
|
|
|
|
extern pascal Handle GetMsgHandle(Word, Long) inline(0x1A01,dispatcher);
|
|
|
|
extern pascal void SendRequest(Word, Word, Long, Long, Ptr) inline(0x1C01,dispatcher);
|
|
|
|
|
|
|
|
#endif
|