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