Annotation of embedaddon/mpd/src/event.h, revision 1.1
1.1 ! misho 1: /*
! 2: * See ``COPYRIGHT.mpd''
! 3: *
! 4: * $Id: event.h,v 1.9 2007/11/17 13:56:25 amotin Exp $
! 5: *
! 6: */
! 7:
! 8: #ifndef _EVENT_H_
! 9: #define _EVENT_H_
! 10:
! 11: /*
! 12: * DEFINITIONS
! 13: */
! 14:
! 15: /* Types of events */
! 16:
! 17: #define EVENT_READ PEVENT_READ /* value = file descriptor */
! 18: #define EVENT_WRITE PEVENT_WRITE /* value = file descriptor */
! 19: #define EVENT_TIMEOUT PEVENT_TIME /* value = time in miliseconds */
! 20:
! 21: #define EVENT_RECURRING PEVENT_RECURRING
! 22:
! 23: typedef void (*EventHdlr)(int type, void *cookie);
! 24:
! 25: struct event_ref
! 26: {
! 27: int type;
! 28: EventHdlr handler;
! 29: struct pevent *pe;
! 30: void *arg;
! 31: const char *dbg;
! 32: };
! 33: typedef struct event_ref EventRef;
! 34:
! 35: /*
! 36: * FUNCTIONS
! 37: */
! 38:
! 39: extern int EventInit(void);
! 40: extern void EventStop(void);
! 41: #define EventRegister(ref, type, value, flags, action, cookie) \
! 42: EventRegister2(ref, type, value, flags, action, cookie, \
! 43: #type " " #action "()",__FILE__, __LINE__)
! 44: extern int EventRegister2(EventRef *ref, int type, int value,
! 45: int flags, EventHdlr action, void *cookie, const char *dbg,
! 46: const char *file, int line);
! 47: #define EventUnRegister(ref) \
! 48: EventUnRegister2(ref, __FILE__, __LINE__)
! 49: extern int EventUnRegister2(EventRef *ref, const char *file, int line);
! 50: extern int EventIsRegistered(EventRef *ref);
! 51: extern int EventTimerRemain(EventRef *ref);
! 52: extern void EventDump(Context ctx, const char *msg);
! 53:
! 54: #endif
! 55:
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>