#ifndef _EVENT_H_
#define _EVENT_H_

void onKeyPress(XEvent *xevent);		/* 2 */
void onKeyRelease(XEvent *xevent);
void onButtonPress(XEvent *xevent);
void onButtonRelease(XEvent *xevent);		/* 5 */
void onMotionNotify(XEvent *xevent);
void onEnterNotify(XEvent *xevent);
void onLeaveNotify(XEvent *xevent);
void onFocusIn(XEvent *xevent);
void onFocusOut(XEvent *xevent);		/* 10 */
void onKeymapNotify(XEvent *xevent);
void onExpose(XEvent *xevent);
void onGraphicsExpose(XEvent *xevent);
void onNoExpose(XEvent *xevent);
void onVisibilityNotify(XEvent *xevent);	/* 15 */
void onCreateNotify(XEvent *xevent);
void onDestroyNotify(XEvent *xevent);
void onUnmapNotify(XEvent *xevent);
void onMapNotify(XEvent *xevent);
void onMapRequest(XEvent *xevent);		/* 20 */
void onReparentNotify(XEvent *xevent);
void onConfigureNotify(XEvent *xevent);
void onConfigureRequest(XEvent *xevent);
void onGravityNotify(XEvent *xevent);
void onResizeRequest(XEvent *xevent);		/* 25 */
void onCirculateNotify(XEvent *xevent);
void onCirculateRequest(XEvent *xevent);
void onPropertyNotify(XEvent *xevent);
void onSelectionClear(XEvent *xevent);
void onSelectionRequest(XEvent *xevent);	/* 30 */
void onSelectionNotify(XEvent *xevent);
void onColormapNotify(XEvent *xevent);
void onClientMessage(XEvent *xevent);
void onMappingNotify(XEvent *xevent);		/* 34 */

static char* eventname[] = {
	"Reserved",		/* 0 */
	"Reserved",		/* 1 */
	"KeyPress",		/* 2 */
	"KeyRelease",
	"ButtonPress",
	"ButtonRelease",	/* 5 */
	"MotionNotify",
	"EnterNotify",
	"LeaveNotify",
	"FocusIn",
	"FocusOut",		/* 10 */
	"KeymapNotify",
	"Expose",
	"GraphicsExpose",
	"NoExpose",
	"VisibilityNotify",	/* 15 */
	"CreateNotify",
	"DestroyNotify",
	"UnmapNotify",
	"MapNotify",
	"MapRequest",		/* 20 */
	"ReparentNotify",
	"ConfigureNotify",
	"ConfigureRequest",
	"GravityNotify",
	"ResizeRequest",	/* 25 */
	"CirculateNotify",
	"CirculateRequest",
	"PropertyNotify",
	"SelectionClear",
	"SelectionRequest",	/* 30 */
	"SelectionNotify",
	"ColormapNotify",
	"ClientMessage",
	"MappingNotify"		/* 34 */
};

/* LASTEvent define in <X11/X.h> */
typedef void (*eventhandler)(XEvent *);

#endif

