1 /* $NetBSD: events.h,v 1.1.1.1 2009/06/23 10:08:59 tron Exp $ */ 2 3 #ifndef _EVENTS_H_INCLUDED_ 4 #define _EVENTS_H_INCLUDED_ 5 6 /*++ 7 /* NAME 8 /* events 3h 9 /* SUMMARY 10 /* event manager 11 /* SYNOPSIS 12 /* #include <events.h> 13 /* DESCRIPTION 14 /* .nf 15 16 /* 17 * System library. 18 */ 19 #include <time.h> 20 21 /* 22 * External interface. 23 */ 24 typedef void (*EVENT_NOTIFY_RDWR) (int, char *); 25 typedef void (*EVENT_NOTIFY_TIME) (int, char *); 26 27 extern time_t event_time(void); 28 extern void event_enable_read(int, EVENT_NOTIFY_RDWR, char *); 29 extern void event_enable_write(int, EVENT_NOTIFY_RDWR, char *); 30 extern void event_disable_readwrite(int); 31 extern time_t event_request_timer(EVENT_NOTIFY_TIME, char *, int); 32 extern int event_cancel_timer(EVENT_NOTIFY_TIME, char *); 33 extern void event_loop(int); 34 extern void event_drain(int); 35 36 /* 37 * Event codes. 38 */ 39 #define EVENT_READ (1<<0) /* read event */ 40 #define EVENT_WRITE (1<<1) /* write event */ 41 #define EVENT_XCPT (1<<2) /* exception */ 42 #define EVENT_TIME (1<<3) /* timer event */ 43 44 #define EVENT_ERROR EVENT_XCPT 45 46 /* 47 * Dummies. 48 */ 49 #define EVENT_NULL_TYPE 0 50 #define EVENT_NULL_CONTEXT ((char *) 0) 51 52 /* LICENSE 53 /* .ad 54 /* .fi 55 /* The Secure Mailer license must be distributed with this software. 56 /* AUTHOR(S) 57 /* Wietse Venema 58 /* IBM T.J. Watson Research 59 /* P.O. Box 704 60 /* Yorktown Heights, NY 10598, USA 61 /* CREATION DATE 62 /* Wed Jan 29 17:00:03 EST 1997 63 /*--*/ 64 65 #endif 66