ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/libev/ev.h
(Generate patch)

Comparing libev/ev.h (file contents):
Revision 1.201 by root, Wed Jan 22 01:50:42 2020 UTC vs.
Revision 1.204 by root, Fri Jan 24 13:21:28 2020 UTC

1/* 1/*
2 * libev native API header 2 * libev native API header
3 * 3 *
4 * Copyright (c) 2007-2019 Marc Alexander Lehmann <libev@schmorp.de> 4 * Copyright (c) 2007-2020 Marc Alexander Lehmann <libev@schmorp.de>
5 * All rights reserved. 5 * All rights reserved.
6 * 6 *
7 * Redistribution and use in source and binary forms, with or without modifica- 7 * Redistribution and use in source and binary forms, with or without modifica-
8 * tion, are permitted provided that the following conditions are met: 8 * tion, are permitted provided that the following conditions are met:
9 * 9 *
213#endif 213#endif
214 214
215/*****************************************************************************/ 215/*****************************************************************************/
216 216
217#define EV_VERSION_MAJOR 4 217#define EV_VERSION_MAJOR 4
218#define EV_VERSION_MINOR 31 218#define EV_VERSION_MINOR 32
219 219
220/* eventmask, revents, events... */ 220/* eventmask, revents, events... */
221enum { 221enum {
222 EV_UNDEF = (int)0xFFFFFFFF, /* guaranteed to be invalid */ 222 EV_UNDEF = (int)0xFFFFFFFF, /* guaranteed to be invalid */
223 EV_NONE = 0x00, /* no events */ 223 EV_NONE = 0x00, /* no events */
692 ((ev_watcher *)(void *)(ev))->pending = 0; \ 692 ((ev_watcher *)(void *)(ev))->pending = 0; \
693 ev_set_priority ((ev), 0); \ 693 ev_set_priority ((ev), 0); \
694 ev_set_cb ((ev), cb_); \ 694 ev_set_cb ((ev), cb_); \
695} while (0) 695} while (0)
696 696
697#define ev_io_modify(ev,events_) do { (ev)->events = (ev)->events & EV__IOMASK | (events_); } while (0) 697#define ev_io_modify(ev,events_) do { (ev)->events = (ev)->events & EV__IOFDSET | (events_); } while (0)
698#define ev_io_set(ev,fd_,events_) do { (ev)->fd = (fd_); (ev)->events = (events_) | EV__IOFDSET; } while (0) 698#define ev_io_set(ev,fd_,events_) do { (ev)->fd = (fd_); (ev)->events = (events_) | EV__IOFDSET; } while (0)
699#define ev_timer_set(ev,after_,repeat_) do { ((ev_watcher_time *)(ev))->at = (after_); (ev)->repeat = (repeat_); } while (0) 699#define ev_timer_set(ev,after_,repeat_) do { ((ev_watcher_time *)(ev))->at = (after_); (ev)->repeat = (repeat_); } while (0)
700#define ev_periodic_set(ev,ofs_,ival_,rcb_) do { (ev)->offset = (ofs_); (ev)->interval = (ival_); (ev)->reschedule_cb = (rcb_); } while (0) 700#define ev_periodic_set(ev,ofs_,ival_,rcb_) do { (ev)->offset = (ofs_); (ev)->interval = (ival_); (ev)->reschedule_cb = (rcb_); } while (0)
701#define ev_signal_set(ev,signum_) do { (ev)->signum = (signum_); } while (0) 701#define ev_signal_set(ev,signum_) do { (ev)->signum = (signum_); } while (0)
702#define ev_child_set(ev,pid_,trace_) do { (ev)->pid = (pid_); (ev)->flags = !!(trace_); } while (0) 702#define ev_child_set(ev,pid_,trace_) do { (ev)->pid = (pid_); (ev)->flags = !!(trace_); } while (0)
738#endif 738#endif
739 739
740#define ev_periodic_at(ev) (+((ev_watcher_time *)(ev))->at) 740#define ev_periodic_at(ev) (+((ev_watcher_time *)(ev))->at)
741 741
742#ifndef ev_set_cb 742#ifndef ev_set_cb
743/* memmove is used here to avoid strict aliasing violations, and hopefully is optimized out by any reasonable compiler */
743# define ev_set_cb(ev,cb_) (ev_cb_ (ev) = (cb_), memmove (&((ev_watcher *)(ev))->cb, &ev_cb_ (ev), sizeof (ev_cb_ (ev)))) 744# define ev_set_cb(ev,cb_) (ev_cb_ (ev) = (cb_), memmove (&((ev_watcher *)(ev))->cb, &ev_cb_ (ev), sizeof (ev_cb_ (ev))))
744#endif 745#endif
745 746
746/* stopping (enabling, adding) a watcher does nothing if it is already running */ 747/* stopping (enabling, adding) a watcher does nothing if it is already running */
747/* stopping (disabling, deleting) a watcher does nothing unless it's already running */ 748/* stopping (disabling, deleting) a watcher does nothing unless it's already running */

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines