tmux  3.2a
About: tmux is a terminal multiplexer that lets you switch easily between several programs in one terminal.
  Fossies Dox: tmux-3.2a.tar.gz  ("unofficial" and yet experimental doxygen-generated source code documentation)  

input.c File Reference
#include <sys/types.h>
#include <netinet/in.h>
#include <ctype.h>
#include <resolv.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
#include "tmux.h"
Include dependency graph for input.c:

Go to the source code of this file.

Data Structures

struct  input_cell
 
struct  input_param
 
struct  input_ctx
 
struct  input_table_entry
 
struct  input_transition
 
struct  input_state
 

Macros

#define INPUT_BUF_START   32
 
#define INPUT_BUF_LIMIT   1048576
 
#define INPUT_DISCARD   0x1
 
#define INPUT_STATE_ANYWHERE
 

Enumerations

enum  input_esc_type {
  INPUT_ESC_DECALN , INPUT_ESC_DECKPAM , INPUT_ESC_DECKPNM , INPUT_ESC_DECRC ,
  INPUT_ESC_DECSC , INPUT_ESC_HTS , INPUT_ESC_IND , INPUT_ESC_NEL ,
  INPUT_ESC_RI , INPUT_ESC_RIS , INPUT_ESC_SCSG0_OFF , INPUT_ESC_SCSG0_ON ,
  INPUT_ESC_SCSG1_OFF , INPUT_ESC_SCSG1_ON , INPUT_ESC_ST
}
 
enum  input_csi_type {
  INPUT_CSI_CBT , INPUT_CSI_CNL , INPUT_CSI_CPL , INPUT_CSI_CUB ,
  INPUT_CSI_CUD , INPUT_CSI_CUF , INPUT_CSI_CUP , INPUT_CSI_CUU ,
  INPUT_CSI_DA , INPUT_CSI_DA_TWO , INPUT_CSI_DCH , INPUT_CSI_DECSCUSR ,
  INPUT_CSI_DECSTBM , INPUT_CSI_DL , INPUT_CSI_DSR , INPUT_CSI_ECH ,
  INPUT_CSI_ED , INPUT_CSI_EL , INPUT_CSI_HPA , INPUT_CSI_ICH ,
  INPUT_CSI_IL , INPUT_CSI_MODOFF , INPUT_CSI_MODSET , INPUT_CSI_RCP ,
  INPUT_CSI_REP , INPUT_CSI_RM , INPUT_CSI_RM_PRIVATE , INPUT_CSI_SCP ,
  INPUT_CSI_SD , INPUT_CSI_SGR , INPUT_CSI_SM , INPUT_CSI_SM_PRIVATE ,
  INPUT_CSI_SU , INPUT_CSI_TBC , INPUT_CSI_VPA , INPUT_CSI_WINOPS ,
  INPUT_CSI_XDA
}
 

Functions

static int input_split (struct input_ctx *)
 
static int input_get (struct input_ctx *, u_int, int, int)
 
static void input_reply (struct input_ctx *, const char *,...)
 
static void input_set_state (struct input_ctx *, const struct input_transition *)
 
static void input_reset_cell (struct input_ctx *)
 
static void input_osc_4 (struct input_ctx *, const char *)
 
static void input_osc_10 (struct input_ctx *, const char *)
 
static void input_osc_11 (struct input_ctx *, const char *)
 
static void input_osc_52 (struct input_ctx *, const char *)
 
static void input_osc_104 (struct input_ctx *, const char *)
 
static void input_osc_110 (struct input_ctx *, const char *)
 
static void input_osc_111 (struct input_ctx *, const char *)
 
static void input_clear (struct input_ctx *)
 
static void input_ground (struct input_ctx *)
 
static void input_enter_dcs (struct input_ctx *)
 
static void input_enter_osc (struct input_ctx *)
 
static void input_exit_osc (struct input_ctx *)
 
static void input_enter_apc (struct input_ctx *)
 
static void input_exit_apc (struct input_ctx *)
 
static void input_enter_rename (struct input_ctx *)
 
static void input_exit_rename (struct input_ctx *)
 
static int input_print (struct input_ctx *)
 
static int input_intermediate (struct input_ctx *)
 
static int input_parameter (struct input_ctx *)
 
static int input_input (struct input_ctx *)
 
static int input_c0_dispatch (struct input_ctx *)
 
static int input_esc_dispatch (struct input_ctx *)
 
static int input_csi_dispatch (struct input_ctx *)
 
static void input_csi_dispatch_rm (struct input_ctx *)
 
static void input_csi_dispatch_rm_private (struct input_ctx *)
 
static void input_csi_dispatch_sm (struct input_ctx *)
 
static void input_csi_dispatch_sm_private (struct input_ctx *)
 
static void input_csi_dispatch_winops (struct input_ctx *)
 
static void input_csi_dispatch_sgr_256 (struct input_ctx *, int, u_int *)
 
static void input_csi_dispatch_sgr_rgb (struct input_ctx *, int, u_int *)
 
static void input_csi_dispatch_sgr (struct input_ctx *)
 
static int input_dcs_dispatch (struct input_ctx *)
 
static int input_top_bit_set (struct input_ctx *)
 
static int input_end_bel (struct input_ctx *)
 
static int input_table_compare (const void *, const void *)
 
static void input_timer_callback (int fd, short events, void *arg)
 
static void input_start_timer (struct input_ctx *ictx)
 
static void input_save_state (struct input_ctx *ictx)
 
static void input_restore_state (struct input_ctx *ictx)
 
struct input_ctxinput_init (struct window_pane *wp, struct bufferevent *bev)
 
void input_free (struct input_ctx *ictx)
 
void input_reset (struct input_ctx *ictx, int clear)
 
struct evbuffer * input_pending (struct input_ctx *ictx)
 
static void input_parse (struct input_ctx *ictx, u_char *buf, size_t len)
 
void input_parse_pane (struct window_pane *wp)
 
void input_parse_buffer (struct window_pane *wp, u_char *buf, size_t len)
 
void input_parse_screen (struct input_ctx *ictx, struct screen *s, screen_write_init_ctx_cb cb, void *arg, u_char *buf, size_t len)
 
static int input_csi_dispatch_sgr_256_do (struct input_ctx *ictx, int fgbg, int c)
 
static int input_csi_dispatch_sgr_rgb_do (struct input_ctx *ictx, int fgbg, int r, int g, int b)
 
static void input_csi_dispatch_sgr_colon (struct input_ctx *ictx, u_int i)
 
static int input_osc_parse_colour (const char *p)
 
static void input_osc_colour_reply (struct input_ctx *ictx, u_int n, int c)
 

Variables

static const struct input_table_entry input_esc_table []
 
static const struct input_table_entry input_csi_table []
 
static const struct input_transition input_state_ground_table []
 
static const struct input_transition input_state_esc_enter_table []
 
static const struct input_transition input_state_esc_intermediate_table []
 
static const struct input_transition input_state_csi_enter_table []
 
static const struct input_transition input_state_csi_parameter_table []
 
static const struct input_transition input_state_csi_intermediate_table []
 
static const struct input_transition input_state_csi_ignore_table []
 
static const struct input_transition input_state_dcs_enter_table []
 
static const struct input_transition input_state_dcs_parameter_table []
 
static const struct input_transition input_state_dcs_intermediate_table []
 
static const struct input_transition input_state_dcs_handler_table []
 
static const struct input_transition input_state_dcs_escape_table []
 
static const struct input_transition input_state_dcs_ignore_table []
 
static const struct input_transition input_state_osc_string_table []
 
static const struct input_transition input_state_apc_string_table []
 
static const struct input_transition input_state_rename_string_table []
 
static const struct input_transition input_state_consume_st_table []
 
static const struct input_state input_state_ground
 
static const struct input_state input_state_esc_enter
 
static const struct input_state input_state_esc_intermediate
 
static const struct input_state input_state_csi_enter
 
static const struct input_state input_state_csi_parameter
 
static const struct input_state input_state_csi_intermediate
 
static const struct input_state input_state_csi_ignore
 
static const struct input_state input_state_dcs_enter
 
static const struct input_state input_state_dcs_parameter
 
static const struct input_state input_state_dcs_intermediate
 
static const struct input_state input_state_dcs_handler
 
static const struct input_state input_state_dcs_escape
 
static const struct input_state input_state_dcs_ignore
 
static const struct input_state input_state_osc_string
 
static const struct input_state input_state_apc_string
 
static const struct input_state input_state_rename_string
 
static const struct input_state input_state_consume_st
 

Macro Definition Documentation

◆ INPUT_BUF_LIMIT

#define INPUT_BUF_LIMIT   1048576

Definition at line 95 of file input.c.

◆ INPUT_BUF_START

#define INPUT_BUF_START   32

Definition at line 94 of file input.c.

◆ INPUT_DISCARD

#define INPUT_DISCARD   0x1

Definition at line 114 of file input.c.

◆ INPUT_STATE_ANYWHERE

#define INPUT_STATE_ANYWHERE
Value:
{ 0x1b, 0x1b, NULL, &input_state_esc_enter }
static const struct input_state input_state_esc_enter
Definition: input.c:357
static const struct input_state input_state_ground
Definition: input.c:350
static int input_c0_dispatch(struct input_ctx *)
Definition: input.c:1193

Definition at line 325 of file input.c.

Enumeration Type Documentation

◆ input_csi_type

Enumerator
INPUT_CSI_CBT 
INPUT_CSI_CNL 
INPUT_CSI_CPL 
INPUT_CSI_CUB 
INPUT_CSI_CUD 
INPUT_CSI_CUF 
INPUT_CSI_CUP 
INPUT_CSI_CUU 
INPUT_CSI_DA 
INPUT_CSI_DA_TWO 
INPUT_CSI_DCH 
INPUT_CSI_DECSCUSR 
INPUT_CSI_DECSTBM 
INPUT_CSI_DL 
INPUT_CSI_DSR 
INPUT_CSI_ECH 
INPUT_CSI_ED 
INPUT_CSI_EL 
INPUT_CSI_HPA 
INPUT_CSI_ICH 
INPUT_CSI_IL 
INPUT_CSI_MODOFF 
INPUT_CSI_MODSET 
INPUT_CSI_RCP 
INPUT_CSI_REP 
INPUT_CSI_RM 
INPUT_CSI_RM_PRIVATE 
INPUT_CSI_SCP 
INPUT_CSI_SD 
INPUT_CSI_SGR 
INPUT_CSI_SM 
INPUT_CSI_SM_PRIVATE 
INPUT_CSI_SU 
INPUT_CSI_TBC 
INPUT_CSI_VPA 
INPUT_CSI_WINOPS 
INPUT_CSI_XDA 

