Endianness Conversion Library
A library for converting between endianness. Useful for reading binary data from files.
 
Loading...
Searching...
No Matches
conv_endian.h File Reference

A C portable header that contains declarations of functions for converting between endianness. More...

#include <stdint.h>

Go to the source code of this file.

Functions

uint16_t read_le_u16 (uint16_t val)
 Reads an 16-bit unsigned little endian integer number.
 
uint16_t convert_to_le_u16 (uint16_t val)
 Writes an 16-bit unsigned little endian integer number.
 
uint16_t read_be_u16 (uint16_t val)
 Reads an 16-bit unsigned big endian integer number.
 
uint16_t convert_to_be_u16 (uint16_t val)
 Writes an 16-bit unsigned big endian integer number.
 
int16_t read_le_s16 (int16_t val)
 Reads an 16-bit signed little endian integer number.
 
int16_t convert_to_le_s16 (int16_t val)
 Writes an 16-bit signed little endian integer number.
 
int16_t read_be_s16 (int16_t val)
 Reads an 16-bit signed big endian integer number.
 
int16_t convert_to_be_s16 (int16_t val)
 Writes an 16-bit signed big endian integer number.
 
uint32_t read_le_u32 (uint32_t val)
 Reads an 32-bit unsigned little endian integer number.
 
uint32_t convert_to_le_u32 (uint32_t val)
 Writes an 32-bit unsigned little endian integer number.
 
uint32_t read_be_u32 (uint32_t val)
 Reads an 32-bit unsigned big endian integer number.
 
uint32_t convert_to_be_u32 (uint32_t val)
 Writes an 32 bit unsigned big endian integer number.
 
int32_t read_le_s32 (int32_t val)
 Reads an 32-bit signed little endian integer number.
 
int32_t convert_to_le_s32 (int32_t val)
 Writes an 32-bit signed little endian integer number.
 
int32_t read_be_s32 (int32_t val)
 Reads an 32-bit signed big endian integer number.
 
int32_t convert_to_be_s32 (int32_t val)
 Writes an 32-bit signed big endian integer number.
 
float read_le_f32 (float val)
 Reads an 32-bit little endian floating point number.
 
float convert_to_le_f32 (float val)
 Writes an 32-bit little endian floating point number.
 
float read_be_f32 (float val)
 Reads an 32-bit big endian floating point number.
 
float convert_to_be_f32 (float val)
 Writes an 32-bit big endian floating point number.
 
uint64_t read_le_u64 (uint64_t val)
 Reads an 64-bit little endian integer number.
 
uint64_t convert_to_le_u64 (uint64_t val)
 Writes an 64-bit little endian integer number.
 
uint64_t read_be_u64 (uint64_t val)
 Reads an 64-bit big endian integer number.
 
uint64_t convert_to_be_u64 (uint64_t val)
 Writes an 64-bit big endian integer number.
 
int64_t read_le_s64 (int64_t val)
 Reads an 64-bit little endian integer number.
 
int64_t convert_to_le_s64 (int64_t val)
 Writes an 64-bit little endian integer number.
 
int64_t read_be_s64 (int64_t val)
 Reads an 64-bit big endian integer number.
 
int64_t convert_to_be_s64 (int64_t val)
 Writes an 64-bit big endian integer number.
 
double read_le_f64 (double val)
 Reads an 64-bit little endian floating point number.
 
double convert_to_le_f64 (double val)
 Writes an 64-bit little endian floating point number.
 
double read_be_f64 (double val)
 Reads an 64-bit big endian floating point number.
 
double convert_to_be_f64 (double val)
 Writes an 64-bit big endian floating point number.
 

Detailed Description

A C portable header that contains declarations of functions for converting between endianness.

Function Documentation

◆ convert_to_be_f32()

float convert_to_be_f32 ( float val)

Writes an 32-bit big endian floating point number.

Parameters
valvalue of a 32-bit floating point number in their endianness of their machine
Returns
big endian value from value passed into convert_to_be_f32 in their endianness of their machine

◆ convert_to_be_f64()

double convert_to_be_f64 ( double val)

Writes an 64-bit big endian floating point number.

Parameters
valvalue of a 64-bit floating point number in their endianness of their machine
Returns
big endian double-precision value from value passed into convert_to_be_f64 in their endianness of their machine

