MPW 3.3, alas requires System 7

This commit is contained in:
Elliot Nunn 2018-11-06 13:05:08 +08:00
parent 8829962159
commit 3218aa64d4
925 changed files with 251209 additions and 117914 deletions

View File

@ -0,0 +1,217 @@
/************************************************************
Created: Friday, September 13, 1991 at 10:23 AM
ADSP.h
C Interface to the Macintosh Libraries
Copyright Apple Computer, Inc. 1986-1991
All rights reserved
************************************************************/
#ifndef __ADSP__
#define __ADSP__
#ifndef __APPLETALK__
#include <AppleTalk.h>
#endif
enum {
/* driver control ioResults */
errRefNum = -1280, /* bad connection refNum */
errAborted = -1279, /* control call was aborted */
errState = -1278, /* bad connection state for this operation */
errOpening = -1277, /* open connection request failed */
errAttention = -1276, /* attention message too long */
errFwdReset = -1275, /* read terminated by forward reset */
errDSPQueueSize = -1274, /* DSP Read/Write Queue Too small */
errOpenDenied = -1273, /* open connection request was denied */
/*driver control csCodes*/
dspInit = 255, /* create a new connection end */
dspRemove = 254, /* remove a connection end */
dspOpen = 253, /* open a connection */
dspClose = 252, /* close a connection */
dspCLInit = 251, /* create a connection listener */
dspCLRemove = 250, /* remove a connection listener */
dspCLListen = 249, /* post a listener request */
dspCLDeny = 248, /* deny an open connection request */
dspStatus = 247, /* get status of connection end */
dspRead = 246, /* read data from the connection */
dspWrite = 245, /* write data on the connection */
dspAttention = 244 /* send an attention message */
};
enum {
dspOptions = 243, /* set connection end options */
dspReset = 242, /* forward reset the connection */
dspNewCID = 241, /* generate a cid for a connection end */
/* connection opening modes */
ocRequest = 1, /* request a connection with remote */
ocPassive = 2, /* wait for a connection request from remote */
ocAccept = 3, /* accept request as delivered by listener */
ocEstablish = 4, /* consider connection to be open */
/* connection end states */
sListening = 1, /* for connection listeners */
sPassive = 2, /* waiting for a connection request from remote */
sOpening = 3, /* requesting a connection with remote */
sOpen = 4, /* connection is open */
sClosing = 5, /* connection is being torn down */
sClosed = 6, /* connection end state is closed */
/* client event flags */
eClosed = 0x80, /* received connection closed advice */
eTearDown = 0x40, /* connection closed due to broken connection */
eAttention = 0x20, /* received attention message */
eFwdReset = 0x10, /* received forward reset advice */
/* miscellaneous constants */
attnBufSize = 570, /* size of client attention buffer */
minDSPQueueSize = 100 /* Minimum size of receive or send Queue */
};
/* connection control block */
struct TRCCB {
unsigned char *ccbLink; /* link to next ccb */
unsigned short refNum; /* user reference number */
unsigned short state; /* state of the connection end */
unsigned char userFlags; /* flags for unsolicited connection events */
unsigned char localSocket; /* socket number of this connection end */
AddrBlock remoteAddress; /* internet address of remote end */
unsigned short attnCode; /* attention code received */
unsigned short attnSize; /* size of received attention data */
unsigned char *attnPtr; /* ptr to received attention data */
unsigned char reserved[220]; /* for adsp internal use */
};
typedef struct TRCCB TRCCB;
typedef TRCCB *TPCCB;
/* init connection end parameters */
struct TRinitParams {
TPCCB ccbPtr; /* pointer to connection control block */
ProcPtr userRoutine; /* client routine to call on event */
unsigned short sendQSize; /* size of send queue (0..64K bytes) */
unsigned char *sendQueue; /* client passed send queue buffer */
unsigned short recvQSize; /* size of receive queue (0..64K bytes) */
unsigned char *recvQueue; /* client passed receive queue buffer */
unsigned char *attnPtr; /* client passed receive attention buffer */
unsigned char localSocket; /* local socket number */
};
typedef struct TRinitParams TRinitParams;
/* open connection parameters */
struct TRopenParams {
unsigned short localCID; /* local connection id */
unsigned short remoteCID; /* remote connection id */
AddrBlock remoteAddress; /* address of remote end */
AddrBlock filterAddress; /* address filter */
unsigned long sendSeq; /* local send sequence number */
unsigned short sendWindow; /* send window size */
unsigned long recvSeq; /* receive sequence number */
unsigned long attnSendSeq; /* attention send sequence number */
unsigned long attnRecvSeq; /* attention receive sequence number */
unsigned char ocMode; /* open connection mode */
unsigned char ocInterval; /* open connection request retry interval */
unsigned char ocMaximum; /* open connection request retry maximum */
};
typedef struct TRopenParams TRopenParams;
/* close connection parameters */
struct TRcloseParams {
unsigned char abort; /* abort connection immediately if non-zero */
};
typedef struct TRcloseParams TRcloseParams;
/* client status parameter block */
struct TRstatusParams {
TPCCB ccbPtr; /* pointer to ccb */
unsigned short sendQPending; /* pending bytes in send queue */
unsigned short sendQFree; /* available buffer space in send queue */
unsigned short recvQPending; /* pending bytes in receive queue */
unsigned short recvQFree; /* available buffer space in receive queue */
};
typedef struct TRstatusParams TRstatusParams;
/* read/write parameter block */
struct TRioParams {
unsigned short reqCount; /* requested number of bytes */
unsigned short actCount; /* actual number of bytes */
unsigned char *dataPtr; /* pointer to data buffer */
unsigned char eom; /* indicates logical end of message */
unsigned char flush; /* send data now */
};
typedef struct TRioParams TRioParams;
/* attention parameter block */
struct TRattnParams {
unsigned short attnCode; /* client attention code */
unsigned short attnSize; /* size of attention data */
unsigned char *attnData; /* pointer to attention data */
unsigned char attnInterval; /* retransmit timer in 10-tick intervals */
};
typedef struct TRattnParams TRattnParams;
/* client send option parameter block */
struct TRoptionParams {
unsigned short sendBlocking; /* quantum for data packets */
unsigned char sendTimer; /* send timer in 10-tick intervals */
unsigned char rtmtTimer; /* retransmit timer in 10-tick intervals */
unsigned char badSeqMax; /* threshold for sending retransmit advice */
unsigned char useCheckSum; /* use ddp packet checksum */
};
typedef struct TRoptionParams TRoptionParams;
/* new cid parameters */
struct TRnewcidParams {
unsigned short newcid; /* new connection id returned */
};
typedef struct TRnewcidParams TRnewcidParams;
/* ADSP CntrlParam ioQElement , driver control call parameter block*/
struct DSPParamBlock {
struct QElem *qLink;
short qType;
short ioTrap;
Ptr ioCmdAddr;
ProcPtr ioCompletion;
OSErr ioResult;
char *ioNamePtr;
short ioVRefNum;
short ioCRefNum; /* adsp driver refNum */
short csCode; /* adsp driver control code */
long qStatus; /* adsp internal use */
short ccbRefNum;
union{
TRinitParams initParams; /*dspInit, dspCLInit*/
TRopenParams openParams; /*dspOpen, dspCLListen, dspCLDeny*/
TRcloseParams closeParams; /*dspClose, dspRemove*/
TRioParams ioParams; /*dspRead, dspWrite*/
TRattnParams attnParams; /*dspAttention*/
TRstatusParams statusParams; /*dspStatus*/
TRoptionParams optionParams; /*dspOptions*/
TRnewcidParams newCIDParams; /*dspNewCID*/
} u;
};
typedef struct DSPParamBlock DSPParamBlock;
typedef DSPParamBlock *DSPPBPtr;
#endif

View File

@ -0,0 +1 @@
TEXTMPS

View File

@ -0,0 +1,25 @@
data 'vers' (1) {
$"0321 8000 0000 0533 2E32 2E31 2833 2E32" /* .!.....3.2.1(3.2 */
$"2E31 2C20 A920 4170 706C 6520 436F 6D70" /* .1, . Apple Comp */
$"7574 6572 2C20 496E 632E 2031 3938 352D" /* uter, Inc. 1985- */
$"3139 3932 2E" /* 1992. */
};
data 'vers' (2, purgeable) {
$"0330 8000 0000 0333 2E33 074D 5057 2033" /* .0.....3.3.MPW 3 */
$"2E33" /* .3 */
};
data 'MPSR' (1005) {
$"0009 4D6F 6E61 636F 006E 7369 676E 6564" /* ..Monaco.nsigned */
$"2063 6861 7220 2A61 7474 6E50 7472 3B09" /* char *attnPtr;. */
$"092F 0006 0004 0031 000A 015D 01E0 0031" /* ./.....1...]...1 */
$"000A 015D 01E0 A664 D9C0 0000 0000 0000" /* ...]...d........ */
$"0000 0000 0000 0100" /* ........ */
};
data 'MPSR' (1008) {
$"0031 000A 015D 01E0 0031 000A 015D 01E0" /* .1...]...1...].. */
$"0000 0000 0000 0000 0000 0000 0000" /* .............. */
};

View File

@ -0,0 +1,258 @@
/*———————————————————————————————————————————————————————————————————————————————————*/
/*
©Apple Computer, Inc. 2/21/91
All Rights Reserved.
*/
#ifndef __AEOBJECTS__
#define __AEOBJECTS__
#ifndef __MEMORY__
#include <Memory.h>
#endif
#ifndef __OSUTILS__
#include <OSUtils.h>
#endif
#ifndef __EVENTS__
#include <Events.h>
#endif
#ifndef __EPPC__
#include <EPPC.h>
#endif
#ifndef __APPLEEVENTS__
#include <AppleEvents.h>
#endif
/* Logical operators: look for them in descriptors of type typeLogicalDescriptor
with keyword keyAELogicalOperator */
#define kAEAND 'AND '
#define kAEOR 'OR '
#define kAENOT 'NOT '
/* Absolute ordinals: look for them in descriptors of type typeAbsoluteOrdinal.
Possible use is as keyAEKeyData in an object specifier whose keyAEKeyForm
field is formAbsolutePosition. */
#define kAEFirst 'firs'
#define kAELast 'last'
#define kAEMiddle 'midd'
#define kAEAny 'any '
#define kAEAll 'all '
/* Relative ordinals: look for them in descriptors of type formRelativePosition. */
#define kAENext 'next'
#define kAEPrevious 'prev'
/********** Keywords for getting fields out of object specifier records **********/
#define keyAEDesiredClass 'want'
#define keyAEContainer 'from'
#define keyAEKeyForm 'form'
#define keyAEKeyData 'seld'
/********** Keywords for getting fields out of Range specifier records **********/
#define keyAERangeStart 'star' /* These are the only two fields in the range desc */
#define keyAERangeStop 'stop'
/********** Possible values for the keyAEKeyForm field of an object specifier **********/
/* Remember that this set is an open-ended one. The OSL makes assumptions about some of them,
but nothing in the grammar says you can't define your own */
#define formAbsolutePosition 'indx' /* e.g., 1st, -2nd ( 2nd from end) */
#define formRelativePosition 'rele' /* next, previous */
#define formTest 'test' /* A logical or a comparison */
#define formRange 'rang' /* Two arbitrary objects and everything in between */
#define formPropertyID 'prop' /* Key data is a 4-char property name */
#define formName 'name' /* Key data may be of type 'TEXT' */
/************** Various relevant types ****************/
/* Some of these tend to be paired with certain of the forms above. Where this
is the case comments indicating the form(s) follow. */
#define typeObjectSpecifier 'obj ' /* keyAEContainer will often be one of these */
#define typeObjectBeingExamined 'exmn' /* Another possible value for keyAEContainer */
#define typeCurrentContainer 'ccnt' /* Another possible value for keyAEContainer */
#define typeToken 'toke' /* Substituted for 'ccnt' before accessor called */
#define typeRelativeDescriptor 'rel ' /* formRelativePosition */
#define typeAbsoluteOrdinal 'abso' /* formAbsolutePosition */
#define typeIndexDescriptor 'inde' /* formAbsolutePosition */
#define typeRangeDescriptor 'rang' /* formRange */
#define typeLogicalDescriptor 'logi' /* formTest is this or typeCompDescriptor */
#define typeCompDescriptor 'cmpd' /* formTest is this or typeLogicalDescriptor */
/************** various relevant keywords ****************/
#define keyAECompOperator 'relo' /* Relates two terms: '', '<', etc. */
#define keyAELogicalTerms 'term' /* An AEList of terms to be related by 'logc' below */
#define keyAELogicalOperator 'logc' /* kAEAND, kAEOR or kAENOT */
#define keyAEObject1 'obj1' /* One of two objects in a term must be object specifier */
#define keyAEObject2 'obj2' /* The other object may be a simple descriptor or obj. spec. */
/************ Special Handler selectors for OSL Callbacks ***************/
/* You don't need to use these unless you are not using AESetObjectCallbacks. */
#define keyDisposeTokenProc 'xtok'
#define keyAECompareProc 'cmpr'
#define keyAECountProc 'cont'
#define keyAEMarkTokenProc 'mkid'
#define keyAEMarkProc 'mark'
#define keyAEAdjustMarksProc 'adjm'
#define keyAEGetErrDescProc 'indc'
/************ Error codes ***************/
/* OSL error codes: AEM proper uses up to -1719*/
#define errAEImpossibleRange -1720 /* A range like 3rd to 2nd, or 1st to all. */
#define errAEWrongNumberArgs -1721 /* Logical op kAENOT used with other than 1 term */
#define errAEAccessorNotFound -1723 /* Accessor proc matching wantClass and containerType
...or wildcards not found */
#define errAENoSuchLogical -1725 /* Something other than AND, OR, or NOT */
#define errAEBadTestKey -1726 /* Test is neither typeLogicalDescriptor
...nor typeCompDescriptor */
#define errAENotAnObjSpec -1727 /* Param to AEResolve not of type 'obj ' */
#define errAENoSuchObject -1728 /* e.g.,: specifier asked for the 3rd, but there are only 2.
...Basically, this indicates a run-time resolution error. */
#define errAENegativeCount -1729 /* CountProc returned negative value */
#define errAEEmptyListContainer -1730 /* Attempt to pass empty list as container to accessor */
/* Possible values for flags parameter to AEResolve. They're additive */
#define kAEIDoMinimum 0x0000
#define kAEIDoWhose 0x0001
#define kAEIDoMarking 0x0004
/* You only care about the constants that follow if you're doing your own whose
clause resolution */
#define typeWhoseDescriptor 'whos'
#define formWhose 'whos'
#define typeWhoseRange 'wrng'
#define keyAEWhoseRangeStart 'wstr'
#define keyAEWhoseRangeStop 'wstp'
#define keyAEIndex 'kidx'
#define keyAETest 'ktst'
struct ccntTokenRecord { /* used for rewriting tokens in place of 'ccnt' descriptors */
DescType tokenClass ; /* This record is only of interest to those who, when they... */
AEDesc token ; /* ...get ranges as key data in their accessor procs, choose */
} ; /* ...to resolve them manually rather than call AEResolve again. */
typedef struct ccntTokenRecord ccntTokenRecord, *ccntTokenRecPtr, **ccntTokenRecHandle ;
typedef AEDesc *DescPtr, **DescHandle ;
/* typedefs providing type checking for procedure pointers */
typedef pascal OSErr (*accessorProcPtr) ( DescType desiredClass,
const AEDesc *container, DescType containerClass, DescType form,
const AEDesc *selectionData, AEDesc *value, long LongInt ) ;
typedef pascal OSErr (*compareProcPtr)( DescType oper, const AEDesc *obj1,
const AEDesc *obj2, Boolean *result ) ;
typedef pascal OSErr (*countProcPtr)( DescType desiredType, DescType containerClass,
const AEDesc *container, long *result ) ;
typedef pascal OSErr (*disposeTokenProcPtr)( AEDesc *unneededToken ) ;
typedef pascal OSErr (*getMarkTokenProcPtr)( const AEDesc *dContainerToken, DescType containerClass,
AEDesc *result ) ;
typedef pascal OSErr (*getErrDescProcPtr)( DescPtr *appDescPtr ) ;
/* Note: app is supposed to dispose of dToken after marking */
typedef pascal OSErr (*markProcPtr)( const AEDesc *dToken, const AEDesc *markToken, long index ) ;
typedef pascal OSErr (*adjustMarksProcPtr)( long newStart, long newStop, const AEDesc *markToken ) ;
/*——————————————————————————————— PUBLIC PROCEDURES —————————————————————————————————*/
pascal OSErr AEObjectInit() ;
/* Not done by inline, but by direct linking into code. It sets up the pack
such that further calls can be via inline */
pascal OSErr AESetObjectCallbacks(
compareProcPtr myCompareProc,
countProcPtr myCountProc,
disposeTokenProcPtr myDisposeTokenProc,
getMarkTokenProcPtr myGetMarkTokenProc, /* called when mark (below) is true (all 3)*/
markProcPtr myMarkProc,
adjustMarksProcPtr myAdjustMarksProc,
getErrDescProcPtr myGetErrDescProcPtr )
= { 0x303C, 0x0E35, 0xA816 } ;
pascal OSErr AEResolve ( const AEDesc *objectSpecifier,
short callbackFlags, /* see above for possible values */
AEDesc *theToken )
= { 0x303C, 0x0536, 0xA816 } ;
pascal OSErr AEInstallObjectAccessor(
DescType desiredClass,
DescType containerType,
accessorProcPtr theAccessor,
long accessorRefcon,
Boolean isSysHandler )
= { 0x303C, 0x0937, 0xA816 } ;
pascal OSErr AERemoveObjectAccessor(
DescType desiredClass,
DescType containerType,
accessorProcPtr theAccessor,
Boolean isSysHandler )
= { 0x303C, 0x0738, 0xA816 } ;
pascal OSErr AEGetObjectAccessor(
DescType desiredClass,
DescType containerType,
accessorProcPtr *accessor,
long *accessorRefcon,
Boolean isSysHandler )
= { 0x303C, 0x0939, 0xA816 } ;
pascal OSErr AEDisposeToken( AEDesc *theToken )
= { 0x303C, 0x023A, 0xA816 } ;
pascal OSErr AECallObjectAccessor( DescType desiredClass,
const AEDesc *containerToken,
DescType containerClass,
DescType keyForm,
const AEDesc *keyData,
AEDesc *token )
= { 0x303C, 0x0C3B, 0xA816 } ;
/*
Here are the interfaces your callback procs must be written to:
pascal OSErr MyCompareProc( DescType comparisonOperator, const AEDesc *theObject,
const AEDesc *descOrObj, Boolean *result ) ;
pascal OSErr MyCountProc( DescType desiredType, DescType containerClass,
const AEDesc *container, long *result: ) ;
pascal OSErr MyGetMarkToken( const AEDesc *containerToken, DescType containerClass,
AEDesc *result ) ;
pascal OSErr MyMark( const AEDesc *theToken, const AEDesc *markToken, long markCount ) ;
pascal OSErr MyAdjustMarks( long newStart, long newStop, const AEDesc *markToken ) ;
pascal OSErr MyMyDisposeToken( AEDesc *unneededToken ) ;
pascal OSErr MyGetErrDesc( DescPtr *appDescPtr ) ;
pascal OSErr MyObjectAccessor( DescType desiredClass, const AEDesc *containerToken,
DescType containerClass, DescType keyForm, const AEDesc *keyData,
AEDesc *theToken, long *theRefcon ) ;
You'll probably want to have a number of these last ones.
A proc that finds a line within a document should be installed with 'line' and 'docu'
as the desiredClass and containerClass fields in the call to AEInstallObjectHandler().
*/
#endif

View File

@ -0,0 +1 @@
TEXTMPS

View File

@ -0,0 +1,18 @@
data 'vers' (2, purgeable) {
$"0330 8000 0000 0333 2E33 074D 5057 2033" /* .0.....3.3.MPW 3 */
$"2E33" /* .3 */
};
data 'MPSR' (1005) {
$"0009 4D6F 6E61 636F 0000 001E 0000 0014" /* ..Monaco........ */
$"0005 FABC 000A 014E 01D1 015D 01E0 000A" /* .......N...].... */
$"0000 0006 0004 0031 000A 015D 01E0 0031" /* .......1...]...1 */
$"000A 015D 01E0 A47B CA6B 0000 0000 0000" /* ...]...{.k...... */
$"0000 0000 0000 0100" /* ........ */
};
data 'MPSR' (1008) {
$"0031 000A 015D 01E0 0031 000A 015D 01E0" /* .1...]...1...].. */
$"0000 0000 0000 0000 0000 0000 0000" /* .............. */
};

View File

@ -0,0 +1,46 @@
/************************************************************************************
©Apple Computer, Inc. 1991
All Rights Reserved.
************************************************************************************/
#ifndef __AEOBJECTPACKING__
#define __AEOBJECTPACKING__
#ifndef __APPLEEVENTS__
#include <AppleEvents.h>
#endif
/* These are the object packing routines. */
pascal OSErr CreateOffsetDescriptor( long theOffset,
AEDesc *theDescriptor ) ;
pascal OSErr CreateCompDescriptor( DescType comparisonOperator,
AEDesc* operand1,
AEDesc* operand2,
Boolean disposeInputs,
AEDesc* theDescriptor ) ;
pascal OSErr CreateLogicalDescriptor( AEDescList *theLogicalTerms, /* a list of comb and logi terms */
DescType theLogicOperator, /* the operator, e.g. AND */
Boolean disposeInputs,
AEDesc *theDescriptor ) ;
pascal OSErr CreateObjSpecifier( DescType desiredClass,
AEDesc *theContainer,
DescType keyForm,
AEDesc *keyData,
Boolean disposeInputs,
AEDesc *objSpecifier ) ;
pascal OSErr CreateRangeDescriptor( AEDesc *rangeStart,
AEDesc *rangeStop,
Boolean disposeInputs,
AEDesc *theDescriptor ) ;
#endif

View File

@ -0,0 +1 @@
TEXTMPS

View File

@ -0,0 +1,18 @@
data 'vers' (2, purgeable) {
$"0330 8000 0000 0333 2E33 074D 5057 2033" /* .0.....3.3.MPW 3 */
$"2E33" /* .3 */
};
data 'MPSR' (1005) {
$"0009 4D6F 6E61 636F 0062 6A65 6374 2E68" /* ..Monaco.bject.h */
$"0022 0049 6E63 6C75 6465 733A 4145 5061" /* .".Includes:AEPa */
$"636B 0006 0004 0031 000A 015D 01E0 0031" /* ck.....1...]...1 */
$"000A 015D 01E0 A47B D924 0000 0000 0000" /* ...]...{.$...... */
$"0000 0000 0000 0100" /* ........ */
};
data 'MPSR' (1008) {
$"0031 000A 015D 01E0 0031 000A 015D 01E0" /* .1...]...1...].. */
$"0000 0000 0000 0000 0000 0000 0000" /* .............. */
};

View File

@ -0,0 +1,538 @@
/************************************************************
Created: 2:40 PM Thu, 18 Feb 1993
AERegistry.h
C Interface to the Apple Event Registry
Copyright Apple Computer, Inc. 1993
All rights reserved
************************************************************/
#ifndef __AEREGISTRY__
#define __AEREGISTRY__
#ifndef __TYPES__
#include <Types.h>
#endif
#ifndef __APPLEEVENTS__
#include <AppleEvents.h>
#endif
enum {
cAEList = 'list',
cApplication = 'capp',
cArc = 'carc',
cBoolean = 'bool',
cCell = 'ccel',
cChar = 'cha ',
cColorTable = 'clrt',
cColumn = 'ccol',
cDocument = 'docu',
cDrawingArea = 'cdrw',
cEnumeration = 'enum',
cFile = 'file',
cFixed = 'fixd',
cFixedPoint = 'fpnt',
cFixedRectangle = 'frct',
cGraphicLine = 'glin',
cGraphicObject = 'cgob',
cGraphicShape = 'cgsh',
cGraphicText = 'cgtx',
cGroupedGraphic = 'cpic'
};
enum {
cInsertionLoc = 'insl',
cInsertionPoint = 'cins',
cIntlText = 'itxt',
cIntlWritingCode = 'intl',
cItem = 'citm',
cLine = 'clin',
cLongDateTime = 'ldt ',
cLongFixed = 'lfxd',
cLongFixedPoint = 'lfpt',
cLongFixedRectangle = 'lfrc',
cLongInteger = 'long',
cLongPoint = 'lpnt',
cLongRectangle = 'lrct',
cMachineLoc = 'mLoc',
cMenu = 'cmnu',
cMenuItem = 'cmen',
cObject = 'cobj',
cObjectSpecifier = 'obj ',
cOpenableObject = 'coob',
cOval = 'covl'
};
enum {
cParagraph = 'cpar',
cPICT = 'PICT',
cPixel = 'cpxl',
cPixelMap = 'cpix',
cPolygon = 'cpgn',
cProperty = 'prop',
cQDPoint = 'QDpt',
cQDRectangle = 'qdrt',
cRectangle = 'crec',
cRGBColor = 'cRGB',
cRotation = 'trot',
cRoundedRectangle = 'crrc',
cRow = 'crow',
cSelection = 'csel',
cShortInteger = 'shor',
cTable = 'ctbl',
cText = 'ctxt',
cTextFlow = 'cflo',
cTextStyles = 'tsty',
cType = 'type'
};
enum {
cVersion = 'vers',
cWindow = 'cwin',
cWord = 'cwor',
enumArrows = 'arro',
enumJustification = 'just',
enumKeyForm = 'kfrm',
enumPosition = 'posi',
enumProtection = 'prtn',
enumQuality = 'qual',
enumSaveOptions = 'savo',
enumStyle = 'styl',
enumTransferMode = 'tran',
errAEBadKeyForm = -10002,
errAECantHandleClass = -10010,
errAECantSupplyType = -10009,
errAECantUndo = -10015,
errAEEventFailed = -10000,
errAEIndexTooLarge = -10007,
errAEInTransaction = -10011,
errAELocalOnly = -10016
};
enum {
errAENoSuchTransaction = -10012,
errAENotAnElement = -10008,
errAENotASingleObject = -10014,
errAENotModifiable = -10003,
errAENoUserSelection = -10013,
errAEPrivilegeError = -10004,
errAEReadDenied = -10005,
errAETypeError = -10001,
errAEWriteDenied = -10006,
formUniqueID = 'ID ',
kAEAbout = 'abou',
kAEAfter = 'afte',
kAEAliasSelection = 'sali',
kAEAllCaps = 'alcp',
kAEArrowAtEnd = 'aren',
kAEArrowAtStart = 'arst',
kAEArrowBothEnds = 'arbo',
kAEAsk = 'ask ',
kAEBefore = 'befo',
kAEBeginning = 'bgng'
};
enum {
kAEBeginsWith = 'bgwt',
kAEBeginTransaction = 'begi',
kAEBold = 'bold',
kAECaseSensEquals = 'cseq',
kAECentered = 'cent',
kAEChangeView = 'view',
kAEClone = 'clon',
kAEClose = 'clos',
kAECondensed = 'cond',
kAEContains = 'cont',
kAECopy = 'copy',
kAECoreSuite = 'core',
kAECountElements = 'cnte',
kAECreateElement = 'crel',
kAECreatePublisher = 'cpub',
kAECut = 'cut ',
kAEDelete = 'delo',
kAEDoObjectsExist = 'doex',
kAEDoScript = 'dosc',
kAEDrag = 'drag'
};
enum {
kAEDuplicateSelection = 'sdup',
kAEEditGraphic = 'edit',
kAEEmptyTrash = 'empt',
kAEEnd = 'end ',
kAEEndsWith = 'ends',
kAEEndTransaction = 'endt',
kAEEquals = '= ',
kAEExpanded = 'pexp',
kAEFast = 'fast',
kAEFinderEvents = 'FNDR',
kAEFormulaProtect = 'fpro',
kAEFullyJustified = 'full',
kAEGetClassInfo = 'qobj',
kAEGetData = 'getd',
kAEGetDataSize = 'dsiz',
kAEGetEventInfo = 'gtei',
kAEGetInfoSelection = 'sinf',
kAEGetPrivilegeSelection = 'sprv',
kAEGetSuiteInfo = 'gtsi',
kAEGreaterThan = '> '
};
enum {
kAEGreaterThanEquals = '>= ',
kAEGrow = 'grow',
kAEHidden = 'hidn',
kAEHiQuality = 'hiqu',
kAEImageGraphic = 'imgr',
kAEInfo = 11,
kAEIsUniform = 'isun',
kAEItalic = 'ital',
kAELeftJustified = 'left',
kAELessThan = '< ',
kAELessThanEquals = '<= ',
kAELowercase = 'lowc',
kAEMain = 0,
kAEMakeObjectsVisible = 'mvis',
kAEMiscStandards = 'misc',
kAEModifiable = 'modf',
kAEMove = 'move',
kAENo = 'no ',
kAENoArrow = 'arno',
kAENonmodifiable = 'nmod'
};
enum {
kAEOpen = 'odoc',
kAEOpenSelection = 'sope',
kAEOutline = 'outl',
kAEPageSetup = 'pgsu',
kAEPaste = 'past',
kAEPlain = 'plan',
kAEPrint = 'pdoc',
kAEPrintSelection = 'spri',
kAEPrintWindow = 'pwin',
kAEPutAwaySelection = 'sput',
kAEQDAddOver = 'addo',
kAEQDAddPin = 'addp',
kAEQDAdMax = 'admx',
kAEQDAdMin = 'admn',
kAEQDBic = 'bic ',
kAEQDBlend = 'blnd',
kAEQDCopy = 'cpy ',
kAEQDNotBic = 'nbic',
kAEQDNotCopy = 'ncpy',
kAEQDNotOr = 'ntor'
};
enum {
kAEQDNotXor = 'nxor',
kAEQDOr = 'or ',
kAEQDSubOver = 'subo',
kAEQDSubPin = 'subp',
kAEQDSupplementalSuite = 'qdsp',
kAEQDXor = 'xor ',
kAEQuickdrawSuite = 'qdrw',
kAERedo = 'redo',
kAERegular = 'regl',
kAEReplace = 'rplc',
kAERequiredSuite = 'reqd',
kAERestart = 'rest',
kAERevealSelection = 'srev',
kAERevert = 'rvrt',
kAERightJustified = 'rght',
kAESave = 'save',
kAESelect = 'slct',
kAESetData = 'setd',
kAESetPosition = 'posn',
kAEShadow = 'shad'
};
enum {
kAESharing = 13,
kAEShowClipboard = 'shcl',
kAEShutDown = 'shut',
kAESleep = 'slep',
kAESmallCaps = 'smcp',
kAESpecialClassProperties = 'c@#!',
kAEStrikethrough = 'strk',
kAESubscript = 'sbsc',
kAESuperscript = 'spsc',
kAETableSuite = 'tbls',
kAETextSuite = 'TEXT',
kAETransactionTerminated = 'ttrm',
kAEUnderline = 'undl',
kAEUndo = 'undo',
kAEWholeWordEquals = 'wweq',
kAEYes = 'yes ',
kAEZoom = 'zoom',
kByCommentView = 6,
kByDateView = 3,
kByIconView = 1
};
enum {
kByKindView = 5,
kByLabelView = 7,
kByNameView = 2,
kBySizeView = 4,
kBySmallIcon = 0,
kByVersionView = 8,
keyAEAngle = 'kang',
keyAEArcAngle = 'parc',
keyAEBaseAddr = 'badd',
keyAEBestType = 'pbst',
keyAEBgndColor = 'kbcl',
keyAEBgndPattern = 'kbpt',
keyAEBounds = 'pbnd',
keyAECellList = 'kclt',
keyAEClassID = 'clID',
keyAEColor = 'colr',
keyAEColorTable = 'cltb',
keyAECurveHeight = 'kchd',
keyAECurveWidth = 'kcwd',
keyAEDashStyle = 'pdst'
};
enum {
keyAEData = 'data',
keyAEDefaultType = 'deft',
keyAEDefinitionRect = 'pdrt',
keyAEDescType = 'dstp',
keyAEDestination = 'dest',
keyAEDoAntiAlias = 'anta',
keyAEDoDithered = 'gdit',
keyAEDoRotate = 'kdrt',
keyAEDoScale = 'ksca',
keyAEDoTranslate = 'ktra',
keyAEEditionFileLoc = 'eloc',
keyAEElements = 'elms',
keyAEEndPoint = 'pend',
keyAEEventClass = 'evcl',
keyAEEventID = 'evti',
keyAEFile = 'kfil',
keyAEFileType = 'fltp',
keyAEFillColor = 'flcl',
keyAEFillPattern = 'flpt',
keyAEFlipHorizontal = 'kfho'
};
enum {
keyAEFlipVertical = 'kfvt',
keyAEFont = 'font',
keyAEFormula = 'pfor',
keyAEGraphicObjects = 'gobs',
keyAEID = 'ID ',
keyAEImageQuality = 'gqua',
keyAEInsertHere = 'insh',
keyAEKeyForms = 'keyf',
keyAEKeyword = 'kywd',
keyAELevel = 'levl',
keyAELineArrow = 'arro',
keyAEName = 'pnam',
keyAENewElementLoc = 'pnel',
keyAEObject = 'kobj',
keyAEObjectClass = 'kocl',
keyAEOffStyles = 'ofst',
keyAEOnStyles = 'onst',
keyAEParameters = 'prms',
keyAEParamFlags = 'pmfg',
keyAEPenColor = 'ppcl'
};
enum {
keyAEPenPattern = 'pppa',
keyAEPenWidth = 'ppwd',
keyAEPixelDepth = 'pdpt',
keyAEPixMapMinus = 'kpmm',
keyAEPMTable = 'kpmt',
keyAEPointList = 'ptlt',
keyAEPointSize = 'ptsz',
keyAEPosition = 'kpos',
keyAEPropData = 'prdt',
keyAEProperties = 'qpro',
keyAEProperty = 'kprp',
keyAEPropFlags = 'prfg',
keyAEPropID = 'prop',
keyAEProtection = 'ppro',
keyAERenderAs = 'kren',
keyAERequestedType = 'rtyp',
keyAEResult = '----',
keyAEResultInfo = 'rsin',
keyAERotation = 'prot',
keyAERotPoint = 'krtp'
};
enum {
keyAERowList = 'krls',
keyAESaveOptions = 'savo',
keyAEScale = 'pscl',
keyAEScriptTag = 'psct',
keyAEShowWhere = 'show',
keyAEStartAngle = 'pang',
keyAEStartPoint = 'pstp',
keyAEStyles = 'ksty',
keyAESuiteID = 'suit',
keyAEText = 'ktxt',
keyAETextColor = 'ptxc',
keyAETextFont = 'ptxf',
keyAETextPointSize = 'ptps',
keyAETextStyles = 'txst',
keyAETheText = 'thtx',
keyAETransferMode = 'pptm',
keyAETranslation = 'ptrs',
keyAETryAsStructGraf = 'toog',
keyAEUniformStyles = 'ustl',
keyAEUpdateOn = 'pupd'
};
enum {
keyAEUserTerm = 'utrm',
keyAEWindow = 'wndw',
keyAEWritingCode = 'wrcd',
keyMiscellaneous = 'fmsc',
keySelection = 'fsel',
keyWindow = 'kwnd',
pArcAngle = 'parc',
pBackgroundColor = 'pbcl',
pBackgroundPattern = 'pbpt',
pBestType = 'pbst',
pBounds = 'pbnd',
pClass = 'pcls',
pClipboard = 'pcli',
pColor = 'colr',
pColorTable = 'cltb',
pContents = 'pcnt',
pCornerCurveHeight = 'pchd',
pCornerCurveWidth = 'pcwd',
pDashStyle = 'pdst',
pDefaultType = 'deft'
};
enum {
pDefinitionRect = 'pdrt',
pEnabled = 'enbl',
pEndPoint = 'pend',
pFillColor = 'flcl',
pFillPattern = 'flpt',
pFont = 'font',
pFormula = 'pfor',
pGraphicObjects = 'gobs',
pHasCloseBox = 'hclb',
pHasTitleBar = 'ptit',
pID = 'ID ',
pIndex = 'pidx',
pInsertionLoc = 'pins',
pIsFloating = 'isfl',
pIsFrontProcess = 'pisf',
pIsModal = 'pmod',
pIsModified = 'imod',
pIsResizable = 'prsz',
pIsStationeryPad = 'pspd',
pIsZoomable = 'iszm'
};
enum {
pIsZoomed = 'pzum',
pItemNumber = 'itmn',
pJustification = 'pjst',
pLineArrow = 'arro',
pMenuID = 'mnid',
pName = 'pnam',
pNewElementLoc = 'pnel',
pPenColor = 'ppcl',
pPenPattern = 'pppa',
pPenWidth = 'ppwd',
pPixelDepth = 'pdpt',
pPointList = 'ptlt',
pPointSize = 'ptsz',
pProtection = 'ppro',
pRotation = 'prot',
pScale = 'pscl',
pScript = 'scpt',
pScriptTag = 'psct',
pSelected = 'selc',
pSelection = 'sele'
};
enum {
pStartAngle = 'pang',
pStartPoint = 'pstp',
pTextColor = 'ptxc',
pTextFont = 'ptxf',
pTextItemDelimiters = 'txdl',
pTextPointSize = 'ptps',
pTextStyles = 'txst',
pTransferMode = 'pptm',
pTranslation = 'ptrs',
pUniformStyles = 'ustl',
pUpdateOn = 'pupd',
pUserSelection = 'pusl',
pVersion = 'vers',
pVisible = 'pvis',
typeAEText = 'tTXT',
typeArc = 'carc',
typeBest = 'best',
typeCell = 'ccel',
typeClassInfo = 'gcli',
typeColorTable = 'clrt'
};
enum {
typeColumn = 'ccol',
typeDashStyle = 'tdas',
typeData = 'tdta',
typeDrawingArea = 'cdrw',
typeElemInfo = 'elin',
typeEnumeration = 'enum',
typeEPS = 'EPS ',
typeEventInfo = 'evin',
typeFinderWindow = 'fwin',
typeFixed = 'fixd',
typeFixedPoint = 'fpnt',
typeFixedRectangle = 'frct',
typeGraphicLine = 'glin',
typeGraphicText = 'cgtx',
typeGroupedGraphic = 'cpic',
typeInsertionLoc = 'insl',
typeIntlText = 'itxt',
typeIntlWritingCode = 'intl',
typeLongDateTime = 'ldt ',
typeLongFixed = 'lfxd'
};
enum {
typeLongFixedPoint = 'lfpt',
typeLongFixedRectangle = 'lfrc',
typeLongPoint = 'lpnt',
typeLongRectangle = 'lrct',
typeMachineLoc = 'mLoc',
typeOval = 'covl',
typeParamInfo = 'pmin',
typePict = 'PICT',
typePixelMap = 'cpix',
typePixMapMinus = 'tpmm',
typePolygon = 'cpgn',
typePropInfo = 'pinf',
typeQDPoint = 'QDpt',
typeQDRectangle = 'qdrt',
typeRectangle = 'crec',
typeRGB16 = 'tr16',
typeRGB96 = 'tr96',
typeRGBColor = 'cRGB',
typeRotation = 'trot',
typeRoundedRectangle = 'crrc'
};
enum {
typeRow = 'crow',
typeScrapStyles = 'styl',
typeScript = 'scpt',
typeStyledText = 'STXT',
typeSuiteInfo = 'suin',
typeTable = 'ctbl',
typeTextStyles = 'tsty',
typeTIFF = 'TIFF',
typeVersion = 'vers',
zoomIn = 7,
zoomOut = 8
};
struct WritingCode {
ScriptCode theScriptCode;
LangCode theLangCode;
};
typedef struct WritingCode WritingCode;
struct IntlText {
ScriptCode theScriptCode;
LangCode theLangCode;
char theText[1];
/* variable length data */
};
typedef struct IntlText IntlText;
#endif

