Idź do dokumentacji tego pliku.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);