| parrotcode: Byteordering functions | |
| Contents | C |

src/byteorder.c - Byteordering functions

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.

Configure will have checked for supported word sizes.
INTVAL fetch_iv_leINTVAL into little endian format.
If the native format is already little endian,
then no conversion is done.
INTVAL fetch_iv_beINTVAL into big endian format.
If the native format is already big endian,
then no conversion is done.
opcode_t fetch_op_befetch_iv_be for opcode_t
opcode_t fetch_op_lefetch_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.
void fetch_buf_be_4b into a little-endian rb.
void fetch_buf_le_4b into a big-endian buffer rb.
void fetch_buf_be_8b into a little-endian buffer rb
void fetch_buf_le_8b into a big-endian buffer rb.
void fetch_buf_le_12b into a big-endian buffer b.
void fetch_buf_be_12b into a little-endian buffer b.
void fetch_buf_le_16b into a big-endian buffer b.
void fetch_buf_be_16b into a little-endian buffer b.
Initial version by Melvin on 2002/05/01
|
|
|