ia64/xen-unstable

view extras/mini-os/include/events.h @ 16838:945820bfedb6

minios: POSIX fixes
Fixes some functions which are POSIX. Also make them ifndef HAVE_LIBC.

Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
author Keir Fraser <keir.fraser@citrix.com>
date Tue Jan 22 14:20:22 2008 +0000 (2008-01-22)
parents e40015e20548
children 2197a263a300
line source
1 /* -*- Mode:C; c-basic-offset:4; tab-width:4 -*-
2 ****************************************************************************
3 * (C) 2003 - Rolf Neugebauer - Intel Research Cambridge
4 * (C) 2005 - Grzegorz Milos - Intel Reseach Cambridge
5 ****************************************************************************
6 *
7 * File: events.h
8 * Author: Rolf Neugebauer (neugebar@dcs.gla.ac.uk)
9 * Changes: Grzegorz Milos (gm281@cam.ac.uk)
10 *
11 * Date: Jul 2003, changes Jun 2005
12 *
13 * Environment: Xen Minimal OS
14 * Description: Deals with events on the event channels
15 *
16 ****************************************************************************
17 */
19 #ifndef _EVENTS_H_
20 #define _EVENTS_H_
22 #include<traps.h>
23 #include<xen/event_channel.h>
25 typedef void (*evtchn_handler_t)(evtchn_port_t, struct pt_regs *, void *);
27 /* prototypes */
28 int do_event(evtchn_port_t port, struct pt_regs *regs);
29 evtchn_port_t bind_virq(uint32_t virq, evtchn_handler_t handler, void *data);
30 evtchn_port_t bind_evtchn(evtchn_port_t port, evtchn_handler_t handler,
31 void *data);
32 void unbind_evtchn(evtchn_port_t port);
33 void init_events(void);
34 int evtchn_alloc_unbound(domid_t pal, evtchn_handler_t handler,
35 void *data, evtchn_port_t *port);
36 int evtchn_bind_interdomain(domid_t pal, evtchn_port_t remote_port,
37 evtchn_handler_t handler, void *data,
38 evtchn_port_t *local_port);
39 void unbind_all_ports(void);
41 static inline int notify_remote_via_evtchn(evtchn_port_t port)
42 {
43 evtchn_send_t op;
44 op.port = port;
45 return HYPERVISOR_event_channel_op(EVTCHNOP_send, &op);
46 }
49 #endif /* _EVENTS_H_ */