LF OS
Hobby operating system for amd64 with high ambitions
Loading...
Searching...
No Matches
vterm-dump.c File Reference

(475a4fe LLVM update: finally on 18.x!)

#include <stdio.h>
#include <string.h>
#include <errno.h>
#include <fcntl.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
#include "vterm.h"
+ Include dependency graph for vterm-dump.c:

Go to the source code of this file.

Macros

#define _XOPEN_SOURCE
 
#define streq(a, b)   (strcmp(a,b)==0)
 

Functions

static int parser_text (const char bytes[], size_t len, void *user)
 
static int parser_control (unsigned char control, void *user)
 
static int parser_escape (const char bytes[], size_t len, void *user)
 
static int parser_csi (const char *leader, const long args[], int argcount, const char *intermed, char command, void *user)
 
static int parser_osc (int command, VTermStringFragment frag, void *user)
 
static int parser_dcs (const char *command, size_t commandlen, VTermStringFragment frag, void *user)
 
int main (int argc, char *argv[])
 

Variables

static const char * special_begin = "{"
 
static const char * special_end = "}"
 
static const char * name_c0 []
 
static const char * name_c1 []
 
static const char * name_csi_plain []
 
static const int newline_csi_plain []
 
static VTermParserCallbacks parser_cbs
 

Macro Definition Documentation

◆ _XOPEN_SOURCE

#define _XOPEN_SOURCE

Definition at line 2 of file vterm-dump.c.

◆ streq

#define streq (   a,
 
)    (strcmp(a,b)==0)

Definition at line 6 of file vterm-dump.c.

Function Documentation

◆ main()

int main ( int  argc,
char *  argv[] 
)

Definition at line 198 of file vterm-dump.c.

References parser_cbs, read(), special_begin, special_end, streq, vt, vterm_free(), vterm_input_write(), vterm_new(), vterm_parser_set_callbacks(), vterm_parser_set_emit_nul(), and vterm_set_utf8().

+ Here is the call graph for this function:

◆ parser_control()

static int parser_control ( unsigned char  control,
void *  user 
)
static

Definition at line 64 of file vterm-dump.c.

References name_c0, name_c1, special_begin, and special_end.

◆ parser_csi()

static int parser_csi ( const char *  leader,
const long  args[],
int  argcount,
const char *  intermed,
char  command,
void *  user 
)
static

◆ parser_dcs()

static int parser_dcs ( const char *  command,
size_t  commandlen,
VTermStringFragment  frag,
void *  user 
)
static

◆ parser_escape()

static int parser_escape ( const char  bytes[],
size_t  len,
void *  user 
)
static

Definition at line 80 of file vterm-dump.c.

References special_begin, and special_end.

◆ parser_osc()

static int parser_osc ( int  command,
VTermStringFragment  frag,
void *  user 
)
static

◆ parser_text()

static int parser_text ( const char  bytes[],
size_t  len,
void *  user 
)
static

Definition at line 19 of file vterm-dump.c.

Variable Documentation

◆ name_c0

const char* name_c0[]
static
Initial value:
= {
"NUL", "SOH", "STX", "ETX", "EOT", "ENQ", "ACK", "BEL", "BS", "HT", "LF", "VT", "FF", "CR", "LS0", "LS1",
"DLE", "DC1", "DC2", "DC3", "DC4", "NAK", "SYN", "ETB", "CAN", "EM", "SUB", "ESC", "FS", "GS", "RS", "US",
}

Definition at line 55 of file vterm-dump.c.

◆ name_c1

const char* name_c1[]
static
Initial value:
= {
NULL, NULL, "BPH", "NBH", NULL, "NEL", "SSA", "ESA", "HTS", "HTJ", "VTS", "PLD", "PLU", "RI", "SS2", "SS3",
"DCS", "PU1", "PU2", "STS", "CCH", "MW", "SPA", "EPA", "SOS", NULL, "SCI", "CSI", "ST", "OSC", "PM", "APC",
}

Definition at line 59 of file vterm-dump.c.

◆ name_csi_plain

const char* name_csi_plain[]
static
Initial value:
= {
"ICH", "CUU", "CUD", "CUF", "CUB", "CNL", "CPL", "CHA", "CUP", "CHT", "ED", "EL", "IL", "DL", "EF", "EA",
"DCH", "SSE", "CPR", "SU", "SD", "NP", "PP", "CTC", "ECH", "CVT", "CBT", "SRS", "PTX", "SDS", "SIMD",NULL,
"HPA", "HPR", "REP", "DA", "VPA", "VPR", "HVP", "TBC", "SM", "MC", "HPB", "VPB", "RM", "SGR", "DSR", "DAQ",
}

Definition at line 97 of file vterm-dump.c.

◆ newline_csi_plain

const int newline_csi_plain[]
static
Initial value:
= {
0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0,
}

Definition at line 104 of file vterm-dump.c.

◆ parser_cbs

VTermParserCallbacks parser_cbs
static
Initial value:
= {
.text = &parser_text,
.control = &parser_control,
.escape = &parser_escape,
.csi = &parser_csi,
.osc = &parser_osc,
.dcs = &parser_dcs,
}
static int parser_control(unsigned char control, void *user)
Definition vterm-dump.c:64
static int parser_text(const char bytes[], size_t len, void *user)
Definition vterm-dump.c:19
static int parser_osc(int command, VTermStringFragment frag, void *user)
Definition vterm-dump.c:159
static int parser_csi(const char *leader, const long args[], int argcount, const char *intermed, char command, void *user)
Definition vterm-dump.c:110
static int parser_escape(const char bytes[], size_t len, void *user)
Definition vterm-dump.c:80
static int parser_dcs(const char *command, size_t commandlen, VTermStringFragment frag, void *user)
Definition vterm-dump.c:176

Definition at line 189 of file vterm-dump.c.

◆ special_begin

const char* special_begin = "{"
static

Definition at line 16 of file vterm-dump.c.

◆ special_end

const char* special_end = "}"
static

Definition at line 17 of file vterm-dump.c.