GLAST / LAT > DAQ and FSW > FSW > Doxygen Index> PBS / V2-12-1 > pbs / rhel4-32


Interface   Data Structures   File List   Data Fields   Globals  

BSWP.h File Reference

Byteswapping, function prototypes, callable versions. More...


Functions

void BSWP_swap16N (unsigned short int *dst, const unsigned short int *src, int cnt)
 Byte swaps 16 bit words.
void BSWP_swap16lN (unsigned short int *dst, const unsigned short int *src, int cnt)
 Byte swaps 16 bit words; local representation <=> little.
void BSWP_swap16bN (unsigned short int *dst, const unsigned short int *src, int cnt)
 Byte swaps 16 bit words; local representation <=> big.
void BSWP_swap32N (unsigned int *dst, const unsigned int *src, int cnt)
 Byte swaps 32 bit words.
void BSWP_swap32lN (unsigned int *dst, const unsigned int *src, int cnt)
 Byte swaps an array 32 bit words; local representation <=> little.
void BSWP_swap32bN (unsigned int *dst, const unsigned int *src, int cnt)
 Byte swaps 32 bit words; local representation <=> big.
void BSWP_swap64N (unsigned long long int *dst, const unsigned long long int *src, int cnt)
 Byte swaps 64 bit words.
void BSWP_swap64lN (unsigned long long int *dst, const unsigned long long int *src, int cnt)
 Byte swaps an array 64 bit words; local representation <=> little.
void BSWP_swap64bN (unsigned long long int *dst, const unsigned long long int *src, int cnt)
 Byte swaps 64 bit words; local representation <=> big.
void BSWP_swap16_lclXlittleN (unsigned short int *dst, const unsigned short int *src, int cnt)
 Byte swaps 16 bit words; local representation <=> little.
void BSWP_swap16_lclXbigN (unsigned short int *dst, const unsigned short int *src, int cnt)
 Byte swaps 16 bit words; local representation <=> big.
void BSWP_swap32_lclXlittleN (unsigned int *dst, const unsigned int *src, int cnt)
 Byte swaps an array 32 bit words; local representation <=> little.
void BSWP_swap32_lclXbigN (unsigned int *dst, const unsigned int *src, int cnt)
 Byte swaps 32 bit words; local representation <=> big.


Detailed Description

Byteswapping, function prototypes, callable versions.

Author:
JJRussell - russell@slac.stanford.edu

    CVS $Id: BSWP.h,v 1.4 2011/03/24 23:05:41 apw Exp $

SYNOPSIS
The BSWP routines provide efficient and uniform methods of performing various byte swap operations on arrays of 16, 32 and 64 bit integers. These routines use the inline routines of BSWP.ih to implement the byteswapping. When possible (currently the PPC platforms), these inline routines map directly onto the hardware instructions used to load and store the 16, 32 and 64 bit byteswapped quantities to and from memory.

The routines come in 3 sets of 3. The first dimension is for operating on one of 16, 32 or 64 bit quantities, while the 3 dimension is for operating on these quantities when they are

The single word word swapping routines are so simple and efficiency is such a motivating design factor that these single word versions of the byteswapping routines are provided only as inlines; see BSWP.ih The vector routines are provided only as callable functions.

Note:
The vector swapping routines are safe independent of whether or how the source and destination buffers overlap.

Function Documentation

void BSWP_swap16_lclXbigN ( unsigned short int *  dst,
const unsigned short int *  src,
int  cnt 
)

Byte swaps 16 bit words; local representation <=> big.

Parameters:
dst The destination array to receive the swapped words
src The source array of 16 bit words to swap
cnt The number of 16 bit words to swap
This routine transforms the source array of 16 bit integer to/from local/big endian representation from to/big endian/local representation. If the local representation is big endian, then this operation is a copy. If the local representation is big endian and the source and destination addresses are identical, then this operation is a NOOP.

Warning:
This function name is being deprecated. The new name is BSWP_swap16bN().

void BSWP_swap16_lclXlittleN ( unsigned short int *  dst,
const unsigned short int *  src,
int  cnt 
)

Byte swaps 16 bit words; local representation <=> little.

Parameters:
src The source array of 16 bit words to swap
dst The destination array to receive the swapped words
cnt The number of 16 bit words to swap
This routine transforms the source array of 16 bit integer to/from local/little endian representation from/to little endian/local representation. If the local representation is little endian, then this operation is a copy. If the local representation is little endian and the source and destination addresses are identical, then this operation is a NOOP.

Warning:
This function name is being deprecated. The new name is BSWP_swap16lN().

void BSWP_swap16bN ( unsigned short int *  dst,
const unsigned short int *  src,
int  cnt 
)

Byte swaps 16 bit words; local representation <=> big.

Parameters:
dst The destination array to receive the swapped words
src The source array of 16 bit words to swap
cnt The number of 16 bit words to swap
This routine transforms the source array of 16 bit integer to/from local/big endian representation from to/big endian/local representation. If the local representation is big endian, then this operation is a copy. If the local representation is big endian and the source and destination addresses are identical, then this operation is a NOOP.

