#define COPYRIGHT "Copyright 1989 by Davide P. Cervone, all rights reserved" #define PORTNAME "NL-Daemon-Port" #define STDBLOCKPEN 1 #define STDDETAILPEN 0 #define BLOCKPEN 2 #define DETAILPEN 3 #define PENCHANGED 0x80 /* * NL_HandlerInfo * * The data structure shared between the handler and the loader * the loader sets some of these variables on behalf of the handler, * in order to keep the handler as small as possible. The handler * passes information that the loader needs (like the pointers to * the routines for SetFunction) via this structure. */ struct NL_HandlerInfo { struct MsgPort NL_Port; /* port used to store this info */ short MajVers,MinVers, MinLoadVers; /* version of handler and loader */ long Segment; /* SegList loaded by loader */ struct IntuitionBase **IntuitionBase; struct SysBase **SysBase; /* * These are the routines replaced by SetFunction() and the values * returned by SetFunction, used to replace the original routines * when NL-Daemon exits. */ void (*aOpenWindow)(); void (*aSetMenuStrip)(); void (*aOpenScreen)(); long *OldOpenWindow; long *OldSetMenuStrip; long *OldOpenScreen; /* * These routines are called by the loader to retro-fit existing windows * and screens. */ void (*SetupWindow)(); void (*SetupScreen)(); /* * These are the structures used by NL-Handler */ struct Image *CloseImage; struct Image *UpFrontImage; struct Image *DownBackImage; struct Image *SizeImage; struct Image *ZoomImage; struct Image *LR_CloseImage; struct Image *LR_UpFrontImage; struct Image *LR_DownBackImage; struct Image *LR_SizeImage; struct Image *LR_ZoomImage; int Flags; #define INTUITION_CHANGED 1 }; /* * Macros to make using NL_HandlerInfo easy */ #define VAR(x) (*(NL_HandlerData->x)) #define var(x) (NL_HandlerData->x)