DPDK 22.11.0-rc2
rte_service_component.h
1/* SPDX-License-Identifier: BSD-3-Clause
2 * Copyright(c) 2017 Intel Corporation
3 */
4
5#ifndef _SERVICE_PRIVATE_H_
6#define _SERVICE_PRIVATE_H_
7
8/* This file specifies the internal service specification.
9 * Include this file if you are writing a component that requires CPU cycles to
10 * operate, and you wish to run the component using service cores
11 */
12
13#ifdef __cplusplus
14extern "C" {
15#endif
16
17#include <rte_compat.h>
18#include <rte_service.h>
19
28typedef int32_t (*rte_service_func)(void *args);
29
40 char name[RTE_SERVICE_NAME_MAX];
42 rte_service_func callback;
48 uint32_t capabilities;
51};
52
81int32_t rte_service_component_register(const struct rte_service_spec *spec,
82 uint32_t *service_id);
83
93int32_t rte_service_component_unregister(uint32_t id);
94
108int32_t rte_service_start_with_defaults(void);
109
122int32_t rte_service_component_runstate_set(uint32_t id, uint32_t runstate);
123
133int32_t rte_service_init(void);
134
141void rte_service_finalize(void);
142
143#ifdef __cplusplus
144}
145#endif
146
147#endif /* _SERVICE_PRIVATE_H_ */
rte_service_func callback
char name[RTE_SERVICE_NAME_MAX]