-/* $Id: genkgi_visual.c,v 1.6 2000/01/07 08:34:44 jtaylor Exp $
+/* $Id: genkgi_visual.c,v 1.7 2000/06/11 20:11:55 jtaylor Exp $
******************************************************************************
genkgi_visual.c: visual handling for the generic KGI helper
return 0;
}
-int GGIdlinit(ggi_visual *vis, const char *args, void *argptr)
+static int GGIdlinit(ggi_visual *vis, struct ggi_dlhandle *dlh,
+ const char *args, void *argptr, uint32 *dlret)
{
struct genkgi_priv_mesa *priv;
char libname[256], libargs[256];
#endif
GGIMESADPRINT_CORE("display-fbdev-kgicon-mesa: GGIdlinit finished\n");
+ *dlret = GGI_DL_OPDRAW;
return 0;
}
-int GGIdlcleanup(ggi_visual *vis)
+int MesaGGIdl_fbdev(int func, void **funcptr)
{
- return 0;
+ switch (func) {
+ case GGIFUNC_open:
+ *funcptr = GGIopen;
+ return 0;
+ case GGIFUNC_exit:
+ case GGIFUNC_close:
+ *funcptr = NULL;
+ return 0;
+ default:
+ *funcptr = NULL;
+ }
+ return GGI_ENOTFOUND;
}
#include <ggi/internal/ggidlinit.h>
return 0;
}
-int GGIdlinit(ggi_visual_t vis,const char *version,void *argptr)
+static int GGIopen(ggi_visual_t vis,struct ggi_dlhandle *dlh,
+ const char *args,void *argptr, uint32 *dlret)
{
LIBGGI_MESAEXT(vis)->setup_driver=GGIsetup_driver;
+ *dlret = GGI_DL_OPDRAW;
return 0;
}
-int GGIdlcleanup(ggi_visual_t vis)
+int DLOPENFUNC(int func, void **funcptr)
{
- return 0;
+ switch (func) {
+ case GGIFUNC_open:
+ *funcptr = GGIopen;
+ return 0;
+ case GGIFUNC_exit:
+ case GGIFUNC_close:
+ *funcptr = NULL;
+ return 0;
+ default:
+ *funcptr = NULL;
+ }
+ return GGI_ENOTFOUND;
}
+
#define FB_TYPE uint16
#define FB_BITS 15
+#define DLOPENFUNC MesaGGIdl_linear_15
#include "linear.c"
#define FB_TYPE uint16
#define FB_BITS 16
+#define DLOPENFUNC MesaGGIdl_linear_16
#include "linear.c"
#define FB_TYPE uint32
#define FB_BITS 24
+#define DLOPENFUNC MesaGGIdl_linear_24
#include "linear.c"
#define FB_TYPE uint32
#define FB_BITS 32
+#define DLOPENFUNC MesaGGIdl_linear_32
#include "linear.c"
#define FB_TYPE uint8
#define FB_BITS 8
+#define DLOPENFUNC MesaGGIdl_linear_8
#include "linear.c"
return GGItriangle_flat;
}
-int GGIdlinit(ggi_visual_t vis, const char *version, void *argptr)
+static int GGIopen(ggi_visual_t vis, struct ggi_dlhandle *dlh,
+ const char *args, void *argptr, uint32 *dlret)
{
LIBGGI_MESAEXT(vis)->update_state = GGIupdate_state;
LIBGGI_MESAEXT(vis)->setup_driver = GGIsetup_driver;
+ *dlret = GGI_DL_OPDRAW;
return 0;
}
-int GGIdlcleanup(ggi_visual_t vis)
+int MesaGGIdl_stubs(int func, void **funcptr)
{
- return 0;
+ switch (func) {
+ case GGIFUNC_open:
+ *funcptr = GGIopen;
+ return 0;
+ case GGIFUNC_exit:
+ case GGIFUNC_close:
+ *funcptr = NULL;
+ return 0;
+ default:
+ *funcptr = NULL;
+ }
+ return GGI_ENOTFOUND;
}
-/* $Id: fbdev_visual.c,v 1.5 2000/01/07 08:34:44 jtaylor Exp $
+/* $Id: fbdev_visual.c,v 1.6 2000/06/11 20:11:55 jtaylor Exp $
******************************************************************************
display-fbdev-mesa: visual handling
#include <fcntl.h>
#include <sys/stat.h>
+#define GGI_SYMNAME_PREFIX "MesaGGIdl_"
+
#ifdef HAVE_SYS_VT_H
#include <sys/vt.h>
#else
continue;
}
- lib = ggiExtensionLoadDL(vis, fname, args, NULL);
+ lib = ggiExtensionLoadDL(vis, fname, args, NULL, GGI_SYMNAME_PREFIX);
}
}
break;
/* No special implementation for this sublib */
continue;
}
- lib = ggiExtensionLoadDL(vis, fname, args, NULL);
+ lib = ggiExtensionLoadDL(vis, fname, args, NULL, GGI_SYMNAME_PREFIX);
}
}
break;
#include <ggi/internal/internal.h>
#include "ggimesa.h"
+#define GGI_SYMNAME_PREFIX "MesaGGIdl_"
+
extern ggi_extid ggiMesaID;
ggifunc_setmode GGIMesa_setmode;