VTerm
VTerm* fTerm;
VTerm *vterm_new(int rows, int cols);
VTerm *vterm_new_with_allocator(int rows, int cols, VTermAllocatorFunctions *funcs, void *allocdata);
void vterm_free(VTerm* vt);
void vterm_get_size(const VTerm *vt, int *rowsp, int *colsp);
void vterm_set_size(VTerm *vt, int rows, int cols);
void vterm_push_bytes(VTerm *vt, const char *bytes, size_t len);
void vterm_input_push_char(VTerm *vt, VTermModifier state, uint32_t c);
void vterm_input_push_key(VTerm *vt, VTermModifier state, VTermKey key);
size_t vterm_output_bufferlen(VTerm *vt); /* deprecated */
size_t vterm_output_get_buffer_size(const VTerm *vt);
size_t vterm_output_get_buffer_current(const VTerm *vt);
size_t vterm_output_get_buffer_remaining(const VTerm *vt);
size_t vterm_output_bufferread(VTerm *vt, char *buffer, size_t len);
void vterm_set_parser_callbacks(VTerm *vt, const VTermParserCallbacks *callbacks, void *user);
void vterm_parser_set_utf8(VTerm *vt, int is_utf8);
VTermState *vterm_obtain_state(VTerm *vt);
VTermScreen *vterm_obtain_screen(VTerm *vt);
typedef struct VTerm VTerm;
void vterm_input_push_key(VTerm *vt, VTermModifier mod, VTermKey key)
void vterm_input_push_char(VTerm *vt, VTermModifier mod, uint32_t c)
static void do_control(VTerm *vt, unsigned char control)
static void append_strbuffer(VTerm *vt, const char *str, size_t len)
static size_t do_string(VTerm *vt, const char *str_frag, size_t len)
static void do_string_csi(VTerm *vt, const char *args, size_t arglen, char command)
void vterm_push_bytes(VTerm *vt, const char *bytes, size_t len)
VTerm *vt;
static VTermScreen *screen_new(VTerm *vt)
VTermScreen *vterm_obtain_screen(VTerm *vt)
VTermState *vterm_obtain_state(VTerm *vt)
static VTermState *vterm_state_new(VTerm *vt)
void vterm_set_parser_callbacks(VTerm *vt, const VTermParserCallbacks *callbacks, void *user)
void vterm_parser_set_utf8(VTerm *vt, int is_utf8)
INTERNAL void vterm_push_output_bytes(VTerm *vt, const char *bytes, size_t len)
INTERNAL void vterm_push_output_vsprintf(VTerm *vt, const char *format, va_list args)
INTERNAL void vterm_push_output_sprintf(VTerm *vt, const char *format, ...)
INTERNAL void vterm_push_output_sprintf_ctrl(VTerm *vt, unsigned char ctrl, const char *fmt, ...)
INTERNAL void vterm_push_output_sprintf_dcs(VTerm *vt, const char *fmt, ...)
size_t vterm_output_bufferlen(VTerm *vt)
size_t vterm_output_get_buffer_size(const VTerm *vt)
size_t vterm_output_get_buffer_current(const VTerm *vt)
size_t vterm_output_get_buffer_remaining(const VTerm *vt)
size_t vterm_output_bufferread(VTerm *vt, char *buffer, size_t len)
VTerm *vterm_new(int rows, int cols)
VTerm *vterm_new_with_allocator(int rows, int cols, VTermAllocatorFunctions *funcs, void *allocdata)
VTerm *vt = (*funcs->malloc)(sizeof(VTerm), allocdata);
void vterm_free(VTerm *vt)
INTERNAL void *vterm_allocator_malloc(VTerm *vt, size_t size)
INTERNAL void vterm_allocator_free(VTerm *vt, void *ptr)
void vterm_get_size(const VTerm *vt, int *rowsp, int *colsp)
void vterm_set_size(VTerm *vt, int rows, int cols)
void *vterm_allocator_malloc(VTerm *vt, size_t size);
void vterm_allocator_free(VTerm *vt, void *ptr);
void vterm_push_output_bytes(VTerm *vt, const char *bytes, size_t len);
void vterm_push_output_vsprintf(VTerm *vt, const char *format, va_list args);
void vterm_push_output_sprintf(VTerm *vt, const char *format, ...);
void vterm_push_output_sprintf_ctrl(VTerm *vt, unsigned char ctrl, const char *fmt, ...);
void vterm_push_output_sprintf_dcs(VTerm *vt, const char *fmt, ...);
VTerm *vt;