◆ convert_to_be_s16()

int16_t convert_to_be_s16 ( int16_t val)

Writes an 16-bit signed big endian integer number.

Parameters
valvalue of a 16-bit signed integer in their endianness of their machine
Returns
big endian value from value passed into convert_to_be_s16 in their endianness of their machine

◆ convert_to_be_s32()

int32_t convert_to_be_s32 ( int32_t val)

Writes an 32-bit signed big endian integer number.

Parameters
valvalue of a 32-bit signed integer in their endianness of their machine
Returns
big endian value from value passed into convert_to_be_s32 in their endianness of their machine

◆ convert_to_be_s64()

int64_t convert_to_be_s64 ( int64_t val)

Writes an 64-bit big endian integer number.

Parameters
valvalue of a number in their endianness of their machine
Returns
big endian value from the value passed into convert_to_be_s64 in their endianness of their machine

◆ convert_to_be_u16()

uint16_t convert_to_be_u16 ( uint16_t val)

Writes an 16-bit unsigned big endian integer number.

Parameters
valvalue of a 16-bit unsigned integer in their endianness of their machine
Returns
big endian value from value passed into convert_to_be_u16 in their endianness of their machine

◆ convert_to_be_u32()

uint32_t convert_to_be_u32 ( uint32_t val)

Writes an 32 bit unsigned big endian integer number.

Parameters
valvalue of a 32-bit unsigned integer in their endianness of their machine
Returns
big endian value from value passed into convert_to_be_u32 in their endianness of their machine

◆ convert_to_be_u64()

uint64_t convert_to_be_u64 ( uint64_t val)

Writes an 64-bit big endian integer number.

Parameters
valvalue of a number in their endianness of their machine
Returns
big endian value from the value passed into convert_to_be_u64 in their endianness of their machine

◆ convert_to_le_f32()

float convert_to_le_f32 ( float val)

Writes an 32-bit little endian floating point number.

Parameters
valvalue of a 32-bit floating point number in their endianness of their machine
Returns
little endian value from value passed into convert_to_le_f32 in their endianness of their machine

◆ convert_to_le_f64()

double convert_to_le_f64 ( double val)

Writes an 64-bit little endian floating point number.

Parameters
valvalue of a 64-bit floating point number in their endianness of their machine
Returns
little endian double-precision value from value passed into convert_to_le_f64 in their endianness of their machine

◆ convert_to_le_s16()

int16_t convert_to_le_s16 ( int16_t val)

Writes an 16-bit signed little endian integer number.

Parameters
valvalue of a 16-bit signed integer in their endianness of their machine
Returns
little endian value from value passed into convert_to_le_s16 in their endianness of their machine

◆ convert_to_le_s32()

int32_t convert_to_le_s32 ( int32_t val)

Writes an 32-bit signed little endian integer number.

Parameters
valvalue of a 32-bit signed integer in their endianness of their machine
Returns
little endian value from value passed into convert_to_le_s32 in their endianness of their machine

◆ convert_to_le_s64()

int64_t convert_to_le_s64 ( int64_t val)

Writes an 64-bit little endian integer number.

Parameters
valvalue of a number in their endianness of their machine
Returns
little endian value from value passed into convert_to_le_s64 in their endianness of their machine

◆ convert_to_le_u16()

uint16_t convert_to_le_u16 ( uint16_t val)

Writes an 16-bit unsigned little endian integer number.

Parameters
valvalue of a 16-bit unsigned integer in their endianness of their machine
Returns
little endian value from value passed into convert_to_le_u16 in their endianness of their machine

◆ convert_to_le_u32()

uint32_t convert_to_le_u32 ( uint32_t val)

Writes an 32-bit unsigned little endian integer number.

Parameters
valvalue of a 32-bit unsigned integer in their endianness of their machine
Returns
little endian value from value passed into convert_to_le_u32 in their endianness of their machine

◆ convert_to_le_u64()

uint64_t convert_to_le_u64 ( uint64_t val)

Writes an 64-bit little endian integer number.

Parameters
valvalue of a number in their endianness of their machine
Returns
little endian value from value passed into convert_to_le_u64 in their endianness of their machine

◆ read_be_f32()

float read_be_f32 ( float val)

Reads an 32-bit big endian floating point number.

