#include "swMemory.h" #define COPYRIGHT "Copyright 1989 by Davide P. Cervone, all rights reserved" #define PORTNAME "sWindowsPort" /* * DEFAULTSIGNAL is the signal to wait for when a screen can not be closed * immediately, and no other signal could be allocated. */ #define DEFAULTSIGNAL SIGBREAKF_CTRL_F #define NOWINDOW ((struct Window *)-1L) #define ONE 1L /* * swHandlerInfo * * 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 swHandlerInfo { struct MsgPort swPort; /* port used to store this info */ short MajVers,MinVers, LoadVers; /* version of handler and loader */ long Segment; /* SegList loaded by loader */ struct IntuitionBase **IntuitionBase; struct SysBase **SysBase; SLISTITEM *ScreenList; /* the linked list of screens */ WLISTITEM *WindowList; /* the linked list of windows */ /* * These are the routines replaced by SetFunction() */ void (*aOpenWindow)(); void (*aCloseWindow)(); void (*aCloseScreen)(); /* * These are the values returned by SetFunction, and are used * to replace the original routines when sWindows exits */ long *OldOpenWindow; long *OldCloseWindow; long *OldCloseScreen; }; /* * Macros to make using swHandlerInfo easy */ #define VAR(x) (*(swHandlerData->x)) #define var(x) (swHandlerData->x)