blob: cfa21472f91e6f1297b4795a24cb93ecbdd1ebbe [file] [log] [blame]
#ifndef _GPXE_LINEBUF_H
#define _GPXE_LINEBUF_H
/** @file
*
* Line buffering
*
*/
FILE_LICENCE ( GPL2_OR_LATER );
#include <stdint.h>
#include <stddef.h>
/** A line buffer */
struct line_buffer {
/** Current string in the buffer */
char *data;
/** Length of current string, excluding the terminating NUL */
size_t len;
/** String is ready to read */
int ready;
};
extern char * buffered_line ( struct line_buffer *linebuf );
extern ssize_t line_buffer ( struct line_buffer *linebuf,
const char *data, size_t len );
extern void empty_line_buffer ( struct line_buffer *linebuf );
#endif /* _GPXE_LINEBUF_H */