Files
bshell/bshell/line-source.h
T

38 lines
767 B
C

#ifndef LINE_SOURCE_H_
#define LINE_SOURCE_H_
#include "status.h"
#include <fx/stringstream.h>
#include <stddef.h>
struct line_source {
enum bshell_status (
*s_get_name)(struct line_source *, char *, size_t, size_t *);
enum bshell_status (
*s_readline)(struct line_source *, fx_stringstream *);
enum bshell_status (*s_get_row)(
struct line_source *,
size_t,
char *,
size_t,
size_t *);
};
extern enum bshell_status line_source_get_name(
struct line_source *src,
char *buf,
size_t count,
size_t *nr_read);
extern enum bshell_status line_source_readline(
struct line_source *src,
fx_stringstream *out);
extern enum bshell_status line_source_get_row(
struct line_source *src,
size_t row,
char *buf,
size_t count,
size_t *nr_read);
#endif