Hall-D Software  alpha
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
hdbyte_swapout.h File Reference
#include <stdint.h>

Go to the source code of this file.

Functions

void swap_block_out (uint16_t *inbuff, uint16_t len, uint16_t *outbuff)
 
void swap_block_out (uint32_t *inbuff, uint32_t len, uint32_t *outbuff)
 
void swap_block_out (uint64_t *inbuff, uint64_t len, uint64_t *outbuff)
 
uint32_t swap_bank_out (uint32_t *outbuff, uint32_t *inbuff, uint32_t len)
 
uint32_t swap_tagsegment_out (uint32_t *outbuff, uint32_t *inbuff, uint32_t len)
 
uint32_t swap_segment_out (uint32_t *outbuff, uint32_t *inbuff, uint32_t len)
 

Function Documentation

uint32_t swap_bank_out ( uint32_t *  outbuff,
uint32_t *  inbuff,
uint32_t  len 
)

n.b. This was modified from the original which assumed we were swapping from wrong endianess for the process to the right one. This routine is being used by hdl3 to do the opposite.

Swap an EVIO bank. If the bank contains data, it is automatically swapped according to it's type. If the bank is a container of other containers, then this repeatedly calls the swapper methods for the appropriate container type (bank, tagsegment, segment). This means that this method will be recursive in the cases where it is a bank of banks.

Definition at line 72 of file hdbyte_swapout.cc.

References swap_bank_out(), swap_block_out(), swap_segment_out(), and swap_tagsegment_out().

Referenced by HDEVIOWriter::FlushOutput(), and swap_bank_out().

void swap_block_out ( uint16_t *  inbuff,
uint16_t  len,
uint16_t *  outbuff 
)
void swap_block_out ( uint32_t *  inbuff,
uint32_t  len,
uint32_t *  outbuff 
)

Definition at line 35 of file hdbyte_swapout.cc.

void swap_block_out ( uint64_t *  inbuff,
uint64_t  len,
uint64_t *  outbuff 
)

Definition at line 51 of file hdbyte_swapout.cc.

uint32_t swap_segment_out ( uint32_t *  outbuff,
uint32_t *  inbuff,
uint32_t  len 
)

Swap an EVIO segment.

n.b. This was modified from the original which assumed we were swapping from wrong endianess for the process to the right one. This routine is being used by hdl3 to do the opposite.

Definition at line 212 of file hdbyte_swapout.cc.

References swap_block_out().

Referenced by swap_bank_out().

uint32_t swap_tagsegment_out ( uint32_t *  outbuff,
uint32_t *  inbuff,
uint32_t  len 
)

Swap an EVIO tagsegment.

Definition at line 160 of file hdbyte_swapout.cc.

References swap_block_out().

Referenced by swap_bank_out().