home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Club Amiga de Montreal - CAM
/
CAM_CD_1.iso
/
files
/
532.lha
/
NLDaemon
/
Source
/
NL-Setup.c
< prev
next >
Wrap
C/C++ Source or Header
|
1991-07-09
|
3KB
|
113 lines
/*
* 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);
}