/* $NetBSD: events.h,v 1.2 2017/02/14 01:16:49 christos Exp $ */ #ifndef _EVENTS_H_INCLUDED_ #define _EVENTS_H_INCLUDED_ /*++ /* NAME /* events 3h /* SUMMARY /* event manager /* SYNOPSIS /* #include <events.h> /* DESCRIPTION /* .nf /* * System library. */ #include <time.h> /* * External interface. */ typedef void (*EVENT_NOTIFY_FN) (int, void *); #define EVENT_NOTIFY_TIME_FN EVENT_NOTIFY_FN /* legacy */ #define EVENT_NOTIFY_RDWR_FN EVENT_NOTIFY_FN /* legacy */ extern time_t event_time(void); extern void event_enable_read(int, EVENT_NOTIFY_RDWR_FN, void *); extern void event_enable_write(int, EVENT_NOTIFY_RDWR_FN, void *); extern void event_disable_readwrite(int); extern time_t event_request_timer(EVENT_NOTIFY_TIME_FN, void *, int); extern int event_cancel_timer(EVENT_NOTIFY_TIME_FN, void *); extern void event_loop(int); extern void event_drain(int); extern void event_fork(void); /* * Event codes. */ #define EVENT_READ (1<<0) /* read event */ #define EVENT_WRITE (1<<1) /* write event */ #define EVENT_XCPT (1<<2) /* exception */ #define EVENT_TIME (1<<3) /* timer event */ #define EVENT_ERROR EVENT_XCPT /* * Dummies. */ #define EVENT_NULL_TYPE (0) #define EVENT_NULL_CONTEXT ((void *) 0) #define EVENT_NULL_DELAY (0) /* LICENSE /* .ad /* .fi /* The Secure Mailer license must be distributed with this software. /* AUTHOR(S) /* Wietse Venema /* IBM T.J. Watson Research /* P.O. Box 704 /* Yorktown Heights, NY 10598, USA /* CREATION DATE /* Wed Jan 29 17:00:03 EST 1997 /*--*/ #endif |