---
name: "buffer_getn"
section: "3"
platform: "linux"
package: "libowfat-dev"
version: "0.32-5"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/buffer_getn"
---

# buffer\_getn(3)

read binary data from buffer

## NAME

buffer\_getn - read binary data from buffer

## SYNTAX

**#include \<libowfat/buffer.h\>**

ssize\_t **buffer\_getn**(buffer\* *b*,char\* *x*,size\_t *len*);

## DESCRIPTION

buffer\_getn copies data to *x*\[0\], *x*\[1\], ..., *x*\[*len*-1\] from the buffer, calling buffer\_feed as needed, and returns *len*.

If a read error occurs, buffer\_getn returns -1 and sets *errno* appropriately.  It may then have put any number between 0 and *len* in the buffer, you can't tell.  That makes this function only useful if you don't care when an error occurs.  Use buffer\_get otherwise.

If the read operation signals end-of-file before *len* bytes were read, buffer\_getn returns the number of bytes read from the buffer before end-of-file.

## SEE ALSO

[buffer\_init(3)](/buffer_init/3.md), [buffer\_get(3)](/buffer_get/3.md), [buffer(3)](/buffer/3.md)