View File

@ -0,0 +1 @@
TEXTMPS

View File

@ -0,0 +1,24 @@
data 'vers' (1) {
$"0120 8000 0000 0331 2E32 1F31 2E32 20A9" /* . .....1.2.1.2 . */
$"2031 3939 3220 4170 706C 6520 436F 6D70" /* 1992 Apple Comp */
$"7574 6572 2C20 496E 632E" /* uter, Inc. */
};
data 'vers' (2, purgeable) {
$"0100 8000 0000 0331 2E30 1041 7070 6C65" /* .......1.0.Apple */
$"5363 7269 7074 AA20 312E 30" /* Script. 1.0 */
};
data 'MPSR' (1005) {
$"0009 4D6F 6E61 636F 001E 017C 7FFF 01AF" /* ..Monaco...|.... */
$"0000 017C 7FFF 7FFF 0000 002C 0059 080C" /* ...|.......,.Y.. */
$"0016 0006 0004 0031 000A 015D 01E0 0031" /* .......1...]...1 */
$"000A 015D 01E0 A7E9 F4F8 0000 0000 0000" /* ...]............ */
$"0000 0000 0000 0100" /* ........ */
};
data 'MPSR' (1008) {
$"0031 000A 015D 01E0 0031 000A 015D 01E0" /* .1...]...1...].. */
$"0000 0000 0000 0000 0000 0000 0000" /* .............. */
};

View File

@ -0,0 +1,230 @@
/************************************************************
Created: Monday, December 2, 1991 at 5:00 PM
AIFF.h
C Interface to the Macintosh Libraries
Copyright Apple Computer, Inc. 1990-1991
All rights reserved
************************************************************/
#ifndef __AIFF__
#define __AIFF__
#ifndef __TYPES__
#include <Types.h>
#endif
enum {
#define AIFFID 'AIFF'
#define AIFCID 'AIFC'
#define FormatVersionID 'FVER'
#define CommonID 'COMM'
#define FORMID 'FORM'
#define SoundDataID 'SSND'
#define MarkerID 'MARK'
#define InstrumentID 'INST'
#define MIDIDataID 'MIDI'
#define AudioRecordingID 'AESD'
#define ApplicationSpecificID 'APPL'
#define CommentID 'COMT'
#define NameID 'NAME'
#define AuthorID 'AUTH'
#define CopyrightID '(c) '
#define AnnotationID 'ANNO'
NoLooping = 0,
ForwardLooping = 1,
ForwardBackwardLooping = 2,
/* AIFF-C Versions */
AIFCVersion1 = 0xA2805140
/* Compression Names */
#define NoneName "\pnot compressed"
#define ACE2to1Name "\pACE 2-to-1"
#define ACE8to3Name "\pACE 8-to-3"
#define MACE3to1Name "\pMACE 3-to-1"
#define MACE6to1Name "\pMACE 6-to-1"
/* Compression Types */
#define NoneType 'NONE'
#define ACE2Type 'ACE2'
#define ACE8Type 'ACE8'
#define MACE3Type 'MAC3'
#define MACE6Type 'MAC6'
};
typedef unsigned long ID;
typedef short MarkerIdType;
struct ChunkHeader {
ID ckID;
long ckSize;
};
typedef struct ChunkHeader ChunkHeader;
struct ContainerChunk {
ID ckID;
long ckSize;
ID formType;
};
typedef struct ContainerChunk ContainerChunk;
struct FormatVersionChunk {
ID ckID;
long ckSize;
unsigned long timestamp;
};
typedef struct FormatVersionChunk FormatVersionChunk;
typedef FormatVersionChunk *FormatVersionChunkPtr;
struct CommonChunk {
ID ckID;
long ckSize;
short numChannels;
unsigned long numSampleFrames;
short sampleSize;
extended80 sampleRate;
};
typedef struct CommonChunk CommonChunk;
typedef CommonChunk *CommonChunkPtr;
struct ExtCommonChunk {
ID ckID;
long ckSize;
short numChannels;
unsigned long numSampleFrames;
short sampleSize;
extended80 sampleRate;
ID compressionType;
char compressionName[1];
};
typedef struct ExtCommonChunk ExtCommonChunk;
typedef ExtCommonChunk *ExtCommonChunkPtr;
struct SoundDataChunk {
ID ckID;
long ckSize;
unsigned long offset;
unsigned long blockSize;
};
typedef struct SoundDataChunk SoundDataChunk;
typedef SoundDataChunk *SoundDataChunkPtr;
struct Marker {
MarkerIdType id;
unsigned long position;
Str255 markerName;
};
typedef struct Marker Marker;
struct MarkerChunk {
ID ckID;
long ckSize;
unsigned short numMarkers;
Marker Markers[1];
};
typedef struct MarkerChunk MarkerChunk;
typedef MarkerChunk *MarkerChunkPtr;
struct AIFFLoop {
short playMode;
MarkerIdType beginLoop;
MarkerIdType endLoop;
};
typedef struct AIFFLoop AIFFLoop;
struct InstrumentChunk {
ID ckID;
long ckSize;
char baseFrequency;
char detune;
char lowFrequency;
char highFrequency;
char lowVelocity;
char highVelocity;
short gain;
AIFFLoop sustainLoop;
AIFFLoop releaseLoop;
};
typedef struct InstrumentChunk InstrumentChunk;
typedef InstrumentChunk *InstrumentChunkPtr;
struct MIDIDataChunk {
ID ckID;
long ckSize;
unsigned char MIDIdata[1];
};
typedef struct MIDIDataChunk MIDIDataChunk;
typedef MIDIDataChunk *MIDIDataChunkPtr;
struct AudioRecordingChunk {
ID ckID;
long ckSize;
unsigned char AESChannelStatus[24];
};
typedef struct AudioRecordingChunk AudioRecordingChunk;
typedef AudioRecordingChunk *AudioRecordingChunkPtr;
struct ApplicationSpecificChunk {
ID ckID;
long ckSize;
OSType applicationSignature;
char data[1];
};
typedef struct ApplicationSpecificChunk ApplicationSpecificChunk;
typedef ApplicationSpecificChunk *ApplicationSpecificChunkPtr;
struct Comment {
unsigned long timeStamp;
MarkerIdType marker;
unsigned short count;
char text[1];
};
typedef struct Comment Comment;
struct CommentsChunk {
ID ckID;
long ckSize;
unsigned short numComments;
Comment comments[1];
};
typedef struct CommentsChunk CommentsChunk;
typedef CommentsChunk *CommentsChunkPtr;
struct TextChunk {
ID ckID;
long ckSize;
char text[1];
};
typedef struct TextChunk TextChunk;
typedef TextChunk *TextChunkPtr;
#endif

View File

@ -0,0 +1 @@
TEXTMPS

View File

@ -0,0 +1,25 @@
data 'vers' (1) {
$"0321 8000 0000 0533 2E32 2E31 2833 2E32" /* .!.....3.2.1(3.2 */
$"2E31 2C20 A920 4170 706C 6520 436F 6D70" /* .1, . Apple Comp */
$"7574 6572 2C20 496E 632E 2031 3938 352D" /* uter, Inc. 1985- */
$"3139 3932 2E" /* 1992. */
};
data 'vers' (2, purgeable) {
$"0330 8000 0000 0333 2E33 074D 5057 2033" /* .0.....3.3.MPW 3 */
$"2E33" /* .3 */
};
data 'MPSR' (1005) {
$"0009 4D6F 6E61 636F 0000 001E 0000 0014" /* ..Monaco........ */
$"0005 FB98 000A 014E 01D1 015D 01E0 000A" /* .......N...].... */
$"0000 0006 0004 0031 000A 015D 01E0 0031" /* .......1...]...1 */
$"000A 015D 01E0 A664 D9C0 0000 0000 0000" /* ...]...d........ */
$"0000 0000 0000 0100" /* ........ */
};
data 'MPSR' (1008) {
$"0031 000A 015D 01E0 0031 000A 015D 01E0" /* .1...]...1...].. */
$"0000 0000 0000 0000 0000 0000 0000" /* .............. */
};

View File

@ -0,0 +1,56 @@
/*
File: ActionAtomIntf.h
Contains: C declarations for things the Installer wants to tell
action atoms about.
Written by: Bobby Carp
Copyright: © 1990 by Apple Computer, Inc., all rights reserved.
Change History (most recent first):
<4> 11/5/91 RRK Added Function prototype comment
<3> 11/7/90 BAC Need to include types.h
<2> 11/7/90 BAC Adding the AAPBRec that defines the parameters an action atom
receives.
<1> 10/8/90 BAC first checked in
To Do:
*/
#include <Types.h>
enum { before, after, cleanUpCancel };
typedef unsigned char InstallationStage ;
/* The action atom param block record contains all of the parameters that action atoms */
/* receive. The first (and only) parameter to action atoms is a ptr to this block (AAPBRecPtr) */
struct AAPBRec {
short targetVRefNum;
long blessedDirID;
long aaRefCon;
Boolean doingInstall;
InstallationStage whichStage;
Boolean didLiveUpdate;
long installerTempDirID;
};
typedef struct AAPBRec AAPBRec;
typedef AAPBRec *AAPBRecPtr;
/*
The function prototype for the format 0 Action Atom code is as follows
Boolean MyActionAtom(AAPBRecPtr myAAPBPtr)
The function prototype for the format 1 Action Atom code is as follows
long MyActionAtom(AAPBRecPtr myAAPBPtr)
*/

View File

@ -0,0 +1 @@
TEXTMPS

View File

@ -0,0 +1,18 @@
data 'vers' (2, purgeable) {
$"0330 8000 0000 0333 2E33 074D 5057 2033" /* .0.....3.3.MPW 3 */
$"2E33" /* .3 */
};
data 'MPSR' (1005) {
$"0009 4D6F 6E61 636F 0074 6F6D 496E 7466" /* ..Monaco.tomIntf */
$"2E68 0022 0000 0000 0000 4D50 8200 0038" /* .h."......MP...8 */
$"0006 0006 0004 0031 000A 015D 01E0 0031" /* .......1...]...1 */
$"000A 015D 01E0 A6E3 58B9 0000 0000 0000" /* ...]....X....... */
$"0000 0000 0000 0100" /* ........ */
};
data 'MPSR' (1008) {
$"0031 000A 015D 01E0 0031 000A 015D 01E0" /* .1...]...1...].. */
$"0000 0000 0000 0000 0000 0000 0000" /* .............. */
};

View File

@ -0,0 +1,138 @@
/************************************************************
Created: Monday, January 28, 1991 at 12:55 PM
Aliases.h
C Interface to the Macintosh Libraries
Copyright Apple Computer, Inc. 1989-1990
All rights reserved
************************************************************/
#ifndef __ALIASES__
#define __ALIASES__
#ifndef __TYPES__
#include <Types.h>
#endif
#ifndef __APPLETALK__
#include <AppleTalk.h>
#endif
#ifndef __FILES__
#include <Files.h>
#endif
enum {
#define rAliasType 'alis' /* Aliases are stored as resources of this type */
/* define alias resolution action rules mask */
kARMMountVol = 0x00000001, /* mount the volume automatically */
kARMNoUI = 0x00000002, /* no user interface allowed during resolution */
kARMMultVols = 0x00000008, /* search on multiple volumes */
kARMSearch = 0x00000100, /* search quickly */
kARMSearchMore = 0x00000200, /* search further */
kARMSearchRelFirst = 0x00000400, /* search target on a relative path first */
/* define alias record information types */
asiZoneName = -3, /* get zone name */
asiServerName = -2, /* get server name */
asiVolumeName = -1, /* get volume name */
asiAliasName = 0, /* get aliased file/folder/volume name */
asiParentName = 1 /* get parent folder name */
};
/* define the alias record that will be the blackbox for the caller */
struct AliasRecord {
OSType userType; /* appl stored type like creator type */
unsigned short aliasSize; /* alias record size in bytes, for appl usage */
};
typedef struct AliasRecord AliasRecord;
typedef AliasRecord *AliasPtr, **AliasHandle;
typedef short AliasInfoType; /* alias record information type */
typedef pascal Boolean (*AliasFilterProcPtr) (CInfoPBPtr cpbPtr, /*I*/
Boolean *quitFlag, /*O*/
Ptr yourDataPtr); /*I*/
#ifdef __cplusplus
extern "C" {
#endif
/* create a new alias between fromFile-target and return alias record handle */
pascal OSErr NewAlias(const FSSpec *fromFile,
const FSSpec *target,
AliasHandle *alias)
= {0x7002,0xA823};
/* create a minimal new alias for a target and return alias record handle */
pascal OSErr NewAliasMinimal(const FSSpec *target,
AliasHandle *alias)
= {0x7008,0xA823};
/* create a minimal new alias from a target fullpath (optional zone and server name) and return alias record handle */
pascal OSErr NewAliasMinimalFromFullPath(short fullPathLength,
const unsigned char *fullPath,
ConstStr32Param zoneName,
ConstStr31Param serverName,
AliasHandle *alias)
= {0x7009,0xA823};
#define NewAliasMinimalFromFullpath NewAliasMinimalFromFullPath
/* given an alias handle and fromFile, resolve the alias, update the alias record and return aliased filename and wasChanged flag. */
pascal OSErr ResolveAlias(const FSSpec *fromFile,
AliasHandle alias,
FSSpec *target,
Boolean *wasChanged)
= {0x7003,0xA823};
/* given an alias handle and an index specifying requested alias information type, return the information from alias record as a string. */
pascal OSErr GetAliasInfo(const AliasHandle alias,
AliasInfoType index,
Str63 theString)
= {0x7007,0xA823};
/*
given a file spec, return target file spec if input file spec is an alias.
It resolves the entire alias chain or one step of the chain. It returns
info about whether the target is a folder or file; and whether the input
file spec was an alias or not.
*/
pascal OSErr ResolveAliasFile(FSSpec *theSpec,
Boolean resolveAliasChains,
Boolean *targetIsFolder,
Boolean *wasAliased)
= {0x700C,0xA823};
/*
Low Level Routines
given an alias handle and fromFile, match the alias and return aliased filename(s) and needsUpdate flag
*/
pascal OSErr MatchAlias(const FSSpec *fromFile,
unsigned long rulesMask,
const AliasHandle alias,
short *aliasCount,
FSSpecArrayPtr aliasList,
Boolean *needsUpdate,
AliasFilterProcPtr aliasFilter,
void *yourDataPtr)
= {0x7005,0xA823};
/* given a fromFile-target pair and an alias handle, update the lias record pointed to by alias handle to represent target as the new alias. */
pascal OSErr UpdateAlias(const FSSpec *fromFile,
const FSSpec *target,
AliasHandle alias,
Boolean *wasChanged)
= {0x7006,0xA823};
#ifdef __cplusplus
}
#endif
#endif

View File

@ -0,0 +1 @@
TEXTMPS

View File

@ -0,0 +1,25 @@
data 'vers' (1, purgeable) {
$"0320 8000 0000 0533 2E32 2E30 2433 2E32" /* . .....3.2.0$3.2 */
$"2E30 20A9 2041 7070 6C65 2043 6F6D 7075" /* .0 . Apple Compu */
$"7465 722C 2049 6E63 2E20 3139 3835 2D39" /* ter, Inc. 1985-9 */
$"31" /* 1 */
};
data 'vers' (2, purgeable) {
$"0330 8000 0000 0333 2E33 074D 5057 2033" /* .0.....3.3.MPW 3 */
$"2E33" /* .3 */
};
data 'MPSR' (1005) {
$"0009 4D6F 6E61 636F 000A 01E2 7FFF 01D3" /* ..Monaco........ */
$"02A3 02A4 7FFF 01D4 02A4 02C4 7FFF 01D5" /* ................ */
$"02C4 0006 0004 0031 000A 015D 01E0 0031" /* .......1...]...1 */
$"000A 015D 01E0 A431 E940 0000 0000 0000" /* ...]...1.@...... */
$"0000 0000 0000 0100" /* ........ */
};
data 'MPSR' (1008) {
$"0031 000A 015D 01E0 0031 000A 015D 01E0" /* .1...]...1...].. */
$"0000 0000 0000 0000 0000 0000 0000" /* .............. */
};

View File

@ -0,0 +1,694 @@
/*****************************************************************
Created: Monday, September 16, 1991 at 2:22 PM
AppleEvents.h
C Interface to the Macintosh Libraries
Copyright Apple Computer, Inc. 1989-1992
All rights reserved
Modified for AppleEvents manager version 1.0.1 Nov 13th, 1992
*****************************************************************/
#ifndef __APPLEEVENTS__
#define __APPLEEVENTS__
#ifndef __TYPES__
#include <Types.h>
#endif
#ifndef __MEMORY__
#include <Memory.h>
#endif
#ifndef __OSUTILS__
#include <OSUtils.h>
#endif
#ifndef __EVENTS__
#include <Events.h>
#endif
#ifndef __EPPC__
#include <EPPC.h>
#endif
#ifndef __NOTIFICATION__
#include <Notification.h>
#endif
/*--------------------------------------------------------------
Apple event descriptor types
--------------------------------------------------------------*/
enum { /* compiler limits us to 20 items within an enum */
typeBoolean = 'bool', /* enum's are used to avoid conflicts with other header files */
typeChar = 'TEXT',
typeSMInt = 'shor',
typeInteger = 'long',
typeSMFloat = 'sing',
typeFloat = 'doub',
typeLongInteger = 'long',
typeShortInteger = 'shor',
typeLongFloat = 'doub',
typeShortFloat = 'sing',
typeExtended = 'exte',
typeComp = 'comp',
typeMagnitude = 'magn',
typeAEList = 'list',
typeAERecord = 'reco',
typeAppleEvent = 'aevt',
typeTrue = 'true',
typeFalse = 'fals',
typeAlias = 'alis',
typeEnumerated = 'enum'
};
enum {
typeType = 'type',
typeAppParameters = 'appa',
typeProperty = 'prop',
typeFSS = 'fss ',
typeKeyword = 'keyw',
typeSectionH = 'sect',
typeWildCard = '****',
typeApplSignature = 'sign',
typeSessionID = 'ssid',
typeTargetID = 'targ',
typeProcessSerialNumber = 'psn ',
typeNull = 'null' /* null or nonexistent data */
};
/*--------------------------------------------------------------
Keywords for Apple event parameters
--------------------------------------------------------------*/
enum {
keyDirectObject = '----',
keyErrorNumber = 'errn',
keyErrorString = 'errs',
keyProcessSerialNumber = 'psn '
};
/*--------------------------------------------------------------
Keywords for Apple event attributes
--------------------------------------------------------------*/
enum {
keyTransactionIDAttr = 'tran',
keyReturnIDAttr = 'rtid',
keyEventClassAttr = 'evcl',
keyEventIDAttr = 'evid',
keyAddressAttr = 'addr',
keyOptionalKeywordAttr = 'optk',
keyTimeoutAttr = 'timo',
keyInteractLevelAttr = 'inte', /* this attribute is read only - will be set in AESend */
keyEventSourceAttr = 'esrc', /* this attribute is read only */
keyMissedKeywordAttr = 'miss', /* this attribute is read only */
keyOriginalAddressAttr = 'from' /* new in 1.0.1 */
};
/*--------------------------------------------------------------
Keywords for special handlers
--------------------------------------------------------------*/
enum {
keyPreDispatch = 'phac', /* preHandler accessor call */
keySelectProc = 'selh', /* more selector call */
/*--------------------------------------------------------------
Keyword for recording
--------------------------------------------------------------*/
keyAERecorderCount = 'recr', /* available only in vers 1.0.1 and greater */
/*--------------------------------------------------------------
Keyword for version information
--------------------------------------------------------------*/
keyAEVersion = 'vers', /* available only in vers 1.0.1 and greater */
/*--------------------------------------------------------------
Event Class
--------------------------------------------------------------*/
kCoreEventClass = 'aevt'
}; /* end of enum */
/*--------------------------------------------------------------
Event ID's
--------------------------------------------------------------*/
enum {
kAEOpenApplication = 'oapp',
kAEOpenDocuments = 'odoc',
kAEPrintDocuments = 'pdoc',
kAEQuitApplication = 'quit',
kAEAnswer = 'ansr',
kAEApplicationDied = 'obit'
};
/*--------------------------------------------------------------
Constants for use in AESend mode
--------------------------------------------------------------*/
enum {
kAENoReply = 0x00000001, /* sender doesn't want a reply to event */
kAEQueueReply = 0x00000002, /* sender wants a reply but won't wait */
kAEWaitReply = 0x00000003, /* sender wants a reply and will wait */
kAENeverInteract = 0x00000010, /* server should not interact with user */
kAECanInteract = 0x00000020, /* server may try to interact with user */
kAEAlwaysInteract = 0x00000030, /* server should always interact with user where appropriate */
kAECanSwitchLayer = 0x00000040, /* interaction may switch layer */
kAEDontReconnect = 0x00000080, /* don't reconnect if there is a sessClosedErr from PPCToolbox */
kAEWantReceipt = nReturnReceipt, /* sender wants a receipt of message */
kAEDontRecord = 0x00001000, /* don't record this event - available only in vers 1.0.1 and greater */
kAEDontExecute = 0x00002000, /* don't send the event for recording - available only in vers 1.0.1 and greater */
/*--------------------------------------------------------------
Constants for the send priority in AESend
--------------------------------------------------------------*/
kAENormalPriority = 0x00000000, /* post message at the end of the event queue */
kAEHighPriority = nAttnMsg /* post message at the front of the event queue */
}; /* end of enum */
/*--------------------------------------------------------------
Constants for recording
--------------------------------------------------------------*/
enum {
kAEStartRecording = 'reca', /* available only in vers 1.0.1 and greater */
kAEStopRecording = 'recc', /* available only in vers 1.0.1 and greater */
kAENotifyStartRecording = 'rec1', /* available only in vers 1.0.1 and greater */
kAENotifyStopRecording = 'rec0', /* available only in vers 1.0.1 and greater */
kAENotifyRecording = 'recr' /* available only in vers 1.0.1 and greater */
};
/*--------------------------------------------------------------
Constant for the returnID param of AECreateAppleEvent
--------------------------------------------------------------*/
enum {
kAutoGenerateReturnID = -1, /* AECreateAppleEvent will generate a session-unique ID */
/*--------------------------------------------------------------
Constant for transaction ID's
--------------------------------------------------------------*/
kAnyTransactionID = 0, /* no transaction is in use */
/*--------------------------------------------------------------
Constants for timeout durations
--------------------------------------------------------------*/
kAEDefaultTimeout = -1, /* timeout value determined by AEM */
kNoTimeOut = -2 /* wait until reply comes back, however long it takes */
}; /* end of enum */
/*--------------------------------------------------------------
Constants for AEResumeTheCurrentEvent
--------------------------------------------------------------*/
enum {
kAENoDispatch= 0, /* dispatch parameter to AEResumeTheCurrentEvent takes a pointer to a dispatch */
kAEUseStandardDispatch = -1 /* table, or one of these two constants */
}; /* end of enum */
/*--------------------------------------------------------------
Apple event manager data types
--------------------------------------------------------------*/
typedef unsigned long AEEventClass;
typedef unsigned long AEEventID;
typedef unsigned long AEKeyword;
typedef ResType DescType;
struct AEDesc {
DescType descriptorType;
Handle dataHandle;
};
typedef struct AEDesc AEDesc;
struct AEKeyDesc {
AEKeyword descKey;
AEDesc descContent;
};
typedef struct AEKeyDesc AEKeyDesc;
typedef AEDesc AEAddressDesc; /* an AEDesc which contains address data */
typedef AEDesc AEDescList; /* a list of AEDesc's is a special kind of AEDesc */
typedef AEDescList AERecord; /* AERecord is a list of keyworded AEDesc's */
typedef AERecord AppleEvent; /* an AERecord that contains an AppleEvent */
typedef long AESendMode; /* parameter to AESend */
typedef short AESendPriority; /* priority param of AESend */
enum { kAEInteractWithSelf, kAEInteractWithLocal, kAEInteractWithAll };
typedef unsigned char AEInteractAllowed;
enum { kAEUnknownSource, kAEDirectCall, kAESameProcess,
kAELocalProcess, kAERemoteProcess };
typedef unsigned char AEEventSource;
enum { kAEDataArray, kAEPackedArray, kAEHandleArray, kAEDescArray,
kAEKeyDescArray };
typedef unsigned char AEArrayType;
union AEArrayData {
short AEDataArray[1];
char AEPackedArray[1];
Handle AEHandleArray[1];
AEDesc AEDescArray[1];
AEKeyDesc AEKeyDescArray[1];
};
typedef union AEArrayData AEArrayData;
typedef AEArrayData *AEArrayDataPointer;
typedef ProcPtr EventHandlerProcPtr;
typedef ProcPtr IdleProcPtr;
typedef ProcPtr EventFilterProcPtr;
/*--------------------------------------------------------------
Apple event manager error messages
--------------------------------------------------------------*/
enum {
errAECoercionFail = -1700, /* bad parameter data or unable to coerce the data supplied */
errAEDescNotFound = -1701,
errAECorruptData = -1702,
errAEWrongDataType = -1703,
errAENotAEDesc = -1704,
errAEBadListItem = -1705, /* the specified list item does not exist */
errAENewerVersion = -1706, /* need newer version of the AppleEvent manager */
errAENotAppleEvent = -1707, /* the event is not in AppleEvent format */
errAEEventNotHandled = -1708, /* the AppleEvent was not handled by any handler */
errAEReplyNotValid = -1709, /* AEResetTimer was passed an invalid reply parameter */
errAEUnknownSendMode = -1710, /* mode wasn't NoReply, WaitReply, or QueueReply or Interaction level is unknown */
errAEWaitCanceled = -1711, /* in AESend, the user cancelled out of wait loop for reply or receipt */
errAETimeout = -1712, /* the AppleEvent timed out */
errAENoUserInteraction = -1713, /* no user interaction is allowed */
errAENotASpecialFunction = -1714, /* there is no special function for/with this keyword */
errAEParamMissed = -1715, /* a required parameter was not accessed */
errAEUnknownAddressType = -1716, /* the target address type is not known */
errAEHandlerNotFound = -1717, /* no handler in the dispatch tables fits the parameters to AEGetEventHandler or AEGetCoercionHandler */
errAEReplyNotArrived = -1718 /* the contents of the reply you are accessing have not arrived yet */
};
enum { /* error codes should be continued within this enum */
errAEIllegalIndex = -1719, /* index is out of range in a put operation */
errAEUnknownObjectType = -1731, /* available only in version 1.0.1 or greater */
errAERecordingIsAlreadyOn = -1732 /* available only in version 1.0.1 or greater */
};
#ifdef __cplusplus
extern "C" {
#endif
/**************************************************************************
The following calls apply to any AEDesc. Every 'result' descriptor is
created for you, so you will be responsible for memory management
(including disposing) of the descriptors so created. Note: purgeable
descriptor data is not supported - the AEM does not call LoadResource.
**************************************************************************/
pascal OSErr
AECreateDesc( DescType typeCode, const void* dataPtr, Size dataSize, AEDesc *result )
= {0x303C,0x0825,0xA816};
pascal OSErr
AECoercePtr( DescType typeCode, const void* dataPtr, Size dataSize, DescType toType,
AEDesc *result )
= {0x303C,0x0A02,0xA816};
pascal OSErr
AECoerceDesc( const AEDesc *theAEDesc, DescType toType, AEDesc *result )
= {0x303C,0x0603,0xA816};
pascal OSErr
AEDisposeDesc( AEDesc *theAEDesc )
= {0x303C,0x0204,0xA816};
pascal OSErr
AEDuplicateDesc( const AEDesc *theAEDesc, AEDesc *result )
= {0x303C,0x0405,0xA816};
/**************************************************************************
The following calls apply to AEDescList. Since AEDescList is a subtype of
AEDesc, the calls in the previous section can also be used for AEDescList.
All list and array indices are 1-based. If the data was greater than
maximumSize in the routines below, then actualSize will be greater than
maximumSize, but only maximumSize bytes will actually be retrieved.
**************************************************************************/
pascal OSErr
AECreateList( const void* factoringPtr, Size factoredSize, Boolean isRecord,
AEDescList *resultList )
= {0x303C,0x0706,0xA816};
pascal OSErr
AECountItems( const AEDescList *theAEDescList, long *theCount )
= {0x303C,0x0407,0xA816};
pascal OSErr
AEPutPtr( const AEDescList *theAEDescList, long index, DescType typeCode,
const void* dataPtr, Size dataSize )
= {0x303C,0x0A08,0xA816};
pascal OSErr
AEPutDesc( const AEDescList *theAEDescList, long index,
const AEDesc *theAEDesc )
= {0x303C,0x0609,0xA816};
pascal OSErr
AEGetNthPtr( const AEDescList *theAEDescList, long index, DescType desiredType,
AEKeyword *theAEKeyword, DescType *typeCode, void* dataPtr,
Size maximumSize, Size *actualSize )
= {0x303C,0x100A,0xA816};
pascal OSErr
AEGetNthDesc( const AEDescList *theAEDescList, long index, DescType desiredType,
AEKeyword *theAEKeyword, AEDesc *result )
= {0x303C,0x0A0B,0xA816};
pascal OSErr
AESizeOfNthItem( const AEDescList *theAEDescList, long index,
DescType *typeCode, Size *dataSize )
= {0x303C,0x082A,0xA816};
pascal OSErr
AEGetArray( const AEDescList *theAEDescList, AEArrayType arrayType,
AEArrayDataPointer arrayPtr, Size maximumSize, DescType *itemType,
Size *itemSize, long *itemCount )
= {0x303C,0x0D0C,0xA816};
pascal OSErr
AEPutArray( const AEDescList *theAEDescList, AEArrayType arrayType,
const AEArrayData *arrayPtr, DescType itemType,
Size itemSize, long itemCount )
= {0x303C,0x0B0D,0xA816};
pascal OSErr
AEDeleteItem( const AEDescList *theAEDescList, long index )
= {0x303C,0x040E,0xA816};
/**************************************************************************
The following calls apply to AERecord. Since AERecord is a subtype of
AEDescList, the calls in the previous sections can also be used for
AERecord an AERecord can be created by using AECreateList with isRecord
set to true.
**************************************************************************/
pascal OSErr
AEPutKeyPtr( const AERecord *theAERecord, AEKeyword theAEKeyword,
DescType typeCode, const void* dataPtr, Size dataSize )
= {0x303C,0x0A0F,0xA816};
pascal OSErr
AEPutKeyDesc( const AERecord *theAERecord, AEKeyword theAEKeyword,
const AEDesc *theAEDesc )
= {0x303C,0x0610,0xA816};
pascal OSErr
AEGetKeyPtr( const AERecord *theAERecord, AEKeyword theAEKeyword,
DescType desiredType, DescType *typeCode, void* dataPtr,
Size maximumSize, Size *actualSize )
= {0x303C,0x0E11,0xA816};
pascal OSErr
AEGetKeyDesc( const AERecord *theAERecord, AEKeyword theAEKeyword,
DescType desiredType, AEDesc *result )
= {0x303C,0x0812,0xA816};
pascal OSErr
AESizeOfKeyDesc( const AERecord *theAERecord, AEKeyword theAEKeyword,
DescType *typeCode, Size *dataSize )
= {0x303C,0x0829,0xA816};
pascal OSErr
AEDeleteKeyDesc( const AERecord *theAERecord, AEKeyword theAEKeyword )
= {0x303C,0x0413,0xA816};
/**************************************************************************
The following calls are used to pack and unpack parameters from records
of type AppleEvent. Since AppleEvent is a subtype of AERecord, the calls
in the previous sections can also be used for variables of type
AppleEvent. The next six calls are in fact identical to the six calls
for AERecord.
**************************************************************************/
pascal OSErr
AEPutParamPtr( const AppleEvent *theAppleEvent, AEKeyword theAEKeyword,
DescType typeCode, const void* dataPtr, Size dataSize )
= {0x303C,0x0A0F,0xA816};
pascal OSErr
AEPutParamDesc( const AppleEvent *theAppleEvent, AEKeyword theAEKeyword,
const AEDesc *theAEDesc )
= {0x303C,0x0610,0xA816};
pascal OSErr
AEGetParamPtr( const AppleEvent *theAppleEvent, AEKeyword theAEKeyword,
DescType desiredType, DescType *typeCode, void* dataPtr,
Size maximumSize, Size *actualSize )
= {0x303C,0x0E11,0xA816};
pascal OSErr
AEGetParamDesc( const AppleEvent *theAppleEvent, AEKeyword theAEKeyword,
DescType desiredType, AEDesc *result )
= {0x303C,0x0812,0xA816};
pascal OSErr
AESizeOfParam( const AppleEvent *theAppleEvent, AEKeyword theAEKeyword,
DescType *typeCode, Size *dataSize )
= {0x303C,0x0829,0xA816};
pascal OSErr
AEDeleteParam( const AppleEvent *theAppleEvent, AEKeyword theAEKeyword )
= {0x303C,0x0413,0xA816};
/**************************************************************************
The following calls also apply to type AppleEvent. Message attributes are
far more restricted, and can only be accessed through the following 5
calls. The various list and record routines cannot be used to access the
attributes of an event.
**************************************************************************/
pascal OSErr
AEGetAttributePtr( const AppleEvent *theAppleEvent, AEKeyword theAEKeyword,
DescType desiredType, DescType *typeCode, void* dataPtr,
Size maximumSize, Size *actualSize )
= {0x303C,0x0E15,0xA816};
pascal OSErr
AEGetAttributeDesc( const AppleEvent *theAppleEvent, AEKeyword theAEKeyword,
DescType desiredType, AEDesc *result )
= {0x303C,0x0826,0xA816};
pascal OSErr
AESizeOfAttribute( const AppleEvent *theAppleEvent, AEKeyword theAEKeyword,
DescType *typeCode, Size *dataSize )
= {0x303C,0x0828,0xA816};
pascal OSErr
AEPutAttributePtr( const AppleEvent *theAppleEvent, AEKeyword theAEKeyword,
DescType typeCode, const void* dataPtr, Size dataSize )
= {0x303C,0x0A16,0xA816};
pascal OSErr
AEPutAttributeDesc( const AppleEvent *theAppleEvent, AEKeyword theAEKeyword,
const AEDesc *theAEDesc )
= {0x303C,0x0627,0xA816};
/**************************************************************************
The next couple of calls are basic routines used to create, send,
and process AppleEvents.
**************************************************************************/
pascal OSErr
AECreateAppleEvent( AEEventClass theAEEventClass, AEEventID theAEEventID,
const AEAddressDesc *target, short returnID,
long transactionID, AppleEvent *result )
= {0x303C,0x0B14,0xA816};
pascal OSErr
AESend( const AppleEvent *theAppleEvent, AppleEvent *reply,
AESendMode sendMode, AESendPriority sendPriority, long timeOutInTicks,
IdleProcPtr idleProc, EventFilterProcPtr filterProc )
= {0x303C,0x0D17,0xA816};
pascal OSErr
AEProcessAppleEvent( const EventRecord *theEventRecord )
= {0x303C,0x021B,0xA816};
/*
Note: during event processing, an event handler may realize that it is likely
to exceed the client's timeout limit. Passing the reply to this
routine causes a wait event to be generated that asks the client
for more time.
*/
pascal OSErr
AEResetTimer( const AppleEvent *reply )
= {0x303C,0x0219,0xA816};
/**************************************************************************
The following four calls are available for applications which need more
sophisticated control over when and how events are processed. Applications
which implement multi-session servers or which implement their own
internal event queueing will probably be the major clients of these
routines. They can be called from within a handler to prevent the AEM from
disposing of the AppleEvent when the handler returns. They can be used to
asynchronously process the event (as MacApp does).
**************************************************************************/
pascal OSErr
AESuspendTheCurrentEvent( const AppleEvent *theAppleEvent )
= {0x303C,0x022B,0xA816};
/*
Note: The following routine tells the AppleEvent manager that processing
is either about to resume or has been completed on a previously suspended
event. The procPtr passed in as the dispatcher parameter will be called to
attempt to redispatch the event. Several constants for the dispatcher
parameter allow special behavior. They are:
- kAEUseStandardDispatch means redispatch as if the event was just
received, using the standard AppleEvent dispatch mechanism.
- kAENoDispatch means ignore the parameter.
Use this in the case where the event has been handled and no
redispatch is needed.
- non nil means call the routine which the dispatcher points to.
*/
pascal OSErr
AEResumeTheCurrentEvent( const AppleEvent *theAppleEvent,
const AppleEvent *reply,
EventHandlerProcPtr dispatcher, long handlerRefcon )
= {0x303C,0x0818,0xA816};
pascal OSErr
AEGetTheCurrentEvent( AppleEvent *theAppleEvent )
= {0x303C,0x021A,0xA816};
pascal OSErr
AESetTheCurrentEvent( const AppleEvent *theAppleEvent )
= {0x303C,0x022C,0xA816};
/**************************************************************************
The following three calls are used to allow applications to behave
courteously when a user interaction such as a dialog box is needed.
**************************************************************************/
pascal OSErr
AEGetInteractionAllowed( AEInteractAllowed *level )
= {0x303C,0x021D,0xA816};
pascal OSErr
AESetInteractionAllowed( AEInteractAllowed level )
= {0x303C,0x011E,0xA816};
pascal OSErr
AEInteractWithUser( long timeOutInTicks, NMRecPtr nmReqPtr,
IdleProcPtr idleProc )
= {0x303C,0x061C,0xA816};
/**************************************************************************
These calls are used to set up and modify the event dispatch table.
**************************************************************************/
pascal OSErr
AEInstallEventHandler( AEEventClass theAEEventClass, AEEventID theAEEventID,
EventHandlerProcPtr handler, long handlerRefcon,
Boolean isSysHandler )
= {0x303C,0x091F,0xA816};
pascal OSErr
AERemoveEventHandler( AEEventClass theAEEventClass, AEEventID theAEEventID,
EventHandlerProcPtr handler, Boolean isSysHandler )
= {0x303C,0x0720,0xA816};
pascal OSErr
AEGetEventHandler( AEEventClass theAEEventClass, AEEventID theAEEventID,
EventHandlerProcPtr *handler, long *handlerRefcon,
Boolean isSysHandler )
= {0x303C,0x0921,0xA816};
/**************************************************************************
These calls are used to set up and modify the coercion dispatch table.
**************************************************************************/
pascal OSErr
AEInstallCoercionHandler( DescType fromType, DescType toType, ProcPtr handler,
long handlerRefcon, Boolean fromTypeIsDesc,
Boolean isSysHandler )
= {0x303C,0x0A22,0xA816};
pascal OSErr
AERemoveCoercionHandler( DescType fromType, DescType toType, ProcPtr handler,
Boolean isSysHandler )
= {0x303C,0x0723,0xA816};
pascal OSErr
AEGetCoercionHandler( DescType fromType, DescType toType, ProcPtr *handler,
long *handlerRefcon, Boolean *fromTypeIsDesc,
Boolean isSysHandler )
= {0x303C,0x0B24,0xA816};
/**************************************************************************
These calls are used to set up and modify special hooks into the
AppleEvent manager.
**************************************************************************/
pascal OSErr
AEInstallSpecialHandler( AEKeyword functionClass, ProcPtr handler,
Boolean isSysHandler )
= {0x303C,0x0500,0xA816};
pascal OSErr
AERemoveSpecialHandler( AEKeyword functionClass, ProcPtr handler,
Boolean isSysHandler )
= {0x303C,0x0501,0xA816};
pascal OSErr
AEGetSpecialHandler( AEKeyword functionClass, ProcPtr *handler,
Boolean isSysHandler )
= {0x303C,0x052D,0xA816};
/**************************************************************************
This call was added in version 1.0.1. If called with the keyword
keyAERecorderCount ('recr'), the number of recorders that are
currently active is returned in 'result'.
**************************************************************************/
/* available only in vers 1.0.1 and greater */
pascal OSErr
AEManagerInfo( AEKeyword keyWord, long *result )
= {0x303C,0x0441,0xA816};
#ifdef __cplusplus
}
#endif
#ifndef __AEREGISTRY__ // for access to constants moved to AERegistry.h
#include <AERegistry.h> // placed at end because AERegistry.h depends on AppleEvents.h
#endif
#endif

