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

Comparing libev/ev.h (file contents):
Revision 1.43 by root, Fri Nov 9 17:10:57 2007 UTC vs.
Revision 1.44 by root, Fri Nov 9 20:55:09 2007 UTC

85#endif 85#endif
86 86
87#define EV_VERSION_MAJOR 1 87#define EV_VERSION_MAJOR 1
88#define EV_VERSION_MINOR 1 88#define EV_VERSION_MINOR 1
89 89
90#ifndef EV_CB_DECLARE
91# define EV_CB_DECLARE(type) void (*cb)(EV_P_ struct type *w, int revents)
92#endif
93#ifndef EV_CB_INVOKE
94# define EV_CB_INVOKE(watcher,revents) (watcher)->cb (EV_A_ (watcher), (revents))
95#endif
96
90/* 97/*
91 * struct member types: 98 * struct member types:
92 * private: you can look at them, but not change them, and they might not mean anything to you. 99 * private: you can look at them, but not change them, and they might not mean anything to you.
93 * ro: can be read anytime, but only changed when the watcher isn't active 100 * ro: can be read anytime, but only changed when the watcher isn't active
94 * rw: can be read and modified anytime, even when the watcher is active 101 * rw: can be read and modified anytime, even when the watcher is active
98#define EV_WATCHER(type) \ 105#define EV_WATCHER(type) \
99 int active; /* private */ \ 106 int active; /* private */ \
100 int pending; /* private */ \ 107 int pending; /* private */ \
101 int priority; /* private */ \ 108 int priority; /* private */ \
102 EV_COMMON; /* rw */ \ 109 EV_COMMON; /* rw */ \
103 void (*cb)(EV_P_ struct type *, int revents) /* private */ /* gets invoked with an eventmask */ 110 EV_CB_DECLARE (type) /* private */
104 111
105#define EV_WATCHER_LIST(type) \ 112#define EV_WATCHER_LIST(type) \
106 EV_WATCHER (type); \ 113 EV_WATCHER (type); \
107 struct ev_watcher_list *next /* private */ 114 struct ev_watcher_list *next /* private */
108 115
109#define EV_WATCHER_TIME(type) \ 116#define EV_WATCHER_TIME(type) \
110 EV_WATCHER (type); \ 117 EV_WATCHER (type); \
111 ev_tstamp at /* private */ 118 ev_tstamp at /* private */
112 119
113/* base class, nothing to see here unless you subclass */ 120/* base class, nothing to see here unless you subclass */
114struct ev_watcher { 121struct ev_watcher
122{
115 EV_WATCHER (ev_watcher); 123 EV_WATCHER (ev_watcher);
116}; 124};
117 125
118/* base class, nothing to see here unless you subclass */ 126/* base class, nothing to see here unless you subclass */
119struct ev_watcher_list { 127struct ev_watcher_list
128{
120 EV_WATCHER_LIST (ev_watcher_list); 129 EV_WATCHER_LIST (ev_watcher_list);
121}; 130};
122 131
123/* base class, nothing to see here unless you subclass */ 132/* base class, nothing to see here unless you subclass */
124struct ev_watcher_time { 133struct ev_watcher_time
134{
125 EV_WATCHER_TIME (ev_watcher_time); 135 EV_WATCHER_TIME (ev_watcher_time);
126}; 136};
127 137
128/* invoked after a specific time, repeatable (based on monotonic clock) */ 138/* invoked after a specific time, repeatable (based on monotonic clock) */
129/* revent EV_TIMEOUT */ 139/* revent EV_TIMEOUT */

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines