---
name: "TIFFswab"
section: "3t"
platform: "linux"
package: "libtiff3g-dev"
version: "3.5.5-6.woody5"
release: "Debian 3.0 (Woody)"
platforms: ["linux"]
url: "https://new.carta.tech/TIFFswab"
---

# TIFFswab(3t)

byte- and bit-swapping routines

## NAME

TIFFReverseBits, TIFFSwabShort, TIFFSwabLong, TIFFSwabArrayOfShort, TIFFSwabArrayOfLong - byte- and bit-swapping routines

## SYNOPSIS

**#include \<tiffio.h\>**\
 **const unsigned char\* TIFFGetBitRevTable(int reversed);**\
 **void TIFFReverseBits(u\_char\* data, unsigned long nbytes)**\
 **void TIFFSwabShort(uint16\* data)**\
 **void TIFFSwabLong(uint32\* data)**\
 **void TIFFSwabArrayOfShort(uint16\* data, unsigned long nshorts)**\
 **void TIFFSwabArrayOfLong(uint32\* data, unsigned long nlongs)**

## DESCRIPTION

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

*TIFFSwabShort* and *TIFFSwabLong* swap the bytes in a single 16-bit and 32-bit item, respectively. *TIFFSwabArrayOfShort* and *TIFFSwabArrayOfLong* swap the bytes in an array of 16-bit and 32-bit items, respectively.

*TIFFReverseBits* replaces each byte in *data* with the equivalent bit-reversed value. This operation is done with a lookup table, *TIFFBitRevTable* which is declared public. A second table, *TIFFNoBitRevTable* is also declared public; it is a lookup table that can be used as an *identity function*; i.e. *TIFFNoBitRevTable\[n\] == n*.

## DIAGNOSTICS

None.

## SEE ALSO

*libtiff*(3T),
