#include <errno.h>#include <fcntl.h>#include <signal.h>#include <stdarg.h>#include <stdbool.h>#include <stdio.h>#include <stdlib.h>#include <string.h>#include <stropts.h>#include <sys/ioctl.h>#include <sys/stat.h>#include <sys/time.h>#include <sys/types.h>#include <sys/wait.h>#include <termios.h>#include <unistd.h>Go to the source code of this file.
Defines | |
| #define | _GNU_SOURCE 1 |
Functions | |
| static void | fail_io (const char *msg,...) __attribute__((noreturn)) __attribute__((format(printf |
| static void | make_noncanon (int fd, int vmin, int vtime) |
| static void | make_nonblocking (int fd, bool nonblocking) |
| static bool | handle_error (ssize_t retval, int *fd, bool fd_is_pty, const char *call) |
| static void | relay (int pty, int dead_child_fd) |
| static void | sigchld_handler (int signo __attribute__((unused))) |
| int | main (int argc __attribute__((unused)), char *argv[]) |
Variables | |
| static int | dead_child_fd |
| #define _GNU_SOURCE 1 |
Definition at line 1 of file squish-pty.c.
| static void static void fail_io | ( | const char * | msg, | |
| ... | ||||
| ) | [static] |
Definition at line 29 of file squish-pty.c.
References exit(), EXIT_FAILURE, va_end, and va_start.
Referenced by handle_error(), main(), make_nonblocking(), make_noncanon(), and relay().
| static bool handle_error | ( | ssize_t | retval, | |
| int * | fd, | |||
| bool | fd_is_pty, | |||
| const char * | call | |||
| ) | [static] |
Definition at line 84 of file squish-pty.c.
References close(), and fail_io().
Referenced by relay().
| int main | ( | int argc | __attribute__(unused), | |
| char * | argv[] | |||
| ) |
Definition at line 256 of file squish-pty.c.
References close(), dead_child_fd, EXIT_FAILURE, fail_io(), memset(), name, NULL, open(), relay(), sigchld_handler(), and STDOUT_FILENO.
| static void make_nonblocking | ( | int | fd, | |
| bool | nonblocking | |||
| ) | [static] |
| static void make_noncanon | ( | int | fd, | |
| int | vmin, | |||
| int | vtime | |||
| ) | [static] |
| static void relay | ( | int | pty, | |
| int | dead_child_fd | |||
| ) | [static] |
Definition at line 117 of file squish-pty.c.
References buf, fail_io(), handle_error(), make_nonblocking(), make_noncanon(), memmove(), memset(), NULL, read(), STDIN_FILENO, STDOUT_FILENO, and write().
Referenced by main().
| static void sigchld_handler | ( | int signo | __attribute__(unused) | ) | [static] |
Definition at line 249 of file squish-pty.c.
References dead_child_fd, and write().
Referenced by main().
int dead_child_fd [static] |
1.5.6