… | |
… | |
14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
15 | GNU General Public License for more details. |
15 | GNU General Public License for more details. |
16 | |
16 | |
17 | You should have received a copy of the GNU General Public License |
17 | You should have received a copy of the GNU General Public License |
18 | along with gvpe; if not, write to the Free Software |
18 | along with gvpe; if not, write to the Free Software |
19 | Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
19 | Foundation, Inc. 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA |
20 | */ |
20 | */ |
21 | |
21 | |
22 | #ifndef IOM_H__ |
22 | #ifndef IOM_H__ |
23 | #define IOM_H__ |
23 | #define IOM_H__ |
24 | |
24 | |
… | |
… | |
46 | # define IOM_SIG 0 |
46 | # define IOM_SIG 0 |
47 | #endif |
47 | #endif |
48 | |
48 | |
49 | typedef double tstamp; |
49 | typedef double tstamp; |
50 | extern tstamp NOW; |
50 | extern tstamp NOW; |
|
|
51 | |
|
|
52 | // TSTAMP_MAX must still fit into a positive struct timeval |
|
|
53 | #define TSTAMP_MAX (double)(1UL<<31) |
51 | |
54 | |
52 | struct watcher; |
55 | struct watcher; |
53 | #if IOM_IO |
56 | #if IOM_IO |
54 | struct io_watcher; |
57 | struct io_watcher; |
55 | #endif |
58 | #endif |
… | |
… | |
121 | |
124 | |
122 | watcher () : active (0) { } |
125 | watcher () : active (0) { } |
123 | }; |
126 | }; |
124 | |
127 | |
125 | #if IOM_IO |
128 | #if IOM_IO |
126 | enum { EVENT_READ = 1, EVENT_WRITE = 2 }; |
129 | enum { EVENT_UNDEF = -1, EVENT_NONE = 0, EVENT_READ = 1, EVENT_WRITE = 2 }; |
127 | |
130 | |
128 | struct io_watcher : watcher, callback2<void, io_watcher &, short> { |
131 | struct io_watcher : watcher, callback2<void, io_watcher &, short> { |
129 | int fd; |
132 | int fd; |
130 | short events; |
133 | short events; |
131 | |
134 | |