DPDK: Data Plane Development Kit

18.02.0-rc0
rte_byteorder.h File Reference
#include <stdint.h>
#include <endian.h>
#include <rte_common.h>

Go to the source code of this file.

Typedefs

typedef uint16_t rte_be16_t
typedef uint32_t rte_be32_t
typedef uint64_t rte_be64_t
typedef uint16_t rte_le16_t
typedef uint32_t rte_le32_t
typedef uint64_t rte_le64_t

Functions

static uint16_t rte_bswap16 (uint16_t _x)
static uint32_t rte_bswap32 (uint32_t x)
static uint64_t rte_bswap64 (uint64_t x)
static rte_le16_t rte_cpu_to_le_16 (uint16_t x)
static rte_le32_t rte_cpu_to_le_32 (uint32_t x)
static rte_le64_t rte_cpu_to_le_64 (uint64_t x)
static rte_be16_t rte_cpu_to_be_16 (uint16_t x)
static rte_be32_t rte_cpu_to_be_32 (uint32_t x)
static rte_be64_t rte_cpu_to_be_64 (uint64_t x)
static uint16_t rte_le_to_cpu_16 (rte_le16_t x)
static uint32_t rte_le_to_cpu_32 (rte_le32_t x)
static uint64_t rte_le_to_cpu_64 (rte_le64_t x)
static uint16_t rte_be_to_cpu_16 (rte_be16_t x)
static uint32_t rte_be_to_cpu_32 (rte_be32_t x)
static uint64_t rte_be_to_cpu_64 (rte_be64_t x)

Detailed Description

Byte Swap Operations

This file defines a generic API for byte swap operations. Part of the implementation is architecture-specific.

Definition in file rte_byteorder.h.

Typedef Documentation

typedef uint16_t rte_be16_t

16-bit big-endian value.

Definition at line 138 of file rte_byteorder.h.

typedef uint32_t rte_be32_t

32-bit big-endian value.

Definition at line 139 of file rte_byteorder.h.

typedef uint64_t rte_be64_t

64-bit big-endian value.

Definition at line 140 of file rte_byteorder.h.

typedef uint16_t rte_le16_t

16-bit little-endian value.

Definition at line 141 of file rte_byteorder.h.

typedef uint32_t rte_le32_t

32-bit little-endian value.

Definition at line 142 of file rte_byteorder.h.

typedef uint64_t rte_le64_t

64-bit little-endian value.

Definition at line 143 of file rte_byteorder.h.

Function Documentation

static uint16_t rte_bswap16 ( uint16_t  _x)
static
static uint64_t rte_bswap64 ( uint64_t  x)
static

Swap bytes in a 64-bit value.

Examples:
examples/ip_pipeline/pipeline/pipeline_routing_be.c.
static rte_le16_t rte_cpu_to_le_16 ( uint16_t  x)
static

Convert a 16-bit value from CPU order to little endian.

static rte_le32_t rte_cpu_to_le_32 ( uint32_t  x)
static

Convert a 32-bit value from CPU order to little endian.

static rte_le64_t rte_cpu_to_le_64 ( uint64_t  x)
static

Convert a 64-bit value from CPU order to little endian.

static rte_be64_t rte_cpu_to_be_64 ( uint64_t  x)
static

Convert a 64-bit value from CPU order to big endian.

Examples:
examples/ipsec-secgw/esp.c, and examples/vhost_scsi/scsi.c.
static uint16_t rte_le_to_cpu_16 ( rte_le16_t  x)
static

Convert a 16-bit value from little endian to CPU order.

static uint32_t rte_le_to_cpu_32 ( rte_le32_t  x)
static

Convert a 32-bit value from little endian to CPU order.

static uint64_t rte_le_to_cpu_64 ( rte_le64_t  x)
static

Convert a 64-bit value from little endian to CPU order.

static uint64_t rte_be_to_cpu_64 ( rte_be64_t  x)
static

Convert a 64-bit value from big endian to CPU order.

Examples:
examples/vhost_scsi/scsi.c.