NAME
Byte Swapping
DESCRIPTION
The byte swapping functions and macros allow swapping bytes from network byte order to host byte order. All data transmitted between systems should be in network byte order. In order to utilize such data, it must be converted to host byte order before use.
SEE ALSO
Functions: cl_ntoh16, cl_hton16, cl_ntoh32, cl_hton32, cl_ntoh64, cl_hton64, cl_ntoh Macros: CL_NTOH16, CL_HTON16, CL_NTOH32, CL_HTON32, CL_NTOH64, CL_HTON64
NAME
CL_HTON16
DESCRIPTION
The CL_HTON16 macro converts a 16-bit value from host byte order to network byte order. The CL_HTON16 macro will cause constant values to be swapped by the pre-processor. For variables, CL_HTON16 is less efficient than the cl_hton16 function.
SYNOPSIS
* CL_HTON16( val );
PARAMETERS
val [in] 16-bit value to swap from host byte order to network byte order.
RESULT
Value of val converted to network byte order.
NOTES
This macro is analogous to CL_NTOH16.
SEE ALSO
Byte Swapping, CL_NTOH16, CL_HTON32, CL_HTON64, cl_hton16, cl_hton32, cl_hton64, cl_ntoh
NAME
cl_hton16
DESCRIPTION
The cl_hton16 function converts a 16-bit value from host byte order to network byte order.
SYNOPSIS
* uint16_t * cl_hton16( * IN const uint16_t val );
PARAMETERS
val [in] Value to swap from host byte order to network byte order .
RETURN VALUE
Value of val converted to network byte order.
NOTES
This function is analogous to cl_ntoh16.
SEE ALSO
Byte Swapping, cl_ntoh16, cl_hton32, cl_hton64, cl_ntoh
NAME
CL_HTON32
DESCRIPTION
The CL_HTON32 macro converts a 32-bit value from host byte order to network byte order. The CL_HTON32 macro will cause constant values to be swapped by the pre-processor. For variables, CL_HTON32 is less efficient than the cl_hton32 function.
SYNOPSIS
* CL_HTON32( val );
PARAMETERS
val [in] 32-bit value to swap from host byte order to network byte order.
RESULT
Value of val converted to network byte order.
NOTES
This macro is analogous to CL_NTOH32.
SEE ALSO
Byte Swapping, CL_NTOH32, CL_HTON16, CL_HTON64, cl_hton16, cl_hton32, cl_hton64, cl_ntoh
NAME
cl_hton32
DESCRIPTION
The cl_hton32 function converts a 32-bit value from host byte order to network byte order.
SYNOPSIS
* uint32_t * cl_hton32( * IN const uint32_t val );
PARAMETERS
val [in] Value to swap from host byte order to network byte order .
RETURN VALUE
Value of val converted to network byte order.
NOTES
This function is analogous to cl_ntoh32.
SEE ALSO
Byte Swapping, cl_ntoh32, cl_hton16, cl_hton64, cl_ntoh
NAME
CL_HTON64
DESCRIPTION
The CL_HTON64 macro converts a 64-bit value from host byte order to network byte order. The CL_HTON64 macro will cause constant values to be swapped by the pre-processor. For variables, CL_HTON64 is less efficient than the cl_hton64 function.
SYNOPSIS
* CL_HTON64( val );
PARAMETERS
val [in] 64-bit value to swap from host byte order to network byte order.
RESULT
Value of val converted to network byte order.
NOTES
This macro is analogous to CL_NTOH64.
SEE ALSO
Byte Swapping, CL_NTOH64, CL_HTON16, CL_HTON32, cl_hton16, cl_hton32, cl_hton64, cl_ntoh
NAME
cl_hton64
DESCRIPTION
The cl_hton64 function converts a 64-bit value from host byte order to network byte order.
SYNOPSIS
* uint64_t * cl_hton64( * IN const uint64_t val );
PARAMETERS
val [in] Value to swap from host byte order to network byte order .
RETURN VALUE
Value of val converted to network byte order.
NOTES
This function is analogous to cl_ntoh64.
SEE ALSO
Byte Swapping, cl_ntoh64, cl_hton16, cl_hton32, cl_ntoh
NAME
cl_ntoh
DESCRIPTION
The cl_ntoh function converts a value from network byte order to host byte order.
SYNOPSIS
CL_INLINE void CL_API cl_ntoh( OUT char* const p_dest, IN const char* const p_src, IN const uint8_t size ) { #if CPU_LE uint8_t i; char temp; if( p_src == p_dest ) { /* Swap in place if source and destination are the same. */ for( i = 0; i < size / 2; i++ ) { temp = p_dest[i]; p_dest[i] = p_src[size - 1 - i]; p_dest[size - 1 - i] = temp; } } else { for( i = 0; i < size; i++ ) p_dest[i] = p_src[size - 1 - i]; } #else /* * If the source and destination are not the same, copy the source to * the destination. */ if( p_src != p_dest ) cl_memcpy( p_dest, p_src, size ); #endif }
PARAMETERS
p_dest [in] Pointer to a byte array to contain the converted value of p_src. p_src [in] Pointer to a byte array to be converted from network byte ordering. size [in] Number of bytes to swap.p_dest
RETURN VALUE
This function does not return a value.
NOTES
cl_ntoh can perform in place swapping if both p_src and p_dest point to the same buffer.
SEE ALSO
Byte Swapping, cl_ntoh16, cl_ntoh32, cl_ntoh64
NAME
CL_NTOH16
DESCRIPTION
The CL_NTOH16 macro converts a 16-bit value from network byte order to host byte order. The CL_NTOH16 macro will cause constant values to be swapped by the pre-processor. For variables, CL_NTOH16 is less efficient than the cl_ntoh16 function.
SYNOPSIS
* CL_NTOH16( val );
PARAMETERS
val [in] 16-bit value to swap from network byte order to host byte order.
RESULT
Value of val converted to host byte order.
NOTES
This macro is analogous to CL_HTON16.
SEE ALSO
Byte Swapping, CL_HTON16, CL_NTOH32, CL_NTOH64, cl_ntoh16, cl_ntoh32, cl_ntoh64, cl_ntoh
NAME
cl_ntoh16
DESCRIPTION
The cl_ntoh16 function converts a 16-bit value from network byte order to host byte order.
SYNOPSIS
* uint16_t * cl_ntoh16( * IN const uint16_t val );
PARAMETERS
val [in] Value to swap from network byte order to host byte order.
RETURN VALUE
Value of val converted to host byte order.
NOTES
This function is analogous to cl_hton16.
SEE ALSO
Byte Swapping, cl_hton16, cl_ntoh32, cl_ntoh64, cl_ntoh
NAME
cl_ntoh32
DESCRIPTION
The cl_ntoh32 function converts a 32-bit value from network byte order to host byte order.
SYNOPSIS
* uint32_t * cl_ntoh32( * IN const uint32_t val );
PARAMETERS
val [in] Value to swap from network byte order to host byte order.
RETURN VALUE
Value of val converted in host byte order.
NOTES
This function is analogous to cl_hton32.
SEE ALSO
Byte Swapping, cl_hton32, cl_ntoh16, cl_ntoh64, cl_ntoh
NAME
CL_NTOH32
DESCRIPTION
The CL_NTOH32 macro converts a 32-bit value from network byte order to host byte order. The CL_NTOH32 macro will cause constant values to be swapped by the pre-processor. For variables, CL_NTOH32 is less efficient than the cl_ntoh32 function.
SYNOPSIS
* CL_NTOH32( val );
PARAMETERS
val [in] 32-bit value to swap from network byte order to host byte order.
RESULT
Value of val converted to host byte order.
NOTES
This macro is analogous to CL_HTON32.
SEE ALSO
Byte Swapping, CL_HTON32, CL_NTOH16, CL_NTOH64, cl_ntoh16, cl_ntoh32, cl_ntoh64, cl_ntoh
NAME
CL_NTOH64
DESCRIPTION
The CL_NTOH64 macro converts a 64-bit value from network byte order to host byte order. The CL_NTOH64 macro will cause constant values to be swapped by the pre-processor. For variables, CL_NTOH64 is less efficient than the cl_ntoh64 function.
SYNOPSIS
* CL_NTOH64( val );
PARAMETERS
val [in] 64-bit value to swap from network byte order to host byte order.
RESULT
Value of val converted to host byte order.
NOTES
This macro is analogous to CL_HTON64.
SEE ALSO
Byte Swapping, CL_HTON64, CL_NTOH16, CL_NTOH32, cl_ntoh16, cl_ntoh32, cl_ntoh64, cl_ntoh
NAME
cl_ntoh64
DESCRIPTION
The cl_ntoh64 function converts a 64-bit value from network byte order to host byte order.
SYNOPSIS
* uint64_t * cl_ntoh64( * IN const uint64_t val );
PARAMETERS
val [in] Value to swap from network byte order to host byte order.
RETURN VALUE
Value of val converted in host byte order.
NOTES
This function is analogous to cl_hton64.
SEE ALSO
Byte Swapping, cl_hton64, cl_ntoh16, cl_ntoh32, cl_ntoh