Definition at line 224 of file input.c.

◆ input_esc_type

Enumerator
INPUT_ESC_DECALN 
INPUT_ESC_DECKPAM 
INPUT_ESC_DECKPNM 
INPUT_ESC_DECRC 
INPUT_ESC_DECSC 
INPUT_ESC_HTS 
INPUT_ESC_IND 
INPUT_ESC_NEL 
INPUT_ESC_RI 
INPUT_ESC_RIS 
INPUT_ESC_SCSG0_OFF 
INPUT_ESC_SCSG0_ON 
INPUT_ESC_SCSG1_OFF 
INPUT_ESC_SCSG1_ON 
INPUT_ESC_ST 

Definition at line 186 of file input.c.

Function Documentation

◆ input_c0_dispatch()

◆ input_clear()

◆ input_csi_dispatch()

static int input_csi_dispatch ( struct input_ctx ictx)
static

Definition at line 1329 of file input.c.

References grid_cell::bg, input_ctx::cell, input_cell::cell, input_ctx::ch, input_ctx::ctx, screen::cx, screen::cy, input_ctx::flags, getversion(), global_options, INPUT_CSI_CBT, INPUT_CSI_CNL, INPUT_CSI_CPL, INPUT_CSI_CUB, INPUT_CSI_CUD, INPUT_CSI_CUF, INPUT_CSI_CUP, INPUT_CSI_CUU, INPUT_CSI_DA, INPUT_CSI_DA_TWO, INPUT_CSI_DCH, INPUT_CSI_DECSCUSR, INPUT_CSI_DECSTBM, input_csi_dispatch_rm(), input_csi_dispatch_rm_private(), input_csi_dispatch_sgr(), input_csi_dispatch_sm(), input_csi_dispatch_sm_private(), input_csi_dispatch_winops(), INPUT_CSI_DL, INPUT_CSI_DSR, INPUT_CSI_ECH, INPUT_CSI_ED, INPUT_CSI_EL, INPUT_CSI_HPA, INPUT_CSI_ICH, INPUT_CSI_IL, INPUT_CSI_MODOFF, INPUT_CSI_MODSET, INPUT_CSI_RCP, INPUT_CSI_REP, INPUT_CSI_RM, INPUT_CSI_RM_PRIVATE, INPUT_CSI_SCP, INPUT_CSI_SD, INPUT_CSI_SGR, INPUT_CSI_SM, INPUT_CSI_SM_PRIVATE, INPUT_CSI_SU, input_csi_table, INPUT_CSI_TBC, INPUT_CSI_VPA, INPUT_CSI_WINOPS, INPUT_CSI_XDA, INPUT_DISCARD, input_get(), input_print(), input_reply(), input_restore_state(), input_save_state(), input_split(), input_table_compare(), input_ctx::interm_buf, input_ctx::last, log_debug(), MODE_KEXTENDED, nitems, options_get_number(), input_ctx::param_buf, screen_write_ctx::s, screen_set_cursor_style(), screen_size_x, screen_size_y, screen_write_carriagereturn(), screen_write_clearcharacter(), screen_write_clearendofline(), screen_write_clearendofscreen(), screen_write_clearhistory(), screen_write_clearline(), screen_write_clearscreen(), screen_write_clearstartofline(), screen_write_clearstartofscreen(), screen_write_cursordown(), screen_write_cursorleft(), screen_write_cursormove(), screen_write_cursorright(), screen_write_cursorup(), screen_write_deletecharacter(), screen_write_deleteline(), screen_write_insertcharacter(), screen_write_insertline(), screen_write_mode_clear(), screen_write_mode_set(), screen_write_scrolldown(), screen_write_scrollregion(), screen_write_scrollup(), screen::tabs, and input_table_entry::type.

◆ input_csi_dispatch_rm()

static void input_csi_dispatch_rm ( struct input_ctx ictx)
static

◆ input_csi_dispatch_rm_private()

◆ input_csi_dispatch_sgr()

◆ input_csi_dispatch_sgr_256()

static void input_csi_dispatch_sgr_256 ( struct input_ctx ictx,
int  fgbg,
u_int *  i 
)
static

Definition at line 1920 of file input.c.

References input_csi_dispatch_sgr_256_do(), and input_get().

Referenced by input_csi_dispatch_sgr().

◆ input_csi_dispatch_sgr_256_do()

static int input_csi_dispatch_sgr_256_do ( struct input_ctx ictx,
int  fgbg,
int  c 
)
static

◆ input_csi_dispatch_sgr_colon()

◆ input_csi_dispatch_sgr_rgb()

static void input_csi_dispatch_sgr_rgb ( struct input_ctx ictx,
int  fgbg,
u_int *  i 
)
static

Definition at line 1954 of file input.c.

References input_csi_dispatch_sgr_rgb_do(), and input_get().

Referenced by input_csi_dispatch_sgr().

◆ input_csi_dispatch_sgr_rgb_do()

static int input_csi_dispatch_sgr_rgb_do ( struct input_ctx ictx,
int  fgbg,
int  r,
int  g,
int  b 
)
static

◆ input_csi_dispatch_sm()