View File

@ -0,0 +1 @@
TEXTMPS

View File

@ -0,0 +1,18 @@
data 'MPSR' (1005) {
$"0009 4D6F 6E61 636F 006C 6545 7665 6E74" /* ..Monaco.leEvent */
$"732E 6800 0059 0406 0000 0044 7465 0000" /* s.h..Y.....Dte.. */
$"0000 0006 0004 0031 000A 015D 01E0 0031" /* .......1...]...1 */
$"000A 015D 01E0 A80A B9C0 0000 0000 0000" /* ...]............ */
$"0000 0000 0000 0100" /* ........ */
};
data 'MPSR' (1008) {
$"0031 000A 015D 01E0 0031 000A 015D 01E0" /* .1...]...1...].. */
$"0000 0000 0000 0000 0000 0000 0000" /* .............. */
};
data 'vers' (2, purgeable) {
$"0330 8000 0000 0333 2E33 074D 5057 2033" /* .0.....3.3.MPW 3 */
$"2E33" /* .3 */
};

View File

@ -0,0 +1,777 @@
/************************************************************
Created: Friday, November 15, 1991 at 10:14 AM
AppleTalk.h
C Interface to the Macintosh Libraries
Copyright Apple Computer, Inc. 1985-1991
All rights reserved
************************************************************/
#ifndef __APPLETALK__
#define __APPLETALK__
#ifndef __TYPES__
#include <Types.h>
#endif
#ifndef __OSUTILS__
#include <OSUtils.h>
#endif
enum {
/* Driver unit and reference numbers (ADSP is dynamic) */
mppUnitNum = 9, /* MPP unit number */
atpUnitNum = 10, /* ATP unit number */
xppUnitNum = 40, /* XPP unit number */
mppRefNum = -10, /* MPP reference number */
atpRefNum = -11, /* ATP reference number */
xppRefNum = -41, /* XPP reference number */
/* .MPP csCodes */
lookupReply = 242, /* This command queued to ourself */
writeLAP = 243, /* Write out LAP packet */
detachPH = 244, /* Detach LAP protocol handler */
attachPH = 245, /* Attach LAP protocol handler */
writeDDP = 246, /* Write out DDP packet */
closeSkt = 247, /* Close DDP socket */
openSkt = 248, /* Open DDP socket */
loadNBP = 249, /* Load NBP command-executing code */
lastResident = 249, /* Last resident command */
confirmName = 250, /* Confirm name */
lookupName = 251, /* Look up name on internet */
removeName = 252, /* Remove name from Names Table */
registerName = 253, /* Register name in Names Table */
killNBP = 254 /* Kill outstanding NBP request */
};
enum {
unloadNBP = 255, /* Unload NBP command code */
setSelfSend = 256, /* MPP: Set to allow writes to self */
SetMyZone = 257, /* Set my zone name */
GetATalkInfo = 258, /* get AppleTalk information */
ATalkClosePrep = 259, /* AppleTalk close query */
/* .ATP csCodes */
nSendRequest = 248, /* NSendRequest code */
relRspCB = 249, /* Release RspCB */
closeATPSkt = 250, /* Close ATP socket */
addResponse = 251, /* Add response code | Require open skt */
sendResponse = 252, /* Send response code */
getRequest = 253, /* Get request code */
openATPSkt = 254, /* Open ATP socket */
sendRequest = 255, /* Send request code */
relTCB = 256, /* Release TCB */
killGetReq = 257, /* Kill GetRequest */
killSendReq = 258, /* Kill SendRequest */
killAllGetReq = 259, /* Kill all getRequests for a skt */
/* .XPP csCodes */
openSess = 255, /* Open session */
closeSess = 254, /* Close session */
userCommand = 253 /* User command */
};
enum {
userWrite = 252, /* User write */
getStatus = 251, /* Get status */
afpCall = 250, /* AFP command (buffer has command code) */
getParms = 249, /* Get parameters */
abortOS = 248, /* Abort open session request */
closeAll = 247, /* Close all open sessions */
xCall = 246, /* .XPP extended calls */
/* Transition Queue transition types */
ATTransOpen = 0, /*AppleTalk has opened*/
ATTransClose = 2, /*AppleTalk is about to close*/
ATTransClosePrep = 3, /*Is it OK to close AppleTalk ?*/
ATTransCancelClose = 4, /*Cancel the ClosePrep transition*/
afpByteRangeLock = 1, /*AFPCall command codes*/
afpVolClose = 2, /*AFPCall command codes*/
afpDirClose = 3, /*AFPCall command codes*/
afpForkClose = 4, /*AFPCall command codes*/
afpCopyFile = 5, /*AFPCall command codes*/
afpDirCreate = 6, /*AFPCall command codes*/
afpFileCreate = 7, /*AFPCall command codes*/
afpDelete = 8, /*AFPCall command codes*/
afpEnumerate = 9 /*AFPCall command codes*/
};
enum {
afpFlush = 10, /*AFPCall command codes*/
afpForkFlush = 11, /*AFPCall command codes*/
afpGetDirParms = 12, /*AFPCall command codes*/
afpGetFileParms = 13, /*AFPCall command codes*/
afpGetForkParms = 14, /*AFPCall command codes*/
afpGetSInfo = 15, /*AFPCall command codes*/
afpGetSParms = 16, /*AFPCall command codes*/
afpGetVolParms = 17, /*AFPCall command codes*/
afpLogin = 18, /*AFPCall command codes*/
afpContLogin = 19, /*AFPCall command codes*/
afpLogout = 20, /*AFPCall command codes*/
afpMapID = 21, /*AFPCall command codes*/
afpMapName = 22, /*AFPCall command codes*/
afpMove = 23, /*AFPCall command codes*/
afpOpenVol = 24, /*AFPCall command codes*/
afpOpenDir = 25, /*AFPCall command codes*/
afpOpenFork = 26, /*AFPCall command codes*/
afpRead = 27, /*AFPCall command codes*/
afpRename = 28, /*AFPCall command codes*/
afpSetDirParms = 29 /*AFPCall command codes*/
};
enum {
afpSetFileParms = 30, /*AFPCall command codes*/
afpSetForkParms = 31, /*AFPCall command codes*/
afpSetVolParms = 32, /*AFPCall command codes*/
afpWrite = 33, /*AFPCall command codes*/
afpGetFlDrParms = 34, /*AFPCall command codes*/
afpSetFlDrParms = 35, /*AFPCall command codes*/
afpDTOpen = 48, /*AFPCall command codes*/
afpDTClose = 49, /*AFPCall command codes*/
afpGetIcon = 51, /*AFPCall command codes*/
afpGtIcnInfo = 52, /*AFPCall command codes*/
afpAddAPPL = 53, /*AFPCall command codes*/
afpRmvAPPL = 54, /*AFPCall command codes*/
afpGetAPPL = 55, /*AFPCall command codes*/
afpAddCmt = 56, /*AFPCall command codes*/
afpRmvCmt = 57, /*AFPCall command codes*/
afpGetCmt = 58, /*AFPCall command codes*/
afpAddIcon = 192, /*Special code for ASP Write commands*/
xppLoadedBit = 5, /* XPP bit in PortBUse */
scbMemSize = 192, /* Size of memory for SCB */
xppFlagClr = 0 /* Cs for AFPCommandBlock */
};
enum {
xppFlagSet = 128, /* StartEndFlag & NewLineFlag fields. */
lapSize = 20,
ddpSize = 26,
nbpSize = 26,
atpSize = 56,
#define MPPioCompletion MPP.ioCompletion
#define MPPioResult MPP.ioResult
#define MPPioRefNum MPP.ioRefNum
#define MPPcsCode MPP.csCode
#define LAPprotType LAP.protType
#define LAPwdsPointer LAP.LAPptrs.wdsPointer
#define LAPhandler LAP.LAPptrs.handler
#define DDPsocket DDP.socket
#define DDPchecksumFlag DDP.checksumFlag
#define DDPwdsPointer DDP.DDPptrs.wdsPointer
#define DDPlistener DDP.DDPptrs.listener
#define NBPinterval NBP.interval
#define NBPcount NBP.count
#define NBPntQElPtr NBP.NBPPtrs.ntQElPtr
#define NBPentityPtr NBP.NBPPtrs.entityPtr
#define NBPverifyFlag NBP.parm.verifyFlag
#define NBPretBuffPtr NBP.parm.Lookup.retBuffPtr
#define NBPretBuffSize NBP.parm.Lookup.retBuffSize
#define NBPmaxToGet NBP.parm.Lookup.maxToGet
#define NBPnumGotten NBP.parm.Lookup.numGotten
#define NBPconfirmAddr NBP.parm.Confirm.confirmAddr
#define NBPnKillQEl NBPKILL.nKillQEl
#define NBPnewSocket NBP.parm.Confirm.newSocket
#define ATPioCompletion ATP.ioCompletion
#define ATPioResult ATP.ioResult
#define ATPuserData ATP.userData
#define ATPreqTID ATP.reqTID
#define ATPioRefNum ATP.ioRefNum
#define ATPcsCode ATP.csCode
#define ATPatpSocket ATP.atpSocket
#define ATPatpFlags ATP.atpFlags
#define ATPaddrBlock ATP.addrBlock
#define ATPreqLength ATP.reqLength
#define ATPreqPointer ATP.reqPointer
#define ATPbdsPointer ATP.bdsPointer
#define ATPtimeOutVal SREQ.timeOutVal
#define ATPnumOfResps SREQ.numOfResps
#define ATPretryCount SREQ.retryCount
#define ATPnumOfBuffs OTH1.u0.numOfBuffs
#define ATPbitMap OTH1.u0.bitMap
#define ATPrspNum OTH1.u0.rspNum
#define ATPbdsSize OTH2.bdsSize
#define ATPtransID OTH2.transID
#define ATPaKillQEl KILL.aKillQEl
atpXOvalue = 32, /*ATP exactly-once bit */
atpEOMvalue = 16, /*ATP End-Of-Message bit */
atpSTSvalue = 8, /*ATP Send-Transmission-Status bit */
atpTIDValidvalue = 2, /*ATP trans. ID valid bit */
atpSendChkvalue = 1, /*ATP send checksum bit */
zipGetLocalZones = 5,
zipGetZoneList = 6,
zipGetMyZone = 7,
LAPMgrPtr = 0xB18, /*Entry point for LAP Manager*/
LAPMgrCall = 2, /*Offset to LAP routines*/
LAddAEQ = 23, /*LAPAddATQ routine selector*/
LRmvAEQ = 24 /*LAPRmvATQ routine selector*/
};
enum {tLAPRead,tLAPWrite,tDDPRead,tDDPWrite,tNBPLookup,tNBPConfirm,tNBPRegister,
tATPSndRequest,tATPGetRequest,tATPSdRsp,tATPAddRsp,tATPRequest,tATPResponse};
typedef unsigned char ABCallType;
enum {lapProto,ddpProto,nbpProto,atpProto};
typedef unsigned char ABProtoType;
typedef Byte ABByte;
struct LAPAdrBlock {
unsigned char dstNodeID;
unsigned char srcNodeID;
ABByte lapProtType;
};
typedef struct LAPAdrBlock LAPAdrBlock;
struct ATQEntry {
struct ATQEntry *qLink; /*next queue entry*/
short qType; /*queue type*/
ProcPtr CallAddr; /*pointer to your routine*/
};
typedef struct ATQEntry ATQEntry;
typedef ATQEntry *ATQEntryPtr;
struct AddrBlock {
short aNet;
unsigned char aNode;
unsigned char aSocket;
};
typedef struct AddrBlock AddrBlock;
/* Real definition of EntityName is 3 PACKED strings of any length (32 is just an example). No
offests for Asm since each String address must be calculated by adding length byte to last string ptr.
In Pascal, String(32) will be 34 bytes long since fields never start on an odd byte unless they are
only a byte long. So this will generate correct looking interfaces for Pascal and C, but they will not
be the same, which is OK since they are not used. */
struct EntityName {
Str32 objStr;
char pad1; /*Str32's aligned on even word boundries.*/
Str32 typeStr;
char pad2;
Str32 zoneStr;
char pad3;
};
typedef struct EntityName EntityName;
typedef EntityName *EntityPtr;
struct RetransType {
unsigned char retransInterval;
unsigned char retransCount;
};
typedef struct RetransType RetransType;
struct BDSElement {
short buffSize;
Ptr buffPtr;
short dataSize;
long userBytes;
};
typedef struct BDSElement BDSElement;
typedef BDSElement BDSType[8];
typedef BDSElement *BDSPtr;
typedef char BitMapType;
struct ATLAPRec {
ABCallType abOpcode;
short abResult;
long abUserReference;
LAPAdrBlock lapAddress;
short lapReqCount;
short lapActCount;
Ptr lapDataPtr;
};
typedef struct ATLAPRec ATLAPRec;
typedef ATLAPRec *ATLAPRecPtr, **ATLAPRecHandle;
struct ATDDPRec {
ABCallType abOpcode;
short abResult;
long abUserReference;
short ddpType;
short ddpSocket;
AddrBlock ddpAddress;
short ddpReqCount;
short ddpActCount;
Ptr ddpDataPtr;
short ddpNodeID;
};
typedef struct ATDDPRec ATDDPRec;
typedef ATDDPRec *ATDDPRecPtr, **ATDDPRecHandle;
struct ATNBPRec {
ABCallType abOpcode;
short abResult;
long abUserReference;
EntityPtr nbpEntityPtr;
Ptr nbpBufPtr;
short nbpBufSize;
short nbpDataField;
AddrBlock nbpAddress;
RetransType nbpRetransmitInfo;
};
typedef struct ATNBPRec ATNBPRec;
typedef ATNBPRec *ATNBPRecPtr, **ATNBPRecHandle;
struct ATATPRec {
ABCallType abOpcode;
short abResult;
long abUserReference;
short atpSocket;
AddrBlock atpAddress;
short atpReqCount;
Ptr atpDataPtr;
BDSPtr atpRspBDSPtr;
BitMapType atpBitMap;
short atpTransID;
short atpActCount;
long atpUserData;
Boolean atpXO;
Boolean atpEOM;
short atpTimeOut;
short atpRetries;
short atpNumBufs;
short atpNumRsp;
short atpBDSSize;
long atpRspUData;
Ptr atpRspBuf;
short atpRspSize;
};
typedef struct ATATPRec ATATPRec;
typedef ATATPRec *ATATPRecPtr, **ATATPRecHandle;
typedef struct {
char cmdByte;
char startEndFlag;
short forkRefNum;
long rwOffset;
long reqCount;
char newLineFlag;
char newLineChar;
}AFPCommandBlock;
#define XPPPBHeader \
QElem *qLink;\
short qType;\
short ioTrap;\
Ptr ioCmdAddr;\
ProcPtr ioCompletion;\
OSErr ioResult;\
long cmdResult;\
short ioVRefNum;\
short ioRefNum;\
short csCode;
typedef struct {
XPPPBHeader
short sessRefnum; /*Offset to session refnum*/
char aspTimeout; /*Timeout for ATP*/
char aspRetry; /*Retry count for ATP*/
short cbSize; /*Command block size*/
Ptr cbPtr; /*Command block pointer*/
short rbSize; /*Reply buffer size*/
Ptr rbPtr; /*Reply buffer pointer*/
short wdSize; /*Write Data size*/
Ptr wdPtr; /*Write Data pointer*/
char ccbStart[296]; /*CCB memory allocated for driver afpWrite max size(CCB)=296 all other calls=150*/
}XPPPrmBlk;
typedef struct {
XPPPBHeader
short sessRefnum; /*Offset to session refnum */
char aspTimeout; /*Timeout for ATP */
char aspRetry; /*Retry count for ATP */
short cbSize; /*Command block size */
Ptr cbPtr; /*Command block pointer */
short rbSize; /*Reply buffer size */
Ptr rbPtr; /*Reply buffer pointer */
AddrBlock afpAddrBlock; /*block in AFP login */
Ptr afpSCBPtr; /*SCB pointer in AFP login */
Ptr afpAttnRoutine; /*routine pointer in AFP login */
char ccbFill[144]; /*CCB memory allocated for driver Login needs only 150 bytes BUT CCB really starts in the middle of AFPSCBPtr and also clobbers AFPAttnRoutine. */
}AFPLoginPrm;
typedef struct {
XPPPBHeader
short sessRefnum; /*Offset to session refnum */
char aspTimeout; /*Timeout for ATP */
char aspRetry; /*Retry count for ATP */
AddrBlock serverAddr; /*Server address block */
Ptr scbPointer; /*SCB pointer */
Ptr attnRoutine; /*Attention routine pointer*/
}ASPOpenPrm;
typedef ASPOpenPrm *ASPOpenPrmPtr;
typedef struct {
XPPPBHeader
Ptr abortSCBPtr; /*SCB pointer for AbortOS */
}ASPAbortPrm;
typedef struct {
XPPPBHeader
short aspMaxCmdSize; /*For SPGetParms*/
short aspQuantumSize;
short numSesss;
}ASPGetparmsBlk;
typedef struct {
XPPPBHeader
short xppSubCode;
char xppTimeout; /*retry interval (seconds)*/
char xppRetry; /*retry count*/
short filler1;
Ptr zipBuffPtr; /*pointer to buffer (must be 578 bytes)*/
short zipNumZones; /*no. of zone names in this response*/
char zipLastFlag; /*non-zero if no more zones*/
char filler2; /*filler*/
char zipInfoField[70]; /*on initial call, set first word to zero*/
}XCallParam;
typedef struct {
short entryLength;
Ptr entryPtr;
}WDSElement;
typedef struct {
AddrBlock nteAddress; /*network address of entity*/
char filler;
char entityData[99]; /*Object, Type & Zone*/
}NTElement;
typedef struct {
Ptr qNext; /*ptr to next NTE*/
NTElement nt;
}NamesTableEntry;
#define MPPATPHeader \
QElem *qLink; /*next queue entry*/\
short qType; /*queue type*/\
short ioTrap; /*routine trap*/\
Ptr ioCmdAddr; /*routine address*/\
ProcPtr ioCompletion; /*completion routine*/\
OSErr ioResult; /*result code*/\
long userData; /*Command result (ATP user bytes)*/\
short reqTID; /*request transaction ID*/\
short ioRefNum; /*driver reference number*/\
short csCode; /*Call command code*/
typedef struct {
MPPATPHeader
}MPPparms;
typedef struct {
MPPATPHeader
char protType; /*ALAP protocol Type */
char filler;
union {
Ptr wdsPointer; /*-> write data structure*/
Ptr handler; /*-> protocol handler routine*/
} LAPptrs;
}LAPparms;
typedef struct {
MPPATPHeader
char socket; /*socket number */
char checksumFlag; /*check sum flag */
union {
Ptr wdsPointer; /*-> write data structure*/
Ptr listener; /*->write data structure or -> Listener*/
} DDPptrs;
}DDPparms;
typedef struct {
MPPATPHeader
char interval; /*retry interval */
char count; /*retry count */
union {
Ptr ntQElPtr;
Ptr entityPtr;
} NBPPtrs;
union {
char verifyFlag;
struct {
Ptr retBuffPtr;
short retBuffSize;
short maxToGet;
short numGotten;
} Lookup;
struct {
AddrBlock confirmAddr;
char newSocket;
} Confirm;
} parm;
}NBPparms;
typedef struct {
MPPATPHeader
char newSelfFlag; /*self-send toggle flag */
char oldSelfFlag; /*previous self-send state */
}SetSelfparms;
typedef struct {
MPPATPHeader
Ptr nKillQEl; /*ptr to i/o queue element to cancel */
}NBPKillparms;
typedef struct {
MPPATPHeader /*max. concurrent NBP requests*/
short version; /*requested info version*/
Ptr varsPtr; /*pointer to well known MPP vars*/
Ptr DCEPtr; /*pointer to MPP DCE*/
short portID; /*port number [0..7]*/
long configuration; /*32-bit configuration word*/
short selfSend; /*non zero if SelfSend enabled*/
short netLo; /*low value of network range*/
short netHi; /*high value of network range*/
long ourAdd; /*our 24-bit AppleTalk address*/
long routerAddr; /*24-bit address of (last) router*/
short numOfPHs; /*max. number of protocol handlers*/
short numOfSkts; /*max. number of static sockets*/
short numNBPEs; /*max. concurrent NBP requests*/
Ptr nTQueue; /*pointer to registered name queue*/
short LAlength; /*length in bytes of data link addr*/
Ptr linkAddr; /*data link address returned*/
Ptr zoneName; /*zone name returned*/
}GetAppleTalkInfoParm;
typedef struct {
MPPATPHeader
Ptr appName; /*pointer to application name in buffer*/
}ATalkClosePrepParm;
typedef union {
MPPparms MPP; /*General MPP parms*/
LAPparms LAP; /*ALAP calls*/
DDPparms DDP; /*DDP calls*/
NBPparms NBP; /*NBP calls*/
SetSelfparms SETSELF ;
NBPKillparms NBPKILL ;
GetAppleTalkInfoParm GAIINFO;
ATalkClosePrepParm ATALKCLOSE;
}MPPParamBlock;
typedef MPPParamBlock *MPPPBPtr;
#define MOREATPHeader \
char atpSocket; /*currbitmap for requests or ATP socket number*/\
char atpFlags; /*control information*/\
AddrBlock addrBlock; /*source/dest. socket address*/\
short reqLength; /*request/response length*/\
Ptr reqPointer; /*->request/response Data*/\
Ptr bdsPointer; /*->response BDS */
typedef struct {
MPPATPHeader
MOREATPHeader
}ATPparms;
typedef struct {
MPPATPHeader
MOREATPHeader
char filler; /*numOfBuffs */
char timeOutVal; /*timeout interval */
char numOfResps; /*number of responses actually received */
char retryCount; /*number of retries */
short intBuff; /*used internally for NSendRequest */
char TRelTime; /*TRelease time for extended send request */
}SendReqparms;
typedef struct {
MPPATPHeader
MOREATPHeader
union {
char bitMap; /*bitmap received */
char numOfBuffs; /*number of responses being sent*/
char rspNum; /*sequence number*/
} u0;
}ATPmisc1;
typedef struct {
MPPATPHeader
MOREATPHeader
char filler;
char bdsSize; /*number of BDS elements */
short transID; /*transaction ID recd. */
}ATPmisc2;
typedef struct {
MPPATPHeader
MOREATPHeader
Ptr aKillQEl; /*ptr to i/o queue element to cancel*/
}Killparms;
union ATPParamBlock {
ATPparms ATP; /*General ATP parms*/
SendReqparms SREQ; /*sendrequest parms*/
ATPmisc1 OTH1; /*and a few others*/
ATPmisc2 OTH2; /*and a few others*/
Killparms KILL; /*and a few others*/
};
typedef union ATPParamBlock ATPParamBlock;
typedef ATPParamBlock *ATPPBPtr;
union XPPParamBlock {
XPPPrmBlk XPP;
ASPGetparmsBlk GETPARM;
ASPAbortPrm ABORT;
ASPOpenPrm OPEN;
AFPLoginPrm LOGIN;
XCallParam XCALL;
};
typedef union XPPParamBlock XPPParamBlock;
typedef XPPParamBlock *XPPParmBlkPtr;
#ifdef __cplusplus
extern "C" {
#endif
pascal OSErr OpenXPP(short *xppRefnum);
pascal OSErr ASPOpenSession(ASPOpenPrmPtr thePBptr,Boolean async);
pascal OSErr ASPCloseSession(XPPParmBlkPtr thePBptr,Boolean async);
pascal OSErr ASPAbortOS(XPPParmBlkPtr thePBptr,Boolean async);
pascal OSErr ASPGetParms(XPPParmBlkPtr thePBptr,Boolean async);
pascal OSErr ASPCloseAll(XPPParmBlkPtr thePBptr,Boolean async);
pascal OSErr ASPUserWrite(XPPParmBlkPtr thePBptr,Boolean async);
pascal OSErr ASPUserCommand(XPPParmBlkPtr thePBptr,Boolean async);
pascal OSErr ASPGetStatus(XPPParmBlkPtr thePBptr,Boolean async);
pascal OSErr AFPCommand(XPPParmBlkPtr thePBptr,Boolean async);
pascal OSErr GetLocalZones(XPPParmBlkPtr thePBptr,Boolean async);
pascal OSErr GetZoneList(XPPParmBlkPtr thePBptr,Boolean async);
pascal OSErr GetMyZone(XPPParmBlkPtr thePBptr,Boolean async);
pascal OSErr PAttachPH(MPPPBPtr thePBptr,Boolean async);
pascal OSErr PDetachPH(MPPPBPtr thePBptr,Boolean async);
pascal OSErr PWriteLAP(MPPPBPtr thePBptr,Boolean async);
pascal OSErr POpenSkt(MPPPBPtr thePBptr,Boolean async);
pascal OSErr PCloseSkt(MPPPBPtr thePBptr,Boolean async);
pascal OSErr PWriteDDP(MPPPBPtr thePBptr,Boolean async);
pascal OSErr PRegisterName(MPPPBPtr thePBptr,Boolean async);
pascal OSErr PLookupName(MPPPBPtr thePBptr,Boolean async);
pascal OSErr PConfirmName(MPPPBPtr thePBptr,Boolean async);
pascal OSErr PRemoveName(MPPPBPtr thePBptr,Boolean async);
pascal OSErr PSetSelfSend(MPPPBPtr thePBptr,Boolean async);
pascal OSErr PKillNBP(MPPPBPtr thePBptr,Boolean async);
pascal OSErr PGetAppleTalkInfo(MPPPBPtr thePBptr,Boolean async);
pascal OSErr PATalkClosePrep(MPPPBPtr thePBptr,Boolean async);
pascal OSErr POpenATPSkt(ATPPBPtr thePBptr,Boolean async);
pascal OSErr PCloseATPSkt(ATPPBPtr thePBPtr,Boolean async);
pascal OSErr PSendRequest(ATPPBPtr thePBPtr,Boolean async);
pascal OSErr PGetRequest(ATPPBPtr thePBPtr,Boolean async);
pascal OSErr PSendResponse(ATPPBPtr thePBPtr,Boolean async);
pascal OSErr PAddResponse(ATPPBPtr thePBPtr,Boolean async);
pascal OSErr PRelTCB(ATPPBPtr thePBPtr,Boolean async);
pascal OSErr PRelRspCB(ATPPBPtr thePBPtr,Boolean async);
pascal OSErr PNSendRequest(ATPPBPtr thePBPtr,Boolean async);
pascal OSErr PKillSendReq(ATPPBPtr thePBPtr,Boolean async);
pascal OSErr PKillGetReq(ATPPBPtr thePBPtr,Boolean async);
pascal OSErr ATPKillAllGetReq(ATPPBPtr thePBPtr,Boolean async);
pascal void BuildLAPwds(Ptr wdsPtr,Ptr dataPtr,short destHost,short prototype,
short frameLen);
pascal void BuildDDPwds(Ptr wdsPtr,Ptr headerPtr,Ptr dataPtr,const AddrBlock netAddr,
short ddpType,short dataLen);
pascal void NBPSetEntity(Ptr buffer,Ptr nbpObject,Ptr nbpType,Ptr nbpZone);
pascal void NBPSetNTE(Ptr ntePtr,Ptr nbpObject,Ptr nbpType,Ptr nbpZone,
short socket);
pascal short GetBridgeAddress(void);
pascal short BuildBDS(Ptr buffPtr,Ptr bdsPtr,short buffSize);
pascal OSErr MPPOpen(void);
pascal OSErr MPPClose(void);
pascal OSErr LAPOpenProtocol(ABByte theLAPType,Ptr protoPtr);
pascal OSErr LAPCloseProtocol(ABByte theLAPType);
pascal OSErr LAPWrite(ATLAPRecHandle abRecord,Boolean async);
pascal OSErr LAPRead(ATLAPRecHandle abRecord,Boolean async);
pascal OSErr LAPRdCancel(ATLAPRecHandle abRecord);
pascal OSErr LAPAddATQ(ATQEntryPtr theATQEntry);
pascal OSErr LAPRmvATQ(ATQEntryPtr theATQEntry);
pascal OSErr DDPOpenSocket(short *theSocket,Ptr sktListener);
pascal OSErr DDPCloseSocket(short theSocket);
pascal OSErr DDPRead(ATDDPRecHandle abRecord,Boolean retCksumErrs,Boolean async);
pascal OSErr DDPWrite(ATDDPRecHandle abRecord,Boolean doChecksum,Boolean async);
pascal OSErr DDPRdCancel(ATDDPRecHandle abRecord);
pascal OSErr ATPLoad(void);
pascal OSErr ATPUnload(void);
pascal OSErr ATPOpenSocket(AddrBlock addrRcvd,short *atpSocket);
pascal OSErr ATPCloseSocket(short atpSocket);
pascal OSErr ATPSndRequest(ATATPRecHandle abRecord,Boolean async);
pascal OSErr ATPRequest(ATATPRecHandle abRecord,Boolean async);
pascal OSErr ATPReqCancel(ATATPRecHandle abRecord,Boolean async);
pascal OSErr ATPGetRequest(ATATPRecHandle abRecord,Boolean async);
pascal OSErr ATPSndRsp(ATATPRecHandle abRecord,Boolean async);
pascal OSErr ATPAddRsp(ATATPRecHandle abRecord);
pascal OSErr ATPResponse(ATATPRecHandle abRecord,Boolean async);
pascal OSErr ATPRspCancel(ATATPRecHandle abRecord,Boolean async);
pascal OSErr NBPRegister(ATNBPRecHandle abRecord,Boolean async);
pascal OSErr NBPLookup(ATNBPRecHandle abRecord,Boolean async);
pascal OSErr NBPExtract(Ptr theBuffer,short numInBuf,short whichOne,EntityName *abEntity,
AddrBlock *address);
pascal OSErr NBPConfirm(ATNBPRecHandle abRecord,Boolean async);
pascal OSErr NBPRemove(EntityPtr abEntity);
pascal OSErr NBPLoad(void);
pascal OSErr NBPUnload(void);
pascal OSErr GetNodeAddress(short *myNode,short *myNet);
pascal Boolean IsMPPOpen(void);
pascal Boolean IsATPOpen(void);
pascal void ATEvent(long event,Ptr infoPtr);
pascal OSErr ATPreFlightEvent(long event,long cancel,Ptr infoPtr);
#ifdef __cplusplus
}
#endif
#endif

View File

@ -0,0 +1 @@
TEXTMPS

View File

@ -0,0 +1,25 @@
data 'vers' (1) {
$"0323 8000 0000 0533 2E32 2E33 2833 2E32" /* .#.....3.2.3(3.2 */
$"2E33 2C20 A920 4170 706C 6520 436F 6D70" /* .3, . Apple Comp */
$"7574 6572 2C20 496E 632E 2031 3938 352D" /* uter, Inc. 1985- */
$"3139 3932 2E" /* 1992. */
};
data 'vers' (2, purgeable) {
$"0330 8000 0000 0333 2E33 074D 5057 2033" /* .0.....3.3.MPW 3 */
$"2E33" /* .3 */
};
data 'MPSR' (1005) {
$"0009 4D6F 6E61 636F 0063 6C75 6465 733A" /* ..Monaco.cludes: */
$"4170 706C 6554 616C 6B2E 6800 0000 0014" /* AppleTalk.h..... */
$"0000 0006 0004 0031 000A 015D 01E0 0031" /* .......1...]...1 */
$"000A 015D 01E0 A664 D9C0 0000 0000 0000" /* ...]...d........ */
$"0000 0000 0000 0100" /* ........ */
};
data 'MPSR' (1008) {
$"0031 000A 015D 01E0 0031 000A 015D 01E0" /* .1...]...1...].. */
$"0000 0000 0000 0000 0000 0000 0000" /* .............. */
};

View File

