buffer_mmapread man page

buffer_mmapread — create read-only memory-mapped file buffer

Syntax

#include <buffer.h>

int buffer_mmapread(buffer &b,const char* filename);

Description

buffer_mmapread opens filename for reading and fills b so that the contents of the file can be read from it.  Using mmap is more efficient than reading through a real buffer, but you have to call buffer_close to unmap the memory in the end.

Example

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

 buffer input;
 char x;

 buffer_mmapread(&input,"/etc/passwd");
 while (buffer_get(&input,&x,1)==1) {
   buffer_put(buffer_1,&x,1);
   if (x=='\n') break;
 }
 buffer_flush(buffer_1);
 buffer_close(&input);

Return Value

buffer_mmapread returns 0 if everything was fine, -1 on error (setting errno).

See Also

buffer_flush(3), buffer(3)

Referenced By

buffer_close(3).