Warning:
This function name is being deprecated. The new name is BSWP_swap16bN().

void BSWP_swap16lN ( unsigned short int *  dst,
const unsigned short int *  src,
int  cnt 
)

Byte swaps 16 bit words; local representation <=> little.

Parameters:
src The source array of 16 bit words to swap
dst The destination array to receive the swapped words
cnt The number of 16 bit words to swap
This routine transforms the source array of 16 bit integer to/from local/little endian representation from/to little endian/local representation. If the local representation is little endian, then this operation is a copy. If the local representation is little endian and the source and destination addresses are identical, then this operation is a NOOP.

void BSWP_swap16N ( unsigned short int *  dst,
const unsigned short int *  src,
int  cnt 
)

Byte swaps 16 bit words.

Parameters:
dst The destination array to receive the swapped words
src The source array of 16 bit words to swap
cnt The number of 16 bit words to swap
This routine byte swaps the source array of 16 bit integers into the destination array.

void BSWP_swap32_lclXbigN ( unsigned int *  dst,
const unsigned int *  src,
int  cnt 
)

Byte swaps 32 bit words; local representation <=> big.

Parameters:
dst The destination array to receive the swapped words
src The source array of 32 bit words to swap
cnt The number of 32 bit words to swap
This routine transforms the source array of 32 bit integer to/from local/big endian representation from/to big endian/local representation. If the local representation is big endian, then this operation is a copy. If the local representation is big endian and the source and destination addresses are identical, then this operation is a NOOP.

Warning:
This function name is being deprecated. The new name is BSWP_swap32bN().

void BSWP_swap32_lclXlittleN ( unsigned int *  dst,
const unsigned int *  src,
int  cnt 
)

Byte swaps an array 32 bit words; local representation <=> little.

Parameters:
dst The destination array to receive the swapped words
src The source array of 32 bit words to swap
cnt The number of 32 bit words to swap
This routine transforms the source array of 32 bit integer to/from local/little endian representation from to little endian/local representation. If the local representation is little endian, then this operation is a copy. If the local representation is little endian and the source and destination addresses are identical, then this operation is a NOOP.

Warning:
This function name is being deprecated. The new name is BSWP_swap32lN().

void BSWP_swap32bN ( unsigned int *  dst,
const unsigned int *  src,
int  cnt 
)

Byte swaps 32 bit words; local representation <=> big.

Parameters:
dst The destination array to receive the swapped words
src The source array of 32 bit words to swap
cnt The number of 32 bit words to swap
This routine transforms the source array of 32 bit integer to/from local/big endian representation from/to big endian/local representation. If the local representation is big endian, then this operation is a copy. If the local representation is big endian and the source and destination addresses are identical, then this operation is a NOOP.

Warning:
This function name is being deprecated. The new name is BSWP_swap32bN().

void BSWP_swap32lN ( unsigned int *  dst,
const unsigned int *  src,
int  cnt 
)

Byte swaps an array 32 bit words; local representation <=> little.

Parameters:
dst The destination array to receive the swapped words
src The source array of 32 bit words to swap
cnt The number of 32 bit words to swap
This routine transforms the source array of 32 bit integer to/from local/little endian representation from to little endian/local representation. If the local representation is little endian, then this operation is a copy. If the local representation is little endian and the source and destination addresses are identical, then this operation is a NOOP.

void BSWP_swap32N ( unsigned int *  dst,
const unsigned int *  src,
int  cnt 
)

Byte swaps 32 bit words.

Parameters:
src The source array of 32 bit words to swap
dst The destination array to receive the swapped words
cnt The number of 32 bit words to swap
This routine byte swaps the source array of 32 bit integers into the destination array.

void BSWP_swap64bN ( unsigned long long int *  dst,
const unsigned long long int *  src,
int  cnt 
)

Byte swaps 64 bit words; local representation <=> big.

Parameters:
dst The destination array to receive the swapped words
src The source array of 64 bit words to swap
cnt The number of 64 bit words to swap
This routine transforms the source array of 64 bit integer to/from local/big endian representation from/to big endian/local representation. If the local representation is big endian, then this operation is a copy. If the local representation is big endian and the source and destination addresses are identical, then this operation is a NOOP.

void BSWP_swap64lN ( unsigned long long int *  dst,
const unsigned long long int *  src,
int  cnt 
)

Byte swaps an array 64 bit words; local representation <=> little.

Parameters:
dst The destination array to receive the swapped words
src The source array of 64 bit words to swap
cnt The number of 64 bit words to swap
This routine transforms the source array of 64 bit integer to/from local/little endian representation from to little endian/local representation. If the local representation is little endian, then this operation is a copy. If the local representation is little endian and the source and destination addresses are identical, then this operation is a NOOP.

void BSWP_swap64N ( unsigned long long int *  dst,
const unsigned long long int *  src,
int  cnt 
)

Byte swaps 64 bit words.

Parameters:
src The source array of 64 bit words to swap
dst The destination array to receive the swapped words
cnt The number of 64 bit words to swap
This routine byte swaps the source array of 64 bit integers into the destination array.


Generated on Sat Apr 9 18:27:05 2011 by  doxygen 1.5.8