… | |
… | |
27 | #include <ev.h> |
27 | #include <ev.h> |
28 | |
28 | |
29 | struct EVAPI { |
29 | struct EVAPI { |
30 | I32 ver; |
30 | I32 ver; |
31 | I32 rev; |
31 | I32 rev; |
32 | #define EV_API_VERSION 1 |
32 | #define EV_API_VERSION 2 |
33 | #define EV_API_REVISION 1 |
33 | #define EV_API_REVISION 0 |
34 | |
34 | |
35 | /* perl fh or fd int to fd */ |
35 | /* perl fh or fd int to fd */ |
36 | int (*sv_fileno) (SV *fh); |
36 | int (*sv_fileno) (SV *fh); |
37 | /* signal number/name to signum */ |
37 | /* signal number/name to signum */ |
38 | int (*sv_signum) (SV *fh); |
38 | int (*sv_signum) (SV *fh); |
… | |
… | |
41 | ev_tstamp (*now)(void); |
41 | ev_tstamp (*now)(void); |
42 | ev_tstamp (*(time))(void); |
42 | ev_tstamp (*(time))(void); |
43 | unsigned int (*backend)(void); |
43 | unsigned int (*backend)(void); |
44 | void (*loop)(int flags); |
44 | void (*loop)(int flags); |
45 | void (*unloop)(int how); |
45 | void (*unloop)(int how); |
|
|
46 | void (*ref)(void); |
|
|
47 | void (*unref)(void); |
46 | void (*once)(int fd, int events, ev_tstamp timeout, void (*cb)(int revents, void *arg), void *arg); |
48 | void (*once)(int fd, int events, ev_tstamp timeout, void (*cb)(int revents, void *arg), void *arg); |
47 | void (*io_start)(struct ev_io *); |
49 | void (*io_start)(struct ev_io *); |
48 | void (*io_stop) (struct ev_io *); |
50 | void (*io_stop) (struct ev_io *); |
49 | void (*timer_start)(struct ev_timer *); |
51 | void (*timer_start)(struct ev_timer *); |
50 | void (*timer_stop) (struct ev_timer *); |
52 | void (*timer_stop) (struct ev_timer *); |
… | |
… | |
59 | void (*prepare_stop) (struct ev_prepare *); |
61 | void (*prepare_stop) (struct ev_prepare *); |
60 | void (*check_start)(struct ev_check *); |
62 | void (*check_start)(struct ev_check *); |
61 | void (*check_stop) (struct ev_check *); |
63 | void (*check_stop) (struct ev_check *); |
62 | void (*child_start)(struct ev_child *); |
64 | void (*child_start)(struct ev_child *); |
63 | void (*child_stop) (struct ev_child *); |
65 | void (*child_stop) (struct ev_child *); |
64 | void (*ref)(void); |
66 | void *embed_start_dummy; |
65 | void (*unref)(void); |
67 | void *embed_stop_dummy; |
|
|
68 | void *embed_sweep_dummy; |
|
|
69 | void (*stat_start)(struct ev_stat *); |
|
|
70 | void (*stat_stop) (struct ev_stat *); |
|
|
71 | void (*stat_stat) (struct ev_stat *); |
66 | }; |
72 | }; |
67 | |
73 | |
68 | #if !EV_PROTOTYPES |
74 | #if !EV_PROTOTYPES |
69 | # define sv_fileno(sv) GEVAPI->sv_fileno (sv) |
75 | # define sv_fileno(sv) GEVAPI->sv_fileno (sv) |
70 | # define sv_signum(sv) GEVAPI->sv_signum (sv) |
76 | # define sv_signum(sv) GEVAPI->sv_signum (sv) |
… | |
… | |
89 | # define ev_prepare_stop(w) GEVAPI->prepare_stop (w) |
95 | # define ev_prepare_stop(w) GEVAPI->prepare_stop (w) |
90 | # define ev_check_start(w) GEVAPI->check_start (w) |
96 | # define ev_check_start(w) GEVAPI->check_start (w) |
91 | # define ev_check_stop(w) GEVAPI->check_stop (w) |
97 | # define ev_check_stop(w) GEVAPI->check_stop (w) |
92 | # define ev_child_start(w) GEVAPI->child_start (w) |
98 | # define ev_child_start(w) GEVAPI->child_start (w) |
93 | # define ev_child_stop(w) GEVAPI->child_stop (w) |
99 | # define ev_child_stop(w) GEVAPI->child_stop (w) |
|
|
100 | # define ev_stat_start(w) GEVAPI->stat_start (w) |
|
|
101 | # define ev_stat_stop(w) GEVAPI->stat_stop (w) |
|
|
102 | # define ev_stat_stat(w) GEVAPI->stat_stat (w) |
94 | # define ev_ref() GEVAPI->ref () |
103 | # define ev_ref() GEVAPI->ref () |
95 | # define ev_unref() GEVAPI->unref () |
104 | # define ev_unref() GEVAPI->unref () |
96 | #endif |
105 | #endif |
97 | |
106 | |
98 | static struct EVAPI *GEVAPI; |
107 | static struct EVAPI *GEVAPI; |