ekg2
|
00001 #define NEED_PERL_H 00002 #define HAVE_CONFIG_H 00003 00004 #undef VERSION 00005 00006 #ifndef __FreeBSD__ 00007 #define __EXTENSIONS__ 00008 #endif 00009 00010 #include <ekg/scripts.h> 00011 00012 #include <ekg/debug.h> 00013 #include <ekg/dynstuff.h> 00014 #include <ekg/plugins.h> 00015 #include <ekg/sessions.h> 00016 #include <ekg/stuff.h> 00017 #include <ekg/userlist.h> 00018 #include <ekg/windows.h> 00019 #include <ekg/xmalloc.h> 00020 #include <ekg/vars.h> 00021 00022 #undef _ 00023 #include "../perl_ekg.h" 00024 00025 #ifdef bool 00026 #define HAS_BOOL 00027 #endif 00028 00029 #include <EXTERN.h> 00030 #include <perl.h> 00031 #include <XSUB.h> 00032 00033 #include "../perl_bless.h" 00034 00035 #define ekg2_boot(x) { \ 00036 extern void boot_Ekg2__##x(pTHX_ CV *cv); \ 00037 ekg2_callXS(boot_Ekg2__##x, cv, mark); \ 00038 } 00039 00040 typedef session_t *Ekg2__Session; 00041 typedef variable_t *Ekg2__Variable; 00042 typedef command_t *Ekg2__Command; 00043 typedef window_t *Ekg2__Window; 00044 typedef plugin_t *Ekg2__Plugin; 00045 typedef watch_t *Ekg2__Watch; 00046 00047 typedef struct timer *Ekg2__Timer; 00048 00049 typedef userlist_t *Ekg2__User; 00050 00051 typedef userlist_t *Ekg2__Userlist; 00052 00053 typedef session_param_t *Ekg2__Session__Param; 00054 typedef script_t *Ekg2__Script; 00055 00056 script_var_t *perl_variable_add(char *var, char *value, char *handler); 00057 void *perl_watch_add(int fd, int type, void *handler, void *data); 00058 void *perl_handler_bind(char *query_name, char *handler); 00059 void *perl_command_bind(char *command, char *params, char *poss, char *handler); 00060 void *perl_plugin_register(char *name, int type, void *formatinit); 00061 script_timer_t *perl_timer_bind(int freq, char *handler); 00062 int perl_timer_unbind(script_timer_t *stimer); 00063 void ekg2_callXS(void (*subaddr)(pTHX_ CV* cv), CV *cv, SV **mark); 00064 00065 void *Ekg2_ref_object(SV *o);