summaryrefslogtreecommitdiff
path: root/src/libmowgli/module/module.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/libmowgli/module/module.h')
-rw-r--r--src/libmowgli/module/module.h17
1 files changed, 14 insertions, 3 deletions
diff --git a/src/libmowgli/module/module.h b/src/libmowgli/module/module.h
index 54fc344..214fd51 100644
--- a/src/libmowgli/module/module.h
+++ b/src/libmowgli/module/module.h
@@ -2,7 +2,7 @@
* libmowgli: A collection of useful routines for programming.
* module.h: Loadable modules.
*
- * Copyright (c) 2007 William Pitcock <nenolod -at- sacredspiral.co.uk>
+ * Copyright (c) 2007, 2014 William Pitcock <william@dereferenced.org>
*
* Permission to use, copy, modify, and/or distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
@@ -24,10 +24,21 @@
#ifndef __MOWGLI_MODULE_H__
#define __MOWGLI_MODULE_H__
-typedef void * mowgli_module_t;
+typedef void *mowgli_module_t;
extern mowgli_module_t mowgli_module_open(const char *path);
-extern void * mowgli_module_symbol(mowgli_module_t module, const char *symbol);
+extern void *mowgli_module_symbol(mowgli_module_t module, const char *symbol);
extern void mowgli_module_close(mowgli_module_t module);
+typedef void mowgli_interface_t;
+
+typedef struct {
+ const char *id;
+ uint32_t abirev;
+} mowgli_interface_base_t;
+
+extern void mowgli_interface_register(mowgli_interface_t *iface);
+extern void mowgli_interface_unregister(mowgli_interface_t *iface);
+extern mowgli_interface_t *mowgli_interface_get(const char *id, uint32_t abirev);
+
#endif