summaryrefslogtreecommitdiff
path: root/src/libmowgli/module/module.h
diff options
context:
space:
mode:
authorAndrew Shadura <andrew@shadura.me>2014-06-17 11:57:32 +0200
committerAndrew Shadura <andrew@shadura.me>2014-06-17 11:57:32 +0200
commitd1e7e16224c881ee3093658fe4cbf14db244cec7 (patch)
tree8850e7a55b4b1589a7a08e2364e9c12dad31962c /src/libmowgli/module/module.h
parent246fb6b81eef837f1269073255373bf0a3d5c27a (diff)
Update to the latest upstream snapshot
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