From: "Mattias Rönnblom" <mattias.ronnblom@ericsson.com>
To: <dev@dpdk.org>
Cc: hofors@lysator.liu.se, "Heng Wang" <heng.wang@ericsson.com>,
"Stephen Hemminger" <stephen@networkplumber.org>,
"Tyler Retzlaff" <roretzla@linux.microsoft.com>,
"Morten Brørup" <mb@smartsharesystems.com>,
"Jack Bond-Preston" <jack.bond-preston@foss.arm.com>,
"David Marchand" <david.marchand@redhat.com>,
"Chengwen Feng" <fengchengwen@huawei.com>,
"Mattias Rönnblom" <mattias.ronnblom@ericsson.com>
Subject: [PATCH v8 1/6] dpdk: do not force C linkage on include file dependencies
Date: Tue, 17 Sep 2024 12:48:06 +0200 [thread overview]
Message-ID: <20240917104811.723863-2-mattias.ronnblom@ericsson.com> (raw)
In-Reply-To: <20240917104811.723863-1-mattias.ronnblom@ericsson.com>
Assure that 'extern "C" { /../ }' do not cover files included from a
particular header file, and address minor issues resulting from this
change of order.
Dealing with C++ should delegate to the individual include file level,
rather than being imposed by the user of that file. For example,
forcing C linkage prevents __Generic macros being replaced with
overloaded static inline functions in C++ translation units.
Signed-off-by: Mattias Rönnblom <mattias.ronnblom@ericsson.com>
Acked-by: Morten Brørup <mb@smartsharesystems.com>
--
PATCH v8:
* Fix issues in rte_memcpy_64.h causing build failures on ARM.
PATCH v7:
* Fix issues in rte_io.h, rte_pause.h and rte_thash_gfni.h causing
build failures on ARM. (David Marchand)
* Fix issue in rte_vfio.h, causing build failures unless VFIO_PRESENT.
PATCH v6:
* Add missing extern "C" in rte_atomic.h, rte_cpuflags.h, rte_io.h,
rte_vect.h.
* Fix 32-bit x86 build issues in rte_atomic.h.
PATCH v5:
* rte_dmadev.h was still including files under extern "C" { /../ }.
(Chengwen Feng)
* Fix rte_byteorder.h, broken on 32-bit x86.
---
app/test/packet_burst_generator.h | 8 +++---
app/test/virtual_pmd.h | 4 +--
drivers/bus/auxiliary/bus_auxiliary_driver.h | 8 +++---
drivers/bus/cdx/bus_cdx_driver.h | 8 +++---
drivers/bus/dpaa/include/fsl_qman.h | 8 +++---
drivers/bus/fslmc/bus_fslmc_driver.h | 8 +++---
drivers/bus/pci/bus_pci_driver.h | 8 +++---
drivers/bus/pci/rte_bus_pci.h | 8 +++---
drivers/bus/platform/bus_platform_driver.h | 8 +++---
drivers/bus/vdev/bus_vdev_driver.h | 8 +++---
drivers/bus/vmbus/bus_vmbus_driver.h | 8 +++---
drivers/bus/vmbus/rte_bus_vmbus.h | 8 +++---
drivers/dma/cnxk/cnxk_dma_event_dp.h | 8 +++---
drivers/dma/ioat/ioat_hw_defs.h | 4 +--
drivers/event/dlb2/rte_pmd_dlb2.h | 8 +++---
drivers/mempool/dpaa2/rte_dpaa2_mempool.h | 6 ++---
drivers/net/avp/rte_avp_fifo.h | 8 +++---
drivers/net/bonding/rte_eth_bond.h | 4 +--
drivers/net/i40e/rte_pmd_i40e.h | 8 +++---
drivers/net/mlx5/mlx5_trace.h | 8 +++---
drivers/net/ring/rte_eth_ring.h | 4 +--
drivers/net/vhost/rte_eth_vhost.h | 8 +++---
drivers/raw/ifpga/afu_pmd_core.h | 8 +++---
drivers/raw/ifpga/afu_pmd_he_hssi.h | 6 ++---
drivers/raw/ifpga/afu_pmd_he_lpbk.h | 6 ++---
drivers/raw/ifpga/afu_pmd_he_mem.h | 6 ++---
drivers/raw/ifpga/afu_pmd_n3000.h | 6 ++---
drivers/raw/ifpga/rte_pmd_afu.h | 4 +--
drivers/raw/ifpga/rte_pmd_ifpga.h | 4 +--
examples/ethtool/lib/rte_ethtool.h | 8 +++---
examples/qos_sched/main.h | 4 +--
examples/vm_power_manager/channel_manager.h | 8 +++---
lib/acl/rte_acl_osdep.h | 8 +++---
lib/bbdev/rte_bbdev.h | 8 +++---
lib/bbdev/rte_bbdev_op.h | 8 +++---
lib/bbdev/rte_bbdev_pmd.h | 8 +++---
lib/bpf/bpf_def.h | 8 +++---
lib/compressdev/rte_comp.h | 4 +--
lib/compressdev/rte_compressdev.h | 6 ++---
lib/compressdev/rte_compressdev_internal.h | 8 +++---
lib/compressdev/rte_compressdev_pmd.h | 8 +++---
lib/cryptodev/cryptodev_pmd.h | 8 +++---
lib/cryptodev/cryptodev_trace.h | 8 +++---
lib/cryptodev/rte_crypto.h | 8 +++---
lib/cryptodev/rte_crypto_asym.h | 8 +++---
lib/cryptodev/rte_crypto_sym.h | 8 +++---
lib/cryptodev/rte_cryptodev.h | 8 +++---
lib/cryptodev/rte_cryptodev_trace_fp.h | 4 +--
lib/dispatcher/rte_dispatcher.h | 8 +++---
lib/dmadev/rte_dmadev.h | 8 ++++++
lib/eal/arm/include/rte_atomic_32.h | 4 +--
lib/eal/arm/include/rte_atomic_64.h | 8 +++---
lib/eal/arm/include/rte_byteorder.h | 8 +++---
lib/eal/arm/include/rte_cpuflags_32.h | 8 +++---
lib/eal/arm/include/rte_cpuflags_64.h | 8 +++---
lib/eal/arm/include/rte_cycles_32.h | 4 +--
lib/eal/arm/include/rte_cycles_64.h | 4 +--
lib/eal/arm/include/rte_io.h | 8 +++---
lib/eal/arm/include/rte_io_64.h | 8 +++---
lib/eal/arm/include/rte_memcpy_32.h | 8 +++---
lib/eal/arm/include/rte_memcpy_64.h | 12 ++++-----
lib/eal/arm/include/rte_pause.h | 8 +++---
lib/eal/arm/include/rte_pause_32.h | 6 ++---
lib/eal/arm/include/rte_pause_64.h | 8 +++---
lib/eal/arm/include/rte_power_intrinsics.h | 8 +++---
lib/eal/arm/include/rte_prefetch_32.h | 8 +++---
lib/eal/arm/include/rte_prefetch_64.h | 8 +++---
lib/eal/arm/include/rte_rwlock.h | 4 +--
lib/eal/arm/include/rte_spinlock.h | 6 ++---
lib/eal/freebsd/include/rte_os.h | 8 +++---
lib/eal/include/bus_driver.h | 8 +++---
lib/eal/include/dev_driver.h | 6 ++---
lib/eal/include/eal_trace_internal.h | 8 +++---
lib/eal/include/generic/rte_atomic.h | 8 ++++++
lib/eal/include/generic/rte_byteorder.h | 8 ++++++
lib/eal/include/generic/rte_cpuflags.h | 8 ++++++
lib/eal/include/generic/rte_cycles.h | 8 ++++++
lib/eal/include/generic/rte_io.h | 8 ++++++
lib/eal/include/generic/rte_memcpy.h | 8 ++++++
lib/eal/include/generic/rte_pause.h | 8 ++++++
.../include/generic/rte_power_intrinsics.h | 8 ++++++
lib/eal/include/generic/rte_prefetch.h | 8 ++++++
lib/eal/include/generic/rte_rwlock.h | 8 +++---
lib/eal/include/generic/rte_spinlock.h | 8 ++++++
lib/eal/include/generic/rte_vect.h | 8 ++++++
lib/eal/include/rte_alarm.h | 4 +--
lib/eal/include/rte_bitmap.h | 8 +++---
lib/eal/include/rte_bus.h | 8 +++---
lib/eal/include/rte_class.h | 4 +--
lib/eal/include/rte_common.h | 8 +++---
lib/eal/include/rte_dev.h | 8 +++---
lib/eal/include/rte_devargs.h | 8 +++---
lib/eal/include/rte_eal_trace.h | 4 +--
lib/eal/include/rte_errno.h | 4 +--
lib/eal/include/rte_fbarray.h | 8 +++---
lib/eal/include/rte_keepalive.h | 6 ++---
lib/eal/include/rte_mcslock.h | 8 +++---
lib/eal/include/rte_memory.h | 8 +++---
lib/eal/include/rte_pci_dev_features.h | 4 +--
lib/eal/include/rte_pflock.h | 8 +++---
lib/eal/include/rte_random.h | 4 +--
lib/eal/include/rte_seqcount.h | 8 +++---
lib/eal/include/rte_seqlock.h | 8 +++---
lib/eal/include/rte_service.h | 8 +++---
lib/eal/include/rte_service_component.h | 4 +--
lib/eal/include/rte_stdatomic.h | 5 +---
lib/eal/include/rte_string_fns.h | 17 +++++++++----
lib/eal/include/rte_tailq.h | 6 ++---
lib/eal/include/rte_ticketlock.h | 8 +++---
lib/eal/include/rte_time.h | 6 ++---
lib/eal/include/rte_trace.h | 8 +++---
lib/eal/include/rte_trace_point.h | 8 +++---
lib/eal/include/rte_trace_point_register.h | 8 +++---
lib/eal/include/rte_uuid.h | 8 +++---
lib/eal/include/rte_version.h | 6 ++---
lib/eal/include/rte_vfio.h | 8 +++---
lib/eal/linux/include/rte_os.h | 8 +++---
lib/eal/loongarch/include/rte_atomic.h | 6 ++---
lib/eal/loongarch/include/rte_byteorder.h | 4 +--
lib/eal/loongarch/include/rte_cpuflags.h | 8 +++---
lib/eal/loongarch/include/rte_cycles.h | 4 +--
lib/eal/loongarch/include/rte_io.h | 4 +--
lib/eal/loongarch/include/rte_memcpy.h | 4 +--
lib/eal/loongarch/include/rte_pause.h | 8 +++---
.../loongarch/include/rte_power_intrinsics.h | 8 +++---
lib/eal/loongarch/include/rte_prefetch.h | 8 +++---
lib/eal/loongarch/include/rte_rwlock.h | 4 +--
lib/eal/loongarch/include/rte_spinlock.h | 6 ++---
lib/eal/ppc/include/rte_atomic.h | 6 ++---
lib/eal/ppc/include/rte_byteorder.h | 6 ++---
lib/eal/ppc/include/rte_cpuflags.h | 8 +++---
lib/eal/ppc/include/rte_cycles.h | 8 +++---
lib/eal/ppc/include/rte_io.h | 4 +--
lib/eal/ppc/include/rte_memcpy.h | 4 +--
lib/eal/ppc/include/rte_pause.h | 8 +++---
lib/eal/ppc/include/rte_power_intrinsics.h | 8 +++---
lib/eal/ppc/include/rte_prefetch.h | 8 +++---
lib/eal/ppc/include/rte_rwlock.h | 4 +--
lib/eal/ppc/include/rte_spinlock.h | 8 +++---
lib/eal/riscv/include/rte_atomic.h | 8 +++---
lib/eal/riscv/include/rte_byteorder.h | 8 +++---
lib/eal/riscv/include/rte_cpuflags.h | 8 +++---
lib/eal/riscv/include/rte_cycles.h | 4 +--
lib/eal/riscv/include/rte_io.h | 4 +--
lib/eal/riscv/include/rte_memcpy.h | 4 +--
lib/eal/riscv/include/rte_pause.h | 8 +++---
lib/eal/riscv/include/rte_power_intrinsics.h | 8 +++---
lib/eal/riscv/include/rte_prefetch.h | 8 +++---
lib/eal/riscv/include/rte_rwlock.h | 4 +--
lib/eal/riscv/include/rte_spinlock.h | 6 ++---
lib/eal/windows/include/pthread.h | 6 ++---
lib/eal/windows/include/regex.h | 8 +++---
lib/eal/windows/include/rte_windows.h | 8 +++---
lib/eal/x86/include/rte_atomic.h | 25 +++++++++++++------
lib/eal/x86/include/rte_byteorder.h | 16 ++++++------
lib/eal/x86/include/rte_cpuflags.h | 8 +++---
lib/eal/x86/include/rte_cycles.h | 8 +++---
lib/eal/x86/include/rte_io.h | 8 +++---
lib/eal/x86/include/rte_pause.h | 7 +++---
lib/eal/x86/include/rte_power_intrinsics.h | 8 +++---
lib/eal/x86/include/rte_prefetch.h | 8 +++---
lib/eal/x86/include/rte_rwlock.h | 6 ++---
lib/eal/x86/include/rte_spinlock.h | 9 +++----
lib/ethdev/ethdev_driver.h | 8 +++---
lib/ethdev/ethdev_pci.h | 8 +++---
lib/ethdev/ethdev_trace.h | 8 +++---
lib/ethdev/ethdev_vdev.h | 8 +++---
lib/ethdev/rte_cman.h | 4 +--
lib/ethdev/rte_dev_info.h | 4 +--
lib/ethdev/rte_ethdev.h | 8 +++---
lib/ethdev/rte_ethdev_trace_fp.h | 4 +--
lib/eventdev/event_timer_adapter_pmd.h | 4 +--
lib/eventdev/eventdev_pmd.h | 8 +++---
lib/eventdev/eventdev_pmd_pci.h | 8 +++---
lib/eventdev/eventdev_pmd_vdev.h | 8 +++---
lib/eventdev/eventdev_trace.h | 8 +++---
lib/eventdev/rte_event_crypto_adapter.h | 8 +++---
lib/eventdev/rte_event_eth_rx_adapter.h | 8 +++---
lib/eventdev/rte_event_eth_tx_adapter.h | 8 +++---
lib/eventdev/rte_event_ring.h | 8 +++---
lib/eventdev/rte_event_timer_adapter.h | 8 +++---
lib/eventdev/rte_eventdev.h | 8 +++---
lib/eventdev/rte_eventdev_trace_fp.h | 4 +--
lib/graph/rte_graph_model_mcore_dispatch.h | 8 +++---
lib/graph/rte_graph_worker.h | 6 ++---
lib/gso/rte_gso.h | 6 ++---
lib/hash/rte_fbk_hash.h | 8 +++---
lib/hash/rte_hash_crc.h | 8 +++---
lib/hash/rte_jhash.h | 8 +++---
lib/hash/rte_thash.h | 8 +++---
lib/hash/rte_thash_gfni.h | 8 +++---
lib/ip_frag/rte_ip_frag.h | 8 +++---
lib/ipsec/rte_ipsec.h | 8 +++---
lib/log/rte_log.h | 8 +++---
lib/lpm/rte_lpm.h | 8 +++---
lib/member/rte_member.h | 8 +++---
lib/member/rte_member_sketch.h | 6 ++---
lib/member/rte_member_sketch_avx512.h | 8 +++---
lib/member/rte_member_x86.h | 4 +--
lib/member/rte_xxh64_avx512.h | 6 ++---
lib/mempool/mempool_trace.h | 8 +++---
lib/mempool/rte_mempool_trace_fp.h | 4 +--
lib/meter/rte_meter.h | 8 +++---
lib/mldev/mldev_utils.h | 8 +++---
lib/mldev/rte_mldev_core.h | 8 +++---
lib/mldev/rte_mldev_pmd.h | 8 +++---
lib/net/rte_ether.h | 8 +++---
lib/net/rte_net.h | 8 +++---
lib/net/rte_sctp.h | 8 +++---
lib/node/rte_node_eth_api.h | 8 +++---
lib/node/rte_node_ip4_api.h | 8 +++---
lib/node/rte_node_ip6_api.h | 6 ++---
lib/node/rte_node_udp4_input_api.h | 8 +++---
lib/pci/rte_pci.h | 8 +++---
lib/pdcp/rte_pdcp.h | 8 +++---
lib/pipeline/rte_pipeline.h | 8 +++---
lib/pipeline/rte_port_in_action.h | 8 +++---
lib/pipeline/rte_swx_ctl.h | 8 +++---
lib/pipeline/rte_swx_extern.h | 8 +++---
lib/pipeline/rte_swx_ipsec.h | 8 +++---
lib/pipeline/rte_swx_pipeline.h | 8 +++---
lib/pipeline/rte_swx_pipeline_spec.h | 8 +++---
lib/pipeline/rte_table_action.h | 8 +++---
lib/port/rte_port.h | 8 +++---
lib/port/rte_port_ethdev.h | 8 +++---
lib/port/rte_port_eventdev.h | 8 +++---
lib/port/rte_port_fd.h | 8 +++---
lib/port/rte_port_frag.h | 8 +++---
lib/port/rte_port_ras.h | 8 +++---
lib/port/rte_port_ring.h | 8 +++---
lib/port/rte_port_sched.h | 8 +++---
lib/port/rte_port_source_sink.h | 8 +++---
lib/port/rte_port_sym_crypto.h | 8 +++---
lib/port/rte_swx_port.h | 8 +++---
lib/port/rte_swx_port_ethdev.h | 8 +++---
lib/port/rte_swx_port_fd.h | 8 +++---
lib/port/rte_swx_port_ring.h | 8 +++---
lib/port/rte_swx_port_source_sink.h | 8 +++---
lib/rawdev/rte_rawdev.h | 6 ++---
lib/rawdev/rte_rawdev_pmd.h | 8 +++---
lib/rcu/rte_rcu_qsbr.h | 8 +++---
lib/regexdev/rte_regexdev.h | 8 +++---
lib/ring/rte_ring.h | 6 ++---
lib/ring/rte_ring_core.h | 8 +++---
lib/ring/rte_ring_elem.h | 8 +++---
lib/ring/rte_ring_hts.h | 4 +--
lib/ring/rte_ring_peek.h | 4 +--
lib/ring/rte_ring_peek_zc.h | 4 +--
lib/ring/rte_ring_rts.h | 4 +--
lib/sched/rte_approx.h | 8 +++---
lib/sched/rte_pie.h | 8 +++---
lib/sched/rte_red.h | 8 +++---
lib/sched/rte_sched.h | 8 +++---
lib/sched/rte_sched_common.h | 6 ++---
lib/security/rte_security.h | 8 +++---
lib/security/rte_security_driver.h | 6 ++---
lib/stack/rte_stack.h | 8 +++---
lib/table/rte_lru.h | 12 +++------
lib/table/rte_lru_arm64.h | 8 +++---
lib/table/rte_lru_x86.h | 8 ------
lib/table/rte_swx_hash_func.h | 8 +++---
lib/table/rte_swx_keycmp.h | 8 +++---
lib/table/rte_swx_table.h | 8 +++---
lib/table/rte_swx_table_em.h | 8 +++---
lib/table/rte_swx_table_learner.h | 8 +++---
lib/table/rte_swx_table_selector.h | 8 +++---
lib/table/rte_swx_table_wm.h | 8 +++---
lib/table/rte_table.h | 8 +++---
lib/table/rte_table_acl.h | 8 +++---
lib/table/rte_table_array.h | 8 +++---
lib/table/rte_table_hash.h | 8 +++---
lib/table/rte_table_hash_cuckoo.h | 8 +++---
lib/table/rte_table_hash_func.h | 12 ++++++---
lib/table/rte_table_lpm.h | 8 +++---
lib/table/rte_table_lpm_ipv6.h | 8 +++---
lib/table/rte_table_stub.h | 8 +++---
lib/telemetry/rte_telemetry.h | 8 +++---
lib/vhost/rte_vdpa.h | 8 +++---
lib/vhost/rte_vhost.h | 8 +++---
lib/vhost/rte_vhost_async.h | 8 +++---
lib/vhost/rte_vhost_crypto.h | 4 +--
lib/vhost/vdpa_driver.h | 8 +++---
282 files changed, 1083 insertions(+), 982 deletions(-)
diff --git a/app/test/packet_burst_generator.h b/app/test/packet_burst_generator.h
index b99286f50e..cce41bcd0f 100644
--- a/app/test/packet_burst_generator.h
+++ b/app/test/packet_burst_generator.h
@@ -5,10 +5,6 @@
#ifndef PACKET_BURST_GENERATOR_H_
#define PACKET_BURST_GENERATOR_H_
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#include <rte_mbuf.h>
#include <rte_ether.h>
#include <rte_arp.h>
@@ -17,6 +13,10 @@ extern "C" {
#include <rte_tcp.h>
#include <rte_sctp.h>
+#ifdef __cplusplus
+extern "C" {
+#endif
+
#define IPV4_ADDR(a, b, c, d)(((a & 0xff) << 24) | ((b & 0xff) << 16) | \
((c & 0xff) << 8) | (d & 0xff))
diff --git a/app/test/virtual_pmd.h b/app/test/virtual_pmd.h
index 120b58b273..a5a71d7cb4 100644
--- a/app/test/virtual_pmd.h
+++ b/app/test/virtual_pmd.h
@@ -5,12 +5,12 @@
#ifndef __VIRTUAL_ETHDEV_H_
#define __VIRTUAL_ETHDEV_H_
+#include <rte_ether.h>
+
#ifdef __cplusplus
extern "C" {
#endif
-#include <rte_ether.h>
-
int
virtual_ethdev_init(void);
diff --git a/drivers/bus/auxiliary/bus_auxiliary_driver.h b/drivers/bus/auxiliary/bus_auxiliary_driver.h
index 58fb7c7f69..40ab1f0912 100644
--- a/drivers/bus/auxiliary/bus_auxiliary_driver.h
+++ b/drivers/bus/auxiliary/bus_auxiliary_driver.h
@@ -11,10 +11,6 @@
* Auxiliary Bus Interface.
*/
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#include <stdio.h>
#include <stdlib.h>
#include <limits.h>
@@ -28,6 +24,10 @@ extern "C" {
#include <dev_driver.h>
#include <rte_kvargs.h>
+#ifdef __cplusplus
+extern "C" {
+#endif
+
#define RTE_BUS_AUXILIARY_NAME "auxiliary"
/* Forward declarations */
diff --git a/drivers/bus/cdx/bus_cdx_driver.h b/drivers/bus/cdx/bus_cdx_driver.h
index 211f8e406b..d390e7b5a1 100644
--- a/drivers/bus/cdx/bus_cdx_driver.h
+++ b/drivers/bus/cdx/bus_cdx_driver.h
@@ -10,10 +10,6 @@
* AMD CDX bus interface
*/
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#include <stdlib.h>
#include <inttypes.h>
#include <linux/types.h>
@@ -22,6 +18,10 @@ extern "C" {
#include <dev_driver.h>
#include <rte_interrupts.h>
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/* Forward declarations */
struct rte_cdx_device;
struct rte_cdx_driver;
diff --git a/drivers/bus/dpaa/include/fsl_qman.h b/drivers/bus/dpaa/include/fsl_qman.h
index c0677976e8..f39007b84d 100644
--- a/drivers/bus/dpaa/include/fsl_qman.h
+++ b/drivers/bus/dpaa/include/fsl_qman.h
@@ -8,14 +8,14 @@
#ifndef __FSL_QMAN_H
#define __FSL_QMAN_H
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#include <dpaa_rbtree.h>
#include <rte_compat.h>
#include <rte_eventdev.h>
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/* FQ lookups (turn this on for 64bit user-space) */
#ifdef RTE_ARCH_64
#define CONFIG_FSL_QMAN_FQ_LOOKUP
diff --git a/drivers/bus/fslmc/bus_fslmc_driver.h b/drivers/bus/fslmc/bus_fslmc_driver.h
index 7ac5fe6ff1..3095458133 100644
--- a/drivers/bus/fslmc/bus_fslmc_driver.h
+++ b/drivers/bus/fslmc/bus_fslmc_driver.h
@@ -13,10 +13,6 @@
* RTE FSLMC Bus Interface
*/
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#include <stdio.h>
#include <stdlib.h>
#include <limits.h>
@@ -40,6 +36,10 @@ extern "C" {
#include "portal/dpaa2_hw_pvt.h"
#include "portal/dpaa2_hw_dpio.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
#define FSLMC_OBJECT_MAX_LEN 32 /**< Length of each device on bus */
#define DPAA2_INVALID_MBUF_SEQN 0
diff --git a/drivers/bus/pci/bus_pci_driver.h b/drivers/bus/pci/bus_pci_driver.h
index be32263a82..2cc1119072 100644
--- a/drivers/bus/pci/bus_pci_driver.h
+++ b/drivers/bus/pci/bus_pci_driver.h
@@ -6,14 +6,14 @@
#ifndef BUS_PCI_DRIVER_H
#define BUS_PCI_DRIVER_H
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#include <rte_bus_pci.h>
#include <dev_driver.h>
#include <rte_compat.h>
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/** Pathname of PCI devices directory. */
__rte_internal
const char *rte_pci_get_sysfs_path(void);
diff --git a/drivers/bus/pci/rte_bus_pci.h b/drivers/bus/pci/rte_bus_pci.h
index a3798cb1cb..19a7b15b99 100644
--- a/drivers/bus/pci/rte_bus_pci.h
+++ b/drivers/bus/pci/rte_bus_pci.h
@@ -11,10 +11,6 @@
* PCI device & driver interface
*/
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#include <stdio.h>
#include <stdlib.h>
#include <limits.h>
@@ -27,6 +23,10 @@ extern "C" {
#include <rte_interrupts.h>
#include <rte_pci.h>
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/* Forward declarations */
struct rte_pci_device;
struct rte_pci_driver;
diff --git a/drivers/bus/platform/bus_platform_driver.h b/drivers/bus/platform/bus_platform_driver.h
index 5ac54fb739..a6f246f7c4 100644
--- a/drivers/bus/platform/bus_platform_driver.h
+++ b/drivers/bus/platform/bus_platform_driver.h
@@ -10,10 +10,6 @@
* Platform bus interface.
*/
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#include <stddef.h>
#include <stdint.h>
@@ -23,6 +19,10 @@ extern "C" {
#include <rte_os.h>
#include <rte_vfio.h>
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/* Forward declarations */
struct rte_platform_bus;
struct rte_platform_device;
diff --git a/drivers/bus/vdev/bus_vdev_driver.h b/drivers/bus/vdev/bus_vdev_driver.h
index bc7e30d7c6..cba1fb5269 100644
--- a/drivers/bus/vdev/bus_vdev_driver.h
+++ b/drivers/bus/vdev/bus_vdev_driver.h
@@ -5,15 +5,15 @@
#ifndef BUS_VDEV_DRIVER_H
#define BUS_VDEV_DRIVER_H
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#include <rte_bus_vdev.h>
#include <rte_compat.h>
#include <dev_driver.h>
#include <rte_devargs.h>
+#ifdef __cplusplus
+extern "C" {
+#endif
+
struct rte_vdev_device {
RTE_TAILQ_ENTRY(rte_vdev_device) next; /**< Next attached vdev */
struct rte_device device; /**< Inherit core device */
diff --git a/drivers/bus/vmbus/bus_vmbus_driver.h b/drivers/bus/vmbus/bus_vmbus_driver.h
index e2475a642d..bc394208de 100644
--- a/drivers/bus/vmbus/bus_vmbus_driver.h
+++ b/drivers/bus/vmbus/bus_vmbus_driver.h
@@ -6,14 +6,14 @@
#ifndef BUS_VMBUS_DRIVER_H
#define BUS_VMBUS_DRIVER_H
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#include <rte_bus_vmbus.h>
#include <rte_compat.h>
#include <dev_driver.h>
+#ifdef __cplusplus
+extern "C" {
+#endif
+
struct vmbus_channel;
struct vmbus_mon_page;
diff --git a/drivers/bus/vmbus/rte_bus_vmbus.h b/drivers/bus/vmbus/rte_bus_vmbus.h
index 9467bd8f3d..fd18bca73c 100644
--- a/drivers/bus/vmbus/rte_bus_vmbus.h
+++ b/drivers/bus/vmbus/rte_bus_vmbus.h
@@ -11,10 +11,6 @@
*
* VMBUS Interface
*/
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#include <stdio.h>
#include <stdlib.h>
#include <limits.h>
@@ -28,6 +24,10 @@ extern "C" {
#include <rte_interrupts.h>
#include <rte_vmbus_reg.h>
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/* Forward declarations */
struct rte_vmbus_device;
struct rte_vmbus_driver;
diff --git a/drivers/dma/cnxk/cnxk_dma_event_dp.h b/drivers/dma/cnxk/cnxk_dma_event_dp.h
index 06b5ca8279..8c6cf5dd9a 100644
--- a/drivers/dma/cnxk/cnxk_dma_event_dp.h
+++ b/drivers/dma/cnxk/cnxk_dma_event_dp.h
@@ -5,16 +5,16 @@
#ifndef _CNXK_DMA_EVENT_DP_H_
#define _CNXK_DMA_EVENT_DP_H_
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#include <stdint.h>
#include <rte_common.h>
#include <rte_compat.h>
#include <rte_eventdev.h>
+#ifdef __cplusplus
+extern "C" {
+#endif
+
__rte_internal
uint16_t cn10k_dma_adapter_enqueue(void *ws, struct rte_event ev[], uint16_t nb_events);
diff --git a/drivers/dma/ioat/ioat_hw_defs.h b/drivers/dma/ioat/ioat_hw_defs.h
index dc3493a78f..11893951f2 100644
--- a/drivers/dma/ioat/ioat_hw_defs.h
+++ b/drivers/dma/ioat/ioat_hw_defs.h
@@ -5,12 +5,12 @@
#ifndef IOAT_HW_DEFS_H
#define IOAT_HW_DEFS_H
+#include <stdint.h>
+
#ifdef __cplusplus
extern "C" {
#endif
-#include <stdint.h>
-
#define IOAT_PCI_CHANERR_INT_OFFSET 0x180
#define IOAT_VER_3_0 0x30
diff --git a/drivers/event/dlb2/rte_pmd_dlb2.h b/drivers/event/dlb2/rte_pmd_dlb2.h
index 334c6c356d..dba7fd2f43 100644
--- a/drivers/event/dlb2/rte_pmd_dlb2.h
+++ b/drivers/event/dlb2/rte_pmd_dlb2.h
@@ -11,14 +11,14 @@
#ifndef _RTE_PMD_DLB2_H_
#define _RTE_PMD_DLB2_H_
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#include <stdint.h>
#include <rte_compat.h>
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/**
* @warning
* @b EXPERIMENTAL: this API may change, or be removed, without prior notice
diff --git a/drivers/mempool/dpaa2/rte_dpaa2_mempool.h b/drivers/mempool/dpaa2/rte_dpaa2_mempool.h
index 7fe3d93f61..0286090b1b 100644
--- a/drivers/mempool/dpaa2/rte_dpaa2_mempool.h
+++ b/drivers/mempool/dpaa2/rte_dpaa2_mempool.h
@@ -12,13 +12,13 @@
*
*/
+#include <rte_compat.h>
+#include <rte_mempool.h>
+
#ifdef __cplusplus
extern "C" {
#endif
-#include <rte_compat.h>
-#include <rte_mempool.h>
-
/**
* Get BPID corresponding to the packet pool
*
diff --git a/drivers/net/avp/rte_avp_fifo.h b/drivers/net/avp/rte_avp_fifo.h
index c1658da685..879de3b1c0 100644
--- a/drivers/net/avp/rte_avp_fifo.h
+++ b/drivers/net/avp/rte_avp_fifo.h
@@ -8,10 +8,6 @@
#include "rte_avp_common.h"
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#ifdef __KERNEL__
/* Write memory barrier for kernel compiles */
#define AVP_WMB() smp_wmb()
@@ -27,6 +23,10 @@ extern "C" {
#ifndef __KERNEL__
#include <rte_debug.h>
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/**
* Initializes the avp fifo structure
*/
diff --git a/drivers/net/bonding/rte_eth_bond.h b/drivers/net/bonding/rte_eth_bond.h
index f10165f2c6..e59ff8793e 100644
--- a/drivers/net/bonding/rte_eth_bond.h
+++ b/drivers/net/bonding/rte_eth_bond.h
@@ -17,12 +17,12 @@
* load balancing of network ports
*/
+#include <rte_ether.h>
+
#ifdef __cplusplus
extern "C" {
#endif
-#include <rte_ether.h>
-
/* Supported modes of operation of link bonding library */
#define BONDING_MODE_ROUND_ROBIN (0)
diff --git a/drivers/net/i40e/rte_pmd_i40e.h b/drivers/net/i40e/rte_pmd_i40e.h
index a802f989e9..5af7e2330f 100644
--- a/drivers/net/i40e/rte_pmd_i40e.h
+++ b/drivers/net/i40e/rte_pmd_i40e.h
@@ -14,14 +14,14 @@
*
*/
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#include <rte_compat.h>
#include <rte_ethdev.h>
#include <rte_ether.h>
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/**
* Response sent back to i40e driver from user app after callback
*/
diff --git a/drivers/net/mlx5/mlx5_trace.h b/drivers/net/mlx5/mlx5_trace.h
index 888d96f60b..a8f0b372c8 100644
--- a/drivers/net/mlx5/mlx5_trace.h
+++ b/drivers/net/mlx5/mlx5_trace.h
@@ -11,14 +11,14 @@
* API for mlx5 PMD trace support
*/
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#include <mlx5_prm.h>
#include <rte_mbuf.h>
#include <rte_trace_point.h>
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/* TX burst subroutines trace points. */
RTE_TRACE_POINT_FP(
rte_pmd_mlx5_trace_tx_entry,
diff --git a/drivers/net/ring/rte_eth_ring.h b/drivers/net/ring/rte_eth_ring.h
index 59e074d0ad..98292c7b33 100644
--- a/drivers/net/ring/rte_eth_ring.h
+++ b/drivers/net/ring/rte_eth_ring.h
@@ -5,12 +5,12 @@
#ifndef _RTE_ETH_RING_H_
#define _RTE_ETH_RING_H_
+#include <rte_ring.h>
+
#ifdef __cplusplus
extern "C" {
#endif
-#include <rte_ring.h>
-
/**
* Create a new ethdev port from a set of rings
*
diff --git a/drivers/net/vhost/rte_eth_vhost.h b/drivers/net/vhost/rte_eth_vhost.h
index 0e68b9f668..6ec59a7adc 100644
--- a/drivers/net/vhost/rte_eth_vhost.h
+++ b/drivers/net/vhost/rte_eth_vhost.h
@@ -5,15 +5,15 @@
#ifndef _RTE_ETH_VHOST_H_
#define _RTE_ETH_VHOST_H_
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#include <stdint.h>
#include <stdbool.h>
#include <rte_vhost.h>
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/*
* Event description.
*/
diff --git a/drivers/raw/ifpga/afu_pmd_core.h b/drivers/raw/ifpga/afu_pmd_core.h
index a8f1afe343..abf9e491f7 100644
--- a/drivers/raw/ifpga/afu_pmd_core.h
+++ b/drivers/raw/ifpga/afu_pmd_core.h
@@ -5,10 +5,6 @@
#ifndef AFU_PMD_CORE_H
#define AFU_PMD_CORE_H
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#include <stdint.h>
#include <stdio.h>
#include <unistd.h>
@@ -20,6 +16,10 @@ extern "C" {
#include "ifpga_rawdev.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
#define AFU_RAWDEV_MAX_DRVS 32
struct afu_rawdev;
diff --git a/drivers/raw/ifpga/afu_pmd_he_hssi.h b/drivers/raw/ifpga/afu_pmd_he_hssi.h
index aebbe32d54..282289d912 100644
--- a/drivers/raw/ifpga/afu_pmd_he_hssi.h
+++ b/drivers/raw/ifpga/afu_pmd_he_hssi.h
@@ -5,13 +5,13 @@
#ifndef AFU_PMD_HE_HSSI_H
#define AFU_PMD_HE_HSSI_H
+#include "afu_pmd_core.h"
+#include "rte_pmd_afu.h"
+
#ifdef __cplusplus
extern "C" {
#endif
-#include "afu_pmd_core.h"
-#include "rte_pmd_afu.h"
-
#define HE_HSSI_UUID_L 0xbb370242ac130002
#define HE_HSSI_UUID_H 0x823c334c98bf11ea
#define NUM_HE_HSSI_PORTS 8
diff --git a/drivers/raw/ifpga/afu_pmd_he_lpbk.h b/drivers/raw/ifpga/afu_pmd_he_lpbk.h
index eab7b55199..67b3653c21 100644
--- a/drivers/raw/ifpga/afu_pmd_he_lpbk.h
+++ b/drivers/raw/ifpga/afu_pmd_he_lpbk.h
@@ -5,13 +5,13 @@
#ifndef AFU_PMD_HE_LPBK_H
#define AFU_PMD_HE_LPBK_H
+#include "afu_pmd_core.h"
+#include "rte_pmd_afu.h"
+
#ifdef __cplusplus
extern "C" {
#endif
-#include "afu_pmd_core.h"
-#include "rte_pmd_afu.h"
-
#define HE_LPBK_UUID_L 0xb94b12284c31e02b
#define HE_LPBK_UUID_H 0x56e203e9864f49a7
#define HE_MEM_LPBK_UUID_L 0xbb652a578330a8eb
diff --git a/drivers/raw/ifpga/afu_pmd_he_mem.h b/drivers/raw/ifpga/afu_pmd_he_mem.h
index 998ca92416..41854d8c58 100644
--- a/drivers/raw/ifpga/afu_pmd_he_mem.h
+++ b/drivers/raw/ifpga/afu_pmd_he_mem.h
@@ -5,13 +5,13 @@
#ifndef AFU_PMD_HE_MEM_H
#define AFU_PMD_HE_MEM_H
+#include "afu_pmd_core.h"
+#include "rte_pmd_afu.h"
+
#ifdef __cplusplus
extern "C" {
#endif
-#include "afu_pmd_core.h"
-#include "rte_pmd_afu.h"
-
#define HE_MEM_TG_UUID_L 0xa3dc5b831f5cecbb
#define HE_MEM_TG_UUID_H 0x4dadea342c7848cb
diff --git a/drivers/raw/ifpga/afu_pmd_n3000.h b/drivers/raw/ifpga/afu_pmd_n3000.h
index 403cc64b91..f6b6e07c6b 100644
--- a/drivers/raw/ifpga/afu_pmd_n3000.h
+++ b/drivers/raw/ifpga/afu_pmd_n3000.h
@@ -5,13 +5,13 @@
#ifndef AFU_PMD_N3000_H
#define AFU_PMD_N3000_H
+#include "afu_pmd_core.h"
+#include "rte_pmd_afu.h"
+
#ifdef __cplusplus
extern "C" {
#endif
-#include "afu_pmd_core.h"
-#include "rte_pmd_afu.h"
-
#define N3000_AFU_UUID_L 0xc000c9660d824272
#define N3000_AFU_UUID_H 0x9aeffe5f84570612
#define N3000_NLB0_UUID_L 0xf89e433683f9040b
diff --git a/drivers/raw/ifpga/rte_pmd_afu.h b/drivers/raw/ifpga/rte_pmd_afu.h
index 5403ed25f5..0edacc3a9c 100644
--- a/drivers/raw/ifpga/rte_pmd_afu.h
+++ b/drivers/raw/ifpga/rte_pmd_afu.h
@@ -14,12 +14,12 @@
*
*/
+#include <stdint.h>
+
#ifdef __cplusplus
extern "C" {
#endif
-#include <stdint.h>
-
#define RTE_PMD_AFU_N3000_NLB 1
#define RTE_PMD_AFU_N3000_DMA 2
diff --git a/drivers/raw/ifpga/rte_pmd_ifpga.h b/drivers/raw/ifpga/rte_pmd_ifpga.h
index 791543f2cd..36b7f9c018 100644
--- a/drivers/raw/ifpga/rte_pmd_ifpga.h
+++ b/drivers/raw/ifpga/rte_pmd_ifpga.h
@@ -14,12 +14,12 @@
*
*/
+#include <stdint.h>
+
#ifdef __cplusplus
extern "C" {
#endif
-#include <stdint.h>
-
#define IFPGA_MAX_PORT_NUM 4
/**
diff --git a/examples/ethtool/lib/rte_ethtool.h b/examples/ethtool/lib/rte_ethtool.h
index d27e0102b1..c7dd3d9755 100644
--- a/examples/ethtool/lib/rte_ethtool.h
+++ b/examples/ethtool/lib/rte_ethtool.h
@@ -30,14 +30,14 @@
* rte_ethtool_net_set_rx_mode net_device_ops::ndo_set_rx_mode
*
*/
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#include <stdint.h>
#include <rte_ethdev.h>
#include <linux/ethtool.h>
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/**
* Retrieve the Ethernet device driver information according to
* attributes described by ethtool data structure, ethtool_drvinfo.
diff --git a/examples/qos_sched/main.h b/examples/qos_sched/main.h
index 04e77a4a10..ea66df0434 100644
--- a/examples/qos_sched/main.h
+++ b/examples/qos_sched/main.h
@@ -5,12 +5,12 @@
#ifndef _MAIN_H_
#define _MAIN_H_
+#include <rte_sched.h>
+
#ifdef __cplusplus
extern "C" {
#endif
-#include <rte_sched.h>
-
#define RTE_LOGTYPE_APP RTE_LOGTYPE_USER1
/*
diff --git a/examples/vm_power_manager/channel_manager.h b/examples/vm_power_manager/channel_manager.h
index eb989b20ad..6f70539815 100644
--- a/examples/vm_power_manager/channel_manager.h
+++ b/examples/vm_power_manager/channel_manager.h
@@ -5,16 +5,16 @@
#ifndef CHANNEL_MANAGER_H_
#define CHANNEL_MANAGER_H_
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#include <linux/limits.h>
#include <linux/un.h>
#include <stdbool.h>
#include <rte_stdatomic.h>
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/* Maximum name length including '\0' terminator */
#define CHANNEL_MGR_MAX_NAME_LEN 64
diff --git a/lib/acl/rte_acl_osdep.h b/lib/acl/rte_acl_osdep.h
index 3c1dc402ca..e4c7d07c69 100644
--- a/lib/acl/rte_acl_osdep.h
+++ b/lib/acl/rte_acl_osdep.h
@@ -5,10 +5,6 @@
#ifndef _RTE_ACL_OSDEP_H_
#define _RTE_ACL_OSDEP_H_
-#ifdef __cplusplus
-extern "C" {
-#endif
-
/**
* @file
*
@@ -49,6 +45,10 @@ extern "C" {
#include <rte_cpuflags.h>
#include <rte_debug.h>
+#ifdef __cplusplus
+extern "C" {
+#endif
+
#ifdef __cplusplus
}
#endif
diff --git a/lib/bbdev/rte_bbdev.h b/lib/bbdev/rte_bbdev.h
index 0cbfdd1c95..9e83dd2bb0 100644
--- a/lib/bbdev/rte_bbdev.h
+++ b/lib/bbdev/rte_bbdev.h
@@ -20,10 +20,6 @@
* from the same queue.
*/
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#include <stdint.h>
#include <stdbool.h>
@@ -32,6 +28,10 @@ extern "C" {
#include "rte_bbdev_op.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
#ifndef RTE_BBDEV_MAX_DEVS
#define RTE_BBDEV_MAX_DEVS 128 /**< Max number of devices */
#endif
diff --git a/lib/bbdev/rte_bbdev_op.h b/lib/bbdev/rte_bbdev_op.h
index 459631d0d0..6f4bae7d0f 100644
--- a/lib/bbdev/rte_bbdev_op.h
+++ b/lib/bbdev/rte_bbdev_op.h
@@ -11,10 +11,6 @@
* Defines wireless base band layer 1 operations and capabilities
*/
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#include <stdint.h>
#include <rte_compat.h>
@@ -23,6 +19,10 @@ extern "C" {
#include <rte_memory.h>
#include <rte_mempool.h>
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/* Number of columns in sub-block interleaver (36.212, section 5.1.4.1.1) */
#define RTE_BBDEV_TURBO_C_SUBBLOCK (32)
/* Maximum size of Transport Block (36.213, Table, Table 7.1.7.2.5-1) */
diff --git a/lib/bbdev/rte_bbdev_pmd.h b/lib/bbdev/rte_bbdev_pmd.h
index 442b23943d..0a1738fc05 100644
--- a/lib/bbdev/rte_bbdev_pmd.h
+++ b/lib/bbdev/rte_bbdev_pmd.h
@@ -14,15 +14,15 @@
* bbdev interface. User applications should not use this API.
*/
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#include <stdint.h>
#include <rte_log.h>
#include "rte_bbdev.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/** Suggested value for SW based devices */
#define RTE_BBDEV_DEFAULT_MAX_NB_QUEUES RTE_MAX_LCORE
diff --git a/lib/bpf/bpf_def.h b/lib/bpf/bpf_def.h
index f08cd9106b..9f2e162914 100644
--- a/lib/bpf/bpf_def.h
+++ b/lib/bpf/bpf_def.h
@@ -7,10 +7,6 @@
#ifndef _RTE_BPF_DEF_H_
#define _RTE_BPF_DEF_H_
-#ifdef __cplusplus
-extern "C" {
-#endif
-
/**
* @file
*
@@ -25,6 +21,10 @@ extern "C" {
#include <stdint.h>
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/*
* The instruction encodings.
diff --git a/lib/compressdev/rte_comp.h b/lib/compressdev/rte_comp.h
index 830a240b6b..d66a4b1cb9 100644
--- a/lib/compressdev/rte_comp.h
+++ b/lib/compressdev/rte_comp.h
@@ -11,12 +11,12 @@
* RTE definitions for Data Compression Service
*/
+#include <rte_mbuf.h>
+
#ifdef __cplusplus
extern "C" {
#endif
-#include <rte_mbuf.h>
-
/**
* compression service feature flags
*
diff --git a/lib/compressdev/rte_compressdev.h b/lib/compressdev/rte_compressdev.h
index e0294a18bd..b3392553a6 100644
--- a/lib/compressdev/rte_compressdev.h
+++ b/lib/compressdev/rte_compressdev.h
@@ -13,13 +13,13 @@
* Defines comp device APIs for the provisioning of compression operations.
*/
+
+#include "rte_comp.h"
+
#ifdef __cplusplus
extern "C" {
#endif
-
-#include "rte_comp.h"
-
/**
* Parameter log base 2 range description.
* Final value will be 2^value.
diff --git a/lib/compressdev/rte_compressdev_internal.h b/lib/compressdev/rte_compressdev_internal.h
index 67f8b51a37..a980d74cbf 100644
--- a/lib/compressdev/rte_compressdev_internal.h
+++ b/lib/compressdev/rte_compressdev_internal.h
@@ -5,10 +5,6 @@
#ifndef _RTE_COMPRESSDEV_INTERNAL_H_
#define _RTE_COMPRESSDEV_INTERNAL_H_
-#ifdef __cplusplus
-extern "C" {
-#endif
-
/* rte_compressdev_internal.h
* This file holds Compressdev private data structures.
*/
@@ -16,6 +12,10 @@ extern "C" {
#include "rte_comp.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
#define RTE_COMPRESSDEV_NAME_MAX_LEN (64)
/**< Max length of name of comp PMD */
diff --git a/lib/compressdev/rte_compressdev_pmd.h b/lib/compressdev/rte_compressdev_pmd.h
index 32e29c9d16..ea721f014d 100644
--- a/lib/compressdev/rte_compressdev_pmd.h
+++ b/lib/compressdev/rte_compressdev_pmd.h
@@ -13,10 +13,6 @@
* them directly.
*/
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#include <string.h>
#include <dev_driver.h>
@@ -24,6 +20,10 @@ extern "C" {
#include "rte_compressdev.h"
#include "rte_compressdev_internal.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
#define RTE_COMPRESSDEV_PMD_NAME_ARG ("name")
#define RTE_COMPRESSDEV_PMD_SOCKET_ID_ARG ("socket_id")
diff --git a/lib/cryptodev/cryptodev_pmd.h b/lib/cryptodev/cryptodev_pmd.h
index 6c114f7181..3e2e2673b8 100644
--- a/lib/cryptodev/cryptodev_pmd.h
+++ b/lib/cryptodev/cryptodev_pmd.h
@@ -5,10 +5,6 @@
#ifndef _CRYPTODEV_PMD_H_
#define _CRYPTODEV_PMD_H_
-#ifdef __cplusplus
-extern "C" {
-#endif
-
/** @file
* RTE Crypto PMD APIs
*
@@ -28,6 +24,10 @@ extern "C" {
#include "rte_crypto.h"
#include "rte_cryptodev.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
#define RTE_CRYPTODEV_PMD_DEFAULT_MAX_NB_QUEUE_PAIRS 8
diff --git a/lib/cryptodev/cryptodev_trace.h b/lib/cryptodev/cryptodev_trace.h
index 935f0d564b..e186f0f3c1 100644
--- a/lib/cryptodev/cryptodev_trace.h
+++ b/lib/cryptodev/cryptodev_trace.h
@@ -11,14 +11,14 @@
* API for cryptodev trace support
*/
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#include <rte_trace_point.h>
#include "rte_cryptodev.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
RTE_TRACE_POINT(
rte_cryptodev_trace_configure,
RTE_TRACE_POINT_ARGS(uint8_t dev_id,
diff --git a/lib/cryptodev/rte_crypto.h b/lib/cryptodev/rte_crypto.h
index dbc2700da5..dcf4a36fb2 100644
--- a/lib/cryptodev/rte_crypto.h
+++ b/lib/cryptodev/rte_crypto.h
@@ -11,10 +11,6 @@
* RTE Cryptography Common Definitions
*/
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#include <rte_mbuf.h>
#include <rte_memory.h>
@@ -24,6 +20,10 @@ extern "C" {
#include "rte_crypto_sym.h"
#include "rte_crypto_asym.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/** Crypto operation types */
enum rte_crypto_op_type {
RTE_CRYPTO_OP_TYPE_UNDEFINED,
diff --git a/lib/cryptodev/rte_crypto_asym.h b/lib/cryptodev/rte_crypto_asym.h
index 39d3da3952..4b7ea36961 100644
--- a/lib/cryptodev/rte_crypto_asym.h
+++ b/lib/cryptodev/rte_crypto_asym.h
@@ -14,10 +14,6 @@
* asymmetric crypto operations.
*/
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#include <string.h>
#include <stdint.h>
@@ -27,6 +23,10 @@ extern "C" {
#include "rte_crypto_sym.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
struct rte_cryptodev_asym_session;
/** asym key exchange operation type name strings */
diff --git a/lib/cryptodev/rte_crypto_sym.h b/lib/cryptodev/rte_crypto_sym.h
index 53b18b9412..fb73024010 100644
--- a/lib/cryptodev/rte_crypto_sym.h
+++ b/lib/cryptodev/rte_crypto_sym.h
@@ -14,10 +14,6 @@
* as supported symmetric crypto operation combinations.
*/
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#include <string.h>
#include <rte_compat.h>
@@ -26,6 +22,10 @@ extern "C" {
#include <rte_mempool.h>
#include <rte_common.h>
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/**
* Crypto IO Vector (in analogy with struct iovec)
* Supposed be used to pass input/output data buffers for crypto data-path
diff --git a/lib/cryptodev/rte_cryptodev.h b/lib/cryptodev/rte_cryptodev.h
index bec947f6d5..8051c5a6a3 100644
--- a/lib/cryptodev/rte_cryptodev.h
+++ b/lib/cryptodev/rte_cryptodev.h
@@ -14,10 +14,6 @@
* authentication operations.
*/
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#include <rte_compat.h>
#include "rte_kvargs.h"
#include "rte_crypto.h"
@@ -1859,6 +1855,10 @@ int rte_cryptodev_remove_deq_callback(uint8_t dev_id,
struct rte_cryptodev_cb *cb);
#include <rte_cryptodev_core.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
/**
*
* Dequeue a burst of processed crypto operations from a queue on the crypto
diff --git a/lib/cryptodev/rte_cryptodev_trace_fp.h b/lib/cryptodev/rte_cryptodev_trace_fp.h
index dbfbc7b2e5..f23f882804 100644
--- a/lib/cryptodev/rte_cryptodev_trace_fp.h
+++ b/lib/cryptodev/rte_cryptodev_trace_fp.h
@@ -5,12 +5,12 @@
#ifndef _RTE_CRYPTODEV_TRACE_FP_H_
#define _RTE_CRYPTODEV_TRACE_FP_H_
+#include <rte_trace_point.h>
+
#ifdef __cplusplus
extern "C" {
#endif
-#include <rte_trace_point.h>
-
RTE_TRACE_POINT_FP(
rte_cryptodev_trace_enqueue_burst,
RTE_TRACE_POINT_ARGS(uint8_t dev_id, uint16_t qp_id, void **ops,
diff --git a/lib/dispatcher/rte_dispatcher.h b/lib/dispatcher/rte_dispatcher.h
index d8182d5f2c..ba2c353073 100644
--- a/lib/dispatcher/rte_dispatcher.h
+++ b/lib/dispatcher/rte_dispatcher.h
@@ -19,16 +19,16 @@
* event device.
*/
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#include <stdbool.h>
#include <stdint.h>
#include <rte_compat.h>
#include <rte_eventdev.h>
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/**
* Function prototype for match callbacks.
*
diff --git a/lib/dmadev/rte_dmadev.h b/lib/dmadev/rte_dmadev.h
index 5474a5281d..d174d325a1 100644
--- a/lib/dmadev/rte_dmadev.h
+++ b/lib/dmadev/rte_dmadev.h
@@ -772,9 +772,17 @@ struct rte_dma_sge {
uint32_t length; /**< The DMA operation length. */
};
+#ifdef __cplusplus
+}
+#endif
+
#include "rte_dmadev_core.h"
#include "rte_dmadev_trace_fp.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/**@{@name DMA operation flag
* @see rte_dma_copy()
* @see rte_dma_copy_sg()
diff --git a/lib/eal/arm/include/rte_atomic_32.h b/lib/eal/arm/include/rte_atomic_32.h
index 62fc33773d..0b9a0dfa30 100644
--- a/lib/eal/arm/include/rte_atomic_32.h
+++ b/lib/eal/arm/include/rte_atomic_32.h
@@ -9,12 +9,12 @@
# error Platform must be built with RTE_FORCE_INTRINSICS
#endif
+#include "generic/rte_atomic.h"
+
#ifdef __cplusplus
extern "C" {
#endif
-#include "generic/rte_atomic.h"
-
#define rte_mb() __sync_synchronize()
#define rte_wmb() do { asm volatile ("dmb st" : : : "memory"); } while (0)
diff --git a/lib/eal/arm/include/rte_atomic_64.h b/lib/eal/arm/include/rte_atomic_64.h
index 7c99fc0a02..181bb60929 100644
--- a/lib/eal/arm/include/rte_atomic_64.h
+++ b/lib/eal/arm/include/rte_atomic_64.h
@@ -10,14 +10,14 @@
# error Platform must be built with RTE_FORCE_INTRINSICS
#endif
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#include "generic/rte_atomic.h"
#include <rte_branch_prediction.h>
#include <rte_debug.h>
+#ifdef __cplusplus
+extern "C" {
+#endif
+
#define rte_mb() asm volatile("dmb osh" : : : "memory")
#define rte_wmb() asm volatile("dmb oshst" : : : "memory")
diff --git a/lib/eal/arm/include/rte_byteorder.h b/lib/eal/arm/include/rte_byteorder.h
index ff02052f2e..a0aaff4a28 100644
--- a/lib/eal/arm/include/rte_byteorder.h
+++ b/lib/eal/arm/include/rte_byteorder.h
@@ -9,14 +9,14 @@
# error Platform must be built with RTE_FORCE_INTRINSICS
#endif
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#include <stdint.h>
#include <rte_common.h>
#include "generic/rte_byteorder.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/* ARM architecture is bi-endian (both big and little). */
#if RTE_BYTE_ORDER == RTE_LITTLE_ENDIAN
diff --git a/lib/eal/arm/include/rte_cpuflags_32.h b/lib/eal/arm/include/rte_cpuflags_32.h
index 770b09b99d..7e33acd9fb 100644
--- a/lib/eal/arm/include/rte_cpuflags_32.h
+++ b/lib/eal/arm/include/rte_cpuflags_32.h
@@ -5,10 +5,6 @@
#ifndef _RTE_CPUFLAGS_ARM32_H_
#define _RTE_CPUFLAGS_ARM32_H_
-#ifdef __cplusplus
-extern "C" {
-#endif
-
/**
* Enumeration of all CPU features supported
*/
@@ -46,6 +42,10 @@ enum rte_cpu_flag_t {
#include "generic/rte_cpuflags.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
#ifdef __cplusplus
}
#endif
diff --git a/lib/eal/arm/include/rte_cpuflags_64.h b/lib/eal/arm/include/rte_cpuflags_64.h
index afe70209c3..f84633159e 100644
--- a/lib/eal/arm/include/rte_cpuflags_64.h
+++ b/lib/eal/arm/include/rte_cpuflags_64.h
@@ -5,10 +5,6 @@
#ifndef _RTE_CPUFLAGS_ARM64_H_
#define _RTE_CPUFLAGS_ARM64_H_
-#ifdef __cplusplus
-extern "C" {
-#endif
-
/**
* Enumeration of all CPU features supported
*/
@@ -40,6 +36,10 @@ enum rte_cpu_flag_t {
#include "generic/rte_cpuflags.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
#ifdef __cplusplus
}
#endif
diff --git a/lib/eal/arm/include/rte_cycles_32.h b/lib/eal/arm/include/rte_cycles_32.h
index 859cd2e5bb..2b20c8c6f5 100644
--- a/lib/eal/arm/include/rte_cycles_32.h
+++ b/lib/eal/arm/include/rte_cycles_32.h
@@ -15,12 +15,12 @@
#include <time.h>
+#include "generic/rte_cycles.h"
+
#ifdef __cplusplus
extern "C" {
#endif
-#include "generic/rte_cycles.h"
-
/**
* Read the time base register.
*
diff --git a/lib/eal/arm/include/rte_cycles_64.h b/lib/eal/arm/include/rte_cycles_64.h
index 8b05302f47..bb76e4d7e0 100644
--- a/lib/eal/arm/include/rte_cycles_64.h
+++ b/lib/eal/arm/include/rte_cycles_64.h
@@ -6,12 +6,12 @@
#ifndef _RTE_CYCLES_ARM64_H_
#define _RTE_CYCLES_ARM64_H_
+#include "generic/rte_cycles.h"
+
#ifdef __cplusplus
extern "C" {
#endif
-#include "generic/rte_cycles.h"
-
/** Read generic counter frequency */
static __rte_always_inline uint64_t
__rte_arm64_cntfrq(void)
diff --git a/lib/eal/arm/include/rte_io.h b/lib/eal/arm/include/rte_io.h
index f4e66e6bad..ca1a353bed 100644
--- a/lib/eal/arm/include/rte_io.h
+++ b/lib/eal/arm/include/rte_io.h
@@ -5,16 +5,16 @@
#ifndef _RTE_IO_ARM_H_
#define _RTE_IO_ARM_H_
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#ifdef RTE_ARCH_64
#include "rte_io_64.h"
#else
#include "generic/rte_io.h"
#endif
+#ifdef __cplusplus
+extern "C" {
+#endif
+
#ifdef __cplusplus
}
#endif
diff --git a/lib/eal/arm/include/rte_io_64.h b/lib/eal/arm/include/rte_io_64.h
index 96da7789ce..88db82a7eb 100644
--- a/lib/eal/arm/include/rte_io_64.h
+++ b/lib/eal/arm/include/rte_io_64.h
@@ -5,10 +5,6 @@
#ifndef _RTE_IO_ARM64_H_
#define _RTE_IO_ARM64_H_
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#include <stdint.h>
#define RTE_OVERRIDE_IO_H
@@ -17,6 +13,10 @@ extern "C" {
#include <rte_compat.h>
#include "rte_atomic_64.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
static __rte_always_inline uint8_t
rte_read8_relaxed(const volatile void *addr)
{
diff --git a/lib/eal/arm/include/rte_memcpy_32.h b/lib/eal/arm/include/rte_memcpy_32.h
index fb3245b59c..99fd5757ca 100644
--- a/lib/eal/arm/include/rte_memcpy_32.h
+++ b/lib/eal/arm/include/rte_memcpy_32.h
@@ -8,10 +8,6 @@
#include <stdint.h>
#include <string.h>
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#include "generic/rte_memcpy.h"
#ifdef RTE_ARCH_ARM_NEON_MEMCPY
@@ -23,6 +19,10 @@ extern "C" {
/* ARM NEON Intrinsics are used to copy data */
#include <arm_neon.h>
+#ifdef __cplusplus
+extern "C" {
+#endif
+
static inline void
rte_mov16(uint8_t *dst, const uint8_t *src)
{
diff --git a/lib/eal/arm/include/rte_memcpy_64.h b/lib/eal/arm/include/rte_memcpy_64.h
index 85ad587bd3..5adc238149 100644
--- a/lib/eal/arm/include/rte_memcpy_64.h
+++ b/lib/eal/arm/include/rte_memcpy_64.h
@@ -5,10 +5,6 @@
#ifndef _RTE_MEMCPY_ARM64_H_
#define _RTE_MEMCPY_ARM64_H_
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#include <stdint.h>
#include <string.h>
@@ -18,6 +14,10 @@ extern "C" {
#include <rte_common.h>
#include <rte_branch_prediction.h>
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/*
* The memory copy performance differs on different AArch64 micro-architectures.
* And the most recent glibc (e.g. 2.23 or later) can provide a better memcpy()
@@ -363,10 +363,10 @@ rte_mov256(uint8_t *dst, const uint8_t *src)
#define rte_memcpy(d, s, n) memcpy((d), (s), (n))
-#endif /* RTE_ARCH_ARM64_MEMCPY */
-
#ifdef __cplusplus
}
#endif
+#endif /* RTE_ARCH_ARM64_MEMCPY */
+
#endif /* _RTE_MEMCPY_ARM_64_H_ */
diff --git a/lib/eal/arm/include/rte_pause.h b/lib/eal/arm/include/rte_pause.h
index 6c7002ad98..b8a3d64b3a 100644
--- a/lib/eal/arm/include/rte_pause.h
+++ b/lib/eal/arm/include/rte_pause.h
@@ -5,16 +5,16 @@
#ifndef _RTE_PAUSE_ARM_H_
#define _RTE_PAUSE_ARM_H_
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#ifdef RTE_ARCH_64
#include <rte_pause_64.h>
#else
#include <rte_pause_32.h>
#endif
+#ifdef __cplusplus
+extern "C" {
+#endif
+
#ifdef __cplusplus
}
#endif
diff --git a/lib/eal/arm/include/rte_pause_32.h b/lib/eal/arm/include/rte_pause_32.h
index d4768c7a98..7870fac763 100644
--- a/lib/eal/arm/include/rte_pause_32.h
+++ b/lib/eal/arm/include/rte_pause_32.h
@@ -5,13 +5,13 @@
#ifndef _RTE_PAUSE_ARM32_H_
#define _RTE_PAUSE_ARM32_H_
+#include <rte_common.h>
+#include "generic/rte_pause.h"
+
#ifdef __cplusplus
extern "C" {
#endif
-#include <rte_common.h>
-#include "generic/rte_pause.h"
-
static inline void rte_pause(void)
{
}
diff --git a/lib/eal/arm/include/rte_pause_64.h b/lib/eal/arm/include/rte_pause_64.h
index 9e2dbf3531..1526bf87cc 100644
--- a/lib/eal/arm/include/rte_pause_64.h
+++ b/lib/eal/arm/include/rte_pause_64.h
@@ -6,10 +6,6 @@
#ifndef _RTE_PAUSE_ARM64_H_
#define _RTE_PAUSE_ARM64_H_
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#include <rte_common.h>
#include <rte_stdatomic.h>
@@ -19,6 +15,10 @@ extern "C" {
#include "generic/rte_pause.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
static inline void rte_pause(void)
{
asm volatile("yield" ::: "memory");
diff --git a/lib/eal/arm/include/rte_power_intrinsics.h b/lib/eal/arm/include/rte_power_intrinsics.h
index 9e498e9ebf..5481f45ad3 100644
--- a/lib/eal/arm/include/rte_power_intrinsics.h
+++ b/lib/eal/arm/include/rte_power_intrinsics.h
@@ -5,14 +5,14 @@
#ifndef _RTE_POWER_INTRINSIC_ARM_H_
#define _RTE_POWER_INTRINSIC_ARM_H_
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#include <rte_common.h>
#include "generic/rte_power_intrinsics.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
#ifdef __cplusplus
}
#endif
diff --git a/lib/eal/arm/include/rte_prefetch_32.h b/lib/eal/arm/include/rte_prefetch_32.h
index 0e9a140c8a..619bf27c79 100644
--- a/lib/eal/arm/include/rte_prefetch_32.h
+++ b/lib/eal/arm/include/rte_prefetch_32.h
@@ -5,14 +5,14 @@
#ifndef _RTE_PREFETCH_ARM32_H_
#define _RTE_PREFETCH_ARM32_H_
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#include <rte_compat.h>
#include <rte_common.h>
#include "generic/rte_prefetch.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
static inline void rte_prefetch0(const volatile void *p)
{
asm volatile ("pld [%0]" : : "r" (p));
diff --git a/lib/eal/arm/include/rte_prefetch_64.h b/lib/eal/arm/include/rte_prefetch_64.h
index 22cba48e29..4f60123b8b 100644
--- a/lib/eal/arm/include/rte_prefetch_64.h
+++ b/lib/eal/arm/include/rte_prefetch_64.h
@@ -5,14 +5,14 @@
#ifndef _RTE_PREFETCH_ARM_64_H_
#define _RTE_PREFETCH_ARM_64_H_
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#include <rte_compat.h>
#include <rte_common.h>
#include "generic/rte_prefetch.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
static inline void rte_prefetch0(const volatile void *p)
{
asm volatile ("PRFM PLDL1KEEP, [%0]" : : "r" (p));
diff --git a/lib/eal/arm/include/rte_rwlock.h b/lib/eal/arm/include/rte_rwlock.h
index 18bb37b036..727cabafec 100644
--- a/lib/eal/arm/include/rte_rwlock.h
+++ b/lib/eal/arm/include/rte_rwlock.h
@@ -5,12 +5,12 @@
#ifndef _RTE_RWLOCK_ARM_H_
#define _RTE_RWLOCK_ARM_H_
+#include "generic/rte_rwlock.h"
+
#ifdef __cplusplus
extern "C" {
#endif
-#include "generic/rte_rwlock.h"
-
static inline void
rte_rwlock_read_lock_tm(rte_rwlock_t *rwl)
{
diff --git a/lib/eal/arm/include/rte_spinlock.h b/lib/eal/arm/include/rte_spinlock.h
index a973763c23..a5d01b0d21 100644
--- a/lib/eal/arm/include/rte_spinlock.h
+++ b/lib/eal/arm/include/rte_spinlock.h
@@ -9,13 +9,13 @@
# error Platform must be built with RTE_FORCE_INTRINSICS
#endif
+#include <rte_common.h>
+#include "generic/rte_spinlock.h"
+
#ifdef __cplusplus
extern "C" {
#endif
-#include <rte_common.h>
-#include "generic/rte_spinlock.h"
-
static inline int rte_tm_supported(void)
{
return 0;
diff --git a/lib/eal/freebsd/include/rte_os.h b/lib/eal/freebsd/include/rte_os.h
index 003468caff..f31f6af12d 100644
--- a/lib/eal/freebsd/include/rte_os.h
+++ b/lib/eal/freebsd/include/rte_os.h
@@ -5,10 +5,6 @@
#ifndef _RTE_OS_H_
#define _RTE_OS_H_
-#ifdef __cplusplus
-extern "C" {
-#endif
-
/**
* This header should contain any definition
* which is not supported natively or named differently in FreeBSD.
@@ -17,6 +13,10 @@ extern "C" {
#include <pthread_np.h>
#include <sys/queue.h>
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/* These macros are compatible with system's sys/queue.h. */
#define RTE_TAILQ_HEAD(name, type) TAILQ_HEAD(name, type)
#define RTE_TAILQ_ENTRY(type) TAILQ_ENTRY(type)
diff --git a/lib/eal/include/bus_driver.h b/lib/eal/include/bus_driver.h
index 7b85a17a09..60527b75b6 100644
--- a/lib/eal/include/bus_driver.h
+++ b/lib/eal/include/bus_driver.h
@@ -5,16 +5,16 @@
#ifndef BUS_DRIVER_H
#define BUS_DRIVER_H
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#include <rte_bus.h>
#include <rte_compat.h>
#include <rte_dev.h>
#include <rte_eal.h>
#include <rte_tailq.h>
+#ifdef __cplusplus
+extern "C" {
+#endif
+
struct rte_devargs;
struct rte_device;
diff --git a/lib/eal/include/dev_driver.h b/lib/eal/include/dev_driver.h
index 5efa8c437e..f7a9c17dc3 100644
--- a/lib/eal/include/dev_driver.h
+++ b/lib/eal/include/dev_driver.h
@@ -5,13 +5,13 @@
#ifndef DEV_DRIVER_H
#define DEV_DRIVER_H
+#include <rte_common.h>
+#include <rte_dev.h>
+
#ifdef __cplusplus
extern "C" {
#endif
-#include <rte_common.h>
-#include <rte_dev.h>
-
/**
* A structure describing a device driver.
*/
diff --git a/lib/eal/include/eal_trace_internal.h b/lib/eal/include/eal_trace_internal.h
index 09c354717f..50f91d0929 100644
--- a/lib/eal/include/eal_trace_internal.h
+++ b/lib/eal/include/eal_trace_internal.h
@@ -11,16 +11,16 @@
* API for EAL trace support
*/
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#include <rte_alarm.h>
#include <rte_interrupts.h>
#include <rte_trace_point.h>
#include "eal_interrupts.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/* Alarm */
RTE_TRACE_POINT(
rte_eal_trace_alarm_set,
diff --git a/lib/eal/include/generic/rte_atomic.h b/lib/eal/include/generic/rte_atomic.h
index f859707744..0a4f3f8528 100644
--- a/lib/eal/include/generic/rte_atomic.h
+++ b/lib/eal/include/generic/rte_atomic.h
@@ -17,6 +17,10 @@
#include <rte_common.h>
#include <rte_stdatomic.h>
+#ifdef __cplusplus
+extern "C" {
+#endif
+
#ifdef __DOXYGEN__
/** @name Memory Barrier
@@ -1156,4 +1160,8 @@ rte_atomic128_cmp_exchange(rte_int128_t *dst,
#endif /* __DOXYGEN__ */
+#ifdef __cplusplus
+}
+#endif
+
#endif /* _RTE_ATOMIC_H_ */
diff --git a/lib/eal/include/generic/rte_byteorder.h b/lib/eal/include/generic/rte_byteorder.h
index f1c04ba83e..7973d6326f 100644
--- a/lib/eal/include/generic/rte_byteorder.h
+++ b/lib/eal/include/generic/rte_byteorder.h
@@ -24,6 +24,10 @@
#include <rte_common.h>
#include <rte_config.h>
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/*
* Compile-time endianness detection
*/
@@ -251,4 +255,8 @@ static uint64_t rte_be_to_cpu_64(rte_be64_t x);
#endif
#endif
+#ifdef __cplusplus
+}
+#endif
+
#endif /* _RTE_BYTEORDER_H_ */
diff --git a/lib/eal/include/generic/rte_cpuflags.h b/lib/eal/include/generic/rte_cpuflags.h
index d35551e931..bfe9df4516 100644
--- a/lib/eal/include/generic/rte_cpuflags.h
+++ b/lib/eal/include/generic/rte_cpuflags.h
@@ -15,6 +15,10 @@
#include <rte_compat.h>
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/**
* Structure used to describe platform-specific intrinsics that may or may not
* be supported at runtime.
@@ -104,4 +108,8 @@ rte_cpu_getauxval(unsigned long type);
int
rte_cpu_strcmp_auxval(unsigned long type, const char *str);
+#ifdef __cplusplus
+}
+#endif
+
#endif /* _RTE_CPUFLAGS_H_ */
diff --git a/lib/eal/include/generic/rte_cycles.h b/lib/eal/include/generic/rte_cycles.h
index 075e899f5a..7cfd51f0eb 100644
--- a/lib/eal/include/generic/rte_cycles.h
+++ b/lib/eal/include/generic/rte_cycles.h
@@ -16,6 +16,10 @@
#include <rte_debug.h>
#include <rte_atomic.h>
+#ifdef __cplusplus
+extern "C" {
+#endif
+
#define MS_PER_S 1000
#define US_PER_S 1000000
#define NS_PER_S 1000000000
@@ -175,4 +179,8 @@ void rte_delay_us_sleep(unsigned int us);
*/
void rte_delay_us_callback_register(void(*userfunc)(unsigned int));
+#ifdef __cplusplus
+}
+#endif
+
#endif /* _RTE_CYCLES_H_ */
diff --git a/lib/eal/include/generic/rte_io.h b/lib/eal/include/generic/rte_io.h
index ebcf8051e1..73b0f7a9f4 100644
--- a/lib/eal/include/generic/rte_io.h
+++ b/lib/eal/include/generic/rte_io.h
@@ -17,6 +17,10 @@
#include <rte_compat.h>
#include <rte_atomic.h>
+#ifdef __cplusplus
+extern "C" {
+#endif
+
#ifdef __DOXYGEN__
/**
@@ -396,4 +400,8 @@ rte_write32_wc_relaxed(uint32_t value, volatile void *addr)
#endif /* RTE_OVERRIDE_IO_H */
+#ifdef __cplusplus
+}
+#endif
+
#endif /* _RTE_IO_H_ */
diff --git a/lib/eal/include/generic/rte_memcpy.h b/lib/eal/include/generic/rte_memcpy.h
index e7f0f8eaa9..da53b72ca8 100644
--- a/lib/eal/include/generic/rte_memcpy.h
+++ b/lib/eal/include/generic/rte_memcpy.h
@@ -5,6 +5,10 @@
#ifndef _RTE_MEMCPY_H_
#define _RTE_MEMCPY_H_
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/**
* @file
*
@@ -113,4 +117,8 @@ rte_memcpy(void *dst, const void *src, size_t n);
#endif /* __DOXYGEN__ */
+#ifdef __cplusplus
+}
+#endif
+
#endif /* _RTE_MEMCPY_H_ */
diff --git a/lib/eal/include/generic/rte_pause.h b/lib/eal/include/generic/rte_pause.h
index f2a1eadcbd..968c0886d3 100644
--- a/lib/eal/include/generic/rte_pause.h
+++ b/lib/eal/include/generic/rte_pause.h
@@ -19,6 +19,10 @@
#include <rte_atomic.h>
#include <rte_stdatomic.h>
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/**
* Pause CPU execution for a short while
*
@@ -136,4 +140,8 @@ rte_wait_until_equal_64(volatile uint64_t *addr, uint64_t expected,
} while (0)
#endif /* ! RTE_WAIT_UNTIL_EQUAL_ARCH_DEFINED */
+#ifdef __cplusplus
+}
+#endif
+
#endif /* _RTE_PAUSE_H_ */
diff --git a/lib/eal/include/generic/rte_power_intrinsics.h b/lib/eal/include/generic/rte_power_intrinsics.h
index ea899f1bfa..86c0559468 100644
--- a/lib/eal/include/generic/rte_power_intrinsics.h
+++ b/lib/eal/include/generic/rte_power_intrinsics.h
@@ -9,6 +9,10 @@
#include <rte_spinlock.h>
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/**
* @file
* Advanced power management operations.
@@ -147,4 +151,8 @@ int rte_power_pause(const uint64_t tsc_timestamp);
int rte_power_monitor_multi(const struct rte_power_monitor_cond pmc[],
const uint32_t num, const uint64_t tsc_timestamp);
+#ifdef __cplusplus
+}
+#endif
+
#endif /* _RTE_POWER_INTRINSIC_H_ */
diff --git a/lib/eal/include/generic/rte_prefetch.h b/lib/eal/include/generic/rte_prefetch.h
index 773b3b8d1e..f7ac4ab48a 100644
--- a/lib/eal/include/generic/rte_prefetch.h
+++ b/lib/eal/include/generic/rte_prefetch.h
@@ -7,6 +7,10 @@
#include <rte_compat.h>
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/**
* @file
*
@@ -146,4 +150,8 @@ __rte_experimental
static inline void
rte_cldemote(const volatile void *p);
+#ifdef __cplusplus
+}
+#endif
+
#endif /* _RTE_PREFETCH_H_ */
diff --git a/lib/eal/include/generic/rte_rwlock.h b/lib/eal/include/generic/rte_rwlock.h
index 5f939be98c..ac0474466a 100644
--- a/lib/eal/include/generic/rte_rwlock.h
+++ b/lib/eal/include/generic/rte_rwlock.h
@@ -22,10 +22,6 @@
* https://locklessinc.com/articles/locks/
*/
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#include <errno.h>
#include <rte_branch_prediction.h>
@@ -34,6 +30,10 @@ extern "C" {
#include <rte_pause.h>
#include <rte_stdatomic.h>
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/**
* The rte_rwlock_t type.
*
diff --git a/lib/eal/include/generic/rte_spinlock.h b/lib/eal/include/generic/rte_spinlock.h
index 23fb04896f..c2980601b2 100644
--- a/lib/eal/include/generic/rte_spinlock.h
+++ b/lib/eal/include/generic/rte_spinlock.h
@@ -25,6 +25,10 @@
#include <rte_pause.h>
#include <rte_stdatomic.h>
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/**
* The rte_spinlock_t type.
*/
@@ -318,4 +322,8 @@ __rte_warn_unused_result
static inline int rte_spinlock_recursive_trylock_tm(
rte_spinlock_recursive_t *slr);
+#ifdef __cplusplus
+}
+#endif
+
#endif /* _RTE_SPINLOCK_H_ */
diff --git a/lib/eal/include/generic/rte_vect.h b/lib/eal/include/generic/rte_vect.h
index 1f84292a41..b87520a4d9 100644
--- a/lib/eal/include/generic/rte_vect.h
+++ b/lib/eal/include/generic/rte_vect.h
@@ -209,6 +209,10 @@ enum rte_vect_max_simd {
*/
};
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/**
* Get the supported SIMD bitwidth.
*
@@ -230,4 +234,8 @@ uint16_t rte_vect_get_max_simd_bitwidth(void);
*/
int rte_vect_set_max_simd_bitwidth(uint16_t bitwidth);
+#ifdef __cplusplus
+}
+#endif
+
#endif /* _RTE_VECT_H_ */
diff --git a/lib/eal/include/rte_alarm.h b/lib/eal/include/rte_alarm.h
index 7e4d0b2407..9b4721b77f 100644
--- a/lib/eal/include/rte_alarm.h
+++ b/lib/eal/include/rte_alarm.h
@@ -14,12 +14,12 @@
* Does not require hpet support.
*/
+#include <stdint.h>
+
#ifdef __cplusplus
extern "C" {
#endif
-#include <stdint.h>
-
/**
* Signature of callback back function called when an alarm goes off.
*/
diff --git a/lib/eal/include/rte_bitmap.h b/lib/eal/include/rte_bitmap.h
index ebe46000a0..abb102f1d3 100644
--- a/lib/eal/include/rte_bitmap.h
+++ b/lib/eal/include/rte_bitmap.h
@@ -5,10 +5,6 @@
#ifndef __INCLUDE_RTE_BITMAP_H__
#define __INCLUDE_RTE_BITMAP_H__
-#ifdef __cplusplus
-extern "C" {
-#endif
-
/**
* @file
* RTE Bitmap
@@ -43,6 +39,10 @@ extern "C" {
#include <rte_branch_prediction.h>
#include <rte_prefetch.h>
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/* Slab */
#define RTE_BITMAP_SLAB_BIT_SIZE 64
#define RTE_BITMAP_SLAB_BIT_SIZE_LOG2 6
diff --git a/lib/eal/include/rte_bus.h b/lib/eal/include/rte_bus.h
index dfe756fb11..519f7b35f0 100644
--- a/lib/eal/include/rte_bus.h
+++ b/lib/eal/include/rte_bus.h
@@ -14,14 +14,14 @@
* over the devices and drivers in EAL.
*/
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#include <stdio.h>
#include <rte_eal.h>
+#ifdef __cplusplus
+extern "C" {
+#endif
+
struct rte_bus;
struct rte_device;
diff --git a/lib/eal/include/rte_class.h b/lib/eal/include/rte_class.h
index 16e544ec9a..7631e36e82 100644
--- a/lib/eal/include/rte_class.h
+++ b/lib/eal/include/rte_class.h
@@ -18,12 +18,12 @@
* cryptographic co-processor (crypto), etc.
*/
+#include <rte_dev.h>
+
#ifdef __cplusplus
extern "C" {
#endif
-#include <rte_dev.h>
-
/** Double linked list of classes */
RTE_TAILQ_HEAD(rte_class_list, rte_class);
diff --git a/lib/eal/include/rte_common.h b/lib/eal/include/rte_common.h
index eec0400dad..2486caa471 100644
--- a/lib/eal/include/rte_common.h
+++ b/lib/eal/include/rte_common.h
@@ -12,10 +12,6 @@
* for DPDK.
*/
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#include <assert.h>
#include <limits.h>
#include <stdint.h>
@@ -26,6 +22,10 @@ extern "C" {
/* OS specific include */
#include <rte_os.h>
+#ifdef __cplusplus
+extern "C" {
+#endif
+
#ifndef RTE_TOOLCHAIN_MSVC
#ifndef typeof
#define typeof __typeof__
diff --git a/lib/eal/include/rte_dev.h b/lib/eal/include/rte_dev.h
index cefa04f905..738400e8d1 100644
--- a/lib/eal/include/rte_dev.h
+++ b/lib/eal/include/rte_dev.h
@@ -13,16 +13,16 @@
* This file manages the list of device drivers.
*/
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#include <stdio.h>
#include <rte_config.h>
#include <rte_common.h>
#include <rte_log.h>
+#ifdef __cplusplus
+extern "C" {
+#endif
+
struct rte_bus;
struct rte_devargs;
struct rte_device;
diff --git a/lib/eal/include/rte_devargs.h b/lib/eal/include/rte_devargs.h
index 515e978bbe..ed5a4675d9 100644
--- a/lib/eal/include/rte_devargs.h
+++ b/lib/eal/include/rte_devargs.h
@@ -16,14 +16,14 @@
* list of rte_devargs structures.
*/
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#include <stdio.h>
#include <rte_dev.h>
+#ifdef __cplusplus
+extern "C" {
+#endif
+
struct rte_bus;
/**
diff --git a/lib/eal/include/rte_eal_trace.h b/lib/eal/include/rte_eal_trace.h
index c3d15bbe5e..9ad2112801 100644
--- a/lib/eal/include/rte_eal_trace.h
+++ b/lib/eal/include/rte_eal_trace.h
@@ -11,12 +11,12 @@
* API for EAL trace support
*/
+#include <rte_trace_point.h>
+
#ifdef __cplusplus
extern "C" {
#endif
-#include <rte_trace_point.h>
-
/* Generic */
RTE_TRACE_POINT(
rte_eal_trace_generic_void,
diff --git a/lib/eal/include/rte_errno.h b/lib/eal/include/rte_errno.h
index ba45591d24..c49818a40e 100644
--- a/lib/eal/include/rte_errno.h
+++ b/lib/eal/include/rte_errno.h
@@ -11,12 +11,12 @@
#ifndef _RTE_ERRNO_H_
#define _RTE_ERRNO_H_
+#include <rte_per_lcore.h>
+
#ifdef __cplusplus
extern "C" {
#endif
-#include <rte_per_lcore.h>
-
RTE_DECLARE_PER_LCORE(int, _rte_errno); /**< Per core error number. */
/**
diff --git a/lib/eal/include/rte_fbarray.h b/lib/eal/include/rte_fbarray.h
index e33076778f..27dbfc2d6c 100644
--- a/lib/eal/include/rte_fbarray.h
+++ b/lib/eal/include/rte_fbarray.h
@@ -30,14 +30,14 @@
* another process is using ``rte_fbarray``.
*/
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#include <stdio.h>
#include <rte_rwlock.h>
+#ifdef __cplusplus
+extern "C" {
+#endif
+
#define RTE_FBARRAY_NAME_LEN 64
struct rte_fbarray {
diff --git a/lib/eal/include/rte_keepalive.h b/lib/eal/include/rte_keepalive.h
index 3ec413da01..9ff870f6b4 100644
--- a/lib/eal/include/rte_keepalive.h
+++ b/lib/eal/include/rte_keepalive.h
@@ -10,13 +10,13 @@
#ifndef _KEEPALIVE_H_
#define _KEEPALIVE_H_
+#include <rte_config.h>
+#include <rte_memory.h>
+
#ifdef __cplusplus
extern "C" {
#endif
-#include <rte_config.h>
-#include <rte_memory.h>
-
#ifndef RTE_KEEPALIVE_MAXCORES
/**
* Number of cores to track.
diff --git a/lib/eal/include/rte_mcslock.h b/lib/eal/include/rte_mcslock.h
index 0aeb1a09f4..bb218d2e50 100644
--- a/lib/eal/include/rte_mcslock.h
+++ b/lib/eal/include/rte_mcslock.h
@@ -19,16 +19,16 @@
* they acquired the lock.
*/
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#include <rte_lcore.h>
#include <rte_common.h>
#include <rte_pause.h>
#include <rte_branch_prediction.h>
#include <rte_stdatomic.h>
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/**
* The rte_mcslock_t type.
*/
diff --git a/lib/eal/include/rte_memory.h b/lib/eal/include/rte_memory.h
index 842362d527..dbd0a6bedc 100644
--- a/lib/eal/include/rte_memory.h
+++ b/lib/eal/include/rte_memory.h
@@ -15,16 +15,16 @@
#include <stddef.h>
#include <stdio.h>
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#include <rte_bitops.h>
#include <rte_common.h>
#include <rte_config.h>
#include <rte_eal_memconfig.h>
#include <rte_fbarray.h>
+#ifdef __cplusplus
+extern "C" {
+#endif
+
#define RTE_PGSIZE_4K (1ULL << 12)
#define RTE_PGSIZE_64K (1ULL << 16)
#define RTE_PGSIZE_256K (1ULL << 18)
diff --git a/lib/eal/include/rte_pci_dev_features.h b/lib/eal/include/rte_pci_dev_features.h
index ee6e10590c..bc6d3d4c1f 100644
--- a/lib/eal/include/rte_pci_dev_features.h
+++ b/lib/eal/include/rte_pci_dev_features.h
@@ -5,12 +5,12 @@
#ifndef _RTE_PCI_DEV_FEATURES_H
#define _RTE_PCI_DEV_FEATURES_H
+#include <rte_pci_dev_feature_defs.h>
+
#ifdef __cplusplus
extern "C" {
#endif
-#include <rte_pci_dev_feature_defs.h>
-
#define RTE_INTR_MODE_NONE_NAME "none"
#define RTE_INTR_MODE_LEGACY_NAME "legacy"
#define RTE_INTR_MODE_MSI_NAME "msi"
diff --git a/lib/eal/include/rte_pflock.h b/lib/eal/include/rte_pflock.h
index 37aa223ac3..6797ce5920 100644
--- a/lib/eal/include/rte_pflock.h
+++ b/lib/eal/include/rte_pflock.h
@@ -27,14 +27,14 @@
* All locks must be initialised before use, and only initialised once.
*/
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#include <rte_common.h>
#include <rte_pause.h>
#include <rte_stdatomic.h>
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/**
* The rte_pflock_t type.
*/
diff --git a/lib/eal/include/rte_random.h b/lib/eal/include/rte_random.h
index 5031c6fe5f..15cbe6215a 100644
--- a/lib/eal/include/rte_random.h
+++ b/lib/eal/include/rte_random.h
@@ -11,12 +11,12 @@
* Pseudo-random Generators in RTE
*/
+#include <stdint.h>
+
#ifdef __cplusplus
extern "C" {
#endif
-#include <stdint.h>
-
/**
* Seed the pseudo-random generator.
*
diff --git a/lib/eal/include/rte_seqcount.h b/lib/eal/include/rte_seqcount.h
index 88a6746900..d71afa6ab7 100644
--- a/lib/eal/include/rte_seqcount.h
+++ b/lib/eal/include/rte_seqcount.h
@@ -5,10 +5,6 @@
#ifndef _RTE_SEQCOUNT_H_
#define _RTE_SEQCOUNT_H_
-#ifdef __cplusplus
-extern "C" {
-#endif
-
/**
* @file
* RTE Seqcount
@@ -27,6 +23,10 @@ extern "C" {
#include <rte_branch_prediction.h>
#include <rte_stdatomic.h>
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/**
* The RTE seqcount type.
*/
diff --git a/lib/eal/include/rte_seqlock.h b/lib/eal/include/rte_seqlock.h
index 2677bd9440..e0e94900d1 100644
--- a/lib/eal/include/rte_seqlock.h
+++ b/lib/eal/include/rte_seqlock.h
@@ -5,10 +5,6 @@
#ifndef _RTE_SEQLOCK_H_
#define _RTE_SEQLOCK_H_
-#ifdef __cplusplus
-extern "C" {
-#endif
-
/**
* @file
* RTE Seqlock
@@ -95,6 +91,10 @@ extern "C" {
#include <rte_seqcount.h>
#include <rte_spinlock.h>
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/**
* The RTE seqlock type.
*/
diff --git a/lib/eal/include/rte_service.h b/lib/eal/include/rte_service.h
index e49a7a877e..94919ae584 100644
--- a/lib/eal/include/rte_service.h
+++ b/lib/eal/include/rte_service.h
@@ -23,16 +23,16 @@
* application has access to the remaining lcores as normal.
*/
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#include<stdio.h>
#include <stdint.h>
#include <rte_config.h>
#include <rte_lcore.h>
+#ifdef __cplusplus
+extern "C" {
+#endif
+
#define RTE_SERVICE_NAME_MAX 32
/* Capabilities of a service.
diff --git a/lib/eal/include/rte_service_component.h b/lib/eal/include/rte_service_component.h
index a5350c97e5..acdf45cf60 100644
--- a/lib/eal/include/rte_service_component.h
+++ b/lib/eal/include/rte_service_component.h
@@ -10,12 +10,12 @@
* operate, and you wish to run the component using service cores
*/
+#include <rte_service.h>
+
#ifdef __cplusplus
extern "C" {
#endif
-#include <rte_service.h>
-
/**
* Signature of callback function to run a service.
*
diff --git a/lib/eal/include/rte_stdatomic.h b/lib/eal/include/rte_stdatomic.h
index 7a081cb500..0f11a15e4e 100644
--- a/lib/eal/include/rte_stdatomic.h
+++ b/lib/eal/include/rte_stdatomic.h
@@ -7,10 +7,6 @@
#include <assert.h>
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#ifdef RTE_ENABLE_STDATOMIC
#ifndef _MSC_VER
#ifdef __STDC_NO_ATOMICS__
@@ -188,6 +184,7 @@ typedef int rte_memory_order;
#endif
#ifdef __cplusplus
+extern "C" {
}
#endif
diff --git a/lib/eal/include/rte_string_fns.h b/lib/eal/include/rte_string_fns.h
index 13badec7b3..702bd81251 100644
--- a/lib/eal/include/rte_string_fns.h
+++ b/lib/eal/include/rte_string_fns.h
@@ -11,10 +11,6 @@
#ifndef _RTE_STRING_FNS_H_
#define _RTE_STRING_FNS_H_
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#include <ctype.h>
#include <stdio.h>
#include <string.h>
@@ -22,6 +18,10 @@ extern "C" {
#include <rte_common.h>
#include <rte_compat.h>
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/**
* Takes string "string" parameter and splits it at character "delim"
* up to maxtokens-1 times - to give "maxtokens" resulting tokens. Like
@@ -77,6 +77,10 @@ rte_strlcat(char *dst, const char *src, size_t size)
return l + strlen(src);
}
+#ifdef __cplusplus
+}
+#endif
+
/* pull in a strlcpy function */
#ifdef RTE_EXEC_ENV_FREEBSD
#ifndef __BSD_VISIBLE /* non-standard functions are hidden */
@@ -95,6 +99,10 @@ rte_strlcat(char *dst, const char *src, size_t size)
#endif /* RTE_USE_LIBBSD */
#endif /* FREEBSD */
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/**
* Copy string src to buffer dst of size dsize.
* At most dsize-1 chars will be copied.
@@ -141,7 +149,6 @@ rte_str_skip_leading_spaces(const char *src)
return p;
}
-
#ifdef __cplusplus
}
#endif
diff --git a/lib/eal/include/rte_tailq.h b/lib/eal/include/rte_tailq.h
index 931d549e59..89f7ef2134 100644
--- a/lib/eal/include/rte_tailq.h
+++ b/lib/eal/include/rte_tailq.h
@@ -10,13 +10,13 @@
* Here defines rte_tailq APIs for only internal use
*/
+#include <stdio.h>
+#include <rte_debug.h>
+
#ifdef __cplusplus
extern "C" {
#endif
-#include <stdio.h>
-#include <rte_debug.h>
-
/** dummy structure type used by the rte_tailq APIs */
struct rte_tailq_entry {
RTE_TAILQ_ENTRY(rte_tailq_entry) next; /**< Pointer entries for a tailq list */
diff --git a/lib/eal/include/rte_ticketlock.h b/lib/eal/include/rte_ticketlock.h
index 73884eb07b..e60f60699c 100644
--- a/lib/eal/include/rte_ticketlock.h
+++ b/lib/eal/include/rte_ticketlock.h
@@ -17,15 +17,15 @@
* All locks must be initialised before use, and only initialised once.
*/
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#include <rte_common.h>
#include <rte_lcore.h>
#include <rte_pause.h>
#include <rte_stdatomic.h>
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/**
* The rte_ticketlock_t type.
*/
diff --git a/lib/eal/include/rte_time.h b/lib/eal/include/rte_time.h
index ec25f7b93d..c5c3a233e4 100644
--- a/lib/eal/include/rte_time.h
+++ b/lib/eal/include/rte_time.h
@@ -5,13 +5,13 @@
#ifndef _RTE_TIME_H_
#define _RTE_TIME_H_
+#include <stdint.h>
+#include <time.h>
+
#ifdef __cplusplus
extern "C" {
#endif
-#include <stdint.h>
-#include <time.h>
-
#define NSEC_PER_SEC 1000000000L
/**
diff --git a/lib/eal/include/rte_trace.h b/lib/eal/include/rte_trace.h
index a6e991fad3..1c824b2158 100644
--- a/lib/eal/include/rte_trace.h
+++ b/lib/eal/include/rte_trace.h
@@ -16,16 +16,16 @@
* @b EXPERIMENTAL: this API may change without prior notice
*/
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#include <stdbool.h>
#include <stdio.h>
#include <rte_common.h>
#include <rte_compat.h>
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/**
* Test if trace is enabled.
*
diff --git a/lib/eal/include/rte_trace_point.h b/lib/eal/include/rte_trace_point.h
index 41e2a7f99e..bc737d585e 100644
--- a/lib/eal/include/rte_trace_point.h
+++ b/lib/eal/include/rte_trace_point.h
@@ -16,10 +16,6 @@
* @b EXPERIMENTAL: this API may change without prior notice
*/
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#include <stdbool.h>
#include <stdio.h>
@@ -32,6 +28,10 @@ extern "C" {
#include <rte_string_fns.h>
#include <rte_uuid.h>
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/** The tracepoint object. */
typedef RTE_ATOMIC(uint64_t) rte_trace_point_t;
diff --git a/lib/eal/include/rte_trace_point_register.h b/lib/eal/include/rte_trace_point_register.h
index 41260e5964..8726338fe4 100644
--- a/lib/eal/include/rte_trace_point_register.h
+++ b/lib/eal/include/rte_trace_point_register.h
@@ -5,10 +5,6 @@
#ifndef _RTE_TRACE_POINT_REGISTER_H_
#define _RTE_TRACE_POINT_REGISTER_H_
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#ifdef _RTE_TRACE_POINT_H_
#error for registration, include this file first before <rte_trace_point.h>
#endif
@@ -16,6 +12,10 @@ extern "C" {
#include <rte_per_lcore.h>
#include <rte_trace_point.h>
+#ifdef __cplusplus
+extern "C" {
+#endif
+
RTE_DECLARE_PER_LCORE(volatile int, trace_point_sz);
#define RTE_TRACE_POINT_REGISTER(trace, name) \
diff --git a/lib/eal/include/rte_uuid.h b/lib/eal/include/rte_uuid.h
index cfefd4308a..def5907a00 100644
--- a/lib/eal/include/rte_uuid.h
+++ b/lib/eal/include/rte_uuid.h
@@ -10,14 +10,14 @@
#ifndef _RTE_UUID_H_
#define _RTE_UUID_H_
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#include <stdbool.h>
#include <stddef.h>
#include <string.h>
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/**
* Struct describing a Universal Unique Identifier
*/
diff --git a/lib/eal/include/rte_version.h b/lib/eal/include/rte_version.h
index 422d00fdff..be3f753617 100644
--- a/lib/eal/include/rte_version.h
+++ b/lib/eal/include/rte_version.h
@@ -10,13 +10,13 @@
#ifndef _RTE_VERSION_H_
#define _RTE_VERSION_H_
+#include <string.h>
+#include <stdio.h>
+
#ifdef __cplusplus
extern "C" {
#endif
-#include <string.h>
-#include <stdio.h>
-
/**
* Macro to compute a version number usable for comparisons
*/
diff --git a/lib/eal/include/rte_vfio.h b/lib/eal/include/rte_vfio.h
index b774625d9f..923293040b 100644
--- a/lib/eal/include/rte_vfio.h
+++ b/lib/eal/include/rte_vfio.h
@@ -10,10 +10,6 @@
* RTE VFIO. This library provides various VFIO related utility functions.
*/
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#include <stdbool.h>
#include <stdint.h>
@@ -32,6 +28,10 @@ extern "C" {
#endif /* kernel version >= 4.0.0 */
#endif /* RTE_EAL_VFIO */
+#ifdef __cplusplus
+extern "C" {
+#endif
+
#ifdef VFIO_PRESENT
#include <linux/vfio.h>
diff --git a/lib/eal/linux/include/rte_os.h b/lib/eal/linux/include/rte_os.h
index c72bf5b7e6..dba0e29827 100644
--- a/lib/eal/linux/include/rte_os.h
+++ b/lib/eal/linux/include/rte_os.h
@@ -5,10 +5,6 @@
#ifndef _RTE_OS_H_
#define _RTE_OS_H_
-#ifdef __cplusplus
-extern "C" {
-#endif
-
/**
* This header should contain any definition
* which is not supported natively or named differently in Linux.
@@ -17,6 +13,10 @@ extern "C" {
#include <sched.h>
#include <sys/queue.h>
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/* These macros are compatible with system's sys/queue.h. */
#define RTE_TAILQ_HEAD(name, type) TAILQ_HEAD(name, type)
#define RTE_TAILQ_ENTRY(type) TAILQ_ENTRY(type)
diff --git a/lib/eal/loongarch/include/rte_atomic.h b/lib/eal/loongarch/include/rte_atomic.h
index 0510b8f781..c8066a4612 100644
--- a/lib/eal/loongarch/include/rte_atomic.h
+++ b/lib/eal/loongarch/include/rte_atomic.h
@@ -9,13 +9,13 @@
# error Platform must be built with RTE_FORCE_INTRINSICS
#endif
+#include <rte_common.h>
+#include "generic/rte_atomic.h"
+
#ifdef __cplusplus
extern "C" {
#endif
-#include <rte_common.h>
-#include "generic/rte_atomic.h"
-
#define rte_mb() do { asm volatile("dbar 0":::"memory"); } while (0)
#define rte_wmb() rte_mb()
diff --git a/lib/eal/loongarch/include/rte_byteorder.h b/lib/eal/loongarch/include/rte_byteorder.h
index 0da6097a4f..9b092e2a59 100644
--- a/lib/eal/loongarch/include/rte_byteorder.h
+++ b/lib/eal/loongarch/include/rte_byteorder.h
@@ -5,12 +5,12 @@
#ifndef RTE_BYTEORDER_LOONGARCH_H
#define RTE_BYTEORDER_LOONGARCH_H
+#include "generic/rte_byteorder.h"
+
#ifdef __cplusplus
extern "C" {
#endif
-#include "generic/rte_byteorder.h"
-
#if RTE_BYTE_ORDER == RTE_LITTLE_ENDIAN
#define rte_cpu_to_le_16(x) (x)
diff --git a/lib/eal/loongarch/include/rte_cpuflags.h b/lib/eal/loongarch/include/rte_cpuflags.h
index 6b592c147c..c1e04ac545 100644
--- a/lib/eal/loongarch/include/rte_cpuflags.h
+++ b/lib/eal/loongarch/include/rte_cpuflags.h
@@ -5,10 +5,6 @@
#ifndef RTE_CPUFLAGS_LOONGARCH_H
#define RTE_CPUFLAGS_LOONGARCH_H
-#ifdef __cplusplus
-extern "C" {
-#endif
-
/**
* Enumeration of all CPU features supported
*/
@@ -30,6 +26,10 @@ enum rte_cpu_flag_t {
#include "generic/rte_cpuflags.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
#ifdef __cplusplus
}
#endif
diff --git a/lib/eal/loongarch/include/rte_cycles.h b/lib/eal/loongarch/include/rte_cycles.h
index f612d1ad10..128c8646e9 100644
--- a/lib/eal/loongarch/include/rte_cycles.h
+++ b/lib/eal/loongarch/include/rte_cycles.h
@@ -5,12 +5,12 @@
#ifndef RTE_CYCLES_LOONGARCH_H
#define RTE_CYCLES_LOONGARCH_H
+#include "generic/rte_cycles.h"
+
#ifdef __cplusplus
extern "C" {
#endif
-#include "generic/rte_cycles.h"
-
/**
* Read the time base register.
*
diff --git a/lib/eal/loongarch/include/rte_io.h b/lib/eal/loongarch/include/rte_io.h
index 40e40efa86..e32a4737b2 100644
--- a/lib/eal/loongarch/include/rte_io.h
+++ b/lib/eal/loongarch/include/rte_io.h
@@ -5,12 +5,12 @@
#ifndef RTE_IO_LOONGARCH_H
#define RTE_IO_LOONGARCH_H
+#include "generic/rte_io.h"
+
#ifdef __cplusplus
extern "C" {
#endif
-#include "generic/rte_io.h"
-
#ifdef __cplusplus
}
#endif
diff --git a/lib/eal/loongarch/include/rte_memcpy.h b/lib/eal/loongarch/include/rte_memcpy.h
index 22578d40f4..5412a0fdc1 100644
--- a/lib/eal/loongarch/include/rte_memcpy.h
+++ b/lib/eal/loongarch/include/rte_memcpy.h
@@ -10,12 +10,12 @@
#include "rte_common.h"
+#include "generic/rte_memcpy.h"
+
#ifdef __cplusplus
extern "C" {
#endif
-#include "generic/rte_memcpy.h"
-
static inline void
rte_mov16(uint8_t *dst, const uint8_t *src)
{
diff --git a/lib/eal/loongarch/include/rte_pause.h b/lib/eal/loongarch/include/rte_pause.h
index 4302e1b9be..cffa2874d6 100644
--- a/lib/eal/loongarch/include/rte_pause.h
+++ b/lib/eal/loongarch/include/rte_pause.h
@@ -5,14 +5,14 @@
#ifndef RTE_PAUSE_LOONGARCH_H
#define RTE_PAUSE_LOONGARCH_H
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#include "rte_atomic.h"
#include "generic/rte_pause.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
static inline void rte_pause(void)
{
}
diff --git a/lib/eal/loongarch/include/rte_power_intrinsics.h b/lib/eal/loongarch/include/rte_power_intrinsics.h
index d5dbd94567..9e11478206 100644
--- a/lib/eal/loongarch/include/rte_power_intrinsics.h
+++ b/lib/eal/loongarch/include/rte_power_intrinsics.h
@@ -5,14 +5,14 @@
#ifndef RTE_POWER_INTRINSIC_LOONGARCH_H
#define RTE_POWER_INTRINSIC_LOONGARCH_H
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#include <rte_common.h>
#include "generic/rte_power_intrinsics.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
#ifdef __cplusplus
}
#endif
diff --git a/lib/eal/loongarch/include/rte_prefetch.h b/lib/eal/loongarch/include/rte_prefetch.h
index 64b1fd2c2a..8da08a5566 100644
--- a/lib/eal/loongarch/include/rte_prefetch.h
+++ b/lib/eal/loongarch/include/rte_prefetch.h
@@ -5,14 +5,14 @@
#ifndef RTE_PREFETCH_LOONGARCH_H
#define RTE_PREFETCH_LOONGARCH_H
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#include <rte_compat.h>
#include <rte_common.h>
#include "generic/rte_prefetch.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
static inline void rte_prefetch0(const volatile void *p)
{
__builtin_prefetch((const void *)(uintptr_t)p, 0, 3);
diff --git a/lib/eal/loongarch/include/rte_rwlock.h b/lib/eal/loongarch/include/rte_rwlock.h
index aedc6f3349..48924599c5 100644
--- a/lib/eal/loongarch/include/rte_rwlock.h
+++ b/lib/eal/loongarch/include/rte_rwlock.h
@@ -5,12 +5,12 @@
#ifndef RTE_RWLOCK_LOONGARCH_H
#define RTE_RWLOCK_LOONGARCH_H
+#include "generic/rte_rwlock.h"
+
#ifdef __cplusplus
extern "C" {
#endif
-#include "generic/rte_rwlock.h"
-
static inline void
rte_rwlock_read_lock_tm(rte_rwlock_t *rwl)
{
diff --git a/lib/eal/loongarch/include/rte_spinlock.h b/lib/eal/loongarch/include/rte_spinlock.h
index e8d34e9728..38f00f631d 100644
--- a/lib/eal/loongarch/include/rte_spinlock.h
+++ b/lib/eal/loongarch/include/rte_spinlock.h
@@ -5,13 +5,13 @@
#ifndef RTE_SPINLOCK_LOONGARCH_H
#define RTE_SPINLOCK_LOONGARCH_H
+#include <rte_common.h>
+#include "generic/rte_spinlock.h"
+
#ifdef __cplusplus
extern "C" {
#endif
-#include <rte_common.h>
-#include "generic/rte_spinlock.h"
-
#ifndef RTE_FORCE_INTRINSICS
# error Platform must be built with RTE_FORCE_INTRINSICS
#endif
diff --git a/lib/eal/ppc/include/rte_atomic.h b/lib/eal/ppc/include/rte_atomic.h
index 645c7132df..6ce2e5188a 100644
--- a/lib/eal/ppc/include/rte_atomic.h
+++ b/lib/eal/ppc/include/rte_atomic.h
@@ -12,13 +12,13 @@
#ifndef _RTE_ATOMIC_PPC_64_H_
#define _RTE_ATOMIC_PPC_64_H_
+#include <stdint.h>
+#include "generic/rte_atomic.h"
+
#ifdef __cplusplus
extern "C" {
#endif
-#include <stdint.h>
-#include "generic/rte_atomic.h"
-
#define rte_mb() asm volatile("sync" : : : "memory")
#define rte_wmb() asm volatile("sync" : : : "memory")
diff --git a/lib/eal/ppc/include/rte_byteorder.h b/lib/eal/ppc/include/rte_byteorder.h
index de94e2ad32..1d19e96f72 100644
--- a/lib/eal/ppc/include/rte_byteorder.h
+++ b/lib/eal/ppc/include/rte_byteorder.h
@@ -8,13 +8,13 @@
#ifndef _RTE_BYTEORDER_PPC_64_H_
#define _RTE_BYTEORDER_PPC_64_H_
+#include <stdint.h>
+#include "generic/rte_byteorder.h"
+
#ifdef __cplusplus
extern "C" {
#endif
-#include <stdint.h>
-#include "generic/rte_byteorder.h"
-
/*
* An architecture-optimized byte swap for a 16-bit value.
*
diff --git a/lib/eal/ppc/include/rte_cpuflags.h b/lib/eal/ppc/include/rte_cpuflags.h
index dedc1ab469..b7bb8f6872 100644
--- a/lib/eal/ppc/include/rte_cpuflags.h
+++ b/lib/eal/ppc/include/rte_cpuflags.h
@@ -6,10 +6,6 @@
#ifndef _RTE_CPUFLAGS_PPC_64_H_
#define _RTE_CPUFLAGS_PPC_64_H_
-#ifdef __cplusplus
-extern "C" {
-#endif
-
/**
* Enumeration of all CPU features supported
*/
@@ -52,6 +48,10 @@ enum rte_cpu_flag_t {
#include "generic/rte_cpuflags.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
#ifdef __cplusplus
}
#endif
diff --git a/lib/eal/ppc/include/rte_cycles.h b/lib/eal/ppc/include/rte_cycles.h
index 666fc9b0bf..1e6e6cccc8 100644
--- a/lib/eal/ppc/include/rte_cycles.h
+++ b/lib/eal/ppc/include/rte_cycles.h
@@ -6,10 +6,6 @@
#ifndef _RTE_CYCLES_PPC_64_H_
#define _RTE_CYCLES_PPC_64_H_
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#include <features.h>
#ifdef __GLIBC__
#include <sys/platform/ppc.h>
@@ -20,6 +16,10 @@ extern "C" {
#include <rte_byteorder.h>
#include <rte_common.h>
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/**
* Read the time base register.
*
diff --git a/lib/eal/ppc/include/rte_io.h b/lib/eal/ppc/include/rte_io.h
index 01455065e5..c9371b784e 100644
--- a/lib/eal/ppc/include/rte_io.h
+++ b/lib/eal/ppc/include/rte_io.h
@@ -5,12 +5,12 @@
#ifndef _RTE_IO_PPC_64_H_
#define _RTE_IO_PPC_64_H_
+#include "generic/rte_io.h"
+
#ifdef __cplusplus
extern "C" {
#endif
-#include "generic/rte_io.h"
-
#ifdef __cplusplus
}
#endif
diff --git a/lib/eal/ppc/include/rte_memcpy.h b/lib/eal/ppc/include/rte_memcpy.h
index 6f388c0234..eae73128c4 100644
--- a/lib/eal/ppc/include/rte_memcpy.h
+++ b/lib/eal/ppc/include/rte_memcpy.h
@@ -12,12 +12,12 @@
#include "rte_altivec.h"
#include "rte_common.h"
+#include "generic/rte_memcpy.h"
+
#ifdef __cplusplus
extern "C" {
#endif
-#include "generic/rte_memcpy.h"
-
#if defined(RTE_TOOLCHAIN_GCC) && (GCC_VERSION >= 90000)
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Warray-bounds"
diff --git a/lib/eal/ppc/include/rte_pause.h b/lib/eal/ppc/include/rte_pause.h
index 16e47ce22f..78a73aceed 100644
--- a/lib/eal/ppc/include/rte_pause.h
+++ b/lib/eal/ppc/include/rte_pause.h
@@ -5,14 +5,14 @@
#ifndef _RTE_PAUSE_PPC64_H_
#define _RTE_PAUSE_PPC64_H_
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#include "rte_atomic.h"
#include "generic/rte_pause.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
static inline void rte_pause(void)
{
/* Set hardware multi-threading low priority */
diff --git a/lib/eal/ppc/include/rte_power_intrinsics.h b/lib/eal/ppc/include/rte_power_intrinsics.h
index c0e9ac279f..6207eeb04d 100644
--- a/lib/eal/ppc/include/rte_power_intrinsics.h
+++ b/lib/eal/ppc/include/rte_power_intrinsics.h
@@ -5,14 +5,14 @@
#ifndef _RTE_POWER_INTRINSIC_PPC_H_
#define _RTE_POWER_INTRINSIC_PPC_H_
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#include <rte_common.h>
#include "generic/rte_power_intrinsics.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
#ifdef __cplusplus
}
#endif
diff --git a/lib/eal/ppc/include/rte_prefetch.h b/lib/eal/ppc/include/rte_prefetch.h
index 2e1b5751e0..bae95af7bf 100644
--- a/lib/eal/ppc/include/rte_prefetch.h
+++ b/lib/eal/ppc/include/rte_prefetch.h
@@ -6,14 +6,14 @@
#ifndef _RTE_PREFETCH_PPC_64_H_
#define _RTE_PREFETCH_PPC_64_H_
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#include <rte_compat.h>
#include <rte_common.h>
#include "generic/rte_prefetch.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
static inline void rte_prefetch0(const volatile void *p)
{
asm volatile ("dcbt 0,%[p],0" : : [p] "r" (p));
diff --git a/lib/eal/ppc/include/rte_rwlock.h b/lib/eal/ppc/include/rte_rwlock.h
index 9fadc04076..bee8da4070 100644
--- a/lib/eal/ppc/include/rte_rwlock.h
+++ b/lib/eal/ppc/include/rte_rwlock.h
@@ -3,12 +3,12 @@
#ifndef _RTE_RWLOCK_PPC_64_H_
#define _RTE_RWLOCK_PPC_64_H_
+#include "generic/rte_rwlock.h"
+
#ifdef __cplusplus
extern "C" {
#endif
-#include "generic/rte_rwlock.h"
-
static inline void
rte_rwlock_read_lock_tm(rte_rwlock_t *rwl)
{
diff --git a/lib/eal/ppc/include/rte_spinlock.h b/lib/eal/ppc/include/rte_spinlock.h
index 3a4c905b22..77f90f974a 100644
--- a/lib/eal/ppc/include/rte_spinlock.h
+++ b/lib/eal/ppc/include/rte_spinlock.h
@@ -6,14 +6,14 @@
#ifndef _RTE_SPINLOCK_PPC_64_H_
#define _RTE_SPINLOCK_PPC_64_H_
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#include <rte_common.h>
#include <rte_pause.h>
#include "generic/rte_spinlock.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/* Fixme: Use intrinsics to implement the spinlock on Power architecture */
#ifndef RTE_FORCE_INTRINSICS
diff --git a/lib/eal/riscv/include/rte_atomic.h b/lib/eal/riscv/include/rte_atomic.h
index 2603bc90ea..66346ad474 100644
--- a/lib/eal/riscv/include/rte_atomic.h
+++ b/lib/eal/riscv/include/rte_atomic.h
@@ -12,15 +12,15 @@
# error Platform must be built with RTE_FORCE_INTRINSICS
#endif
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#include <stdint.h>
#include <rte_common.h>
#include <rte_config.h>
#include "generic/rte_atomic.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
#define rte_mb() asm volatile("fence rw, rw" : : : "memory")
#define rte_wmb() asm volatile("fence w, w" : : : "memory")
diff --git a/lib/eal/riscv/include/rte_byteorder.h b/lib/eal/riscv/include/rte_byteorder.h
index 25bd0c275d..c9ff5c0dd1 100644
--- a/lib/eal/riscv/include/rte_byteorder.h
+++ b/lib/eal/riscv/include/rte_byteorder.h
@@ -8,14 +8,14 @@
#ifndef RTE_BYTEORDER_RISCV_H
#define RTE_BYTEORDER_RISCV_H
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#include <stdint.h>
#include <rte_common.h>
#include "generic/rte_byteorder.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
#ifndef RTE_BYTE_ORDER
#define RTE_BYTE_ORDER RTE_LITTLE_ENDIAN
#endif
diff --git a/lib/eal/riscv/include/rte_cpuflags.h b/lib/eal/riscv/include/rte_cpuflags.h
index d742efc40f..ac2004f02d 100644
--- a/lib/eal/riscv/include/rte_cpuflags.h
+++ b/lib/eal/riscv/include/rte_cpuflags.h
@@ -8,10 +8,6 @@
#ifndef RTE_CPUFLAGS_RISCV_H
#define RTE_CPUFLAGS_RISCV_H
-#ifdef __cplusplus
-extern "C" {
-#endif
-
/**
* Enumeration of all CPU features supported
*/
@@ -46,6 +42,10 @@ enum rte_cpu_flag_t {
#include "generic/rte_cpuflags.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
#ifdef __cplusplus
}
#endif
diff --git a/lib/eal/riscv/include/rte_cycles.h b/lib/eal/riscv/include/rte_cycles.h
index 04750ca253..7926809a73 100644
--- a/lib/eal/riscv/include/rte_cycles.h
+++ b/lib/eal/riscv/include/rte_cycles.h
@@ -8,12 +8,12 @@
#ifndef RTE_CYCLES_RISCV_H
#define RTE_CYCLES_RISCV_H
+#include "generic/rte_cycles.h"
+
#ifdef __cplusplus
extern "C" {
#endif
-#include "generic/rte_cycles.h"
-
#ifndef RTE_RISCV_RDTSC_USE_HPM
#define RTE_RISCV_RDTSC_USE_HPM 0
#endif
diff --git a/lib/eal/riscv/include/rte_io.h b/lib/eal/riscv/include/rte_io.h
index 29659c9590..911dbb6bd2 100644
--- a/lib/eal/riscv/include/rte_io.h
+++ b/lib/eal/riscv/include/rte_io.h
@@ -8,12 +8,12 @@
#ifndef RTE_IO_RISCV_H
#define RTE_IO_RISCV_H
+#include "generic/rte_io.h"
+
#ifdef __cplusplus
extern "C" {
#endif
-#include "generic/rte_io.h"
-
#ifdef __cplusplus
}
#endif
diff --git a/lib/eal/riscv/include/rte_memcpy.h b/lib/eal/riscv/include/rte_memcpy.h
index e34f19396e..d8a942c5d2 100644
--- a/lib/eal/riscv/include/rte_memcpy.h
+++ b/lib/eal/riscv/include/rte_memcpy.h
@@ -12,12 +12,12 @@
#include "rte_common.h"
+#include "generic/rte_memcpy.h"
+
#ifdef __cplusplus
extern "C" {
#endif
-#include "generic/rte_memcpy.h"
-
static inline void
rte_mov16(uint8_t *dst, const uint8_t *src)
{
diff --git a/lib/eal/riscv/include/rte_pause.h b/lib/eal/riscv/include/rte_pause.h
index cb8e9ca52d..3f473cd8db 100644
--- a/lib/eal/riscv/include/rte_pause.h
+++ b/lib/eal/riscv/include/rte_pause.h
@@ -7,14 +7,14 @@
#ifndef RTE_PAUSE_RISCV_H
#define RTE_PAUSE_RISCV_H
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#include "rte_atomic.h"
#include "generic/rte_pause.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
static inline void rte_pause(void)
{
/* Insert pause hint directly to be compatible with old compilers.
diff --git a/lib/eal/riscv/include/rte_power_intrinsics.h b/lib/eal/riscv/include/rte_power_intrinsics.h
index 636e58e71f..3f7dba1640 100644
--- a/lib/eal/riscv/include/rte_power_intrinsics.h
+++ b/lib/eal/riscv/include/rte_power_intrinsics.h
@@ -7,14 +7,14 @@
#ifndef RTE_POWER_INTRINSIC_RISCV_H
#define RTE_POWER_INTRINSIC_RISCV_H
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#include <rte_common.h>
#include "generic/rte_power_intrinsics.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
#ifdef __cplusplus
}
#endif
diff --git a/lib/eal/riscv/include/rte_prefetch.h b/lib/eal/riscv/include/rte_prefetch.h
index 748cf1b626..42146491ea 100644
--- a/lib/eal/riscv/include/rte_prefetch.h
+++ b/lib/eal/riscv/include/rte_prefetch.h
@@ -8,14 +8,14 @@
#ifndef RTE_PREFETCH_RISCV_H
#define RTE_PREFETCH_RISCV_H
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#include <rte_compat.h>
#include <rte_common.h>
#include "generic/rte_prefetch.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
static inline void rte_prefetch0(const volatile void *p)
{
RTE_SET_USED(p);
diff --git a/lib/eal/riscv/include/rte_rwlock.h b/lib/eal/riscv/include/rte_rwlock.h
index 9cdaf1b0ef..730970eecb 100644
--- a/lib/eal/riscv/include/rte_rwlock.h
+++ b/lib/eal/riscv/include/rte_rwlock.h
@@ -7,12 +7,12 @@
#ifndef RTE_RWLOCK_RISCV_H
#define RTE_RWLOCK_RISCV_H
+#include "generic/rte_rwlock.h"
+
#ifdef __cplusplus
extern "C" {
#endif
-#include "generic/rte_rwlock.h"
-
static inline void
rte_rwlock_read_lock_tm(rte_rwlock_t *rwl)
{
diff --git a/lib/eal/riscv/include/rte_spinlock.h b/lib/eal/riscv/include/rte_spinlock.h
index 6af430735c..5fe4980e44 100644
--- a/lib/eal/riscv/include/rte_spinlock.h
+++ b/lib/eal/riscv/include/rte_spinlock.h
@@ -12,13 +12,13 @@
# error Platform must be built with RTE_FORCE_INTRINSICS
#endif
+#include <rte_common.h>
+#include "generic/rte_spinlock.h"
+
#ifdef __cplusplus
extern "C" {
#endif
-#include <rte_common.h>
-#include "generic/rte_spinlock.h"
-
static inline int rte_tm_supported(void)
{
return 0;
diff --git a/lib/eal/windows/include/pthread.h b/lib/eal/windows/include/pthread.h
index 051b9311c2..e1c31017d1 100644
--- a/lib/eal/windows/include/pthread.h
+++ b/lib/eal/windows/include/pthread.h
@@ -13,13 +13,13 @@
* eal_common_thread.c and common\include\rte_per_lcore.h as Microsoft libc
* does not contain pthread.h. This may be removed in future releases.
*/
+#include <rte_common.h>
+#include <rte_windows.h>
+
#ifdef __cplusplus
extern "C" {
#endif
-#include <rte_common.h>
-#include <rte_windows.h>
-
#define PTHREAD_BARRIER_SERIAL_THREAD TRUE
/* defining pthread_t type on Windows since there is no in Microsoft libc*/
diff --git a/lib/eal/windows/include/regex.h b/lib/eal/windows/include/regex.h
index 827f938414..a224c0cd29 100644
--- a/lib/eal/windows/include/regex.h
+++ b/lib/eal/windows/include/regex.h
@@ -10,15 +10,15 @@
* as Microsoft libc does not contain regex.h. This may be removed in
* future releases.
*/
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#define REG_NOMATCH 1
#define REG_ESPACE 12
#include <rte_common.h>
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/* defining regex_t for Windows */
typedef void *regex_t;
/* defining regmatch_t for Windows */
diff --git a/lib/eal/windows/include/rte_windows.h b/lib/eal/windows/include/rte_windows.h
index 567ed7d820..e78f007ffa 100644
--- a/lib/eal/windows/include/rte_windows.h
+++ b/lib/eal/windows/include/rte_windows.h
@@ -5,10 +5,6 @@
#ifndef _RTE_WINDOWS_H_
#define _RTE_WINDOWS_H_
-#ifdef __cplusplus
-extern "C" {
-#endif
-
/**
* @file Windows-specific facilities
*
@@ -44,6 +40,10 @@ extern "C" {
#include <devguid.h>
#include <rte_log.h>
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/**
* Log GetLastError() with context, usually a Win32 API function and arguments.
*/
diff --git a/lib/eal/x86/include/rte_atomic.h b/lib/eal/x86/include/rte_atomic.h
index 74b1b24b7a..c72c47c83e 100644
--- a/lib/eal/x86/include/rte_atomic.h
+++ b/lib/eal/x86/include/rte_atomic.h
@@ -5,10 +5,6 @@
#ifndef _RTE_ATOMIC_X86_H_
#define _RTE_ATOMIC_X86_H_
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#include <stdint.h>
#include <rte_common.h>
#include <rte_config.h>
@@ -31,6 +27,10 @@ extern "C" {
#define rte_smp_rmb() rte_compiler_barrier()
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/*
* From Intel Software Development Manual; Vol 3;
* 8.2.2 Memory Ordering in P6 and More Recent Processor Families:
@@ -99,10 +99,18 @@ rte_atomic_thread_fence(rte_memory_order memorder)
__rte_atomic_thread_fence(memorder);
}
+#ifdef __cplusplus
+}
+#endif
+
#ifndef RTE_TOOLCHAIN_MSVC
/*------------------------- 16 bit atomic operations -------------------------*/
+#ifdef __cplusplus
+extern "C" {
+#endif
+
#ifndef RTE_FORCE_INTRINSICS
static inline int
rte_atomic16_cmpset(volatile uint16_t *dst, uint16_t exp, uint16_t src)
@@ -273,6 +281,11 @@ static inline int rte_atomic32_dec_and_test(rte_atomic32_t *v)
);
return ret != 0;
}
+
+#ifdef __cplusplus
+}
+#endif
+
#endif
#ifdef RTE_ARCH_I686
@@ -283,8 +296,4 @@ static inline int rte_atomic32_dec_and_test(rte_atomic32_t *v)
#endif
-#ifdef __cplusplus
-}
-#endif
-
#endif /* _RTE_ATOMIC_X86_H_ */
diff --git a/lib/eal/x86/include/rte_byteorder.h b/lib/eal/x86/include/rte_byteorder.h
index adbec0c157..5a49ffcd50 100644
--- a/lib/eal/x86/include/rte_byteorder.h
+++ b/lib/eal/x86/include/rte_byteorder.h
@@ -5,15 +5,15 @@
#ifndef _RTE_BYTEORDER_X86_H_
#define _RTE_BYTEORDER_X86_H_
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#include <stdint.h>
#include <rte_common.h>
#include <rte_config.h>
#include "generic/rte_byteorder.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
#ifndef RTE_BYTE_ORDER
#define RTE_BYTE_ORDER RTE_LITTLE_ENDIAN
#endif
@@ -48,6 +48,10 @@ static inline uint32_t rte_arch_bswap32(uint32_t _x)
return x;
}
+#ifdef __cplusplus
+}
+#endif
+
#define rte_bswap16(x) ((uint16_t)(__builtin_constant_p(x) ? \
rte_constant_bswap16(x) : \
rte_arch_bswap16(x)))
@@ -83,8 +87,4 @@ static inline uint32_t rte_arch_bswap32(uint32_t _x)
#define rte_be_to_cpu_32(x) rte_bswap32(x)
#define rte_be_to_cpu_64(x) rte_bswap64(x)
-#ifdef __cplusplus
-}
-#endif
-
#endif /* _RTE_BYTEORDER_X86_H_ */
diff --git a/lib/eal/x86/include/rte_cpuflags.h b/lib/eal/x86/include/rte_cpuflags.h
index 1ee00e70fe..e843d1e5f4 100644
--- a/lib/eal/x86/include/rte_cpuflags.h
+++ b/lib/eal/x86/include/rte_cpuflags.h
@@ -5,10 +5,6 @@
#ifndef _RTE_CPUFLAGS_X86_64_H_
#define _RTE_CPUFLAGS_X86_64_H_
-#ifdef __cplusplus
-extern "C" {
-#endif
-
enum rte_cpu_flag_t {
/* (EAX 01h) ECX features*/
RTE_CPUFLAG_SSE3 = 0, /**< SSE3 */
@@ -138,6 +134,10 @@ enum rte_cpu_flag_t {
#include "generic/rte_cpuflags.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
#ifdef __cplusplus
}
#endif
diff --git a/lib/eal/x86/include/rte_cycles.h b/lib/eal/x86/include/rte_cycles.h
index 2afe85e28c..8de43840da 100644
--- a/lib/eal/x86/include/rte_cycles.h
+++ b/lib/eal/x86/include/rte_cycles.h
@@ -12,10 +12,6 @@
#include <x86intrin.h>
#endif
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#include "generic/rte_cycles.h"
#ifdef RTE_LIBRTE_EAL_VMWARE_TSC_MAP_SUPPORT
@@ -26,6 +22,10 @@ extern int rte_cycles_vmware_tsc_map;
#include <rte_common.h>
#include <rte_config.h>
+#ifdef __cplusplus
+extern "C" {
+#endif
+
static inline uint64_t
rte_rdtsc(void)
{
diff --git a/lib/eal/x86/include/rte_io.h b/lib/eal/x86/include/rte_io.h
index 0e1fefdee1..c11cb8cd89 100644
--- a/lib/eal/x86/include/rte_io.h
+++ b/lib/eal/x86/include/rte_io.h
@@ -5,16 +5,16 @@
#ifndef _RTE_IO_X86_H_
#define _RTE_IO_X86_H_
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#include <rte_compat.h>
#include "rte_cpuflags.h"
#define RTE_NATIVE_WRITE32_WC
#include "generic/rte_io.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/**
* @internal
* MOVDIRI wrapper.
diff --git a/lib/eal/x86/include/rte_pause.h b/lib/eal/x86/include/rte_pause.h
index b4cf1df1d0..54f028b295 100644
--- a/lib/eal/x86/include/rte_pause.h
+++ b/lib/eal/x86/include/rte_pause.h
@@ -5,13 +5,14 @@
#ifndef _RTE_PAUSE_X86_H_
#define _RTE_PAUSE_X86_H_
+#include "generic/rte_pause.h"
+
+#include <emmintrin.h>
+
#ifdef __cplusplus
extern "C" {
#endif
-#include "generic/rte_pause.h"
-
-#include <emmintrin.h>
static inline void rte_pause(void)
{
_mm_pause();
diff --git a/lib/eal/x86/include/rte_power_intrinsics.h b/lib/eal/x86/include/rte_power_intrinsics.h
index e4c2b87f73..fcb780fc5b 100644
--- a/lib/eal/x86/include/rte_power_intrinsics.h
+++ b/lib/eal/x86/include/rte_power_intrinsics.h
@@ -5,14 +5,14 @@
#ifndef _RTE_POWER_INTRINSIC_X86_H_
#define _RTE_POWER_INTRINSIC_X86_H_
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#include <rte_common.h>
#include "generic/rte_power_intrinsics.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
#ifdef __cplusplus
}
#endif
diff --git a/lib/eal/x86/include/rte_prefetch.h b/lib/eal/x86/include/rte_prefetch.h
index 8a9377714f..34a609cc65 100644
--- a/lib/eal/x86/include/rte_prefetch.h
+++ b/lib/eal/x86/include/rte_prefetch.h
@@ -5,10 +5,6 @@
#ifndef _RTE_PREFETCH_X86_64_H_
#define _RTE_PREFETCH_X86_64_H_
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#ifdef RTE_TOOLCHAIN_MSVC
#include <emmintrin.h>
#endif
@@ -17,6 +13,10 @@ extern "C" {
#include <rte_common.h>
#include "generic/rte_prefetch.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
static inline void rte_prefetch0(const volatile void *p)
{
#ifdef RTE_TOOLCHAIN_MSVC
diff --git a/lib/eal/x86/include/rte_rwlock.h b/lib/eal/x86/include/rte_rwlock.h
index 1796b69265..281eff33b9 100644
--- a/lib/eal/x86/include/rte_rwlock.h
+++ b/lib/eal/x86/include/rte_rwlock.h
@@ -5,13 +5,13 @@
#ifndef _RTE_RWLOCK_X86_64_H_
#define _RTE_RWLOCK_X86_64_H_
+#include "generic/rte_rwlock.h"
+#include "rte_spinlock.h"
+
#ifdef __cplusplus
extern "C" {
#endif
-#include "generic/rte_rwlock.h"
-#include "rte_spinlock.h"
-
static inline void
rte_rwlock_read_lock_tm(rte_rwlock_t *rwl)
__rte_no_thread_safety_analysis
diff --git a/lib/eal/x86/include/rte_spinlock.h b/lib/eal/x86/include/rte_spinlock.h
index a6c23ea1f6..a14da41964 100644
--- a/lib/eal/x86/include/rte_spinlock.h
+++ b/lib/eal/x86/include/rte_spinlock.h
@@ -5,10 +5,6 @@
#ifndef _RTE_SPINLOCK_X86_64_H_
#define _RTE_SPINLOCK_X86_64_H_
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#include "generic/rte_spinlock.h"
#include "rte_rtm.h"
#include "rte_cpuflags.h"
@@ -17,6 +13,10 @@ extern "C" {
#include "rte_pause.h"
#include "rte_cycles.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
#define RTE_RTM_MAX_RETRIES (20)
#define RTE_XABORT_LOCK_BUSY (0xff)
@@ -182,7 +182,6 @@ rte_spinlock_recursive_trylock_tm(rte_spinlock_recursive_t *slr)
return rte_spinlock_recursive_trylock(slr);
}
-
#ifdef __cplusplus
}
#endif
diff --git a/lib/ethdev/ethdev_driver.h b/lib/ethdev/ethdev_driver.h
index 883e59a927..ae00ead865 100644
--- a/lib/ethdev/ethdev_driver.h
+++ b/lib/ethdev/ethdev_driver.h
@@ -5,10 +5,6 @@
#ifndef _RTE_ETHDEV_DRIVER_H_
#define _RTE_ETHDEV_DRIVER_H_
-#ifdef __cplusplus
-extern "C" {
-#endif
-
/**
* @file
*
@@ -24,6 +20,10 @@ extern "C" {
#include <rte_compat.h>
#include <rte_ethdev.h>
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/**
* @internal
* Structure used to hold information about the callbacks to be called for a
diff --git a/lib/ethdev/ethdev_pci.h b/lib/ethdev/ethdev_pci.h
index ec4f731270..2229ffa252 100644
--- a/lib/ethdev/ethdev_pci.h
+++ b/lib/ethdev/ethdev_pci.h
@@ -6,16 +6,16 @@
#ifndef _RTE_ETHDEV_PCI_H_
#define _RTE_ETHDEV_PCI_H_
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#include <rte_malloc.h>
#include <rte_pci.h>
#include <bus_pci_driver.h>
#include <rte_config.h>
#include <ethdev_driver.h>
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/**
* Copy pci device info to the Ethernet device data.
* Shared memory (eth_dev->data) only updated by primary process, so it is safe
diff --git a/lib/ethdev/ethdev_trace.h b/lib/ethdev/ethdev_trace.h
index 3bec87bfdb..36a38f718a 100644
--- a/lib/ethdev/ethdev_trace.h
+++ b/lib/ethdev/ethdev_trace.h
@@ -11,10 +11,6 @@
* API for ethdev trace support
*/
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#include <dev_driver.h>
#include <rte_trace_point.h>
@@ -22,6 +18,10 @@ extern "C" {
#include "rte_mtr.h"
#include "rte_tm.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
RTE_TRACE_POINT(
rte_ethdev_trace_configure,
RTE_TRACE_POINT_ARGS(uint16_t port_id, uint16_t nb_rx_q,
diff --git a/lib/ethdev/ethdev_vdev.h b/lib/ethdev/ethdev_vdev.h
index 364f140f91..010ec75a00 100644
--- a/lib/ethdev/ethdev_vdev.h
+++ b/lib/ethdev/ethdev_vdev.h
@@ -6,15 +6,15 @@
#ifndef _RTE_ETHDEV_VDEV_H_
#define _RTE_ETHDEV_VDEV_H_
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#include <rte_config.h>
#include <rte_malloc.h>
#include <bus_vdev_driver.h>
#include <ethdev_driver.h>
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/**
* @internal
* Allocates a new ethdev slot for an Ethernet device and returns the pointer
diff --git a/lib/ethdev/rte_cman.h b/lib/ethdev/rte_cman.h
index 297db8e095..dedd6cb71a 100644
--- a/lib/ethdev/rte_cman.h
+++ b/lib/ethdev/rte_cman.h
@@ -5,12 +5,12 @@
#ifndef RTE_CMAN_H
#define RTE_CMAN_H
+#include <rte_bitops.h>
+
#ifdef __cplusplus
extern "C" {
#endif
-#include <rte_bitops.h>
-
/**
* @file
* Congestion management related parameters for DPDK.
diff --git a/lib/ethdev/rte_dev_info.h b/lib/ethdev/rte_dev_info.h
index 67cf0ae526..4fde2ad408 100644
--- a/lib/ethdev/rte_dev_info.h
+++ b/lib/ethdev/rte_dev_info.h
@@ -5,12 +5,12 @@
#ifndef _RTE_DEV_INFO_H_
#define _RTE_DEV_INFO_H_
+#include <stdint.h>
+
#ifdef __cplusplus
extern "C" {
#endif
-#include <stdint.h>
-
/*
* Placeholder for accessing device registers
*/
diff --git a/lib/ethdev/rte_ethdev.h b/lib/ethdev/rte_ethdev.h
index 548fada1c7..a75e26bf07 100644
--- a/lib/ethdev/rte_ethdev.h
+++ b/lib/ethdev/rte_ethdev.h
@@ -145,10 +145,6 @@
* a 0 value by the receive function of the driver for a given number of tries.
*/
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#include <stdint.h>
/* Use this macro to check if LRO API is supported */
@@ -5966,6 +5962,10 @@ int rte_eth_cman_config_get(uint16_t port_id, struct rte_eth_cman_config *config
#include <rte_ethdev_core.h>
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/**
* @internal
* Helper routine for rte_eth_rx_burst().
diff --git a/lib/ethdev/rte_ethdev_trace_fp.h b/lib/ethdev/rte_ethdev_trace_fp.h
index 40b6e4756b..c11b4f18f7 100644
--- a/lib/ethdev/rte_ethdev_trace_fp.h
+++ b/lib/ethdev/rte_ethdev_trace_fp.h
@@ -11,12 +11,12 @@
* API for ethdev trace support
*/
+#include <rte_trace_point.h>
+
#ifdef __cplusplus
extern "C" {
#endif
-#include <rte_trace_point.h>
-
RTE_TRACE_POINT_FP(
rte_ethdev_trace_rx_burst,
RTE_TRACE_POINT_ARGS(uint16_t port_id, uint16_t queue_id,
diff --git a/lib/eventdev/event_timer_adapter_pmd.h b/lib/eventdev/event_timer_adapter_pmd.h
index cd5127f047..fffcd90c8f 100644
--- a/lib/eventdev/event_timer_adapter_pmd.h
+++ b/lib/eventdev/event_timer_adapter_pmd.h
@@ -16,12 +16,12 @@
* versioning.
*/
+#include "rte_event_timer_adapter.h"
+
#ifdef __cplusplus
extern "C" {
#endif
-#include "rte_event_timer_adapter.h"
-
/*
* Definitions of functions exported by an event timer adapter implementation
* through *rte_event_timer_adapter_ops* structure supplied in the
diff --git a/lib/eventdev/eventdev_pmd.h b/lib/eventdev/eventdev_pmd.h
index 7a5699f14b..fd5f7a14f4 100644
--- a/lib/eventdev/eventdev_pmd.h
+++ b/lib/eventdev/eventdev_pmd.h
@@ -5,10 +5,6 @@
#ifndef _RTE_EVENTDEV_PMD_H_
#define _RTE_EVENTDEV_PMD_H_
-#ifdef __cplusplus
-extern "C" {
-#endif
-
/** @file
* RTE Event PMD APIs
*
@@ -31,6 +27,10 @@ extern "C" {
#include "event_timer_adapter_pmd.h"
#include "rte_eventdev.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
extern int rte_event_logtype;
#define RTE_LOGTYPE_EVENTDEV rte_event_logtype
diff --git a/lib/eventdev/eventdev_pmd_pci.h b/lib/eventdev/eventdev_pmd_pci.h
index 26aa3a6635..5cb5916a84 100644
--- a/lib/eventdev/eventdev_pmd_pci.h
+++ b/lib/eventdev/eventdev_pmd_pci.h
@@ -5,10 +5,6 @@
#ifndef _RTE_EVENTDEV_PMD_PCI_H_
#define _RTE_EVENTDEV_PMD_PCI_H_
-#ifdef __cplusplus
-extern "C" {
-#endif
-
/** @file
* RTE Eventdev PCI PMD APIs
*
@@ -28,6 +24,10 @@ extern "C" {
#include "eventdev_pmd.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
typedef int (*eventdev_pmd_pci_callback_t)(struct rte_eventdev *dev);
/**
diff --git a/lib/eventdev/eventdev_pmd_vdev.h b/lib/eventdev/eventdev_pmd_vdev.h
index bb433ba955..4eaefa0b0b 100644
--- a/lib/eventdev/eventdev_pmd_vdev.h
+++ b/lib/eventdev/eventdev_pmd_vdev.h
@@ -5,10 +5,6 @@
#ifndef _RTE_EVENTDEV_PMD_VDEV_H_
#define _RTE_EVENTDEV_PMD_VDEV_H_
-#ifdef __cplusplus
-extern "C" {
-#endif
-
/** @file
* RTE Eventdev VDEV PMD APIs
*
@@ -27,6 +23,10 @@ extern "C" {
#include "eventdev_pmd.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/**
* @internal
* Creates a new virtual event device and returns the pointer to that device.
diff --git a/lib/eventdev/eventdev_trace.h b/lib/eventdev/eventdev_trace.h
index 9c2b261c06..8ff8841729 100644
--- a/lib/eventdev/eventdev_trace.h
+++ b/lib/eventdev/eventdev_trace.h
@@ -11,10 +11,6 @@
* API for ethdev trace support
*/
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#include <rte_trace_point.h>
#include "rte_eventdev.h"
@@ -22,6 +18,10 @@ extern "C" {
#include "rte_event_eth_rx_adapter.h"
#include "rte_event_timer_adapter.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
RTE_TRACE_POINT(
rte_eventdev_trace_configure,
RTE_TRACE_POINT_ARGS(uint8_t dev_id,
diff --git a/lib/eventdev/rte_event_crypto_adapter.h b/lib/eventdev/rte_event_crypto_adapter.h
index e07f159b77..c9b277c664 100644
--- a/lib/eventdev/rte_event_crypto_adapter.h
+++ b/lib/eventdev/rte_event_crypto_adapter.h
@@ -167,14 +167,14 @@
* from the start of the rte_crypto_op including initialization vector (IV).
*/
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#include <stdint.h>
#include "rte_eventdev.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/**
* Crypto event adapter mode
*/
diff --git a/lib/eventdev/rte_event_eth_rx_adapter.h b/lib/eventdev/rte_event_eth_rx_adapter.h
index cf42c69b0d..9237e198a7 100644
--- a/lib/eventdev/rte_event_eth_rx_adapter.h
+++ b/lib/eventdev/rte_event_eth_rx_adapter.h
@@ -87,10 +87,6 @@
* event based so the callback can also modify the event data if it needs to.
*/
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#include <stdint.h>
#include <rte_compat.h>
@@ -98,6 +94,10 @@ extern "C" {
#include "rte_eventdev.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
#define RTE_EVENT_ETH_RX_ADAPTER_MAX_INSTANCE 32
/* struct rte_event_eth_rx_adapter_queue_conf flags definitions */
diff --git a/lib/eventdev/rte_event_eth_tx_adapter.h b/lib/eventdev/rte_event_eth_tx_adapter.h
index b38b3fce97..ef01345ac2 100644
--- a/lib/eventdev/rte_event_eth_tx_adapter.h
+++ b/lib/eventdev/rte_event_eth_tx_adapter.h
@@ -76,10 +76,6 @@
* impact due to a change in how the transmit queue index is specified.
*/
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#include <stdint.h>
#include <rte_compat.h>
@@ -87,6 +83,10 @@ extern "C" {
#include "rte_eventdev.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/**
* Adapter configuration structure
*
diff --git a/lib/eventdev/rte_event_ring.h b/lib/eventdev/rte_event_ring.h
index f9cf19ae16..5769da269e 100644
--- a/lib/eventdev/rte_event_ring.h
+++ b/lib/eventdev/rte_event_ring.h
@@ -14,10 +14,6 @@
#ifndef _RTE_EVENT_RING_
#define _RTE_EVENT_RING_
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#include <stdint.h>
#include <rte_common.h>
@@ -25,6 +21,10 @@ extern "C" {
#include <rte_ring_elem.h>
#include "rte_eventdev.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
#define RTE_TAILQ_EVENT_RING_NAME "RTE_EVENT_RING"
/**
diff --git a/lib/eventdev/rte_event_timer_adapter.h b/lib/eventdev/rte_event_timer_adapter.h
index 0bd1b30045..256807b3bf 100644
--- a/lib/eventdev/rte_event_timer_adapter.h
+++ b/lib/eventdev/rte_event_timer_adapter.h
@@ -107,14 +107,14 @@
* All these use cases require high resolution and low time drift.
*/
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#include "rte_eventdev.h"
#include "rte_eventdev_trace_fp.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/**
* Timer adapter clock source
*/
diff --git a/lib/eventdev/rte_eventdev.h b/lib/eventdev/rte_eventdev.h
index 08e5f9320b..e5c5b7df64 100644
--- a/lib/eventdev/rte_eventdev.h
+++ b/lib/eventdev/rte_eventdev.h
@@ -237,10 +237,6 @@
* \endcode
*/
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#include <rte_compat.h>
#include <rte_common.h>
#include <rte_errno.h>
@@ -2469,6 +2465,10 @@ rte_event_vector_pool_create(const char *name, unsigned int n,
#include <rte_eventdev_core.h>
+#ifdef __cplusplus
+extern "C" {
+#endif
+
static __rte_always_inline uint16_t
__rte_event_enqueue_burst(uint8_t dev_id, uint8_t port_id,
const struct rte_event ev[], uint16_t nb_events,
diff --git a/lib/eventdev/rte_eventdev_trace_fp.h b/lib/eventdev/rte_eventdev_trace_fp.h
index 04d510ad00..8656f1e6e4 100644
--- a/lib/eventdev/rte_eventdev_trace_fp.h
+++ b/lib/eventdev/rte_eventdev_trace_fp.h
@@ -11,12 +11,12 @@
* API for ethdev trace support
*/
+#include <rte_trace_point.h>
+
#ifdef __cplusplus
extern "C" {
#endif
-#include <rte_trace_point.h>
-
RTE_TRACE_POINT_FP(
rte_eventdev_trace_deq_burst,
RTE_TRACE_POINT_ARGS(uint8_t dev_id, uint8_t port_id, void *ev_table,
diff --git a/lib/graph/rte_graph_model_mcore_dispatch.h b/lib/graph/rte_graph_model_mcore_dispatch.h
index 732b89297f..f9ff3daa88 100644
--- a/lib/graph/rte_graph_model_mcore_dispatch.h
+++ b/lib/graph/rte_graph_model_mcore_dispatch.h
@@ -12,10 +12,6 @@
* dispatch model.
*/
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#include <rte_errno.h>
#include <rte_mempool.h>
#include <rte_memzone.h>
@@ -23,6 +19,10 @@ extern "C" {
#include "rte_graph_worker_common.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
#define RTE_GRAPH_SCHED_WQ_SIZE_MULTIPLIER 8
#define RTE_GRAPH_SCHED_WQ_SIZE(nb_nodes) \
((typeof(nb_nodes))((nb_nodes) * RTE_GRAPH_SCHED_WQ_SIZE_MULTIPLIER))
diff --git a/lib/graph/rte_graph_worker.h b/lib/graph/rte_graph_worker.h
index 03d0e01b68..b0f952a82c 100644
--- a/lib/graph/rte_graph_worker.h
+++ b/lib/graph/rte_graph_worker.h
@@ -6,13 +6,13 @@
#ifndef _RTE_GRAPH_WORKER_H_
#define _RTE_GRAPH_WORKER_H_
+#include "rte_graph_model_rtc.h"
+#include "rte_graph_model_mcore_dispatch.h"
+
#ifdef __cplusplus
extern "C" {
#endif
-#include "rte_graph_model_rtc.h"
-#include "rte_graph_model_mcore_dispatch.h"
-
/**
* Perform graph walk on the circular buffer and invoke the process function
* of the nodes and collect the stats.
diff --git a/lib/gso/rte_gso.h b/lib/gso/rte_gso.h
index d60cb65f18..75246989dc 100644
--- a/lib/gso/rte_gso.h
+++ b/lib/gso/rte_gso.h
@@ -10,13 +10,13 @@
* Interface to GSO library
*/
+#include <stdint.h>
+#include <rte_mbuf.h>
+
#ifdef __cplusplus
extern "C" {
#endif
-#include <stdint.h>
-#include <rte_mbuf.h>
-
/* Minimum GSO segment size for TCP based packets. */
#define RTE_GSO_SEG_SIZE_MIN (sizeof(struct rte_ether_hdr) + \
sizeof(struct rte_ipv4_hdr) + sizeof(struct rte_tcp_hdr) + 1)
diff --git a/lib/hash/rte_fbk_hash.h b/lib/hash/rte_fbk_hash.h
index b01126999b..1f0c1d1b6c 100644
--- a/lib/hash/rte_fbk_hash.h
+++ b/lib/hash/rte_fbk_hash.h
@@ -18,15 +18,15 @@
#include <stdint.h>
#include <errno.h>
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#include <string.h>
#include <rte_hash_crc.h>
#include <rte_jhash.h>
+#ifdef __cplusplus
+extern "C" {
+#endif
+
#ifndef RTE_FBK_HASH_INIT_VAL_DEFAULT
/** Initialising value used when calculating hash. */
#define RTE_FBK_HASH_INIT_VAL_DEFAULT 0xFFFFFFFF
diff --git a/lib/hash/rte_hash_crc.h b/lib/hash/rte_hash_crc.h
index 8ad2422ec3..fa07c97685 100644
--- a/lib/hash/rte_hash_crc.h
+++ b/lib/hash/rte_hash_crc.h
@@ -11,10 +11,6 @@
* RTE CRC Hash
*/
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#include <stdint.h>
#include <rte_branch_prediction.h>
@@ -39,6 +35,10 @@ extern uint8_t rte_hash_crc32_alg;
#include "rte_crc_generic.h"
#endif
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/**
* Allow or disallow use of SSE4.2/ARMv8 intrinsics for CRC32 hash
* calculation.
diff --git a/lib/hash/rte_jhash.h b/lib/hash/rte_jhash.h
index f2446f081e..b70799d209 100644
--- a/lib/hash/rte_jhash.h
+++ b/lib/hash/rte_jhash.h
@@ -11,10 +11,6 @@
* jhash functions.
*/
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#include <stdint.h>
#include <string.h>
#include <limits.h>
@@ -23,6 +19,10 @@ extern "C" {
#include <rte_log.h>
#include <rte_byteorder.h>
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/* jhash.h: Jenkins hash support.
*
* Copyright (C) 2006 Bob Jenkins (bob_jenkins@burtleburtle.net)
diff --git a/lib/hash/rte_thash.h b/lib/hash/rte_thash.h
index 30b657e67a..ec9bc57efa 100644
--- a/lib/hash/rte_thash.h
+++ b/lib/hash/rte_thash.h
@@ -15,10 +15,6 @@
* after GRE header decapsulating)
*/
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#include <stdint.h>
#include <rte_byteorder.h>
@@ -28,6 +24,10 @@ extern "C" {
#if defined(RTE_ARCH_X86) || defined(__ARM_NEON)
#include <rte_vect.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
#endif
#ifdef RTE_ARCH_X86
diff --git a/lib/hash/rte_thash_gfni.h b/lib/hash/rte_thash_gfni.h
index 132f37506d..e82378933c 100644
--- a/lib/hash/rte_thash_gfni.h
+++ b/lib/hash/rte_thash_gfni.h
@@ -5,10 +5,6 @@
#ifndef _RTE_THASH_GFNI_H_
#define _RTE_THASH_GFNI_H_
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#include <rte_compat.h>
#include <rte_log.h>
@@ -18,6 +14,10 @@ extern "C" {
#endif
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/**
* @internal
* Stubs only used when GFNI is not available.
diff --git a/lib/ip_frag/rte_ip_frag.h b/lib/ip_frag/rte_ip_frag.h
index 2ad318096b..84fd717953 100644
--- a/lib/ip_frag/rte_ip_frag.h
+++ b/lib/ip_frag/rte_ip_frag.h
@@ -12,10 +12,6 @@
* Implementation of IP packet fragmentation and reassembly.
*/
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#include <stdint.h>
#include <stdio.h>
@@ -25,6 +21,10 @@ extern "C" {
#include <rte_ip.h>
#include <rte_byteorder.h>
+#ifdef __cplusplus
+extern "C" {
+#endif
+
struct rte_mbuf;
/** death row size (in packets) */
diff --git a/lib/ipsec/rte_ipsec.h b/lib/ipsec/rte_ipsec.h
index f15f6f2966..28b7a61aea 100644
--- a/lib/ipsec/rte_ipsec.h
+++ b/lib/ipsec/rte_ipsec.h
@@ -17,10 +17,6 @@
#include <rte_ipsec_sa.h>
#include <rte_mbuf.h>
-#ifdef __cplusplus
-extern "C" {
-#endif
-
struct rte_ipsec_session;
/**
@@ -181,6 +177,10 @@ rte_ipsec_telemetry_sa_del(const struct rte_ipsec_sa *sa);
#include <rte_ipsec_group.h>
+#ifdef __cplusplus
+extern "C" {
+#endif
+
#ifdef __cplusplus
}
#endif
diff --git a/lib/log/rte_log.h b/lib/log/rte_log.h
index f357c59548..3735137150 100644
--- a/lib/log/rte_log.h
+++ b/lib/log/rte_log.h
@@ -13,10 +13,6 @@
* This file provides a log API to RTE applications.
*/
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#include <assert.h>
#include <stdint.h>
#include <stdio.h>
@@ -26,6 +22,10 @@ extern "C" {
#include <rte_common.h>
#include <rte_config.h>
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/* SDK log type */
#define RTE_LOGTYPE_EAL 0 /**< Log related to eal. */
/* was RTE_LOGTYPE_MALLOC */
diff --git a/lib/lpm/rte_lpm.h b/lib/lpm/rte_lpm.h
index 9c6df311cb..329dc1aad4 100644
--- a/lib/lpm/rte_lpm.h
+++ b/lib/lpm/rte_lpm.h
@@ -391,6 +391,10 @@ static inline void
rte_lpm_lookupx4(const struct rte_lpm *lpm, xmm_t ip, uint32_t hop[4],
uint32_t defv);
+#ifdef __cplusplus
+}
+#endif
+
#if defined(RTE_ARCH_ARM)
#ifdef RTE_HAS_SVE_ACLE
#include "rte_lpm_sve.h"
@@ -407,8 +411,4 @@ rte_lpm_lookupx4(const struct rte_lpm *lpm, xmm_t ip, uint32_t hop[4],
#include "rte_lpm_scalar.h"
#endif
-#ifdef __cplusplus
-}
-#endif
-
#endif /* _RTE_LPM_H_ */
diff --git a/lib/member/rte_member.h b/lib/member/rte_member.h
index aec192eba5..109bdd000b 100644
--- a/lib/member/rte_member.h
+++ b/lib/member/rte_member.h
@@ -54,10 +54,6 @@
#ifndef _RTE_MEMBER_H_
#define _RTE_MEMBER_H_
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#include <stdint.h>
#include <stdbool.h>
#include <inttypes.h>
@@ -100,6 +96,10 @@ typedef uint16_t member_set_t;
#define MEMBER_HASH_FUNC rte_jhash
#endif
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/** @internal setsummary structure. */
struct rte_member_setsum;
diff --git a/lib/member/rte_member_sketch.h b/lib/member/rte_member_sketch.h
index 74f24ca223..6a8d5104dd 100644
--- a/lib/member/rte_member_sketch.h
+++ b/lib/member/rte_member_sketch.h
@@ -5,13 +5,13 @@
#ifndef RTE_MEMBER_SKETCH_H
#define RTE_MEMBER_SKETCH_H
+#include <rte_vect.h>
+#include <rte_ring_elem.h>
+
#ifdef __cplusplus
extern "C" {
#endif
-#include <rte_vect.h>
-#include <rte_ring_elem.h>
-
#define NUM_ROW_SCALAR 5
#define INTERVAL (1 << 15)
diff --git a/lib/member/rte_member_sketch_avx512.h b/lib/member/rte_member_sketch_avx512.h
index 52666b5b4c..a8ef3b065e 100644
--- a/lib/member/rte_member_sketch_avx512.h
+++ b/lib/member/rte_member_sketch_avx512.h
@@ -5,14 +5,14 @@
#ifndef RTE_MEMBER_SKETCH_AVX512_H
#define RTE_MEMBER_SKETCH_AVX512_H
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#include <rte_vect.h>
#include "rte_member.h"
#include "rte_member_sketch.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
#define NUM_ROW_VEC 8
void
diff --git a/lib/member/rte_member_x86.h b/lib/member/rte_member_x86.h
index d115151f9f..4de453485b 100644
--- a/lib/member/rte_member_x86.h
+++ b/lib/member/rte_member_x86.h
@@ -5,12 +5,12 @@
#ifndef _RTE_MEMBER_X86_H_
#define _RTE_MEMBER_X86_H_
+#include <x86intrin.h>
+
#ifdef __cplusplus
extern "C" {
#endif
-#include <x86intrin.h>
-
#if defined(__AVX2__)
static inline int
diff --git a/lib/member/rte_xxh64_avx512.h b/lib/member/rte_xxh64_avx512.h
index ffe6cb79f9..58f896ebb8 100644
--- a/lib/member/rte_xxh64_avx512.h
+++ b/lib/member/rte_xxh64_avx512.h
@@ -5,13 +5,13 @@
#ifndef RTE_XXH64_AVX512_H
#define RTE_XXH64_AVX512_H
+#include <rte_common.h>
+#include <immintrin.h>
+
#ifdef __cplusplus
extern "C" {
#endif
-#include <rte_common.h>
-#include <immintrin.h>
-
/* 0b1001111000110111011110011011000110000101111010111100101010000111 */
static const uint64_t PRIME64_1 = 0x9E3779B185EBCA87ULL;
/* 0b1100001010110010101011100011110100100111110101001110101101001111 */
diff --git a/lib/mempool/mempool_trace.h b/lib/mempool/mempool_trace.h
index dffef062e4..c595a3116b 100644
--- a/lib/mempool/mempool_trace.h
+++ b/lib/mempool/mempool_trace.h
@@ -11,15 +11,15 @@
* APIs for mempool trace support
*/
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#include "rte_mempool.h"
#include <rte_memzone.h>
#include <rte_trace_point.h>
+#ifdef __cplusplus
+extern "C" {
+#endif
+
RTE_TRACE_POINT(
rte_mempool_trace_create,
RTE_TRACE_POINT_ARGS(const char *name, uint32_t nb_elts,
diff --git a/lib/mempool/rte_mempool_trace_fp.h b/lib/mempool/rte_mempool_trace_fp.h
index ed060e887c..9c5cdbb291 100644
--- a/lib/mempool/rte_mempool_trace_fp.h
+++ b/lib/mempool/rte_mempool_trace_fp.h
@@ -11,12 +11,12 @@
* Mempool fast path API for trace support
*/
+#include <rte_trace_point.h>
+
#ifdef __cplusplus
extern "C" {
#endif
-#include <rte_trace_point.h>
-
RTE_TRACE_POINT_FP(
rte_mempool_trace_ops_dequeue_bulk,
RTE_TRACE_POINT_ARGS(void *mempool, void **obj_table,
diff --git a/lib/meter/rte_meter.h b/lib/meter/rte_meter.h
index bd68cbe389..e72bf93b3e 100644
--- a/lib/meter/rte_meter.h
+++ b/lib/meter/rte_meter.h
@@ -6,10 +6,6 @@
#ifndef __INCLUDE_RTE_METER_H__
#define __INCLUDE_RTE_METER_H__
-#ifdef __cplusplus
-extern "C" {
-#endif
-
/**
* @file
* RTE Traffic Metering
@@ -22,6 +18,10 @@ extern "C" {
#include <stdint.h>
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/*
* Application Programmer's Interface (API)
*/
diff --git a/lib/mldev/mldev_utils.h b/lib/mldev/mldev_utils.h
index 5e2a180adc..bf21067d38 100644
--- a/lib/mldev/mldev_utils.h
+++ b/lib/mldev/mldev_utils.h
@@ -5,10 +5,6 @@
#ifndef RTE_MLDEV_UTILS_H
#define RTE_MLDEV_UTILS_H
-#ifdef __cplusplus
-extern "C" {
-#endif
-
/**
* @file
*
@@ -20,6 +16,10 @@ extern "C" {
#include <rte_compat.h>
#include <rte_mldev.h>
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/**
* @internal
*
diff --git a/lib/mldev/rte_mldev_core.h b/lib/mldev/rte_mldev_core.h
index b3bd281083..8dccf125fc 100644
--- a/lib/mldev/rte_mldev_core.h
+++ b/lib/mldev/rte_mldev_core.h
@@ -16,10 +16,6 @@
* These APIs are for MLDEV PMDs and library only.
*/
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#include <stdint.h>
#include <dev_driver.h>
@@ -27,6 +23,10 @@ extern "C" {
#include <rte_log.h>
#include <rte_mldev.h>
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/* Device state */
#define ML_DEV_DETACHED (0)
#define ML_DEV_ATTACHED (1)
diff --git a/lib/mldev/rte_mldev_pmd.h b/lib/mldev/rte_mldev_pmd.h
index fd5bbf4360..47c0f23223 100644
--- a/lib/mldev/rte_mldev_pmd.h
+++ b/lib/mldev/rte_mldev_pmd.h
@@ -14,10 +14,6 @@
* These APIs are for MLDEV PMDs only and user applications should not call them directly.
*/
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#include <stdint.h>
#include <rte_common.h>
@@ -25,6 +21,10 @@ extern "C" {
#include <rte_mldev.h>
#include <rte_mldev_core.h>
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/**
* @internal
*
diff --git a/lib/net/rte_ether.h b/lib/net/rte_ether.h
index 32ed515aef..403e84f50b 100644
--- a/lib/net/rte_ether.h
+++ b/lib/net/rte_ether.h
@@ -11,10 +11,6 @@
* Ethernet Helpers in RTE
*/
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#include <stdint.h>
#include <stdio.h>
@@ -22,6 +18,10 @@ extern "C" {
#include <rte_mbuf.h>
#include <rte_byteorder.h>
+#ifdef __cplusplus
+extern "C" {
+#endif
+
#define RTE_ETHER_ADDR_LEN 6 /**< Length of Ethernet address. */
#define RTE_ETHER_TYPE_LEN 2 /**< Length of Ethernet type field. */
#define RTE_ETHER_CRC_LEN 4 /**< Length of Ethernet CRC. */
diff --git a/lib/net/rte_net.h b/lib/net/rte_net.h
index cdc6cf956d..40ad6a71a1 100644
--- a/lib/net/rte_net.h
+++ b/lib/net/rte_net.h
@@ -5,14 +5,14 @@
#ifndef _RTE_NET_PTYPE_H_
#define _RTE_NET_PTYPE_H_
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#include <rte_ip.h>
#include <rte_udp.h>
#include <rte_tcp.h>
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/**
* Structure containing header lengths associated to a packet, filled
* by rte_net_get_ptype().
diff --git a/lib/net/rte_sctp.h b/lib/net/rte_sctp.h
index 965682dc2b..a8ba9e49d8 100644
--- a/lib/net/rte_sctp.h
+++ b/lib/net/rte_sctp.h
@@ -14,14 +14,14 @@
#ifndef _RTE_SCTP_H_
#define _RTE_SCTP_H_
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#include <stdint.h>
#include <rte_byteorder.h>
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/**
* SCTP Header
*/
diff --git a/lib/node/rte_node_eth_api.h b/lib/node/rte_node_eth_api.h
index 143cf131b3..2b7019f6bb 100644
--- a/lib/node/rte_node_eth_api.h
+++ b/lib/node/rte_node_eth_api.h
@@ -16,15 +16,15 @@
* and its queue associations.
*/
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#include <rte_compat.h>
#include <rte_common.h>
#include <rte_graph.h>
#include <rte_mempool.h>
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/**
* Port config for ethdev_rx and ethdev_tx node.
*/
diff --git a/lib/node/rte_node_ip4_api.h b/lib/node/rte_node_ip4_api.h
index 24f8ec843a..950751a525 100644
--- a/lib/node/rte_node_ip4_api.h
+++ b/lib/node/rte_node_ip4_api.h
@@ -15,15 +15,15 @@
* This API allows to do control path functions of ip4_* nodes
* like ip4_lookup, ip4_rewrite.
*/
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#include <rte_common.h>
#include <rte_compat.h>
#include <rte_graph.h>
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/**
* IP4 lookup next nodes.
*/
diff --git a/lib/node/rte_node_ip6_api.h b/lib/node/rte_node_ip6_api.h
index a538dc2ea7..f467aac7b6 100644
--- a/lib/node/rte_node_ip6_api.h
+++ b/lib/node/rte_node_ip6_api.h
@@ -15,13 +15,13 @@
* This API allows to do control path functions of ip6_* nodes
* like ip6_lookup, ip6_rewrite.
*/
+#include <rte_common.h>
+#include <rte_compat.h>
+
#ifdef __cplusplus
extern "C" {
#endif
-#include <rte_common.h>
-#include <rte_compat.h>
-
/**
* IP6 lookup next nodes.
*/
diff --git a/lib/node/rte_node_udp4_input_api.h b/lib/node/rte_node_udp4_input_api.h
index c873acbbe0..694660bd6a 100644
--- a/lib/node/rte_node_udp4_input_api.h
+++ b/lib/node/rte_node_udp4_input_api.h
@@ -16,14 +16,14 @@
* like udp4_input.
*
*/
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#include <rte_common.h>
#include <rte_compat.h>
#include "rte_graph.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
/**
* UDP4 lookup next nodes.
*/
diff --git a/lib/pci/rte_pci.h b/lib/pci/rte_pci.h
index c26fc77209..9a50a12142 100644
--- a/lib/pci/rte_pci.h
+++ b/lib/pci/rte_pci.h
@@ -12,14 +12,14 @@
* RTE PCI Library
*/
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#include <stdio.h>
#include <inttypes.h>
#include <sys/types.h>
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/*
* Conventional PCI and PCI-X Mode 1 devices have 256 bytes of
* configuration space. PCI-X Mode 2 and PCIe devices have 4096 bytes of
diff --git a/lib/pdcp/rte_pdcp.h b/lib/pdcp/rte_pdcp.h
index f74524f83d..15fcbf9607 100644
--- a/lib/pdcp/rte_pdcp.h
+++ b/lib/pdcp/rte_pdcp.h
@@ -19,10 +19,6 @@
#include <rte_pdcp_hdr.h>
#include <rte_security.h>
-#ifdef __cplusplus
-extern "C" {
-#endif
-
/* Forward declarations. */
struct rte_pdcp_entity;
@@ -373,6 +369,10 @@ rte_pdcp_t_reordering_expiry_handle(const struct rte_pdcp_entity *entity,
*/
#include <rte_pdcp_group.h>
+#ifdef __cplusplus
+extern "C" {
+#endif
+
#ifdef __cplusplus
}
#endif
diff --git a/lib/pipeline/rte_pipeline.h b/lib/pipeline/rte_pipeline.h
index 0c7994b4f2..c9e7172453 100644
--- a/lib/pipeline/rte_pipeline.h
+++ b/lib/pipeline/rte_pipeline.h
@@ -5,10 +5,6 @@
#ifndef __INCLUDE_RTE_PIPELINE_H__
#define __INCLUDE_RTE_PIPELINE_H__
-#ifdef __cplusplus
-extern "C" {
-#endif
-
/**
* @file
* RTE Pipeline
@@ -59,6 +55,10 @@ extern "C" {
#include <rte_table.h>
#include <rte_common.h>
+#ifdef __cplusplus
+extern "C" {
+#endif
+
struct rte_mbuf;
/*
diff --git a/lib/pipeline/rte_port_in_action.h b/lib/pipeline/rte_port_in_action.h
index ec2994599f..9d17bae988 100644
--- a/lib/pipeline/rte_port_in_action.h
+++ b/lib/pipeline/rte_port_in_action.h
@@ -46,10 +46,6 @@
* @b EXPERIMENTAL: this API may change without prior notice
*/
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#include <stdint.h>
#include <rte_compat.h>
@@ -57,6 +53,10 @@ extern "C" {
#include "rte_pipeline.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/** Input port actions. */
enum rte_port_in_action_type {
/** Filter selected input packets. */
diff --git a/lib/pipeline/rte_swx_ctl.h b/lib/pipeline/rte_swx_ctl.h
index 6ef2551ab5..c4e63753f5 100644
--- a/lib/pipeline/rte_swx_ctl.h
+++ b/lib/pipeline/rte_swx_ctl.h
@@ -4,10 +4,6 @@
#ifndef __INCLUDE_RTE_SWX_CTL_H__
#define __INCLUDE_RTE_SWX_CTL_H__
-#ifdef __cplusplus
-extern "C" {
-#endif
-
/**
* @file
* RTE SWX Pipeline Control
@@ -22,6 +18,10 @@ extern "C" {
#include "rte_swx_port.h"
#include "rte_swx_table.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
struct rte_swx_pipeline;
/** Name size. */
diff --git a/lib/pipeline/rte_swx_extern.h b/lib/pipeline/rte_swx_extern.h
index e10e963d63..1553fa81ec 100644
--- a/lib/pipeline/rte_swx_extern.h
+++ b/lib/pipeline/rte_swx_extern.h
@@ -4,10 +4,6 @@
#ifndef __INCLUDE_RTE_SWX_EXTERN_H__
#define __INCLUDE_RTE_SWX_EXTERN_H__
-#ifdef __cplusplus
-extern "C" {
-#endif
-
/**
* @file
* RTE SWX Extern objects and functions
@@ -19,6 +15,10 @@ extern "C" {
#include <stdint.h>
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/*
* Extern type
*/
diff --git a/lib/pipeline/rte_swx_ipsec.h b/lib/pipeline/rte_swx_ipsec.h
index 7c07fdc739..d2e5abef7d 100644
--- a/lib/pipeline/rte_swx_ipsec.h
+++ b/lib/pipeline/rte_swx_ipsec.h
@@ -4,10 +4,6 @@
#ifndef __INCLUDE_RTE_SWX_IPSEC_H__
#define __INCLUDE_RTE_SWX_IPSEC_H__
-#ifdef __cplusplus
-extern "C" {
-#endif
-
/**
* @file
* RTE SWX Internet Protocol Security (IPsec)
@@ -53,6 +49,10 @@ extern "C" {
#include <rte_compat.h>
#include <rte_crypto_sym.h>
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/**
* IPsec Setup API
*/
diff --git a/lib/pipeline/rte_swx_pipeline.h b/lib/pipeline/rte_swx_pipeline.h
index 25df042d3b..882bd4bf6f 100644
--- a/lib/pipeline/rte_swx_pipeline.h
+++ b/lib/pipeline/rte_swx_pipeline.h
@@ -4,10 +4,6 @@
#ifndef __INCLUDE_RTE_SWX_PIPELINE_H__
#define __INCLUDE_RTE_SWX_PIPELINE_H__
-#ifdef __cplusplus
-extern "C" {
-#endif
-
/**
* @file
* RTE SWX Pipeline
@@ -22,6 +18,10 @@ extern "C" {
#include "rte_swx_table.h"
#include "rte_swx_extern.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/** Name size. */
#ifndef RTE_SWX_NAME_SIZE
#define RTE_SWX_NAME_SIZE 64
diff --git a/lib/pipeline/rte_swx_pipeline_spec.h b/lib/pipeline/rte_swx_pipeline_spec.h
index dd88c0bfab..077b407c0a 100644
--- a/lib/pipeline/rte_swx_pipeline_spec.h
+++ b/lib/pipeline/rte_swx_pipeline_spec.h
@@ -4,10 +4,6 @@
#ifndef __INCLUDE_RTE_SWX_PIPELINE_SPEC_H__
#define __INCLUDE_RTE_SWX_PIPELINE_SPEC_H__
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#include <stdint.h>
#include <stdio.h>
@@ -15,6 +11,10 @@ extern "C" {
#include <rte_swx_pipeline.h>
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/*
* extobj.
*
diff --git a/lib/pipeline/rte_table_action.h b/lib/pipeline/rte_table_action.h
index 5dffbeb700..bab4bfd2e2 100644
--- a/lib/pipeline/rte_table_action.h
+++ b/lib/pipeline/rte_table_action.h
@@ -52,10 +52,6 @@
* @b EXPERIMENTAL: this API may change without prior notice
*/
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#include <stdint.h>
#include <rte_compat.h>
@@ -65,6 +61,10 @@ extern "C" {
#include "rte_pipeline.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/** Table actions. */
enum rte_table_action_type {
/** Forward to next pipeline table, output port or drop. */
diff --git a/lib/port/rte_port.h b/lib/port/rte_port.h
index 0e30db371e..4b20872537 100644
--- a/lib/port/rte_port.h
+++ b/lib/port/rte_port.h
@@ -5,10 +5,6 @@
#ifndef __INCLUDE_RTE_PORT_H__
#define __INCLUDE_RTE_PORT_H__
-#ifdef __cplusplus
-extern "C" {
-#endif
-
/**
* @file
* RTE Port
@@ -20,6 +16,10 @@ extern "C" {
#include <stdint.h>
#include <rte_mbuf.h>
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/**@{
* Macros to allow accessing metadata stored in the mbuf headroom
* just beyond the end of the mbuf data structure returned by a port
diff --git a/lib/port/rte_port_ethdev.h b/lib/port/rte_port_ethdev.h
index e07021cb89..7729ff0da3 100644
--- a/lib/port/rte_port_ethdev.h
+++ b/lib/port/rte_port_ethdev.h
@@ -5,10 +5,6 @@
#ifndef __INCLUDE_RTE_PORT_ETHDEV_H__
#define __INCLUDE_RTE_PORT_ETHDEV_H__
-#ifdef __cplusplus
-extern "C" {
-#endif
-
/**
* @file
* RTE Port Ethernet Device
@@ -21,6 +17,10 @@ extern "C" {
#include "rte_port.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/** ethdev_reader port parameters */
struct rte_port_ethdev_reader_params {
/** NIC RX port ID */
diff --git a/lib/port/rte_port_eventdev.h b/lib/port/rte_port_eventdev.h
index 0efb8e1021..d9eccf07d4 100644
--- a/lib/port/rte_port_eventdev.h
+++ b/lib/port/rte_port_eventdev.h
@@ -5,10 +5,6 @@
#ifndef __INCLUDE_RTE_PORT_EVENTDEV_H__
#define __INCLUDE_RTE_PORT_EVENTDEV_H__
-#ifdef __cplusplus
-extern "C" {
-#endif
-
/**
* @file
* RTE Port Eventdev Interface
@@ -24,6 +20,10 @@ extern "C" {
#include "rte_port.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/** Eventdev_reader port parameters */
struct rte_port_eventdev_reader_params {
/** Eventdev Device ID */
diff --git a/lib/port/rte_port_fd.h b/lib/port/rte_port_fd.h
index 885b9ada22..40a5e4a426 100644
--- a/lib/port/rte_port_fd.h
+++ b/lib/port/rte_port_fd.h
@@ -5,10 +5,6 @@
#ifndef __INCLUDE_RTE_PORT_FD_H__
#define __INCLUDE_RTE_PORT_FD_H__
-#ifdef __cplusplus
-extern "C" {
-#endif
-
/**
* @file
* RTE Port FD Device
@@ -21,6 +17,10 @@ extern "C" {
#include "rte_port.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/** fd_reader port parameters */
struct rte_port_fd_reader_params {
/** File descriptor */
diff --git a/lib/port/rte_port_frag.h b/lib/port/rte_port_frag.h
index 4055872e8d..9a10f10523 100644
--- a/lib/port/rte_port_frag.h
+++ b/lib/port/rte_port_frag.h
@@ -5,10 +5,6 @@
#ifndef __INCLUDE_RTE_PORT_IP_FRAG_H__
#define __INCLUDE_RTE_PORT_IP_FRAG_H__
-#ifdef __cplusplus
-extern "C" {
-#endif
-
/**
* @file
* RTE Port for IPv4 Fragmentation
@@ -31,6 +27,10 @@ extern "C" {
#include "rte_port.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/** ring_reader_ipv4_frag port parameters */
struct rte_port_ring_reader_frag_params {
/** Underlying single consumer ring that has to be pre-initialized. */
diff --git a/lib/port/rte_port_ras.h b/lib/port/rte_port_ras.h
index 94cfb3ed92..86e36f5362 100644
--- a/lib/port/rte_port_ras.h
+++ b/lib/port/rte_port_ras.h
@@ -5,10 +5,6 @@
#ifndef __INCLUDE_RTE_PORT_RAS_H__
#define __INCLUDE_RTE_PORT_RAS_H__
-#ifdef __cplusplus
-extern "C" {
-#endif
-
/**
* @file
* RTE Port for IPv4 Reassembly
@@ -31,6 +27,10 @@ extern "C" {
#include "rte_port.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/** ring_writer_ipv4_ras port parameters */
struct rte_port_ring_writer_ras_params {
/** Underlying single consumer ring that has to be pre-initialized. */
diff --git a/lib/port/rte_port_ring.h b/lib/port/rte_port_ring.h
index 027928c924..2089d0889b 100644
--- a/lib/port/rte_port_ring.h
+++ b/lib/port/rte_port_ring.h
@@ -5,10 +5,6 @@
#ifndef __INCLUDE_RTE_PORT_RING_H__
#define __INCLUDE_RTE_PORT_RING_H__
-#ifdef __cplusplus
-extern "C" {
-#endif
-
/**
* @file
* RTE Port Ring
@@ -27,6 +23,10 @@ extern "C" {
#include "rte_port.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/** ring_reader port parameters */
struct rte_port_ring_reader_params {
/** Underlying consumer ring that has to be pre-initialized */
diff --git a/lib/port/rte_port_sched.h b/lib/port/rte_port_sched.h
index 251380ef80..1bf08ae6a9 100644
--- a/lib/port/rte_port_sched.h
+++ b/lib/port/rte_port_sched.h
@@ -5,10 +5,6 @@
#ifndef __INCLUDE_RTE_PORT_SCHED_H__
#define __INCLUDE_RTE_PORT_SCHED_H__
-#ifdef __cplusplus
-extern "C" {
-#endif
-
/**
* @file
* RTE Port Hierarchical Scheduler
@@ -23,6 +19,10 @@ extern "C" {
#include "rte_port.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/** sched_reader port parameters */
struct rte_port_sched_reader_params {
/** Underlying pre-initialized rte_sched_port */
diff --git a/lib/port/rte_port_source_sink.h b/lib/port/rte_port_source_sink.h
index bcdbaf1e40..3122dd5038 100644
--- a/lib/port/rte_port_source_sink.h
+++ b/lib/port/rte_port_source_sink.h
@@ -5,10 +5,6 @@
#ifndef __INCLUDE_RTE_PORT_SOURCE_SINK_H__
#define __INCLUDE_RTE_PORT_SOURCE_SINK_H__
-#ifdef __cplusplus
-extern "C" {
-#endif
-
/**
* @file
* RTE Port Source/Sink
@@ -19,6 +15,10 @@ extern "C" {
#include "rte_port.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/** source port parameters */
struct rte_port_source_params {
/** Pre-initialized buffer pool */
diff --git a/lib/port/rte_port_sym_crypto.h b/lib/port/rte_port_sym_crypto.h
index 6532b4388a..d03cdc1e8b 100644
--- a/lib/port/rte_port_sym_crypto.h
+++ b/lib/port/rte_port_sym_crypto.h
@@ -5,10 +5,6 @@
#ifndef __INCLUDE_RTE_PORT_SYM_CRYPTO_H__
#define __INCLUDE_RTE_PORT_SYM_CRYPTO_H__
-#ifdef __cplusplus
-extern "C" {
-#endif
-
/**
* @file
* RTE Port sym crypto Interface
@@ -23,6 +19,10 @@ extern "C" {
#include "rte_port.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/** Function prototype for reader post action. */
typedef void (*rte_port_sym_crypto_reader_callback_fn)(struct rte_mbuf **pkts,
uint16_t n_pkts, void *arg);
diff --git a/lib/port/rte_swx_port.h b/lib/port/rte_swx_port.h
index 1dbd95ae87..b52b125572 100644
--- a/lib/port/rte_swx_port.h
+++ b/lib/port/rte_swx_port.h
@@ -4,10 +4,6 @@
#ifndef __INCLUDE_RTE_SWX_PORT_H__
#define __INCLUDE_RTE_SWX_PORT_H__
-#ifdef __cplusplus
-extern "C" {
-#endif
-
/**
* @file
* RTE SWX Port
@@ -17,6 +13,10 @@ extern "C" {
#include <stdint.h>
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/** Packet. */
struct rte_swx_pkt {
/** Opaque packet handle. */
diff --git a/lib/port/rte_swx_port_ethdev.h b/lib/port/rte_swx_port_ethdev.h
index cbc2d7b213..1828031e67 100644
--- a/lib/port/rte_swx_port_ethdev.h
+++ b/lib/port/rte_swx_port_ethdev.h
@@ -4,10 +4,6 @@
#ifndef __INCLUDE_RTE_SWX_PORT_ETHDEV_H__
#define __INCLUDE_RTE_SWX_PORT_ETHDEV_H__
-#ifdef __cplusplus
-extern "C" {
-#endif
-
/**
* @file
* RTE SWX Ethernet Device Input and Output Ports
@@ -17,6 +13,10 @@ extern "C" {
#include "rte_swx_port.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/** Ethernet device input port (reader) creation parameters. */
struct rte_swx_port_ethdev_reader_params {
/** Name of a valid and fully configured Ethernet device. */
diff --git a/lib/port/rte_swx_port_fd.h b/lib/port/rte_swx_port_fd.h
index e61719c8f6..63529cf0ab 100644
--- a/lib/port/rte_swx_port_fd.h
+++ b/lib/port/rte_swx_port_fd.h
@@ -5,10 +5,6 @@
#ifndef __INCLUDE_RTE_SWX_PORT_FD_H__
#define __INCLUDE_RTE_SWX_PORT_FD_H__
-#ifdef __cplusplus
-extern "C" {
-#endif
-
/**
* @file
* RTE SWX FD Input and Output Ports
@@ -18,6 +14,10 @@ extern "C" {
#include "rte_swx_port.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/** fd_reader port parameters */
struct rte_swx_port_fd_reader_params {
/** File descriptor. Must be valid and opened in non-blocking mode. */
diff --git a/lib/port/rte_swx_port_ring.h b/lib/port/rte_swx_port_ring.h
index efc485fb08..ef241c3fee 100644
--- a/lib/port/rte_swx_port_ring.h
+++ b/lib/port/rte_swx_port_ring.h
@@ -5,10 +5,6 @@
#ifndef __INCLUDE_RTE_SWX_PORT_RING_H__
#define __INCLUDE_RTE_SWX_PORT_RING_H__
-#ifdef __cplusplus
-extern "C" {
-#endif
-
/**
* @file
* RTE SWX Ring Input and Output Ports
@@ -18,6 +14,10 @@ extern "C" {
#include "rte_swx_port.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/** Ring input port (reader) creation parameters. */
struct rte_swx_port_ring_reader_params {
/** Name of valid RTE ring. */
diff --git a/lib/port/rte_swx_port_source_sink.h b/lib/port/rte_swx_port_source_sink.h
index 91bcbf74f4..e3ca7cfbb4 100644
--- a/lib/port/rte_swx_port_source_sink.h
+++ b/lib/port/rte_swx_port_source_sink.h
@@ -4,10 +4,6 @@
#ifndef __INCLUDE_RTE_SWX_PORT_SOURCE_SINK_H__
#define __INCLUDE_RTE_SWX_PORT_SOURCE_SINK_H__
-#ifdef __cplusplus
-extern "C" {
-#endif
-
/**
* @file
* RTE SWX Source and Sink Ports
@@ -15,6 +11,10 @@ extern "C" {
#include "rte_swx_port.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/** Maximum number of packets to read from the PCAP file. */
#ifndef RTE_SWX_PORT_SOURCE_PKTS_MAX
#define RTE_SWX_PORT_SOURCE_PKTS_MAX 1024
diff --git a/lib/rawdev/rte_rawdev.h b/lib/rawdev/rte_rawdev.h
index 640037b524..3fc471526e 100644
--- a/lib/rawdev/rte_rawdev.h
+++ b/lib/rawdev/rte_rawdev.h
@@ -14,13 +14,13 @@
* no specific type already available in DPDK.
*/
+#include <rte_common.h>
+#include <rte_memory.h>
+
#ifdef __cplusplus
extern "C" {
#endif
-#include <rte_common.h>
-#include <rte_memory.h>
-
/* Rawdevice object - essentially a void to be typecast by implementation */
typedef void *rte_rawdev_obj_t;
diff --git a/lib/rawdev/rte_rawdev_pmd.h b/lib/rawdev/rte_rawdev_pmd.h
index 22b406444d..408ed461a4 100644
--- a/lib/rawdev/rte_rawdev_pmd.h
+++ b/lib/rawdev/rte_rawdev_pmd.h
@@ -13,10 +13,6 @@
* any application.
*/
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#include <string.h>
#include <dev_driver.h>
@@ -26,6 +22,10 @@ extern "C" {
#include "rte_rawdev.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
extern int librawdev_logtype;
#define RTE_LOGTYPE_RAWDEV librawdev_logtype
diff --git a/lib/rcu/rte_rcu_qsbr.h b/lib/rcu/rte_rcu_qsbr.h
index ed3dd6d3d2..550fadf56a 100644
--- a/lib/rcu/rte_rcu_qsbr.h
+++ b/lib/rcu/rte_rcu_qsbr.h
@@ -21,10 +21,6 @@
* entered quiescent state.
*/
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#include <inttypes.h>
#include <stdalign.h>
#include <stdbool.h>
@@ -36,6 +32,10 @@ extern "C" {
#include <rte_atomic.h>
#include <rte_ring.h>
+#ifdef __cplusplus
+extern "C" {
+#endif
+
extern int rte_rcu_log_type;
#define RTE_LOGTYPE_RCU rte_rcu_log_type
diff --git a/lib/regexdev/rte_regexdev.h b/lib/regexdev/rte_regexdev.h
index a50b841b1e..b18a1d4251 100644
--- a/lib/regexdev/rte_regexdev.h
+++ b/lib/regexdev/rte_regexdev.h
@@ -194,10 +194,6 @@
* - rte_regexdev_dequeue_burst()
*/
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#include <rte_compat.h>
#include <rte_common.h>
#include <rte_dev.h>
@@ -1428,6 +1424,10 @@ struct rte_regex_ops {
#include "rte_regexdev_core.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/**
* @warning
* @b EXPERIMENTAL: this API may change without prior notice.
diff --git a/lib/ring/rte_ring.h b/lib/ring/rte_ring.h
index c709f30497..11ca69c73d 100644
--- a/lib/ring/rte_ring.h
+++ b/lib/ring/rte_ring.h
@@ -34,13 +34,13 @@
* for more information.
*/
+#include <rte_ring_core.h>
+#include <rte_ring_elem.h>
+
#ifdef __cplusplus
extern "C" {
#endif
-#include <rte_ring_core.h>
-#include <rte_ring_elem.h>
-
/**
* Calculate the memory size needed for a ring
*
diff --git a/lib/ring/rte_ring_core.h b/lib/ring/rte_ring_core.h
index 270869d214..222c5aeb3f 100644
--- a/lib/ring/rte_ring_core.h
+++ b/lib/ring/rte_ring_core.h
@@ -19,10 +19,6 @@
* instead.
*/
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#include <stdalign.h>
#include <stdio.h>
#include <stdint.h>
@@ -38,6 +34,10 @@ extern "C" {
#include <rte_pause.h>
#include <rte_debug.h>
+#ifdef __cplusplus
+extern "C" {
+#endif
+
#define RTE_TAILQ_RING_NAME "RTE_RING"
/** enqueue/dequeue behavior types */
diff --git a/lib/ring/rte_ring_elem.h b/lib/ring/rte_ring_elem.h
index 7f7d4951d3..506f686884 100644
--- a/lib/ring/rte_ring_elem.h
+++ b/lib/ring/rte_ring_elem.h
@@ -16,10 +16,6 @@
* RTE Ring with user defined element size
*/
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#include <rte_ring_core.h>
#include <rte_ring_elem_pvt.h>
@@ -699,6 +695,10 @@ rte_ring_dequeue_burst_elem(struct rte_ring *r, void *obj_table,
#include <rte_ring.h>
+#ifdef __cplusplus
+extern "C" {
+#endif
+
#ifdef __cplusplus
}
#endif
diff --git a/lib/ring/rte_ring_hts.h b/lib/ring/rte_ring_hts.h
index 9a5938ac58..a41acea740 100644
--- a/lib/ring/rte_ring_hts.h
+++ b/lib/ring/rte_ring_hts.h
@@ -24,12 +24,12 @@
* To achieve that 64-bit CAS is used by head update routine.
*/
+#include <rte_ring_hts_elem_pvt.h>
+
#ifdef __cplusplus
extern "C" {
#endif
-#include <rte_ring_hts_elem_pvt.h>
-
/**
* Enqueue several objects on the HTS ring (multi-producers safe).
*
diff --git a/lib/ring/rte_ring_peek.h b/lib/ring/rte_ring_peek.h
index c0621d12e2..2312f52668 100644
--- a/lib/ring/rte_ring_peek.h
+++ b/lib/ring/rte_ring_peek.h
@@ -43,12 +43,12 @@
* with enqueue(/dequeue) operation till _finish_ completes.
*/
+#include <rte_ring_peek_elem_pvt.h>
+
#ifdef __cplusplus
extern "C" {
#endif
-#include <rte_ring_peek_elem_pvt.h>
-
/**
* Start to enqueue several objects on the ring.
* Note that no actual objects are put in the queue by this function,
diff --git a/lib/ring/rte_ring_peek_zc.h b/lib/ring/rte_ring_peek_zc.h
index 0b5e34b731..3254fe0481 100644
--- a/lib/ring/rte_ring_peek_zc.h
+++ b/lib/ring/rte_ring_peek_zc.h
@@ -67,12 +67,12 @@
* with enqueue/dequeue operation till _finish_ completes.
*/
+#include <rte_ring_peek_elem_pvt.h>
+
#ifdef __cplusplus
extern "C" {
#endif
-#include <rte_ring_peek_elem_pvt.h>
-
/**
* Ring zero-copy information structure.
*
diff --git a/lib/ring/rte_ring_rts.h b/lib/ring/rte_ring_rts.h
index 50fc8f74db..d7a3863c83 100644
--- a/lib/ring/rte_ring_rts.h
+++ b/lib/ring/rte_ring_rts.h
@@ -51,12 +51,12 @@
* By default HTD_MAX == ring.capacity / 8.
*/
+#include <rte_ring_rts_elem_pvt.h>
+
#ifdef __cplusplus
extern "C" {
#endif
-#include <rte_ring_rts_elem_pvt.h>
-
/**
* Enqueue several objects on the RTS ring (multi-producers safe).
*
diff --git a/lib/sched/rte_approx.h b/lib/sched/rte_approx.h
index b60086330e..738e33a98b 100644
--- a/lib/sched/rte_approx.h
+++ b/lib/sched/rte_approx.h
@@ -5,10 +5,6 @@
#ifndef __INCLUDE_RTE_APPROX_H__
#define __INCLUDE_RTE_APPROX_H__
-#ifdef __cplusplus
-extern "C" {
-#endif
-
/**
* @file
* RTE Rational Approximation
@@ -20,6 +16,10 @@ extern "C" {
#include <stdint.h>
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/**
* Find best rational approximation
*
diff --git a/lib/sched/rte_pie.h b/lib/sched/rte_pie.h
index 1477a47700..2a385ffdba 100644
--- a/lib/sched/rte_pie.h
+++ b/lib/sched/rte_pie.h
@@ -5,10 +5,6 @@
#ifndef __RTE_PIE_H_INCLUDED__
#define __RTE_PIE_H_INCLUDED__
-#ifdef __cplusplus
-extern "C" {
-#endif
-
/**
* @file
* Proportional Integral controller Enhanced (PIE)
@@ -20,6 +16,10 @@ extern "C" {
#include <rte_debug.h>
#include <rte_cycles.h>
+#ifdef __cplusplus
+extern "C" {
+#endif
+
#define RTE_DQ_THRESHOLD 16384 /**< Queue length threshold (2^14)
* to start measurement cycle (bytes)
*/
diff --git a/lib/sched/rte_red.h b/lib/sched/rte_red.h
index afaa35fcd6..e62abb9295 100644
--- a/lib/sched/rte_red.h
+++ b/lib/sched/rte_red.h
@@ -5,10 +5,6 @@
#ifndef __RTE_RED_H_INCLUDED__
#define __RTE_RED_H_INCLUDED__
-#ifdef __cplusplus
-extern "C" {
-#endif
-
/**
* @file
* RTE Random Early Detection (RED)
@@ -20,6 +16,10 @@ extern "C" {
#include <rte_cycles.h>
#include <rte_branch_prediction.h>
+#ifdef __cplusplus
+extern "C" {
+#endif
+
#define RTE_RED_SCALING 10 /**< Fraction size for fixed-point */
#define RTE_RED_S (1 << 22) /**< Packet size multiplied by number of leaf queues */
#define RTE_RED_MAX_TH_MAX 1023 /**< Max threshold limit in fixed point format */
diff --git a/lib/sched/rte_sched.h b/lib/sched/rte_sched.h
index b882c4a882..222e6b3583 100644
--- a/lib/sched/rte_sched.h
+++ b/lib/sched/rte_sched.h
@@ -5,10 +5,6 @@
#ifndef __INCLUDE_RTE_SCHED_H__
#define __INCLUDE_RTE_SCHED_H__
-#ifdef __cplusplus
-extern "C" {
-#endif
-
/**
* @file
* RTE Hierarchical Scheduler
@@ -62,6 +58,10 @@ extern "C" {
#include "rte_red.h"
#include "rte_pie.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/** Maximum number of queues per pipe.
* Note that the multiple queues (power of 2) can only be assigned to
* lowest priority (best-effort) traffic class. Other higher priority traffic
diff --git a/lib/sched/rte_sched_common.h b/lib/sched/rte_sched_common.h
index 573d164569..a5acb9c08a 100644
--- a/lib/sched/rte_sched_common.h
+++ b/lib/sched/rte_sched_common.h
@@ -5,13 +5,13 @@
#ifndef __INCLUDE_RTE_SCHED_COMMON_H__
#define __INCLUDE_RTE_SCHED_COMMON_H__
+#include <stdint.h>
+#include <sys/types.h>
+
#ifdef __cplusplus
extern "C" {
#endif
-#include <stdint.h>
-#include <sys/types.h>
-
#if 0
static inline uint32_t
rte_min_pos_4_u16(uint16_t *x)
diff --git a/lib/security/rte_security.h b/lib/security/rte_security.h
index 1c8474b74f..7a9bafa0fa 100644
--- a/lib/security/rte_security.h
+++ b/lib/security/rte_security.h
@@ -12,10 +12,6 @@
* RTE Security Common Definitions
*/
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#include <sys/types.h>
#include <rte_compat.h>
@@ -24,6 +20,10 @@ extern "C" {
#include <rte_ip.h>
#include <rte_mbuf_dyn.h>
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/** IPSec protocol mode */
enum rte_security_ipsec_sa_mode {
RTE_SECURITY_IPSEC_SA_MODE_TRANSPORT = 1,
diff --git a/lib/security/rte_security_driver.h b/lib/security/rte_security_driver.h
index 9bb5052a4c..2ceb145066 100644
--- a/lib/security/rte_security_driver.h
+++ b/lib/security/rte_security_driver.h
@@ -12,13 +12,13 @@
* RTE Security Common Definitions
*/
+#include <rte_compat.h>
+#include "rte_security.h"
+
#ifdef __cplusplus
extern "C" {
#endif
-#include <rte_compat.h>
-#include "rte_security.h"
-
/**
* @internal
* Security session to be used by library for internal usage
diff --git a/lib/stack/rte_stack.h b/lib/stack/rte_stack.h
index 3325757568..4439adfc42 100644
--- a/lib/stack/rte_stack.h
+++ b/lib/stack/rte_stack.h
@@ -15,10 +15,6 @@
#ifndef _RTE_STACK_H_
#define _RTE_STACK_H_
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#include <stdalign.h>
#include <rte_debug.h>
@@ -95,6 +91,10 @@ struct __rte_cache_aligned rte_stack {
#include "rte_stack_std.h"
#include "rte_stack_lf.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/**
* Push several objects on the stack (MT-safe).
*
diff --git a/lib/table/rte_lru.h b/lib/table/rte_lru.h
index 88229d8632..bc1ad36500 100644
--- a/lib/table/rte_lru.h
+++ b/lib/table/rte_lru.h
@@ -5,15 +5,15 @@
#ifndef __INCLUDE_RTE_LRU_H__
#define __INCLUDE_RTE_LRU_H__
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#include <rte_config.h>
#ifdef RTE_ARCH_X86_64
#include "rte_lru_x86.h"
#elif defined(RTE_ARCH_ARM64)
#include "rte_lru_arm64.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
#else
#undef RTE_TABLE_HASH_LRU_STRATEGY
#define RTE_TABLE_HASH_LRU_STRATEGY 1
@@ -86,8 +86,4 @@ do { \
#endif
-#ifdef __cplusplus
-}
-#endif
-
#endif
diff --git a/lib/table/rte_lru_arm64.h b/lib/table/rte_lru_arm64.h
index f19b0bdb4e..f9a4678ee0 100644
--- a/lib/table/rte_lru_arm64.h
+++ b/lib/table/rte_lru_arm64.h
@@ -5,14 +5,14 @@
#ifndef __RTE_LRU_ARM64_H__
#define __RTE_LRU_ARM64_H__
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#include <stdint.h>
#include <rte_vect.h>
#include <rte_bitops.h>
+#ifdef __cplusplus
+extern "C" {
+#endif
+
#ifndef RTE_TABLE_HASH_LRU_STRATEGY
#ifdef __ARM_NEON
#define RTE_TABLE_HASH_LRU_STRATEGY 3
diff --git a/lib/table/rte_lru_x86.h b/lib/table/rte_lru_x86.h
index ddfb8c1c8c..93f4a136a8 100644
--- a/lib/table/rte_lru_x86.h
+++ b/lib/table/rte_lru_x86.h
@@ -5,10 +5,6 @@
#ifndef __INCLUDE_RTE_LRU_X86_H__
#define __INCLUDE_RTE_LRU_X86_H__
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#include <stdint.h>
#include <rte_config.h>
@@ -97,8 +93,4 @@ do { \
#endif
-#ifdef __cplusplus
-}
-#endif
-
#endif
diff --git a/lib/table/rte_swx_hash_func.h b/lib/table/rte_swx_hash_func.h
index 04f3d543e7..9c65cfa913 100644
--- a/lib/table/rte_swx_hash_func.h
+++ b/lib/table/rte_swx_hash_func.h
@@ -4,10 +4,6 @@
#ifndef __INCLUDE_RTE_SWX_HASH_FUNC_H__
#define __INCLUDE_RTE_SWX_HASH_FUNC_H__
-#ifdef __cplusplus
-extern "C" {
-#endif
-
/**
* @file
* RTE SWX Hash Function
@@ -15,6 +11,10 @@ extern "C" {
#include <stdint.h>
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/**
* Hash function prototype
*
diff --git a/lib/table/rte_swx_keycmp.h b/lib/table/rte_swx_keycmp.h
index 09fb1be869..b0ed819307 100644
--- a/lib/table/rte_swx_keycmp.h
+++ b/lib/table/rte_swx_keycmp.h
@@ -4,10 +4,6 @@
#ifndef __INCLUDE_RTE_SWX_KEYCMP_H__
#define __INCLUDE_RTE_SWX_KEYCMP_H__
-#ifdef __cplusplus
-extern "C" {
-#endif
-
/**
* @file
* RTE SWX Key Comparison Functions
@@ -16,6 +12,10 @@ extern "C" {
#include <stdint.h>
#include <string.h>
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/**
* Key comparison function prototype
*
diff --git a/lib/table/rte_swx_table.h b/lib/table/rte_swx_table.h
index ac01e19781..3c53459498 100644
--- a/lib/table/rte_swx_table.h
+++ b/lib/table/rte_swx_table.h
@@ -4,10 +4,6 @@
#ifndef __INCLUDE_RTE_SWX_TABLE_H__
#define __INCLUDE_RTE_SWX_TABLE_H__
-#ifdef __cplusplus
-extern "C" {
-#endif
-
/**
* @file
* RTE SWX Table
@@ -21,6 +17,10 @@ extern "C" {
#include "rte_swx_hash_func.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/** Match type. */
enum rte_swx_table_match_type {
/** Wildcard Match (WM). */
diff --git a/lib/table/rte_swx_table_em.h b/lib/table/rte_swx_table_em.h
index b7423dd060..592541f01f 100644
--- a/lib/table/rte_swx_table_em.h
+++ b/lib/table/rte_swx_table_em.h
@@ -4,10 +4,6 @@
#ifndef __INCLUDE_RTE_SWX_TABLE_EM_H__
#define __INCLUDE_RTE_SWX_TABLE_EM_H__
-#ifdef __cplusplus
-extern "C" {
-#endif
-
/**
* @file
* RTE SWX Exact Match Table
@@ -16,6 +12,10 @@ extern "C" {
#include <rte_swx_table.h>
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/** Exact match table operations - unoptimized. */
extern struct rte_swx_table_ops rte_swx_table_exact_match_unoptimized_ops;
diff --git a/lib/table/rte_swx_table_learner.h b/lib/table/rte_swx_table_learner.h
index c5ea015b8d..9a18be083d 100644
--- a/lib/table/rte_swx_table_learner.h
+++ b/lib/table/rte_swx_table_learner.h
@@ -4,10 +4,6 @@
#ifndef __INCLUDE_RTE_SWX_TABLE_LEARNER_H__
#define __INCLUDE_RTE_SWX_TABLE_LEARNER_H__
-#ifdef __cplusplus
-extern "C" {
-#endif
-
/**
* @file
* RTE SWX Learner Table
@@ -53,6 +49,10 @@ extern "C" {
#include "rte_swx_hash_func.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/** Maximum number of key timeout values per learner table. */
#ifndef RTE_SWX_TABLE_LEARNER_N_KEY_TIMEOUTS_MAX
#define RTE_SWX_TABLE_LEARNER_N_KEY_TIMEOUTS_MAX 16
diff --git a/lib/table/rte_swx_table_selector.h b/lib/table/rte_swx_table_selector.h
index 05863cc90b..ef29bdb6b0 100644
--- a/lib/table/rte_swx_table_selector.h
+++ b/lib/table/rte_swx_table_selector.h
@@ -4,10 +4,6 @@
#ifndef __INCLUDE_RTE_SWX_TABLE_SELECTOR_H__
#define __INCLUDE_RTE_SWX_TABLE_SELECTOR_H__
-#ifdef __cplusplus
-extern "C" {
-#endif
-
/**
* @file
* RTE SWX Selector Table
@@ -21,6 +17,10 @@ extern "C" {
#include "rte_swx_table.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/** Selector table creation parameters. */
struct rte_swx_table_selector_params {
/** Group ID offset. */
diff --git a/lib/table/rte_swx_table_wm.h b/lib/table/rte_swx_table_wm.h
index 4fd52c0a17..7eb6f8e2a6 100644
--- a/lib/table/rte_swx_table_wm.h
+++ b/lib/table/rte_swx_table_wm.h
@@ -4,10 +4,6 @@
#ifndef __INCLUDE_RTE_SWX_TABLE_WM_H__
#define __INCLUDE_RTE_SWX_TABLE_WM_H__
-#ifdef __cplusplus
-extern "C" {
-#endif
-
/**
* @file
* RTE SWX Wildcard Match Table
@@ -16,6 +12,10 @@ extern "C" {
#include <rte_swx_table.h>
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/** Wildcard match table operations. */
extern struct rte_swx_table_ops rte_swx_table_wildcard_match_ops;
diff --git a/lib/table/rte_table.h b/lib/table/rte_table.h
index 9a5faf0e32..43a5a1a7b3 100644
--- a/lib/table/rte_table.h
+++ b/lib/table/rte_table.h
@@ -5,10 +5,6 @@
#ifndef __INCLUDE_RTE_TABLE_H__
#define __INCLUDE_RTE_TABLE_H__
-#ifdef __cplusplus
-extern "C" {
-#endif
-
/**
* @file
* RTE Table
@@ -27,6 +23,10 @@ extern "C" {
#include <stdint.h>
#include <rte_port.h>
+#ifdef __cplusplus
+extern "C" {
+#endif
+
struct rte_mbuf;
/** Lookup table statistics */
diff --git a/lib/table/rte_table_acl.h b/lib/table/rte_table_acl.h
index 1cb7b9fbbd..61af7b88e4 100644
--- a/lib/table/rte_table_acl.h
+++ b/lib/table/rte_table_acl.h
@@ -5,10 +5,6 @@
#ifndef __INCLUDE_RTE_TABLE_ACL_H__
#define __INCLUDE_RTE_TABLE_ACL_H__
-#ifdef __cplusplus
-extern "C" {
-#endif
-
/**
* @file
* RTE Table ACL
@@ -25,6 +21,10 @@ extern "C" {
#include "rte_table.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/** ACL table parameters */
struct rte_table_acl_params {
/** Name */
diff --git a/lib/table/rte_table_array.h b/lib/table/rte_table_array.h
index fad83b0588..b2a7b95d68 100644
--- a/lib/table/rte_table_array.h
+++ b/lib/table/rte_table_array.h
@@ -5,10 +5,6 @@
#ifndef __INCLUDE_RTE_TABLE_ARRAY_H__
#define __INCLUDE_RTE_TABLE_ARRAY_H__
-#ifdef __cplusplus
-extern "C" {
-#endif
-
/**
* @file
* RTE Table Array
@@ -20,6 +16,10 @@ extern "C" {
#include "rte_table.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/** Array table parameters */
struct rte_table_array_params {
/** Number of array entries. Has to be a power of two. */
diff --git a/lib/table/rte_table_hash.h b/lib/table/rte_table_hash.h
index 6698621dae..ff8fc9e9ce 100644
--- a/lib/table/rte_table_hash.h
+++ b/lib/table/rte_table_hash.h
@@ -5,10 +5,6 @@
#ifndef __INCLUDE_RTE_TABLE_HASH_H__
#define __INCLUDE_RTE_TABLE_HASH_H__
-#ifdef __cplusplus
-extern "C" {
-#endif
-
/**
* @file
* RTE Table Hash
@@ -52,6 +48,10 @@ extern "C" {
#include "rte_table.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/** Hash function */
typedef uint64_t (*rte_table_hash_op_hash)(
void *key,
diff --git a/lib/table/rte_table_hash_cuckoo.h b/lib/table/rte_table_hash_cuckoo.h
index 3a55d28e9b..55aa12216a 100644
--- a/lib/table/rte_table_hash_cuckoo.h
+++ b/lib/table/rte_table_hash_cuckoo.h
@@ -5,10 +5,6 @@
#ifndef __INCLUDE_RTE_TABLE_HASH_CUCKOO_H__
#define __INCLUDE_RTE_TABLE_HASH_CUCKOO_H__
-#ifdef __cplusplus
-extern "C" {
-#endif
-
/**
* @file
* RTE Table Hash Cuckoo
@@ -20,6 +16,10 @@ extern "C" {
#include "rte_table.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/** Hash table parameters */
struct rte_table_hash_cuckoo_params {
/** Name */
diff --git a/lib/table/rte_table_hash_func.h b/lib/table/rte_table_hash_func.h
index aa779c2182..cba7ec4c20 100644
--- a/lib/table/rte_table_hash_func.h
+++ b/lib/table/rte_table_hash_func.h
@@ -5,10 +5,6 @@
#ifndef __INCLUDE_RTE_TABLE_HASH_FUNC_H__
#define __INCLUDE_RTE_TABLE_HASH_FUNC_H__
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#include <stdint.h>
#include <rte_compat.h>
@@ -18,6 +14,10 @@ extern "C" {
#include <x86intrin.h>
+#ifdef __cplusplus
+extern "C" {
+#endif
+
static inline uint64_t
rte_crc32_u64(uint64_t crc, uint64_t v)
{
@@ -28,6 +28,10 @@ rte_crc32_u64(uint64_t crc, uint64_t v)
#include "rte_table_hash_func_arm64.h"
#else
+#ifdef __cplusplus
+extern "C" {
+#endif
+
static inline uint64_t
rte_crc32_u64(uint64_t crc, uint64_t v)
{
diff --git a/lib/table/rte_table_lpm.h b/lib/table/rte_table_lpm.h
index dde32deed9..59b9bdee89 100644
--- a/lib/table/rte_table_lpm.h
+++ b/lib/table/rte_table_lpm.h
@@ -5,10 +5,6 @@
#ifndef __INCLUDE_RTE_TABLE_LPM_H__
#define __INCLUDE_RTE_TABLE_LPM_H__
-#ifdef __cplusplus
-extern "C" {
-#endif
-
/**
* @file
* RTE Table LPM for IPv4
@@ -45,6 +41,10 @@ extern "C" {
#include "rte_table.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/** LPM table parameters */
struct rte_table_lpm_params {
/** Table name */
diff --git a/lib/table/rte_table_lpm_ipv6.h b/lib/table/rte_table_lpm_ipv6.h
index 96ddbd32c2..166a5ba9ee 100644
--- a/lib/table/rte_table_lpm_ipv6.h
+++ b/lib/table/rte_table_lpm_ipv6.h
@@ -5,10 +5,6 @@
#ifndef __INCLUDE_RTE_TABLE_LPM_IPV6_H__
#define __INCLUDE_RTE_TABLE_LPM_IPV6_H__
-#ifdef __cplusplus
-extern "C" {
-#endif
-
/**
* @file
* RTE Table LPM for IPv6
@@ -45,6 +41,10 @@ extern "C" {
#include "rte_table.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
#define RTE_LPM_IPV6_ADDR_SIZE 16
/** LPM table parameters */
diff --git a/lib/table/rte_table_stub.h b/lib/table/rte_table_stub.h
index 846526ea99..f7e589df16 100644
--- a/lib/table/rte_table_stub.h
+++ b/lib/table/rte_table_stub.h
@@ -5,10 +5,6 @@
#ifndef __INCLUDE_RTE_TABLE_STUB_H__
#define __INCLUDE_RTE_TABLE_STUB_H__
-#ifdef __cplusplus
-extern "C" {
-#endif
-
/**
* @file
* RTE Table Stub
@@ -18,6 +14,10 @@ extern "C" {
#include "rte_table.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/** Stub table parameters: NONE */
/** Stub table operations */
diff --git a/lib/telemetry/rte_telemetry.h b/lib/telemetry/rte_telemetry.h
index cab9daa6fe..463819e2bf 100644
--- a/lib/telemetry/rte_telemetry.h
+++ b/lib/telemetry/rte_telemetry.h
@@ -5,14 +5,14 @@
#ifndef _RTE_TELEMETRY_H_
#define _RTE_TELEMETRY_H_
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#include <stdint.h>
#include <rte_compat.h>
#include <rte_common.h>
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/** Maximum length for string used in object. */
#define RTE_TEL_MAX_STRING_LEN 128
/** Maximum length of string. */
diff --git a/lib/vhost/rte_vdpa.h b/lib/vhost/rte_vdpa.h
index 6ac85d1bbf..18e273c20f 100644
--- a/lib/vhost/rte_vdpa.h
+++ b/lib/vhost/rte_vdpa.h
@@ -5,10 +5,6 @@
#ifndef _RTE_VDPA_H_
#define _RTE_VDPA_H_
-#ifdef __cplusplus
-extern "C" {
-#endif
-
/**
* @file
*
@@ -17,6 +13,10 @@ extern "C" {
#include <stdint.h>
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/** Maximum name length for statistics counters */
#define RTE_VDPA_STATS_NAME_SIZE 64
diff --git a/lib/vhost/rte_vhost.h b/lib/vhost/rte_vhost.h
index b0434c4b8d..c7a5f56df8 100644
--- a/lib/vhost/rte_vhost.h
+++ b/lib/vhost/rte_vhost.h
@@ -18,10 +18,6 @@
#include <rte_memory.h>
#include <rte_mempool.h>
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#ifndef __cplusplus
/* These are not C++-aware. */
#include <linux/vhost.h>
@@ -29,6 +25,10 @@ extern "C" {
#include <linux/virtio_net.h>
#endif
+#ifdef __cplusplus
+extern "C" {
+#endif
+
#define RTE_VHOST_USER_CLIENT (1ULL << 0)
#define RTE_VHOST_USER_NO_RECONNECT (1ULL << 1)
#define RTE_VHOST_USER_RESERVED_1 (1ULL << 2)
diff --git a/lib/vhost/rte_vhost_async.h b/lib/vhost/rte_vhost_async.h
index 8f190dd44b..60995e4e62 100644
--- a/lib/vhost/rte_vhost_async.h
+++ b/lib/vhost/rte_vhost_async.h
@@ -5,15 +5,15 @@
#ifndef _RTE_VHOST_ASYNC_H_
#define _RTE_VHOST_ASYNC_H_
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#include <stdint.h>
#include <rte_compat.h>
#include <rte_mbuf.h>
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/**
* Register an async channel for a vhost queue
*
diff --git a/lib/vhost/rte_vhost_crypto.h b/lib/vhost/rte_vhost_crypto.h
index f962a53818..af61f0907e 100644
--- a/lib/vhost/rte_vhost_crypto.h
+++ b/lib/vhost/rte_vhost_crypto.h
@@ -5,12 +5,12 @@
#ifndef _VHOST_CRYPTO_H_
#define _VHOST_CRYPTO_H_
+#include <stdint.h>
+
#ifdef __cplusplus
extern "C" {
#endif
-#include <stdint.h>
-
/* pre-declare structs to avoid including full headers */
struct rte_mempool;
struct rte_crypto_op;
diff --git a/lib/vhost/vdpa_driver.h b/lib/vhost/vdpa_driver.h
index 8db4ab9f4d..42392a0d14 100644
--- a/lib/vhost/vdpa_driver.h
+++ b/lib/vhost/vdpa_driver.h
@@ -5,10 +5,6 @@
#ifndef _VDPA_DRIVER_H_
#define _VDPA_DRIVER_H_
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#include <stdbool.h>
#include <rte_compat.h>
@@ -16,6 +12,10 @@ extern "C" {
#include "rte_vhost.h"
#include "rte_vdpa.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
#define RTE_VHOST_QUEUE_ALL UINT16_MAX
/**
--
2.34.1
next prev parent reply other threads:[~2024-09-17 10:58 UTC|newest]
Thread overview: 114+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-01-31 13:13 [RFC v3] eal: add bitset type Mattias Rönnblom
2024-01-31 16:02 ` Stephen Hemminger
2024-01-31 16:28 ` Mattias Rönnblom
2024-01-31 16:06 ` Stephen Hemminger
2024-01-31 18:45 ` Mattias Rönnblom
2024-02-01 8:04 ` Morten Brørup
2024-02-02 10:19 ` Mattias Rönnblom
2024-02-02 12:42 ` Morten Brørup
2024-02-16 10:23 ` [RFC v4 1/4] " Mattias Rönnblom
2024-02-16 10:23 ` [RFC v4 2/4] eal: add bitset test suite Mattias Rönnblom
2024-02-16 10:23 ` [RFC v4 3/4] service: use multi-word bitset to represent service flags Mattias Rönnblom
2024-02-16 10:23 ` [RFC v4 4/4] event/dsw: optimize serving port logic Mattias Rönnblom
2024-05-05 7:33 ` [RFC v5 1/6] eal: add bitset type Mattias Rönnblom
2024-05-05 7:33 ` [RFC v5 2/6] eal: add bitset test suite Mattias Rönnblom
2024-05-05 7:33 ` [RFC v5 3/6] eal: add atomic bitset functions Mattias Rönnblom
2024-05-05 7:33 ` [RFC v5 4/6] eal: add unit tests for atomic bitset operations Mattias Rönnblom
2024-05-05 7:33 ` [RFC v5 5/6] service: use multi-word bitset to represent service flags Mattias Rönnblom
2024-05-05 7:33 ` [RFC v5 6/6] event/dsw: optimize serving port logic Mattias Rönnblom
2024-08-09 20:14 ` [PATCH 1/6] eal: add bitset type Mattias Rönnblom
2024-08-09 20:14 ` [PATCH 2/6] eal: add bitset test suite Mattias Rönnblom
2024-09-12 4:51 ` Tyler Retzlaff
2024-08-09 20:14 ` [PATCH 3/6] eal: add atomic bitset functions Mattias Rönnblom
2024-09-12 4:51 ` Tyler Retzlaff
2024-08-09 20:14 ` [PATCH 4/6] eal: add unit tests for atomic bitset operations Mattias Rönnblom
2024-09-12 4:52 ` Tyler Retzlaff
2024-10-09 20:29 ` Morten Brørup
2024-08-09 20:14 ` [PATCH 5/6] service: use multi-word bitset to represent service flags Mattias Rönnblom
2024-09-12 4:52 ` Tyler Retzlaff
2024-08-09 20:14 ` [PATCH 6/6] event/dsw: add support for larger port count Mattias Rönnblom
2024-09-12 4:53 ` Tyler Retzlaff
2024-08-20 17:09 ` [PATCH 1/6] eal: add bitset type Mattias Rönnblom
2024-09-02 13:55 ` Morten Brørup
2024-09-02 14:46 ` Mattias Rönnblom
2024-09-02 14:49 ` Mattias Rönnblom
2024-09-12 4:51 ` Tyler Retzlaff
2024-09-17 9:36 ` [PATCH v7 0/6] Improve EAL bit operations API Mattias Rönnblom
2024-09-17 9:36 ` [PATCH v7 1/6] dpdk: do not force C linkage on include file dependencies Mattias Rönnblom
2024-09-17 10:48 ` [PATCH v8 0/6] Improve EAL bit operations API Mattias Rönnblom
2024-09-17 10:48 ` Mattias Rönnblom [this message]
2024-09-18 9:04 ` [PATCH v9 " Mattias Rönnblom
2024-09-18 9:04 ` [PATCH v9 1/6] dpdk: do not force C linkage on include file dependencies Mattias Rönnblom
2024-09-19 19:31 ` [PATCH v10 0/7] Improve EAL bit operations API Mattias Rönnblom
2024-09-19 19:31 ` [PATCH v10 1/7] buildtools/chkincs: relax C linkage requirement Mattias Rönnblom
2024-09-20 6:24 ` [PATCH v11 0/7] Improve EAL bit operations API Mattias Rönnblom
2024-09-20 6:24 ` [PATCH v11 1/7] buildtools/chkincs: relax C linkage requirement Mattias Rönnblom
2024-09-20 10:47 ` [PATCH v12 0/7] Improve EAL bit operations API Mattias Rönnblom
2024-09-20 10:47 ` [PATCH v12 1/7] buildtools/chkincs: relax C linkage requirement Mattias Rönnblom
2024-10-03 16:47 ` Robin Jarry
2024-10-04 7:31 ` Mattias Rönnblom
2024-10-04 8:05 ` Robin Jarry
2024-10-04 8:40 ` Mattias Rönnblom
2024-10-04 11:51 ` Robin Jarry
2024-10-04 12:19 ` Thomas Monjalon
2024-10-06 8:55 ` Mattias Rönnblom
2024-10-06 9:47 ` Mattias Rönnblom
2024-10-06 12:25 ` Robin Jarry
2024-10-06 13:09 ` Robin Jarry
2024-10-06 14:17 ` Mattias Rönnblom
2024-10-06 15:58 ` Robin Jarry
2024-10-10 10:24 ` Mattias Rönnblom
2024-10-10 10:39 ` Bruce Richardson
2024-09-20 10:47 ` [PATCH v12 2/7] dpdk: use C linkage only where appropriate Mattias Rönnblom
2024-09-20 10:47 ` [PATCH v12 3/7] eal: extend bit manipulation functionality Mattias Rönnblom
2024-09-20 10:47 ` [PATCH v12 4/7] eal: add unit tests for bit operations Mattias Rönnblom
2024-09-20 10:47 ` [PATCH v12 5/7] eal: add atomic " Mattias Rönnblom
2024-09-20 10:47 ` [PATCH v12 6/7] eal: add unit tests for atomic bit access functions Mattias Rönnblom
2024-10-10 10:45 ` David Marchand
2024-10-10 11:55 ` Mattias Rönnblom
2024-10-10 12:14 ` David Marchand
2024-10-10 12:35 ` Mattias Rönnblom
2024-10-10 13:07 ` Thomas Monjalon
2024-10-11 8:35 ` David Marchand
2024-10-11 15:06 ` Morten Brørup
2024-10-11 15:11 ` David Marchand
2024-10-11 15:15 ` Morten Brørup
2024-10-11 15:18 ` David Marchand
2024-09-20 10:47 ` [PATCH v12 7/7] eal: extend bitops to handle volatile pointers Mattias Rönnblom
2024-10-09 20:18 ` [PATCH v12 0/7] Improve EAL bit operations API David Marchand
2024-09-20 6:24 ` [PATCH v11 2/7] dpdk: use C linkage only where appropriate Mattias Rönnblom
2024-09-20 6:24 ` [PATCH v11 3/7] eal: extend bit manipulation functionality Mattias Rönnblom
2024-09-20 6:24 ` [PATCH v11 4/7] eal: add unit tests for bit operations Mattias Rönnblom
2024-09-20 6:24 ` [PATCH v11 5/7] eal: add atomic " Mattias Rönnblom
2024-09-20 6:24 ` [PATCH v11 6/7] eal: add unit tests for atomic bit access functions Mattias Rönnblom
2024-09-20 6:24 ` [PATCH v11 7/7] eal: extend bitops to handle volatile pointers Mattias Rönnblom
2024-09-19 19:31 ` [PATCH v10 2/7] dpdk: use C linkage only where appropriate Mattias Rönnblom
2024-09-19 19:31 ` [PATCH v10 3/7] eal: extend bit manipulation functionality Mattias Rönnblom
2024-09-19 19:31 ` [PATCH v10 4/7] eal: add unit tests for bit operations Mattias Rönnblom
2024-09-19 19:31 ` [PATCH v10 5/7] eal: add atomic " Mattias Rönnblom
2024-09-19 19:31 ` [PATCH v10 6/7] eal: add unit tests for atomic bit access functions Mattias Rönnblom
2024-09-19 19:31 ` [PATCH v10 7/7] eal: extend bitops to handle volatile pointers Mattias Rönnblom
2024-09-18 9:04 ` [PATCH v9 2/6] eal: extend bit manipulation functionality Mattias Rönnblom
2024-09-18 9:04 ` [PATCH v9 3/6] eal: add unit tests for bit operations Mattias Rönnblom
2024-09-18 9:04 ` [PATCH v9 4/6] eal: add atomic " Mattias Rönnblom
2024-09-18 9:04 ` [PATCH v9 5/6] eal: add unit tests for atomic bit access functions Mattias Rönnblom
2024-09-18 9:04 ` [PATCH v9 6/6] eal: extend bitops to handle volatile pointers Mattias Rönnblom
2024-09-17 10:48 ` [PATCH v8 2/6] eal: extend bit manipulation functionality Mattias Rönnblom
2024-09-17 10:48 ` [PATCH v8 3/6] eal: add unit tests for bit operations Mattias Rönnblom
2024-09-17 10:48 ` [PATCH v8 4/6] eal: add atomic " Mattias Rönnblom
2024-09-17 10:48 ` [PATCH v8 5/6] eal: add unit tests for atomic bit access functions Mattias Rönnblom
2024-09-17 10:48 ` [PATCH v8 6/6] eal: extend bitops to handle volatile pointers Mattias Rönnblom
2024-09-17 9:36 ` [PATCH v7 2/6] eal: extend bit manipulation functionality Mattias Rönnblom
2024-09-17 9:36 ` [PATCH v7 3/6] eal: add unit tests for bit operations Mattias Rönnblom
2024-09-17 9:36 ` [PATCH v7 4/6] eal: add atomic " Mattias Rönnblom
2024-09-17 9:36 ` [PATCH v7 5/6] eal: add unit tests for atomic bit access functions Mattias Rönnblom
2024-09-17 9:36 ` [PATCH v7 6/6] eal: extend bitops to handle volatile pointers Mattias Rönnblom
2024-10-10 8:30 ` [PATCH v2 0/4] Add bitset type David Marchand
2024-10-10 8:30 ` [PATCH v2 1/4] eal: add " David Marchand
2024-10-11 9:35 ` Mattias Rönnblom
2024-10-16 11:30 ` David Marchand
2024-10-16 13:37 ` Mattias Rönnblom
2024-10-10 8:30 ` [PATCH v2 2/4] bitset: add atomic functions David Marchand
2024-10-10 8:30 ` [PATCH v2 3/4] service: use multi-word bitset to represent service flags David Marchand
2024-10-10 8:30 ` [PATCH v2 4/4] event/dsw: add support for larger port count David Marchand
2024-10-14 15:08 ` [PATCH v2 0/4] Add bitset type David Marchand
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20240917104811.723863-2-mattias.ronnblom@ericsson.com \
--to=mattias.ronnblom@ericsson.com \
--cc=david.marchand@redhat.com \
--cc=dev@dpdk.org \
--cc=fengchengwen@huawei.com \
--cc=heng.wang@ericsson.com \
--cc=hofors@lysator.liu.se \
--cc=jack.bond-preston@foss.arm.com \
--cc=mb@smartsharesystems.com \
--cc=roretzla@linux.microsoft.com \
--cc=stephen@networkplumber.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).