aboutsummaryrefslogtreecommitdiff
path: root/platform/linux-dpdk/include/odp/api/plat/byteorder_inlines.h
blob: c402189a56e50e085be6fa89993c10f46663b9bd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
/* Copyright (c) 2018, Linaro Limited
 * All rights reserved.
 *
 * SPDX-License-Identifier:     BSD-3-Clause
 */

/**
 * @file
 *
 * ODP byteorder
 */

#ifndef ODP_PLAT_BYTEORDER_INLINES_H_
#define ODP_PLAT_BYTEORDER_INLINES_H_

#ifdef __cplusplus
extern "C" {
#endif

#include <rte_config.h>
#include <rte_byteorder.h>

/** @cond _ODP_HIDE_FROM_DOXYGEN_ */

#ifndef __odp_force
#define __odp_force
#endif

#ifndef _ODP_NO_INLINE
	/* Inline functions by default */
	#define _ODP_INLINE static inline
	#define odp_be_to_cpu_16 __odp_be_to_cpu_16
	#define odp_be_to_cpu_32 __odp_be_to_cpu_32
	#define odp_be_to_cpu_64 __odp_be_to_cpu_64
	#define odp_cpu_to_be_16 __odp_cpu_to_be_16
	#define odp_cpu_to_be_32 __odp_cpu_to_be_32
	#define odp_cpu_to_be_64 __odp_cpu_to_be_64
	#define odp_le_to_cpu_16 __odp_le_to_cpu_16
	#define odp_le_to_cpu_32 __odp_le_to_cpu_32
	#define odp_le_to_cpu_64 __odp_le_to_cpu_64
	#define odp_cpu_to_le_16 __odp_cpu_to_le_16
	#define odp_cpu_to_le_32 __odp_cpu_to_le_32
	#define odp_cpu_to_le_64 __odp_cpu_to_le_64
#else
	#define _ODP_INLINE
#endif

_ODP_INLINE uint16_t odp_be_to_cpu_16(odp_u16be_t be16)
{
	return rte_be_to_cpu_16((__odp_force uint16_t)be16);
}

_ODP_INLINE uint32_t odp_be_to_cpu_32(odp_u32be_t be32)
{
	return rte_be_to_cpu_32((__odp_force uint32_t)be32);
}

_ODP_INLINE uint64_t odp_be_to_cpu_64(odp_u64be_t be64)
{
	return rte_be_to_cpu_64((__odp_force uint64_t)be64);
}

_ODP_INLINE odp_u16be_t odp_cpu_to_be_16(uint16_t cpu16)
{
	return (__odp_force odp_u16be_t)rte_cpu_to_be_16(cpu16);
}

_ODP_INLINE odp_u32be_t odp_cpu_to_be_32(uint32_t cpu32)
{
	return (__odp_force odp_u32be_t)rte_cpu_to_be_32(cpu32);
}

_ODP_INLINE odp_u64be_t odp_cpu_to_be_64(uint64_t cpu64)
{
	return (__odp_force odp_u64be_t)rte_cpu_to_be_64(cpu64);
}

_ODP_INLINE uint16_t odp_le_to_cpu_16(odp_u16le_t le16)
{
	return rte_le_to_cpu_16((__odp_force uint16_t)le16);
}

_ODP_INLINE uint32_t odp_le_to_cpu_32(odp_u32le_t le32)
{
	return rte_le_to_cpu_32((__odp_force uint32_t)le32);
}

_ODP_INLINE uint64_t odp_le_to_cpu_64(odp_u64le_t le64)
{
	return rte_le_to_cpu_64((__odp_force uint64_t)le64);
}

_ODP_INLINE odp_u16le_t odp_cpu_to_le_16(uint16_t cpu16)
{
	return (__odp_force odp_u16le_t)rte_cpu_to_le_16(cpu16);
}

_ODP_INLINE odp_u32le_t odp_cpu_to_le_32(uint32_t cpu32)
{
	return (__odp_force odp_u32le_t)rte_cpu_to_le_32(cpu32);
}

_ODP_INLINE odp_u64le_t odp_cpu_to_le_64(uint64_t cpu64)
{
	return (__odp_force odp_u64le_t)rte_cpu_to_le_64(cpu64);
}

/** @endcond */

#ifdef __cplusplus
}
#endif

#endif