
 /* SP_RecogSubs.c
    - Functions for External Module Recognition and Binding -
    (c) 1993-94 by Andreas R. Kleinert
    Last changes : 09.10.1994
 */


#include "svoperator.h"

#include <exec/execbase.h>

void __saveds __stdargs SVLI_InitSVDList(void);

void __saveds __stdargs SVLI_InitSVDList(void)
{
 struct SVP_OperatorNode *svp_node = N;

 SVOperatorBase->svb_SVOperator = N;

 if(FindName(&SysBase->LibList, "superview.library"))
  {
   struct SuperViewBase *SuperViewBase = (APTR) OpenLibrary("superview.library", 2);

   if(SuperViewBase)
    {
     SVOperatorBase->svb_SVOperator = (APTR) FindName((APTR) &SuperViewBase->svb_SVOperatorList, "SVO.svobject");

     CloseLibrary((APTR) SuperViewBase);
    }
  }else
  {
   svp_node = AllocVec(sizeof(struct SVP_OperatorNode), (MEMF_CLEAR|MEMF_PUBLIC));

   if(!svp_node) return;

   SVOperatorBase->svb_SVOperator = svp_node;

   ((struct Node *)svp_node)->ln_Type = NT_UNKNOWN;
   ((struct Node *)svp_node)->ln_Pri  = 1;
   ((struct Node *)svp_node)->ln_Name = svp_node->svp_FileName;

   /* don't forget to initialized svp_node->ln_Name :
      inside SVOperators it's not NULL !!
    */

   svp_node->svp_Version = SVP_VERSION;
   svp_node->svp_Flags = N;

   strcpy(svp_node->svp_FileName, "256ToGray.svoperator");
   strcpy(svp_node->svp_Description, "Converts upto 256 Colors to GrayScales");
   strcpy(svp_node->svp_Author,      "(c) 1994 Andreas R. Kleinert");
  }
}
