iPXE
Macros | Functions
byteswap.h File Reference
#include <stdint.h>
#include <endian.h>
#include <bits/byteswap.h>

Go to the source code of this file.

Macros

#define __bswap_constant_16(value)
 Byte-swap a 16-bit constant. More...
 
#define __bswap_constant_32(value)
 Byte-swap a 32-bit constant. More...
 
#define __bswap_constant_64(value)
 Byte-swap a 64-bit constant. More...
 
#define __bswap_16(value)
 Byte-swap a 16-bit value. More...
 
#define bswap_16(value)   __bswap_16 (value)
 
#define __bswap_32(value)
 Byte-swap a 32-bit value. More...
 
#define bswap_32(value)   __bswap_32 (value)
 
#define __bswap_64(value)
 Byte-swap a 64-bit value. More...
 
#define bswap_64(value)   __bswap_64 (value)
 
#define __cpu_to_leNN(bits, value)   (value)
 
#define __cpu_to_beNN(bits, value)   __bswap_ ## bits (value)
 
#define __leNN_to_cpu(bits, value)   (value)
 
#define __beNN_to_cpu(bits, value)   __bswap_ ## bits (value)
 
#define __cpu_to_leNNs(bits, ptr)   do { } while ( 0 )
 
#define __cpu_to_beNNs(bits, ptr)   __bswap_ ## bits ## s (ptr)
 
#define __leNN_to_cpus(bits, ptr)   do { } while ( 0 )
 
#define __beNN_to_cpus(bits, ptr)   __bswap_ ## bits ## s (ptr)
 
#define cpu_to_le16(value)   __cpu_to_leNN ( 16, value )
 
#define cpu_to_le32(value)   __cpu_to_leNN ( 32, value )
 
#define cpu_to_le64(value)   __cpu_to_leNN ( 64, value )
 
#define cpu_to_be16(value)   __cpu_to_beNN ( 16, value )
 
#define cpu_to_be32(value)   __cpu_to_beNN ( 32, value )
 
#define cpu_to_be64(value)   __cpu_to_beNN ( 64, value )
 
#define le16_to_cpu(value)   __leNN_to_cpu ( 16, value )
 
#define le32_to_cpu(value)   __leNN_to_cpu ( 32, value )
 
#define le64_to_cpu(value)   __leNN_to_cpu ( 64, value )
 
#define be16_to_cpu(value)   __beNN_to_cpu ( 16, value )
 
#define be32_to_cpu(value)   __beNN_to_cpu ( 32, value )
 
#define be64_to_cpu(value)   __beNN_to_cpu ( 64, value )
 
#define cpu_to_le16s(ptr)   __cpu_to_leNNs ( 16, ptr )
 
#define cpu_to_le32s(ptr)   __cpu_to_leNNs ( 32, ptr )
 
#define cpu_to_le64s(ptr)   __cpu_to_leNNs ( 64, ptr )
 
#define cpu_to_be16s(ptr)   __cpu_to_beNNs ( 16, ptr )
 
#define cpu_to_be32s(ptr)   __cpu_to_beNNs ( 32, ptr )
 
#define cpu_to_be64s(ptr)   __cpu_to_beNNs ( 64, ptr )
 
#define le16_to_cpus(ptr)   __leNN_to_cpus ( 16, ptr )
 
#define le32_to_cpus(ptr)   __leNN_to_cpus ( 32, ptr )
 
#define le64_to_cpus(ptr)   __leNN_to_cpus ( 64, ptr )
 
#define be16_to_cpus(ptr)   __beNN_to_cpus ( 16, ptr )
 
#define be32_to_cpus(ptr)   __beNN_to_cpus ( 32, ptr )
 
#define be64_to_cpus(ptr)   __beNN_to_cpus ( 64, ptr )
 
#define htonll(value)   cpu_to_be64 (value)
 
#define ntohll(value)   be64_to_cpu (value)
 
#define htonl(value)   cpu_to_be32 (value)
 
#define ntohl(value)   be32_to_cpu (value)
 
#define htons(value)   cpu_to_be16 (value)
 
#define ntohs(value)   be16_to_cpu (value)
 

Functions

 FILE_LICENCE (GPL2_OR_LATER_OR_UBDL)
 

Macro Definition Documentation

◆ __bswap_constant_16

#define __bswap_constant_16 (   value)
Value:
( ( ( (value) & 0x00ff ) << 8 ) | \
( ( (value) & 0xff00 ) >> 8 ) )
pseudo_bit_t value[0x00020]
Definition: arbel.h:13

Byte-swap a 16-bit constant.

Parameters
valueConstant value
Return values
swappedByte-swapped value

Definition at line 16 of file byteswap.h.

◆ __bswap_constant_32

