X-Git-Url: https://git.llucax.com/software/libev.git/blobdiff_plain/d41579a0646e8afb2d9f3923b93efae744e77cdd..c20764a666b81af46b955c75eef0f6b088c821b0:/event.h?ds=sidebyside diff --git a/event.h b/event.h index 731002f..4e988c6 100644 --- a/event.h +++ b/event.h @@ -28,28 +28,38 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -#ifndef _EVENT_H_ -#define _EVENT_H_ +#ifndef EVENT_H__ +#define EVENT_H__ + +#ifdef EV_H +# include EV_H +#else +# include +#endif #ifdef __cplusplus extern "C" { #endif -#include "ev.h" +struct event_base; struct event - { - struct ev_io io; +{ + /* libev watchers we map onto */ + union { + struct ev_io io; + struct ev_signal sig; + } iosig; struct ev_timer to; - struct ev_signal sig; + /* compatibility slots */ struct event_base *ev_base; - int ev_fd; - short ev_events; - int ev_pri; void (*ev_callback)(int, short, void *arg); void *ev_arg; + int ev_fd; + int ev_pri; int ev_res; + short ev_events; }; #define EV_PERSIST 0x10 @@ -100,15 +110,13 @@ int event_once (int fd, short events, void (*cb)(int, short, void *), void *arg, int event_add (struct event *ev, struct timeval *tv); int event_del (struct event *ev); -void event_active (struct event *ev, int fd, short events); +void event_active (struct event *ev, int res, short ncalls); /* ncalls is being ignored */ int event_pending (struct event *ev, short, struct timeval *tv); int event_priority_init (int npri); int event_priority_set (struct event *ev, int pri); -struct event_base; - int event_base_set (struct event_base *base, struct event *ev); int event_base_loop (struct event_base *base, int); int event_base_loopexit (struct event_base *base, struct timeval *tv); @@ -116,4 +124,13 @@ int event_base_dispatch (struct event_base *base); int event_base_once (struct event_base *base, int fd, short events, void (*cb)(int, short, void *), void *arg, struct timeval *tv); int event_base_priority_init (struct event_base *base, int fd); +#ifndef EV_STANDALONE +# include +#endif + +#ifdef __cplusplus +} +#endif + #endif +