DPDK 25.03.0-rc0
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#include <rte_service.h>
14
15#ifdef __cplusplus
16extern "C" {
17#endif
18
27typedef int32_t (*rte_service_func)(void *args);
28
39 char name[RTE_SERVICE_NAME_MAX];
41 rte_service_func callback;
47 uint32_t capabilities;
50};
51
80int32_t rte_service_component_register(const struct rte_service_spec *spec,
81 uint32_t *service_id);
82
92int32_t rte_service_component_unregister(uint32_t id);
93
107int32_t rte_service_start_with_defaults(void);
108
121int32_t rte_service_component_runstate_set(uint32_t id, uint32_t runstate);
122
132int32_t rte_service_init(void);
133
140void rte_service_finalize(void);
141
142#ifdef __cplusplus
143}
144#endif
145
146#endif /* _SERVICE_PRIVATE_H_ */
rte_service_func callback
char name[RTE_SERVICE_NAME_MAX]