home *** CD-ROM | disk | FTP | other *** search
-
- /* SV_RecogSubs.c
- - Functions for External Module Recognition and Binding -
- (c) 1993-94 by Andreas R. Kleinert
- Last changes : 05.06.1994
- */
-
-
- #include "svobject.h"
-
- #include <exec/execbase.h>
-
- void __saveds __stdargs SVLI_InitSVOList(void);
-
- void __saveds __stdargs SVLI_InitSVOList(void)
- {
- struct SVO_ObjectNode *svo_node = N;
-
- SVObjectBase->svb_SVObject = N;
-
- if(FindName(&SysBase->LibList, "superview.library"))
- {
- struct SuperViewBase *SuperViewBase = (APTR) OpenLibrary("superview.library", 2);
-
- if(SuperViewBase)
- {
- SVObjectBase->svb_SVObject = (APTR) FindName((APTR) &SuperViewBase->svb_SVObjectList, "SVO.svobject");
-
- CloseLibrary((APTR) SuperViewBase);
- }
- }else
- {
- svo_node = AllocVec(sizeof(struct SVO_ObjectNode), (MEMF_CLEAR|MEMF_PUBLIC));
-
- if(!svo_node) return;
-
- SVObjectBase->svb_SVObject = svo_node;
-
- ((struct Node *)svo_node)->ln_Type = NT_UNKNOWN;
- ((struct Node *)svo_node)->ln_Pri = -1;
- ((struct Node *)svo_node)->ln_Name = N;
-
- svo_node->svo_Version = SVO_VERSION;
- svo_node->svo_ObjectType = SVO_OBJECTTYPE_EXTERNAL;
-
- strcpy(svo_node->svo_FileName, "SVO.svobject");
-
- strcpy(svo_node->svo_TypeID, "SVO");
- svo_node->svo_TypeCode = N; /* set by superview.library */
-
- svo_node->svo_SubTypeNum = 1;
-
- strcpy(svo_node->svo_SubTypeID[0], "V1.0");
-
- svo_node->svo_SubTypeCode[0] = N; /* set by superview.library */
-
- svo_node->svo_Flags = SVO_FLAG_READS_TO_BUFFER | SVO_FLAG_READS_TO_SCREEN
- | SVO_FLAG_WRITES_FROM_BUFFER | SVO_FLAG_WRITES_FROM_SCREEN
- | SVO_FLAG_SVDRIVER;
- }
- }
-