Parameters
valvalue of a 32-bit floating point number in big endian
Returns
converted value of the big endian value passed into read_be_f32 in their endianness of their machine

◆ read_be_f64()

double read_be_f64 ( double val)

Reads an 64-bit big endian floating point number.

Parameters
valvalue of a 64-bit floating point number in big endian
Returns
converted value of the big endian value passed into read_be_f64 in their endianness of their machine

◆ read_be_s16()

int16_t read_be_s16 ( int16_t val)

Reads an 16-bit signed big endian integer number.

Parameters
valvalue of a 16-bit signed integer in big endian
Returns
converted value of the signed big endian value passed into read_be_s16 in their endianness of their machine

◆ read_be_s32()

int32_t read_be_s32 ( int32_t val)

Reads an 32-bit signed big endian integer number.

Parameters
valvalue of a 32-bit signed integer in big endian
Returns
converted value of the signed big endian value passed into read_be_s32 in their endianness of their machine

◆ read_be_s64()

int64_t read_be_s64 ( int64_t val)

Reads an 64-bit big endian integer number.

Parameters
valvalue of a number in big endian
Returns
converted value of the signed value passed into read_be_s64 in their endianness of their machine

◆ read_be_u16()

uint16_t read_be_u16 ( uint16_t val)

Reads an 16-bit unsigned big endian integer number.

Parameters
valvalue of a 16-bit unsigned integer in big endian
Returns
converted value of the unsigned big endian value passed into read_be_u16 in their endianness of their machine

◆ read_be_u32()

uint32_t read_be_u32 ( uint32_t val)

Reads an 32-bit unsigned big endian integer number.

Parameters
valvalue of a 32-bit unsigned integer in big endian
Returns
converted value of the unsigned big endian value passed into read_be_u32 in their endianness of their machine

◆ read_be_u64()

uint64_t read_be_u64 ( uint64_t val)

Reads an 64-bit big endian integer number.

Parameters
valvalue of a 64-bit unsigned integer in big endian
Returns
converted value of the unsigned big endian value passed into read_be_u64 in their endianness of their machine

◆ read_le_f32()

float read_le_f32 ( float val)

Reads an 32-bit little endian floating point number.

Parameters
valvalue of a 32-bit floating point number in little endian
Returns
converted value of the little endian value passed into read_le_f32 in their endianness of their machine

◆ read_le_f64()

double read_le_f64 ( double val)

Reads an 64-bit little endian floating point number.

Parameters
valvalue of a 64-bit floating point number in little endian
Returns
converted value of the little endian value passed into read_le_f64 in their endianness of their machine

◆ read_le_s16()

int16_t read_le_s16 ( int16_t val)

Reads an 16-bit signed little endian integer number.

Parameters
valvalue of a 16-bit signed integer in little endian
Returns
converted value of the signed little endian value passed into read_le_s16 in their endianness of their machine

◆ read_le_s32()

int32_t read_le_s32 ( int32_t val)

Reads an 32-bit signed little endian integer number.

Parameters
valvalue of a 32-bit signed integer in little endian
Returns
converted value of the signed little endian value passed into read_le_s32 in their endianness of their machine

◆ read_le_s64()

int64_t read_le_s64 ( int64_t val)

Reads an 64-bit little endian integer number.

Parameters
valvalue of a an 64-bit integer in little endian
Returns
converted value of the signed value passed into read_le_s64 in their endianness of their machine

◆ read_le_u16()

uint16_t read_le_u16 ( uint16_t val)

Reads an 16-bit unsigned little endian integer number.

Parameters
valvalue of a 16-bit unsigned integer in little endian
Returns
converted value of the unsigned little endian value passed into read_le_u16 in their endianness of their machine

◆ read_le_u32()

uint32_t read_le_u32 ( uint32_t val)

Reads an 32-bit unsigned little endian integer number.

Parameters
valvalue of a 32-bit unsigned integer in little endian
Returns
converted value of the unsigned little endian value passed into read_le_u32 in their endianness of their machine

◆ read_le_u64()

uint64_t read_le_u64 ( uint64_t val)

Reads an 64-bit little endian integer number.

Parameters
valvalue of a 64-bit unsigned integer in little endian
Returns
converted value of the signed value passed into read_le_u64 in their endianness of their machine