static void input_csi_dispatch_sm ( struct input_ctx ictx)
static

◆ input_csi_dispatch_sm_private()

◆ input_csi_dispatch_winops()

◆ input_dcs_dispatch()

static int input_dcs_dispatch ( struct input_ctx ictx)
static

◆ input_end_bel()

static int input_end_bel ( struct input_ctx ictx)
static

Definition at line 2204 of file input.c.

References input_ctx::input_end, and log_debug().

◆ input_enter_apc()

static void input_enter_apc ( struct input_ctx ictx)
static

◆ input_enter_dcs()

static void input_enter_dcs ( struct input_ctx ictx)
static

Definition at line 2215 of file input.c.

References input_clear(), input_start_timer(), input_ctx::last, and log_debug().

◆ input_enter_osc()

static void input_enter_osc ( struct input_ctx ictx)
static

Definition at line 2247 of file input.c.

References input_clear(), input_start_timer(), input_ctx::last, and log_debug().

◆ input_enter_rename()

static void input_enter_rename ( struct input_ctx ictx)
static

◆ input_esc_dispatch()

◆ input_exit_apc()

◆ input_exit_osc()

◆ input_exit_rename()

◆ input_free()

◆ input_get()

◆ input_ground()

static void input_ground ( struct input_ctx ictx)
static

◆ input_init()

◆ input_input()

static int input_input ( struct input_ctx ictx)
static

◆ input_intermediate()

static int input_intermediate ( struct input_ctx ictx)
static

◆ input_osc_10()

static void input_osc_10 ( struct input_ctx ictx,
const char *  p 
)
static

◆ input_osc_104()

static void input_osc_104 ( struct input_ctx ictx,
const char *  p 
)
static

Definition at line 2693 of file input.c.

Referenced by input_exit_osc().

◆ input_osc_11()

static void input_osc_11 ( struct input_ctx ictx,
const char *  p 
)
static

◆ input_osc_110()

static void input_osc_110 ( struct input_ctx ictx,
const char *  p 
)
static

◆ input_osc_111()

static void input_osc_111 ( struct input_ctx ictx,
const char *  p 
)
static

◆ input_osc_4()

static void input_osc_4 ( struct input_ctx ictx,
const char *  p 
)
static

◆ input_osc_52()

◆ input_osc_colour_reply()

static void input_osc_colour_reply ( struct input_ctx ictx,
u_int  n,
int  c 
)
static

Definition at line 2481 of file input.c.

References COLOUR_FLAG_RGB, colour_split_rgb(), input_ctx::input_end, and input_reply().

Referenced by input_osc_10(), and input_osc_11().

◆ input_osc_parse_colour()

static int input_osc_parse_colour ( const char *  p)
static

◆ input_parameter()

static int input_parameter ( struct input_ctx ictx)
static

◆ input_parse()

◆ input_parse_buffer()

◆ input_parse_pane()

void input_parse_pane ( struct window_pane wp)

◆ input_parse_screen()

void input_parse_screen ( struct input_ctx ictx,
struct screen s,
screen_write_init_ctx_cb  cb,
void *  arg,
u_char *  buf,
size_t  len 
)

◆ input_pending()

struct evbuffer* input_pending ( struct input_ctx ictx)

Definition at line 868 of file input.c.

References input_ctx::since_ground.

Referenced by cmd_capture_pane_pending().

◆ input_print()

◆ input_reply()

static void input_reply ( struct input_ctx ictx,
const char *  fmt,
  ... 
)
static

Definition at line 1070 of file input.c.

References input_ctx::event, and xvasprintf().

Referenced by input_csi_dispatch(), input_csi_dispatch_winops(), and input_osc_colour_reply().

◆ input_reset()

◆ input_reset_cell()

static void input_reset_cell ( struct input_ctx ictx)
static

◆ input_restore_state()

◆ input_save_state()

static void input_save_state ( struct input_ctx ictx)
static

◆ input_set_state()

static void input_set_state ( struct input_ctx ictx,
const struct input_transition itr 
)
static

Definition at line 875 of file input.c.

References input_state::enter, input_state::exit, input_ctx::state, and input_transition::state.

Referenced by input_parse().

◆ input_split()

◆ input_start_timer()

static void input_start_timer ( struct input_ctx ictx)
static

Definition at line 750 of file input.c.

References input_ctx::timer.

Referenced by input_enter_apc(), input_enter_dcs(), input_enter_osc(), and input_enter_rename().

◆ input_table_compare()

static int input_table_compare ( const void *  key,
const void *  value 
)
static

◆ input_timer_callback()

static void input_timer_callback ( int  fd,
short  events,
void *  arg 
)
static

Definition at line 740 of file input.c.

References input_reset(), log_debug(), input_state::name, and input_ctx::state.

Referenced by input_init().

◆ input_top_bit_set()

Variable Documentation

◆ input_csi_table

const struct input_table_entry input_csi_table[]
static

Definition at line 176 of file input.c.

Referenced by input_csi_dispatch().

◆ input_esc_table