#define __bswap_constant_32 (   value)
Value:
( ( ( (value) & 0x000000ffUL ) << 24 ) | \
( ( (value) & 0x0000ff00UL ) << 8 ) | \
( ( (value) & 0x00ff0000UL ) >> 8 ) | \
( ( (value) & 0xff000000UL ) >> 24 ) )
pseudo_bit_t value[0x00020]
Definition: arbel.h:13

Byte-swap a 32-bit constant.

Parameters
valueConstant value
Return values
swappedByte-swapped value

Definition at line 26 of file byteswap.h.

◆ __bswap_constant_64

#define __bswap_constant_64 (   value)
Value:
( ( ( (value) & 0x00000000000000ffULL ) << 56 ) | \
( ( (value) & 0x000000000000ff00ULL ) << 40 ) | \
( ( (value) & 0x0000000000ff0000ULL ) << 24 ) | \
( ( (value) & 0x00000000ff000000ULL ) << 8 ) | \
( ( (value) & 0x000000ff00000000ULL ) >> 8 ) | \
( ( (value) & 0x0000ff0000000000ULL ) >> 24 ) | \
( ( (value) & 0x00ff000000000000ULL ) >> 40 ) | \
( ( (value) & 0xff00000000000000ULL ) >> 56 ) )
pseudo_bit_t value[0x00020]
Definition: arbel.h:13

Byte-swap a 64-bit constant.

Parameters
valueConstant value
Return values
swappedByte-swapped value

Definition at line 38 of file byteswap.h.

◆ __bswap_16

#define __bswap_16 (   value)
Value:
( __builtin_constant_p (value) ? \
: __bswap_variable_16 (value) )
unsigned short uint16_t
Definition: stdint.h:11
pseudo_bit_t value[0x00020]
Definition: arbel.h:13
#define __bswap_constant_16(value)
Byte-swap a 16-bit constant.
Definition: byteswap.h:16

Byte-swap a 16-bit value.

Parameters
valueValue
Return values
swappedByte-swapped value

Definition at line 54 of file byteswap.h.

◆ bswap_16

#define bswap_16 (   value)    __bswap_16 (value)

Definition at line 58 of file byteswap.h.

◆ __bswap_32

#define __bswap_32 (   value)
Value:
( __builtin_constant_p (value) ? \
: __bswap_variable_32 (value) )
pseudo_bit_t value[0x00020]
Definition: arbel.h:13
unsigned int uint32_t
Definition: stdint.h:12
#define __bswap_constant_32(value)
Byte-swap a 32-bit constant.
Definition: byteswap.h:26

Byte-swap a 32-bit value.

Parameters
valueValue
Return values
swappedByte-swapped value

Definition at line 66 of file byteswap.h.

◆ bswap_32

#define bswap_32 (   value)    __bswap_32 (value)

Definition at line 70 of file byteswap.h.

◆ __bswap_64

#define __bswap_64 (   value)
Value:
( __builtin_constant_p (value) ? \
: __bswap_variable_64 (value) )
#define __bswap_constant_64(value)
Byte-swap a 64-bit constant.
Definition: byteswap.h:38
unsigned long long uint64_t
Definition: stdint.h:13
pseudo_bit_t value[0x00020]
Definition: arbel.h:13

Byte-swap a 64-bit value.

Parameters
valueValue
Return values
swappedByte-swapped value

Definition at line 78 of file byteswap.h.

◆ bswap_64

#define bswap_64 (   value)    __bswap_64 (value)

Definition at line 82 of file byteswap.h.

◆ __cpu_to_leNN

#define __cpu_to_leNN (   bits,
  value 
)    (value)

Definition at line 85 of file byteswap.h.

◆ __cpu_to_beNN

#define __cpu_to_beNN (   bits,
  value 
)    __bswap_ ## bits (value)

Definition at line 86 of file byteswap.h.

◆ __leNN_to_cpu

#define __leNN_to_cpu (   bits,
  value 
)    (value)

Definition at line 87 of file byteswap.h.

◆ __beNN_to_cpu

#define __beNN_to_cpu (   bits,
  value 
)    __bswap_ ## bits (value)

Definition at line 88 of file byteswap.h.

◆ __cpu_to_leNNs

#define __cpu_to_leNNs (   bits,
  ptr 
)    do { } while ( 0 )

Definition at line 89 of file byteswap.h.

◆ __cpu_to_beNNs

#define __cpu_to_beNNs (   bits,
  ptr 
)    __bswap_ ## bits ## s (ptr)

Definition at line 90 of file byteswap.h.

◆ __leNN_to_cpus

#define __leNN_to_cpus (   bits,
  ptr 
)    do { } while ( 0 )

Definition at line 91 of file byteswap.h.

◆ __beNN_to_cpus

#define __beNN_to_cpus (   bits,
  ptr 
)    __bswap_ ## bits ## s (ptr)