@ -0,0 +1,32 @@
/************************************************************
Assert.h
Diagnostics
Copyright © Apple Computer,Inc. 1987-1990.
All Rights Reserved.
************************************************************/
#undef assert
#ifdef NDEBUG
#define assert(ignore) ((void) 0)
#else
#ifdef __cplusplus
extern "C" {
#endif
void __assertprint(const char* file, int line, const char* expr);
#ifdef __cplusplus
}
#endif
#define assert(expression) \
( (expression) ? (void) 0 : (__assertprint(__FILE__, __LINE__, #expression)) )
#endif

View File

@ -0,0 +1 @@
TEXTMPS

View File

@ -0,0 +1,24 @@
data 'vers' (1, purgeable) {
$"0303 8000 0000 0333 2E33 2333 2E33 2C20" /* .......3.3#3.3, */
$"A920 4170 706C 6520 436F 6D70 7574 6572" /* . Apple Computer */
$"2C20 496E 632E 2031 3938 352D 3933" /* , Inc. 1985-93 */
};
data 'vers' (2, purgeable) {
$"0330 8000 0000 0333 2E33 074D 5057 2033" /* .0.....3.3.MPW 3 */
$"2E33" /* .3 */
};
data 'MPSR' (1005) {
$"0009 4D6F 6E61 636F 0000 0000 004D 4978" /* ..Monaco.....MIx */
$"0072 6965 8200 0014 0005 FA0C 000A 0000" /* .rie............ */
$"0000 0006 0004 0031 000A 015D 01E0 0031" /* .......1...]...1 */
$"000A 015D 01E0 A804 2240 0000 0000 0000" /* ...]...."@...... */
$"0000 0000 0000 0100" /* ........ */
};
data 'MPSR' (1008) {
$"0031 000A 015D 01E0 0031 000A 015D 01E0" /* .1...]...1...].. */
$"0000 0000 0000 0000 0000 0000 0000" /* .............. */
};

View File

@ -0,0 +1,226 @@
/************************************************************
Created: Sunday, January 27, 1991 at 8:21 PM
Balloons.h
C Interface to the Macintosh Libraries
Copyright Apple Computer, Inc. 1990-1991
All rights reserved
************************************************************/
#ifndef __BALLOONS__
#define __BALLOONS__
#ifndef __TYPES__
#include <Types.h>
#endif
#ifndef __QUICKDRAW__
#include <Quickdraw.h>
#endif
#ifndef __MENUS__
#include <Menus.h>
#endif
#ifndef __TRAPS__
#include <Traps.h>
#endif
enum {
hmBalloonHelpVersion = 0x0002, /* The real version of the Help Manager */
/*Help Mgr error range: -850 to -874*/
hmHelpDisabled = -850, /* Show Balloons mode was off, call to routine ignored */
hmBalloonAborted = -853, /* Returned if mouse was moving or mouse wasn't in window port rect */
hmSameAsLastBalloon = -854, /* Returned from HMShowMenuBalloon if menu & item is same as last time */
hmHelpManagerNotInited = -855, /* Returned from HMGetHelpMenuHandle if help menu not setup */
hmSkippedBalloon = -857, /* Returned from calls if helpmsg specified a skip balloon */
hmWrongVersion = -858, /* Returned if help mgr resource was the wrong version */
hmUnknownHelpType = -859, /* Returned if help msg record contained a bad type */
hmOperationUnsupported = -861, /* Returned from HMShowBalloon call if bad method passed to routine */
hmNoBalloonUp = -862, /* Returned from HMRemoveBalloon if no balloon was visible when call was made */
hmCloseViewActive = -863, /* Returned from HMRemoveBalloon if CloseView was active */
kHMHelpMenuID = -16490, /* Resource ID and menu ID of help menu */
kHMAboutHelpItem = 1, /* help menu item number of About Balloon Help… */
kHMShowBalloonsItem = 3, /* help menu item number of Show/Hide Balloons */
kHMHelpID = -5696, /* ID of various Help Mgr package resources (in Pack14 range) */
kBalloonWDEFID = 126, /* Resource ID of the WDEF proc used in standard balloons */
/* Dialog item template type constant */
helpItem = 1, /* key value in DITL template that corresponds to the help item */
/* Options for Help Manager resources in 'hmnu', 'hdlg', 'hrct', 'hovr', & 'hfdr' resources */
hmDefaultOptions = 0, /* default options for help manager resources */
hmUseSubID = 1, /* treat resID's in resources as subID's of driver base ID (for Desk Accessories) */
hmAbsoluteCoords = 2 /* ignore window port origin and treat rectangles as absolute coords (local to window) */
};
enum {
hmSaveBitsNoWindow = 4, /* don't create a window, just blast bits on screen. No update event is generated */
hmSaveBitsWindow = 8, /* create a window, but restore bits behind window when window goes away & generate update event */
hmMatchInTitle = 16, /* for hwin resources, match string anywhere in window title string */
/* Constants for Help Types in 'hmnu', 'hdlg', 'hrct', 'hovr', & 'hfdr' resources */
kHMStringItem = 1, /* pstring used in resource */
kHMPictItem = 2, /* 'PICT' ResID used in resource */
kHMStringResItem = 3, /* 'STR#' ResID & index used in resource */
kHMTEResItem = 6, /* Styled Text Edit ResID used in resource ('TEXT' & 'styl') */
kHMSTRResItem = 7, /* 'STR ' ResID used in resource */
kHMSkipItem = 256, /* don't display a balloon */
kHMCompareItem = 512, /* Compare pstring in menu item w/ PString in resource item ('hmnu' only) */
kHMNamedResourceItem = 1024, /* Use pstring in menu item to get 'STR#', 'PICT', or 'STR ' resource ('hmnu' only) */
kHMTrackCntlItem = 2048, /* Reserved */
/* Constants for hmmHelpType's when filling out HMMessageRecord */
khmmString = 1, /* help message contains a PString */
khmmPict = 2, /* help message contains a resource ID to a 'PICT' resource */
khmmStringRes = 3, /* help message contains a res ID & index to a 'STR#' resource */
khmmTEHandle = 4, /* help message contains a Text Edit handle */
khmmPictHandle = 5, /* help message contains a Picture handle */
khmmTERes = 6, /* help message contains a res ID to 'TEXT' & 'styl' resources */
khmmSTRRes = 7, /* help message contains a res ID to a 'STR ' resource */
/* ResTypes for Styled TE Handles in Resources */
#define kHMTETextResType 'TEXT' /* Resource Type of text data for styled TE record w/o style info */
#define kHMTEStyleResType 'styl' /* Resource Type of style information for styled TE record */
/* Generic defines for the state parameter used when extracting 'hmnu' & 'hdlg' messages */
kHMEnabledItem = 0 /* item is enabled, but not checked or control value = 0 */
};
enum {
kHMDisabledItem = 1, /* item is disabled, grayed in menus or disabled in dialogs */
kHMCheckedItem = 2, /* item is enabled, and checked or control value = 1 */
kHMOtherItem = 3, /* item is enabled, and control value > 1 */
/* Resource Types for whichType parameter used when extracting 'hmnu' & 'hdlg' messages */
#define kHMMenuResType 'hmnu' /* ResType of help resource for supporting menus */
#define kHMDialogResType 'hdlg' /* ResType of help resource for supporting dialogs */
#define kHMWindListResType 'hwin' /* ResType of help resource for supporting windows */
#define kHMRectListResType 'hrct' /* ResType of help resource for rectangles in windows */
#define kHMOverrideResType 'hovr' /* ResType of help resource for overriding system balloons */
#define kHMFinderApplResType 'hfdr' /* ResType of help resource for custom balloon in Finder */
/* Method parameters to pass to HMShowBalloon */
kHMRegularWindow = 0, /* Create a regular window floating above all windows */
kHMSaveBitsNoWindow = 1, /* Just save the bits and draw (for MDEF calls) */
kHMSaveBitsWindow = 2 /* Regular window, save bits behind, AND generate update event */
};
struct HMStringResType {
short hmmResID;
short hmmIndex;
};
typedef struct HMStringResType HMStringResType;
struct HMMessageRecord {
short hmmHelpType;
union {
char hmmString[256];
short hmmPict;
Handle hmmTEHandle;
HMStringResType hmmStringRes;
short hmmPictRes;
Handle hmmPictHandle;
short hmmTERes;
short hmmSTRRes;
} u;
};
typedef struct HMMessageRecord HMMessageRecord;
typedef HMMessageRecord *HMMessageRecPtr;
#ifdef __cplusplus
extern "C" {
#endif
/* Public Interfaces */
pascal OSErr HMGetHelpMenuHandle(MenuHandle *mh)
= {0x303C,0x0200,_Pack14};
pascal OSErr HMShowBalloon(const HMMessageRecord *aHelpMsg,
Point tip,
RectPtr alternateRect,
Ptr tipProc,
short theProc,
short variant,
short method)
= {0x303C,0x0B01,_Pack14};
pascal OSErr HMRemoveBalloon(void)
= {0x303C,0x0002,_Pack14};
pascal Boolean HMGetBalloons(void)
= {0x303C,0x0003,_Pack14};
pascal OSErr HMSetBalloons(Boolean flag)
= {0x303C,0x0104,_Pack14};
pascal OSErr HMShowMenuBalloon(short itemNum,
short itemMenuID,
long itemFlags,
long itemReserved,
Point tip,
RectPtr alternateRect,
Ptr tipProc,
short theProc,
short variant)
= {0x303C,0x0E05,_Pack14};
pascal OSErr HMGetIndHelpMsg(ResType whichType,
short whichResID,
short whichMsg,
short whichState,
long *options,
Point *tip,
Rect *altRect,
short *theProc,
short *variant,
HMMessageRecord *aHelpMsg,
short *count)
= {0x303C,0x1306,_Pack14};
pascal Boolean HMIsBalloon(void)
= {0x303C,0x0007,_Pack14};
pascal OSErr HMSetFont(short font)
= {0x303C,0x0108,_Pack14};
pascal OSErr HMSetFontSize(short fontSize)
= {0x303C,0x0109,_Pack14};
pascal OSErr HMGetFont(short *font)
= {0x303C,0x020A,_Pack14};
pascal OSErr HMGetFontSize(short *fontSize)
= {0x303C,0x020B,_Pack14};
pascal OSErr HMSetDialogResID(short resID)
= {0x303C,0x010C,_Pack14};
pascal OSErr HMSetMenuResID(short menuID,
short resID)
= {0x303C,0x020D,_Pack14};
pascal OSErr HMBalloonRect(const HMMessageRecord *aHelpMsg,
Rect *coolRect)
= {0x303C,0x040E,_Pack14};
pascal OSErr HMBalloonPict(const HMMessageRecord *aHelpMsg,
PicHandle *coolPict)
= {0x303C,0x040F,_Pack14};
pascal OSErr HMScanTemplateItems(short whichID,
short whichResFile,
ResType whichType)
= {0x303C,0x0410,_Pack14};
pascal OSErr HMExtractHelpMsg(ResType whichType,short whichResID,short whichMsg,
short whichState,HMMessageRecord *aHelpMsg)
= {0x303C,0x0711,_Pack14};
pascal OSErr HMGetDialogResID(short *resID)
= {0x303C,0x0213,_Pack14};
pascal OSErr HMGetMenuResID(short menuID,short *resID)
= {0x303C,0x0314,_Pack14};
pascal OSErr HMGetBalloonWindow(WindowPtr *window)
= {0x303C,0x0215,_Pack14};
#ifdef __cplusplus
}
#endif
#endif

View File

@ -0,0 +1 @@
TEXTMPS

View File

@ -0,0 +1,25 @@
data 'vers' (1) {
$"0321 8000 0000 0533 2E32 2E31 2833 2E32" /* .!.....3.2.1(3.2 */
$"2E31 2C20 A920 4170 706C 6520 436F 6D70" /* .1, . Apple Comp */
$"7574 6572 2C20 496E 632E 2031 3938 352D" /* uter, Inc. 1985- */
$"3139 3932 2E" /* 1992. */
};
data 'vers' (2, purgeable) {
$"0330 8000 0000 0333 2E33 074D 5057 2033" /* .0.....3.3.MPW 3 */
$"2E33" /* .3 */
};
data 'MPSR' (1005) {
$"0009 4D6F 6E61 636F 0000 0000 01AA 0049" /* ..Monaco.......I */
$"6C3C 004D 49AC 004D 480C 656C 0000 0014" /* l<.MI..MH.el.... */
$"0005 0006 0004 0031 000A 015D 01E0 0031" /* .......1...]...1 */
$"000A 015D 01E0 A664 D9C0 0000 0000 0000" /* ...]...d........ */
$"0000 0000 0000 0100" /* ........ */
};
data 'MPSR' (1008) {
$"0031 000A 015D 01E0 0031 000A 015D 01E0" /* .1...]...1...].. */
$"0000 0000 0000 0000 0000 0000 0000" /* .............. */
};

View File

@ -0,0 +1,61 @@
/************************************************************
Created: Wednesday, September 11, 1991 at 2:05 PM
CRMSerialDevices.h
C Interface to the Macintosh Libraries
Copyright Apple Computer, Inc. 1988-1991
All rights reserved
************************************************************/
#ifndef __CRMSERIALDEVICES__
#define __CRMSERIALDEVICES__
#ifndef __TYPES__
#include <Types.h>
#endif
enum {
/* for the crmDeviceType field of the CRMRec data structure */
crmSerialDevice = 1,
/* version of the CRMSerialRecord below */
curCRMSerRecVers = 1
};
/* Maintains compatibility w/ apps & tools that expect an old style icon */
struct CRMIconRecord {
long oldIcon[32]; /* ICN# */
long oldMask[32];
Handle theSuite; /* Handle to an IconSuite */
long reserved;
};
typedef struct CRMIconRecord CRMIconRecord;
typedef CRMIconRecord *CRMIconPtr, **CRMIconHandle;
struct CRMSerialRecord {
short version;
StringHandle inputDriverName;
StringHandle outputDriverName;
StringHandle name;
CRMIconHandle deviceIcon;
long ratedSpeed;
long maxSpeed;
long reserved;
};
typedef struct CRMSerialRecord CRMSerialRecord;
typedef CRMSerialRecord *CRMSerialPtr;
#endif

View File

@ -0,0 +1 @@
TEXTMPS

View File

@ -0,0 +1,25 @@
data 'vers' (1) {
$"0321 8000 0000 0533 2E32 2E31 2833 2E32" /* .!.....3.2.1(3.2 */
$"2E31 2C20 A920 4170 706C 6520 436F 6D70" /* .1, . Apple Comp */
$"7574 6572 2C20 496E 632E 2031 3938 352D" /* uter, Inc. 1985- */
$"3139 3932 2E" /* 1992. */
};
data 'vers' (2, purgeable) {
$"0330 8000 0000 0333 2E33 074D 5057 2033" /* .0.....3.3.MPW 3 */
$"2E33" /* .3 */
};
data 'MPSR' (1005) {
$"0009 4D6F 6E61 636F 0022 0064 0000 F718" /* ..Monaco.".d.... */
$"004D 48BC 0000 0000 004D 49A0 006C 7564" /* .MH......MI..lud */
$"0000 0006 0004 0031 000A 015D 01E0 0031" /* .......1...]...1 */
$"000A 015D 01E0 A664 D9C0 0000 0000 0000" /* ...]...d........ */
$"0000 0000 0000 0100" /* ........ */
};
data 'MPSR' (1008) {
$"0031 000A 015D 01E0 0031 000A 015D 01E0" /* .1...]...1...].. */
$"0000 0000 0000 0000 0000 0000 0000" /* .............. */
};

View File

@ -0,0 +1,141 @@
/************************************************************
Created: Tuesday, September 10, 1991 at 10:29 AM
CTBUtilities.h
C Interface to the Macintosh Libraries
Copyright Apple Computer, Inc. 1988-1991
All rights reserved
************************************************************/
#ifndef __CTBUTILITIES__
#define __CTBUTILITIES__
#ifndef __MEMORY__
#include <Memory.h>
#endif
#ifndef __PACKAGES__
#include <Packages.h>
#endif
#ifndef __APPLETALK__
#include <AppleTalk.h>
#endif
enum {
/* version of Comm Toolbox Utilities */
curCTBUVersion = 2,
/* Error codes/types */
ctbuGenericError = -1,
ctbuNoErr = 0
};
typedef OSErr CTBUErr;
enum {chooseDisaster = -2,chooseFailed,chooseAborted,chooseOKMinor,chooseOKMajor,
chooseCancel};
typedef unsigned short ChooseReturnCode;
enum {nlOk,nlCancel,nlEject};
typedef unsigned short NuLookupReturnCode;
enum {nameInclude = 1,nameDisable,nameReject};
typedef unsigned short NameFilterReturnCode;
enum {zoneInclude = 1,zoneDisable,zoneReject};
typedef unsigned short ZoneFilterReturnCode;
enum {
/* Values for hookProc items */
hookOK = 1,
hookCancel = 2,
hookOutline = 3,
hookTitle = 4,
hookItemList = 5,
hookZoneTitle = 6,
hookZoneList = 7,
hookLine = 8,
hookVersion = 9,
hookReserved1 = 10,
hookReserved2 = 11,
hookReserved3 = 12,
hookReserved4 = 13,
/* "virtual" hookProc items */
hookNull = 100,
hookItemRefresh = 101,
hookZoneRefresh = 102,
hookEject = 103,
hookPreflight = 104,
hookPostflight = 105,
hookKeyBase = 1000
};
/* NuLookup structures/constants */
struct NLTypeEntry {
Handle hIcon;
Str32 typeStr;
};
typedef struct NLTypeEntry NLTypeEntry;
typedef NLTypeEntry NLType[4];
struct NBPReply {
EntityName theEntity;
AddrBlock theAddr;
};
typedef struct NBPReply NBPReply;
typedef pascal short (*NameFilterProcPtr)(EntityName theEntity);
typedef pascal short (*ZoneFilterProcPtr)(Str32 theZone);
typedef NameFilterProcPtr nameFilterProcPtr;
typedef ZoneFilterProcPtr zoneFilterProcPtr;
#ifdef __cplusplus
extern "C" {
#endif
pascal CTBUErr InitCTBUtilities(void);
pascal short CTBGetCTBVersion(void);
pascal short StandardNBP(Point where,ConstStr255Param prompt,short numTypes,
NLType typeList,NameFilterProcPtr nameFilter,ZoneFilterProcPtr zoneFilter,
DlgHookProcPtr hookProc,NBPReply *theReply);
pascal short CustomNBP(Point where,ConstStr255Param prompt,short numTypes,
NLType typeList,NameFilterProcPtr nameFilter,ZoneFilterProcPtr zoneFilter,
DlgHookProcPtr hookProc,long userData,short dialogID,ModalFilterProcPtr filterProc,
NBPReply *theReply);
/* Obsolete synonyms for above routines */
pascal short NuLookup(Point where,ConstStr255Param prompt,short numTypes,
NLType typeList,NameFilterProcPtr nameFilter,ZoneFilterProcPtr zoneFilter,
DlgHookProcPtr hookProc,NBPReply *theReply);
pascal short NuPLookup(Point where,ConstStr255Param prompt,short numTypes,
NLType typeList,NameFilterProcPtr nameFilter,ZoneFilterProcPtr zoneFilter,
DlgHookProcPtr hookProc,long userData,short dialogID,ModalFilterProcPtr filterProc,
NBPReply *theReply);
#ifdef __cplusplus
}
#endif
#endif

View File

@ -0,0 +1 @@
TEXTMPS

View File

@ -0,0 +1,25 @@
data 'vers' (1) {
$"0321 8000 0000 0533 2E32 2E31 2833 2E32" /* .!.....3.2.1(3.2 */
$"2E31 2C20 A920 4170 706C 6520 436F 6D70" /* .1, . Apple Comp */
$"7574 6572 2C20 496E 632E 2031 3938 352D" /* uter, Inc. 1985- */
$"3139 3932 2E" /* 1992. */
};
data 'vers' (2, purgeable) {
$"0330 8000 0000 0333 2E33 074D 5057 2033" /* .0.....3.3.MPW 3 */
$"2E33" /* .3 */
};
data 'MPSR' (1005) {
$"0009 4D6F 6E61 636F 0000 0000 004D 4CF8" /* ..Monaco.....ML. */
$"000A 01D1 0000 0014 0005 FA70 000A 8001" /* ...........p.... */
$"8001 0006 0004 0031 000A 015D 01E0 0031" /* .......1...]...1 */
$"000A 015D 01E0 A664 D9C0 0000 0000 0000" /* ...]...d........ */
$"0000 0000 0000 0100" /* ........ */
};
data 'MPSR' (1008) {
$"0031 000A 015D 01E0 0031 000A 015D 01E0" /* .1...]...1...].. */
$"0000 0000 0000 0000 0000 0000 0000" /* .............. */
};

View File

@ -0,0 +1,75 @@
/************************************************************
CType.h
Character handling
Copyright American Telephone & Telegraph
Used with permission, Apple Computer Inc. 1985-1990, 1992.
All Rights Reserved.
************************************************************/
#ifndef __CTYPE__
#define __CTYPE__
/* @(#)ctype.h 2.1 */
/* 3.0 SID # 1.2 */
#define _U 01
#define _L 02
#define _N 04
#define _S 010
#define _P 020
#define _C 040
#define _B 0100
#define _X 0200
extern char * const __p_CType;
#ifdef __cplusplus
extern "C" {
#endif
int isalnum (int c);
#define isalnum(c) ((__p_CType)[c]&(_U|_L|_N))
int isalpha (int c);
#define isalpha(c) ((__p_CType)[c]&(_U|_L))
int iscntrl (int c);
#define iscntrl(c) ((__p_CType)[c]&_C)
int isdigit (int c);
#define isdigit(c) ((__p_CType)[c]&_N)
int isgraph (int c);
#define isgraph(c) ((__p_CType)[c]&(_P|_U|_L|_N))
int islower (int c);
#define islower(c) ((__p_CType)[c]&_L)
int isprint (int c);
#define isprint(c) ((__p_CType)[c]&(_P|_U|_L|_N|_B))
int ispunct (int c);
#define ispunct(c) ((__p_CType)[c]&_P)
int isspace (int c);
#define isspace(c) ((__p_CType)[c]&_S)
int isupper (int c);
#define isupper(c) ((__p_CType)[c]&_U)
int isxdigit (int c);
#define isxdigit(c) ((__p_CType)[c]&_X)
int tolower (int c);
int toupper (int c);
#ifndef __STDC__
int isascii (int c);
#define isascii(c) ( (unsigned int) (c) <= 0177)
#define __tolower(c) ((c)-'A'+'a')
#define __toupper(c) ((c)-'a'+'A')
int toascii (int c);
#define toascii(c) ((c)&0177)
#endif
#ifdef __cplusplus
}
#endif
#endif

View File

@ -0,0 +1 @@
TEXTMPS

View File

@ -0,0 +1,24 @@
data 'vers' (1, purgeable) {
$"0303 8000 0000 0333 2E33 2333 2E33 2C20" /* .......3.3#3.3, */
$"A920 4170 706C 6520 436F 6D70 7574 6572" /* . Apple Computer */
$"2C20 496E 632E 2031 3938 352D 3933" /* , Inc. 1985-93 */
};
data 'vers' (2, purgeable) {
$"0330 8000 0000 0333 2E33 074D 5057 2033" /* .0.....3.3.MPW 3 */
$"2E33" /* .3 */
};
data 'MPSR' (1005) {
$"0009 4D6F 6E61 636F 0063 6C75 6465 733A" /* ..Monaco.cludes: */
$"4354 7970 652E 6800 0000 0034 0000 0030" /* CType.h....4...0 */
$"0000 0006 0004 0031 000A 015D 01E0 0031" /* .......1...]...1 */
$"000A 015D 01E0 A804 2240 0000 0000 0000" /* ...]...."@...... */
$"0000 0000 0000 0100" /* ........ */
};
data 'MPSR' (1008) {
$"0031 000A 015D 01E0 0031 000A 015D 01E0" /* .1...]...1...].. */
$"0000 0000 0000 0000 0000 0000 0000" /* .............. */
};

View File

@ -0,0 +1,108 @@
/************************************************************
Created: Thursday, September 12, 1991 at 11:53 AM
CommResources.h
C Interface to the Macintosh Libraries
Copyright Apple Computer, Inc. 1988-1991
All rights reserved
************************************************************/
#ifndef __COMMRESOURCES__
#define __COMMRESOURCES__
#ifndef __OSUTILS__
#include <OSUtils.h>
#endif
enum {
/* version of the Comm Resource Manager */
curCRMVersion = 2,
/* tool classes (also the tool file types) */
#define classCM 'cbnd'
#define classFT 'fbnd'
#define classTM 'tbnd'
/* constants general to the use of the Communications Resource Manager */
crmType = 9, /* queue type */
crmRecVersion = 1, /* version of queue structure */
/* error codes */
crmGenericError = -1,
crmNoErr = 0
};
/* data structures general to the use of the Communications Resource Manager */
typedef OSErr CRMErr;
struct CRMRec {
QElemPtr qLink; /*reserved*/
short qType; /*queue type -- ORD(crmType) = 9*/
short crmVersion; /*version of queue element data structure*/
long crmPrivate; /*reserved*/
short crmReserved; /*reserved*/
long crmDeviceType; /*type of device, assigned by DTS*/
long crmDeviceID; /*device ID; assigned when CRMInstall is called*/
long crmAttributes; /*pointer to attribute block*/
long crmStatus; /*status variable - device specific*/
long crmRefCon; /*for device private use*/
};
typedef struct CRMRec CRMRec;
typedef CRMRec *CRMRecPtr;
#ifdef __cplusplus
extern "C" {
#endif
pascal CRMErr InitCRM(void);
pascal QHdrPtr CRMGetHeader(void);
pascal void CRMInstall(QElemPtr crmReqPtr);
pascal OSErr CRMRemove(QElemPtr crmReqPtr);
pascal QElemPtr CRMSearch(QElemPtr crmReqPtr);
pascal short CRMGetCRMVersion(void);
pascal Handle CRMGetResource(ResType theType,short theID);
pascal Handle CRMGet1Resource(ResType theType,short theID);
pascal Handle CRMGetIndResource(ResType theType,short index);
pascal Handle CRMGet1IndResource(ResType theType,short index);
pascal Handle CRMGetNamedResource(ResType theType,ConstStr255Param name);
pascal Handle CRMGet1NamedResource(ResType theType,ConstStr255Param name);
pascal void CRMReleaseResource(Handle theHandle);
pascal Handle CRMGetToolResource(short procID,ResType theType,short theID);
pascal Handle CRMGetToolNamedResource(short procID,ResType theType,ConstStr255Param name);
pascal void CRMReleaseToolResource(short procID,Handle theHandle);
pascal long CRMGetIndex(Handle theHandle);
pascal short CRMLocalToRealID(ResType bundleType,short toolID,ResType theType,
short localID);
pascal short CRMRealToLocalID(ResType bundleType,short toolID,ResType theType,
short realID);
pascal OSErr CRMGetIndToolName(OSType bundleType,short index,Str255 toolName);
pascal OSErr CRMFindCommunications(short *vRefNum,long *dirID);
pascal Boolean CRMIsDriverOpen(ConstStr255Param driverName);
pascal CRMErr CRMParseCAPSResource(Handle theHandle,ResType selector,unsigned long *value);
pascal OSErr CRMReserveRF(short refNum);
/* decrements useCount by one */
pascal OSErr CRMReleaseRF(short refNum);
#ifdef __cplusplus
}
#endif
#endif

View File

@ -0,0 +1 @@
TEXTMPS

View File

@ -0,0 +1,25 @@
data 'vers' (1) {
$"0321 8000 0000 0533 2E32 2E31 2833 2E32" /* .!.....3.2.1(3.2 */
$"2E31 2C20 A920 4170 706C 6520 436F 6D70" /* .1, . Apple Comp */
$"7574 6572 2C20 496E 632E 2031 3938 352D" /* uter, Inc. 1985- */
$"3139 3932 2E" /* 1992. */
};
data 'vers' (2, purgeable) {
$"0330 8000 0000 0333 2E33 074D 5057 2033" /* .0.....3.3.MPW 3 */
$"2E33" /* .3 */
};
data 'MPSR' (1005) {
$"0009 4D6F 6E61 636F 0000 000C 5265 706C" /* ..Monaco....Repl */
$"6163 6520 5361 6D65 0054 0000 0057 332E" /* ace Same.T...W3. */
$"0000 0006 0004 0031 000A 015D 01E0 0031" /* .......1...]...1 */
$"000A 015D 01E0 A664 D9C0 0000 0000 0000" /* ...]...d........ */
$"0000 0000 0000 0100" /* ........ */
};
data 'MPSR' (1008) {
$"0031 000A 015D 01E0 0031 000A 015D 01E0" /* .1...]...1...].. */
$"0000 0000 0000 0000 0000 0000 0000" /* .............. */
};

View File

@ -0,0 +1,239 @@
/************************************************************
Created: Wednesday, October 21, 1992 at 2:55 PM
Components.h
C Interface to the Macintosh Libraries
Copyright Apple Computer, Inc. 1991, 1992
All rights reserved
************************************************************/
#ifndef __COMPONENTS__
#define __COMPONENTS__
#ifndef __TYPES__
#include <Types.h>
#endif
#ifndef __MEMORY__
#include <Memory.h>
#endif
#ifndef kSmallestArray
#define kSmallestArray 1
#endif
#define gestaltComponentMgr 'cpnt'
#define kAnyComponentType 0
#define kAnyComponentSubType 0
#define kAnyComponentManufacturer 0
#define kAnyComponentFlagsMask 0
#define cmpWantsRegisterMessage 1L<<31
typedef struct
{
OSType componentType; /* A unique 4-byte code indentifying the command set */
OSType componentSubType; /* Particular flavor of this instance */
OSType componentManufacturer; /* Vendor indentification */
unsigned long componentFlags; /* 8 each for Component,Type,SubType,Manuf/revision */
unsigned long componentFlagsMask; /* Mask for specifying which flags to consider in search, zero during registration */
} ComponentDescription;
typedef struct
{
OSType resType; /* 4-byte code */
short resID; /* */
} ResourceSpec;
struct ComponentResource {
ComponentDescription cd; /* Registration parameters */
ResourceSpec component; /* resource where Component code is found */
ResourceSpec componentName; /* name string resource */
ResourceSpec componentInfo; /* info string resource */
ResourceSpec componentIcon; /* icon resource */
};
typedef struct ComponentResource ComponentResource;
typedef ComponentResource *ComponentResourcePtr, **ComponentResourceHandle;
#ifndef _PrivateThingManager_
typedef struct privateComponentRecord *Component;
typedef struct privateComponentInstanceRecord *ComponentInstance;
#endif _PrivateThingManager_
/* Structure received by Component: */
typedef struct
{
unsigned char flags; /* call modifiers: sync/async, deferred, immed, etc */
unsigned char paramSize; /* size in bytes of actual parameters passed to this call */
short what; /* routine selector, negative for Component management calls */
long params[kSmallestArray]; /* actual parameters for the indicated routine */
} ComponentParameters;
typedef long ComponentResult;
typedef pascal ComponentResult (*ComponentRoutine)
(ComponentParameters *cp, Handle componentStorage );
typedef pascal ComponentResult (*ComponentFunction)();
#define ComponentCallNow(callNumber, paramSize) {0x2f3c,paramSize,callNumber,0x7000,0xA82A}
/********************************************************
* Required Component routines
********************************************************/
#define kComponentOpenSelect -1 /* ComponentInstance for this open */
#define kComponentCloseSelect -2 /* ComponentInstance for this close */
#define kComponentCanDoSelect -3 /* selector # being queried */
#define kComponentVersionSelect -4 /* no params */
#define kComponentRegisterSelect -5 /* no params */
#define kComponentTargetSelect -6 /* ComponentInstance for top of call chain */
enum { /* Set Default Component flags */
defaultComponentIdentical = 0,
defaultComponentAnyFlags = 1,
defaultComponentAnyManufacturer = 2,
defaultComponentAnySubType = 4
};
#define defaultComponentAnyFlagsAnyManufacturer defaultComponentAnyFlags+defaultComponentAnyManufacturer
#define defaultComponentAnyFlagsAnyManufacturerAnySubType defaultComponentAnyFlags+defaultComponentAnyManufacturer+defaultComponentAnySubType
enum { /* errors from component manager & components */
invalidComponentID = -3000,
validInstancesExist = -3001,
componentNotCaptured = -3002,
componentDontRegister = -3003
};
#define badComponentInstance 0x80008001
#define badComponentSelector 0x80008002
#ifdef __cplusplus
extern "C" {
#endif __cplusplus
/********************************************************
* *
* APPLICATION LEVEL CALLS *
* *
********************************************************/
/********************************************************
* Component Database Add, Delete, and Query Routines
********************************************************/
pascal Component RegisterComponent(ComponentDescription *cd, ComponentRoutine componentEntryPoint, short global, Handle componentName, Handle componentInfo, Handle componentIcon)
= {0x7001,0xA82A};
pascal Component RegisterComponentResource(ComponentResourceHandle cr, short global)
= {0x7012,0xA82A};
pascal OSErr UnregisterComponent(Component aComponent)
= {0x7002,0xA82A};
pascal Component FindNextComponent(Component aComponent, ComponentDescription *looking)
= {0x7004,0xA82A};
pascal long CountComponents(ComponentDescription *looking)
= {0x7003,0xA82A};
pascal OSErr GetComponentInfo(Component aComponent, ComponentDescription *cd, Handle componentName, Handle componentInfo, Handle componentIcon)
= {0x7005,0xA82A};
pascal long GetComponentListModSeed( void )
= {0x7006,0xA82A};
/********************************************************
* Component Instance Allocation and dispatch routines
********************************************************/
pascal ComponentInstance OpenComponent(Component aComponent)
= {0x7007,0xA82A};
pascal OSErr CloseComponent(ComponentInstance aComponentInstance)
= {0x7008,0xA82A};
pascal OSErr GetComponentInstanceError(ComponentInstance aComponentInstance)
= {0x700A,0xA82A};
/* direct calls to the Components */
pascal long ComponentFunctionImplemented(ComponentInstance ci, short ftnNumber) = {0x2F3C,0x2,0xFFFD,0x7000,0xA82A};
pascal long GetComponentVersion(ComponentInstance ci) = {0x2F3C,0,0xFFFC,0x7000,0xA82A};
pascal long ComponentSetTarget(ComponentInstance ci, ComponentInstance target) = {0x2F3C,0x4,0xFFFA,0x7000,0xA82A};
/********************************************************
* *
* CALLS MADE BY ComponentS *
* *
********************************************************/
/********************************************************
* Component Management routines
********************************************************/
pascal void SetComponentInstanceError(ComponentInstance aComponentInstance, OSErr theError)
= {0x700B,0xA82A};
pascal long GetComponentRefcon(Component aComponent)
= {0x7010,0xA82A};
pascal void SetComponentRefcon(Component aComponent, long theRefcon)
= {0x7011,0xA82A};
pascal short OpenComponentResFile(Component aComponent)
= {0x7015,0xA82A};
pascal OSErr CloseComponentResFile(short refnum)
= {0x7018,0xA82A};
/********************************************************
* Component Instance Management routines
********************************************************/
pascal Handle GetComponentInstanceStorage(ComponentInstance aComponentInstance)
= {0x700C,0xA82A};
pascal void SetComponentInstanceStorage(ComponentInstance aComponentInstance, Handle theStorage)
= {0x700D,0xA82A};
pascal long GetComponentInstanceA5(ComponentInstance aComponentInstance)
= {0x700E,0xA82A};
pascal void SetComponentInstanceA5(ComponentInstance aComponentInstance, long theA5)
= {0x700F,0xA82A};
pascal long CountComponentInstances(Component aComponent)
= {0x7013,0xA82A};
/* useful helper routines for convenient method dispatching */
pascal long CallComponentFunction(ComponentParameters *params, ComponentFunction func ) = {0x70FF,0xA82A};
pascal long CallComponentFunctionWithStorage(Handle storage, ComponentParameters *params, ComponentFunction func ) = {0x70FF,0xA82A};
pascal long DelegateComponentCall( ComponentParameters *originalParams, ComponentInstance ci ) = {0x7024,0xA82A};
pascal OSErr SetDefaultComponent( Component aComponent, short flags )
= {0x701E,0xA82A};
pascal ComponentInstance OpenDefaultComponent( OSType componentType, OSType componentSubType )
= {0x7021,0xA82A};
pascal Component CaptureComponent( Component capturedComponent, Component capturingComponent )
= {0x701C,0xA82A};
pascal OSErr UncaptureComponent( Component aComponent )
= {0x701D,0xA82A};
pascal long RegisterComponentResourceFile(short resRefNum, short global)
= {0x7014,0xA82A};
#ifdef __cplusplus
}
#endif __cplusplus
#endif __COMPONENTS__

View File

@ -0,0 +1 @@
TEXTMPS

View File

@ -0,0 +1,18 @@
data 'vers' (2, purgeable) {
$"0330 8000 0000 0333 2E33 074D 5057 2033" /* .0.....3.3.MPW 3 */
$"2E33" /* .3 */
};
data 'MPSR' (1005) {
$"0009 4D6F 6E61 636F 006E 7473 2E68 0022" /* ..Monaco.nts.h." */
$"003A 4349 6E63 6C75 6465 733A 436F 6D70" /* .:CIncludes:Comp */
$"6F6E 0006 0004 0031 000A 015D 01E0 0031" /* on.....1...]...1 */
$"000A 015D 01E0 A78C 88F1 0000 0000 0000" /* ...]............ */
$"0000 0000 0000 0100" /* ........ */
};
data 'MPSR' (1008) {
$"0031 000A 015D 01E0 0031 000A 015D 01E0" /* .1...]...1...].. */
$"0000 0000 0000 0000 0000 0000 0000" /* .............. */
};

View File

@ -0,0 +1,128 @@
/************************************************************
Created: Wednesday, September 11, 1991 at 1:47 PM
ConnectionTools.h
C Interface to the Macintosh Libraries
Copyright Apple Computer, Inc. 1988-1991
All rights reserved
************************************************************/
#ifndef __CONNECTIONTOOLS__
#define __CONNECTIONTOOLS__
#ifndef __DIALOGS__
#include <Dialogs.h>
#endif
#ifndef __CONNECTIONS__
#include <Connections.h>
#endif
enum {
/* messages for DefProc */
cmInitMsg = 0,
cmDisposeMsg = 1,
cmSuspendMsg = 2,
cmResumeMsg = 3,
cmMenuMsg = 4,
cmEventMsg = 5,
cmActivateMsg = 6,
cmDeactivateMsg = 7,
cmIdleMsg = 50,
cmResetMsg = 51,
cmAbortMsg = 52,
cmReadMsg = 100,
cmWriteMsg = 101,
cmStatusMsg = 102,
cmListenMsg = 103,
cmAcceptMsg = 104,
cmCloseMsg = 105,
cmOpenMsg = 106,
cmBreakMsg = 107,
cmIOKillMsg = 108
};
enum {
cmEnvironsMsg = 109,
/* new connection tool messages for ctb 1.1 */
cmNewIOPBMsg = 110,
cmDisposeIOPBMsg = 111,
cmGetErrorStringMsg = 112,
cmPBReadMsg = 113,
cmPBWriteMsg = 114,
cmPBIOKillMsg = 115,
/* messages for validate DefProc */
cmValidateMsg = 0,
cmDefaultMsg = 1,
/* messages for Setup DefProc */
cmSpreflightMsg = 0,
cmSsetupMsg = 1,
cmSitemMsg = 2,
cmSfilterMsg = 3,
cmScleanupMsg = 4,
/* messages for scripting defProc */
cmMgetMsg = 0,
cmMsetMsg = 1,
/* messages for localization defProc */
cmL2English = 0,
cmL2Intl = 1
/* private data constants */
#define cdefType 'cdef' /* main connection definition procedure */
#define cvalType 'cval' /* validation definition procedure */
#define csetType 'cset' /* connection setup definition procedure */
#define clocType 'cloc' /* connection configuration localization defProc */
#define cscrType 'cscr' /* connection scripting defProc interfaces */
#define cbndType 'cbnd' /* bundle type for connection */
#define cverType 'vers'
};
struct CMDataBuffer {
Ptr thePtr;
long count;
CMChannel channel;
CMFlags flags;
};
typedef struct CMDataBuffer CMDataBuffer;
typedef CMDataBuffer *CMDataBufferPtr;
struct CMCompletorRecord {
Boolean async;
ProcPtr completionRoutine;
};
typedef struct CMCompletorRecord CMCompletorRecord;
typedef CMCompletorRecord *CMCompletorPtr;
/* Private Data Structure */
struct CMSetupStruct {
DialogPtr theDialog;
short count;
Ptr theConfig;
short procID; /* procID of the tool */
};
typedef struct CMSetupStruct CMSetupStruct;
typedef CMSetupStruct *CMSetupPtr;
#endif

View File

@ -0,0 +1 @@
TEXTMPS

View File

@ -0,0 +1,25 @@
data 'vers' (1) {
$"0321 8000 0000 0533 2E32 2E31 2833 2E32" /* .!.....3.2.1(3.2 */
$"2E31 2C20 A920 4170 706C 6520 436F 6D70" /* .1, . Apple Comp */
$"7574 6572 2C20 496E 632E 2031 3938 352D" /* uter, Inc. 1985- */
$"3139 3932 2E" /* 1992. */
};
data 'vers' (2, purgeable) {
$"0330 8000 0000 0333 2E33 074D 5057 2033" /* .0.....3.3.MPW 3 */
$"2E33" /* .3 */
};
data 'MPSR' (1005) {
$"0009 4D6F 6E61 636F 0000 015D 01E0 6163" /* ..Monaco...]..ac */
$"8200 0014 0005 FB80 000A 0000 0000 0000" /* ................ */
$"0000 0006 0004 0031 000A 015D 01E0 0031" /* .......1...]...1 */
$"000A 015D 01E0 A664 D9C0 0000 0000 0000" /* ...]...d........ */
$"0000 0000 0000 0100" /* ........ */
};
data 'MPSR' (1008) {
$"0031 000A 015D 01E0 0031 000A 015D 01E0" /* .1...]...1...].. */
$"0000 0000 0000 0000 0000 0000 0000" /* .............. */
};

View File

@ -0,0 +1,284 @@
/************************************************************
Created: Wednesday, September 11, 1991 at 11:31 AM
Connections.h
C Interface to the Macintosh Libraries
Copyright Apple Computer, Inc. 1988-1991
All rights reserved
************************************************************/
#ifndef __CONNECTIONS__
#define __CONNECTIONS__
#ifndef __DIALOGS__
#include <Dialogs.h>
#endif
#ifndef __CTBUTILITIES__
#include <CTBUtilities.h>
#endif
enum {
/* current Connection Manager version */
curCMVersion = 2,
/* current Connection Manager Environment Record version */
curConnEnvRecVers = 0,
/* CMErr */
cmGenericError = -1,
cmNoErr = 0,
cmRejected = 1,
cmFailed = 2,
cmTimeOut = 3,
cmNotOpen = 4,
cmNotClosed = 5,
cmNoRequestPending = 6,
cmNotSupported = 7,
cmNoTools = 8,
cmUserCancel = 9,
cmUnknownError = 11
};
typedef OSErr CMErr;
enum {
cmData = 1 << 0,
cmCntl = 1 << 1,
cmAttn = 1 << 2,
cmDataNoTimeout = 1 << 4,
cmCntlNoTimeout = 1 << 5,
cmAttnNoTimeout = 1 << 6,
cmDataClean = 1 << 8,
cmCntlClean = 1 << 9,
cmAttnClean = 1 << 10,
/* Only for CMRecFlags (not CMChannel) in the rest of this enum */
cmNoMenus = 1 << 16,
cmQuiet = 1 << 17,
cmConfigChanged = 1 << 18
};
/* CMRecFlags and CMChannel */
/* Low word of CMRecFlags is same as CMChannel */
typedef long CMRecFlags;
typedef short CMChannel;
enum {
cmStatusOpening = 1 << 0,
cmStatusOpen = 1 << 1,
cmStatusClosing = 1 << 2,
cmStatusDataAvail = 1 << 3,
cmStatusCntlAvail = 1 << 4,
cmStatusAttnAvail = 1 << 5,
cmStatusDRPend = 1 << 6, /* data read pending */
cmStatusDWPend = 1 << 7, /* data write pending */
cmStatusCRPend = 1 << 8, /* cntl read pending */
cmStatusCWPend = 1 << 9, /* cntl write pending */
cmStatusARPend = 1 << 10, /* attn read pending */
cmStatusAWPend = 1 << 11, /* attn write pending */
cmStatusBreakPend = 1 << 12,
cmStatusListenPend = 1 << 13,
cmStatusIncomingCallPresent = 1 << 14,
cmStatusReserved0 = 1 << 15
};
typedef unsigned long CMStatFlags;
enum {cmDataIn,cmDataOut,cmCntlIn,cmCntlOut,cmAttnIn,cmAttnOut,cmRsrvIn,
cmRsrvOut};
typedef unsigned short CMBufFields;
typedef Ptr CMBuffers[8];
typedef long CMBufferSizes[8];
typedef const long *ConstCMBufferSizesParam;
enum {cmSearchSevenBit = 1 << 0};
typedef unsigned short CMSearchFlags;
enum {cmFlagsEOM = 1 << 0};
typedef unsigned short CMFlags;
struct ConnEnvironRec {
short version;
long baudRate;
short dataBits;
CMChannel channels;
Boolean swFlowControl;
Boolean hwFlowControl;
CMFlags flags;
};
typedef struct ConnEnvironRec ConnEnvironRec;
typedef ConnEnvironRec *ConnEnvironRecPtr;
struct ConnRecord {
short procID;
CMRecFlags flags;
CMErr errCode;
long refCon;
long userData;
ProcPtr defProc;
Ptr config;
Ptr oldConfig;
long asyncEOM;
long reserved1;
long reserved2;
Ptr cmPrivate;
CMBuffers bufferArray;
CMBufferSizes bufSizes;
long mluField;
CMBufferSizes asyncCount;
};
typedef struct ConnRecord ConnRecord;
typedef ConnRecord *ConnPtr, **ConnHandle;
/* application routines type definitions */
typedef pascal void (*ConnectionSearchCallBackProcPtr) (ConnHandle hConn, Ptr matchPtr, long refNum);
typedef pascal void (*ConnectionCompletionProcPtr) (ConnHandle hConn);
typedef pascal void (*ConnectionChooseIdleProcPtr) (void);
enum {
/* CMIOPB constants and structure */
cmIOPBQType = 10,
cmIOPBversion = 0
};
struct CMIOPB {
QElemPtr qLink;
short qType; /* cmIOPBQType */
ConnHandle hConn;
Ptr theBuffer;
long count;
CMFlags flags;
ConnectionCompletionProcPtr userCompletion;
long timeout;
CMErr errCode;
CMChannel channel;
long asyncEOM;
long reserved1;
short reserved2;
short version; /* cmIOPBversion */
long refCon; /* for application */
long toolData1; /* for tool */
long toolData2; /* for tool */
};
typedef struct CMIOPB CMIOPB;
typedef CMIOPB *CMIOPBPtr;
#ifdef __cplusplus
extern "C" {
#endif
pascal CMErr InitCM(void);
pascal Handle CMGetVersion(ConnHandle hConn);
pascal short CMGetCMVersion(void);
pascal ConnHandle CMNew(short procID,CMRecFlags flags,ConstCMBufferSizesParam desiredSizes,
long refCon,long userData);
pascal void CMDispose(ConnHandle hConn);
pascal CMErr CMListen(ConnHandle hConn,Boolean async,ConnectionCompletionProcPtr completor,
long timeout);
pascal CMErr CMAccept(ConnHandle hConn,Boolean accept);
pascal CMErr CMOpen(ConnHandle hConn,Boolean async,ConnectionCompletionProcPtr completor,
long timeout);
pascal CMErr CMClose(ConnHandle hConn,Boolean async,ConnectionCompletionProcPtr completor,
long timeout,Boolean now);
pascal CMErr CMAbort(ConnHandle hConn);
pascal CMErr CMStatus(ConnHandle hConn,CMBufferSizes sizes,CMStatFlags *flags);
pascal void CMIdle(ConnHandle hConn);
pascal void CMReset(ConnHandle hConn);
pascal void CMBreak(ConnHandle hConn,long duration,Boolean async,ConnectionCompletionProcPtr completor);
pascal CMErr CMRead(ConnHandle hConn,void *theBuffer,long *toRead,CMChannel theChannel,
Boolean async,ConnectionCompletionProcPtr completor,long timeout,CMFlags *flags);
pascal CMErr CMWrite(ConnHandle hConn,const void *theBuffer,long *toWrite,
CMChannel theChannel,Boolean async,ConnectionCompletionProcPtr completor,
long timeout,CMFlags flags);
pascal CMErr CMIOKill(ConnHandle hConn,short which);
pascal void CMActivate(ConnHandle hConn,Boolean activate);
pascal void CMResume(ConnHandle hConn,Boolean resume);
pascal Boolean CMMenu(ConnHandle hConn,short menuID,short item);
pascal Boolean CMValidate(ConnHandle hConn);
pascal void CMDefault(Ptr *theConfig,short procID,Boolean allocate);
pascal Handle CMSetupPreflight(short procID,long *magicCookie);
pascal Boolean CMSetupFilter(short procID,const void *theConfig,short count,
DialogPtr theDialog,EventRecord *theEvent,short *theItem,long *magicCookie);
pascal void CMSetupSetup(short procID,const void *theConfig,short count,
DialogPtr theDialog,long *magicCookie);
pascal void CMSetupItem(short procID,const void *theConfig,short count,
DialogPtr theDialog,short *theItem,long *magicCookie);
pascal void CMSetupXCleanup(short procID,const void *theConfig,short count,
DialogPtr theDialog,Boolean OKed,long *magicCookie);
pascal void CMSetupPostflight(short procID);
pascal Ptr CMGetConfig(ConnHandle hConn);
pascal short CMSetConfig(ConnHandle hConn,const void *thePtr);
pascal OSErr CMIntlToEnglish(ConnHandle hConn,const void *inputPtr,Ptr *outputPtr,
short language);
pascal OSErr CMEnglishToIntl(ConnHandle hConn,const void *inputPtr,Ptr *outputPtr,
short language);
pascal long CMAddSearch(ConnHandle hConn,ConstStr255Param theString,CMSearchFlags flags,
ConnectionSearchCallBackProcPtr callBack);
pascal void CMRemoveSearch(ConnHandle hConn,long refnum);
pascal void CMClearSearch(ConnHandle hConn);
pascal CMErr CMGetConnEnvirons(ConnHandle hConn,ConnEnvironRec *theEnvirons);
pascal short CMChoose(ConnHandle *hConn,Point where,ConnectionChooseIdleProcPtr idleProc);
pascal void CMEvent(ConnHandle hConn,const EventRecord *theEvent);
pascal void CMGetToolName(short procID,Str255 name);
pascal short CMGetProcID(ConstStr255Param name);
pascal void CMSetRefCon(ConnHandle hConn,long refCon);
pascal long CMGetRefCon(ConnHandle hConn);
pascal long CMGetUserData(ConnHandle hConn);
pascal void CMSetUserData(ConnHandle hConn,long userData);
pascal void CMGetErrorString(ConnHandle hConn,short id,Str255 errMsg);
pascal CMErr CMNewIOPB(ConnHandle hConn,CMIOPBPtr *theIOPB);
pascal CMErr CMDisposeIOPB(ConnHandle hConn,CMIOPBPtr theIOPB);
pascal CMErr CMPBRead(ConnHandle hConn,CMIOPBPtr theIOPB,Boolean async);
pascal CMErr CMPBWrite(ConnHandle hConn,CMIOPBPtr theIOPB,Boolean async);
pascal CMErr CMPBIOKill(ConnHandle hConn,CMIOPBPtr theIOPB);
#ifdef __cplusplus
}
#endif
#endif

View File

@ -0,0 +1 @@
TEXTMPS

View File

@ -0,0 +1,25 @@
data 'vers' (1) {
$"0321 8000 0000 0533 2E32 2E31 2833 2E32" /* .!.....3.2.1(3.2 */
$"2E31 2C20 A920 4170 706C 6520 436F 6D70" /* .1, . Apple Comp */
$"7574 6572 2C20 496E 632E 2031 3938 352D" /* uter, Inc. 1985- */
$"3139 3932 2E" /* 1992. */
};
data 'vers' (2, purgeable) {
$"0330 8000 0000 0333 2E33 074D 5057 2033" /* .0.....3.3.MPW 3 */
$"2E33" /* .3 */
};
data 'MPSR' (1005) {
$"0009 4D6F 6E61 636F 0065 7456 6572 7369" /* ..Monaco.etVersi */
$"6F6E 2843 6F6E 6E48 616E 646C 6520 6843" /* on(ConnHandle hC */
$"6F6E 0006 0004 0031 000A 015D 01E0 0031" /* on.....1...]...1 */
$"000A 015D 01E0 A664 D9C0 0000 0000 0000" /* ...]...d........ */
$"0000 0000 0000 0100" /* ........ */
};
data 'MPSR' (1008) {
$"0031 000A 015D 01E0 0031 000A 015D 01E0" /* .1...]...1...].. */
$"0000 0000 0000 0000 0000 0000 0000" /* .............. */
};

View File

@ -0,0 +1,210 @@
/************************************************************
Created: Sunday, January 6, 1991 at 9:03 PM
Controls.h
C Interface to the Macintosh Libraries
Copyright Apple Computer, Inc. 1985-1990
All rights reserved
************************************************************/
#ifndef __CONTROLS__
#define __CONTROLS__
#ifndef __QUICKDRAW__
#include <Quickdraw.h>
#endif
enum {
pushButProc = 0,
checkBoxProc = 1,
radioButProc = 2,
useWFont = 8,
scrollBarProc = 16,
inButton = 10,
inCheckBox = 11,
inUpButton = 20,
inDownButton = 21,
inPageUp = 22,
inPageDown = 23,
inThumb = 129,
popupMenuProc = 1008, /* 63 * 16 */
inLabel = 1,
inMenu = 2,
inTriangle = 4
};
enum { popupFixedWidth = 1 << 0, popupReserved = 1 << 1, popupUseAddResMenu = 1 << 2,
popupUseWFont = 1 << 3};
enum { popupTitleBold = 1 << 8, popupTitleItalic = 1 << 9, popupTitleUnderline = 1 << 10,
popupTitleOutline = 1 << 11, popupTitleShadow = 1 << 12, popupTitleCondense = 1 << 13,
popupTitleExtend = 1 << 14, popupTitleNoStyle = 1 << 15};
enum {
popupTitleLeftJust = 0x00000000,
popupTitleCenterJust = 0x00000001,
popupTitleRightJust = 0x000000FF,
/*
axis constraints for DragGrayRgn call*/
noConstraint = 0,
hAxisOnly = 1,
vAxisOnly = 2,
/*
control messages*/
drawCntl = 0,
testCntl = 1,
calcCRgns = 2,
initCntl = 3,
dispCntl = 4,
posCntl = 5,
thumbCntl = 6,
dragCntl = 7,
autoTrack = 8,
calcCntlRgn = 10,
calcThumbRgn = 11,
cFrameColor = 0,
cBodyColor = 1,
cTextColor = 2
};
enum {
cThumbColor = 3
};
struct ControlRecord {
struct ControlRecord **nextControl;
WindowPtr contrlOwner;
Rect contrlRect;
unsigned char contrlVis;
unsigned char contrlHilite;
short contrlValue;
short contrlMin;
short contrlMax;
Handle contrlDefProc;
Handle contrlData;
ProcPtr contrlAction;
long contrlRfCon;
Str255 contrlTitle;
};
typedef struct ControlRecord ControlRecord;
typedef ControlRecord *ControlPtr, **ControlHandle;
struct CtlCTab {
long ccSeed; /*reserved*/
short ccRider; /*see what you have done - reserved*/
short ctSize; /*usually 3 for controls*/
ColorSpec ctTable[4];
};
typedef struct CtlCTab CtlCTab;
typedef CtlCTab *CCTabPtr, **CCTabHandle;
struct AuxCtlRec {
Handle acNext; /*handle to next AuxCtlRec*/
ControlHandle acOwner; /*handle for aux record's control*/
CCTabHandle acCTable; /*color table for this control*/
short acFlags; /*misc flag byte*/
long acReserved; /*reserved for use by Apple*/
long acRefCon; /*for use by application*/
};
typedef struct AuxCtlRec AuxCtlRec;
typedef AuxCtlRec *AuxCtlPtr, **AuxCtlHandle;
#ifdef __cplusplus
extern "C" {
#endif
pascal ControlHandle NewControl(WindowPtr theWindow,const Rect *boundsRect,
ConstStr255Param title,Boolean visible,short value,short min,short max,
short procID,long refCon)
= 0xA954;
pascal void SetCTitle(ControlHandle theControl,ConstStr255Param title)
= 0xA95F;
pascal void GetCTitle(ControlHandle theControl,Str255 title)
= 0xA95E;
pascal ControlHandle GetNewControl(short controlID,WindowPtr owner)
= 0xA9BE;
pascal void DisposeControl(ControlHandle theControl)
= 0xA955;
pascal void KillControls(WindowPtr theWindow)
= 0xA956;
pascal void HideControl(ControlHandle theControl)
= 0xA958;
pascal void ShowControl(ControlHandle theControl)
= 0xA957;
pascal void DrawControls(WindowPtr theWindow)
= 0xA969;
pascal void Draw1Control(ControlHandle theControl)
= 0xA96D;
pascal void HiliteControl(ControlHandle theControl,short hiliteState)
= 0xA95D;
pascal void UpdtControl(WindowPtr theWindow,RgnHandle updateRgn)
= 0xA953;
pascal void UpdateControls(WindowPtr theWindow,RgnHandle updateRgn)
= 0xA953;
pascal void MoveControl(ControlHandle theControl,short h,short v)
= 0xA959;
pascal void SizeControl(ControlHandle theControl,short w,short h)
= 0xA95C;
pascal void SetCtlValue(ControlHandle theControl,short theValue)
= 0xA963;
pascal short GetCtlValue(ControlHandle theControl)
= 0xA960;
pascal void SetCtlMin(ControlHandle theControl,short minValue)
= 0xA964;
pascal short GetCtlMin(ControlHandle theControl)
= 0xA961;
pascal void SetCtlMax(ControlHandle theControl,short maxValue)
= 0xA965;
pascal short GetCtlMax(ControlHandle theControl)
= 0xA962;
pascal void SetCRefCon(ControlHandle theControl,long data)
= 0xA95B;
pascal long GetCRefCon(ControlHandle theControl)
= 0xA95A;
pascal void SetCtlAction(ControlHandle theControl,ProcPtr actionProc)
= 0xA96B;
pascal ProcPtr GetCtlAction(ControlHandle theControl)
= 0xA96A;
pascal void DragControl(ControlHandle theControl,Point startPt,const Rect *limitRect,
const Rect *slopRect,short axis)
= 0xA967;
pascal short TestControl(ControlHandle theControl,Point thePt)
= 0xA966;
pascal short TrackControl(ControlHandle theControl,Point thePoint,ProcPtr actionProc)
= 0xA968;
pascal short FindControl(Point thePoint,WindowPtr theWindow,ControlHandle *theControl)
= 0xA96C;
pascal void SetCtlColor(ControlHandle theControl,CCTabHandle newColorTable)
= 0xAA43;
pascal Boolean GetAuxCtl(ControlHandle theControl,AuxCtlHandle *acHndl)
= 0xAA44;
pascal short GetCVariant(ControlHandle theControl)
= 0xA809;
void dragcontrol(ControlHandle theControl,Point *startPt,const Rect *limitRect,
const Rect *slopRect,short axis);
ControlHandle newcontrol(WindowPtr theWindow,const Rect *boundsRect,char *title,
Boolean visible,short value,short min,short max,short procID,long refCon);
short findcontrol(Point *thePoint,WindowPtr theWindow,ControlHandle *theControl);
void getctitle(ControlHandle theControl,char *title);
void setctitle(ControlHandle theControl,char *title);
short trackcontrol(ControlHandle theControl,Point *thePoint,ProcPtr actionProc);
short testcontrol(ControlHandle theControl,Point *thePt);
#ifdef __cplusplus
}
#endif
#endif

View File

@ -0,0 +1 @@
TEXTMPS

View File

@ -0,0 +1,25 @@
data 'vers' (1, purgeable) {
$"0320 8000 0000 0533 2E32 2E30 2433 2E32" /* . .....3.2.0$3.2 */
$"2E30 20A9 2041 7070 6C65 2043 6F6D 7075" /* .0 . Apple Compu */
$"7465 722C 2049 6E63 2E20 3139 3835 2D39" /* ter, Inc. 1985-9 */
$"31" /* 1 */
};
data 'vers' (2, purgeable) {
$"0330 8000 0000 0333 2E33 074D 5057 2033" /* .0.....3.3.MPW 3 */
$"2E33" /* .3 */
};
data 'MPSR' (1005) {
$"0009 4D6F 6E61 636F 0064 6C65 2075 7064" /* ..Monaco.dle upd */
$"6174 6552 676E 290D 2020 2020 3D20 3078" /* ateRgn). = 0x */
$"4139 0006 0004 0031 000A 015D 01E0 0031" /* A9.....1...]...1 */
$"000A 015D 01E0 A431 E940 0000 0000 0000" /* ...]...1.@...... */
$"0000 0000 0000 0100" /* ........ */
};
data 'MPSR' (1008) {
$"0031 000A 015D 01E0 0031 000A 015D 01E0" /* .1...]...1...].. */
$"0000 0000 0000 0000 0000 0000 0000" /* .............. */
};

View File

@ -0,0 +1,131 @@
/************************************************************
Created: Thursday, September 7, 1989 at 9:11 PM
CursorCtl.h
C Interface to the Macintosh Libraries
<<< CursorCtl - Cursor Control Header File >>>
Copyright Apple Computer, Inc. 1985-1989
All rights reserved
This file contains:
InitCursorCtl(newCursors) - Init CursorCtl to load the 'acur' resource
RotateCursor(counter) - Sequence through cursor frames for counter mod 32
SpinCursor(increment) - Sequence mod 32 incrementing internal counter
Hide_Cursor() - Hide the current cursor
Show_Cursor(cursorKind) - Show the cursor
************************************************************/
#ifndef __CURSORCTL__
#define __CURSORCTL__
enum {HIDDEN_CURSOR,I_BEAM_CURSOR,CROSS_CURSOR,PLUS_CURSOR,WATCH_CURSOR,
ARROW_CURSOR};
typedef unsigned char Cursors;
struct Acur {
short n; /*Number of cursors ("frames of film")*/
short index; /* Next frame to show <for internal use>*/
short frame1; /*'CURS' resource id for frame #1*/
short fill1; /*<for internal use>*/
short frame2; /*'CURS' resource id for frame #2*/
short fill2; /*<for internal use>*/
short frameN; /*'CURS' resource id for frame #N*/
short fillN; /*<for internal use>*/
};
typedef struct Acur acur,*acurPtr,**acurHandle;
#ifdef __cplusplus
extern "C" {
#endif
pascal void InitCursorCtl(acurHandle newCursors);
/*
Initialize the CursorCtl unit. This should be called once prior to calling
RotateCursor or SpinCursor. It need not be called if only Hide_Cursor or
Show_Cursor are used. If NewCursors is NULL, InitCursorCtl loads in the
'acur' resource and the 'CURS' resources specified by the 'acur' resource
ids. If any of the resources cannot be loaded, the cursor will not be
changed.
The 'acur' resource is assumed to either be in the currently running tool or
application, or the MPW Shell for a tool, or in the System file. The 'acur'
resource id must be 0 for a tool or application, 1 for the Shell, and 2 for
the System file.
If NewCursors is not NULL, it is ASSUMED to be a handle to an 'acur' formatted
resource designated by the caller and it will be used instead of doing a
GetResource on 'acur'. Note, if RotateCursor or SpinCursor are called without
calling InitCursorCtl, then RotateCursor and SpinCursor will do the call for
the user the first time it is called. However, the possible disadvantage of
using this technique is that the resource memory allocated may have
undesirable affect (fragmentation?) on the application. Using InitCursorCtl
has the advantage of causing the allocation at a specific time determined by
the user.
Caution: InitCursorCtl MODIFIES the 'acur' resource in memory. Specifically,
it changes each FrameN/fillN integer pair to a handle to the corresponding
'CURS' resource also in memory. Thus if NewCursors is not NULL when
InitCursorCtl is called, the caller must guarantee NewCursors always points to
a "fresh" copy of an 'acur' resource. This need only be of concern to a
caller who wants to repeatly use multiple 'acur' resources during execution of
their programs.
*/
pascal void RotateCursor(long counter);
/*
RotateCursor is called to rotate the "I am active" "beach ball" cursor, or to
animate whatever sequence of cursors set up by InitCursorCtl. The next cursor
("frame") is used when Counter % 32 = 0 (Counter is some kind of incrementing
or decrementing index maintained by the caller). A positive counter sequences
forward through the cursors (e.g., it rotates the "beach ball" cursor
clockwise), and a negative cursor sequences through the cursors backwards
(e.g., it rotates the "beach ball" cursor counterclockwise). Note,
RotateCursor just does a Mac SetCursor call for the proper cursor picture.
It is assumed the cursor is visible from a prior Show_Cursor call.
*/
pascal void SpinCursor(short increment);
/*
SpinCursor is similar in function to RotateCursor, except that instead of
passing a counter, an Increment is passed an added to a counter maintained
here. SpinCursor is provided for those users who do not happen to have a
convenient counter handy but still want to use the spinning "beach ball"
cursor, or any sequence of cursors set up by InitCursorCtl. A positive
increment sequences forward through the curos (rotating the "beach ball"
cursor clockwise), and a negative increment sequences backward through the
cursors (rotating the "beach ball" cursor counter-clockwise). A zero value
for the increment resets the counter to zero. Note, it is the increment, and
not the value of the counter that determines the sequencing direction of the
cursor (and hence the spin direction of the "beach ball" cursor).
*/
pascal void Hide_Cursor(void);
/*
Hide the cursor if it is showing.This is this unit's call to the Mac
HideCursor routine.Thus the Mac cursor level is decremented by one when this
routine is called.
*/
pascal void Show_Cursor(Cursors cursorKind);
/*
Increment the cursor level, which may have been decremented by Hide_Cursor,
and display the specified cursor if the level becomes 0 (it is never
incremented beyond 0).The CursorKind is the kind of cursor to show. It is
one of the values HIDDEN_CURSOR, I_BEAM_CURSOR, CROSS_CURSOR, PLUS_CURSOR,
WATCH_CURSOR, and ARROW_CURSOR. Except for HIDDEN_CURSOR, a Mac SetCursor is
done for the specified cursor prior to doing a ShowCursor. HIDDEN_CURSOR just
causes a ShowCursor call. Note, ARROW_CURSOR will only work correctly if
there is already a grafPort set up pointed to by 0(A5).
*/
#ifdef __cplusplus
}
#endif
#endif

View File

@ -0,0 +1 @@
TEXTMPS

View File

@ -0,0 +1,25 @@
data 'vers' (1, purgeable) {
$"0320 8000 0000 0533 2E32 2E30 2433 2E32" /* . .....3.2.0$3.2 */
$"2E30 20A9 2041 7070 6C65 2043 6F6D 7075" /* .0 . Apple Compu */
$"7465 722C 2049 6E63 2E20 3139 3835 2D39" /* ter, Inc. 1985-9 */
$"31" /* 1 */
};
data 'vers' (2, purgeable) {
$"0330 8000 0000 0333 2E33 074D 5057 2033" /* .0.....3.3.MPW 3 */
$"2E33" /* .3 */
};
data 'MPSR' (1005) {
$"0009 4D6F 6E61 636F 00FF 01D4 02A4 02C4" /* ..Monaco........ */
$"7FFF 01D5 02C4 02C5 7FFF 01D6 02C5 0511" /* ................ */
$"7FFF 0006 0004 0031 000A 015D 01E0 0031" /* .......1...]...1 */
$"000A 015D 01E0 A431 E940 0000 0000 0000" /* ...]...1.@...... */
$"0000 0000 0000 0100" /* ........ */
};
data 'MPSR' (1008) {
$"0031 000A 015D 01E0 0031 000A 015D 01E0" /* .1...]...1...].. */
$"0000 0000 0000 0000 0000 0000 0000" /* .............. */
};

View File

@ -0,0 +1,221 @@
/************************************************************
Created: Tuesday, September 10, 1991 at 12:57 PM
DatabaseAccess.h
C Interface to the Macintosh Libraries
Copyright Apple Computer, Inc. 1989-1991
All rights reserved
************************************************************/
#ifndef __DATABASEACCESS__
#define __DATABASEACCESS__
#ifndef __RESOURCES__
#include <Resources.h>
#endif
enum {
/* error and status codes */
rcDBNull = -800,
rcDBValue = -801,
rcDBError = -802,
rcDBBadType = -803,
rcDBBreak = -804,
rcDBExec = -805,
rcDBBadSessID = -806,
rcDBBadSessNum = -807, /* bad session number for DBGetConnInfo */
rcDBBadDDEV = -808, /* bad ddev specified on DBInit */
rcDBAsyncNotSupp = -809, /* ddev does not support async calls */
rcDBBadAsyncPB = -810, /* tried to kill a bad pb */
rcDBNoHandler = -811, /* no app handler for specified data type */
rcDBWrongVersion = -812, /* incompatible versions */
rcDBPackNotInited = -813, /* attempt to call other routine before InitDBPack */
/* messages for status functions for DBStartQuery */
kDBUpdateWind = 0,
kDBAboutToInit = 1,
kDBInitComplete = 2,
kDBSendComplete = 3,
kDBExecComplete = 4,
kDBStartQueryComplete = 5
};
enum {
/* messages for status functions for DBGetQueryResults */
kDBGetItemComplete = 6,
kDBGetQueryResultsComplete = 7,
/* data type codes */
#define typeNone 'none'
#define typeDate 'date'
#define typeTime 'time'
#define typeTimeStamp 'tims'
#define typeDecimal 'deci'
#define typeMoney 'mone'
#define typeVChar 'vcha'
#define typeVBin 'vbin'
#define typeLChar 'lcha'
#define typeLBin 'lbin'
#define typeDiscard 'disc'
/* "dummy" types for DBResultsToText */
#define typeUnknown 'unkn'
#define typeColBreak 'colb'
#define typeRowBreak 'rowb'
/* pass this in to DBGetItem for any data type */
#define typeAnyType (DBType)0
/* infinite timeout value for DBGetItem */
kDBWaitForever = -1,
/* flags for DBGetItem */
kDBLastColFlag = 0x0001,
kDBNullFlag = 0x0004
};
typedef OSType DBType;
/* structure for asynchronous parameter block */
struct DBAsyncParamBlockRec {
ProcPtr completionProc; /* pointer to completion routine */
OSErr result; /* result of call */
long userRef; /* for application's use */
long ddevRef; /* for ddev's use */
long reserved; /* for internal use */
};
typedef struct DBAsyncParamBlockRec DBAsyncParamBlockRec;
typedef DBAsyncParamBlockRec *DBAsyncParmBlkPtr;
/* structure for resource list in QueryRecord */
struct ResListElem {
ResType theType; /* resource type */
short id; /* resource id */
};
typedef struct ResListElem ResListElem;
typedef ResListElem *ResListPtr, **ResListHandle;
/* structure for query list in QueryRecord */
typedef Handle **QueryListHandle;
struct QueryRecord {
short version; /* version */
short id; /* id of 'qrsc' this came from */
Handle queryProc; /* handle to query def proc */
Str63 ddevName; /* ddev name */
Str255 host; /* host name */
Str255 user; /* user name */
Str255 password; /* password */
Str255 connStr; /* connection string */
short currQuery; /* index of current query */
short numQueries; /* number of queries in list */
QueryListHandle queryList; /* handle to array of handles to text */
short numRes; /* number of resources in list */
ResListHandle resList; /* handle to array of resource list elements */
Handle dataHandle; /* for use by query def proc */
long refCon; /* for use by application */
};
typedef struct QueryRecord QueryRecord;
typedef QueryRecord *QueryPtr, **QueryHandle;
/* structure of column types array in ResultsRecord */
typedef Handle ColTypesHandle;
/* structure for column info in ResultsRecord */
struct DBColInfoRecord {
short len;
short places;
short flags;
};
typedef struct DBColInfoRecord DBColInfoRecord;
typedef Handle ColInfoHandle;
/* structure of results returned by DBGetResults */
struct ResultsRecord {
short numRows; /* number of rows in result */
short numCols; /* number of columns per row */
ColTypesHandle colTypes; /* data type array */
Handle colData; /* actual results */
ColInfoHandle colInfo; /* DBColInfoRecord array */
};
typedef struct ResultsRecord ResultsRecord;
#ifdef __cplusplus
extern "C" {
#endif
pascal OSErr InitDBPack(void)
= {0x3F3C,0x0004,0x303C,0x0100,0xA82F};
pascal OSErr DBInit(long *sessID,ConstStr63Param ddevName,ConstStr255Param host,
ConstStr255Param user,ConstStr255Param passwd,ConstStr255Param connStr,
DBAsyncParmBlkPtr asyncPB)
= {0x303C,0x0E02,0xA82F};
pascal OSErr DBEnd(long sessID,DBAsyncParmBlkPtr asyncPB)
= {0x303C,0x0403,0xA82F};
pascal OSErr DBGetConnInfo(long sessID,short sessNum,long *returnedID,long *version,
Str63 ddevName,Str255 host,Str255 user,Str255 network,Str255 connStr,long *start,
OSErr *state,DBAsyncParmBlkPtr asyncPB)
= {0x303C,0x1704,0xA82F};
pascal OSErr DBGetSessionNum(long sessID,short *sessNum,DBAsyncParmBlkPtr asyncPB)
= {0x303C,0x0605,0xA82F};
pascal OSErr DBSend(long sessID,char *text,short len,DBAsyncParmBlkPtr asyncPB)
= {0x303C,0x0706,0xA82F};
pascal OSErr DBSendItem(long sessID,DBType dataType,short len,short places,
short flags,void *buffer,DBAsyncParmBlkPtr asyncPB)
= {0x303C,0x0B07,0xA82F};
pascal OSErr DBExec(long sessID,DBAsyncParmBlkPtr asyncPB)
= {0x303C,0x0408,0xA82F};
pascal OSErr DBState(long sessID,DBAsyncParmBlkPtr asyncPB)
= {0x303C,0x0409,0xA82F};
pascal OSErr DBGetErr(long sessID,long *err1,long *err2,Str255 item1,Str255 item2,
Str255 errorMsg,DBAsyncParmBlkPtr asyncPB)
= {0x303C,0x0E0A,0xA82F};
pascal OSErr DBBreak(long sessID,Boolean abort,DBAsyncParmBlkPtr asyncPB)
= {0x303C,0x050B,0xA82F};
pascal OSErr DBGetItem(long sessID,long timeout,DBType *dataType,short *len,
short *places,short *flags,void *buffer,DBAsyncParmBlkPtr asyncPB)
= {0x303C,0x100C,0xA82F};
pascal OSErr DBUnGetItem(long sessID,DBAsyncParmBlkPtr asyncPB)
= {0x303C,0x040D,0xA82F};
pascal OSErr DBKill(DBAsyncParmBlkPtr asyncPB)
= {0x303C,0x020E,0xA82F};
pascal OSErr DBGetNewQuery(short queryID,QueryHandle *query)
= {0x303C,0x030F,0xA82F};
pascal OSErr DBDisposeQuery(QueryHandle query)
= {0x303C,0x0210,0xA82F};
pascal OSErr DBStartQuery(long *sessID,QueryHandle query,ProcPtr statusProc,
DBAsyncParmBlkPtr asyncPB)
= {0x303C,0x0811,0xA82F};
pascal OSErr DBGetQueryResults(long sessID,ResultsRecord *results,long timeout,
ProcPtr statusProc,DBAsyncParmBlkPtr asyncPB)
= {0x303C,0x0A12,0xA82F};
pascal OSErr DBResultsToText(ResultsRecord *results,Handle *theText)
= {0x303C,0x0413,0xA82F};
pascal OSErr DBInstallResultHandler(DBType dataType,ProcPtr theHandler,
Boolean isSysHandler)
= {0x303C,0x0514,0xA82F};
pascal OSErr DBRemoveResultHandler(DBType dataType)
= {0x303C,0x0215,0xA82F};
pascal OSErr DBGetResultHandler(DBType dataType,ProcPtr *theHandler,Boolean getSysHandler)
= {0x303C,0x0516,0xA82F};
#ifdef __cplusplus
}
#endif
#endif

View File

@ -0,0 +1 @@
TEXTMPS

View File

@ -0,0 +1,25 @@
data 'vers' (1) {
$"0322 8000 0000 0533 2E32 2E32 2833 2E32" /* .".....3.2.2(3.2 */
$"2E32 2C20 A920 4170 706C 6520 436F 6D70" /* .2, . Apple Comp */
$"7574 6572 2C20 496E 632E 2031 3938 352D" /* uter, Inc. 1985- */
$"3139 3932 2E" /* 1992. */
};
data 'vers' (2, purgeable) {
$"0330 8000 0000 0333 2E33 074D 5057 2033" /* .0.....3.3.MPW 3 */
$"2E33" /* .3 */
};
data 'MPSR' (1005) {
$"0009 4D6F 6E61 636F 002A 2A2A 2A2A 2A2A" /* ..Monaco.******* */
$"2A2A 2A2A 2A2A 2A2A 2A2A 2A2A 2A2A 2A2A" /* **************** */
$"2A2A 0006 0004 0031 000A 015D 01E0 0031" /* **.....1...]...1 */
$"000A 015D 01E0 A664 D9C0 0000 0000 0000" /* ...]...d........ */
$"0000 0000 0000 0100" /* ........ */
};
data 'MPSR' (1008) {
$"0031 000A 015D 01E0 0031 000A 015D 01E0" /* .1...]...1...].. */
$"0000 0000 0000 0000 0000 0000 0000" /* .............. */
};

View File

@ -0,0 +1,66 @@
/************************************************************
Created: Sunday, January 6, 1991 at 9:05 PM
Desk.h
C Interface to the Macintosh Libraries
Copyright Apple Computer, Inc. 1985-1989
All rights reserved
************************************************************/
#ifndef __DESK__
#define __DESK__
#ifndef __TYPES__
#include <Types.h>
#endif
#ifndef __QUICKDRAW__
#include <Quickdraw.h>
#endif
#ifndef __EVENTS__
#include <Events.h>
#endif
enum {
accEvent = 64,
accRun = 65,
accCursor = 66,
accMenu = 67,
accUndo = 68,
accCut = 70,
accCopy = 71,
accPaste = 72,
accClear = 73,
goodbye = -1 /*goodbye message*/
};
#ifdef __cplusplus
extern "C" {
#endif
pascal short OpenDeskAcc(ConstStr255Param deskAccName)
= 0xA9B6;
pascal void CloseDeskAcc(short refNum)
= 0xA9B7;
pascal void SystemClick(const EventRecord *theEvent,WindowPtr theWindow)
= 0xA9B3;
pascal Boolean SystemEdit(short editCmd)
= 0xA9C2;
pascal void SystemTask(void)
= 0xA9B4;
pascal Boolean SystemEvent(const EventRecord *theEvent)
= 0xA9B2;
pascal void SystemMenu(long menuResult)
= 0xA9B5;
short opendeskacc(char *deskAccName);
#ifdef __cplusplus
}
#endif
#endif

View File

@ -0,0 +1 @@
TEXTMPS

View File

@ -0,0 +1,25 @@
data 'vers' (1, purgeable) {
$"0320 8000 0000 0533 2E32 2E30 2433 2E32" /* . .....3.2.0$3.2 */
$"2E30 20A9 2041 7070 6C65 2043 6F6D 7075" /* .0 . Apple Compu */
$"7465 722C 2049 6E63 2E20 3139 3835 2D39" /* ter, Inc. 1985-9 */
$"31" /* 1 */
};
data 'vers' (2, purgeable) {
$"0330 8000 0000 0333 2E33 074D 5057 2033" /* .0.....3.3.MPW 3 */
$"2E33" /* .3 */
};
data 'MPSR' (1005) {
$"0009 4D6F 6E61 636F 0063 6C75 6465 733A" /* ..Monaco.cludes: */
$"4465 736B 2E68 0063 6573 3A43 0000 0010" /* Desk.h.ces:C.... */
$"7564 0006 0004 0031 000A 015D 01E0 0031" /* ud.....1...]...1 */
$"000A 015D 01E0 A431 E940 0000 0000 0000" /* ...]...1.@...... */
$"0000 0000 0000 0100" /* ........ */
};
data 'MPSR' (1008) {
$"0031 000A 015D 01E0 0031 000A 015D 01E0" /* .1...]...1...].. */
$"0000 0000 0000 0000 0000 0000 0000" /* .............. */
};

View File

@ -0,0 +1,74 @@
/************************************************************
Created: Sunday, January 6, 1991 at 9:05 PM
DeskBus.h
C Interface to the Macintosh Libraries
Copyright Apple Computer, Inc. 1987 -1990
All rights reserved
************************************************************/
#ifndef __DESKBUS__
#define __DESKBUS__
#ifndef __TYPES__
#include <Types.h>
#endif
typedef char ADBAddress;
struct ADBOpBlock {
Ptr dataBuffPtr; /*address of data buffer*/
Ptr opServiceRtPtr; /*service routine pointer*/
Ptr opDataAreaPtr; /*optional data area address*/
};
typedef struct ADBOpBlock ADBOpBlock;
typedef ADBOpBlock *ADBOpBPtr;
struct ADBDataBlock {
char devType; /*device type*/
char origADBAddr; /*original ADB Address*/
Ptr dbServiceRtPtr; /*service routine pointer*/
Ptr dbDataAreaAddr; /*data area address*/
};
typedef struct ADBDataBlock ADBDataBlock;
typedef ADBDataBlock *ADBDBlkPtr;
struct ADBSetInfoBlock {
Ptr siServiceRtPtr; /*service routine pointer*/
Ptr siDataAreaAddr; /*data area address*/
};
typedef struct ADBSetInfoBlock ADBSetInfoBlock;
typedef ADBSetInfoBlock *ADBSInfoPtr;
#ifdef __cplusplus
extern "C" {
#endif
pascal void ADBReInit(void)
= 0xA07B;
pascal OSErr ADBOp(Ptr data,ProcPtr compRout,Ptr buffer,short commandNum);
#pragma parameter __D0 CountADBs
pascal short CountADBs(void)
= 0xA077;
#pragma parameter __D0 GetIndADB(__A0,__D0)
pascal ADBAddress GetIndADB(ADBDataBlock *info,short devTableIndex)
= 0xA078;
#pragma parameter __D0 GetADBInfo(__A0,__D0)
pascal OSErr GetADBInfo(ADBDataBlock *info,ADBAddress adbAddr)
= 0xA079;
#pragma parameter __D0 SetADBInfo(__A0,__D0)
pascal OSErr SetADBInfo(ADBSetInfoBlock *info,ADBAddress adbAddr)
= 0xA07A;
#ifdef __cplusplus
}
#endif
#endif

View File

@ -0,0 +1 @@
TEXTMPS

View File

@ -0,0 +1,25 @@
data 'vers' (1, purgeable) {
$"0320 8000 0000 0533 2E32 2E30 2433 2E32" /* . .....3.2.0$3.2 */
$"2E30 20A9 2041 7070 6C65 2043 6F6D 7075" /* .0 . Apple Compu */
$"7465 722C 2049 6E63 2E20 3139 3835 2D39" /* ter, Inc. 1985-9 */
$"31" /* 1 */
};
data 'vers' (2, purgeable) {
$"0330 8000 0000 0333 2E33 074D 5057 2033" /* .0.....3.3.MPW 3 */
$"2E33" /* .3 */
};
data 'MPSR' (1005) {
$"0009 4D6F 6E61 636F 000A 0000 0000 0000" /* ..Monaco........ */
$"0000 6C75 8000 0018 0006 015C 0000 0000" /* ..lu.......\.... */
$"0000 0006 0004 0031 000A 015D 01E0 0031" /* .......1...]...1 */
$"000A 015D 01E0 A431 E940 0000 0000 0000" /* ...]...1.@...... */
$"0000 0000 0000 0100" /* ........ */
};
data 'MPSR' (1008) {
$"0031 000A 015D 01E0 0031 000A 015D 01E0" /* .1...]...1...].. */
$"0000 0000 0000 0000 0000 0000 0000" /* .............. */
};

View File

@ -0,0 +1,154 @@
/************************************************************
Created: Sunday, January 6, 1991 at 9:06 PM
Devices.h
C Interface to the Macintosh Libraries
Copyright Apple Computer, Inc. 1985-1990
All rights reserved
************************************************************/
#ifndef __DEVICES__
#define __DEVICES__
#ifndef __OSUTILS__
#include <OSUtils.h>
#endif
#ifndef __FILES__
#include <Files.h>
#endif
#ifndef __QUICKDRAW__
#include <Quickdraw.h>
#endif
enum {
newSelMsg = 12,
fillListMsg = 13,
getSelMsg = 14,
selectMsg = 15,
deselectMsg = 16,
terminateMsg = 17,
buttonMsg = 19,
chooserID = 1,
initDev = 0, /*Time for cdev to initialize itself*/
hitDev = 1, /*Hit on one of my items*/
closeDev = 2, /*Close yourself*/
nulDev = 3, /*Null event*/
updateDev = 4, /*Update event*/
activDev = 5, /*Activate event*/
deactivDev = 6, /*Deactivate event*/
keyEvtDev = 7, /*Key down/auto key*/
macDev = 8, /*Decide whether or not to show up*/
undoDev = 9,
cutDev = 10,
copyDev = 11
};
enum {
pasteDev = 12,
clearDev = 13,
cursorDev = 14,
cdevGenErr = -1, /*General error; gray cdev w/o alert*/
cdevMemErr = 0, /*Memory shortfall; alert user please*/
cdevResErr = 1, /*Couldn't get a needed resource; alert*/
cdevUnset = 3, /* cdevValue is initialized to this*/
/* Monitors control panel messages */
initMsg = 1, /*initialization*/
okMsg = 2, /*user clicked OK button*/
cancelMsg = 3, /*user clicked Cancel button*/
hitMsg = 4, /*user clicked control in Options dialog*/
nulMsg = 5, /*periodic event*/
updateMsg = 6, /*update event*/
activateMsg = 7, /*not used*/
deactivateMsg = 8, /*not used*/
keyEvtMsg = 9, /*keyboard event*/
superMsg = 10, /*show superuser controls*/
normalMsg = 11, /*show only normal controls*/
startupMsg = 12 /*code has been loaded*/
};
struct DCtlEntry {
Ptr dCtlDriver;
short dCtlFlags;
QHdr dCtlQHdr;
long dCtlPosition;
Handle dCtlStorage;
short dCtlRefNum;
long dCtlCurTicks;
WindowPtr dCtlWindow;
short dCtlDelay;
short dCtlEMask;
short dCtlMenu;
};
typedef struct DCtlEntry DCtlEntry;
typedef DCtlEntry *DCtlPtr, **DCtlHandle;
struct AuxDCE {
Ptr dCtlDriver;
short dCtlFlags;
QHdr dCtlQHdr;
long dCtlPosition;
Handle dCtlStorage;
short dCtlRefNum;
long dCtlCurTicks;
GrafPtr dCtlWindow;
short dCtlDelay;
short dCtlEMask;
short dCtlMenu;
char dCtlSlot;
char dCtlSlotId;
long dCtlDevBase;
Ptr dCtlOwner;
char dCtlExtDev;
char fillByte;
};
typedef struct AuxDCE AuxDCE;
typedef AuxDCE *AuxDCEPtr, **AuxDCEHandle;
#ifdef __cplusplus
extern "C" {
#endif
pascal DCtlHandle GetDCtlEntry(short refNum);
pascal Boolean SetChooserAlert(Boolean f);
pascal OSErr OpenDriver(ConstStr255Param name,short *drvrRefNum);
OSErr opendriver(char *driverName,short *refNum);
pascal OSErr CloseDriver(short refNum);
pascal OSErr Control(short refNum,short csCode,const void *csParamPtr);
pascal OSErr Status(short refNum,short csCode,void *csParamPtr);
pascal OSErr KillIO(short refNum);
pascal OSErr PBControl(ParmBlkPtr paramBlock,Boolean async);
#pragma parameter __D0 PBControlSync(__A0)
pascal OSErr PBControlSync(ParmBlkPtr paramBlock)
= 0xA004;
#pragma parameter __D0 PBControlAsync(__A0)
pascal OSErr PBControlAsync(ParmBlkPtr paramBlock)
= 0xA404;
pascal OSErr PBStatus(ParmBlkPtr paramBlock,Boolean async);
#pragma parameter __D0 PBStatusSync(__A0)
pascal OSErr PBStatusSync(ParmBlkPtr paramBlock)
= 0xA005;
#pragma parameter __D0 PBStatusAsync(__A0)
pascal OSErr PBStatusAsync(ParmBlkPtr paramBlock)
= 0xA405;
pascal OSErr PBKillIO(ParmBlkPtr paramBlock,Boolean async);
#pragma parameter __D0 PBKillIOSync(__A0)
pascal OSErr PBKillIOSync(ParmBlkPtr paramBlock)
= 0xA006;
#pragma parameter __D0 PBKillIOAsync(__A0)
pascal OSErr PBKillIOAsync(ParmBlkPtr paramBlock)
= 0xA406;
#ifdef __cplusplus
}
#endif
#endif

View File

@ -0,0 +1 @@
TEXTMPS

View File

@ -0,0 +1,25 @@
data 'vers' (1, purgeable) {
$"0320 8000 0000 0533 2E32 2E30 2433 2E32" /* . .....3.2.0$3.2 */
$"2E30 20A9 2041 7070 6C65 2043 6F6D 7075" /* .0 . Apple Compu */
$"7465 722C 2049 6E63 2E20 3139 3835 2D39" /* ter, Inc. 1985-9 */
$"31" /* 1 */
};
data 'vers' (2, purgeable) {
$"0330 8000 0000 0333 2E33 074D 5057 2033" /* .0.....3.3.MPW 3 */
$"2E33" /* .3 */
};
data 'MPSR' (1005) {
$"0009 4D6F 6E61 636F 0009 2045 0000 0014" /* ..Monaco.. E.... */
$"0005 FAA8 000A 8001 8001 7FFF 7FFF 001E" /* ................ */
$"8200 0006 0004 0031 000A 015D 01E0 0031" /* .......1...]...1 */
$"000A 015D 01E0 A431 E940 0000 0000 0000" /* ...]...1.@...... */
$"0000 0000 0000 0100" /* ........ */
};
data 'MPSR' (1008) {
$"0031 000A 015D 01E0 0031 000A 015D 01E0" /* .1...]...1...].. */
$"0000 0000 0000 0000 0000 0000 0000" /* .............. */
};

View File

@ -0,0 +1,201 @@
/************************************************************
Created: Thursday, September 12, 1991 at 2:46 PM
Dialogs.h
C Interface to the Macintosh Libraries
Copyright Apple Computer, Inc. 1985-1991
All rights reserved
************************************************************/
#ifndef __DIALOGS__
#define __DIALOGS__
#ifndef __WINDOWS__
#include <Windows.h>
#endif
#ifndef __TEXTEDIT__
#include <TextEdit.h>
#endif
enum {
ctrlItem = 4,
btnCtrl = 0,
chkCtrl = 1,
radCtrl = 2,
resCtrl = 3,
statText = 8,
editText = 16,
iconItem = 32,
picItem = 64,
userItem = 0,
itemDisable = 128,
ok = 1,
cancel = 2,
stopIcon = 0,
noteIcon = 1,
cautionIcon = 2
};
/* Dialog Item List Manipulation Constants */
typedef short DITLMethod;
enum {
overlayDITL = 0,
appendDITLRight = 1,
appendDITLBottom = 2
};
typedef short StageList;
typedef WindowPtr DialogPtr;
typedef pascal void (*ResumeProcPtr)(void);
typedef pascal void (*SoundProcPtr)(void);
typedef pascal Boolean (*ModalFilterProcPtr)(DialogPtr theDialog, EventRecord *theEvent, short *itemHit);
struct DialogRecord {
WindowRecord window;
Handle items;
TEHandle textH;
short editField;
short editOpen;
short aDefItem;
};
typedef struct DialogRecord DialogRecord;
typedef DialogRecord *DialogPeek;
struct DialogTemplate {
Rect boundsRect;
short procID;
Boolean visible;
Boolean filler1;
Boolean goAwayFlag;
Boolean filler2;
long refCon;
short itemsID;
Str255 title;
};
typedef struct DialogTemplate DialogTemplate;
typedef DialogTemplate *DialogTPtr, **DialogTHndl;
struct AlertTemplate {
Rect boundsRect;
short itemsID;
StageList stages;
};
typedef struct AlertTemplate AlertTemplate;
typedef AlertTemplate *AlertTPtr, **AlertTHndl;
#ifdef __cplusplus
extern "C" {
#endif
pascal void InitDialogs(ResumeProcPtr resumeProc)
= 0xA97B;
pascal void ErrorSound(SoundProcPtr soundProc)
= 0xA98C;
pascal DialogPtr NewDialog(void *wStorage,const Rect *boundsRect,ConstStr255Param title,
Boolean visible,short procID,WindowPtr behind,Boolean goAwayFlag,long refCon,
Handle itmLstHndl)
= 0xA97D;
DialogPtr newdialog(void *wStorage,const Rect *boundsRect,char *title,Boolean visible,
short procID,WindowPtr behind,Boolean goAwayFlag,long refCon,Handle itmLstHndl);
pascal DialogPtr GetNewDialog(short dialogID,void *dStorage,WindowPtr behind)
= 0xA97C;
pascal void CloseDialog(DialogPtr theDialog)
= 0xA982;
pascal void DisposDialog(DialogPtr theDialog)
= 0xA983;
pascal void DisposeDialog(DialogPtr theDialog)
= 0xA983;
pascal void CouldDialog(short dialogID)
= 0xA979;
pascal void FreeDialog(short dialogID)
= 0xA97A;
pascal void ParamText(ConstStr255Param param0,ConstStr255Param param1,ConstStr255Param param2,
ConstStr255Param param3)
= 0xA98B;
pascal void ModalDialog(ModalFilterProcPtr filterProc,short *itemHit)
= 0xA991;
pascal Boolean IsDialogEvent(const EventRecord *theEvent)
= 0xA97F;
pascal Boolean DialogSelect(const EventRecord *theEvent,DialogPtr *theDialog,
short *itemHit)
= 0xA980;
pascal void DrawDialog(DialogPtr theDialog)
= 0xA981;
pascal void UpdtDialog(DialogPtr theDialog,RgnHandle updateRgn)
= 0xA978;
pascal void UpdateDialog(DialogPtr theDialog,RgnHandle updateRgn)
= 0xA978;
pascal short Alert(short alertID,ModalFilterProcPtr filterProc)
= 0xA985;
pascal short StopAlert(short alertID,ModalFilterProcPtr filterProc)
= 0xA986;
pascal short NoteAlert(short alertID,ModalFilterProcPtr filterProc)
= 0xA987;
pascal short CautionAlert(short alertID,ModalFilterProcPtr filterProc)
= 0xA988;
pascal void CouldAlert(short alertID)
= 0xA989;
pascal void FreeAlert(short alertID)
= 0xA98A;
pascal void GetDItem(DialogPtr theDialog,short itemNo,short *itemType,Handle *item,
Rect *box)
= 0xA98D;
pascal void SetDItem(DialogPtr theDialog,short itemNo,short itemType,Handle item,
const Rect *box)
= 0xA98E;
pascal void HideDItem(DialogPtr theDialog,short itemNo)
= 0xA827;
pascal void ShowDItem(DialogPtr theDialog,short itemNo)
= 0xA828;
pascal void SelIText(DialogPtr theDialog,short itemNo,short strtSel,short endSel)
= 0xA97E;
pascal void GetIText(Handle item,Str255 text)
= 0xA990;
pascal void SetIText(Handle item,ConstStr255Param text)
= 0xA98F;
pascal short FindDItem(DialogPtr theDialog,Point thePt)
= 0xA984;
pascal DialogPtr NewCDialog(void *dStorage,const Rect *boundsRect,ConstStr255Param title,
Boolean visible,short procID,WindowPtr behind,Boolean goAwayFlag,long refCon,
Handle items)
= 0xAA4B;
DialogPtr newcdialog(void *dStorage,const Rect *boundsRect,char *title,
Boolean visible,short procID,WindowPtr behind,Boolean goAwayFlag,long refCon,
Handle items);
#define GetAlrtStage() (* (short*) 0x0A9A)
pascal void ResetAlrtStage(void)
= {0x4278,0x0A9A};
pascal void DlgCut(DialogPtr theDialog);
pascal void DlgPaste(DialogPtr theDialog);
pascal void DlgCopy(DialogPtr theDialog);
pascal void DlgDelete(DialogPtr theDialog);
pascal void SetDAFont(short fontNum)
= {0x31DF,0x0AFA};
void paramtext(char *param0,char *param1,char *param2,char *param3);
void getitext(Handle item,char *text);
void setitext(Handle item,char *text);
short findditem(DialogPtr theDialog,Point *thePt);
pascal void AppendDITL(DialogPtr theDialog,Handle theHandle,DITLMethod method);
pascal short CountDITL(DialogPtr theDialog);
pascal void ShortenDITL(DialogPtr theDialog,short numberItems);
#ifdef __cplusplus
}
#endif
#endif

View File

@ -0,0 +1 @@
TEXTMPS

View File

@ -0,0 +1,25 @@
data 'vers' (1) {
$"0321 8000 0000 0533 2E32 2E31 2833 2E32" /* .!.....3.2.1(3.2 */
$"2E31 2C20 A920 4170 706C 6520 436F 6D70" /* .1, . Apple Comp */
$"7574 6572 2C20 496E 632E 2031 3938 352D" /* uter, Inc. 1985- */
$"3139 3932 2E" /* 1992. */
};
data 'vers' (2, purgeable) {
$"0330 8000 0000 0333 2E33 074D 5057 2033" /* .0.....3.3.MPW 3 */
$"2E33" /* .3 */
};
data 'MPSR' (1005) {
$"0009 4D6F 6E61 636F 00C5 0511 7FFF 7FFF" /* ..Monaco........ */
$"0000 0014 0005 FB40 000A 8001 8001 7FFF" /* .......@........ */
$"7FFF 0006 0004 0031 000A 015D 01E0 0031" /* .......1...]...1 */
$"000A 015D 01E0 A664 D9C0 0000 0000 0000" /* ...]...d........ */
$"0000 0000 0000 0100" /* ........ */
};
data 'MPSR' (1008) {
$"0031 000A 015D 01E0 0031 000A 015D 01E0" /* .1...]...1...].. */
$"0000 0000 0000 0000 0000 0000 0000" /* .............. */
};

View File

@ -0,0 +1,490 @@
/************************************************************
Created: Wednesday, November 1, 1989
DisAsmLookup.h
C Interface to the Macintosh Libraries
Copyright Apple Computer, Inc. 1987-1990
All rights reserved
************************************************************/
#ifndef __DISASMLOOKUP__
#define __DISASMLOOKUP__
#ifndef __TYPES__
#include <Types.h>
#endif
typedef enum {_A0_, _A1_, _A2_, _A3_, _A4_, _A5_, _A6_, _A7_, _PC_, _ABS_, _TRAP_, _IMM_} LookupRegs;
#ifdef __cplusplus
extern "C" {
#endif
/*----------------------------------------------------------------------------*/
pascal void Disassembler(long DstAdjust, /* Address correction */
short *BytesUsed, /* Bytes used up by 1 call */
Ptr FirstByte, /* Ptr to 1st byte */
char *Opcode, /* Ptr to opcode string */
char *Operand, /* Ptr to operand string */
char *Comment, /* Ptr to comment string */
Ptr LookUpProc); /* Ptr to PASCAL proc or NULL */
/*
Disassembler is a Pascal routine to be called to disassemble a sequence of
bytes. All MC68xxx, MC68881, and MC68851 instructions are supported. The
sequence of bytes to be disassembled are pointed to by FirstByte. BytesUsed
bytes starting at FirstByte are consumed by the disassembly, and the Opcode,
Operand, and Comment strings returned as NULL TERMINATED Pascal strings (for
easier manipulation with C). The caller is then free to format or use the
output strings any way appropriate to the application.
Depending on the opcode and effective address(s) (EA's) to be disassembled,
the Opcode, Operand, and Comment strings contain the following information:
Case Opcode Operand Comment
=======================================================================
Non PC-relative EA's op.sz EA's ; 'c' (for immediates)
PC-relative EA's op.sz EA's ; address
Toolbox traps DC.W $AXXX ; TB XXXX
OS traps DC.W $AXXX ; OS XXXX
Invalid bytes DC.W $XXXX ; ????
=======================================================================
For valid disassembly of processor instructions the appropriate MC68XXX
opcode mnemonic is generated for the Opcode string along with a size
attribute when required. The source and destination EA's are generated as the
Operand along with a possible comment. Comments start with a ';'. Traps use
a DC.W assembler directive as the Opcode with the trap word as the Operand
and a comment indicating whether the trap is a toolbox or OS trap and what
the trap number is. As described later the caller can generate symbolic
substitutions into EA's and provide names for traps.
Invalid instructions cause the string 'DC.W' to be returned in the Opcode
string. Operand is '$XXXX' (the invalid word) with a comment of '; ????'.
BytesUsed is 2. This is similar to the trap call case except for the comment.
Note, the Operand EA's is syntatically similar to but NOT COMPATIBLE with the
MPW assembler! This is because the Disassembler generates byte hex constants
as "$XX" and word hex constants as "$XXXX". Negative values (e.g., $FF or
$FFFF) produced by the Disassembler are treated as long word values by the MPW
assembler. Thus it is assumed that Disassembler output will NOT be used as
MPW assembler input. If that is the goal, then the caller must convert strings
of the form $XX or $XXXX in the Operand string to their decimal equivalent.
The routine ModifyOperand is provided in this unit to aid with the conversion
process.
Since a PC-relative comment is an address, the only address that the
Disassembler knows about is the address of the code pointed to by FirstByte.
Generally, that may be a buffer that has no relation to "reality", i.e., the
actual code loaded into the buffer. Therefore, to allow the address comment
to be mapped back to some actual address the caller may specify an adjustment
factor, specified by DstAdjust that is ADDED to the value that normally would
be placed in the comment.
Operand effective address strings are generated as a function of the
effective address mode and a special case is made for A-trap opcode strings.
In places where a possible symbolic reference could be substituted for an
address (or a portion of an address), the Disassembler can call a user
specified routine to do the substitution (using th LookupProc parameter
described later). The following table summarizes the generated effective
addresses and where symbolic substitutions (S) can be made:
Mode Generated Effective Address Effective Address with Substitution
========================================================================
0 Dn Dn
1 An An
2 (An) (An)
3 (An)+ (An)+
4 -(An) -(An)
5 (An) S(An) or just S (if An=A5, 0)
6n (An,Xn.Size*Scale) S(An,Xn.Size*Scale)
6n (BD,An,Xn.Size*Scale) (S,An,Xn.Size*Scale)
6n ([BD,An],Xm.Size*Scale,OD) ([S,An],Xm.Size*Scale,OD)
6n ([BD,An,Xn.Size*Scale],OD) ([S,An,Xn.Size*Scale],OD)
70 S
71 S
72 *± S
73 *±(Xn.Size*Scale) S(Xn.Size*Scale)
73 (*±,Xn.Size*Scale) (S,Xn.Size*Scale)
73 ([*±],Xm.Size*Scale,OD) ([S],Xm.Size*Scale,OD)
73 ([*±,Xn.Size*Scale],OD) ([S,Xn.Size*Scale],OD)
74 #data S (#data made comment)
A-traps $AXXX S (as opcode, AXXX made comment)
========================================================================
For A-traps, the substitution can be performed to substitute for the DC.W
opcode string. If the substitution is made then the Disassembler will
generate ,Sys and/or ,Immed flags as operands for Toolbox traps and
,AutoPop for OS traps when the bits in the trap word indicates these
settings.
| Generated | Substituted
| Opcode Operand Comment | Opcode Operand Comment
========================================================================
Toolbox | DC.W $AXXX ; TB XXXX | S [,Sys][,Immed] ; AXXX
OS | DC.W $AXXX ; OS XXXX | S [,AutoPop] ; AXXX
========================================================================
All displacements (, BD, OD) are hexadecimal values shown as a byte ($XX),
word ($XXXX), or long ($XXXXXXXX) as appropriate. The *Scale is suppressed if
1. The Size is W or L. Note that effective address substitutions can only be
made for "∂(An)", "BD,An", and "*±∂" cases.
For all the effective address modes 5, 6n, 7n, and for A-traps, a coroutine (a
procedure) whose address is specified by the LookupProc parameter is called by
the Disassembler (if LookupProc is not NIL) to do the substitution (or A-trap
comment) with a string returned by the proc. It is assumed that the proc
pointed to by LookupProc is a level 1 Pascal proc declared as follows:
PROCEDURE Lookup( PC: UNIV Ptr; {Addr of extension/trap word}
BaseReg: LookupRegs; {Base register/lookup mode }
Opnd: UNIV LongInt; {Trap word, PC addr, disp. }
VAR S: Str255); {Returned substitution }
or in C,
pascal void LookUp(Ptr PC,
LookupRegs BaseReg,
long Opnd,
char *S);
PC = Pointer to instruction extension word or A-trap word in the
buffer pointed to by the Disassembler's FirstByte parameter.
BaseReg = This determines the meaning of the Opnd value and supplies
the base register for the "∂(An)", "BD,An", and "*±∂" cases.
BaseReg may contain any one of the following values:
_A0_ = 0 ==> A0
_A1_ = 1 ==> A1
_A2_ = 2 ==> A2
_A3_ = 3 ==> A3
_A4_ = 4 ==> A4
_A5_ = 5 ==> A5
_A6_ = 6 ==> A6
_A7_ = 7 ==> A7
_PC_ = 8 ==> PC-relative (special case)
_ABS_ = 9 ==> Abs addr (special case)
_TRAP_ = 10 ==> Trap word (special case)
_IMM_ = 11 ==> Immediate (special case)
For absolute addressing (modes 70 and 71), BaseReg contains _ABS_.
For A-traps, BaseReg would contain _TRAP_. For immediate data (mode
74), BaseReg would contain _IMM_.
Opnd = The contents of this LongInt is determined by the BaseReg parameter
just described.
For BaseReg = _IMM_ (immediate data):
Opnd contains the (extended) 32-bit immediate data specified by
the instruction.
For BaseReg = _TRAP_ (A-traps):
Opnd is the entire trap word. The high order 16 bits of Opnd are
zero.
For BaseReg = _ABS_ (absolute effective address):
Opnd contains the (extended) 32-bit address specifed by the
instruction's effective address. Such addresses would generally
be used to reference low memory globals on a Macintosh.
For BaseReg = _PC_ (PC-relative effective address):
Opnd contains the 32-bit address represented by "*±∂" adjusted
by the Disassembler's DstAdjust parameter.
For BaseReg = _An_ (effective address with a base register):
Opnd contains the (sign-extended) 32-bit (base) displacement
from the instruction's effective address.
In the Macintosh environment, a BaseReg specifying A5 implies
either global data references or Jump Table references. Positive
Opnd values with an A5 BaseReg thus mean Jump Table references,
while a negative offset would mean a global data reference.
Base registers of A6 or A7 would usually mean local data.
S = Pascal string returned from Lookup containing the effective address
substitution string or a trap name for A-traps. S is set to null
PRIOR to calling Lookup. If it is still null on return, the string
is not used. If not null, then for A-traps, the returned string is
used as a opcode string. In all other cases the string is
substituted as shown in the above table.
Depending on the application, the caller has three choices on how to use the
Disassembler and an associated Lookup proc:
(1). The caller can call just the Disassembler and provide his own Lookup
proc. In that case the calling conventions discussed above must be
followed.
(2). The caller can provide NIL for the LookupProc parameter, in which case,
NO Lookup proc will be called.
(3). The caller can call first InitLookup (described below, a proc provided
with this unit) and pass the address of this unit's standard Lookup proc
when Disassembler is called. In this case all the control logic to
determine the kind of substitution to be done is provided for the caller
and all that need to be provided by the user are routines to look up any
or all of the following:
PC-relative references
Jump Table references
Absolute address references
Trap names
Immediate data names
References with offsets from base registers */
pascal void InitLookup(Ptr PCRelProc, Ptr JTOffProc, Ptr TrapProc,
Ptr AbsAddrProc, Ptr IdProc, Ptr ImmDataProc);
/*
Prepare for use of this unit's Lookup proc. When Disassembler is called
and the address of this unit's Lookup proc is specified, then for immeduate
data, PC-relative, Jump Table references, A-traps, absolute addresses, and
offsets from a base register, the associated level 1 Pascal proc specified
here is called (if not NULL -- all five addresses are preset to NULL). The
calls assume the following declarations for these procs (see Lookup, below
for further details):
PROCEDURE PCRelProc(Address: UNIV LongInt;
VAR S: UNIV Str255);
PROCEDURE JTOffProc(A5JTOffset: UNIV Integer;
VAR S: UNIV Str255);
PROCEDURE TrapNameProc(TrapWord: UNIV Integer;
VAR S: UNIV Str255);
PROCEDURE AbsAddrProc(AbsAddr: UNIV LongInt;
VAR S: UNIV Str255);
PROCEDURE IdProc(BaseReg: LookupRegs;
Offset: UNIV LongInt;
VAR S: UNIV Str255);
PROCEDURE ImmDataProc(ImmData: UNIV LongInt;
VAR S: UNIV Str255);
or in C,
pascal void PCRelProc(long Address, char *S)
pascal void JTOffProc(short A5JTOffset, char *S)
pascal void TrapNameProc(unsigned short TrapWord, char *S)
pascal void AbsAddrProc(long AbsAddr, char *S)
pascal void IdProc(LookupRegs BaseReg, long Offset, char *S)
pascal void ImmDataProc(long ImmData, char *S)
Note: InitLookup contains initialized data which requires initializing at load
time (this is of concern only to users with assembler main programs).
*/
pascal void Lookup(Ptr PC, /* Addr of extension/trap word */
LookupRegs BaseReg, /* Base register/lookup mode */
long Opnd, /* Trap word, PC addr, disp. */
char *S); /* Returned substitution */
/*
This is a standard Lookup proc available to the caller for calls to the
Disassembler. If the caller elects to use this proc, then InitLookup MUST be
called prior to any calls to the Disassembler. All the logic to determine the
type of lookup is done by this proc. For PC-relative, Jump Table references,
A-traps, absolute addresses, and offsets from a base register, the associated
level 1 Pascal proc specified in the InitLookup call (if not NULL) is called.
This scheme simplifies the Lookup mechanism by allowing the caller to deal
with just the problems related to the application.
*/
pascal void LookupTrapName(unsigned short TrapWord, char *S);
/*
This is a procedure provided to allow conversion of a trap instruction (in
TrapWord) to its corresponding trap name (in S). It is provided primarily for
use with the Disassembler and its address may be passed to InitLookup above for
use by this unit's Lookup routine. Alternatively, there is nothing prohibiting
the caller from using it directly for other purposes or by some other lookup
proc.
Note: The tables in this proc make the size of this proc about 9500 bytes. The
trap names are fully spelled out in upper and lower case.
*/
pascal void ModifyOperand(char *operand);
/*
Scan an operand string, i.e., the null terminated Pascal string returned by
the Disassembler (null MUST be present here) and modify negative hex values to
negated positive value. For example, $FFFF(A5) would be modified to -$0001(A5).
The operand to be processed is passed as the function's parameter which is
edited "in place" and returned to the caller.
This routine is essentially a pattern matcher and attempts to only modify 2, 4,
and 8 digit hex strings in the operand that "might" be offsets from a base
register. If the matching tests are passed, the same number of original digits
are output (because that indicates a value's size -- byte, word, or long).
For a hex string to be modified, the following tests must be passed:
There must have been exactly 2, 4, or 8 digits.
Only hex strings $XX, $XXXX, and $XXXXXXXX are possible candidates because
that is the only way the Disassembler generates offsets.
Hex string must be delimited by a "(" or a ",".
The "(" allows offsets for $XXXX(An,...) and $XX(An,Xn) addressing modes.
The comma allows for the MC68020 addressing forms.
The "$X..." must NOT be preceded by a "±".
This eliminates the possibility of modifying the offset of a PC-relative
addressing mode always generated in the form "*±$XXXX".
The "$X..." must NOT be preceded by a "#".
This eliminates modifying immediate data.
Value must be negative.
Negative values are the only values we modify. A value $FFFF is modified to
-$0001.
*/
extern char *validMacsBugSymbol(char *symStart, void *limit,
char *symbol);
/*
Check that the bytes pointed to by symStart represents a valid MacsBug symbol.
The symbol must be fully contained in the bytes starting at symStart, up to,
but not including, the byte pointed to by the limit parameter.
If a valid symbol is NOT found, then NULL is returned as the function's result.
However, if a valid symbol is found, it is copied to symbol (if it is not NULL)
as a null terminated Pascal string, and return a pointer to where we think the
FOLLOWING module begins. In the "old style" cases (see below) this will always
be 8 or 16 bytes after the input symStart. For new style Apple Pascal and C
cases this will depend on the symbol length, existence of a pad byte, and size
of the constant (literal) area. In all cases, trailing blanks are removed from
the symbol.
A valid MacsBug symbol consists of the characters '_', '%', spaces, digits, and
upper/lower case letters in a format determined by the first two bytes of the
symbol as follows:
1st byte | 2nd byte | Byte |
Range | Range | Length | Comments
==============================================================================
$20 - $7F | $20 - $7F | 8 | "Old style" MacsBug symbol format
$A0 - $7F | $20 - $7F | 8 | "Old style" MacsBug symbol format
------------------------------------------------------------------------------
$20 - $7F | $80 - $FF | 16 | "Old style" MacApp symbol ab==>b.a
$A0 - $7F | $80 - $FF | 16 | "Old style" MacApp symbol ab==>b.a
------------------------------------------------------------------------------
$80 | $01 - $FF | n | n = 2nd byte (Apple Compiler symbol)
$81 - $9F | $00 - $FF | m | m = 1st byte & $7F (Apple Compiler symbol)
==============================================================================
The formats are determined by whether bit 7 is set in the first and second
bytes. This bit will removed when we find it or'ed into the first and/or
second valid symbol characters.
The first two formats in the above table are the basic "old style" (pre-
existing) MacsBug formats. The first byte may or may not have bit 7 set the
second byte is a valid symbol character. The first byte (with bit 7 removed)
and the next 7 bytes are assumed to comprise the symbol.
The second pair of formats are also "old style" formats, but used for MacApp
symbols. Bit 7 set in the second character indicates these formats. The symbol
is assumed to be 16 bytes with the second 8 bytes preceding the first 8 bytes
in the generated symbol. For example, 12345678abcdefgh represents the symbol
abcdefgh.12345678.
The last pair of formats are reserved by Apple and generated by the MPW Pascal
and C compilers. In these cases the value of the first byte is always between
$80 and $9F, or with bit 7 removed, between $00 and $1F. For $00, the second
byte is the length of the symbol with that many bytes following the second
byte (thus a max length of 255). Values $01 to $1F represent the length itself.
A pad byte may follow these variable length cases if the symbol does not end
on a word boundary. Following the symbol and the possible pad byte is a word
containing the size of the constants (literals) generated by the compiler.
Note that if symStart actually does point to a valid MacsBug symbol, then you
may use showMacsBugSymbol to convert the MacsBug symbol bytes to a string that
could be used as a DC.B operand for disassembly purposes. This string
explicitly shows the MacsBug symbol encodings.
*/
extern char *endOfModule(void *address, void *limit, char *symbol,
void **nextModule);
/*
Check to see if the specified memory address, contains a RTS, JMP (A0) or
RTD #n instruction immediately followed by a valid MacsBug symbol. These
sequences are the only ones which can determine an end of module when MacsBug
symbols are present. During the check, the instruction and its following
MacsBug symbol must be fully contained in the bytes starting at the specified
address parameter, up to, but not including, the byte pointed to by the limit
parameter.
If the end of module is NOT found, then NULL is returned as the function's
result. However, if a end of module is found, the MacsBug symbol is returned
in symbol (if it is not NULL) as a null terminated Pascal string (with trailing
blanks removed), and the functions returns the pointer to the start of the
MacsBug symbol (i.e., address+2 for RTS or JMP (A0) and address+4 for RTD #n).
This address may then be used as in input parameter to showMacsBugSymbol to
convert the MacsBug symbol to a Disassembler operand string.
Also returned in nextModule is where we think the FOLLOWING module begins. In
the "old style" cases (see validMacsBugSymbol) this will always be 8 or 16
bytes after the input address. For new style the Apple Pascal and C cases this
will depend on the symbol length, existence of a pad byte, and size of the
constant (literal) area. See validMacsBugSymbol for a description of valid
MacsBug symbol formats.
*/
extern char *showMacsBugSymbol(char *symStart, void *limit, char *operand,
short *bytesUsed);
/*
Format a MacsBug symbol as a operand of a DC.B directive. The first one or two
bytes of the symbol are generated as $80+'c' if they have there high high bits
set. All other characters are shown as characters in a string constant. The
pad byte, if present, is one is also shown as $00.
This routine is called to check that the bytes pointed to by symStart represent
a valid MacsBug symbol. The symbol must be fully contained in the bytes
starting at symStart, up to, but not including the byte pointed to by the limit
parameter.
When called, showMacsBugSymbol assumes that symStart is pointing at a valid
MacsBug symbol as validated by the validMacsBugSymbol or endOfModule routines.
As with validMacsBugSymbol, the symbol must be fully contained in the bytes
starting at symStart up to, but not including, the byte pointed to by the end
parameter.
The string is returned in the 'operand' parameter as a null terminated Pascal
string. The function also returns a pointer to this string as its return
value (NULL is returned only if the byte pointed to by the limit parameter is
reached prior to processing the entire symbol -- which should not happen if
properly validated). The number of bytes used for the symbol is returned in
bytesUsed. Due to the way MacsBug symbols are encoded, bytesUsed may not
necessarily be the same as the length of the operand string.
A valid MacsBug symbol consists of the characters '_', '%', spaces, digits, and
upper/lower case letters in a format determined by the first two bytes of the
symbol as described in the validMacsBugSymbol routine.
*/
#ifdef __cplusplus
}
#endif
#endif

View File

@ -0,0 +1 @@
TEXTMPS

View File

@ -0,0 +1,25 @@
data 'vers' (1, purgeable) {
$"0320 8000 0000 0533 2E32 2E30 2433 2E32" /* . .....3.2.0$3.2 */
$"2E30 20A9 2041 7070 6C65 2043 6F6D 7075" /* .0 . Apple Compu */
$"7465 722C 2049 6E63 2E20 3139 3835 2D39" /* ter, Inc. 1985-9 */
$"31" /* 1 */
};
data 'vers' (2, purgeable) {
$"0330 8000 0000 0333 2E33 074D 5057 2033" /* .0.....3.3.MPW 3 */
$"2E33" /* .3 */
};
data 'MPSR' (1005) {
$"0009 4D6F 6E61 636F 0000 0001 0000 004D" /* ..Monaco.......M */
$"5328 0000 0000 0000 0000 0000 0000 0000" /* S(.............. */
$"0000 0006 0004 0031 000A 015D 01E0 0031" /* .......1...]...1 */
$"000A 015D 01E0 A431 E940 0000 0000 0000" /* ...]...1.@...... */
$"0000 0000 0000 0100" /* ........ */
};
data 'MPSR' (1008) {
$"0031 000A 015D 01E0 0031 000A 015D 01E0" /* .1...]...1...].. */
$"0000 0000 0000 0000 0000 0000 0000" /* .............. */
};

View File

@ -0,0 +1,51 @@
/************************************************************
Created: Sunday, January 6, 1991 at 9:08 PM
DiskInit.h
C Interface to the Macintosh Libraries
Copyright Apple Computer, Inc. 1985-1989
All rights reserved
************************************************************/
#ifndef __DISKINIT__
#define __DISKINIT__
#ifndef __TYPES__
#include <Types.h>
#endif
struct HFSDefaults {
char sigWord[2]; /* signature word*/
long abSize; /* allocation block size in bytes*/
long clpSize; /* clump size in bytes*/
long nxFreeFN; /* next free file number*/
long btClpSize; /* B-Tree clump size in bytes*/
short rsrv1; /* reserved*/
short rsrv2; /* reserved*/
short rsrv3; /* reserved*/
};
typedef struct HFSDefaults HFSDefaults;
#ifdef __cplusplus
extern "C" {
#endif
pascal void DILoad(void);
pascal void DIUnload(void);
pascal short DIBadMount(Point where,long evtMessage);
OSErr dibadmount(Point *where,long evtMessage);
pascal OSErr DIFormat(short drvNum);
pascal OSErr DIVerify(short drvNum);
pascal OSErr DIZero(short drvNum,ConstStr255Param volName);
OSErr dizero(short drvnum,char *volName);
#ifdef __cplusplus
}
#endif
#endif

View File

@ -0,0 +1 @@
TEXTMPS

View File

@ -0,0 +1,25 @@
data 'vers' (1, purgeable) {
$"0320 8000 0000 0533 2E32 2E30 2433 2E32" /* . .....3.2.0$3.2 */
$"2E30 20A9 2041 7070 6C65 2043 6F6D 7075" /* .0 . Apple Compu */
$"7465 722C 2049 6E63 2E20 3139 3835 2D39" /* ter, Inc. 1985-9 */
$"31" /* 1 */
};
data 'vers' (2, purgeable) {
$"0330 8000 0000 0333 2E33 074D 5057 2033" /* .0.....3.3.MPW 3 */
$"2E33" /* .3 */
};
data 'MPSR' (1005) {
$"0009 4D6F 6E61 636F 0000 0000 0000 0014" /* ..Monaco........ */
$"0005 FA5C 000A 014E 01D1 015D 01E0 0000" /* ...\...N...].... */
$"0000 0006 0004 0031 000A 015D 01E0 0031" /* .......1...]...1 */
$"000A 015D 01E0 A431 E940 0000 0000 0000" /* ...]...1.@...... */
$"0000 0000 0000 0100" /* ........ */
};
data 'MPSR' (1008) {
$"0031 000A 015D 01E0 0031 000A 015D 01E0" /* .1...]...1...].. */
$"0000 0000 0000 0000 0000 0000 0000" /* .............. */
};

View File

@ -0,0 +1,77 @@
/************************************************************
Created: Friday, September 13, 1991 at 12:26 PM
Disks.h
C Interface to the Macintosh Libraries
Copyright Apple Computer, Inc. 1985-1991
All rights reserved
************************************************************/
#ifndef __DISKS__
#define __DISKS__
#ifndef __TYPES__
#include <Types.h>
#endif
#ifndef __OSUTILS__
#include <OSUtils.h>
#endif
struct DrvSts {
short track; /*current track*/
char writeProt; /*bit 7 = 1 if volume is locked*/
char diskInPlace; /*disk in drive*/
char installed; /*drive installed*/
char sides; /*-1 for 2-sided, 0 for 1-sided*/
QElemPtr qLink; /*next queue entry*/
short qType; /*1 for HD20*/
short dQDrive; /*drive number*/
short dQRefNum; /*driver reference number*/
short dQFSID; /*file system ID*/
char twoSideFmt; /*after 1st rd/wrt: 0=1 side, -1=2 side*/
char needsFlush; /*-1 for MacPlus drive*/
short diskErrs; /*soft error count*/
};
typedef struct DrvSts DrvSts;
struct DrvSts2 {
short track;
char writeProt;
char diskInPlace;
char installed;
char sides;
QElemPtr qLink;
short qType;
short dQDrive;
short dQRefNum;
short dQFSID;
short driveSize;
short driveS1;
short driveType;
short driveManf;
short driveChar;
char driveMisc;
};
typedef struct DrvSts2 DrvSts2;
#ifdef __cplusplus
extern "C" {
#endif
pascal OSErr DiskEject(short drvNum);
pascal OSErr SetTagBuffer(void *buffPtr);
pascal OSErr DriveStatus(short drvNum,DrvSts *status);
#ifdef __cplusplus
}
#endif
#endif

View File

@ -0,0 +1 @@
TEXTMPS

View File

@ -0,0 +1,25 @@
data 'vers' (1) {
$"0321 8000 0000 0533 2E32 2E31 2833 2E32" /* .!.....3.2.1(3.2 */
$"2E31 2C20 A920 4170 706C 6520 436F 6D70" /* .1, . Apple Comp */
$"7574 6572 2C20 496E 632E 2031 3938 352D" /* uter, Inc. 1985- */
$"3139 3932 2E" /* 1992. */
};
data 'vers' (2, purgeable) {
$"0330 8000 0000 0333 2E33 074D 5057 2033" /* .0.....3.3.MPW 3 */
$"2E33" /* .3 */
};
data 'MPSR' (1005) {
$"0009 4D6F 6E61 636F 0000 001E 0000 0014" /* ..Monaco........ */
$"0005 FA5C 000A 014E 01D1 015D 01E0 000A" /* ...\...N...].... */
$"0000 0006 0004 0031 000A 015D 01E0 0031" /* .......1...]...1 */
$"000A 015D 01E0 A664 D9C0 0000 0000 0000" /* ...]...d........ */
$"0000 0000 0000 0100" /* ........ */
};
data 'MPSR' (1008) {
$"0031 000A 015D 01E0 0031 000A 015D 01E0" /* .1...]...1...].. */
$"0000 0000 0000 0000 0000 0000 0000" /* .............. */
};

View File

@ -0,0 +1,101 @@
/************************************************************
Created: Thursday, September 12, 1991 at 2:56 PM
ENET.h
C Interface to the Macintosh Libraries
Copyright Apple Computer, Inc. 1990-1991
All rights reserved
************************************************************/
#ifndef __ENET__
#define __ENET__
#ifndef __TYPES__
#include <Types.h>
#endif
#ifndef __OSUTILS__
#include <OSUtils.h>
#endif
enum {
ENetSetGeneral = 253, /*Set "general" mode*/
ENetGetInfo = 252, /*Get info*/
ENetRdCancel = 251, /*Cancel read*/
ENetRead = 250, /*Read*/
ENetWrite = 249, /*Write*/
ENetDetachPH = 248, /*Detach protocol handler*/
ENetAttachPH = 247, /*Attach protocol handler*/
ENetAddMulti = 246, /*Add a multicast address*/
ENetDelMulti = 245, /*Delete a multicast address*/
eLenErr = -92, /*Length error ddpLenErr*/
eMultiErr = -91 /*Multicast address error ddpSktErr*/
#define EAddrRType 'eadr' /*Alternate address resource type*/
};
#define EParamHeader \
QElem *qLink; /*General EParams*/\
short qType; /*queue type*/\
short ioTrap; /*routine trap*/\
Ptr ioCmdAddr; /*routine address*/\
ProcPtr ioCompletion; /*completion routine*/\
OSErr ioResult; /*result code*/\
StringPtr ioNamePtr; /*->filename*/\
short ioVRefNum; /*volume reference or drive number*/\
short ioRefNum; /*driver reference number*/\
short csCode; /*Call command code*/
struct EParamMisc1 {
EParamHeader /*General EParams*/
short eProtType; /*Ethernet protocol type*/
Ptr ePointer;
short eBuffSize; /*buffer size*/
short eDataSize; /*number of bytes read*/
};
typedef struct EParamMisc1 EParamMisc1;
struct EParamMisc2 {
EParamMisc1 EParms1;
char eMultiAddr[6]; /*Multicast Address*/
};
typedef struct EParamMisc2 EParamMisc2;
union EParamBlock {
EParamMisc1 EParms1;
EParamMisc2 EParms2;
};
typedef union EParamBlock EParamBlock;
typedef EParamBlock *EParamBlkPtr;
#ifdef __cplusplus
extern "C" {
#endif
pascal OSErr EWrite(EParamBlkPtr thePBptr,Boolean async);
pascal OSErr EAttachPH(EParamBlkPtr thePBptr,Boolean async);
pascal OSErr EDetachPH(EParamBlkPtr thePBptr,Boolean async);
pascal OSErr ERead(EParamBlkPtr thePBptr,Boolean async);
pascal OSErr ERdCancel(EParamBlkPtr thePBptr,Boolean async);
pascal OSErr EGetInfo(EParamBlkPtr thePBptr,Boolean async);
pascal OSErr ESetGeneral(EParamBlkPtr thePBptr,Boolean async);
pascal OSErr EAddMulti(EParamBlkPtr thePBptr,Boolean async);
pascal OSErr EDelMulti(EParamBlkPtr thePBptr,Boolean async);
#ifdef __cplusplus
}
#endif
#endif

View File

@ -0,0 +1 @@
TEXTMPS

View File

@ -0,0 +1,25 @@
data 'vers' (1) {
$"0321 8000 0000 0533 2E32 2E31 2833 2E32" /* .!.....3.2.1(3.2 */
$"2E31 2C20 A920 4170 706C 6520 436F 6D70" /* .1, . Apple Comp */
$"7574 6572 2C20 496E 632E 2031 3938 352D" /* uter, Inc. 1985- */
$"3139 3932 2E" /* 1992. */
};
data 'vers' (2, purgeable) {
$"0330 8000 0000 0333 2E33 074D 5057 2033" /* .0.....3.3.MPW 3 */
$"2E33" /* .3 */
};
data 'MPSR' (1005) {
$"0009 4D6F 6E61 636F 0000 0000 0000 0000" /* ..Monaco........ */
$"0000 0000 0000 0000 0000 0014 0005 FD38" /* ...............8 */
$"000A 0006 0004 0031 000A 015D 01E0 0031" /* .......1...]...1 */
$"000A 015D 01E0 A664 D9C0 0000 0000 0000" /* ...]...d........ */
$"0000 0000 0000 0100" /* ........ */
};
data 'MPSR' (1008) {
$"0031 000A 015D 01E0 0031 000A 015D 01E0" /* .1...]...1...].. */
$"0000 0000 0000 0000 0000 0000 0000" /* .............. */
};

View File

@ -0,0 +1,131 @@
/************************************************************
Created: Sunday, January 6, 1991 at 9:10 PM
EPPC.h
C Interface to the Macintosh Libraries
Copyright Apple Computer, Inc. 1988-1990
All rights reserved
************************************************************/
#ifndef __EPPC__
#define __EPPC__
#ifndef __PPCTOOLBOX__
#include <PPCToolbox.h>
#endif
#ifndef __PROCESSES__
#include <Processes.h>
#endif
#ifndef __EVENTS__
#include <Events.h>
#endif
enum {
kHighLevelEvent = 23,
/* postOptions currently supported */
receiverIDMask = 0x0000F000,
receiverIDisPSN = 0x00008000,
receiverIDisSignature = 0x00007000,
receiverIDisSessionID = 0x00006000,
receiverIDisTargetID = 0x00005000,
systemOptionsMask = 0x00000F00,
nReturnReceipt = 0x00000200,
priorityMask = 0x000000FF,
nAttnMsg = 0x00000001,
/* error returns from Post and Accept */
bufferIsSmall = -607,
noOutstandingHLE = -608,
connectionInvalid = -609,
noUserInteractionAllowed = -610, /* no user interaction allowed */
/* constant for return receipts */
#define HighLevelEventMsgClass 'jaym'
#define rtrnReceiptMsgID 'rtrn'
msgWasPartiallyAccepted = 2,
msgWasFullyAccepted = 1,
msgWasNotAccepted = 0
};
struct TargetID {
long sessionID;
PPCPortRec name;
LocationNameRec location;
PPCPortRec recvrName;
};
typedef struct TargetID TargetID;
typedef TargetID *TargetIDPtr, **TargetIDHdl;
typedef TargetID SenderID;
typedef SenderID *SenderIDPtr;
struct HighLevelEventMsg {
unsigned short HighLevelEventMsgHeaderLength;
unsigned short version;
unsigned long reserved1;
EventRecord theMsgEvent;
unsigned long userRefcon;
unsigned long postingOptions;
unsigned long msgLength;
};
typedef struct HighLevelEventMsg HighLevelEventMsg;
typedef HighLevelEventMsg *HighLevelEventMsgPtr, **HighLevelEventMsgHdl;
#ifdef __cplusplus
extern "C" {
#endif
pascal OSErr PostHighLevelEvent(const EventRecord *theEvent,
unsigned long receiverID,
unsigned long msgRefcon,
Ptr msgBuff,
unsigned long msgLen,
unsigned long postingOptions)
= {0x3F3C,0x0034,0xA88F};
pascal OSErr AcceptHighLevelEvent(TargetID *sender,
unsigned long *msgRefcon,
Ptr msgBuff,
unsigned long *msgLen)
= {0x3F3C,0x0033,0xA88F};
pascal OSErr GetProcessSerialNumberFromPortName(const PPCPortPtr portName,
ProcessSerialNumberPtr pPSN)
= {0x3F3C,0x0035,0xA88F};
pascal OSErr GetPortNameFromProcessSerialNumber(PPCPortPtr portName,const ProcessSerialNumberPtr pPSN)
= {0x3F3C,0x0046,0xA88F};
#ifdef __cplusplus
}
#endif
typedef pascal Boolean (*GetSpecificFilterProcPtr) (void *yourDataPtr,
HighLevelEventMsgPtr msgBuff,
const TargetID *sender);
#ifdef __cplusplus
extern "C" {
#endif
pascal Boolean GetSpecificHighLevelEvent(GetSpecificFilterProcPtr aFilter,
void *yourDataPtr,OSErr *err)
= {0x3F3C,0x0045,0xA88F};
#ifdef __cplusplus
}
#endif
#endif

View File

@ -0,0 +1 @@
TEXTMPS

View File

@ -0,0 +1,25 @@
data 'vers' (1, purgeable) {
$"0320 8000 0000 0533 2E32 2E30 2433 2E32" /* . .....3.2.0$3.2 */
$"2E30 20A9 2041 7070 6C65 2043 6F6D 7075" /* .0 . Apple Compu */
$"7465 722C 2049 6E63 2E20 3139 3835 2D39" /* ter, Inc. 1985-9 */
$"31" /* 1 */
};
data 'vers' (2, purgeable) {
$"0330 8000 0000 0333 2E33 074D 5057 2033" /* .0.....3.3.MPW 3 */
$"2E33" /* .3 */
};
data 'MPSR' (1005) {
$"0009 4D6F 6E61 636F 0000 001E 0000 0014" /* ..Monaco........ */
$"0005 FA10 000A 014E 01D1 015D 01E0 000A" /* .......N...].... */
$"0000 0006 0004 0031 000A 015D 01E0 0031" /* .......1...]...1 */
$"000A 015D 01E0 A431 E940 0000 0000 0000" /* ...]...1.@...... */
$"0000 0000 0000 0100" /* ........ */
};
data 'MPSR' (1008) {
$"0031 000A 015D 01E0 0031 000A 015D 01E0" /* .1...]...1...].. */
$"0000 0000 0000 0000 0000 0000 0000" /* .............. */
};

View File

@ -0,0 +1,369 @@
/************************************************************
Created: Friday, September 13, 1991 at 12:27 PM
Editions.h
C Interface to the Macintosh Libraries
Copyright Apple Computer, Inc. 1989-1991
All rights reserved
************************************************************/
#ifndef __EDITIONS__
#define __EDITIONS__
#ifndef __MEMORY__
#include <Memory.h>
#endif
#ifndef __TYPES__
#include <Types.h>
#endif
#ifndef __FILES__
#include <Files.h>
#endif
#ifndef __ALIASES__
#include <Aliases.h>
#endif
#ifndef __DIALOGS__
#include <Dialogs.h>
#endif
enum {
/* resource types */
#define rSectionType 'sect' /* ResType of saved SectionRecords */
/* section types */
stSubscriber = 0x01,
stPublisher = 0x0A,
sumAutomatic = 0, /* subscriber update mode - Automatically */
sumManual = 1, /* subscriber update mode - Manually */
pumOnSave = 0, /* publisher update mode - OnSave */
pumManual = 1, /* publisher update mode - Manually */
kPartsNotUsed = 0,
kPartNumberUnknown = -1, /* misc */
kPreviewWidth = 120,
kPreviewHeight = 120,
#define kPublisherDocAliasFormat 'alis'
#define kPreviewFormat 'prvw'
#define kFormatListFormat 'fmts'
/* bits for formatsMask */
kPICTformatMask = 1,
kTEXTformatMask = 2,
ksndFormatMask = 4,
/* Finder types for edition files */
#define kPICTEditionFileType 'edtp'
#define kTEXTEditionFileType 'edtt'
#define ksndEditionFileType 'edts'
#define kUnknownEditionFileType 'edtu'
/* pseudo-item hits for dialogHooks
the first if for NewPublisher or NewSubscriber Dialogs */
emHookRedrawPreview = 150,
/* the following are for SectionOptions Dialog */
emHookCancelSection = 160,
emHookGoToPublisher = 161,
emHookGetEditionNow = 162,
emHookSendEditionNow = 162,
emHookManualUpdateMode = 163,
emHookAutoUpdateMode = 164
};
enum {
/* the refcon field of the dialog record during a modalfilter
or dialoghook contains one the following */
#define emOptionsDialogRefCon 'optn'
#define emCancelSectionDialogRefCon 'cncl'
#define emGoToPubErrDialogRefCon 'gerr'
kFormatLengthUnknown = -1
};
typedef char SectionType; /* one byte, stSubscriber or stPublisher */
typedef unsigned long TimeStamp; /* seconds since 1904 */
typedef unsigned long FormatType; /* similar to ResType */
typedef Handle EditionRefNum; /* used in Edition I/O */
/* update modes */
typedef short UpdateMode; /* sumAutomatic, pumSuspend, etc */
struct SectionRecord {
SignedByte version; /* always 0x01 in system 7.0 */
SectionType kind; /* stSubscriber or stPublisher */
UpdateMode mode; /* auto or manual */
TimeStamp mdDate; /* last change in document */
long sectionID; /* app. specific, unique per document */
long refCon; /* application specific */
AliasHandle alias; /* handle to Alias Record */
long subPart; /* which part of container file */
struct SectionRecord **nextSection; /* for linked list of app's Sections */
Handle controlBlock; /* used internally */
EditionRefNum refNum; /* used internally */
};
typedef struct SectionRecord SectionRecord;
typedef SectionRecord *SectionPtr, **SectionHandle;
struct EditionContainerSpec {
FSSpec theFile;
ScriptCode theFileScript;
long thePart;
Str31 thePartName;
ScriptCode thePartScript;
};
typedef struct EditionContainerSpec EditionContainerSpec;
typedef EditionContainerSpec *EditionContainerSpecPtr;
struct EditionInfoRecord {
TimeStamp crDate; /* date EditionContainer was created */
TimeStamp mdDate; /* date of last change */
OSType fdCreator; /* file creator */
OSType fdType; /* file type */
EditionContainerSpec container; /* the Edition */
};
typedef struct EditionInfoRecord EditionInfoRecord;
struct NewPublisherReply {
Boolean canceled; /* O */
Boolean replacing ;
Boolean usePart; /* I */
Handle preview; /* I */
FormatType previewFormat; /* I */
EditionContainerSpec container; /* I/O */
};
typedef struct NewPublisherReply NewPublisherReply;
struct NewSubscriberReply {
Boolean canceled; /* O */
unsigned char formatsMask;
EditionContainerSpec container; /*I/O*/
};
typedef struct NewSubscriberReply NewSubscriberReply;
struct SectionOptionsReply {
Boolean canceled; /* O */
Boolean changed; /* O */
SectionHandle sectionH; /* I */
ResType action; /* O */
};
typedef struct SectionOptionsReply SectionOptionsReply;
typedef pascal Boolean (*ExpModalFilterProcPtr) (DialogPtr theDialog, EventRecord *theEvent,
short itemOffset, short *itemHit, Ptr yourDataPtr);
typedef pascal short (*ExpDlgHookProcPtr) (short itemOffset,
short itemHit, DialogPtr theDialog, Ptr yourDataPtr);
enum {ioHasFormat,ioReadFormat,ioNewFormat,ioWriteFormat};
typedef unsigned char FormatIOVerb;
struct FormatIOParamBlock {
long ioRefNum;
FormatType format;
long formatIndex;
unsigned long offset;
Ptr buffPtr;
unsigned long buffLen;
};
typedef struct FormatIOParamBlock FormatIOParamBlock;
typedef pascal short (*FormatIOProcPtr) (FormatIOVerb selector, FormatIOParamBlock *PB);
enum {eoOpen,eoClose,eoOpenNew,eoCloseNew,eoCanSubscribe};
typedef unsigned char EditionOpenerVerb;
struct EditionOpenerParamBlock {
EditionInfoRecord info;
SectionHandle sectionH;
FSSpecPtr document;
OSType fdCreator;
long ioRefNum;
FormatIOProcPtr ioProc;
Boolean success;
unsigned char formatsMask;
};
typedef struct EditionOpenerParamBlock EditionOpenerParamBlock;
typedef pascal short (*EditionOpenerProcPtr) (EditionOpenerVerb selector, FormatIOParamBlock *PB);
/*
Section events now arrive in the message buffer using the AppleEvent format.
The direct object parameter is an aeTemporaryIDParamType ('tid '). The temporary
ID's type is rSectionType ('sect') and the 32-bit value is a SectionHandle.
The following is a sample buffer
name offset contents
---- ------ --------
header 0 'aevt'
majorVersion 4 0x01
minorVersion 6 0x01
endOfMetaData 8 ';;;;'
directObjKey 12 '----'
paramType 16 'tid '
paramLength 20 0x0008
tempIDType 24 'sect'
tempID 28 the SectionHandle <-- this is want you want*/
#define sectionEventMsgClass 'sect'
#define sectionReadMsgID 'read'
#define sectionWriteMsgID 'writ'
#define sectionScrollMsgID 'scrl'
#define sectionCancelMsgID 'cncl'
#ifdef __cplusplus
extern "C" {
#endif
pascal OSErr InitEditionPack(void)
= {0x3F3C,0x0011,0x303C,0x0100,0xA82D};
pascal OSErr NewSection(const EditionContainerSpec *container,
const FSSpec *sectionDocument,
SectionType kind,
long sectionID,
UpdateMode initalMode,
SectionHandle *sectionH)
= {0x303C,0x0A02,0xA82D};
pascal OSErr RegisterSection(const FSSpec *sectionDocument,
SectionHandle sectionH,
Boolean *aliasWasUpdated)
= {0x303C,0x0604,0xA82D};
pascal OSErr UnRegisterSection(SectionHandle sectionH)
= {0x303C,0x0206,0xA82D};
pascal OSErr IsRegisteredSection(SectionHandle sectionH)
= {0x303C,0x0208,0xA82D};
pascal OSErr AssociateSection(SectionHandle sectionH,
const FSSpec *newSectionDocument)
= {0x303C,0x040C,0xA82D};
pascal OSErr CreateEditionContainerFile(const FSSpec *editionFile,
OSType fdCreator,
ScriptCode editionFileNameScript)
= {0x303C,0x050E,0xA82D};
pascal OSErr DeleteEditionContainerFile(const FSSpec *editionFile)
= {0x303C,0x0210,0xA82D};
pascal OSErr OpenEdition(SectionHandle subscriberSectionH,
EditionRefNum *refNum)
= {0x303C,0x0412,0xA82D};
pascal OSErr OpenNewEdition(SectionHandle publisherSectionH,
OSType fdCreator,
const FSSpec *publisherSectionDocument,
EditionRefNum *refNum)
= {0x303C,0x0814,0xA82D};
pascal OSErr CloseEdition(EditionRefNum whichEdition,
Boolean successful)
= {0x303C,0x0316,0xA82D};
pascal OSErr EditionHasFormat(EditionRefNum whichEdition,
FormatType whichFormat,
Size *formatSize)
= {0x303C,0x0618,0xA82D};
pascal OSErr ReadEdition(EditionRefNum whichEdition,
FormatType whichFormat,
void *buffPtr,
Size *buffLen)
= {0x303C,0x081A,0xA82D};
pascal OSErr WriteEdition(EditionRefNum whichEdition,
FormatType whichFormat,
const void *buffPtr,
Size buffLen)
= {0x303C,0x081C,0xA82D};
pascal OSErr GetEditionFormatMark(EditionRefNum whichEdition,
FormatType whichFormat,
unsigned long *currentMark)
= {0x303C,0x061E,0xA82D};
pascal OSErr SetEditionFormatMark(EditionRefNum whichEdition,
FormatType whichFormat,
unsigned long setMarkTo)
= {0x303C,0x0620,0xA82D};
pascal OSErr GetEditionInfo(const SectionHandle sectionH,
EditionInfoRecord *editionInfo)
= {0x303C,0x0422,0xA82D};
pascal OSErr GoToPublisherSection(const EditionContainerSpec *container)
= {0x303C,0x0224,0xA82D};
pascal OSErr GetLastEditionContainerUsed(EditionContainerSpec *container)
= {0x303C,0x0226,0xA82D};
pascal OSErr GetStandardFormats(const EditionContainerSpec *container,
FormatType *previewFormat,
Handle preview,
Handle publisherAlias,
Handle formats)
= {0x303C,0x0A28,0xA82D};
pascal OSErr GetEditionOpenerProc(EditionOpenerProcPtr *opener)
= {0x303C,0x022A,0xA82D};
pascal OSErr SetEditionOpenerProc(EditionOpenerProcPtr opener)
= {0x303C,0x022C,0xA82D};
pascal OSErr CallEditionOpenerProc(EditionOpenerVerb selector,
EditionOpenerParamBlock *PB,
EditionOpenerProcPtr routine)
= {0x303C,0x052E,0xA82D};
pascal OSErr CallFormatIOProc(FormatIOVerb selector,
FormatIOParamBlock *PB,
FormatIOProcPtr routine)
= {0x303C,0x0530,0xA82D};
pascal OSErr NewSubscriberDialog(NewSubscriberReply *reply)
= {0x303C,0x0232,0xA82D};
pascal OSErr NewSubscriberExpDialog(NewSubscriberReply *reply,
Point where,
short expansionDITLresID,
ExpDlgHookProcPtr dlgHook,
ExpModalFilterProcPtr filterProc,
void *yourDataPtr)
= {0x303C,0x0B34,0xA82D};
pascal OSErr NewPublisherDialog(NewPublisherReply *reply)
= {0x303C,0x0236,0xA82D};
pascal OSErr NewPublisherExpDialog(NewPublisherReply *reply,
Point where,
short expansionDITLresID,
ExpDlgHookProcPtr dlgHook,
ExpModalFilterProcPtr filterProc,
void *yourDataPtr)
= {0x303C,0x0B38,0xA82D};
pascal OSErr SectionOptionsDialog(SectionOptionsReply *reply)
= {0x303C,0x023A,0xA82D};
pascal OSErr SectionOptionsExpDialog(SectionOptionsReply *reply,
Point where,
short expansionDITLresID,
ExpDlgHookProcPtr dlgHook,
ExpModalFilterProcPtr filterProc,
void *yourDataPtr)
= {0x303C,0x0B3C,0xA82D};
#ifdef __cplusplus
}
#endif
#endif

View File

@ -0,0 +1 @@
TEXTMPS

View File

@ -0,0 +1,25 @@
data 'vers' (1) {
$"0321 8000 0000 0533 2E32 2E31 2833 2E32" /* .!.....3.2.1(3.2 */
$"2E31 2C20 A920 4170 706C 6520 436F 6D70" /* .1, . Apple Comp */
$"7574 6572 2C20 496E 632E 2031 3938 352D" /* uter, Inc. 1985- */
$"3139 3932 2E" /* 1992. */
};
data 'vers' (2, purgeable) {
$"0330 8000 0000 0333 2E33 074D 5057 2033" /* .0.....3.3.MPW 3 */
$"2E33" /* .3 */
};
data 'MPSR' (1005) {
$"0009 4D6F 6E61 636F 0010 000C 0000 0000" /* ..Monaco........ */
$"0000 0000 FF00 4082 40B4 0005 0574 0000" /* ......@.@....t.. */
$"0000 0006 0004 0031 000A 015D 01E0 0031" /* .......1...]...1 */
$"000A 015D 01E0 A664 D9C0 0000 0000 0000" /* ...]...d........ */
$"0000 0000 0000 0100" /* ........ */
};
data 'MPSR' (1008) {
$"0031 000A 015D 01E0 0031 000A 015D 01E0" /* .1...]...1...].. */
$"0000 0000 0000 0000 0000 0000 0000" /* .............. */
};

View File

@ -0,0 +1,126 @@
/************************************************************
Created: Thursday, September 7, 1989 at 9:13 PM
ErrMgr.h
C Interface to the Macintosh Libraries
<<< Error File Manager Routines Interface File >>>
Copyright Apple Computer, Inc. 1987-1990
All rights reserved
This file contains:
InitErrMgr(toolname, sysename, Nbrs) - ErrMgr initialization
CloseErrMgr() - Close ErrMgr message files
GetSysErrText(Nbr, Msg) - Get a system error message for a number
GetToolErrText(Nbr, Insert, Msg) - Get a tool error message for a number
AddErrInsert(insert, msgString) - Add an insert to a message
addInserts(msgString, insert,...) - Add a number of inserts to a message
************************************************************/
#ifndef __ERRMGR__
#define __ERRMGR__
#ifndef __TYPES__
#include <Types.h>
#endif
#ifdef __cplusplus
extern "C" {
#endif
extern void InitErrMgr(char *toolErrFilename,char *sysErrFilename,Boolean showToolErrNbrs);
/*
ErrMgr initialization.This must be done before using any other ErrMgr
routine. Set showToolErrNbrs to true if you want all tool messages to contain
the error number following the message text enclosed in parentheses (e.g.,
"<msg txt> ([OS] Error <n>)"; system error messages always contain the error
number). The toolErrFileName parameter is used to specify the name of a
tool-specific error file, and should be the NULL or a null string if not used
(or if the tool's data fork is to be used as the error file, see
GetToolErrText for futher details). The sysErrFileName parameter is used to
specify the name of a system error file, and should normally be the NULL or a
null string, which causes the ErrMgr to look in the MPW Shell directory for
"SysErrs.Err" (see GetSysErrText).
If InitErrMgr is NOT called prior to calling GetSysErrText or GetToolErrText,
then those routines, the first time they are called, will call InitErrMgr as
InitErrMgr(NULL, NULL, true).
The following global may be set to true to allow a C caller to process all
strings as Pascal strings:*/
extern Boolean pascalStrings; /* set to true for Pascal strings*//*
This should be set PRIOR to calling InitErrMgr. Once set, ALL strings, both
those passed to the ErrMgr as filenames and error message inserts, as well as
the messages returned by the ErrMgr will be Pascal strings. There is NO
guarantee a '\0' byte is at the end of the string. Results are unpredictable
if pascalStringsis set false after it has been set true!
*/
extern void CloseErrMgr(void);
/*
Ideally a CloseErrMgr should be done at the end of execution to make sure all
files opened by the ErrMgr are closed. You can let normal program termination
do the closing. But if you are a purist...
*/
extern char *GetSysErrText(short msgNbr,char *errMsg);
/*
Get the error message text corresponding to system error number errNbr from
the system error message file (whose name was specified in the InitErrMgr
call). The text of the message is returned in errMsg and the function returns
a pointer to errMsg. The maximum length of the message is limited to 254
characters.
Note, if a system message filename was not specified to InitErrMgr, then the
ErrMgr assumes the message file contained in the file "SysErrs.Err". This
file is first accessed as "{ShellDirectory}SysErrs.Err" on the assumption that
SysErrs.Err is kept in the same directory as the MPW Shell. If the file
cannot be opened, then an open is attempted on "SysErrs.Err" in the System
Folder.
*/
extern char *GetToolErrText(short msgNbr,char *errInsert,char *errMsg);
/*
Get the error message text corresponding to tool error number errNbr from
the tool error message file (whose name was specified in the InitErrMgr
call). The text of the message is returned in errMsg and the function returns
a pointer to errMsg. The maximum length of the message is limited to 254
characters. If the message is to have an insert, then ErrInsert should be a
pointer to it. Otherwise it should be either be a null string or a NULL
pointer.
Inserts are indicated in error messages by specifying a '^' to indicate where
the insert is to be placed.
Note, if a tool message filename was not specified to InitErrMgr, then the
ErrMgr assumes the message file contained in the data fork of the tool calling
the ErrMgr. This name is contained in the Shell variable {Command} and the
value of that variable is used to open the error message file.
*/
extern void AddErrInsert(unsigned char *insert,unsigned char *msgString);
/*
Add another insert to an error message string.This call is used when more
than one insert is to be added to a message (because it contains more than
one '^' character).
*/
extern unsigned char *addInserts(unsigned char *msgString,unsigned char *insert,
... );
/*
Add a set of inserts to an error message string. AddErrInsert is called for
each insert parameter specified.
*/
#ifdef __cplusplus
}
#endif
#endif

View File

@ -0,0 +1 @@
TEXTMPS

View File

@ -0,0 +1,25 @@
data 'vers' (1, purgeable) {
$"0320 8000 0000 0533 2E32 2E30 2433 2E32" /* . .....3.2.0$3.2 */
$"2E30 20A9 2041 7070 6C65 2043 6F6D 7075" /* .0 . Apple Compu */
$"7465 722C 2049 6E63 2E20 3139 3835 2D39" /* ter, Inc. 1985-9 */
$"31" /* 1 */
};
data 'vers' (2, purgeable) {
$"0330 8000 0000 0333 2E33 074D 5057 2033" /* .0.....3.3.MPW 3 */
$"2E33" /* .3 */
};
data 'MPSR' (1005) {
$"0009 4D6F 6E61 636F 0092 0003 01A2 020B" /* ..Monaco........ */
$"0000 FFF6 FFF6 21EC 0000 F718 004D 4A50" /* ......!......MJP */
$"0000 0006 0004 0031 000A 015D 01E0 0031" /* .......1...]...1 */
$"000A 015D 01E0 A431 E940 0000 0000 0000" /* ...]...1.@...... */
$"0000 0000 0000 0100" /* ........ */
};
data 'MPSR' (1008) {
$"0031 000A 015D 01E0 0031 000A 015D 01E0" /* .1...]...1...].. */
$"0000 0000 0000 0000 0000 0000 0000" /* .............. */
};

View File

@ -0,0 +1,554 @@
/************************************************************
Created: Thursday, March 14, 1991 at 3:53 PM
Errors.h
C Interface to the Macintosh Libraries
Copyright Apple Computer, Inc. 1985-1990
All rights reserved
************************************************************/
#ifndef __ERRORS__
#define __ERRORS__
enum {
paramErr = -50, /*error in user parameter list*/
noHardwareErr = -200, /*Sound Manager Error Returns*/
notEnoughHardwareErr = -201, /*Sound Manager Error Returns*/
userCanceledErr = -128,
qErr = -1, /*queue element not found during deletion*/
vTypErr = -2, /*invalid queue element*/
corErr = -3, /*core routine number out of range*/
unimpErr = -4, /*unimplemented core routine*/
SlpTypeErr = -5, /*invalid queue element*/
seNoDB = -8, /*no debugger installed to handle debugger command*/
controlErr = -17, /*I/O System Errors*/
statusErr = -18, /*I/O System Errors*/
readErr = -19, /*I/O System Errors*/
writErr = -20, /*I/O System Errors*/
badUnitErr = -21, /*I/O System Errors*/
unitEmptyErr = -22, /*I/O System Errors*/
openErr = -23, /*I/O System Errors*/
closErr = -24, /*I/O System Errors*/
dRemovErr = -25, /*tried to remove an open driver*/
dInstErr = -26 /*DrvrInstall couldn't find driver in resources */
};
enum {
abortErr = -27, /*IO call aborted by KillIO*/
iIOAbortErr = -27, /*IO abort error (Printing Manager)*/
notOpenErr = -28, /*Couldn't rd/wr/ctl/sts cause driver not opened*/
unitTblFullErr = -29, /*unit table has no more entries*/
dceExtErr = -30, /*dce extension error*/
slotNumErr = -360, /*invalid slot # error*/
gcrOnMFMErr = -400, /*gcr format on high density media error*/
dirFulErr = -33, /*Directory full*/
dskFulErr = -34, /*disk full*/
nsvErr = -35, /*no such volume*/
ioErr = -36, /*I/O error (bummers)*/
bdNamErr = -37, /*there may be no bad names in the final system!*/
fnOpnErr = -38, /*File not open*/
eofErr = -39, /*End of file*/
posErr = -40, /*tried to position to before start of file (r/w)*/
mFulErr = -41, /*memory full (open) or file won't fit (load)*/
tmfoErr = -42, /*too many files open*/
fnfErr = -43, /*File not found*/
wPrErr = -44, /*diskette is write protected.*/
fLckdErr = -45 /*file is locked*/
};
enum {
vLckdErr = -46, /*volume is locked*/
fBsyErr = -47, /*File is busy (delete)*/
dupFNErr = -48, /*duplicate filename (rename)*/
opWrErr = -49, /*file already open with with write permission*/
rfNumErr = -51, /*refnum error*/
gfpErr = -52, /*get file position error*/
volOffLinErr = -53, /*volume not on line error (was Ejected)*/
permErr = -54, /*permissions error (on file open)*/
volOnLinErr = -55, /*drive volume already on-line at MountVol*/
nsDrvErr = -56, /*no such drive (tried to mount a bad drive num)*/
noMacDskErr = -57, /*not a mac diskette (sig bytes are wrong)*/
extFSErr = -58, /*volume in question belongs to an external fs*/
fsRnErr = -59, /*file system internal error:during rename the old entry was deleted but could not be restored.*/
badMDBErr = -60, /*bad master directory block*/
wrPermErr = -61, /*write permissions error*/
dirNFErr = -120, /*Directory not found*/
tmwdoErr = -121, /*No free WDCB available*/
badMovErr = -122, /*Move into offspring error*/
wrgVolTypErr = -123, /*Wrong volume type error [operation not supported for MFS]*/
volGoneErr = -124 /*Server volume has been disconnected.*/
};
enum {
fidNotFound = -1300, /*no file thread exists.*/
fidExists = -1301, /*file id already exists*/
notAFileErr = -1302, /*directory specified*/
diffVolErr = -1303, /*files on different volumes*/
catChangedErr = -1304, /*the catalog has been modified*/
desktopDamagedErr = -1305, /*desktop database files are corrupted*/
sameFileErr = -1306, /*can't exchange a file with itself*/
badFidErr = -1307, /*file id is dangling or doesn't match with the file number*/
envNotPresent = -5500, /*returned by glue.*/
envBadVers = -5501, /*Version non-positive*/
envVersTooBig = -5502, /*Version bigger than call can handle*/
fontDecError = -64, /*error during font declaration*/
fontNotDeclared = -65, /*font not declared*/
fontSubErr = -66, /*font substitution occured*/
fontNotOutlineErr = -32615, /*bitmap font passed to routine that does outlines only*/
firstDskErr = -84, /*I/O System Errors*/
lastDskErr = -64, /*I/O System Errors*/
noDriveErr = -64, /*drive not installed*/
offLinErr = -65, /*r/w requested for an off-line drive*/
noNybErr = -66 /*couldn't find 5 nybbles in 200 tries*/
};
enum {
noAdrMkErr = -67, /*couldn't find valid addr mark*/
dataVerErr = -68, /*read verify compare failed*/
badCksmErr = -69, /*addr mark checksum didn't check*/
badBtSlpErr = -70, /*bad addr mark bit slip nibbles*/
noDtaMkErr = -71, /*couldn't find a data mark header*/
badDCksum = -72, /*bad data mark checksum*/
badDBtSlp = -73, /*bad data mark bit slip nibbles*/
wrUnderrun = -74, /*write underrun occurred*/
cantStepErr = -75, /*step handshake failed*/
tk0BadErr = -76, /*track 0 detect doesn't change*/
initIWMErr = -77, /*unable to initialize IWM*/
twoSideErr = -78, /*tried to read 2nd side on a 1-sided drive*/
spdAdjErr = -79, /*unable to correctly adjust disk speed*/
seekErr = -80, /*track number wrong on address mark*/
sectNFErr = -81, /*sector number never found on a track*/
fmt1Err = -82, /*can't find sector 0 after track format*/
fmt2Err = -83, /*can't get enough sync*/
verErr = -84, /*track failed to verify*/
clkRdErr = -85, /*unable to read same clock value twice*/
clkWrErr = -86 /*time written did not verify*/
};
enum {
prWrErr = -87, /*parameter ram written didn't read-verify*/
prInitErr = -88, /*InitUtil found the parameter ram uninitialized*/
rcvrErr = -89, /*SCC receiver error (framing; parity; OR)*/
breakRecd = -90, /*Break received (SCC)*/
/*Power Manager Errors*/
pmBusyErr = -13000, /*Power Mgr never ready to start handshake*/
pmReplyTOErr = -13001, /*Timed out waiting for reply*/
pmSendStartErr = -13002, /*during send, pmgr did not start hs*/
pmSendEndErr = -13003, /*during send, pmgr did not finish hs*/
pmRecvStartErr = -13004, /*during receive, pmgr did not start hs*/
pmRecvEndErr = -13005, /*during receive, pmgr did not finish hs configured for this connection*/
/*Scrap Manager errors*/
noScrapErr = -100, /*No scrap exists error*/
noTypeErr = -102, /*No object of that type in scrap*/
memROZWarn = -99, /*soft error in ROZ*/
memROZError = -99, /*hard error in ROZ*/
memROZErr = -99, /*hard error in ROZ*/
memFullErr = -108, /*Not enough room in heap zone*/
nilHandleErr = -109, /*Master Pointer was NIL in HandleZone or other*/
memWZErr = -111, /*WhichZone failed (applied to free block)*/
memPurErr = -112, /*trying to purge a locked or non-purgeable block*/
memAdrErr = -110 /*address was odd; or out of range*/
};
enum {
memAZErr = -113, /*Address in zone check failed*/
memPCErr = -114, /*Pointer Check failed*/
memBCErr = -115, /*Block Check failed*/
memSCErr = -116, /*Size Check failed*/
memLockedErr = -117, /*trying to move a locked block (MoveHHi)*/
resNotFound = -192, /*Resource not found*/
resFNotFound = -193, /*Resource file not found*/
addResFailed = -194, /*AddResource failed*/
addRefFailed = -195, /*AddReference failed*/
rmvResFailed = -196, /*RmveResource failed*/
rmvRefFailed = -197, /*RmveReference failed*/
resAttrErr = -198, /*attribute inconsistent with operation*/
mapReadErr = -199, /*map inconsistent with operation*/
CantDecompress = -186, /*resource bent ("the bends") - can't decompress a compressed resource*/
badExtResource = -185, /*extended resource has a bad format.*/
evtNotEnb = 1, /*event not enabled at PostEvent*/
noMemForPictPlaybackErr = -145,
rgnTooBigError = -147,
pixMapTooDeepErr = -148,
nsStackErr = -149
};
enum {
cMatchErr = -150, /*Color2Index failed to find an index*/
cTempMemErr = -151, /*failed to allocate memory for temporary structures*/
cNoMemErr = -152, /*failed to allocate memory for structure*/
cRangeErr = -153, /*range error on colorTable request*/
cProtectErr = -154, /*colorTable entry protection violation*/
cDevErr = -155, /*invalid type of graphics device*/
cResErr = -156, /*invalid resolution for MakeITable*/
rgnTooBigErr = -500,
updPixMemErr = -125, /*insufficient memory to update a pixmap*/
pictInfoVersionErr = -11000, /* wrong version of the PictInfo structure */
pictInfoIDErr = -11001, /* the internal consistancy check for the PictInfoID is wrong */
pictInfoVerbErr = -11002, /* the passed verb was invalid */
cantLoadPickMethodErr = -11003, /* unable to load the custom pick proc */
colorsRequestedErr = -11004, /* the number of colors requested was illegal */
pictureDataErr = -11005, /* the picture data was invalid */
/*Sound Manager errors*/
noHardware = noHardwareErr, /* *** obsolete spelling */
notEnoughHardware = notEnoughHardwareErr, /* *** obsolete spelling */
queueFull = -203, /*Sound Manager Error Returns*/
resProblem = -204, /*Sound Manager Error Returns*/
badChannel = -205 /*Sound Manager Error Returns*/
};
enum {
badFormat = -206, /*Sound Manager Error Returns*/
notEnoughBufferSpace = -207, /* could not allocate enough memory */
badFileFormat = -208, /* was not type AIFF or was of bad format,corrupt */
channelBusy = -209, /* the Channel is being used for a PFD already */
buffersTooSmall = -210, /* can not operate in the memory allowed */
channelNotBusy = -211,
noMoreRealTime = -212, /* not enough CPU cycles left to add another task */
siNoSoundInHardware = -220, /*no Sound Input hardware*/
siBadSoundInDevice = -221, /*invalid index passed to SoundInGetIndexedDevice*/
siNoBufferSpecified = -222, /*returned by synchronous SPBRecord if nil buffer passed*/
siInvalidCompression = -223, /*invalid compression type*/
siHardDriveTooSlow = -224, /*hard drive too slow to record to disk*/
siInvalidSampleRate = -225, /*invalid sample rate*/
siInvalidSampleSize = -226, /*invalid sample size*/
siDeviceBusyErr = -227, /*input device already in use*/
siBadDeviceName = -228, /*input device could not be opened*/
siBadRefNum = -229, /*invalid input device reference number*/
siInputDeviceErr = -230, /*input device hardware failure*/
siUnknownInfoType = -231, /*invalid info type selector (returned by driver)*/
siUnknownQuality = -232 /*invalid quality selector (returned by driver)*/
};
enum {
/*Notification Manager errors*/
nmTypErr = -299, /*wrong queue type*/
siInitSDTblErr = 1, /*slot int dispatch table could not be initialized.*/
siInitVBLQsErr = 2, /*VBLqueues for all slots could not be initialized.*/
siInitSPTblErr = 3, /*slot priority table could not be initialized.*/
sdmJTInitErr = 10, /*SDM Jump Table could not be initialized.*/
sdmInitErr = 11, /*SDM could not be initialized.*/
sdmSRTInitErr = 12, /*Slot Resource Table could not be initialized.*/
sdmPRAMInitErr = 13, /*Slot PRAM could not be initialized.*/
sdmPriInitErr = 14, /*Cards could not be initialized.*/
smSDMInitErr = -290, /*Error; SDM could not be initialized.*/
smSRTInitErr = -291, /*Error; Slot Resource Table could not be initialized.*/
smPRAMInitErr = -292, /*Error; Slot Resource Table could not be initialized.*/
smPriInitErr = -293, /*Error; Cards could not be initialized.*/
smEmptySlot = -300, /*No card in slot*/
smCRCFail = -301, /*CRC check failed for declaration data*/
smFormatErr = -302, /*FHeader Format is not Apple's*/
smRevisionErr = -303, /*Wrong revison level*/
smNoDir = -304, /*Directory offset is Nil */
smDisabledSlot = -305, /*This slot is disabled (-305 use to be smLWTstBad)*/
smNosInfoArray = -306 /*No sInfoArray. Memory Mgr error.*/
};
enum {
smResrvErr = -307, /*Fatal reserved error. Resreved field <> 0.*/
smUnExBusErr = -308, /*Unexpected BusError*/
smBLFieldBad = -309, /*ByteLanes field was bad.*/
smFHBlockRdErr = -310, /*Error occured during _sGetFHeader.*/
smFHBlkDispErr = -311, /*Error occured during _sDisposePtr (Dispose of FHeader block).*/
smDisposePErr = -312, /*_DisposePointer error*/
smNoBoardSRsrc = -313, /*No Board sResource.*/
smGetPRErr = -314, /*Error occured during _sGetPRAMRec (See SIMStatus).*/
smNoBoardId = -315, /*No Board Id.*/
smInitStatVErr = -316, /*The InitStatusV field was negative after primary or secondary init.*/
smInitTblVErr = -317, /*An error occured while trying to initialize the Slot Resource Table.*/
smNoJmpTbl = -318, /*SDM jump table could not be created.*/
smBadBoardId = -319, /*BoardId was wrong; re-init the PRAM record.*/
smBusErrTO = -320, /*BusError time out.*/
/* The following errors are for primary or secondary init code. The errors are logged in the
vendor status field of the sInfo record. Normally the vendor error is not Apple's concern,
but a special error is needed to patch secondary inits.*/
svTempDisable = -32768, /*Temporarily disable card but run primary init.*/
svDisabled = -32640, /*Reserve range -32640 to -32768 for Apple temp disables.*/
smBadRefId = -330, /*Reference Id not found in List*/
smBadsList = -331, /*Bad sList: Id1 < Id2 < Id3 ...format is not followed.*/
smReservedErr = -332, /*Reserved field not zero*/
smCodeRevErr = -333 /*Code revision is wrong*/
};
enum {
smCPUErr = -334, /*Code revision is wrong*/
smsPointerNil = -335, /*LPointer is nil From sOffsetData. If this error occurs; check sInfo rec for more information.*/
smNilsBlockErr = -336, /*Nil sBlock error (Dont allocate and try to use a nil sBlock)*/
smSlotOOBErr = -337, /*Slot out of bounds error*/
smSelOOBErr = -338, /*Selector out of bounds error*/
smNewPErr = -339, /*_NewPtr error*/
smBlkMoveErr = -340, /*_BlockMove error*/
smCkStatusErr = -341, /*Status of slot = fail.*/
smGetDrvrNamErr = -342, /*Error occured during _sGetDrvrName.*/
smDisDrvrNamErr = -343, /*Error occured during _sDisDrvrName.*/
smNoMoresRsrcs = -344, /*No more sResources*/
smsGetDrvrErr = -345, /*Error occurred during _sGetDriver.*/
smBadsPtrErr = -346, /*Bad pointer was passed to sCalcsPointer*/
smByteLanesErr = -347, /*NumByteLanes was determined to be zero.*/
smOffsetErr = -348, /*Offset was too big (temporary error*/
smNoGoodOpens = -349, /*No opens were successfull in the loop.*/
smSRTOvrFlErr = -350, /*SRT over flow.*/
smRecNotFnd = -351, /*Record not found in the SRT.*/
editionMgrInitErr = -450, /*edition manager not inited by this app*/
badSectionErr = -451 /*not a valid SectionRecord*/
};
enum {
notRegisteredSectionErr = -452, /*not a registered SectionRecord*/
badEditionFileErr = -453, /*edition file is corrupt*/
badSubPartErr = -454, /*can not use sub parts in this release*/
multiplePublisherWrn = -460, /*A Publisher is already registered for that container*/
containerNotFoundWrn = -461, /*could not find editionContainer at this time*/
containerAlreadyOpenWrn = -462, /*container already opened by this section*/
notThePublisherWrn = -463, /*not the first registered publisher for that container*/
teScrapSizeErr = -501, /*scrap item too big for text edit record*/
hwParamErr = -502, /*bad selector for _HWPriv*/
/* Process Manager errors */
procNotFound = -600, /* no eligible process with specified descriptor */
memFragErr = -601, /* not enough room to launch app w/special requirements */
appModeErr = -602, /* memory mode is 32-bit, but app not 32-bit clean */
protocolErr = -603, /* app made module calls in improper order */
hardwareConfigErr = -604, /* hardware configuration not correct for call */
appMemFullErr = -605, /* application SIZE not big enough for launch */
appIsDaemon = -606, /* app is BG-only, and launch flags disallow this */
/*MemoryDispatch errors*/
notEnoughMemoryErr = -620, /*insufficient physical memory*/
notHeldErr = -621, /*specified range of memory is not held*/
cannotMakeContiguousErr = -622, /*cannot make specified range contiguous*/
notLockedErr = -623 /*specified range of memory is not locked*/
};
enum {
interruptsMaskedErr = -624, /*dont call with interrupts masked*/
cannotDeferErr = -625, /*unable to defer additional functions*/
ddpSktErr = -91, /*error in soket number*/
ddpLenErr = -92, /*data length too big*/
noBridgeErr = -93, /*no network bridge for non-local send*/
lapProtErr = -94, /*error in attaching/detaching protocol*/
excessCollsns = -95, /*excessive collisions on write*/
portInUse = -97, /*driver Open error code (port is in use)*/
portNotCf = -98, /*driver Open error code (parameter RAM not configured for this connection)*/
nbpBuffOvr = -1024, /*Buffer overflow in LookupName*/
nbpNoConfirm = -1025,
nbpConfDiff = -1026, /*Name confirmed at different socket*/
nbpDuplicate = -1027, /*Duplicate name exists already*/
nbpNotFound = -1028, /*Name not found on remove*/
nbpNISErr = -1029, /*Error trying to open the NIS*/
aspBadVersNum = -1066, /*Server cannot support this ASP version*/
aspBufTooSmall = -1067, /*Buffer too small*/
aspNoMoreSess = -1068, /*No more sessions on server*/
aspNoServers = -1069, /*No servers at that address*/
aspParamErr = -1070 /*Parameter error*/
};
enum {
aspServerBusy = -1071, /*Server cannot open another session*/
aspSessClosed = -1072, /*Session closed*/
aspSizeErr = -1073, /*Command block too big*/
aspTooMany = -1074, /*Too many clients (server error)*/
aspNoAck = -1075, /*No ack on attention request (server err)*/
reqFailed = -1096,
tooManyReqs = -1097,
tooManySkts = -1098,
badATPSkt = -1099,
badBuffNum = -1100,
noRelErr = -1101,
cbNotFound = -1102,
noSendResp = -1103,
noDataArea = -1104,
reqAborted = -1105,
buf2SmallErr = -3101,
noMPPErr = -3102,
ckSumErr = -3103,
extractErr = -3104,
readQErr = -3105
};
enum {
atpLenErr = -3106,
atpBadRsp = -3107,
recNotFnd = -3108,
sktClosedErr = -3109,
afpAccessDenied = -5000,
afpAuthContinue = -5001,
afpBadUAM = -5002,
afpBadVersNum = -5003,
afpBitmapErr = -5004,
afpCantMove = -5005,
afpDenyConflict = -5006,
afpDirNotEmpty = -5007,
afpDiskFull = -5008,
afpEofError = -5009,
afpFileBusy = -5010,
afpFlatVol = -5011,
afpItemNotFound = -5012,
afpLockErr = -5013,
afpMiscErr = -5014,
afpNoMoreLocks = -5015
};
enum {
afpNoServer = -5016,
afpObjectExists = -5017,
afpObjectNotFound = -5018,
afpParmErr = -5019,
afpRangeNotLocked = -5020,
afpRangeOverlap = -5021,
afpSessClosed = -5022,
afpUserNotAuth = -5023,
afpCallNotSupported = -5024,
afpObjectTypeErr = -5025,
afpTooManyFilesOpen = -5026,
afpServerGoingDown = -5027,
afpCantRename = -5028,
afpDirNotFound = -5029,
afpIconTypeError = -5030,
afpVolLocked = -5031, /*Volume is Read-Only*/
afpObjectLocked = -5032, /*Object is M/R/D/W inhibited*/
afpContainsSharedErr = -5033, /*$FFFFEC57 the folder being shared contains a shared folder */
afpIDNotFound = -5034, /*$FFFFEC56*/
afpIDExists = -5035 /*$FFFFEC55*/
};
enum {
afpDiffVolErr = -5036, /*$FFFFEC54*/
afpCatalogChanged = -5037, /*$FFFFEC53*/
afpSameObjectErr = -5038, /*$FFFFEC52*/
afpBadIDErr = -5039, /*$FFFFEC51*/
afpPwdSameErr = -5040, /*$FFFFEC50 someone tried to change their password to the same password on a mantadory password change */
afpPwdTooShortErr = -5041, /*$FFFFEC4F the password being set is too short: there is a minimum length that must be met or exceeded */
afpPwdExpiredErr = -5042, /*$FFFFEC4E the password being used is too old: this requires the user to change the password before log-in can continue */
afpInsideSharedErr = -5043, /*$FFFFEC4D the folder being shared is inside a shared folder OR the folder contains a shared folder and is being moved into a shared folder OR the folder contains a shared folder and is being moved into the descendent of a shared folder. */
afpInsideTrashErr = -5044, /*$FFFFEC4C the folder being shared is inside the trash folder OR the shared folder is being moved into the trash folder OR the folder is being moved to the trash and it contains a shared folder */
/*PPC errors*/
notInitErr = -900, /* PPCToolBox not initialized */
nameTypeErr = -902, /* Invalid or inappropriate locationKindSelector in locationName */
noPortErr = -903, /* Unable to open port or bad portRefNum */
noGlobalsErr = -904, /* The system is hosed, better re-boot */
localOnlyErr = -905, /* Network activity is currently disabled */
destPortErr = -906, /* Port does not exist at destination */
sessTableErr = -907, /* Out of session tables, try again later */
noSessionErr = -908, /* Invalid session reference number */
badReqErr = -909, /* bad parameter or invalid state for operation */
portNameExistsErr = -910, /* port is already open (perhaps in another app) */
noUserNameErr = -911 /* user name unknown on destination machine */
};
enum {
userRejectErr = -912, /* Destination rejected the session request */
noMachineNameErr = -913, /* user hasn't named his Macintosh in the Network Setup Control Panel */
noToolboxNameErr = -914, /* A system resource is missing, not too likely */
noResponseErr = -915, /* unable to contact destination */
portClosedErr = -916, /* port was closed */
sessClosedErr = -917, /* session was closed */
badPortNameErr = -919, /* PPCPortRec malformed */
noDefaultUserErr = -922, /* user hasn't typed in owners name in Network Setup Control Pannel */
notLoggedInErr = -923, /* The default userRefNum does not yet exist */
noUserRefErr = -924, /* unable to create a new userRefNum */
networkErr = -925, /* An error has occured in the network, not too likely */
noInformErr = -926, /* PPCStart failed because destination did not have inform pending */
authFailErr = -927, /* unable to authenticate user at destination */
noUserRecErr = -928, /* Invalid user reference number */
badServiceMethodErr = -930, /* illegal service type, or not supported */
badLocNameErr = -931, /* location name malformed */
guestNotAllowedErr = -932, /* destination port requires authentication */
swOverrunErr = 1, /*serial driver error masks*/
parityErr = 16, /*serial driver error masks*/
hwOverrunErr = 32 /*serial driver error masks*/
};
enum {
framingErr = 64, /*serial driver error masks*/
dsBusError = 1, /*bus error */
dsAddressErr = 2, /*address error*/
dsIllInstErr = 3, /*illegal instruction error*/
dsZeroDivErr = 4, /*zero divide error*/
dsChkErr = 5, /*check trap error*/
dsOvflowErr = 6, /*overflow trap error*/
dsPrivErr = 7, /*privilege violation error*/
dsTraceErr = 8, /*trace mode error*/
dsLineAErr = 9, /*line 1010 trap error*/
dsLineFErr = 10, /*line 1111 trap error*/
dsMiscErr = 11, /*miscellaneous hardware exception error*/
dsCoreErr = 12, /*unimplemented core routine error*/
dsIrqErr = 13, /*uninstalled interrupt error*/
dsIOCoreErr = 14, /*IO Core Error*/
dsLoadErr = 15, /*Segment Loader Error*/
dsFPErr = 16, /*Floating point error*/
dsNoPackErr = 17, /*package 0 not present*/
dsNoPk1 = 18, /*package 1 not present*/
dsNoPk2 = 19 /*package 2 not present*/
};
enum {
dsNoPk3 = 20, /*package 3 not present*/
dsNoPk4 = 21, /*package 4 not present*/
dsNoPk5 = 22, /*package 5 not present*/
dsNoPk6 = 23, /*package 6 not present*/
dsNoPk7 = 24, /*package 7 not present*/
dsMemFullErr = 25, /*out of memory!*/
dsBadLaunch = 26, /*can't launch file*/
dsFSErr = 27, /*file system map has been trashed*/
dsStknHeap = 28, /*stack has moved into application heap*/
negZcbFreeErr = 33, /*ZcbFree has gone negative*/
dsFinderErr = 41, /*can't load the Finder error*/
dsBadSlotInt = 51, /*unserviceable slot interrupt*/
dsBadSANEOpcode = 81, /*bad opcode given to SANE Pack4*/
dsBadPatchHeader = 83, /*SetTrapAddress saw the “come-from” header*/
menuPrgErr = 84, /*happens when a menu is purged*/
dsMBarNFnd = 85, /*Menu Manager Errors*/
dsHMenuFindErr = 86, /*Menu Manager Errors*/
dsWDEFNotFound = 87, /*could not load WDEF*/
dsCDEFNotFound = 88, /*could not load CDEF*/
dsMDEFNotFound = 89 /*could not load MDEF*/
};
enum {
dsNoFPU = 90, /*an FPU instruction was executed and the machine doesnt have one*/
dsNoPatch = 98, /*Can't patch for particular Model Mac*/
dsBadPatch = 99, /*Can't load patch resource*/
dsParityErr = 101, /*memory parity error*/
dsOldSystem = 102, /*System is too old for this ROM*/
ds32BitMode = 103, /*booting in 32-bit on a 24-bit sys*/
dsNeedToWriteBootBlocks = 104, /*need to write new boot blocks*/
dsNotEnoughRAMToBoot = 105, /*must have at least 1.5MB of RAM to boot 7.0*/
dsBufPtrTooLow = 106, /*bufPtr moved too far during boot*/
dsReinsert = 30, /*request user to reinsert off-line volume*/
shutDownAlert = 42, /*handled like a shutdown error*/
dsShutDownOrRestart = 20000, /*user choice between ShutDown and Restart*/
dsSwitchOffOrRestart = 20001, /*user choice between switching off and Restart*/
dsForcedQuit = 20002, /*allow the user to ExitToShell, return if Cancel*/
/*System Errors that are used after MacsBug is loaded to put up dialogs since these should not cause MacsBug to stop, they must be in the range (30, 42, 16384-32767) negative numbers add to an existing dialog without putting up a whole new dialog*/
dsMacsBugInstalled = -10, /*say “MacsBug Installed”*/
dsDisassemblerInstalled = -11, /*say “Disassembler Installed”*/
dsExtensionsDisabled = -13, /*say “Extensions Disabled”*/
dsGreeting = 40, /*welcome to Macintosh greeting*/
dsSysErr = 32767, /*general system error*/
/*old names here for compatibilitys sake*/
WDEFNFnd = dsWDEFNotFound
};
enum {
CDEFNFnd = dsCDEFNotFound,
dsNotThe1 = 31, /*not the disk I wanted*/
dsBadStartupDisk = 42, /*unable to mount boot volume (sad Mac only)*/
dsSystemFileErr = 43, /*cant find System file to open (sad Mac only)*/
dsHD20Installed = -12, /*say “HD20 Startup”*/
mBarNFnd = -126, /*system error code for MBDF not found*/
hMenuFindErr = -127, /*could not find HMenu's parent in MenuKey*/
userBreak = -490, /*user debugger break*/
strUserBreak = -491, /*user debugger break; display string on stack*/
exUserBreak = -492, /*user debugger break; execute debugger commands on stack*/
/*obsolete errors that are no longer used, but I dont have the guts to remove from this file*/
selectorErr = paramErr /* bad selector, for selector-based traps */
};
extern short MacOSErr;
#ifdef __cplusplus
extern "C" {
#endif
pascal void SysError(short errorCode)
= {0x301F,0xA9C9};
#ifdef __cplusplus
}
#endif
#endif

View File

@ -0,0 +1 @@
TEXTMPS

View File

@ -0,0 +1,25 @@
data 'vers' (1) {
$"0321 6000 0000 0533 2E32 2E31 2833 2E32" /* .!`....3.2.1(3.2 */
$"2E31 2C20 A920 4170 706C 6520 436F 6D70" /* .1, . Apple Comp */
$"7574 6572 2C20 496E 632E 2031 3938 352D" /* uter, Inc. 1985- */
$"3139 3931 2E" /* 1991. */
};
data 'vers' (2, purgeable) {
$"0330 8000 0000 0333 2E33 074D 5057 2033" /* .0.....3.3.MPW 3 */
$"2E33" /* .3 */
};
data 'MPSR' (1005) {
$"0009 4D6F 6E61 636F 005E 000A 015F 000A" /* ..Monaco.^..._.. */
$"015F 01E2 0000 0000 0000 0000 0000 0000" /* ._.............. */
$"0000 0006 0004 0031 000A 015D 01E0 0031" /* .......1...]...1 */
$"000A 015D 01E0 A431 E940 0000 0000 0000" /* ...]...1.@...... */
$"0000 0000 0000 0100" /* ........ */
};
data 'MPSR' (1008) {
$"0031 000A 015D 01E0 0031 000A 015D 01E0" /* .1...]...1...].. */
$"0000 0000 0000 0000 0000 0000 0000" /* .............. */
};

View File

@ -0,0 +1,135 @@
/************************************************************
Created: Friday, September 13, 1991 at 12:35 PM
Events.h
C Interface to the Macintosh Libraries
Copyright Apple Computer, Inc. 1985-1991
All rights reserved
************************************************************/
#ifndef __EVENTS__
#define __EVENTS__
#ifndef __TYPES__
#include <Types.h>
#endif
#ifndef __QUICKDRAW__
#include <Quickdraw.h>
#endif
enum {
nullEvent = 0,
mouseDown = 1,
mouseUp = 2,
keyDown = 3,
keyUp = 4,
autoKey = 5,
updateEvt = 6,
diskEvt = 7,
activateEvt = 8,
osEvt = 15,
/* event mask equates */
mDownMask = 2,
mUpMask = 4,
keyDownMask = 8,
keyUpMask = 16,
autoKeyMask = 32,
updateMask = 64,
diskMask = 128,
activMask = 256,
highLevelEventMask = 1024,
osMask = -32768
};
enum {
everyEvent = -1,
/* event message equates */
charCodeMask = 0x000000FF,
keyCodeMask = 0x0000FF00,
adbAddrMask = 0x00FF0000,
osEvtMessageMask = 0xFF000000,
/* OS event messages. Event (sub)code is in the high byte of the message field. */
mouseMovedMessage = 0xFA,
suspendResumeMessage = 0x01,
resumeFlag = 1, /* Bit 0 of message indicates resume vs suspend */
convertClipboardFlag = 2, /* Bit 1 in resume message indicates clipboard change */
/* modifiers */
activeFlag = 1, /* Bit 0 of modifiers for activateEvt and mouseDown events */
btnState = 128, /* Bit 7 of low byte is mouse button state */
cmdKey = 256, /* Bit 0 */
shiftKey = 512, /* Bit 1 */
alphaLock = 1024, /* Bit 2 */
optionKey = 2048, /* Bit 3 of high byte */
controlKey = 4096,
/* obsolete equates */
networkEvt = 10,
driverEvt = 11,
app1Evt = 12,
app2Evt = 13
};
enum {
app3Evt = 14,
app4Evt = 15,
networkMask = 1024,
driverMask = 2048,
app1Mask = 4096,
app2Mask = 8192,
app3Mask = 16384,
app4Mask = -32768
};
struct EventRecord {
short what;
long message;
long when;
Point where;
short modifiers;
};
typedef struct EventRecord EventRecord;
typedef long KeyMap[4];
#ifdef __cplusplus
extern "C" {
#endif
pascal Boolean GetNextEvent(short eventMask,EventRecord *theEvent)
= 0xA970;
pascal Boolean WaitNextEvent(short eventMask,EventRecord *theEvent,unsigned long sleep,
RgnHandle mouseRgn)
= 0xA860;
pascal Boolean EventAvail(short eventMask,EventRecord *theEvent)
= 0xA971;
pascal void GetMouse(Point *mouseLoc)
= 0xA972;
pascal Boolean Button(void)
= 0xA974;
pascal Boolean StillDown(void)
= 0xA973;
pascal Boolean WaitMouseUp(void)
= 0xA977;
pascal void GetKeys(KeyMap theKeys)
= 0xA976;
pascal unsigned long TickCount(void)
= 0xA975;
#define GetDblTime() (* (unsigned long*) 0x02F0)
#define GetCaretTime() (* (unsigned long*) 0x02F4)
#ifdef __cplusplus
}
#endif
#endif

Some files were not shown because too many files have changed in this diff Show More