X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?a=blobdiff_plain;f=linux_module%2Flinux-exts.h;h=a6b7301e2c7f4cb2d83f7253dc06a9bc259e0f8d;hb=2cce318d177c66ebf6eb5bb2cd156df46f8aca85;hp=c5aeea1ac2f3fecd1b686d4e24b8109c4ab99b24;hpb=8792ea4ea6462c30e016293fbbd2659b3befdad4;p=palacios.git diff --git a/linux_module/linux-exts.h b/linux_module/linux-exts.h index c5aeea1..a6b7301 100644 --- a/linux_module/linux-exts.h +++ b/linux_module/linux-exts.h @@ -1,9 +1,7 @@ #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 { @@ -26,6 +24,22 @@ void * get_vm_ext_data(struct v3_guest * guest, char * ext_name); +struct global_ctrl { + unsigned int cmd; + + int (*handler)(unsigned int cmd, unsigned long arg); + + struct rb_node tree_node; +}; + +int add_global_ctrl(unsigned int cmd, + int (*handler)(unsigned int cmd, unsigned long arg)); + +struct global_ctrl * get_global_ctrl(unsigned int cmd); + +int remove_global_ctrl(unsigned int cmd); + + #define register_extension(ext) \ static struct linux_ext * _lnx_ext \ __attribute__((used)) \