Man page - buffer_init(3)

Packages contains this manual

Manual

buffer_init

NAME
SYNTAX
DESCRIPTION
EXAMPLE
SEE ALSO

NAME

buffer_init - initialize buffer structure

SYNTAX

#include <libowfat/buffer.h>

void buffer_init (buffer & b ,
ssize_t (* op )(int,char*,size_t),
int fd , char* y , size_t ylen );

DESCRIPTION

buffer_init prepares b to store a string in y [0], y [1], ..., y [ ylen -1]. Initially the string is empty.

buffer_init also prepares b to use the read/write operation specified by op and fd .

You can use

buffer b = BUFFER_INIT( op , fd , y , ylen );

to initialize b statically if op , fd , y , and ylen are compile-time constants.

You can call buffer_init again at any time. Note that this discards the currently buffered string.

EXAMPLE

#include <libowfat/buffer.h>
#include <libowfat/open.h>

char buf[4096];
int fd=open_read("/etc/services");
buffer input;

if (fd>=0) {
char x;
buffer_init(&input,read,fd,buf,sizeof buf);
while (buffer_get(&input,&x,1)==1) {
buffer_put(buffer_1,&x,1);
if (x==’\n’) break;
}
buffer_flush(buffer_1);
}

SEE ALSO

buffer_flush(3), buffer(3)