home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Fresh Fish 8
/
FreshFishVol8-CD2.bin
/
bbs
/
gfx
/
superview-lib-9.12.lha
/
SuperView-Lib
/
Programmers
/
Example_SVDrivers
/
ECS
/
SD_RecogSubs.c
< prev
next >
Wrap
C/C++ Source or Header
|
1994-12-28
|
1KB
|
60 lines
/* SD_RecogSubs.c
- Functions for External Module Recognition and Binding -
(c) 1993-94 by Andreas R. Kleinert
Last changes : 28.12.1994
*/
#include "svdriver.h"
#include <exec/execbase.h>
void __saveds __stdargs SVLI_InitSVDList(void);
void __saveds __stdargs SVLI_InitSVDList(void)
{
struct SVD_DriverNode *svd_node = N;
SVDriverBase->svb_SVDriver = N;
if(FindName(&SysBase->LibList, "superview.library"))
{
struct SuperViewBase *SuperViewBase = (APTR) OpenLibrary("superview.library", 2);
if(SuperViewBase)
{
SVDriverBase->svb_SVDriver = (APTR) FindName((APTR) &SuperViewBase->svb_SVDriverList, "ECS.svdriver");
CloseLibrary((APTR) SuperViewBase);
}
}else
{
svd_node = AllocVec(sizeof(struct SVD_DriverNode), (MEMF_CLEAR|MEMF_PUBLIC));
if(!svd_node) return;
SVDriverBase->svb_SVDriver = svd_node;
((struct Node *)svd_node)->ln_Type = NT_UNKNOWN;
((struct Node *)svd_node)->ln_Pri = 1;
((struct Node *)svd_node)->ln_Name = svd_node->svd_FileName;
/* don't forget to initialized svd_node->ln_Name :
inside SVDrivers it's not NULL !!
*/
svd_node->svd_Version = SVD_VERSION;
svd_node->svd_Flags = SVDF_INTUITION;
strcpy(svd_node->svd_FileName, "ECS.svdriver");
svd_node->svd_MaxWidth = 0xFFFFFFFF;
svd_node->svd_MaxHeight = 0xFFFFFFFF;
svd_node->svd_MaxDepth = 0xFFFFFFFF;
strcpy(svd_node->svd_ID, "ECS ScreenDriver");
}
}