const struct input_table_entry input_esc_table[]
static
Initial value:
= {
{ '0', "(", INPUT_ESC_SCSG0_ON },
{ '0', ")", INPUT_ESC_SCSG1_ON },
{ '7', "", INPUT_ESC_DECSC },
{ '8', "", INPUT_ESC_DECRC },
{ '8', "#", INPUT_ESC_DECALN },
{ '=', "", INPUT_ESC_DECKPAM },
{ '>', "", INPUT_ESC_DECKPNM },
{ 'B', "(", INPUT_ESC_SCSG0_OFF },
{ 'B', ")", INPUT_ESC_SCSG1_OFF },
{ 'D', "", INPUT_ESC_IND },
{ 'E', "", INPUT_ESC_NEL },
{ 'H', "", INPUT_ESC_HTS },
{ 'M', "", INPUT_ESC_RI },
{ '\\', "", INPUT_ESC_ST },
{ 'c', "", INPUT_ESC_RIS },
}
@ INPUT_ESC_HTS
Definition: input.c:192
@ INPUT_ESC_DECSC
Definition: input.c:191
@ INPUT_ESC_RI
Definition: input.c:195
@ INPUT_ESC_DECKPAM
Definition: input.c:188
@ INPUT_ESC_ST
Definition: input.c:201
@ INPUT_ESC_SCSG0_ON
Definition: input.c:198
@ INPUT_ESC_SCSG1_ON
Definition: input.c:200
@ INPUT_ESC_DECRC
Definition: input.c:190
@ INPUT_ESC_SCSG0_OFF
Definition: input.c:197
@ INPUT_ESC_IND
Definition: input.c:193
@ INPUT_ESC_DECALN
Definition: input.c:187
@ INPUT_ESC_SCSG1_OFF
Definition: input.c:199
@ INPUT_ESC_RIS
Definition: input.c:196
@ INPUT_ESC_DECKPNM
Definition: input.c:189
@ INPUT_ESC_NEL
Definition: input.c:194

Definition at line 176 of file input.c.

Referenced by input_esc_dispatch().

◆ input_state_apc_string

const struct input_state input_state_apc_string
static
Initial value:
= {
"apc_string",
}
static const struct input_transition input_state_apc_string_table[]
Definition: input.c:345
static void input_enter_apc(struct input_ctx *)
Definition: input.c:2334
static void input_exit_apc(struct input_ctx *)
Definition: input.c:2345

Definition at line 176 of file input.c.

◆ input_state_apc_string_table

static const struct input_transition input_state_apc_string_table
static
Initial value:
= {
{ 0x18, 0x18, input_c0_dispatch, &input_state_ground }, { 0x1a, 0x1a, input_c0_dispatch, &input_state_ground }, { 0x1b, 0x1b, NULL, &input_state_esc_enter } ,
{ 0x00, 0x17, NULL, NULL },
{ 0x19, 0x19, NULL, NULL },
{ 0x1c, 0x1f, NULL, NULL },
{ 0x20, 0xff, input_input, NULL },
{ -1, -1, NULL, NULL }
}
static int input_input(struct input_ctx *)
Definition: input.c:1171

Definition at line 176 of file input.c.

◆ input_state_consume_st

const struct input_state input_state_consume_st
static
Initial value:
= {
"consume_st",
}
static void input_enter_rename(struct input_ctx *)
Definition: input.c:2363
static const struct input_transition input_state_consume_st_table[]
Definition: input.c:347

Definition at line 176 of file input.c.

◆ input_state_consume_st_table

static const struct input_transition input_state_consume_st_table
static
Initial value:
= {
{ 0x18, 0x18, input_c0_dispatch, &input_state_ground }, { 0x1a, 0x1a, input_c0_dispatch, &input_state_ground }, { 0x1b, 0x1b, NULL, &input_state_esc_enter } ,
{ 0x00, 0x17, NULL, NULL },
{ 0x19, 0x19, NULL, NULL },
{ 0x1c, 0x1f, NULL, NULL },
{ 0x20, 0xff, NULL, NULL },
{ -1, -1, NULL, NULL }
}

Definition at line 176 of file input.c.

◆ input_state_csi_enter

const struct input_state input_state_csi_enter
static
Initial value:
= {
"csi_enter",
input_clear, NULL,
}
static void input_clear(struct input_ctx *)
Definition: input.c:1086
static const struct input_transition input_state_csi_enter_table[]
Definition: input.c:334

Definition at line 176 of file input.c.

◆ input_state_csi_enter_table

static const struct input_transition input_state_csi_enter_table
static
Initial value:
= {
{ 0x18, 0x18, input_c0_dispatch, &input_state_ground }, { 0x1a, 0x1a, input_c0_dispatch, &input_state_ground }, { 0x1b, 0x1b, NULL, &input_state_esc_enter } ,
{ 0x00, 0x17, input_c0_dispatch, NULL },
{ 0x19, 0x19, input_c0_dispatch, NULL },
{ 0x1c, 0x1f, input_c0_dispatch, NULL },
{ 0x7f, 0xff, NULL, NULL },
{ -1, -1, NULL, NULL }
}
static int input_parameter(struct input_ctx *)
Definition: input.c:1157
static int input_csi_dispatch(struct input_ctx *)
Definition: input.c:1329
static const struct input_state input_state_csi_parameter
Definition: input.c:378
static int input_intermediate(struct input_ctx *)
Definition: input.c:1143
static const struct input_state input_state_csi_intermediate
Definition: input.c:385

Definition at line 176 of file input.c.

◆ input_state_csi_ignore

