Files
ivy/common/include/ivy/line-source.h
Max Wash 8e8637882d common: add some new callbacks to ivy_line_source
these callbacks will be used to implement diagnostic messages.
2025-05-08 10:47:07 +01:00

26 lines
835 B
C

#ifndef IVY_COMMON_LINE_SOURCE_H_
#define IVY_COMMON_LINE_SOURCE_H_
#include <ivy/status.h>
#include <stddef.h>
struct ivy_line_source {
enum ivy_status (*s_get_name)(
struct ivy_line_source *, char *, size_t, size_t *);
enum ivy_status (*s_readline)(
struct ivy_line_source *, char *, size_t, size_t *, const char *);
enum ivy_status (*s_get_row)(
struct ivy_line_source *, size_t, char *, size_t, size_t *);
};
IVY_API enum ivy_status ivy_line_source_get_name(
struct ivy_line_source *src, char *buf, size_t count, size_t *nr_read);
IVY_API enum ivy_status ivy_line_source_readline(
struct ivy_line_source *src, char *buf, size_t count, size_t *nr_read,
const char *prompt);
IVY_API enum ivy_status ivy_line_source_get_row(
struct ivy_line_source *src, size_t row, char *buf, size_t count,
size_t *nr_read);
#endif