44 *
55 * SPDX-License-Identifier: Apache-2.0
66 */
7+
8+ /**
9+ * @file
10+ * @brief Xen event channel interface
11+ *
12+ * This file provides the interface for managing Xen event channels,
13+ * including allocation, binding, and callback management.
14+ */
15+
716#ifndef __XEN_EVENTS_H__
817#define __XEN_EVENTS_H__
918
@@ -28,65 +37,94 @@ int evtchn_close(evtchn_port_t port);
2837int evtchn_set_priority (evtchn_port_t port , uint32_t priority );
2938int notify_evtchn (evtchn_port_t port );
3039
31- /*
40+ /**
3241 * Allocate event-channel between caller and remote domain
3342 *
34- * @param remote_dom - remote domain domid
35- * @return - local event channel port on success, negative on error
43+ * @param remote_dom remote domain domid
44+ * @retval port local event channel port on success
45+ * @retval -errno negative code on error
3646 */
3747int alloc_unbound_event_channel (domid_t remote_dom );
3848
3949#ifdef CONFIG_XEN_DOM0
40- /*
50+ /**
4151 * Allocate event-channel between remote domains. Can be used only from Dom0.
4252 *
43- * @param dom - first remote domain domid (may be DOMID_SELF)
44- * @param remote_dom - second remote domain domid
45- * @return - local event channel port on success, negative on error
53+ * @param dom first remote domain domid (may be DOMID_SELF)
54+ * @param remote_dom second remote domain domid
55+ * @retval port local event channel port on success
56+ * @retval -errno negative code on error
4657 */
4758int alloc_unbound_event_channel_dom0 (domid_t dom , domid_t remote_dom );
4859#endif /* CONFIG_XEN_DOM0 */
4960
50- /*
61+ /**
5162 * Allocate local event channel, binded to remote port and attach specified callback
5263 * to it
5364 *
54- * @param remote_dom - remote domain domid
55- * @param remote_port - remote domain event channel port number
56- * @param cb - callback, attached to locat port
57- * @param data - private data, that will be passed to cb
58- * @return - local event channel port on success, negative on error
65+ * @param remote_dom remote domain domid
66+ * @param remote_port remote domain event channel port number
67+ * @param cb callback, attached to locat port
68+ * @param data private data, that will be passed to cb
69+ * @retval port local event channel port on success
70+ * @retval -errno negative code on error
5971 */
6072int bind_interdomain_event_channel (domid_t remote_dom , evtchn_port_t remote_port ,
6173 evtchn_cb_t cb , void * data );
6274
63- /*
75+ /**
6476 * Bind user-defined handler to specified event-channel
6577 *
66- * @param port - event channel number
67- * @param cb - pointer to event channel handler
68- * @param data - private data, that will be passed to handler as parameter
69- * @return - zero on success
78+ * @param port event channel number
79+ * @param cb pointer to event channel handler
80+ * @param data private data, that will be passed to handler as parameter
81+ * @retval 0 on success
7082 */
7183int bind_event_channel (evtchn_port_t port , evtchn_cb_t cb , void * data );
7284
73- /*
85+ /**
7486 * Unbind handler from event channel, substitute it with empty callback
7587 *
76- * @param port - event channel number to unbind
77- * @return - zero on success
88+ * @param port event channel number to unbind
89+ * @retval 0 on success
7890 */
7991int unbind_event_channel (evtchn_port_t port );
92+
93+ /**
94+ * Check if missed events are present on specified port.
95+ * @param port event channel number
96+ * @retval 1 if missed events are present
97+ * @retval 0 otherwise
98+ */
8099int get_missed_events (evtchn_port_t port );
100+
101+ /**
102+ * Disable event processing on specified port.
103+ * @param port event channel number
104+ * @retval 0 on success
105+ * @retval -errno negative code on error
106+ */
81107int mask_event_channel (evtchn_port_t port );
108+
109+ /**
110+ * Enable event processing on specified port.
111+ * @param port event channel number
112+ * @retval 0 on success
113+ * @retval -errno negative code on error
114+ */
82115int unmask_event_channel (evtchn_port_t port );
83116
84117/**
85118 * Clear event channel from pending events
86- * @param port - event channel number
119+ * @param port event channel number
87120 */
88121void clear_event_channel (evtchn_port_t port );
89122
123+ /**
124+ * Initialize Xen event channel driver, used on initialization
125+ * @retval 0 on success
126+ * @retval -errno negative code on error
127+ */
90128int xen_events_init (void );
91129
92130#endif /* __XEN_EVENTS_H__ */
0 commit comments