const struct input_state input_state_csi_ignore
static
Initial value:
= {
"csi_ignore",
NULL, NULL,
}
static const struct input_transition input_state_csi_ignore_table[]
Definition: input.c:337

Definition at line 176 of file input.c.

◆ input_state_csi_ignore_table

static const struct input_transition input_state_csi_ignore_table
static
Initial value:
= {
{ 0x18, 0x18, input_c0_dispatch, &input_state_ground }, { 0x1a, 0x1a, input_c0_dispatch, &input_state_ground }, { 0x1b, 0x1b, NULL, &input_state_esc_enter } ,
{ 0x00, 0x17, input_c0_dispatch, NULL },
{ 0x19, 0x19, input_c0_dispatch, NULL },
{ 0x1c, 0x1f, input_c0_dispatch, NULL },
{ 0x20, 0x3f, NULL, NULL },
{ 0x40, 0x7e, NULL, &input_state_ground },
{ 0x7f, 0xff, NULL, NULL },
{ -1, -1, NULL, NULL }
}

Definition at line 176 of file input.c.

◆ input_state_csi_intermediate

const struct input_state input_state_csi_intermediate
static
Initial value:
= {
"csi_intermediate",
NULL, NULL,
}
static const struct input_transition input_state_csi_intermediate_table[]
Definition: input.c:336

Definition at line 176 of file input.c.

◆ input_state_csi_intermediate_table

static const struct input_transition input_state_csi_intermediate_table
static
Initial value:
= {
{ 0x18, 0x18, input_c0_dispatch, &input_state_ground }, { 0x1a, 0x1a, input_c0_dispatch, &input_state_ground }, { 0x1b, 0x1b, NULL, &input_state_esc_enter } ,
{ 0x00, 0x17, input_c0_dispatch, NULL },
{ 0x19, 0x19, input_c0_dispatch, NULL },
{ 0x1c, 0x1f, input_c0_dispatch, NULL },
{ 0x20, 0x2f, input_intermediate, NULL },
{ 0x30, 0x3f, NULL, &input_state_csi_ignore },
{ 0x7f, 0xff, NULL, NULL },
{ -1, -1, NULL, NULL }
}
static const struct input_state input_state_csi_ignore
Definition: input.c:392

Definition at line 176 of file input.c.

◆ input_state_csi_parameter

const struct input_state input_state_csi_parameter
static
Initial value:
= {
"csi_parameter",
NULL, NULL,
}
static const struct input_transition input_state_csi_parameter_table[]
Definition: input.c:335

Definition at line 176 of file input.c.

◆ input_state_csi_parameter_table

static const struct input_transition input_state_csi_parameter_table
static
Initial value:
= {
{ 0x18, 0x18, input_c0_dispatch, &input_state_ground }, { 0x1a, 0x1a, input_c0_dispatch, &input_state_ground }, { 0x1b, 0x1b, NULL, &input_state_esc_enter } ,
{ 0x00, 0x17, input_c0_dispatch, NULL },
{ 0x19, 0x19, input_c0_dispatch, NULL },
{ 0x1c, 0x1f, input_c0_dispatch, NULL },
{ 0x30, 0x39, input_parameter, NULL },
{ 0x3a, 0x3a, input_parameter, NULL },
{ 0x3b, 0x3b, input_parameter, NULL },
{ 0x3c, 0x3f, NULL, &input_state_csi_ignore },
{ 0x7f, 0xff, NULL, NULL },
{ -1, -1, NULL, NULL }
}

Definition at line 176 of file input.c.

◆ input_state_dcs_enter

const struct input_state input_state_dcs_enter
static
Initial value:
= {
"dcs_enter",
}
static const struct input_transition input_state_dcs_enter_table[]
Definition: input.c:338
static void input_enter_dcs(struct input_ctx *)
Definition: input.c:2215

Definition at line 176 of file input.c.

◆ input_state_dcs_enter_table

static const struct input_transition input_state_dcs_enter_table
static
Initial value:
= {
{ 0x18, 0x18, input_c0_dispatch, &input_state_ground }, { 0x1a, 0x1a, input_c0_dispatch, &input_state_ground }, { 0x1b, 0x1b, NULL, &input_state_esc_enter } ,
{ 0x00, 0x17, NULL, NULL },
{ 0x19, 0x19, NULL, NULL },
{ 0x1c, 0x1f, NULL, NULL },
{ 0x3a, 0x3a, NULL, &input_state_dcs_ignore },
{ 0x7f, 0xff, NULL, NULL },
{ -1, -1, NULL, NULL }
}
static const struct input_state input_state_dcs_handler
Definition: input.c:420
static const struct input_state input_state_dcs_parameter
Definition: input.c:406
static const struct input_state input_state_dcs_intermediate
Definition: input.c:413
static const struct input_state input_state_dcs_ignore
Definition: input.c:434

Definition at line 176 of file input.c.

◆ input_state_dcs_escape

const struct input_state input_state_dcs_escape
static
Initial value:
= {
"dcs_escape",
NULL, NULL,
}
static const struct input_transition input_state_dcs_escape_table[]
Definition: input.c:342

Definition at line 176 of file input.c.

◆ input_state_dcs_escape_table

static const struct input_transition input_state_dcs_escape_table
static
Initial value:
= {
{ -1, -1, NULL, NULL }
}
static int input_dcs_dispatch(struct input_ctx *)
Definition: input.c:2226

