diff options
author | Angelos Mouzakitis <a.mouzakitis@virtualopensystems.com> | 2023-10-10 14:33:42 +0000 |
---|---|---|
committer | Angelos Mouzakitis <a.mouzakitis@virtualopensystems.com> | 2023-10-10 14:33:42 +0000 |
commit | af1a266670d040d2f4083ff309d732d648afba2a (patch) | |
tree | 2fc46203448ddcc6f81546d379abfaeb323575e9 /roms/openbios/include/arch/unix/plugins.h | |
parent | e02cda008591317b1625707ff8e115a4841aa889 (diff) |
Change-Id: Iaf8d18082d3991dec7c0ebbea540f092188eb4ec
Diffstat (limited to 'roms/openbios/include/arch/unix/plugins.h')
-rw-r--r-- | roms/openbios/include/arch/unix/plugins.h | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/roms/openbios/include/arch/unix/plugins.h b/roms/openbios/include/arch/unix/plugins.h new file mode 100644 index 000000000..305b3da9b --- /dev/null +++ b/roms/openbios/include/arch/unix/plugins.h @@ -0,0 +1,31 @@ + +#ifndef __PLUGINS_H +#define __PLUGINS_H + +#include "asm/types.h" + +struct io_ops { + u8 (*inb)(u32 reg); + u16 (*inw)(u32 reg); + u32 (*inl)(u32 reg); + void (*outb)(u32 reg, u8 val); + void (*outw)(u32 reg, u16 val); + void (*outl)(u32 reg, u32 val); +}; +typedef struct io_ops io_ops_t; + +extern unsigned char *plugindir; + +#define PLUGIN_DEPENDENCIES(x...) const char *plugin_deps[]={ x, NULL }; +#define PLUGIN_AUTHOR(author) const char *plugin_author=author; +#define PLUGIN_LICENSE(license) const char *plugin_license=license; +#define PLUGIN_DESCRIPTION(desc) const char *plugin_description=desc; + +int register_iorange(const char *name, io_ops_t *ops, + unsigned int rstart, unsigned int rend); +io_ops_t *find_iorange(u32 reg); + +int load_plugin(const char *plugin_name); +int is_loaded(const char *plugin_name); + +#endif |