/* svdrivers/svdriverbase.h	    */
/* Version    : 3.5		    */
/* Date       : 28.03.1994	    */
/* Written by : Andreas R. Kleinert */

/* SVDriver-Version V1.x+ */

#ifndef SVDRIVERS_SVDRIVERBASE_H
#define SVDRIVERS_SVDRIVERBASE_H

#ifndef SVDRIVERS_SVDRIVERS_H
#include <svdrivers/svdrivers.h>
#endif /* SVDRIVERS_SVDRIVERS_H */

#ifndef EXEC_LISTS
#include <exec/lists.h>
#endif /* EXEC_LISTS */

#ifndef EXEC_LIBRARIES
#include <exec/libraries.h>
#endif /* EXEC_LIBRARIES_H */

   /* An external Driver-Library (for graphics cards, framebuffers, etc.)
      for the superview.library is called a "svdriver".
      Each svdriver has to contain a "SVD_DriverNode" structure (as follows)
      in its Library-Header, which later will be READ and MODIFIED by
      the superview.library.
   */

   /* The Construction of a svdriver :
      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

      The Library Base
      ----------------

      Version MUST be 1 yet, Revision can be set freely

      (see structure described below)


      The Function Table
      ------------------

      (see <pragmas/svdrivers.h> or Reference_ENG.doc)

   */

/* *************************************************** */
/* *						     * */
/* * Library base Definition for svdrivers	     * */
/* *						     * */
/* *************************************************** */

struct SVDriverBase
{
 struct Library 	svb_LibNode;	   /* Exec LibNode		     */
 struct SVD_DriverNode *svb_SVDriver;	   /* POINTER to initialized	     */
					   /* SVD_DriverNode		     */
					   /* Define it somewhere else,      */
					   /* then initialize this pointer.  */

 ULONG			svd_Reserved [32]; /* Reserved for future expansion. */
					   /* Always NULL yet (Version 1).   */

 /*
   Private data of the svdriver, not to be accessed
   by superview.library, may follow.
 */
};

#endif /* SVDRIVERS_SVDRIVERBASE_H */
