Beginning of support for x86_64 in 64-bit mode. Still have to deal with various pointer transformations.

This commit is contained in:
Clifford T. Matthews
2009-06-26 17:08:34 -06:00
parent a89fd44da0
commit cb045f30ea
74 changed files with 588 additions and 482 deletions

6
README
View File

@@ -64,6 +64,12 @@ Windows using mingw32. So far that port hasn't been tried since
putting the code on Github. It probably doesn't work, but probably
could be made to work without much effort.
At one time we had Executor running on the Alpha, a 64-bit
environment. We actually modified gcc to support "pointer bit-fields"
and were able to get Executor to run. Now that 64-bit machines are
more popular, I've begun an experiment in supporting 64-bit machines
without modifying the compiler.
As I continue Executor's transition to a recent gnu build system I may
inadvertantly push versions that don't build when using the above
commands. Don't hesitate to ask me if you're having trouble

2
TODO
View File

@@ -1,3 +1,5 @@
Document work in progress on 64-bit port
Yank all the misleading RCS strings
Update the copyright notices to make it that the code is under

View File

@@ -215,6 +215,11 @@ arch_sources = config/arch/powerpc/powerpc.c \
AM_CPPFLAGS += -D_GNU_SOURCE
endif CONFIG_ARCH_POWERPC
if CONFIG_ARCH_X86_64
arch_sources = config/arch/x86_64/x86_64.c
endif CONFIG_ARCH_X86_64
if CONFIG_FRONT_END_DOS
# The DOS port of Executor hasn't ever been built using automake. Most likely
# we'll rip all the DOS support out of the code before ever making it go, but

View File

@@ -133,6 +133,7 @@ AM_CONDITIONAL([CONFIG_ARCH_ALPHA], [test x$host_cpu = xalpha])
AM_CONDITIONAL([CONFIG_ARCH_I386], [test x$host_cpu = xi386])
AM_CONDITIONAL([CONFIG_ARCH_M68K], [test x$host_cpu = xm68k])
AM_CONDITIONAL([CONFIG_ARCH_POWERPC], [test x$host_cpu = xpowerpc])
AM_CONDITIONAL([CONFIG_ARCH_X86_64], [test x$host_cpu = xx86_64])
AM_CONDITIONAL([CONFIG_FRONT_END_DOS], [test x$front_end = xdos])
AM_CONDITIONAL([CONFIG_FRONT_END_NEXTSTEP], [test x$front_end = xnextstep])
@@ -157,6 +158,8 @@ AM_CONDITIONAL([CONFIG_SOUND_DJGPP], [test x$sound_config = xdjgpp])
AM_CONDITIONAL([CONFIG_SOUND_LINUX], [test x$sound_config = xlinux])
AM_CONDITIONAL([CONFIG_SOUND_SDL], [test x$sound_config = xsdl])
AC_CHECK_SIZEOF([char *])
AC_CONFIG_FILES([Makefile])
AC_OUTPUT

View File

