xref: /netbsd-src/external/ibm-public/postfix/dist/src/util/events.h (revision 09afef20633f5fe63d92dfe43ee3a9380dc06883)
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