table of contents
        
      
      
    - Tumbleweed 0.34-2.1
 - Leap-16.0
 
| buffer_init(3) | Library Functions Manual | buffer_init(3) | 
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);
  
   }