6#ifndef E8CAA280_1C10_4862_B560_47F74D754175
7#define E8CAA280_1C10_4862_B560_47F74D754175
22bool readline(
const char* prompt,
char* buffer,
size_t buffer_len);
28int getpassword(
const char* prompt,
char* buffer,
size_t buffer_len);
32typedef struct stream* stream_t;
35stream_t create_file_stream(FILE* fp);
38size_t file_stream_read(stream_t s,
void* ptr,
size_t size,
size_t count);
43void stream_destroy(stream_t stream);
50ssize_t read_until(stream_t stream,
int delim,
char* buffer,
size_t buffer_size);
52typedef struct string_stream {
59stream_t create_string_stream(
size_t initial_capacity);
62int string_stream_write(stream_t stream,
const char* str);
65const char* string_stream_data(stream_t stream);
73unsigned long io_copy(stream_t writer, stream_t reader);
77unsigned long io_copy_n(stream_t writer, stream_t reader,
size_t n);
High-performance C string with Small String Optimization (SSO).
A dynamically resizable C string with SSO.