|
|
1.1 ! root 1: ! 2: #ifndef __PLUGINS_H ! 3: #define __PLUGINS_H ! 4: ! 5: #include "asm/types.h" ! 6: ! 7: struct io_ops { ! 8: u8 (*inb)(u32 reg); ! 9: u16 (*inw)(u32 reg); ! 10: u32 (*inl)(u32 reg); ! 11: void (*outb)(u32 reg, u8 val); ! 12: void (*outw)(u32 reg, u16 val); ! 13: void (*outl)(u32 reg, u32 val); ! 14: }; ! 15: typedef struct io_ops io_ops_t; ! 16: ! 17: extern unsigned char *plugindir; ! 18: ! 19: #define PLUGIN_DEPENDENCIES(x...) const char *plugin_deps[]={ x, NULL }; ! 20: #define PLUGIN_AUTHOR(author) const char *plugin_author=author; ! 21: #define PLUGIN_LICENSE(license) const char *plugin_license=license; ! 22: #define PLUGIN_DESCRIPTION(desc) const char *plugin_description=desc; ! 23: ! 24: int register_iorange(const char *name, io_ops_t *ops, ! 25: unsigned int rstart, unsigned int rend); ! 26: io_ops_t *find_iorange(u32 reg); ! 27: ! 28: int load_plugin(const char *plugin_name); ! 29: int is_loaded(const char *plugin_name); ! 30: ! 31: #endif
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.