NAME
src/byteorder.c - Byteordering functions
DESCRIPTION
These are assigned to a vtable when the PBC file is loaded.
If the vtable method for conversion from the native byteorder is called, it is a no op and will work, but the caller should know if the byteorder in the PBC file is native and skip the conversion and just map it in.
Byte order handlers
Configure will have checked for supported word sizes.
INTVAL fetch_iv_le
This function converts a 4 or 8 byte INTVAL fetch_iv_be
This function converts a 4 or 8 byte opcode_t fetch_op_be
Same as opcode_t fetch_op_le
Same as void fetch_buf_be_4
Converts a 4-byte big-endian buffer void fetch_buf_le_4
Converts a 4-byte little-endian buffer void fetch_buf_be_8
Converts an 8-byte big-endian buffer void fetch_buf_le_8
Converts an 8-byte little-endian buffer void fetch_buf_le_12
Converts a 12-byte little-endian buffer void fetch_buf_be_12
Converts a 12-byte big-endian buffer void fetch_buf_le_16
Converts a 16-byte little-endian buffer void fetch_buf_be_16
Converts a 16-byte big-endian buffer void fetch_buf_le_32
Converts a 32-byte little-endian buffer void fetch_buf_be_32
Converts a 32-byte big-endian buffer
INTVAL
into little endian format.
If the native format is already little endian,
then no conversion is done.
INTVAL
into big endian format.
If the native format is already big endian,
then no conversion is done.
fetch_iv_be
for opcode_t
fetch_iv_le
for opcode_tUnrolled routines for swapping various sizes from 32-128 bits.
These should only be used if alignment is unknown or we are pulling something out of a padded buffer.
b
into a little-endian rb
.
b
into a big-endian buffer rb
.
b
into a little-endian buffer rb
b
into a big-endian buffer rb
.
b
into a big-endian buffer b
.
b
into a little-endian buffer b
.
b
into a big-endian buffer b
.
b
into a little-endian buffer b
.
b
into a big-endian buffer b
.
b
into a little-endian buffer b
.HISTORY
Initial version by Melvin on 2002/05/01