@@ -111,7 +111,7 @@ P2(PUBLIC pascal trap, ControlHandle, GetNewControl, /* IMI-321 */
INTEGER, cid, WindowPtr, wst)
{
typedef contrlrestype *wp;
typedef struct { wp p PACKED_P; } HIDDEN_wp;
MAKE_HIDDEN(wp);
HIDDEN_wp *wh;
ControlHandle retval;
Handle ctab_res_h;
@@ -170,9 +170,9 @@ P2 (PUBLIC pascal trap, void, SetCtlColor, ControlHandle, ctl, CCTabHandle, ctab
P1(PUBLIC pascal trap, void, DisposeControl, ControlHandle, c) /* IMI-321 */
{
typedef struct { ControlHandle p PACKED_P; } HIDDEN_ControlHandle;
MAKE_HIDDEN(ControlHandle);
HIDDEN_ControlHandle *t;
typedef struct { AuxCtlHandle p PACKED_P; } HIDDEN_AuxCtlHandle;
MAKE_HIDDEN(AuxCtlHandle);
HIDDEN_AuxCtlHandle *auxhp;
AuxCtlHandle saveauxh;

View File

@@ -200,7 +200,7 @@ A2(PRIVATE, void, mungfmo, ctrip, cp, FMOutput *, fmop)
A1(PRIVATE, BOOLEAN, widthlistmatch, FMInput *, fmip)
{
typedef struct { WHandle p PACKED_P; } HIDDEN_WHandle;
MAKE_HIDDEN(WHandle);
HIDDEN_WHandle *whp, *ewhp;
for (whp = (HIDDEN_WHandle *) STARH(WIDTHLISTHAND), ewhp = whp + MAXTABLES; whp != ewhp; whp++) {

View File

@@ -90,7 +90,13 @@ PRIVATE gestaltentry_t gtable[] = {
/* gestaltTermMgrAttr, 0, */
/* gestaltParityAttr, 0, */
#if defined(BINCOMPAT) && !defined(__alpha)
/*
* TODO: instead of casting these to LONGINT, shouldn't we be using something
* like US_TO_SYN68K here, or if not, soemthing that takes ROMlib_offset
* into account?
*/
#if defined(BINCOMPAT) && SIZEOF_CHAR_P == 4
{ gestaltExtToolboxTable, (LONGINT) (tooltraptable + 0x200), },
{ gestaltToolboxTable, (LONGINT) tooltraptable, },
{ gestaltOSTable, (LONGINT) ostraptable, },
@@ -98,9 +104,6 @@ PRIVATE gestaltentry_t gtable[] = {
{ gestaltExtToolboxTable, UNKNOWN, },
{ gestaltOSTable, UNKNOWN, },
{ gestaltToolboxTable, UNKNOWN, },
#endif
#if defined(__alpha)
#warning gestalt{ExtToolboxTable,ToolboxTable,OSTable} not initialized
#endif
@@ -229,7 +232,7 @@ gestaltPhysicalRAMSize 'ram '
PRIVATE gestaltentry_t phystable[] =
{
{ gestaltSystemVersion, EXECUTOR_VERSION_NUMERIC },
#if !defined (__alpha)
#if SIZEOF_CHAR_P == 4
{ gestaltExecutorVersionString, (long) EXECUTOR_VERSION },
#else
#warning gestaltExecutorVersionString not currently available

View File

@@ -12,14 +12,14 @@ typedef struct PACKED
{
SignedByte devType;
SignedByte origADBAddr;
Ptr dbServiceRtPtr PACKED_P;
Ptr dbDataAreaAddr PACKED_P;
PACKED_MEMBER(Ptr, dbServiceRtPtr);
PACKED_MEMBER(Ptr, dbDataAreaAddr);
} ADBDataBlock;
typedef struct PACKED
{
Ptr siServiceRtPtr PACKED_P;
Ptr siDataAreaAddr PACKED_P;
PACKED_MEMBER(Ptr, siServiceRtPtr);
PACKED_MEMBER(Ptr, siDataAreaAddr);
} ADBSetInfoBlock;
extern void ADBReInit (void);

View File

@@ -114,7 +114,7 @@ typedef ProcPtr EventFilterProcPtr;
typedef struct PACKED AE_hdlr
{
ProcPtr fn PACKED_P;
PACKED_MEMBER(ProcPtr, fn);
int32 refcon;
} AE_hdlr_t;
@@ -158,14 +158,14 @@ typedef struct PACKED AE_hdlr_table
} AE_hdlr_table_t;
typedef AE_hdlr_table_t *AE_hdlr_table_ptr;
typedef struct { AE_hdlr_table_ptr p PACKED_P; } HIDDEN_AE_hdlr_table_ptr;
MAKE_HIDDEN(AE_hdlr_table_ptr);
typedef HIDDEN_AE_hdlr_table_ptr *AE_hdlr_table_h;
typedef struct PACKED AE_zone_tables
{
AE_hdlr_table_h event_hdlr_table PACKED_P;
AE_hdlr_table_h coercion_hdlr_table PACKED_P;
AE_hdlr_table_h special_hdlr_table PACKED_P;
PACKED_MEMBER(AE_hdlr_table_h, event_hdlr_table);
PACKED_MEMBER(AE_hdlr_table_h, coercion_hdlr_table);
PACKED_MEMBER(AE_hdlr_table_h, special_hdlr_table);
char pad_1[28];
@@ -175,11 +175,11 @@ typedef struct PACKED AE_zone_tables
/* points to a 32byte handle of unknown contents (at least,
sometimes) */
Handle unknown_sys_handle PACKED_P;
PACKED_MEMBER(Handle, unknown_sys_handle);
} AE_zone_tables_t;
typedef AE_zone_tables_t *AE_zone_tables_ptr;
typedef struct { AE_zone_tables_ptr p PACKED_P; } HIDDEN_AE_zone_tables_ptr;
MAKE_HIDDEN(AE_zone_tables_ptr);
typedef HIDDEN_AE_zone_tables_ptr *AE_zone_tables_h;
typedef struct PACKED AE_info
@@ -187,18 +187,18 @@ typedef struct PACKED AE_info
char pad_1[340];
/* offset of `appl_zone_tables' is 340; handle to a `struct tables' */
AE_zone_tables_h appl_zone_tables PACKED_P;
PACKED_MEMBER(AE_zone_tables_h, appl_zone_tables);
char pad_2[36];
/* offset of `system_zone_tables' is 380; handle to a `struct tables' */
AE_zone_tables_h system_zone_tables PACKED_P;
PACKED_MEMBER(AE_zone_tables_h, system_zone_tables);
char pad_3[212];
} AE_info_t;
typedef AE_info_t *AE_info_ptr;
typedef struct { AE_info_ptr p PACKED_P; } HIDDEN_AE_info_ptr;
MAKE_HIDDEN(AE_info_ptr);
extern pascal trap OSErr C__AE_hdlr_table_alloc (int32, int32, int32, int8,
AE_hdlr_table_h *);

View File

@@ -4,13 +4,12 @@
#include "WindowMgr.h"
typedef struct
{
HIDDEN_CGrafPtr *p PACKED_P;
} HIDDEN_CGrafPtr_Ptr;
typedef HIDDEN_CGrafPtr *HIDDEN_CGrafPtr_Ptr;
MAKE_HIDDEN(HIDDEN_CGrafPtr_Ptr);
#define theCPort (STARH (STARH ((HIDDEN_CGrafPtr_Ptr *) SYN68K_TO_US(a5))))
#define theCPortX ((*STARH ((HIDDEN_CGrafPtr_Ptr *) SYN68K_TO_US(a5))).p)
#define theCPort (STARH (STARH ((HIDDEN_HIDDEN_CGrafPtr_Ptr *) SYN68K_TO_US(a5))))
#define theCPortX ((*STARH ((HIDDEN_HIDDEN_CGrafPtr_Ptr *) SYN68K_TO_US(a5))).p)
#define minSeed 1024
@@ -24,29 +23,33 @@ typedef struct PACKED
unsigned char iTTable[1];
} ITab, *ITabPtr;
typedef struct { ITabPtr p PACKED_P; } HIDDEN_ITabPtr;
MAKE_HIDDEN(ITabPtr);
typedef HIDDEN_ITabPtr *ITabHandle;
typedef struct GDevice *GDPtr;
typedef struct { GDPtr p PACKED_P; } HIDDEN_GDevicePtr;
typedef GDPtr GDevicePtr;
MAKE_HIDDEN(GDevicePtr);
typedef HIDDEN_GDevicePtr *GDHandle;
typedef struct { GDHandle p PACKED_P; } HIDDEN_GDHandle;
MAKE_HIDDEN(GDHandle);
typedef struct { struct SProcRec *p PACKED_P; } HIDDEN_SProcPtr;
typedef struct PACKED SProcRec *SProcPtr;
MAKE_HIDDEN(SProcPtr);
typedef HIDDEN_SProcPtr *SProcHndl;
typedef struct PACKED SProcRec
{
SProcHndl nxtSrch PACKED_P;
ProcPtr srchProc PACKED_P;
} SProcRec, *SProcPtr;
PACKED_MEMBER(SProcHndl, nxtSrch);
PACKED_MEMBER(ProcPtr, srchProc);
} SProcRec;
typedef struct PACKED CProcRec *CProcPtr;
MAKE_HIDDEN(CProcPtr);
typedef struct { struct CProcRec *p PACKED_P; } HIDDEN_CProcPtr;
typedef HIDDEN_CProcPtr *CProcHndl;
typedef struct PACKED CProcRec
{
CProcHndl nxtComp PACKED_P;
ProcPtr compProc PACKED_P;
} CProcRec, *CProcPtr;
PACKED_MEMBER(CProcHndl, nxtComp);
PACKED_MEMBER(ProcPtr, compProc);
} CProcRec;
typedef void *DeviceLoopDrawingProcPtr;
@@ -55,20 +58,20 @@ typedef struct PACKED GDevice
INTEGER gdRefNum;
INTEGER gdID;
INTEGER gdType;
ITabHandle gdITable PACKED_P;
PACKED_MEMBER(ITabHandle, gdITable);
INTEGER gdResPref;
SProcHndl gdSearchProc PACKED_P;
CProcHndl gdCompProc PACKED_P;
PACKED_MEMBER(SProcHndl, gdSearchProc);
PACKED_MEMBER(CProcHndl, gdCompProc);
INTEGER gdFlags;
PixMapHandle gdPMap PACKED_P;
PACKED_MEMBER(PixMapHandle, gdPMap);
LONGINT gdRefCon;
GDHandle gdNextGD PACKED_P;
PACKED_MEMBER(GDHandle, gdNextGD);
Rect gdRect;
LONGINT gdMode;
INTEGER gdCCBytes;
INTEGER gdCCDepth;
Handle gdCCXData PACKED_P;
Handle gdCCXMask PACKED_P;
PACKED_MEMBER(Handle, gdCCXData);
PACKED_MEMBER(Handle, gdCCXMask);
LONGINT gdReserved;
} GDevice;
@@ -91,10 +94,10 @@ typedef struct PACKED ColorInfo
typedef struct PACKED Palette
{
INTEGER pmEntries;
GrafPtr pmWindow PACKED_P;
PACKED_MEMBER(GrafPtr, pmWindow);
INTEGER pmPrivate;
LONGINT /* Handle? */ pmDevices;
Handle pmSeeds PACKED_P;
PACKED_MEMBER(Handle,pmSeeds);
ColorInfo pmInfo[1];
} Palette, *PalettePtr;
@@ -129,7 +132,7 @@ typedef enum
#define pmFgUpdates ((INTEGER) pmFgUpdates_enum)
#define pmAllUpdates ((INTEGER) pmAllUpdates_enum)
typedef struct { PalettePtr p PACKED_P; } HIDDEN_PalettePtr;
MAKE_HIDDEN(PalettePtr);
typedef HIDDEN_PalettePtr *PaletteHandle;
/* return TRUE if `maybe_graphics_world' points to a graphics world,
@@ -169,7 +172,7 @@ typedef struct PACKED CommonSpec
} CommentSpec;
typedef CommentSpec *CommentSpecPtr;
typedef struct { CommentSpecPtr p PACKED_P; } HIDDEN_CommentSpecPtr;
MAKE_HIDDEN(CommentSpecPtr);
typedef HIDDEN_CommentSpecPtr *CommentSpecHandle;
typedef struct PACKED FontSpec
@@ -182,15 +185,15 @@ typedef struct PACKED FontSpec
} FontSpec;
typedef FontSpec *FontSpecPtr;
typedef struct { FontSpecPtr p PACKED_P; } HIDDEN_FontSpecPtr;
MAKE_HIDDEN(FontSpecPtr);
typedef HIDDEN_FontSpecPtr *FontSpecHandle;
typedef struct PACKED PictInfo
{
int16 version; /* 0 */
int32 uniqueColors; /* 2 */
PaletteHandle thePalette PACKED_P; /* 6 */
CTabHandle theColorTable PACKED_P; /* 10 */
PACKED_MEMBER(PaletteHandle, thePalette); /* 6 */
PACKED_MEMBER(CTabHandle, theColorTable); /* 10 */
Fixed hRes; /* 14 */
Fixed vRes; /* 18 */
INTEGER depth; /* 22 */
@@ -208,19 +211,19 @@ typedef struct PACKED PictInfo
int32 commentCount;
int32 uniqueComments;
CommentSpecHandle commentHandle PACKED_P;
PACKED_MEMBER(CommentSpecHandle, commentHandle);
int32 uniqueFonts;
FontSpecHandle fontHandle PACKED_P;
PACKED_MEMBER(FontSpecHandle, fontHandle);
Handle fontNamesHandle PACKED_P;
PACKED_MEMBER(Handle, fontNamesHandle);
int32 reserved1;
int32 reserved2;
} PictInfo;
typedef PictInfo *PictInfoPtr;
typedef struct { PictInfoPtr p PACKED_P; } HIDDEN_PictInfoPtr;
MAKE_HIDDEN(PictInfoPtr);
typedef HIDDEN_PictInfoPtr *PictInfoHandle;
typedef int32 PictInfoID;
@@ -452,8 +455,12 @@ extern HIDDEN_GDHandle MainDevice_H;
extern HIDDEN_GDHandle DeviceList_H;
#endif
#define TheGDevice (TheGDevice_H.p)
#define MainDevice (MainDevice_H.p)
#define DeviceList (DeviceList_H.p)
# define TheGDevice (TheGDevice_H.p)
# define MainDevice (MainDevice_H.p)
# define DeviceList (DeviceList_H.p)
#if SIZEOF_CHAR_P == 8
# warning "no type info in TheGDevice, MainDevice, DeviceList"
#endif
#endif /* _CQUICKDRAW_H_ */

View File

@@ -10,7 +10,7 @@
typedef struct PACKED
{
QElemPtr qLink PACKED_P;
PACKED_MEMBER(QElemPtr, qLink);
INTEGER qType;
INTEGER crmVersion;
LONGINT crmPrivate;
@@ -35,9 +35,9 @@ enum { crmSerialDevice = 1 };
typedef struct PACKED
{
INTEGER version;
StringHandle inputDriverName PACKED_P;
StringHandle outputDriverName PACKED_P;
StringHandle name PACKED_P;
PACKED_MEMBER(StringHandle, inputDriverName);
PACKED_MEMBER(StringHandle, outputDriverName);
PACKED_MEMBER(StringHandle, name);
Handle deviceIcon ;
LONGINT ratedSpeed;
LONGINT maxSpeed;

View File

@@ -78,24 +78,24 @@ enum
typedef struct __cr ControlRecord;
typedef ControlRecord *ControlPtr;
typedef struct { ControlPtr p PACKED_P; } HIDDEN_ControlPtr;
MAKE_HIDDEN(ControlPtr);
typedef HIDDEN_ControlPtr *ControlHandle;
typedef struct { ControlHandle p PACKED_P; } HIDDEN_ControlHandle;
MAKE_HIDDEN(ControlHandle);
#include "WindowMgr.h"
struct PACKED __cr {
ControlHandle nextControl PACKED_P; /* actually ControlHandle */
WindowPtr contrlOwner PACKED_P;
PACKED_MEMBER(ControlHandle, nextControl);
PACKED_MEMBER(WindowPtr, contrlOwner);
Rect contrlRect;
Byte contrlVis;
Byte contrlHilite;
INTEGER contrlValue;
INTEGER contrlMin;
INTEGER contrlMax;
Handle contrlDefProc PACKED_P;
Handle contrlData PACKED_P;
ProcPtr contrlAction PACKED_P;
PACKED_MEMBER(Handle, contrlDefProc);
PACKED_MEMBER(Handle, contrlData);
PACKED_MEMBER(ProcPtr, contrlAction);
LONGINT contrlRfCon;
Str255 contrlTitle;
};
@@ -106,18 +106,18 @@ typedef struct PACKED {
INTEGER ctSize;
cSpecArray ctTable;
} CtlCTab, *CCTabPtr;
typedef struct { CCTabPtr p PACKED_P; } HIDDEN_CCTabPtr;
MAKE_HIDDEN(CCTabPtr);
typedef HIDDEN_CCTabPtr *CCTabHandle;
typedef struct AuxCtlRec *AuxCtlPtr;
typedef struct { AuxCtlPtr p PACKED_P; } HIDDEN_AuxCtlPtr;
MAKE_HIDDEN(AuxCtlPtr);
typedef HIDDEN_AuxCtlPtr *AuxCtlHandle;
typedef struct { AuxCtlHandle p PACKED_P; } HIDDEN_AuxCtlHandle;
MAKE_HIDDEN(AuxCtlHandle);
typedef struct PACKED AuxCtlRec {
AuxCtlHandle acNext PACKED_P;
ControlHandle acOwner PACKED_P;
CCTabHandle acCTable PACKED_P;
PACKED_MEMBER(AuxCtlHandle, acNext);
PACKED_MEMBER(ControlHandle, acOwner);
PACKED_MEMBER(CCTabHandle, acCTable);
INTEGER acFlags;
LONGINT acReserved;
LONGINT acRefCon;

View File

@@ -41,29 +41,30 @@ typedef struct PACKED {
} ramdriver;
typedef ramdriver *ramdriverptr;
typedef struct { ramdriverptr p PACKED_P; } HIDDEN_ramdriverptr;
MAKE_HIDDEN(ramdriverptr);
typedef HIDDEN_ramdriverptr *ramdriverhand;
typedef enum { Open, Prime, Ctl, Stat, Close } DriverRoutineType;
typedef struct PACKED {
umacdriverptr dCtlDriver PACKED_P; /* not just Ptr */
PACKED_MEMBER(umacdriverptr, dCtlDriver); /* not just Ptr */
INTEGER dCtlFlags;
QHdr dCtlQHdr;
LONGINT dCtlPosition;
Handle dCtlStorage PACKED_P;
PACKED_MEMBER(Handle, dCtlStorage);
INTEGER dCtlRefNum;
LONGINT dCtlCurTicks;
WindowPtr dCtlWindow PACKED_P;
PACKED_MEMBER(WindowPtr, dCtlWindow);
INTEGER dCtlDelay;
INTEGER dCtlEMask;
INTEGER dCtlMenu;
} DCtlEntry, *DCtlPtr;
typedef struct { DCtlPtr p PACKED_P; } HIDDEN_DCtlPtr;
MAKE_HIDDEN(DCtlPtr);
typedef HIDDEN_DCtlPtr *DCtlHandle;
typedef struct { DCtlHandle p PACKED_P; } HIDDEN_DCtlHandle;
MAKE_HIDDEN(DCtlHandle);
typedef HIDDEN_DCtlHandle *DCtlHandlePtr;
typedef struct { DCtlHandlePtr p PACKED_P; } HIDDEN_DCtlHandlePtr;
MAKE_HIDDEN(DCtlHandlePtr);
#define asyncTrpBit (1 << 10)
#define noQueueBit (1 << 9)

View File

@@ -33,8 +33,8 @@
typedef struct PACKED
{
WindowRecord window;
Handle items PACKED_P;
TEHandle textH PACKED_P;
PACKED_MEMBER(Handle, items);
PACKED_MEMBER(TEHandle, textH);
INTEGER editField;
INTEGER editOpen;
INTEGER aDefItem;
@@ -74,7 +74,7 @@ typedef struct PACKED
} DialogTemplate;
typedef DialogTemplate *DialogTPtr;
typedef struct { DialogTPtr p PACKED_P; } HIDDEN_DialogTPtr;
MAKE_HIDDEN(DialogTPtr);
typedef HIDDEN_DialogTPtr *DialogTHndl;
typedef struct PACKED {
@@ -98,7 +98,7 @@ typedef struct PACKED {
StageList stages;
} AlertTemplate;
typedef AlertTemplate *AlertTPtr;
typedef struct { AlertTPtr p PACKED_P; } HIDDEN_AlertTPtr;
MAKE_HIDDEN(AlertTPtr);
typedef HIDDEN_AlertTPtr *AlertTHndl;
#define overlayDITL 0

View File

@@ -38,7 +38,7 @@ typedef struct PACKED {
SignedByte diskInPlace;
SignedByte installed;
SignedByte sides;
QElemPtr qLink PACKED_P;
PACKED_MEMBER(QElemPtr, qLink);
INTEGER qType;
INTEGER dQDrive;
INTEGER dQRefNum;

View File

@@ -15,13 +15,13 @@
#define declare_subtypes(type) \
typedef struct type ## Record type ## Record; \
typedef type ## Record *type ## Ptr; \
typedef struct { type ## Ptr p PACKED_P; } HIDDEN_ ## type ## Ptr; \
MAKE_HIDDEN(type ## Ptr); \
typedef HIDDEN_ ## type ## Ptr * type ## Handle
#define declare_record_subtypes(type) \
typedef struct type type; \
typedef type *type ## Ptr; \
typedef struct { type ## Ptr p PACKED_P; } HIDDEN_ ## type ## Ptr; \
MAKE_HIDDEN(type ## Ptr); \
typedef HIDDEN_ ## type ## Ptr * type ## Handle
typedef int32 TimeStamp;
@@ -43,11 +43,11 @@ struct PACKED SectionRecord
TimeStamp mdDate;
int32 sectionID;
int32 refCon;
AliasHandle alias PACKED_P;
PACKED_MEMBER(AliasHandle, alias);
int32 subPart;
/* ### Section */ Handle nextSection PACKED_P;
Handle controlBlock PACKED_P;
PACKED_MEMBER(/* ### Section */ Handle, nextSection);
PACKED_MEMBER(Handle, controlBlock);
EditionRefNum refNum;
};
@@ -83,7 +83,7 @@ struct PACKED NewPublisherReply
Boolean replacing;
Boolean usePart;
uint8 _filler;
Handle preview PACKED_P;
PACKED_MEMBER(Handle, preview);
FormatType previewFormat;
EditionContainerSpec container;
};
@@ -105,7 +105,7 @@ struct PACKED SectionOptionsReply
{
Boolean canceled;
Boolean changed;
SectionHandle sectionH PACKED_P;
PACKED_MEMBER(SectionHandle, sectionH);
ResType action;
};
@@ -123,11 +123,11 @@ typedef uint8 EditionOpenerVerb;
struct PACKED EditionOpenerParamBlock
{
EditionInfoRecord info;
SectionHandle sectionH PACKED_P;
FSSpecPtr document PACKED_P;
PACKED_MEMBER(SectionHandle, sectionH);
PACKED_MEMBER(FSSpecPtr, document);
OSType fdCreator;
int32 ioRefNum;
FormatIOProcPtr ioProc PACKED_P;
PACKED_MEMBER(FormatIOProcPtr, ioProc);
Boolean success;
SignedByte formatsMask;
};
@@ -148,7 +148,7 @@ struct PACKED FormatIOParamBlock
FormatType format;
int32 formatIndex;
int32 offset;
Ptr buffPtr PACKED_P;
PACKED_MEMBER(Ptr, buffPtr);
int32 buffLen;
};

View File

@@ -107,15 +107,15 @@ typedef enum {
cntrlParamType
} ParamBlkType;
#define COMMONFSQUEUEDEFS \
QElemPtr qLink PACKED_P; \
INTEGER qType; \
INTEGER ioTrap; \
Ptr ioCmdAddr PACKED_P; \
ProcPtr ioCompletion PACKED_P; \
OSErr ioResult; \
StringPtr ioNamePtr PACKED_P; \
INTEGER ioVRefNum
#define COMMONFSQUEUEDEFS \
PACKED_MEMBER(QElemPtr, qLink); \
INTEGER qType; \
INTEGER ioTrap; \
PACKED_MEMBER(Ptr, ioCmdAddr); \
PACKED_MEMBER(ProcPtr, ioCompletion); \
OSErr ioResult; \
PACKED_MEMBER(StringPtr, ioNamePtr); \
INTEGER ioVRefNum
typedef struct PACKED {
COMMONFSQUEUEDEFS;
@@ -123,7 +123,7 @@ typedef struct PACKED {
SignedByte ioVersNum;
SignedByte ioPermssn;
LONGINT ioMisc; /* should be largest of Ptr, LONGINT */
Ptr ioBuffer PACKED_P;
PACKED_MEMBER(Ptr, ioBuffer);
LONGINT ioReqCount;
LONGINT ioActCount;
INTEGER ioPosMode;
@@ -189,7 +189,7 @@ typedef struct PACKED {
SignedByte ioVersNum;
SignedByte ioPermssn;
LONGINT ioMisc; /* should be largest of Ptr, LONGINT */
Ptr ioBuffer PACKED_P;
PACKED_MEMBER(Ptr, ioBuffer);
LONGINT ioReqCount;
LONGINT ioActCount;
INTEGER ioPosMode;
@@ -302,7 +302,7 @@ typedef CInfoPBRec *CInfoPBPtr;
typedef struct PACKED {
COMMONFSQUEUEDEFS;
LONGINT filler1;
StringPtr ioNewName PACKED_P;
PACKED_MEMBER(StringPtr, ioNewName);
LONGINT filler2;
LONGINT ioNewDirID;
LONGINT filler3[2];
@@ -340,7 +340,7 @@ typedef struct PACKED {
typedef FCBPBRec *FCBPBPtr;
typedef struct PACKED {
QElemPtr qLink PACKED_P; /* 0 */
PACKED_MEMBER(QElemPtr, qLink); /* 0 */
INTEGER qType; /* 4 */
uint16_t vcbFlags; /* 6 */
uint16_t vcbSigWord; /* 8 */
@@ -361,8 +361,8 @@ typedef struct PACKED {
INTEGER vcbDRefNum; /* 74 */
INTEGER vcbFSID; /* 76 */
INTEGER vcbVRefNum; /* 78 */
Ptr vcbMAdr PACKED_P;
Ptr vcbBufAdr PACKED_P;
PACKED_MEMBER(Ptr, vcbMAdr);
PACKED_MEMBER(Ptr, vcbBufAdr);
uint16_t vcbMLen;
INTEGER vcbDirIndex;
uint16_t vcbDirBlk;
@@ -382,16 +382,16 @@ typedef struct PACKED {
uint16_t vcbCTAlBlks;
INTEGER vcbXTRef;
INTEGER vcbCTRef;
Ptr vcbCtlBuf PACKED_P;
PACKED_MEMBER(Ptr, vcbCtlBuf);
LONGINT vcbDirIDM;
uint16_t vcbOffsM;
} VCB;
typedef VCB *VCBPtr;
typedef struct { VCBPtr p PACKED_P; } HIDDEN_VCBPtr;
MAKE_HIDDEN(VCBPtr);
typedef struct PACKED {
QElemPtr qLink PACKED_P;
PACKED_MEMBER(QElemPtr, qLink);
INTEGER qType;
INTEGER dQDrive;
INTEGER dQRefNum;

View File

@@ -10,17 +10,17 @@
typedef struct PACKED
{
QElemPtr qLink PACKED_P;
PACKED_MEMBER(QElemPtr, qLink);
INTEGER qType;
Ptr ioCmdAddr PACKED_P;
ProcPtr ioCompletion PACKED_P;
PACKED_MEMBER(Ptr, ioCmdAddr);
PACKED_MEMBER(ProcPtr, ioCompletion);
OSErr ioResult;
StringPtr ioNamePtr PACKED_P;
PACKED_MEMBER(StringPtr, ioNamePtr);
INTEGER ioVRefNum;
INTEGER ioDTRefNum;
INTEGER ioIndex;
LONGINT ioTagInfo;
Ptr ioDTBuffer PACKED_P;
PACKED_MEMBER(Ptr, ioDTBuffer);
LONGINT ioDTReqCount;
LONGINT ioDTActCount;
SignedByte filler1;

View File

@@ -56,7 +56,7 @@ typedef struct PACKED {
Fixed descent;
Fixed leading;
Fixed widMax;
Handle wTabHandle PACKED_P;
PACKED_MEMBER(Handle, wTabHandle);
} FMetricRec;
typedef struct PACKED {
@@ -82,7 +82,7 @@ typedef struct PACKED {
typedef struct PACKED {
Fixed tabData[256];
Handle tabFont PACKED_P;
PACKED_MEMBER(Handle, tabFont);
LONGINT sExtra;
LONGINT style;
INTEGER fID;
@@ -92,7 +92,7 @@ typedef struct PACKED {
Point inNumer;
Point inDenom;
INTEGER aFID;
Handle fHand PACKED_P;
PACKED_MEMBER(Handle, fHand);
BOOLEAN usedFam;
Byte aFace;
INTEGER vOutput;
@@ -116,7 +116,7 @@ typedef struct PACKED {
typedef struct PACKED {
INTEGER errNum; /* 0x00 */
Handle fontHandle PACKED_P; /* 0x02 */
PACKED_MEMBER(Handle, fontHandle); /* 0x02 */
Byte bold; /* 0x06 */
Byte italic; /* 0x07 */
Byte ulOffset; /* 0x08 */
@@ -153,14 +153,14 @@ typedef struct PACKED {
} FontRec;
typedef FamRec *FamRecPtr;
typedef struct { FamRecPtr p PACKED_P; } HIDDEN_FamRecPtr;
MAKE_HIDDEN(FamRecPtr);
typedef HIDDEN_FamRecPtr *FamRecHandle;
typedef struct { FamRecHandle p PACKED_P; } HIDDEN_FamRecHandle;
MAKE_HIDDEN(FamRecHandle);
typedef WidthTable *WidthTablePtr;
typedef struct { WidthTablePtr p PACKED_P; } HIDDEN_WidthTablePtr;
MAKE_HIDDEN(WidthTablePtr);
typedef HIDDEN_WidthTablePtr *WidthTableHandle;
typedef struct { WidthTableHandle p PACKED_P; } HIDDEN_WidthTableHandle;
MAKE_HIDDEN(WidthTableHandle);
#if !defined (JSwapFont_H)
extern HIDDEN_ProcPtr JSwapFont_H;

View File

@@ -26,8 +26,8 @@ typedef struct PACKED HMMessageRecord
Str255 hmmString;
INTEGER hmmPict;
HMStringResType hmmStringRes;
TEHandle hmmTEHandle PACKED_P;
PicHandle hmmPictHandle PACKED_P;
PACKED_MEMBER(TEHandle, hmmTEHandle);
PACKED_MEMBER(PicHandle, hmmPictHandle);
INTEGER hmmTERes;
INTEGER hmmSTRRes;
} u;

View File

@@ -100,10 +100,10 @@ typedef struct PACKED CIcon
PixMap iconPMap;
BitMap iconMask;
BitMap iconBMap;
Handle iconData PACKED_P;
PACKED_MEMBER(Handle, iconData);
int16 iconMaskData[1];
} CIcon, *CIconPtr;
typedef struct { CIconPtr p PACKED_P; } HIDDEN_CIconPtr;
MAKE_HIDDEN(CIconPtr);
typedef HIDDEN_CIconPtr *CIconHandle;
/* icon utility function prototypes */

View File

@@ -82,7 +82,7 @@ typedef struct PACKED {
INTEGER intl0Vers;
} Intl0Rec;
typedef Intl0Rec *Intl0Ptr;
typedef struct { Intl0Ptr p PACKED_P; } HIDDEN_Intl0Ptr;
MAKE_HIDDEN(Intl0Ptr);
typedef HIDDEN_Intl0Ptr *Intl0Hndl;
typedef Byte STRING15[16];
@@ -103,7 +103,7 @@ typedef struct PACKED {
INTEGER localRtn;
} Intl1Rec;
typedef Intl1Rec *Intl1Ptr;
typedef struct { Intl1Ptr p PACKED_P; } HIDDEN_Intl1Ptr;
MAKE_HIDDEN(Intl1Ptr);
typedef HIDDEN_Intl1Ptr *Intl1Hndl;
typedef comp LongDateTime;

View File

@@ -20,17 +20,17 @@ typedef Byte DataArray;
#endif /* defined(__alpha) */
typedef DataArray *DataPtr;
typedef struct { DataPtr p PACKED_P; } HIDDEN_DataPtr;
MAKE_HIDDEN(DataPtr);
typedef HIDDEN_DataPtr *DataHandle;
typedef struct PACKED {
Rect rView;
GrafPtr port PACKED_P;
PACKED_MEMBER(GrafPtr, port);
Point indent;
Point cellSize;
Rect visible;
ControlHandle vScroll PACKED_P;
ControlHandle hScroll PACKED_P;
PACKED_MEMBER(ControlHandle, vScroll);
PACKED_MEMBER(ControlHandle, hScroll);
SignedByte selFlags;
BOOLEAN lActive;
SignedByte lReserved;
@@ -38,18 +38,18 @@ typedef struct PACKED {
LONGINT clikTime;
Point clikLoc;
Point mouseLoc;
Ptr lClikLoop PACKED_P;
PACKED_MEMBER(Ptr, lClikLoop);
Cell lastClick;
LONGINT refCon;
Handle listDefProc PACKED_P;
Handle userHandle PACKED_P;
PACKED_MEMBER(Handle, listDefProc);
PACKED_MEMBER(Handle, userHandle);
Rect dataBounds;
DataHandle cells PACKED_P;
PACKED_MEMBER(DataHandle, cells);
INTEGER maxIndex;
INTEGER cellArray[1];
} ListRec;
typedef ListRec *ListPtr;
typedef struct { ListPtr p PACKED_P; } HIDDEN_ListPtr;
MAKE_HIDDEN(ListPtr);
typedef HIDDEN_ListPtr *ListHandle;
#define lDoVAutoscroll 2

View File

@@ -15,9 +15,18 @@ typedef int8 SignedByte;
typedef uint8 Byte;
typedef int8 *Ptr;
typedef struct { Ptr p PACKED_P; } HIDDEN_Ptr;
#if (SIZEOF_CHAR_P == 4) || 1 /* always do this for now */
#define MAKE_HIDDEN(typ) typedef struct { typ p; } HIDDEN_ ## typ
#else
#define MAKE_HIDDEN(typ) \
typedef union PACKED { uint32 pp; typ type[0];} HIDDEN_ ## typ
#endif
MAKE_HIDDEN(Ptr);
typedef HIDDEN_Ptr *Handle;
typedef struct { Handle p PACKED_P; } HIDDEN_Handle;
MAKE_HIDDEN(Handle);
typedef BOOLEAN Boolean;
@@ -28,11 +37,13 @@ typedef Byte Str63[64];
typedef Byte Str255[256];
typedef Byte *StringPtr;
typedef struct { StringPtr p PACKED_P; } HIDDEN_StringPtr;
MAKE_HIDDEN(StringPtr);
typedef HIDDEN_StringPtr *StringHandle;
typedef int (*ProcPtr)();
typedef struct { ProcPtr p PACKED_P; } HIDDEN_ProcPtr;
MAKE_HIDDEN(ProcPtr);
typedef LONGINT Fixed, Fract;
@@ -54,15 +65,23 @@ typedef LONGINT INTEGERRET;
typedef LONGINT BOOLEANRET;
typedef LONGINT SignedByteRET;
#if (SIZEOF_CHAR_P == 4) || 1
# define PACKED_MEMBER(typ, name) typ name
#else
# define PACKED_MEMBER(typ, name) \
union PACKED { uint32 pp; typ *type[0]; } name
#endif
typedef struct PACKED {
INTEGER qFlags;
union __qe *qHead PACKED_P; /* actually QElemPtr */
union __qe *qTail PACKED_P; /* actually QElemPtr */
INTEGER qFlags;
PACKED_MEMBER(union __qe *, qHead); /* actually QElemPtr */
PACKED_MEMBER(union __qe *, qTail); /* actually QElemPtr */
} QHdr;
typedef QHdr *QHdrPtr;
typedef union __qe *QElemPtr;
typedef struct { QElemPtr p PACKED_P; } HIDDEN_QElemPtr;
MAKE_HIDDEN(QElemPtr);
#define noErr 0

View File

@@ -25,11 +25,11 @@ enum { memAZErr = -113 };
typedef struct PACKED Zone
{
Ptr bkLim PACKED_P;
Ptr purgePtr PACKED_P;
Ptr hFstFree PACKED_P;
PACKED_MEMBER(Ptr, bkLim);
PACKED_MEMBER(Ptr, purgePtr);
PACKED_MEMBER(Ptr, hFstFree);
LONGINT zcbFree;
ProcPtr gzProc PACKED_P;
PACKED_MEMBER(ProcPtr, gzProc);
INTEGER moreMast;
INTEGER flags;
INTEGER cntRel;
@@ -39,14 +39,14 @@ typedef struct PACKED Zone
INTEGER cntEmpty;
INTEGER cntHandles;
LONGINT minCBFree;
ProcPtr purgeProc PACKED_P;
Ptr sparePtr PACKED_P;
Ptr allocPtr PACKED_P;
PACKED_MEMBER(ProcPtr, purgeProc);
PACKED_MEMBER(Ptr, sparePtr);
PACKED_MEMBER(Ptr, allocPtr);
INTEGER heapData;
} Zone;
typedef Zone *THz;
typedef struct { THz p PACKED_P; } HIDDEN_THz;
MAKE_HIDDEN(THz);
#if !defined (MemErr)
extern int16 MemErr;

View File

@@ -24,12 +24,12 @@ typedef struct PACKED {
INTEGER menuID;
INTEGER menuWidth;
INTEGER menuHeight;
Handle menuProc PACKED_P;
PACKED_MEMBER(Handle, menuProc);
LONGINT enableFlags;
Str255 menuData;
} MenuInfo;
typedef MenuInfo *MenuPtr;
typedef struct { MenuPtr p PACKED_P; } HIDDEN_MenuPtr;
MAKE_HIDDEN(MenuPtr);
typedef HIDDEN_MenuPtr *MenuHandle;
typedef struct PACKED MCEntry
@@ -42,14 +42,14 @@ typedef struct PACKED MCEntry
RGBColor mctRGB4;
INTEGER mctReserved;
} MCEntry, *MCEntryPtr;
typedef struct { MCEntryPtr p PACKED_P; } HIDDEN_MCEntryPtr;
MAKE_HIDDEN(MCEntryPtr);
typedef MCEntry MCTable[1];
typedef MCEntry *MCTablePtr;
typedef struct { MCTablePtr p PACKED_P; } HIDDEN_MCTablePtr;
MAKE_HIDDEN(MCTablePtr);
typedef HIDDEN_MCTablePtr *MCTableHandle;
typedef struct { MCTableHandle p PACKED_P; } HIDDEN_MCTableHandle;
MAKE_HIDDEN(MCTableHandle);
#if !defined (MenuList_H)
extern HIDDEN_Handle MenuList_H;

View File

@@ -9,16 +9,16 @@
*/
typedef struct PACKED {
QElemPtr qLink PACKED_P;
PACKED_MEMBER(QElemPtr, qLink);
INTEGER qType;
INTEGER nmFlags;
LONGINT nmPrivate;
INTEGER nmReserved;
INTEGER nmMark;
Handle nmIcon PACKED_P;
Handle nmSound PACKED_P;
StringPtr nmStr PACKED_P;
ProcPtr nmResp PACKED_P; /* pascal void myresponse(NMRecPtr foo) */
PACKED_MEMBER(Handle, nmIcon);
PACKED_MEMBER(Handle, nmSound);
PACKED_MEMBER(StringPtr, nmStr);
PACKED_MEMBER(ProcPtr, nmResp); /* pascal void myresponse(NMRecPtr foo) */
/* value of -1 means remove queue element
automatically */
LONGINT nmRefCon;

View File

@@ -16,7 +16,7 @@
#define evtNotEnb 1
typedef struct PACKED {
QElemPtr qLink PACKED_P;
PACKED_MEMBER(QElemPtr, qLink);
INTEGER qType;
INTEGER evtQWhat;
LONGINT evtQMessage;
@@ -26,7 +26,7 @@ typedef struct PACKED {
} EvQEl;
typedef EvQEl *EvQElPtr;
typedef struct { EvQElPtr p PACKED_P; } HIDDEN_EvQElPtr;
MAKE_HIDDEN(EvQElPtr);
#define osEvt 15
#define SUSPENDRESUMEBITS 0x01000000

View File

@@ -84,8 +84,8 @@ typedef struct PACKED {
INTEGER iCopies;
SignedByte bJDocLoop;
BOOLEAN fFromUsr;
ProcPtr pIdleProc PACKED_P;
StringPtr pFileName PACKED_P;
PACKED_MEMBER(ProcPtr, pIdleProc);
PACKED_MEMBER(StringPtr, pFileName);
INTEGER iFileVol;
SignedByte bFileVers;
SignedByte bJobX;
@@ -102,7 +102,7 @@ typedef struct PACKED {
INTEGER printX[19];
} TPrint;
typedef TPrint *TPPrint;
typedef struct { TPPrint p PACKED_P; } HIDDEN_TPPrint;
MAKE_HIDDEN(TPPrint);
typedef HIDDEN_TPPrint *THPrint;
typedef Rect *TPRect;
@@ -116,17 +116,17 @@ typedef struct PACKED {
INTEGER iCurBand;
BOOLEAN fPgDirty;
BOOLEAN fImaging;
THPrint hPrint PACKED_P;
TPPrPort pPRPort PACKED_P;
PicHandle hPic PACKED_P;
PACKED_MEMBER(THPrint, hPrint);
PACKED_MEMBER(TPPrPort, pPRPort);
PACKED_MEMBER(PicHandle, hPic);
} TPrStatus;
typedef struct PACKED {
/* From Technote 095 */
DialogRecord dlg;
ProcPtr pFltrProc PACKED_P;
ProcPtr pItemProc PACKED_P;
THPrint hPrintUsr PACKED_P;
PACKED_MEMBER(ProcPtr, pFltrProc);
PACKED_MEMBER(ProcPtr, pItemProc);
PACKED_MEMBER(THPrint, hPrintUsr);
BOOLEAN fDoIt;
BOOLEAN fDone;
LONGINT lUser1;

View File

@@ -70,18 +70,18 @@ enum { launchContinue = 0x4000 };
typedef struct PACKED ProcessInfoRec
{
uint32 processInfoLength;
StringPtr processName PACKED_P;
PACKED_MEMBER(StringPtr, processName);
ProcessSerialNumber processNumber;
uint32 processType;
OSType processSignature;
uint32 processMode;
Ptr processLocation PACKED_P;
PACKED_MEMBER(Ptr, processLocation);
uint32 processSize;
uint32 processFreeMem;
ProcessSerialNumber processLauncher;
uint32 processLaunchDate;
uint32 processActiveTime;
FSSpecPtr processAppSpec PACKED_P;
PACKED_MEMBER(FSSpecPtr, processAppSpec);
} ProcessInfoRec;
typedef ProcessInfoRec *ProcessInfoPtr;

View File

@@ -74,12 +74,12 @@ typedef struct PACKED {
} Region;
typedef Region *RgnPtr;
typedef struct { RgnPtr p PACKED_P; } HIDDEN_RgnPtr;
MAKE_HIDDEN(RgnPtr);
typedef HIDDEN_RgnPtr *RgnHandle;
typedef struct { RgnHandle p PACKED_P; } HIDDEN_RgnHandle;
MAKE_HIDDEN(RgnHandle);
typedef struct PACKED {
Ptr baseAddr PACKED_P;
PACKED_MEMBER(Ptr, baseAddr);
INTEGER rowBytes;
Rect bounds;
} BitMap;
@@ -94,7 +94,7 @@ typedef struct PACKED {
} Cursor;
typedef Cursor *CursPtr;
typedef struct { CursPtr p PACKED_P; } HIDDEN_CursPtr;
MAKE_HIDDEN(CursPtr);
typedef HIDDEN_CursPtr *CursHandle;
typedef SignedByte GrafVerb;
@@ -111,7 +111,7 @@ typedef struct PACKED {
} Polygon;
typedef Polygon *PolyPtr;
typedef struct { PolyPtr p PACKED_P; } HIDDEN_PolyPtr;
MAKE_HIDDEN(PolyPtr);
typedef HIDDEN_PolyPtr *PolyHandle;
typedef struct PACKED {
@@ -121,24 +121,38 @@ typedef struct PACKED {
INTEGER leading;
} FontInfo;
typedef pascal trap void (*textProc_t)(INTEGER bc, Ptr textb, Point num, Point den);
typedef pascal trap void (*lineProc_t)(Point drawto);
typedef pascal trap void (*rectProc_t)(GrafVerb verb, Rect *rp);
typedef pascal trap void (*rRectProc_t)(GrafVerb verb, Rect *rp, INTEGER ow,
INTEGER oh);
typedef pascal trap void (*ovalProc_t)(GrafVerb verb, Rect *rp);
typedef pascal trap void (*arcProc_t)(GrafVerb verb, Rect *rp, INTEGER ang,
INTEGER arc);
typedef pascal trap void (*polyProc_t)(GrafVerb verb, PolyHandle poly);
typedef pascal trap void (*rgnProc_t)(GrafVerb verb, RgnHandle rgn);
typedef pascal trap void (*bitsProc_t)(BitMap *srcb, Rect *srcr, Rect *dstr,
INTEGER mod, RgnHandle mask);
typedef pascal trap void (*commentProc_t)(INTEGER kind, INTEGER size, Handle data);
typedef pascal trap INTEGER (*txMeasProc_t)(INTEGER bc, Ptr texta, Point *numer,
Point *denom, FontInfo *info);
typedef pascal trap void (*getPicProc_t)(Ptr data, INTEGER bc);
typedef pascal trap void (*putPicProc_t)(Ptr data, INTEGER bc);
typedef struct PACKED {
pascal trap void (*textProc)(INTEGER bc, Ptr textb, Point num, Point den) PACKED_P;
pascal trap void (*lineProc)(Point drawto) PACKED_P;
pascal trap void (*rectProc)(GrafVerb verb, Rect *rp) PACKED_P;
pascal trap void (*rRectProc)(GrafVerb verb, Rect *rp, INTEGER ow,
INTEGER oh) PACKED_P;
pascal trap void (*ovalProc)(GrafVerb verb, Rect *rp) PACKED_P;
pascal trap void (*arcProc)(GrafVerb verb, Rect *rp, INTEGER ang,
INTEGER arc) PACKED_P;
pascal trap void (*polyProc)(GrafVerb verb, PolyHandle poly) PACKED_P;
pascal trap void (*rgnProc)(GrafVerb verb, RgnHandle rgn) PACKED_P;
pascal trap void (*bitsProc)(BitMap *srcb, Rect *srcr, Rect *dstr,
INTEGER mod, RgnHandle mask) PACKED_P;
pascal trap void (*commentProc)(INTEGER kind, INTEGER size, Handle data) PACKED_P;
pascal trap INTEGER (*txMeasProc)(INTEGER bc, Ptr texta, Point *numer,
Point *denom, FontInfo *info) PACKED_P;
pascal trap void (*getPicProc)(Ptr data, INTEGER bc) PACKED_P;
pascal trap void (*putPicProc)(Ptr data, INTEGER bc) PACKED_P;
PACKED_MEMBER(textProc_t, textProc);
PACKED_MEMBER(lineProc_t, lineProc);
PACKED_MEMBER(rectProc_t, rectProc);
PACKED_MEMBER(rRectProc_t, rRectProc);
PACKED_MEMBER(ovalProc_t, ovalProc);
PACKED_MEMBER(arcProc_t, arcProc);
PACKED_MEMBER(polyProc_t, polyProc);
PACKED_MEMBER(rgnProc_t, rgnProc);
PACKED_MEMBER(bitsProc_t, bitsProc);
PACKED_MEMBER(commentProc_t, commentProc);
PACKED_MEMBER(txMeasProc_t, txMeasProc);
PACKED_MEMBER(getPicProc_t, getPicProc);
PACKED_MEMBER(putPicProc_t, putPicProc);
} QDProcs;
typedef QDProcs *QDProcsPtr;
@@ -147,8 +161,8 @@ typedef struct PACKED {
INTEGER device;
BitMap portBits;
Rect portRect;
RgnHandle visRgn PACKED_P;
RgnHandle clipRgn PACKED_P;
PACKED_MEMBER(RgnHandle, visRgn);
PACKED_MEMBER(RgnHandle,clipRgn);
Pattern bkPat;
Pattern fillPat;
Point pnLoc;
@@ -166,14 +180,14 @@ typedef struct PACKED {
LONGINT bkColor;
INTEGER colrBit;
INTEGER patStretch;
Handle picSave PACKED_P;
Handle rgnSave PACKED_P;
Handle polySave PACKED_P;
QDProcsPtr grafProcs PACKED_P;
PACKED_MEMBER(Handle, picSave);
PACKED_MEMBER(Handle, rgnSave);
PACKED_MEMBER(Handle, polySave);
PACKED_MEMBER(QDProcsPtr, grafProcs);
} GrafPort;
typedef GrafPort *GrafPtr;
typedef struct { GrafPtr p PACKED_P; } HIDDEN_GrafPtr;
MAKE_HIDDEN(GrafPtr);
typedef struct PACKED {
INTEGER picSize;
@@ -181,7 +195,7 @@ typedef struct PACKED {
} Picture;
typedef Picture *PicPtr;
typedef struct { PicPtr p PACKED_P; } HIDDEN_PicPtr;
MAKE_HIDDEN(PicPtr);
typedef HIDDEN_PicPtr *PicHandle;
typedef struct PACKED {
@@ -241,35 +255,35 @@ typedef struct PACKED {
cSpecArray ctTable;
} ColorTable, *CTabPtr;
typedef struct { CTabPtr p PACKED_P; } HIDDEN_CTabPtr;
MAKE_HIDDEN(CTabPtr);
typedef HIDDEN_CTabPtr *CTabHandle;
typedef struct { CTabHandle p PACKED_P; } HIDDEN_CTabHandle;
MAKE_HIDDEN(CTabHandle);
typedef struct PACKED {
Ptr textProc PACKED_P;
Ptr lineProc PACKED_P;
Ptr rectProc PACKED_P;
Ptr rRectProc PACKED_P;
Ptr ovalProc PACKED_P;
Ptr arcProc PACKED_P;
Ptr polyProc PACKED_P;
Ptr rgnProc PACKED_P;
Ptr bitsProc PACKED_P;
Ptr commentProc PACKED_P;
Ptr txMeasProc PACKED_P;
Ptr getPicProc PACKED_P;
Ptr putPicProc PACKED_P;
Ptr opcodeProc PACKED_P;
Ptr newProc1Proc PACKED_P;
Ptr newProc2Proc PACKED_P;
Ptr newProc3Proc PACKED_P;
Ptr newProc4Proc PACKED_P;
Ptr newProc5Proc PACKED_P;
Ptr newProc6Proc PACKED_P;
PACKED_MEMBER(Ptr, textProc);
PACKED_MEMBER(Ptr, lineProc);
PACKED_MEMBER(Ptr, rectProc);
PACKED_MEMBER(Ptr, rRectProc);
PACKED_MEMBER(Ptr, ovalProc);
PACKED_MEMBER(Ptr, arcProc);
PACKED_MEMBER(Ptr, polyProc);
PACKED_MEMBER(Ptr, rgnProc);
PACKED_MEMBER(Ptr, bitsProc);
PACKED_MEMBER(Ptr, commentProc);
PACKED_MEMBER(Ptr, txMeasProc);
PACKED_MEMBER(Ptr, getPicProc);
PACKED_MEMBER(Ptr, putPicProc);
PACKED_MEMBER(Ptr, opcodeProc);
PACKED_MEMBER(Ptr, newProc1Proc);
PACKED_MEMBER(Ptr, newProc2Proc);
PACKED_MEMBER(Ptr, newProc3Proc);
PACKED_MEMBER(Ptr, newProc4Proc);
PACKED_MEMBER(Ptr, newProc5Proc);
PACKED_MEMBER(Ptr, newProc6Proc);
} CQDProcs, *CQDProcsPtr;
typedef struct PACKED {
Ptr baseAddr PACKED_P;
PACKED_MEMBER(Ptr, baseAddr);
INTEGER rowBytes;
Rect bounds;
INTEGER pmVersion;
@@ -282,12 +296,12 @@ typedef struct PACKED {
INTEGER cmpCount;
INTEGER cmpSize;
LONGINT planeBytes;
CTabHandle pmTable PACKED_P;
PACKED_MEMBER(CTabHandle, pmTable);
LONGINT pmReserved;
} PixMap, *PixMapPtr;
typedef struct { PixMapPtr p PACKED_P; } HIDDEN_PixMapPtr;
MAKE_HIDDEN(PixMapPtr);
typedef HIDDEN_PixMapPtr *PixMapHandle;
typedef struct { PixMapHandle p PACKED_P; } HIDDEN_PixMapHandle;
MAKE_HIDDEN(PixMapHandle);
enum pixmap_pixel_types
{
@@ -300,35 +314,35 @@ enum pixmap_pixel_types
typedef struct PACKED {
INTEGER patType;
PixMapHandle patMap PACKED_P;
Handle patData PACKED_P;
Handle patXData PACKED_P;
PACKED_MEMBER(PixMapHandle, patMap);
PACKED_MEMBER(Handle, patData);
PACKED_MEMBER(Handle, patXData);
INTEGER patXValid;
Handle patXMap PACKED_P;
PACKED_MEMBER(Handle, patXMap);
Pattern pat1Data;
} PixPat, *PixPatPtr;
typedef struct { PixPatPtr p PACKED_P; } HIDDEN_PixPatPtr;
MAKE_HIDDEN(PixPatPtr);
typedef HIDDEN_PixPatPtr *PixPatHandle;
typedef struct { PixPatHandle p PACKED_P; } HIDDEN_PixPatHandle;
MAKE_HIDDEN(PixPatHandle);
typedef struct PACKED {
INTEGER device;
PixMapHandle portPixMap PACKED_P;
PACKED_MEMBER(PixMapHandle, portPixMap);
INTEGER portVersion;
Handle grafVars PACKED_P;
PACKED_MEMBER(Handle, grafVars);
INTEGER chExtra;
INTEGER pnLocHFrac;
Rect portRect;
RgnHandle visRgn PACKED_P;
RgnHandle clipRgn PACKED_P;
PixPatHandle bkPixPat PACKED_P;
PACKED_MEMBER(RgnHandle, visRgn);
PACKED_MEMBER(RgnHandle, clipRgn);
PACKED_MEMBER(PixPatHandle, bkPixPat);
RGBColor rgbFgColor;
RGBColor rgbBkColor;
Point pnLoc;
Point pnSize;
INTEGER pnMode;
PixPatHandle pnPixPat PACKED_P;
PixPatHandle fillPixPat PACKED_P;
PACKED_MEMBER(PixPatHandle, pnPixPat);
PACKED_MEMBER(PixPatHandle, fillPixPat);
INTEGER pnVis;
INTEGER txFont;
Style txFace;
@@ -340,28 +354,28 @@ typedef struct PACKED {
LONGINT bkColor;
INTEGER colrBit;
INTEGER patStretch;
Handle picSave PACKED_P;
Handle rgnSave PACKED_P;
Handle polySave PACKED_P;
CQDProcsPtr grafProcs PACKED_P;
PACKED_MEMBER(Handle, picSave);
PACKED_MEMBER(Handle, rgnSave);
PACKED_MEMBER(Handle, polySave);
PACKED_MEMBER(CQDProcsPtr, grafProcs);
} CGrafPort, *CGrafPtr;
typedef struct { CGrafPtr p PACKED_P; } HIDDEN_CGrafPtr;
MAKE_HIDDEN(CGrafPtr);
typedef struct PACKED {
INTEGER crsrType;
PixMapHandle crsrMap PACKED_P;
Handle crsrData PACKED_P;
Handle crsrXData PACKED_P;
PACKED_MEMBER(PixMapHandle, crsrMap);
PACKED_MEMBER(Handle, crsrData);
PACKED_MEMBER(Handle, crsrXData);
INTEGER crsrXValid;
Handle crsrXHandle PACKED_P;
PACKED_MEMBER(Handle, crsrXHandle);
Bits16 crsr1Data;
Bits16 crsrMask;
Point crsrHotSpot;
LONGINT crsrXTable;
LONGINT crsrID;
} CCrsr, *CCrsrPtr;
typedef struct { CCrsrPtr p PACKED_P; } HIDDEN_CCrsrPtr;
MAKE_HIDDEN(CCrsrPtr);
typedef HIDDEN_CCrsrPtr *CCrsrHandle;
typedef struct PACKED {
@@ -371,11 +385,14 @@ typedef struct PACKED {
int32 matchData;
} MatchRec;
typedef struct { HIDDEN_GrafPtr *p PACKED_P; } HIDDEN_GrafPtr_Ptr;
typedef struct { Byte *p PACKED_P; } HIDDEN_BytePtr;
typedef HIDDEN_GrafPtr *HIDDEN_GrafPtr_Ptr;
MAKE_HIDDEN(HIDDEN_GrafPtr_Ptr);
#define thePort (STARH(STARH((HIDDEN_GrafPtr_Ptr *) (long) SYN68K_TO_US(a5))))
#define thePortX ((*STARH((HIDDEN_GrafPtr_Ptr *) (long) SYN68K_TO_US(a5))).p)
typedef Byte *BytePtr;
MAKE_HIDDEN(BytePtr);
#define thePort (STARH(STARH((HIDDEN_HIDDEN_GrafPtr_Ptr *) (long) SYN68K_TO_US(a5))))
#define thePortX ((*STARH((HIDDEN_HIDDEN_GrafPtr_Ptr *) (long) SYN68K_TO_US(a5))).p)
#define white (STARH((HIDDEN_BytePtr *)(long) SYN68K_TO_US(a5)) -8)
#define black (STARH((HIDDEN_BytePtr *)(long) SYN68K_TO_US(a5)) -16)
#define gray (STARH((HIDDEN_BytePtr *)(long) SYN68K_TO_US(a5)) -24)

View File

@@ -15,10 +15,10 @@
typedef struct PACKED {
LONGINT scrapSize;
Handle scrapHandle PACKED_P;
PACKED_MEMBER(Handle, scrapHandle);
INTEGER scrapCount;
INTEGER scrapState;
StringPtr scrapName PACKED_P;
PACKED_MEMBER(StringPtr, scrapName);
} ScrapStuff;
typedef ScrapStuff *PScrapStuff;

View File

@@ -53,17 +53,17 @@ typedef struct PACKED {
LONGINT sound3Phase;
Fixed sound4Rate;
LONGINT sound4Phase;
WavePtr sound1Wave PACKED_P;
WavePtr sound2Wave PACKED_P;
WavePtr sound3Wave PACKED_P;
WavePtr sound4Wave PACKED_P;
PACKED_MEMBER(WavePtr, sound1Wave);
PACKED_MEMBER(WavePtr, sound2Wave);
PACKED_MEMBER(WavePtr, sound3Wave);
PACKED_MEMBER(WavePtr, sound4Wave);
} FTSoundRec;
typedef FTSoundRec *FTSndRecPtr;
typedef struct { FTSndRecPtr p PACKED_P; } HIDDEN_FTSndRecPtr;
MAKE_HIDDEN(FTSndRecPtr);
typedef struct PACKED {
INTEGER mode;
FTSndRecPtr sndRec PACKED_P;
PACKED_MEMBER(FTSndRecPtr, sndRec);
} FTSynthRec;
typedef FTSynthRec *FTsynthPtr;

View File

@@ -25,10 +25,11 @@ enum
extSH = 0xFF, /* extended sound header */
};
typedef struct PACKED _SndChannel *SndChannelPtr;
typedef struct PACKED _SndChannel {
struct _SndChannel *nextChan PACKED_P;
Ptr firstMod PACKED_P;
ProcPtr callBack PACKED_P;
PACKED_MEMBER(SndChannelPtr, nextChan);
PACKED_MEMBER(Ptr, firstMod);
PACKED_MEMBER(ProcPtr, callBack);
LONGINT userInfo;
LONGINT wait;
SndCommand cmdInProg;
@@ -37,12 +38,12 @@ typedef struct PACKED _SndChannel {
INTEGER qHead;
INTEGER qTail;
SndCommand queue[stdQLength];
} SndChannel, *SndChannelPtr;
} SndChannel;
#define SND_CHAN_FLAGS_X(c) (c->flags)
#define SND_CHAN_FLAGS(c) (CW (SND_CHAN_FLAGS_X (c)))
typedef struct { SndChannelPtr p PACKED_P; } HIDDEN_SndChannelPtr;
MAKE_HIDDEN(SndChannelPtr);
enum {
nullCmd,
@@ -85,7 +86,7 @@ typedef struct PACKED {
} soundbuffer_t;
typedef struct PACKED _SoundHeader {
Ptr samplePtr PACKED_P;
PACKED_MEMBER(Ptr, samplePtr);
LONGINT length;
Fixed sampleRate;
LONGINT loopStart;
@@ -96,7 +97,7 @@ typedef struct PACKED _SoundHeader {
} SoundHeader, *SoundHeaderPtr;
typedef struct PACKED _ExtSoundHeader {
Ptr samplePtr PACKED_P;
PACKED_MEMBER(Ptr, samplePtr);
LONGINT numChannels;
Fixed sampleRate;
LONGINT loopStart;

View File

@@ -60,15 +60,15 @@ typedef struct PACKED {
INTEGER selStart;
INTEGER selEnd;
INTEGER active;
ProcPtr wordBreak PACKED_P;
ProcPtr clikLoop PACKED_P;
PACKED_MEMBER(ProcPtr, wordBreak);
PACKED_MEMBER(ProcPtr, clikLoop);
LONGINT clickTime;
INTEGER clickLoc;
LONGINT caretTime;
INTEGER caretState;
INTEGER just;
INTEGER teLength;
Handle hText PACKED_P;
PACKED_MEMBER(Handle, hText);
INTEGER recalBack;
INTEGER recalLines;
INTEGER clikStuff;
@@ -78,15 +78,15 @@ typedef struct PACKED {
Byte filler;
INTEGER txMode;
INTEGER txSize;
GrafPtr inPort PACKED_P;
ProcPtr highHook PACKED_P;
ProcPtr caretHook PACKED_P;
PACKED_MEMBER(GrafPtr, inPort);
PACKED_MEMBER(ProcPtr, highHook);
PACKED_MEMBER(ProcPtr, caretHook);
INTEGER nLines;
INTEGER lineStarts[1];
} TERec;
typedef TERec *TEPtr;
typedef struct { TEPtr p PACKED_P; } HIDDEN_TEPtr;
MAKE_HIDDEN(TEPtr);
typedef HIDDEN_TEPtr *TEHandle;
typedef struct PACKED {
@@ -107,7 +107,7 @@ typedef struct PACKED {
typedef STElement TEStyleTable[1];
typedef STElement *STPtr;
typedef struct { STPtr p PACKED_P; } HIDDEN_STPtr;
MAKE_HIDDEN(STPtr);
typedef HIDDEN_STPtr *STHandle;
typedef struct PACKED {
@@ -117,7 +117,7 @@ typedef struct PACKED {
typedef LHElement LHTable[1];
typedef LHElement *LHPtr;
typedef struct { LHPtr p PACKED_P; } HIDDEN_LHPtr;
MAKE_HIDDEN(LHPtr);
typedef HIDDEN_LHPtr *LHHandle;
typedef struct PACKED {
@@ -147,30 +147,30 @@ typedef struct PACKED {
} StScrpRec;
typedef StScrpRec *StScrpPtr;
typedef struct { StScrpPtr p PACKED_P; } HIDDEN_StScrpPtr;
MAKE_HIDDEN(StScrpPtr);
typedef HIDDEN_StScrpPtr *StScrpHandle;
typedef struct PACKED {
LONGINT TEReserved;
StScrpHandle nullScrap PACKED_P;
PACKED_MEMBER(StScrpHandle, nullScrap);
} NullSTRec;
typedef NullSTRec *NullSTPtr;
typedef struct { NullSTPtr p PACKED_P; } HIDDEN_NullSTPtr;
MAKE_HIDDEN(NullSTPtr);
typedef HIDDEN_NullSTPtr *NullSTHandle;
typedef struct PACKED {
INTEGER nRuns;
INTEGER nStyles;
STHandle styleTab PACKED_P;
LHHandle lhTab PACKED_P;
PACKED_MEMBER(STHandle, styleTab);
PACKED_MEMBER(LHHandle, lhTab);
LONGINT teRefCon;
NullSTHandle nullStyle PACKED_P;
PACKED_MEMBER(NullSTHandle, nullStyle);
StyleRun runs[1];
} TEStyleRec;
typedef TEStyleRec *TEStylePtr;
typedef struct { TEStylePtr p PACKED_P; } HIDDEN_TEStylePtr;
MAKE_HIDDEN(TEStylePtr);
typedef HIDDEN_TEStylePtr *TEStyleHandle;
typedef Byte Chars[1], *CharsPtr, **CharsHandle;

View File

@@ -10,9 +10,9 @@
typedef struct PACKED {
QElemPtr qLink PACKED_P;
PACKED_MEMBER(QElemPtr, qLink);
INTEGER qType;
ProcPtr tmAddr PACKED_P;
PACKED_MEMBER(ProcPtr, tmAddr);
LONGINT tmCount; /* I don't trust IMIV-301 */
} TMTask;

View File

@@ -30,7 +30,7 @@ typedef char *PatPtr;
#warning "Bad PatPtr def ... 'cause of problems with my gcc mods -- ctm"
#endif /* defined(__alpha) */
typedef struct { PatPtr p PACKED_P; } HIDDEN_PatPtr;
MAKE_HIDDEN(PatPtr);
typedef HIDDEN_PatPtr *PatHandle;
/* DO NOT DELETE THIS LINE */

View File

@@ -15,7 +15,7 @@ typedef struct PACKED
COMMONFSQUEUEDEFS;
INTEGER ioRefNum;
INTEGER csCode;
Ptr csParam PACKED_P;
PACKED_MEMBER(Ptr, csParam);
} VDParamBlock;
typedef VDParamBlock *VDParamBlockPtr;
@@ -23,7 +23,7 @@ typedef VDParamBlock *VDParamBlockPtr;
typedef struct PACKED
{
Ptr csTable PACKED_P;
PACKED_MEMBER(Ptr, csTable);
INTEGER csStart;
INTEGER csCount;
} VDEntryRecord;
@@ -33,7 +33,7 @@ typedef VDEntryRecord *VDEntRecPtr;
typedef struct PACKED
{
Ptr csGTable PACKED_P;
PACKED_MEMBER(Ptr, csGTable);
} VDGammaRecord;
typedef VDGammaRecord *VDGamRecPtr;
@@ -44,7 +44,7 @@ typedef struct PACKED
INTEGER csMode;
LONGINT csData;
INTEGER csPage;
Ptr csBaseAddr PACKED_P;
PACKED_MEMBER(Ptr, csBaseAddr);
} VDPgInfo;
typedef VDPgInfo *VDPgInfoPtr;

View File

@@ -12,9 +12,9 @@
#define vTypErr (-2)
typedef struct PACKED {
QElemPtr qLink PACKED_P;
PACKED_MEMBER(QElemPtr, qLink);
INTEGER qType;
ProcPtr vblAddr PACKED_P;
PACKED_MEMBER(ProcPtr, vblAddr);
INTEGER vblCount;
INTEGER vblPhase;
} VBLTask;

View File

@@ -74,7 +74,7 @@ typedef CGrafPtr CWindowPtr;
typedef struct __wr WindowRecord;
typedef WindowRecord *WindowPeek;
typedef struct { WindowPeek p PACKED_P; } HIDDEN_WindowPeek;
MAKE_HIDDEN(WindowPeek);
#include "ControlMgr.h"
@@ -85,16 +85,16 @@ struct PACKED __wr {
BOOLEAN hilited;
BOOLEAN goAwayFlag;
BOOLEAN spareFlag;
RgnHandle strucRgn PACKED_P;
RgnHandle contRgn PACKED_P;
RgnHandle updateRgn PACKED_P;
Handle windowDefProc PACKED_P;
Handle dataHandle PACKED_P;
StringHandle titleHandle PACKED_P;
PACKED_MEMBER(RgnHandle, strucRgn);
PACKED_MEMBER(RgnHandle, contRgn);
PACKED_MEMBER(RgnHandle, updateRgn);
PACKED_MEMBER(Handle, windowDefProc);
PACKED_MEMBER(Handle, dataHandle);
PACKED_MEMBER(StringHandle, titleHandle);
INTEGER titleWidth;
ControlHandle controlList PACKED_P; /* is really a ControlHandle */
WindowPeek nextWindow PACKED_P; /* is really a WindowPeek */
PicHandle windowPic PACKED_P;
PACKED_MEMBER(ControlHandle, controlList);
PACKED_MEMBER(WindowPeek, nextWindow);
PACKED_MEMBER(PicHandle, windowPic);
LONGINT refCon;
};
@@ -110,17 +110,17 @@ typedef struct PACKED {
#define wInZoomOut 6
typedef struct AuxWinRec *AuxWinPtr;
typedef struct { AuxWinPtr p PACKED_P; } HIDDEN_AuxWinPtr;
MAKE_HIDDEN(AuxWinPtr);
typedef HIDDEN_AuxWinPtr *AuxWinHandle;
typedef struct { AuxWinHandle p PACKED_P; } HIDDEN_AuxWinHandle;
MAKE_HIDDEN(AuxWinHandle);
typedef struct PACKED AuxWinRec {
AuxWinHandle awNext PACKED_P;
WindowPtr awOwner PACKED_P;
CTabHandle awCTable PACKED_P;
Handle dialogCItem PACKED_P;
PACKED_MEMBER(AuxWinHandle, awNext);
PACKED_MEMBER(WindowPtr, awOwner);
PACKED_MEMBER(CTabHandle, awCTable);
PACKED_MEMBER(Handle, dialogCItem);
LONGINT awFlags;
CTabHandle awReserved PACKED_P;
PACKED_MEMBER(CTabHandle, awReserved);
LONGINT awRefCon;
} AuxWinRec;

View File

@@ -56,13 +56,19 @@ typedef struct PACKED /* 0x0009 */
}
alias_tail_t;
typedef alias_head_t *alias_head_ptr;
typedef alias_parent_t *alias_parent_ptr;
typedef alias_unknown_000100_t *alias_unknown_000100_ptr;
typedef alias_fullpath_t *alias_fullpath_ptr;
typedef alias_tail_t *alias_tail_ptr;
typedef struct PACKED
{
alias_head_t *headp PACKED_P;
alias_parent_t *parentp PACKED_P;
alias_unknown_000100_t *unknownp PACKED_P;
alias_fullpath_t *fullpathp PACKED_P;
alias_tail_t *tailp PACKED_P;
PACKED_MEMBER(alias_head_ptr, headp);
PACKED_MEMBER(alias_parent_ptr, parentp);
PACKED_MEMBER(alias_unknown_000100_ptr, unknownp);
PACKED_MEMBER(alias_fullpath_ptr, fullpathp);
PACKED_MEMBER(alias_tail_ptr, tailp);
}
alias_parsed_t;

View File

@@ -42,8 +42,9 @@ typedef struct PACKED list_header
char data[0];
} list_header_t;
typedef struct { list_header_t *p PACKED_P; } hidden_list_header_ptr;
typedef hidden_list_header_ptr *list_header_h;
typedef list_header_t *list_header_ptr;
MAKE_HIDDEN(list_header_ptr);
typedef HIDDEN_list_header_ptr *list_header_h;
#define PARAM_OFFSET_X(aggr_desc_h) \
(HxX ((list_header_h) aggr_desc_h, param_offset))

View File

@@ -38,8 +38,29 @@
#define MR(n) ((typeof (n))(n ? ((swap32 ((unsigned long) (n))) + ROMlib_offset) : 0))
#define RM(n) ((typeof (n))(n ? ((swap32 ((unsigned long) (n)- ROMlib_offset)) ) : 0))
#else
#define MR(n) ((typeof (n))({ typeof (n) _t = n; _t ? ((swap32 ((unsigned long) (_t))) + ROMlib_offset) : 0;}))
#if (SIZEOF_CHAR_P == 4) || 1 /* always do this for now */
# define MR(n) ((typeof (n))({ typeof (n) _t = n; _t ? ((swap32 ((unsigned long) (_t))) + ROMlib_offset) : 0;}))
#else
/* YY needs a better name, right now it's just a helper for MR */
# define YY(n) (swap32((uint32)(n)) + ROMlib_offset)
# define MR(n) ((typeof (n))({ typeof (n) _t = n; _t ? (YY(_t)) : 0;}))
#endif
#define RM(n) ((typeof (n))({ typeof (n) _t = n; _t ? ((swap32 ((unsigned long) (_t)- ROMlib_offset)) ) : 0;}))
/* Packed Pointer to ROMlib */
#if (SIZEOF_CHAR_P == 4) || 1 /* always do this for now */
# define PPR(n) MR(n)
#else
# define PPR(n) ((typeof (n.type[0]))({ typeof (n) _t = n; _t.pp ? (YY(_t.pp)) : 0;}))
#endif
#endif
#define CWC(n) ((typeof (n)) (signed short) ((((n) << 8) & 0xFF00) \
@@ -81,10 +102,17 @@ extern int bad_cx_splosion;
#define CBC(rhs) (rhs)
#define CBV(rhs) (rhs)
#define STARH(h) MR ((h)->p)
#if (SIZEOF_CHAR_P == 4) || 1 /* always do this for now */
# define STARH(h) MR ((h)->p)
# define HxP(handle, field) MR (STARH(handle)->field)
# define HxX(handle, field) (STARH(handle)->field)
#else
# define STARH(h) ((typeof ((h)->type[0])) (YY ((h)->pp)))
# define HxP(handle, field) MR ((STARH(handle)->field).p)
# define HxX(handle, field) ((STARH(handle))->field)
#endif
#define Hx(handle, field) Cx (STARH(handle)->field)
#define HxP(handle, field) MR (STARH(handle)->field)
#define HxX(handle, field) (STARH(handle)->field)
#if defined (BIGENDIAN)

View File

@@ -1,6 +1,10 @@
#if !defined (_COMMON_H_)
#define _COMMON_H_
#if !defined(COMPILE_FOR_BUILD)
# include "config.h"
#endif
#if defined (_WIN32) && !defined(WIN32)
#define WIN32 /* evil hackage needed to make SDL happy */
#endif

View File

@@ -15,13 +15,15 @@ typedef struct PACKED GrafVars
{
RGBColor rgbOpColor;
RGBColor rgbHiliteColor;
Handle pmFgColor PACKED_P;
PACKED_MEMBER(Handle, pmFgColor);
INTEGER pmFgIndex;
Handle pmBkColor PACKED_P;
PACKED_MEMBER(Handle, pmBkColor);
INTEGER pmBkIndex;
INTEGER pmFlags;
} GrafVars, *GrafVarsPtr;
typedef struct { GrafVarsPtr p PACKED_P; } HIDDEN_GrafVarsPtr, *GrafVarsHandle;
MAKE_HIDDEN(GrafVarsPtr);
typedef HIDDEN_GrafVarsPtr *GrafVarsHandle;
#define SAFE_PTR(ptr) (gui_assert (ptr))
#define SAFE_HANDLE(handle) (gui_assert (handle), gui_assert ((handle)->p))
@@ -84,8 +86,8 @@ static inline GrafPtr ASSERT_NOT_CPORT(void *port)
#define PORT_CLIP_REGION_X(port) PORT_FIELD (port, clipRgn)
#define PORT_PEN_MODE_X(port) PORT_FIELD (port, pnMode)
/* native byte order */
#define PORT_VIS_REGION(port) (MR (PORT_VIS_REGION_X (port)))
#define PORT_CLIP_REGION(port) (MR (PORT_CLIP_REGION_X (port)))
#define PORT_VIS_REGION(port) (PPR (PORT_VIS_REGION_X (port)))
#define PORT_CLIP_REGION(port) (PPR (PORT_CLIP_REGION_X (port)))
#define PORT_PEN_MODE(port) (CW (PORT_PEN_MODE_X (port)))
/* field accessors for members which exist in both types and are in
@@ -120,12 +122,12 @@ static inline GrafPtr ASSERT_NOT_CPORT(void *port)
#define PORT_BK_COLOR(port) (CL (PORT_BK_COLOR_X (port)))
#define PORT_COLR_BIT(port) (CW (PORT_COLR_BIT_X (port)))
#define PORT_PAT_STRETCH(port) (CW (PORT_PAT_STRETCH_X (port)))
#define PORT_PIC_SAVE(port) (MR (PORT_PIC_SAVE_X (port)))
#define PORT_REGION_SAVE(port) (MR (PORT_REGION_SAVE_X (port)))
#define PORT_POLY_SAVE(port) (MR (PORT_POLY_SAVE_X (port)))
#define PORT_PIC_SAVE(port) (PPR (PORT_PIC_SAVE_X (port)))
#define PORT_REGION_SAVE(port) (PPR (PORT_REGION_SAVE_X (port)))
#define PORT_POLY_SAVE(port) (PPR (PORT_POLY_SAVE_X (port)))
/* NOTE: this returns a different type depending if
the argument is a CGrafPort or not */
#define PORT_GRAF_PROCS(port) (MR (PORT_GRAF_PROCS_X (port)))
#define PORT_GRAF_PROCS(port) (PPR (PORT_GRAF_PROCS_X (port)))
/* accessors for fields which exist only in basic quickdraw graphics
ports */
@@ -166,14 +168,14 @@ static inline GrafPtr ASSERT_NOT_CPORT(void *port)
#define CPORT_GRAFVARS_X(cport) (ASSERT_CPORT(cport)->grafVars)
/* native byte order */
#define CPORT_PIXMAP(cport) (MR (CPORT_PIXMAP_X (cport)))
#define CPORT_PIXMAP(cport) (PPR (CPORT_PIXMAP_X (cport)))
#define CPORT_VERSION(cport) (CW (CPORT_VERSION_X (cport)))
#define CPORT_CH_EXTRA(cport) (CW (CPORT_CH_EXTRA_X (cport)))
#define CPORT_PENLOC_HFRAC(cport) (CW (CPORT_PENLOC_HFRAC_X (cport)))
#define CPORT_BK_PIXPAT(cport) (MR (CPORT_BK_PIXPAT_X (cport)))
#define CPORT_FILL_PIXPAT(cport) (MR (CPORT_FILL_PIXPAT_X (cport)))
#define CPORT_PEN_PIXPAT(cport) (MR (CPORT_PEN_PIXPAT_X (cport)))
#define CPORT_GRAFVARS(cport) ((GrafVarsHandle) MR (CPORT_GRAFVARS_X (cport)))
#define CPORT_BK_PIXPAT(cport) (PPR (CPORT_BK_PIXPAT_X (cport)))
#define CPORT_FILL_PIXPAT(cport) (PPR (CPORT_FILL_PIXPAT_X (cport)))
#define CPORT_PEN_PIXPAT(cport) (PPR (CPORT_PEN_PIXPAT_X (cport)))
#define CPORT_GRAFVARS(cport) ((GrafVarsHandle) PPR (CPORT_GRAFVARS_X (cport)))
#define CPORT_OP_COLOR(cport) \
(HxX ((GrafVarsHandle) CPORT_GRAFVARS (cport), rgbOpColor))
@@ -191,7 +193,7 @@ static inline GrafPtr ASSERT_NOT_CPORT(void *port)
(CGrafPort_p (port) \
? PIXMAP_BASEADDR_X (CPORT_PIXMAP ((CGrafPtr) port)) \
: PORT_BITS ((GrafPtr) port).baseAddr)
#define PORT_BASEADDR(port) (MR (PORT_BASEADDR_X (port)))
#define PORT_BASEADDR(port) (PPR (PORT_BASEADDR_X (port)))
/* return TRUE if the given bitmap has the same baseAddr, rowBytes and
bounds as thePort's bits (portBits or portPixMap) */
@@ -275,7 +277,7 @@ static inline GrafPtr ASSERT_NOT_CPORT(void *port)
compatibility */
#define PIXMAP_RESERVED_X(pixmap) (HxX (pixmap, pmReserved))
/* native byte order */
#define PIXMAP_BASEADDR(pixmap) (MR (PIXMAP_BASEADDR_X (pixmap)))
#define PIXMAP_BASEADDR(pixmap) (PPR (PIXMAP_BASEADDR_X (pixmap)))
#define PIXMAP_VERSION(pixmap) (Cx (PIXMAP_VERSION_X (pixmap)))
#define PIXMAP_PACK_TYPE(pixmap) (Cx (PIXMAP_PACK_TYPE_X (pixmap)))
@@ -287,7 +289,7 @@ static inline GrafPtr ASSERT_NOT_CPORT(void *port)
#define PIXMAP_CMP_COUNT(pixmap) (Cx (PIXMAP_CMP_COUNT_X (pixmap)))
#define PIXMAP_CMP_SIZE(pixmap) (Cx (PIXMAP_CMP_SIZE_X (pixmap)))
#define PIXMAP_PLANE_BYTES(pixmap) (Cx (PIXMAP_PLANE_BYTES_X (pixmap)))
#define PIXMAP_TABLE(pixmap) (MR (PIXMAP_TABLE_X (pixmap)))
#define PIXMAP_TABLE(pixmap) (PPR (PIXMAP_TABLE_X (pixmap)))
#define PIXMAP_TABLE_AS_OFFSET(pixmap) (CL ((int32) PIXMAP_TABLE_X (pixmap)))
#define WRAPPER_PIXMAP_FOR_COPY(wrapper_decl_name) \
@@ -323,21 +325,21 @@ enum pixpat_pattern_types
#define PIXPAT_XVALID_X(pixpat) (HxX (pixpat, patXValid))
#define PIXPAT_XMAP_X(pixpat) (HxX (pixpat, patXMap))
#else
#define PIXPAT_TYPE_X(pixpat) (MR ((pixpat)->p)->patType)
#define PIXPAT_MAP_X(pixpat) (MR ((pixpat)->p)->patMap)
#define PIXPAT_DATA_X(pixpat) (MR ((pixpat)->p)->patData)
#define PIXPAT_XDATA_X(pixpat) (MR ((pixpat)->p)->patXData)
#define PIXPAT_XVALID_X(pixpat) (MR ((pixpat)->p)->patXValid)
#define PIXPAT_XMAP_X(pixpat) (MR ((pixpat)->p)->patXMap)
#define PIXPAT_TYPE_X(pixpat) (PPR ((pixpat)->p)->patType)
#define PIXPAT_MAP_X(pixpat) (PPR ((pixpat)->p)->patMap)
#define PIXPAT_DATA_X(pixpat) (PPR ((pixpat)->p)->patData)
#define PIXPAT_XDATA_X(pixpat) (PPR ((pixpat)->p)->patXData)
#define PIXPAT_XVALID_X(pixpat) (PPR ((pixpat)->p)->patXValid)
#define PIXPAT_XMAP_X(pixpat) (PPR ((pixpat)->p)->patXMap)
#endif
/* native byte order */
#define PIXPAT_TYPE(pixpat) (CW (PIXPAT_TYPE_X (pixpat)))
#define PIXPAT_MAP(pixpat) (MR (PIXPAT_MAP_X (pixpat)))
#define PIXPAT_DATA(pixpat) (MR (PIXPAT_DATA_X (pixpat)))
#define PIXPAT_MAP(pixpat) (PPR (PIXPAT_MAP_X (pixpat)))
#define PIXPAT_DATA(pixpat) (PPR (PIXPAT_DATA_X (pixpat)))
#define PIXPAT_DATA_AS_OFFSET(pixpat) (CL ((int32) PIXPAT_DATA_X (pixpat)))
#define PIXPAT_XDATA(pixpat) (MR (PIXPAT_XDATA_X (pixpat)))
#define PIXPAT_XDATA(pixpat) (PPR (PIXPAT_XDATA_X (pixpat)))
#define PIXPAT_XVALID(pixpat) (CW (PIXPAT_XVALID_X (pixpat)))
#define PIXPAT_XMAP(pixpat) ((PixMapHandle) MR (PIXPAT_XMAP_X (pixpat)))
#define PIXPAT_XMAP(pixpat) ((PixMapHandle) PPR (PIXPAT_XMAP_X (pixpat)))
/* BitMap accessors
NOTE: these take `BitMap *'s, not BitMap handles */
@@ -358,7 +360,7 @@ enum pixpat_pattern_types
| BITMAP_FLAGS_X (bitmap)))
#define BITMAP_BASEADDR_X(bitmap) ((bitmap)->baseAddr)
#define BITMAP_BASEADDR(bitmap) (MR (BITMAP_BASEADDR_X (bitmap)))
#define BITMAP_BASEADDR(bitmap) (PPR (BITMAP_BASEADDR_X (bitmap)))
#define BITMAP_P(bitmap) (! ((bitmap)->rowBytes & PIXMAP_FLAG_BITS_X))
@@ -440,20 +442,20 @@ typedef BitMap blt_bitmap_t;
#define GD_REF_NUM(gdhandle) (Cx (GD_REF_NUM_X (gdhandle)))
#define GD_ID(gdhandle) (Cx (GD_ID_X (gdhandle)))
#define GD_TYPE(gdhandle) (Cx (GD_TYPE_X (gdhandle)))
#define GD_ITABLE(gdhandle) (MR (GD_ITABLE_X (gdhandle)))
#define GD_ITABLE(gdhandle) (PPR (GD_ITABLE_X (gdhandle)))
#define GD_RES_PREF(gdhandle) (Cx (GD_RES_PREF_X (gdhandle)))
#define GD_SEARCH_PROC(gdhandle) (MR (GD_SEARCH_PROC_X (gdhandle)))
#define GD_COMP_PROC(gdhandle) (MR (GD_COMP_PROC_X (gdhandle)))
#define GD_SEARCH_PROC(gdhandle) (PPR (GD_SEARCH_PROC_X (gdhandle)))
#define GD_COMP_PROC(gdhandle) (PPR (GD_COMP_PROC_X (gdhandle)))
#define GD_FLAGS(gdhandle) (Cx (GD_FLAGS_X (gdhandle)))
#define GD_PMAP(gdhandle) (MR (GD_PMAP_X (gdhandle)))
#define GD_PMAP(gdhandle) (PPR (GD_PMAP_X (gdhandle)))
#define GD_REF_CON(gdhandle) (Cx (GD_REF_CON_X (gdhandle)))
#define GD_NEXT_GD(gdhandle) (MR (GD_NEXT_GD_X (gdhandle)))
#define GD_NEXT_GD(gdhandle) (PPR (GD_NEXT_GD_X (gdhandle)))
#define GD_MODE(gdhandle) (Cx (GD_MODE_X (gdhandle)))
#define GD_CCBYTES(gdhandle) (CW (GD_CCBYTES_X (gdhandle)))
#define GD_CCDEPTH(gdhandle) (CW (GD_CCDEPTH_X (gdhandle)))
#define GD_CCXDATA(gdhandle) (MR (GD_CCXDATA_X (gdhandle)))
#define GD_CCXMASK(gdhandle) (MR (GD_CCXMASK_X (gdhandle)))
#define GD_CCXDATA(gdhandle) (PPR (GD_CCXDATA_X (gdhandle)))
#define GD_CCXMASK(gdhandle) (PPR (GD_CCXMASK_X (gdhandle)))
/* color icon accessors */
#define CICON_PMAP(cicon) (HxX (cicon, iconPMap))
@@ -462,7 +464,7 @@ typedef BitMap blt_bitmap_t;
#define CICON_MASK_DATA(cicon) (HxX (cicon, iconMaskData))
#define CICON_DATA_X(cicon) (HxX (cicon, iconData))
#define CICON_DATA(cicon) (MR (CICON_DATA_X (cicon)))
#define CICON_DATA(cicon) (PPR (CICON_DATA_X (cicon)))
#define CICON_P(icon) \
({ \
@@ -499,10 +501,10 @@ typedef BitMap blt_bitmap_t;
#define PALETTE_SEEDS_X(palette) (HxX (palette, pmSeeds))
#define PALETTE_ENTRIES(palette) (CW (PALETTE_ENTRIES_X (palette)))
#define PALETTE_WINDOW(palette) (MR (PALETTE_WINDOW_X (palette)))
#define PALETTE_WINDOW(palette) (PPR (PALETTE_WINDOW_X (palette)))
#define PALETTE_PRIVATE(palette) (CW (PALETTE_PRIVATE_X (palette)))
#define PALETTE_DEVICES(palette) (MR (PALETTE_DEVICES_X (palette)))
#define PALETTE_SEEDS(palette) (MR (PALETTE_SEEDS_X (palette)))
#define PALETTE_DEVICES(palette) (PPR (PALETTE_DEVICES_X (palette)))
#define PALETTE_SEEDS(palette) (PPR (PALETTE_SEEDS_X (palette)))
#define PALETTE_UPDATE_FLAG_BITS_X (CWC (0xE000))
#define PALETTE_UPDATE_FLAG_BITS (0xE000)
@@ -525,11 +527,11 @@ typedef BitMap blt_bitmap_t;
#define CCRSR_ID_X(ccrsr) (HxX (ccrsr, crsrID))
#define CCRSR_TYPE(ccrsr) (CW (CCRSR_TYPE_X (ccrsr)))
#define CCRSR_MAP(ccrsr) (MR (CCRSR_MAP_X (ccrsr)))
#define CCRSR_DATA(ccrsr) (MR (CCRSR_DATA_X (ccrsr)))
#define CCRSR_XDATA(ccrsr) (MR (CCRSR_XDATA_X (ccrsr)))
#define CCRSR_MAP(ccrsr) (PPR (CCRSR_MAP_X (ccrsr)))
#define CCRSR_DATA(ccrsr) (PPR (CCRSR_DATA_X (ccrsr)))
#define CCRSR_XDATA(ccrsr) (PPR (CCRSR_XDATA_X (ccrsr)))
#define CCRSR_XVALID(ccrsr) (CW (CCRSR_XVALID_X (ccrsr)))
#define CCRSR_XHANDLE(ccrsr) (MR (CCRSR_XHANDLE_X (ccrsr)))
#define CCRSR_XHANDLE(ccrsr) (PPR (CCRSR_XHANDLE_X (ccrsr)))
#define CCRSR_XTABLE(ccrsr) (CL (CCRSR_XTABLE_X (ccrsr)))
#define CCRSR_ID(ccrsr) (CL (CCRSR_ID_X (ccrsr)))
@@ -537,7 +539,7 @@ extern void cursor_reset_current_cursor (void);
#define IMV_XFER_MODE_P(mode) ((mode) >= blend && (mode) <= adMin)
#define active_screen_addr_p(bitmap) \
((bitmap)->baseAddr == PIXMAP_BASEADDR_X (GD_PMAP (MR (MainDevice))))
((bitmap)->baseAddr == PIXMAP_BASEADDR_X (GD_PMAP (PPR (MainDevice))))
/* gd flags */
#define gdDevType 0
@@ -730,7 +732,7 @@ extern void canonical_from_bogo_color (uint32 index,
RGBColor *rgb_out);
#define AVERAGE_COLOR(c1, c2, ratio, out) \
(average_color (MR (TheGDevice), (c1), (c2), (ratio), (out)))
(average_color (PPR (TheGDevice), (c1), (c2), (ratio), (out)))
extern Handle ROMlib_copy_handle (Handle);
@@ -744,7 +746,7 @@ extern Handle ROMlib_copy_handle (Handle);
thePortX = thePort_saveX; } while (0)
#define THEGDEVICE_SAVE_EXCURSION(TheGDevice_new, body) \
do { GDHandle TheGDevice_save = MR (TheGDevice); \
do { GDHandle TheGDevice_save = PPR (TheGDevice); \
SetGDevice (TheGDevice_new); \
body \
SetGDevice (TheGDevice_save); } while (0)

View File

@@ -46,7 +46,7 @@ extern AuxCtlHandle default_aux_ctl;
#define CTL_MIN(ctl) (CW (CTL_MIN_X (ctl)))
#define CTL_MAX(ctl) (CW (CTL_MAX_X (ctl)))
#define CTL_DEFPROC(ctl) (MR (CTL_DEFPROC_X (ctl)))
#define CTL_DATA(ctl) ((RgnHandle) MR (CTL_DATA_X (ctl)))
#define CTL_DATA(ctl) ((RgnHandle) PPR (CTL_DATA_X (ctl)))
#define CTL_ACTION(ctl) (MR (CTL_ACTION_X (ctl)))
#define CTL_ACTION_AS_LONG(ctl) (CL ((LONGINT) CTL_ACTION_X (ctl)))
#define CTL_REF_CON(ctl) (CL (CTL_REF_CON_X (ctl)))
@@ -92,7 +92,7 @@ extern LONGINT ROMlib_ctlcall (ControlHandle c, INTEGER i, LONGINT l);
struct PACKED popup_data
{
MenuHandle menu PACKED_P;
PACKED_MEMBER(MenuHandle, menu);
int16 menu_id;
/* private fields */
@@ -102,8 +102,8 @@ struct PACKED popup_data
typedef struct popup_data popup_data_t;
typedef popup_data_t *popup_data_ptr;
typedef struct { popup_data_ptr p PACKED_P; } hidden_popup_data_ptr;
typedef hidden_popup_data_ptr *popup_data_handle;
MAKE_HIDDEN(popup_data_ptr);
typedef HIDDEN_popup_data_ptr *popup_data_handle;
typedef struct PACKED {
Rect _tlimit;

View File

@@ -4,7 +4,7 @@
typedef struct PACKED
{
int16 count;
Handle h PACKED_P;
PACKED_MEMBER(Handle, h);
Rect r;
uint8 type;
uint8 len;

View File

@@ -10,9 +10,9 @@
typedef struct PACKED
{
Ptr buffer PACKED_P;
ProcPtr proc PACKED_P;
Ptr data PACKED_P;
PACKED_MEMBER(Ptr, buffer);
PACKED_MEMBER(ProcPtr, proc);
PACKED_MEMBER(Ptr, data);
} adbop_t;
typedef struct PACKED comm_toolbox_dispatch_args
@@ -24,31 +24,33 @@ typedef struct PACKED comm_toolbox_dispatch_args
struct PACKED
{
int16 n_items;
DialogPtr dp PACKED_P;
PACKED_MEMBER(DialogPtr, dp);
} shorten_args;
struct PACKED
{
DITLMethod method;
Handle new_items_h PACKED_P;
DialogPtr dp PACKED_P;
PACKED_MEMBER(Handle, new_items_h);
PACKED_MEMBER(DialogPtr, dp);
} append_args;
struct PACKED
{
DialogPtr dp PACKED_P;
PACKED_MEMBER(DialogPtr, dp);
} count_args;
struct PACKED
{
QElemPtr qp PACKED_P;
PACKED_MEMBER(QElemPtr, qp);
} crm_args;
} args;
} comm_toolbox_dispatch_args_t;
typedef void *voidptr;
typedef struct PACKED
{
void *startPtr PACKED_P;
void *limitPtr PACKED_P;
PACKED_MEMBER(voidptr, startPtr);
PACKED_MEMBER(voidptr, limitPtr);
short cMoreMasters;
void *pGrowZone PACKED_P;
PACKED_MEMBER(voidptr, pGrowZone);
} initzonehiddenargs_t;

View File

@@ -75,8 +75,8 @@ typedef struct PACKED {
LONGINT fcleof; /* LONGINT fcbEOF */
LONGINT fcPLen;
LONGINT fcbCrPs;
VCB *fcvptr PACKED_P; /* VCB *fcbVPtr */
Ptr fcbBfAdr PACKED_P;
PACKED_MEMBER(VCB, *fcvptr); /* VCB *fcbVPtr */
PACKED_MEMBER(Ptr, fcbBfAdr);
INTEGER fcbFlPos;
LONGINT fcbClmpSize;
LONGINT fcfd; /* instead of: LONGINT fcbBTCBPtr PACKED; */

View File

@@ -17,15 +17,15 @@ typedef struct PACKED {
} widentry_t;
typedef WidthTable *WPtr;
typedef struct { WPtr p PACKED_P; } HIDDEN_WPtr;
MAKE_HIDDEN(WPtr);
typedef HIDDEN_WPtr *WHandle;
typedef FamRec *FPtr;
typedef struct { FPtr p PACKED_P; } HIDDEN_FPtr;
MAKE_HIDDEN(FPtr);
typedef HIDDEN_FPtr *FHandle;
typedef WHandle *WHandlePtr;
typedef struct { WHandlePtr p PACKED_P; } HIDDEN_WHandlePtr;
MAKE_HIDDEN(WHandlePtr);
typedef HIDDEN_WHandlePtr *WHandleHandle;
#define FONTRESID(font, size) (((font) << 7) | (size))

View File

@@ -76,7 +76,7 @@ typedef struct PACKED {
LONGINT drCTFlSize;
xtntrec drCTExtRec;
} volumeinfo, *volumeinfoPtr;
typedef struct { volumeinfoPtr p PACKED_P; } HIDDEN_volumeinfoPtr;
MAKE_HIDDEN(volumeinfoPtr);
typedef HIDDEN_volumeinfoPtr *volumeinfoHandle;
#define VOLUMEINFOBLOCKNO 2
@@ -176,6 +176,8 @@ typedef compretval (*compfp)(void *first, void *second);
#define FLOCKEDBIT (1<<5)
#define DIRTYBIT (1<<7)
typedef HVCB *HVCBPtr;
typedef struct PACKED {
LONGINT fcbFlNum;
Byte fcbMdRByt;
@@ -184,8 +186,8 @@ typedef struct PACKED {
LONGINT fcbEOF;
LONGINT fcbPLen;
LONGINT fcbCrPs;
HVCB *fcbVPtr PACKED_P;
Ptr fcbBfAdr PACKED_P;
PACKED_MEMBER(HVCBPtr, fcbVPtr);
PACKED_MEMBER(Ptr, fcbBfAdr);
unsigned short fcbFlPos;
LONGINT fcbClmpSize;
LONGINT fcbBTCBPtr;
@@ -251,10 +253,12 @@ typedef enum { regular = 1, directory = 2, thread = 4 } filekind;
#define PBRETURN(pb, x) return (((ParmBlkPtr) (pb))->ioParam.ioResult = CW(x), (x))
typedef struct _cacheentry *cacheentry_ptr;
typedef struct PACKED _cacheentry {
struct _cacheentry *flink PACKED_P;
struct _cacheentry *blink PACKED_P;
HVCB *vptr PACKED_P;
PACKED_MEMBER(cacheentry_ptr, flink);
PACKED_MEMBER(cacheentry_ptr, blink);
PACKED_MEMBER(HVCBPtr, vptr);
LONGINT fileno;
uint16 refnum;
ULONGINT physblock;
@@ -269,8 +273,8 @@ typedef struct PACKED _cacheentry {
#define CACHEFREE (1 << 5)
typedef struct PACKED {
cacheentry *flink PACKED_P;
cacheentry *blink PACKED_P;
PACKED_MEMBER(cacheentry_ptr, flink);
PACKED_MEMBER(cacheentry_ptr, blink);
unsigned short nitems;
uint16 flags;
} cachehead;
@@ -304,7 +308,7 @@ typedef struct {
} btparam;
typedef struct PACKED { /* from MPW equates */
HVCB *vcbp PACKED_P;
PACKED_MEMBER(HVCBPtr, vcbp);
LONGINT dirid;
LONGINT cathint; /* ??? */
LONGINT procid;

View File

@@ -11,14 +11,14 @@
#include "rsys/pstuff.h"
typedef struct PACKED {
Handle itmhand PACKED_P;
PACKED_MEMBER(Handle, itmhand);
Rect itmr;
unsigned char itmtype;
unsigned char itmlen;
} itmstr;
typedef itmstr *itmp;
typedef struct { itmp p PACKED_P; } HIDDEN_itmp;
MAKE_HIDDEN(itmp);
typedef HIDDEN_itmp *itmh;
#define DIALOG_RES_HAS_POSITION_P(dlogh) \
@@ -59,7 +59,7 @@ typedef struct PACKED {
} altstr;
typedef altstr *altp;
typedef struct { altp p PACKED_P; } HIDDEN_altp;
MAKE_HIDDEN(altp);
typedef HIDDEN_altp *alth;
typedef struct PACKED
@@ -75,7 +75,7 @@ typedef struct PACKED
char dlglen;
} dlogstr;
typedef dlogstr *dlogp;
typedef struct { dlogp p PACKED_P; } HIDDEN_dlogp;
MAKE_HIDDEN(dlogp);
typedef HIDDEN_dlogp *dlogh;
typedef struct PACKED item_style_info

View File

@@ -63,7 +63,8 @@ typedef struct PACKED
dead_key_rec_t dead_key_recs[0]; /* VARIABLE LENGTH */
} kchr_str, *kchr_ptr_t;
typedef struct { kchr_ptr_t p PACKED_P; } HIDDEN_kchr_ptr, *kchr_hand;
MAKE_HIDDEN(kchr_ptr_t);
typedef HIDDEN_kchr_ptr_t *kchr_hand;
#define KCHR_VERSION_X(p) ((p)->version)
#define KCHR_MODIFIER_TABLE_X(p) ((p)->modifier_table)

View File

@@ -36,14 +36,6 @@
# define PACKED __attribute__((packed))
#endif
#if !defined (PACKED_P)
#if !defined (__alpha)
#define PACKED_P PACKED
#else
#define PACKED_P :32 PACKED
#endif
#endif
#if !defined (U)
# define U(c) ((uint8) (c))
#endif

View File

@@ -73,7 +73,7 @@ extern LONGINT ROMlib_menuhelper( MenuHandle mh, Rect *saver, LONGINT where,
#define MLMAX 16
typedef struct PACKED {
MenuHandle muhandle PACKED_P;
PACKED_MEMBER(MenuHandle, muhandle);
INTEGER muleft;
} muelem;
@@ -122,7 +122,7 @@ typedef struct PACKED menu_list
} menu_list;
typedef menu_list *menu_list_ptr;
typedef struct { menu_list_ptr p PACKED_P; } HIDDEN_menu_list_ptr;
MAKE_HIDDEN(menu_list_ptr);
typedef HIDDEN_menu_list_ptr *menu_list_handle;
typedef struct PACKED {
@@ -133,7 +133,7 @@ typedef struct PACKED {
} menulist;
typedef menulist *menulistp;
typedef struct { menulistp p PACKED_P; } HIDDEN_menulistp;
MAKE_HIDDEN(menulistp);
typedef HIDDEN_menulistp *mlhandle;
/* Menu Color Entry accessors */
@@ -159,7 +159,7 @@ typedef HIDDEN_menulistp *mlhandle;
typedef struct PACKED { /* from MPW Private.a */
INTEGER lastMBSave; /* offset to top most menu saved */
Handle mbCustomStorage PACKED_P; /* for custom jobs (i.e. we don't use) */
PACKED_MEMBER(Handle, mbCustomStorage); /* for custom jobs (i.e. we don't use) */
Rect mbItemRect; /* currently chosen menu */
Byte mbMenuDelay; /* MenuDelay from param ram */
Byte mbMenuDrag; /* MenuDrag from param ram */
@@ -168,15 +168,15 @@ typedef struct PACKED { /* from MPW Private.a */
} mbdfheader;
typedef mbdfheader *mbdfheaderptr;
typedef struct { mbdfheaderptr p PACKED_P; } HIDDEN_mbdfheaderptr;
MAKE_HIDDEN(mbdfheaderptr);
typedef HIDDEN_mbdfheaderptr *mbdfheaderhand;
typedef struct PACKED {
Rect mbRectSave; /* where it is on screen */
Handle mbBitsSave PACKED_P; /* where the bits are */
PACKED_MEMBER(Handle, mbBitsSave); /* where the bits are */
INTEGER mbMenuDir; /* what direction the menu was placed */
INTEGER mbMLOffset; /* 6 byte offset into MenuList */
MenuHandle mbMLHandle PACKED_P; /* the handle from MenuList */
PACKED_MEMBER(MenuHandle, mbMLHandle); /* the handle from MenuList */
INTEGER mbTopScroll; /* copy of TopMenuItem */
INTEGER mbBotScroll; /* copy of AtMenuBottom */
LONGINT mbReserved; /* i dunno */

View File

@@ -194,11 +194,13 @@ typedef struct
zone_info_t;
typedef Zone *ZonePtr;
typedef struct PACKED {
Zone *sp PACKED_P;
Ptr lp PACKED_P;
PACKED_MEMBER(ZonePtr, sp);
PACKED_MEMBER(Ptr, lp);
INTEGER mm;
ProcPtr gz PACKED_P;
PACKED_MEMBER(ProcPtr, gz);
} pblock_t;
extern void ROMlib_sledgehammer_zone (THz zone, boolean_t print_p,

View File

@@ -33,14 +33,16 @@ typedef struct {
short h;
} comPoint;
typedef char *char_ptr;
typedef struct PACKED {
char *baseAddr PACKED_P;
PACKED_MEMBER(char_ptr, baseAddr);
short rowBytes;
comRect bounds;
} comBitMap;
typedef struct PACKED {
char *baseAddr PACKED_P;
PACKED_MEMBER(char_ptr, baseAddr);
short rowBytes;
comRect bounds;
short pmVersion;
@@ -84,7 +86,7 @@ typedef enum {
} comverb_t;
typedef char *comPtr;
typedef struct { comPtr p PACKED_P; } HIDDEN_comPtr;
MAKE_HIDDEN(comPtr);
typedef HIDDEN_comPtr *comHandle;
typedef LONGINT comFixed;
@@ -95,8 +97,8 @@ typedef struct PACKED {
short device;
comBitMap portBits;
comRect portRect;
comRgnHandle visRgn PACKED_P;
comRgnHandle clipRgn PACKED_P;
PACKED_MEMBER(comRgnHandle, visRgn);
PACKED_MEMBER(comRgnHandle, clipRgn);
comPattern bkPat;
comPattern fillPat;
comPoint pnLoc;
@@ -114,10 +116,10 @@ typedef struct PACKED {
LONGINT bkColor;
short colrBit;
short patStretch;
comHandle picSave PACKED_P;
comHandle rgnSave PACKED_P;
comHandle polySave PACKED_P;
comPtr grafProcs PACKED_P;
PACKED_MEMBER(comHandle, picSave);
PACKED_MEMBER(comHandle, rgnSave);
PACKED_MEMBER(comHandle, polySave);
PACKED_MEMBER(comPtr, grafProcs);
} comGrafPort, *comGrafPtr;
extern void NeXTPrArc(LONGINT verb, comRect *r, LONGINT starta, LONGINT arca,

View File

@@ -54,10 +54,10 @@
*/
typedef struct PACKED {
PicHandle pichandle PACKED_P; /* 0x00 - 0x03 */
PACKED_MEMBER(PicHandle, pichandle); /* 0x00 - 0x03 */
LONGINT picsize; /* 0x04 - 0x07 */
LONGINT pichowfar; /* 0x08 - 0x0B */
RgnHandle picclip PACKED_P; /* 0x0C - 0x0F */
PACKED_MEMBER(RgnHandle, picclip); /* 0x0C - 0x0F */
Pattern picbkpat; /* 0x10 - 0x17 */
INTEGER picfont; /* 0x18 - 0x19 */
Style picface; /* 0x1A */
@@ -235,7 +235,7 @@ extern void ROMlib_drawingverbrectovalpicupdate( GrafVerb v, Rect *rp,
#define OP_Header 0x0C00
typedef piccache *piccacheptr;
typedef struct { piccacheptr p PACKED_P; } HIDDEN_piccacheptr;
MAKE_HIDDEN(piccacheptr);
typedef HIDDEN_piccacheptr *piccachehand;
extern PicHandle ROMlib_OpenPicture_helper (const Rect *pf,

View File

@@ -146,7 +146,7 @@ TTxtPicRec, *TTxtPicPtr;
#define TEXTPIC_ANGLE_FIXED_X(h) (HxX (h, tAngleFixed))
#define TEXTPIC_ANGLE_FIXED(h) (CL (TEXTPIC_ANGLE_FIXED_X (h)))
typedef struct { TTxtPicPtr p PACKED_P; } HIDDEN_TTxtPicPtr;
MAKE_HIDDEN(TTxtPicPtr);
typedef HIDDEN_TTxtPicPtr *TTxtPicHdl;
enum
@@ -177,7 +177,7 @@ TCenterRec, *TCenterRecPtr;
#define TEXTCENTER_X_X(h) (HxX (h, x))
#define TEXTCENTER_X(h) (CL (TEXTCENTER_X_X (h)))
typedef struct { TCenterRecPtr p PACKED_P; } HIDDEN_TCenterRecPtr;
MAKE_HIDDEN(TCenterRecPtr);
typedef HIDDEN_TCenterRecPtr *TCenterRecHdl;
extern char *ROMlib_document_paper_sizes;

View File

@@ -29,7 +29,7 @@ typedef struct PACKED {
typedef struct PACKED {
reshead rh;
Handle nextmap PACKED_P;
PACKED_MEMBER(Handle, nextmap);
INTEGER resfn;
INTEGER resfatr;
INTEGER typoff;
@@ -37,7 +37,7 @@ typedef struct PACKED {
} resmap;
typedef resmap *resmapptr;
typedef struct { resmapptr p PACKED_P; } HIDDEN_resmapptr;
MAKE_HIDDEN(resmapptr);
typedef HIDDEN_resmapptr *resmaphand;
#define NAMEOFF(map) Hx(map, namoff)
@@ -63,7 +63,7 @@ typedef struct PACKED {
INTEGER noff;
Byte ratr;
Byte doff[3];
Handle rhand PACKED_P;
PACKED_MEMBER(Handle, rhand);
} resref;
typedef struct PACKED { /* empty resource template */

View File

@@ -9,7 +9,7 @@
*/
typedef struct PACKED{
Ptr p PACKED_P;
PACKED_MEMBER(Ptr, p);
INTEGER i;
} sersetbuf_t;

View File

@@ -17,7 +17,7 @@ typedef struct PACKED
_tpixpat */
INTEGER _tinpat;
Pattern _tpat;
PixPatHandle _tpixpat PACKED_P;
PACKED_MEMBER(PixPatHandle, _tpixpat);
Point _tploc;
Point _tpsize;
INTEGER _tpmode;
@@ -25,7 +25,7 @@ typedef struct PACKED
PenState _tpstate;
#endif
GrafPtr _tport PACKED_P;
PACKED_MEMBER(GrafPtr, _tport);
INTEGER _tpvis;
@@ -34,7 +34,7 @@ typedef struct PACKED
INTEGER _tsize;
Style _tstyle;
Byte filler;
RgnHandle _tsaveclip PACKED_P;
PACKED_MEMBER(RgnHandle, _tsaveclip);
/* ### is tesave mac-visible state? how is color and whatnot really
stored? */
@@ -126,17 +126,17 @@ extern int16 ROMlib_call_TEDoText (TEPtr tp, int16 first, int16 last,
int16 what);
typedef struct PACKED { /* from MPW: ToolEqu.a */
ProcPtr EOLHook PACKED_P;
ProcPtr DRAWHook PACKED_P;
ProcPtr WIDTHHook PACKED_P;
ProcPtr HITTESTHook PACKED_P;
PACKED_MEMBER(ProcPtr, EOLHook);
PACKED_MEMBER(ProcPtr, DRAWHook);
PACKED_MEMBER(ProcPtr, WIDTHHook);
PACKED_MEMBER(ProcPtr, HITTESTHook);
LONGINT flags;
} tehidden;
typedef tehidden *tehiddenp;
typedef struct { tehiddenp p PACKED_P; } HIDDEN_tehiddenp;
MAKE_HIDDEN(tehiddenp);
typedef HIDDEN_tehiddenp *tehiddenh;
typedef struct { tehiddenh p PACKED_P; } HIDDEN_tehiddenh;
MAKE_HIDDEN(tehiddenh);
#define TEAUTOVIEWBIT 1 /* found by dumping the handle
before and after calling TEAutoView */

View File

@@ -45,7 +45,7 @@ extern BOOLEAN ROMlib_dirtyvariant;
typedef pascal LONGINT (*windprocp)(INTEGER var, WindowPtr wind, INTEGER mess,
LONGINT param);
typedef struct { windprocp p PACKED_P; } HIDDEN_windprocp;
MAKE_HIDDEN(windprocp);
extern void CALLDRAGHOOK (void);
extern void WINDCALLDESKHOOK (void);

View File

@@ -52,8 +52,9 @@ typedef struct _xdata_t
} xdata_t;
typedef struct { xdata_t *p PACKED_P; } *xdata_handle_t;
typedef xdata_t *xdata_ptr;
MAKE_HIDDEN(xdata_ptr);
typedef HIDDEN_xdata_ptr *xdata_handle_t;
extern boolean_t update_xdata_if_needed (xdata_handle_t x, PixPat *pixpat,
PixMapPtr dest);

View File

@@ -729,7 +729,7 @@ P1 (PUBLIC pascal trap, void, DeleteMenu, int16, mid)
}
typedef mbartype *mbarptr;
typedef struct { mbarptr p PACKED_P; } HIDDEN_mbarptr;
MAKE_HIDDEN(mbarptr);
typedef HIDDEN_mbarptr *mbarhandle;
P1(PUBLIC pascal trap, Handle, GetNewMBar, INTEGER, mbarid)

View File

@@ -13,7 +13,7 @@
#if !defined(_MKVOL_INTERNAL_H_)
#define _MKVOL_INTERNAL_H_
#if defined(__alpha) || defined(i386) || defined(__BORLANDC__)
#if defined(__alpha) || defined(i386) || defined(__BORLANDC__) || defined (__x86_64__)
#define LITTLEENDIAN
#elif defined(mc68000) || defined (powerpc) || defined (__ppc__)
#else

View File

@@ -19,11 +19,8 @@ char ROMlib_rcsid_process[] =
#define declare_handle_type(type_prefix) \
typedef type_prefix ## _t *type_prefix ## _ptr; \
typedef struct \
{ \
type_prefix ## _ptr p PACKED_P; \
} hidden_ ## type_prefix ## _ptr; \
typedef hidden_ ## type_prefix ## _ptr *type_prefix ## _handle
MAKE_HIDDEN(type_prefix ## _ptr); \
typedef HIDDEN_ ## type_prefix ## _ptr *type_prefix ## _handle
declare_handle_type (size_resource);

View File

@@ -415,7 +415,7 @@ P0 (PUBLIC pascal trap, PixPatHandle, NewPixPat)
}
typedef struct pixpat_res *pixpat_res_ptr;
typedef struct { pixpat_res_ptr p PACKED_P; } HIDDEN_pixpat_res_ptr;
MAKE_HIDDEN(pixpat_res_ptr);
typedef HIDDEN_pixpat_res_ptr *pixpat_res_handle;

View File

@@ -219,7 +219,7 @@ P2(PUBLIC pascal trap, void, ShieldCursor, Rect *, rp, Point, p) /* IMI-474 */
wewantpointermovements(-1);
}
typedef struct { ccrsr_res_ptr p PACKED_P; } HIDDEN_ccrsr_res_ptr;
MAKE_HIDDEN(ccrsr_res_ptr);
typedef HIDDEN_ccrsr_res_ptr *ccrsr_res_handle;
P1 (PUBLIC pascal trap, CCrsrHandle, GetCCursor, INTEGER, crsr_id)

View File

@@ -16,7 +16,7 @@ char ROMlib_rcsid_resGettype[] =
#include "rsys/mman.h"
typedef ResType *restypeptr;
typedef struct { restypeptr p PACKED_P; } HIDDEN_restypeptr;
MAKE_HIDDEN(restypeptr);
PRIVATE HIDDEN_restypeptr *ar = 0;

View File

@@ -329,7 +329,7 @@ A2(PUBLIC, void, ROMlib_wr, resmaphand, map, resref *, rr) /* INTERNAL */
}
typedef res_sorttype_t *sorttypeptr;
typedef struct { sorttypeptr p PACKED_P; } HIDDEN_sorttypeptr;
MAKE_HIDDEN(sorttypeptr);
typedef HIDDEN_sorttypeptr *sorttypehand;
A3(PRIVATE, void, fillst, sorttypehand, st, resref *, rp, resref *, rep)

View File

@@ -64,7 +64,7 @@ char ROMlib_rcsid_segment[] =
#endif /* defined(MSDOS) */
typedef finderinfo *finderinfoptr;
typedef struct { finderinfoptr p PACKED_P; } HIDDEN_finderinfoptr;
MAKE_HIDDEN(finderinfoptr);
typedef HIDDEN_finderinfoptr *finderinfohand;
PUBLIC int ROMlib_cacheheuristic = FALSE;

View File

@@ -210,7 +210,7 @@ hidden, *hiddenp;
#endif
typedef struct { hiddenp p PACKED_P; } HIDDEN_hiddenp;
MAKE_HIDDEN(hiddenp);
typedef HIDDEN_hiddenp *hiddenh;

View File

@@ -547,7 +547,7 @@ P8 (PUBLIC pascal trap, CWindowPtr, NewCWindow,
}
typedef windrestype *windrestypeptr;
typedef struct { windrestypeptr p PACKED_P; } HIDDEN_windrestypeptr;
MAKE_HIDDEN(windrestypeptr);
typedef HIDDEN_windrestypeptr *windrestypehand;
P3 (PUBLIC pascal trap, CWindowPtr, GetNewCWindow,
@@ -621,7 +621,7 @@ P1(PUBLIC pascal trap, void, CloseWindow, WindowPtr, w)
{
WindowPeek wptmp;
GrafPtr savgp;
typedef struct { AuxWinHandle p PACKED_P; } HIDDEN_AuxWinHandle;
MAKE_HIDDEN(AuxWinHandle);
AuxWinHandle saveauxh;
HIDDEN_AuxWinHandle *auxhp;
ControlHandle c, t;