#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] |