buffer(3diet)

buffer3diet

Generic read/write buffering

Usage

#include <buffer.h>

buffer* buffer_0; /* like stdio's stdin */
buffer* buffer_1; /* like stdio's stdout */
buffer* buffer_2; /* like stdio's stderr */

Overview

buffer.h provides a generic buffer interface that can be used for read and write buffering. Buffers must be initialized with buffer_init.

A buffer can only be used for reading or writing at the same time, not both.

Unlike stdio, these write buffers are not flushed automatically at program termination; you must manually call buffer_flush, buffer_putsflush, buffer_putflush or buffer_putnlflush.

Examples

See buffer_init(3) for example read buffer code. Here is typical code for printing an error message on stderr:

#include <buffer.h>

buffer_puts(buffer_2,"error: got only ");
buffer_putulong(buffer_2,got);
buffer_puts(buffer_2," bytes, but expected at least ");
buffer_putulong(buffer_2,expected);
buffer_putsflush(buffer_2," bytes!");

Releases

Unchanged in 4 releases since Debian 3.1 (Sarge).

  1. 3.1–6.0

From libowfat-dev 0.28-2 in Debian 6.0 (Squeeze). Parsed by carta from the page's man source.