# TIFFswab

## Synopsis

    #include <tiffio.h>

const unsigned char *TIFFGetBitRevTable(int reversed)

void TIFFReverseBits(u_char *data, unsigned long nbytes)

void TIFFSwabShort(uint16_t *data)

void TIFFSwabLong(uint32_t *data)

void TIFFSwabLong8(uint64_t *lp)

void TIFFSwabFloat(float *fp)

void TIFFSwabDouble(double *dp)

void TIFFSwabArrayOfShort(uint16_t *wp, tmsize_t n)

void TIFFSwabArrayOfTriples(uint8_t *tp, tmsize_t n)

void TIFFSwabArrayOfLong(uint32_t *lp, tmsize_t n)

void TIFFSwabArrayOfLong8(uint64_t *lp, tmsize_t n)

void TIFFSwabArrayOfFloat(float *fp, tmsize_t n)

void TIFFSwabArrayOfDouble(double *dp, tmsize_t n)

## Description

The following routines are used by the library to swap 16-, 32- and 64-bit data and to reverse the order of bits in bytes.

`TIFFSwabShort()` and `TIFFSwabLong()` and `TIFFSwabFloat()` swap the bytes in a single 16- and 32-bit item, respectively.

`TIFFSwabLong8()` and `TIFFSwabDouble()` swap the bytes in a single 64-bit item.

`TIFFSwabArrayOfTriples()` swap the first and the third byte of each triple (three bytes) within the byte array. The second byte of each triple stays untouched.

`TIFFSwabArrayOfShort()` and `TIFFSwabArrayOfLong()`, `TIFFSwabArrayOfFloat()` swap the bytes in an array of 16- and 32-bit items, respectively.

`TIFFSwabArrayOfLong8()` and `TIFFSwabArrayOfDouble()` swap the bytes in an array of 64-bit items.

`TIFFReverseBits()` replaces each byte in data with the equivalent bit-reversed value. This operation is performed with a lookup table, which is returned using the `TIFFGetBitRevTable()` function. The reversed parameter specifies which table should be returned. Supply 1 if you want bit reversal table. Supply 0 to get the table that do not reverse bit values. It is a lookup table that can be used as an “identity function”; i.e. TIFFNoBitRevTable[n] == n.

## Diagnostics

None.

## See also

libtiff (3tiff)