---
name: "TIFFbuffer"
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/TIFFbuffer"
---

# TIFFbuffer(3t)

I/O buffering control routines

## NAME

TIFFReadBufferSetup, TIFFWriteBufferSetup - I/O buffering control routines

## SYNOPSIS

```
#include <tiffio.h>
int TIFFReadBufferSetup(TIFF*, tdata_t buffer, tsize_t size);
int TIFFWriteBufferSetup(TIFF*, tdata_t buffer, tsize_t size);
```

## DESCRIPTION

The following routines are provided for client-control of the I/O buffers used by the library. Applications need never use these routines; they are provided only for \`\`intelligent clients'' that wish to optimize memory usage and/or eliminate potential copy operations that can occur when working with images that have data stored without compression.

*TIFFReadBufferSetup* sets up the data buffer used to read raw (encoded) data from a file. If the specified pointer is NULL (zero), then a buffer of the appropriate size is allocated. Otherwise the caller must guarantee that the buffer is large enough to hold any individual strip of raw data. *TIFFReadBufferSetup* returns a non-zero value if the setup was successful and zero otherwise.

*TIFFWriteBufferSetup* sets up the data buffer used to write raw (encoded) data to a file. If the specified *size* is -1 then the buffer size is selected to hold a complete tile or strip, or at least 8 kilobytes, whichever is greater. If the specified *buffer* is  NULL (zero), then a buffer of the appropriate size is dynamically allocated. *TIFFWriteBufferSetup* returns a non-zero value if the setup was successful and zero otherwise.

## DIAGNOSTICS

**%s: No space for data buffer at scanline %ld**. *TIFFReadBufferSetup* was unable to dynamically allocate space for a data buffer.

**%s: No space for output buffer**. *TIFFWriteBufferSetup* was unable to dynamically allocate space for a data buffer.

## SEE ALSO

*libtiff*(3T)
