Zephyr API Documentation 4.3.99
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
events.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2021-2025 EPAM Systems
3 * Copyright (c) 2022 Arm Limited (or its affiliates). All rights reserved.
4 *
5 * SPDX-License-Identifier: Apache-2.0
6 */
7
15
16#ifndef __XEN_EVENTS_H__
17#define __XEN_EVENTS_H__
18
20
21#include <zephyr/kernel.h>
22
23typedef void (*evtchn_cb_t)(void *priv);
24
30
31/*
32 * Following functions just wrap Xen hypercalls, detailed description
33 * of parameters and return values are located in include/xen/public/event_channel.h
34 */
39
48
49#ifdef CONFIG_XEN_DOM0
58int alloc_unbound_event_channel_dom0(domid_t dom, domid_t remote_dom);
59#endif /* CONFIG_XEN_DOM0 */
60
73 evtchn_cb_t cb, void *data);
74
84
92
100
108
116
122
129
130#endif /* __XEN_EVENTS_H__ */
struct evtchn_status evtchn_status_t
Definition event_channel.h:176
uint32_t evtchn_port_t
Definition event_channel.h:74
struct event_channel_handle evtchn_handle_t
Definition events.h:29
void clear_event_channel(evtchn_port_t port)
Clear event channel from pending events.
void(* evtchn_cb_t)(void *priv)
Definition events.h:23
int get_missed_events(evtchn_port_t port)
Check if missed events are present on specified port.
int notify_evtchn(evtchn_port_t port)
int alloc_unbound_event_channel(domid_t remote_dom)
Allocate event-channel between caller and remote domain.
int mask_event_channel(evtchn_port_t port)
Disable event processing on specified port.
int bind_event_channel(evtchn_port_t port, evtchn_cb_t cb, void *data)
Bind user-defined handler to specified event-channel.
int evtchn_set_priority(evtchn_port_t port, uint32_t priority)
int unbind_event_channel(evtchn_port_t port)
Unbind handler from event channel, substitute it with empty callback.
int evtchn_close(evtchn_port_t port)
int unmask_event_channel(evtchn_port_t port)
Enable event processing on specified port.
int bind_interdomain_event_channel(domid_t remote_dom, evtchn_port_t remote_port, evtchn_cb_t cb, void *data)
Allocate local event channel, binded to remote port and attach specified callback to it.
int evtchn_status(evtchn_status_t *status)
int xen_events_init(void)
Initialize Xen event channel driver, used on initialization.
Public kernel APIs.
__UINT32_TYPE__ uint32_t
Definition stdint.h:90
Definition events.h:25
void * priv
Definition events.h:27
evtchn_cb_t cb
Definition events.h:26
uint16_t domid_t
Definition xen.h:217