X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?a=blobdiff_plain;f=linux_module%2Flinux-exts.h;fp=linux_module%2Flinux-exts.h;h=72e480004862eb96b3db1ddf1fd9b229c125194b;hb=fed3449f4fd2fab7f27a17e0970e954bd2d69abc;hp=0000000000000000000000000000000000000000;hpb=5614cff13837121053e831419f569b4e6e32bcd9;p=palacios.git diff --git a/linux_module/linux-exts.h b/linux_module/linux-exts.h new file mode 100644 index 0000000..72e4800 --- /dev/null +++ b/linux_module/linux-exts.h @@ -0,0 +1,29 @@ +#include "palacios.h" + + +int add_mod_cmd(struct v3_guest * guest, unsigned int cmd, + int (*handler)(struct v3_guest * guest, + unsigned int cmd, unsigned long arg)); + + +struct linux_ext { + char * name; + int (*init)( void ); + int (*deinit)( void ); + int (*guest_init)(struct v3_guest * guest, void ** priv_data); + int (*guest_deinit)(struct v3_guest * guest, void * priv_data); +} __attribute__((packed)); + + + +int init_lnx_extensions( void ); +int deinit_lnx_extensions( void ); + + + +#define register_extension(ext) \ + static struct linux_ext * _lnx_ext \ + __attribute__((used)) \ + __attribute__((unused, __section("_lnx_exts"), \ + aligned(sizeof(void *)))) \ + = ext;