Definition at line 176 of file input.c.

◆ input_state_dcs_handler

const struct input_state input_state_dcs_handler
static
Initial value:
= {
"dcs_handler",
NULL, NULL,
}
static const struct input_transition input_state_dcs_handler_table[]
Definition: input.c:341

Definition at line 176 of file input.c.

◆ input_state_dcs_handler_table

static const struct input_transition input_state_dcs_handler_table
static
Initial value:
= {
{ 0x00, 0x1a, input_input, NULL },
{ 0x1b, 0x1b, NULL, &input_state_dcs_escape },
{ 0x1c, 0xff, input_input, NULL },
{ -1, -1, NULL, NULL }
}
static const struct input_state input_state_dcs_escape
Definition: input.c:427

Definition at line 176 of file input.c.

◆ input_state_dcs_ignore

const struct input_state input_state_dcs_ignore
static
Initial value:
= {
"dcs_ignore",
NULL, NULL,
}
static const struct input_transition input_state_dcs_ignore_table[]
Definition: input.c:343

Definition at line 176 of file input.c.

◆ input_state_dcs_ignore_table

static const struct input_transition input_state_dcs_ignore_table
static
Initial value:
= {
{ 0x18, 0x18, input_c0_dispatch, &input_state_ground }, { 0x1a, 0x1a, input_c0_dispatch, &input_state_ground }, { 0x1b, 0x1b, NULL, &input_state_esc_enter } ,
{ 0x00, 0x17, NULL, NULL },
{ 0x19, 0x19, NULL, NULL },
{ 0x1c, 0x1f, NULL, NULL },
{ 0x20, 0xff, NULL, NULL },
{ -1, -1, NULL, NULL }
}

Definition at line 176 of file input.c.

◆ input_state_dcs_intermediate

const struct input_state input_state_dcs_intermediate
static
Initial value:
= {
"dcs_intermediate",
NULL, NULL,
}
static const struct input_transition input_state_dcs_intermediate_table[]
Definition: input.c:340

Definition at line 176 of file input.c.

◆ input_state_dcs_intermediate_table

static const struct input_transition input_state_dcs_intermediate_table
static
Initial value:
= {
{ 0x18, 0x18, input_c0_dispatch, &input_state_ground }, { 0x1a, 0x1a, input_c0_dispatch, &input_state_ground }, { 0x1b, 0x1b, NULL, &input_state_esc_enter } ,
{ 0x00, 0x17, NULL, NULL },
{ 0x19, 0x19, NULL, NULL },
{ 0x1c, 0x1f, NULL, NULL },
{ 0x20, 0x2f, input_intermediate, NULL },
{ 0x30, 0x3f, NULL, &input_state_dcs_ignore },
{ 0x7f, 0xff, NULL, NULL },
{ -1, -1, NULL, NULL }
}

Definition at line 176 of file input.c.

◆ input_state_dcs_parameter

const struct input_state input_state_dcs_parameter
static
Initial value:
= {
"dcs_parameter",
NULL, NULL,
}
static const struct input_transition input_state_dcs_parameter_table[]
Definition: input.c:339

Definition at line 176 of file input.c.

◆ input_state_dcs_parameter_table

static const struct input_transition input_state_dcs_parameter_table
static
Initial value:
= {
{ 0x18, 0x18, input_c0_dispatch, &input_state_ground }, { 0x1a, 0x1a, input_c0_dispatch, &input_state_ground }, { 0x1b, 0x1b, NULL, &input_state_esc_enter } ,
{ 0x00, 0x17, NULL, NULL },
{ 0x19, 0x19, NULL, NULL },
{ 0x1c, 0x1f, NULL, NULL },
{ 0x30, 0x39, input_parameter, NULL },
{ 0x3a, 0x3a, NULL, &input_state_dcs_ignore },
{ 0x3b, 0x3b, input_parameter, NULL },
{ 0x3c, 0x3f, NULL, &input_state_dcs_ignore },
{ 0x7f, 0xff, NULL, NULL },
{ -1, -1, NULL, NULL }
}

Definition at line 176 of file input.c.

◆ input_state_esc_enter

const struct input_state input_state_esc_enter
static
Initial value:
= {
"esc_enter",
input_clear, NULL,
}
static const struct input_transition input_state_esc_enter_table[]
Definition: input.c:332

Definition at line 176 of file input.c.

◆ input_state_esc_enter_table

static const struct input_transition input_state_esc_enter_table
static
Initial value:
= {
{ 0x18, 0x18, input_c0_dispatch, &input_state_ground }, { 0x1a, 0x1a, input_c0_dispatch, &input_state_ground }, { 0x1b, 0x1b, NULL, &input_state_esc_enter } ,
{ 0x00, 0x17, input_c0_dispatch, NULL },
{ 0x19, 0x19, input_c0_dispatch, NULL },
{ 0x1c, 0x1f, input_c0_dispatch, NULL },
{ 0x50, 0x50, NULL, &input_state_dcs_enter },
{ 0x58, 0x58, NULL, &input_state_consume_st },
{ 0x5b, 0x5b, NULL, &input_state_csi_enter },
{ 0x5d, 0x5d, NULL, &input_state_osc_string },
{ 0x5e, 0x5e, NULL, &input_state_consume_st },
{ 0x5f, 0x5f, NULL, &input_state_apc_string },
{ 0x6b, 0x6b, NULL, &input_state_rename_string },
{ 0x7f, 0xff, NULL, NULL },
{ -1, -1, NULL, NULL }
}
static const struct input_state input_state_consume_st
Definition: input.c:462
static const struct input_state input_state_dcs_enter
Definition: input.c:399
static const struct input_state input_state_osc_string
Definition: input.c:441
static const struct input_state input_state_csi_enter
Definition: input.c:371
static const struct input_state input_state_rename_string
Definition: input.c:455
static const struct input_state input_state_esc_intermediate
Definition: input.c:364
static int input_esc_dispatch(struct input_ctx *)
Definition: input.c:1252
static const struct input_state input_state_apc_string
Definition: input.c:448