Definition at line 92 of file byteswap.h.

◆ cpu_to_le16

#define cpu_to_le16 (   value)    __cpu_to_leNN ( 16, value )

Definition at line 106 of file byteswap.h.

◆ cpu_to_le32

#define cpu_to_le32 (   value)    __cpu_to_leNN ( 32, value )

Definition at line 107 of file byteswap.h.

◆ cpu_to_le64

#define cpu_to_le64 (   value)    __cpu_to_leNN ( 64, value )

Definition at line 108 of file byteswap.h.

◆ cpu_to_be16

#define cpu_to_be16 (   value)    __cpu_to_beNN ( 16, value )

Definition at line 109 of file byteswap.h.

◆ cpu_to_be32

#define cpu_to_be32 (   value)    __cpu_to_beNN ( 32, value )

Definition at line 110 of file byteswap.h.

◆ cpu_to_be64

#define cpu_to_be64 (   value)    __cpu_to_beNN ( 64, value )

Definition at line 111 of file byteswap.h.

◆ le16_to_cpu

#define le16_to_cpu (   value)    __leNN_to_cpu ( 16, value )

Definition at line 112 of file byteswap.h.

◆ le32_to_cpu

#define le32_to_cpu (   value)    __leNN_to_cpu ( 32, value )

Definition at line 113 of file byteswap.h.

◆ le64_to_cpu

#define le64_to_cpu (   value)    __leNN_to_cpu ( 64, value )

Definition at line 114 of file byteswap.h.

◆ be16_to_cpu

#define be16_to_cpu (   value)    __beNN_to_cpu ( 16, value )

Definition at line 115 of file byteswap.h.

◆ be32_to_cpu

#define be32_to_cpu (   value)    __beNN_to_cpu ( 32, value )

Definition at line 116 of file byteswap.h.

◆ be64_to_cpu

#define be64_to_cpu (   value)    __beNN_to_cpu ( 64, value )

Definition at line 117 of file byteswap.h.

◆ cpu_to_le16s

#define cpu_to_le16s (   ptr)    __cpu_to_leNNs ( 16, ptr )

Definition at line 118 of file byteswap.h.

◆ cpu_to_le32s

#define cpu_to_le32s (   ptr)    __cpu_to_leNNs ( 32, ptr )

Definition at line 119 of file byteswap.h.

◆ cpu_to_le64s

#define cpu_to_le64s (   ptr)    __cpu_to_leNNs ( 64, ptr )

Definition at line 120 of file byteswap.h.

◆ cpu_to_be16s

#define cpu_to_be16s (   ptr)    __cpu_to_beNNs ( 16, ptr )

Definition at line 121 of file byteswap.h.

◆ cpu_to_be32s

#define cpu_to_be32s (   ptr)    __cpu_to_beNNs ( 32, ptr )

Definition at line 122 of file byteswap.h.

◆ cpu_to_be64s

#define cpu_to_be64s (   ptr)    __cpu_to_beNNs ( 64, ptr )

Definition at line 123 of file byteswap.h.

◆ le16_to_cpus

#define le16_to_cpus (   ptr)    __leNN_to_cpus ( 16, ptr )

Definition at line 124 of file byteswap.h.

◆ le32_to_cpus

#define le32_to_cpus (   ptr)    __leNN_to_cpus ( 32, ptr )

Definition at line 125 of file byteswap.h.

◆ le64_to_cpus

#define le64_to_cpus (   ptr)    __leNN_to_cpus ( 64, ptr )

Definition at line 126 of file byteswap.h.

◆ be16_to_cpus

#define be16_to_cpus (   ptr)    __beNN_to_cpus ( 16, ptr )

Definition at line 127 of file byteswap.h.

◆ be32_to_cpus

#define be32_to_cpus (   ptr)    __beNN_to_cpus ( 32, ptr )

Definition at line 128 of file byteswap.h.

◆ be64_to_cpus

#define be64_to_cpus (   ptr)    __beNN_to_cpus ( 64, ptr )

Definition at line 129 of file byteswap.h.

◆ htonll

#define htonll (   value)    cpu_to_be64 (value)

Definition at line 131 of file byteswap.h.

◆ ntohll

#define ntohll (   value)    be64_to_cpu (value)

Definition at line 132 of file byteswap.h.

◆ htonl

#define htonl (   value)    cpu_to_be32 (value)

Definition at line 133 of file byteswap.h.

◆ ntohl

#define ntohl (   value)    be32_to_cpu (value)

Definition at line 134 of file byteswap.h.

◆ htons

#define htons (   value)    cpu_to_be16 (value)

Definition at line 135 of file byteswap.h.

◆ ntohs

#define ntohs (   value)    be16_to_cpu (value)

Definition at line 136 of file byteswap.h.

Function Documentation

◆ FILE_LICENCE()

FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL  )