#include enum bshell_status bshell_line_source_get_name( struct bshell_line_source *src, char *buf, size_t count, size_t *nr_read) { if (src->s_get_name) { return src->s_get_name(src, buf, count, nr_read); } return BSHELL_ERR_NOT_SUPPORTED; } enum bshell_status bshell_line_source_readline( struct bshell_line_source *src, fx_stringstream *out) { if (src->s_readline) { return src->s_readline(src, out); } return BSHELL_ERR_NOT_SUPPORTED; } enum bshell_status bshell_line_source_get_row( struct bshell_line_source *src, size_t row, char *buf, size_t count, size_t *nr_read) { if (src->s_get_row) { return src->s_get_row(src, row, buf, count, nr_read); } return BSHELL_ERR_NOT_SUPPORTED; }