Lines Matching full:client
70 static enum process_rc process_ssh_tty(struct console_client *client, in process_ssh_tty() argument
73 struct ssh_esc_state *esc_state = &client->esc_state.ssh; in process_ssh_tty()
92 rc = write_buf_to_fd(client->console_sd, out_buf, in process_ssh_tty()
107 rc = write_buf_to_fd(client->console_sd, out_buf, in process_ssh_tty()
112 static enum process_rc process_str_tty(struct console_client *client, in process_str_tty() argument
115 struct str_esc_state *esc_state = &client->esc_state.str; in process_str_tty()
133 if (write_buf_to_fd(client->console_sd, buf, i) < 0) { in process_str_tty()
139 static enum process_rc process_tty(struct console_client *client) in process_tty() argument
144 len = read(client->fd_in, buf, sizeof(buf)); in process_tty()
152 switch (client->esc_type) { in process_tty()
154 return process_ssh_tty(client, buf, len); in process_tty()
156 return process_str_tty(client, buf, len); in process_tty()
162 static int process_console(struct console_client *client) in process_console() argument
168 len = read(client->console_sd, buf, sizeof(buf)); in process_console()
178 rc = write_buf_to_fd(client->fd_out, buf, len); in process_console()
186 static int client_tty_init(struct console_client *client) in client_tty_init() argument
191 client->fd_in = STDIN_FILENO; in client_tty_init()
192 client->fd_out = STDOUT_FILENO; in client_tty_init()
193 client->is_tty = isatty(client->fd_in); in client_tty_init()
195 if (!client->is_tty) { in client_tty_init()
199 rc = tcgetattr(client->fd_in, &termios); in client_tty_init()
204 memcpy(&client->orig_termios, &termios, sizeof(client->orig_termios)); in client_tty_init()
207 rc = tcsetattr(client->fd_in, TCSANOW, &termios); in client_tty_init()
216 static int client_init(struct console_client *client, struct config *config, in client_init() argument
225 client->console_sd = socket(AF_UNIX, SOCK_STREAM, 0); in client_init()
226 if (!client->console_sd) { in client_init()
246 rc = connect(client->console_sd, (struct sockaddr *)&addr, in client_init()
255 close(client->console_sd); in client_init()
259 static void client_fini(struct console_client *client) in client_fini() argument
261 if (client->is_tty) { in client_fini()
262 tcsetattr(client->fd_in, TCSANOW, &client->orig_termios); in client_fini()
264 close(client->console_sd); in client_fini()
270 struct console_client *client; in main() local
279 client = &_client; in main()
280 memset(client, 0, sizeof(*client)); in main()
281 client->esc_type = ESC_TYPE_SSH; in main()
337 client->esc_type = ESC_TYPE_STR; in main()
338 client->esc_state.str.str = esc; in main()
341 rc = client_init(client, config, console_id); in main()
346 rc = client_tty_init(client); in main()
352 pollfds[0].fd = client->fd_in; in main()
354 pollfds[1].fd = client->console_sd; in main()
364 prc = process_tty(client); in main()
368 prc = process_console(client); in main()
378 client_fini(client); in main()