Definition at line 176 of file input.c.

◆ input_state_esc_intermediate

const struct input_state input_state_esc_intermediate
static
Initial value:
= {
"esc_intermediate",
NULL, NULL,
}
static const struct input_transition input_state_esc_intermediate_table[]
Definition: input.c:333

Definition at line 176 of file input.c.

◆ input_state_esc_intermediate_table

static const struct input_transition input_state_esc_intermediate_table
static
Initial value:
= {
{ 0x18, 0x18, input_c0_dispatch, &input_state_ground }, { 0x1a, 0x1a, input_c0_dispatch, &input_state_ground }, { 0x1b, 0x1b, NULL, &input_state_esc_enter } ,
{ 0x00, 0x17, input_c0_dispatch, NULL },
{ 0x19, 0x19, input_c0_dispatch, NULL },
{ 0x1c, 0x1f, input_c0_dispatch, NULL },
{ 0x20, 0x2f, input_intermediate, NULL },
{ 0x7f, 0xff, NULL, NULL },
{ -1, -1, NULL, NULL }
}

Definition at line 176 of file input.c.

◆ input_state_ground

const struct input_state input_state_ground
static
Initial value:
= {
"ground",
input_ground, NULL,
}
static const struct input_transition input_state_ground_table[]
Definition: input.c:331
static void input_ground(struct input_ctx *)
Definition: input.c:1106

Definition at line 176 of file input.c.

Referenced by input_parse(), and input_reset().

◆ input_state_ground_table

static const struct input_transition input_state_ground_table
static
Initial value:
= {
{ 0x18, 0x18, input_c0_dispatch, &input_state_ground }, { 0x1a, 0x1a, input_c0_dispatch, &input_state_ground }, { 0x1b, 0x1b, NULL, &input_state_esc_enter } ,
{ 0x00, 0x17, input_c0_dispatch, NULL },
{ 0x19, 0x19, input_c0_dispatch, NULL },
{ 0x1c, 0x1f, input_c0_dispatch, NULL },
{ 0x20, 0x7e, input_print, NULL },
{ 0x7f, 0x7f, NULL, NULL },
{ 0x80, 0xff, input_top_bit_set, NULL },
{ -1, -1, NULL, NULL }
}
static int input_top_bit_set(struct input_ctx *)
Definition: input.c:2404
static int input_print(struct input_ctx *)
Definition: input.c:1119

Definition at line 176 of file input.c.

◆ input_state_osc_string

const struct input_state input_state_osc_string
static
Initial value:
= {
"osc_string",
}
static void input_exit_osc(struct input_ctx *)
Definition: input.c:2258
static const struct input_transition input_state_osc_string_table[]
Definition: input.c:344
static void input_enter_osc(struct input_ctx *)
Definition: input.c:2247

Definition at line 176 of file input.c.

◆ input_state_osc_string_table

static const struct input_transition input_state_osc_string_table
static
Initial value:
= {
{ 0x18, 0x18, input_c0_dispatch, &input_state_ground }, { 0x1a, 0x1a, input_c0_dispatch, &input_state_ground }, { 0x1b, 0x1b, NULL, &input_state_esc_enter } ,
{ 0x00, 0x06, NULL, NULL },
{ 0x07, 0x07, input_end_bel, &input_state_ground },
{ 0x08, 0x17, NULL, NULL },
{ 0x19, 0x19, NULL, NULL },
{ 0x1c, 0x1f, NULL, NULL },
{ 0x20, 0xff, input_input, NULL },
{ -1, -1, NULL, NULL }
}
static int input_end_bel(struct input_ctx *)
Definition: input.c:2204

Definition at line 176 of file input.c.

◆ input_state_rename_string

const struct input_state input_state_rename_string
static
Initial value:
= {
"rename_string",
}
static void input_exit_rename(struct input_ctx *)
Definition: input.c:2374
static const struct input_transition input_state_rename_string_table[]
Definition: input.c:346

Definition at line 176 of file input.c.

◆ input_state_rename_string_table

static const struct input_transition input_state_rename_string_table
static
Initial value:
= {
{ 0x18, 0x18, input_c0_dispatch, &input_state_ground }, { 0x1a, 0x1a, input_c0_dispatch, &input_state_ground }, { 0x1b, 0x1b, NULL, &input_state_esc_enter } ,
{ 0x00, 0x17, NULL, NULL },
{ 0x19, 0x19, NULL, NULL },
{ 0x1c, 0x1f, NULL, NULL },
{ 0x20, 0xff, input_input, NULL },
{ -1, -1, NULL, NULL }
}

Definition at line 176 of file input.c.