home *** CD-ROM | disk | FTP | other *** search
- /*
- * NL-Daemon A program to force old programs to use NL gadget imagery.
- *
- * Copyright 1989 by Davide P. Cervone.
- * You may use this code, provided this copyright notice is kept intact.
- */
-
- #include "NL-Handler.h"
-
-
- struct IntuitionBase *IntuitionBase = NULL;
- struct SysBase *SysBase;
-
-
- /*
- * These are the assembly code stubs that replace the Intuition Library
- * vectors. Thes stubs in turn call the C-language routines that actually
- * do the work.
- */
-
- extern void aOpenWindow();
- extern void aSetMenuStrip();
- extern void aOpenScreen();
-
- /*
- * These are used by the assembly stubs to call the original routines when
- * needed. They also are used to replace the Intution vectors when
- * NL-Daemon exits.
- */
-
- long OldOpenWindow;
- long OldSetMenuStrip;
- long OldOpenScreen;
-
- /*
- * This routine is used to retro-fit existing windows and screens.
- */
-
- extern void cOpenWindow();
- extern void cOpenScreen();
-
- /*
- * These are the structures that need to be passed to the loader
- * so that it can clean up after NL-Handler is removed
- */
-
- extern struct Image CloseImage;
- extern struct Image UpFrontImage;
- extern struct Image DownBackImage;
- extern struct Image SizeImage;
- extern struct Image ZoomImage;
-
- extern struct Image LR_CloseImage;
- extern struct Image LR_UpFrontImage;
- extern struct Image LR_DownBackImage;
- extern struct Image LR_SizeImage;
- extern struct Image LR_ZoomImage;
-
- static struct NL_HandlerInfo NL_HandlerData =
- {
- { /* the MsgPort is pre-setup */
- {NULL,NULL, NT_MSGPORT, 0, PORTNAME}, /* to include the name and */
- PA_IGNORE, 0, NULL, /* type so that it can just */
- {NULL,NULL,NULL, 0,0} /* be added to the port list */
- }, /* so it can be found later */
- MAJVERS,MINVERS, MINLOADVER,
- NULL,
- &IntuitionBase,
- &SysBase,
-
- &aOpenWindow,
- &aSetMenuStrip,
- &aOpenScreen,
- &OldOpenWindow,
- &OldSetMenuStrip,
- &OldOpenScreen,
-
- &cOpenWindow,
- &cOpenScreen,
-
- &CloseImage,
- &UpFrontImage,
- &DownBackImage,
- &SizeImage,
- &ZoomImage,
-
- &LR_CloseImage,
- &LR_UpFrontImage,
- &LR_DownBackImage,
- &LR_SizeImage,
- &LR_ZoomImage,
-
- 0,
- };
-
-
- /*
- * Setup()
- *
- * This routine MUST be linked into the NL-Handler executable
- * as the first routine, so that the loader can find it.
- * It should check the version number for compatibility with the loader,
- * and should return NULL for an error, or the pointer to the shared
- * data structure if everything is OK.
- */
-
- struct NL_HandlerInfo *Setup(version)
- int version;
- {
- if (version < MINLOADVER) return(NULL);
- return(&NL_HandlerData);
- }
-