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

Comparing libev/ev.h (file contents):
Revision 1.72 by root, Tue Nov 27 10:59:11 2007 UTC vs.
Revision 1.76 by root, Thu Nov 29 17:28:13 2007 UTC

216 int rstatus; /* rw, holds the exit status, use the macros from sys/wait.h */ 216 int rstatus; /* rw, holds the exit status, use the macros from sys/wait.h */
217} ev_child; 217} ev_child;
218 218
219#if EV_STAT_ENABLE 219#if EV_STAT_ENABLE
220/* st_nlink = 0 means missing file or other error */ 220/* st_nlink = 0 means missing file or other error */
221#ifdef _WIN32 221# ifdef _WIN32
222typedef struct _stati64 ev_statdata; 222typedef struct _stati64 ev_statdata;
223#else 223# else
224typedef struct stat ev_statdata; 224typedef struct stat ev_statdata;
225#endif 225# endif
226 226
227/* invoked each time the stat data changes for a given path */ 227/* invoked each time the stat data changes for a given path */
228/* revent EV_STAT */ 228/* revent EV_STAT */
229typedef struct ev_stat 229typedef struct ev_stat
230{ 230{
231 EV_WATCHER (ev_stat) 231 EV_WATCHER_LIST (ev_stat)
232 232
233 ev_timer timer; /* private */ 233 ev_timer timer; /* private */
234 ev_tstamp interval; /* ro */ 234 ev_tstamp interval; /* ro */
235 const char *path; /* ro */ 235 const char *path; /* ro */
236 ev_statdata prev; /* ro */ 236 ev_statdata prev; /* ro */
237 ev_statdata attr; /* ro */ 237 ev_statdata attr; /* ro */
238
239 int wd; /* wd for inotify, fd for kqueue */
238} ev_stat; 240} ev_stat;
239#endif 241#endif
240 242
241/* invoked when the nothing else needs to be done, keeps the process from blocking */ 243/* invoked when the nothing else needs to be done, keeps the process from blocking */
242/* revent EV_IDLE */ 244/* revent EV_IDLE */
308/* bits for ev_default_loop and ev_loop_new */ 310/* bits for ev_default_loop and ev_loop_new */
309/* the default */ 311/* the default */
310#define EVFLAG_AUTO 0x00000000UL /* not quite a mask */ 312#define EVFLAG_AUTO 0x00000000UL /* not quite a mask */
311/* flag bits */ 313/* flag bits */
312#define EVFLAG_NOENV 0x01000000UL /* do NOT consult environment */ 314#define EVFLAG_NOENV 0x01000000UL /* do NOT consult environment */
315#define EVFLAG_FORKCHECK 0x02000000UL /* check for a fork in each iteration */
313/* method bits to be ored together */ 316/* method bits to be ored together */
314#define EVBACKEND_SELECT 0x00000001UL /* about anywhere */ 317#define EVBACKEND_SELECT 0x00000001UL /* about anywhere */
315#define EVBACKEND_POLL 0x00000002UL /* !win */ 318#define EVBACKEND_POLL 0x00000002UL /* !win */
316#define EVBACKEND_EPOLL 0x00000004UL /* linux */ 319#define EVBACKEND_EPOLL 0x00000004UL /* linux */
317#define EVBACKEND_KQUEUE 0x00000008UL /* bsd */ 320#define EVBACKEND_KQUEUE 0x00000008UL /* bsd */
422#define ev_io_set(ev,fd_,events_) do { (ev)->fd = (fd_); (ev)->events = (events_); } while (0) 425#define ev_io_set(ev,fd_,events_) do { (ev)->fd = (fd_); (ev)->events = (events_); } while (0)
423#define ev_timer_set(ev,after_,repeat_) do { (ev)->at = (after_); (ev)->repeat = (repeat_); } while (0) 426#define ev_timer_set(ev,after_,repeat_) do { (ev)->at = (after_); (ev)->repeat = (repeat_); } while (0)
424#define ev_periodic_set(ev,at_,ival_,res_) do { (ev)->at = (at_); (ev)->interval = (ival_); (ev)->reschedule_cb= (res_); } while (0) 427#define ev_periodic_set(ev,at_,ival_,res_) do { (ev)->at = (at_); (ev)->interval = (ival_); (ev)->reschedule_cb= (res_); } while (0)
425#define ev_signal_set(ev,signum_) do { (ev)->signum = (signum_); } while (0) 428#define ev_signal_set(ev,signum_) do { (ev)->signum = (signum_); } while (0)
426#define ev_child_set(ev,pid_) do { (ev)->pid = (pid_); } while (0) 429#define ev_child_set(ev,pid_) do { (ev)->pid = (pid_); } while (0)
427#define ev_stat_set(ev,path_,interval_) do { (ev)->path = (path_); (ev)->interval = (interval_); } while (0) 430#define ev_stat_set(ev,path_,interval_) do { (ev)->path = (path_); (ev)->interval = (interval_); (ev)->wd = -2; } while (0)
428#define ev_idle_set(ev) /* nop, yes, this is a serious in-joke */ 431#define ev_idle_set(ev) /* nop, yes, this is a serious in-joke */
429#define ev_prepare_set(ev) /* nop, yes, this is a serious in-joke */ 432#define ev_prepare_set(ev) /* nop, yes, this is a serious in-joke */
430#define ev_check_set(ev) /* nop, yes, this is a serious in-joke */ 433#define ev_check_set(ev) /* nop, yes, this is a serious in-joke */
431#define ev_embed_set(ev,loop_) do { (ev)->loop = (loop_); } while (0) 434#define ev_embed_set(ev,loop_) do { (ev)->loop = (loop_); } while (0)
432#define ev_fork_set(ev) /* nop, yes, this is a serious in-joke */ 435#define ev_fork_set(ev) /* nop, yes, this is a serious in-joke */

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines