DPDK
25.11.0
Toggle main menu visibility
Loading...
Searching...
No Matches
rte_debug.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_DEBUG_H_
6
#define _RTE_DEBUG_H_
7
16
17
#include "
rte_log.h
"
18
#include "
rte_branch_prediction.h
"
19
20
#ifdef __cplusplus
21
extern
"C"
{
22
#endif
23
27
void
rte_dump_stack
(
void
);
28
43
#define rte_panic(...) rte_panic_(__func__, __VA_ARGS__, "dummy")
44
#define rte_panic_(func, format, ...) __rte_panic(func, format "%.0s", __VA_ARGS__)
45
46
#ifdef RTE_ENABLE_ASSERT
47
#define RTE_ASSERT(exp) RTE_VERIFY(exp)
48
#else
49
/*
50
* If RTE_ENABLE_ASSERT is not set, the exp is not checked
51
* but not evaluated because of the use of sizeof().
52
* The ternary operator is to allow function pointers and bit fields,
53
* and to suppress the evaluation of any variable length arrays.
54
*/
55
#define RTE_ASSERT(exp) do { \
56
(void)sizeof((exp) ? 1 : 0); \
57
} while (0)
58
#endif
59
60
#define RTE_VERIFY(exp) do { \
61
if (unlikely(!(exp))) \
62
rte_panic("line %d\tassert \"%s\" failed\n", __LINE__, #exp); \
63
} while (0)
64
65
/*
66
* Provide notification of a critical non-recoverable error and stop.
67
*
68
* This function should not be called directly. Refer to rte_panic() macro
69
* documentation.
70
*/
71
void
__rte_panic(
const
char
*funcname ,
const
char
*format, ...)
72
__rte_cold
73
__rte_noreturn
74
__rte_format_printf
(2, 3);
75
76
#ifdef __cplusplus
77
}
78
#endif
79
80
#endif
/* _RTE_DEBUG_H_ */
rte_branch_prediction.h
__rte_cold
#define __rte_cold
Definition
rte_common.h:517
__rte_format_printf
#define __rte_format_printf(format_index, first_arg)
Definition
rte_common.h:280
__rte_noreturn
#define __rte_noreturn
Definition
rte_common.h:443
rte_dump_stack
void rte_dump_stack(void)
rte_log.h
lib
eal
include
rte_debug.h
Generated by
1.17.0