DPDK  21.02.0
rte_interrupts.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: BSD-3-Clause
2  * Copyright(c) 2010-2014 Intel Corporation
3  */
4 
5 #ifndef _RTE_INTERRUPTS_H_
6 #define _RTE_INTERRUPTS_H_
7 
8 #include <rte_common.h>
9 #include <rte_compat.h>
10 
18 #ifdef __cplusplus
19 extern "C" {
20 #endif
21 
23 struct rte_intr_handle;
24 
26 typedef void (*rte_intr_callback_fn)(void *cb_arg);
27 
32 typedef void (*rte_intr_unregister_callback_fn)(struct rte_intr_handle *intr_handle,
33  void *cb_arg);
34 
35 #include "rte_eal_interrupts.h"
36 
51 int rte_intr_callback_register(const struct rte_intr_handle *intr_handle,
52  rte_intr_callback_fn cb, void *cb_arg);
53 
69 int rte_intr_callback_unregister(const struct rte_intr_handle *intr_handle,
70  rte_intr_callback_fn cb, void *cb_arg);
71 
91 __rte_experimental
92 int
94  rte_intr_callback_fn cb_fn, void *cb_arg,
96 
107 int rte_intr_enable(const struct rte_intr_handle *intr_handle);
108 
119 int rte_intr_disable(const struct rte_intr_handle *intr_handle);
120 
138 __rte_experimental
139 int rte_intr_ack(const struct rte_intr_handle *intr_handle);
140 
141 #ifdef __cplusplus
142 }
143 #endif
144 
145 #endif
__rte_experimental int rte_intr_callback_unregister_pending(const struct rte_intr_handle *intr_handle, rte_intr_callback_fn cb_fn, void *cb_arg, rte_intr_unregister_callback_fn ucb_fn)
int rte_intr_callback_register(const struct rte_intr_handle *intr_handle, rte_intr_callback_fn cb, void *cb_arg)
int rte_intr_disable(const struct rte_intr_handle *intr_handle)
__rte_experimental int rte_intr_ack(const struct rte_intr_handle *intr_handle)
void(* rte_intr_unregister_callback_fn)(struct rte_intr_handle *intr_handle, void *cb_arg)
void(* rte_intr_callback_fn)(void *cb_arg)
int rte_intr_enable(const struct rte_intr_handle *intr_handle)
int rte_intr_callback_unregister(const struct rte_intr_handle *intr_handle, rte_intr_callback_fn cb, void *cb_arg)