Improved help. Moving to 0.2.
enum Transport
{
UNIX,
TCP,
ETHERNET
};
struct Command_line {
int is_server;
char *unix_path; /* path or 0 if not to be used */
int tcp_port;
struct {
int serve_tcp; /* yes/no */
int serve_unix; /* yes/no */
int max_served; /* how many */
char run_in_subterminal; /* use opentty */
char echo_in_local_terminal;
char use_blocking_sockets;
char send_xterm_resize;
char client_may_close_app_stdin;
char client_can_write;
int detach; /* detach from terminal as nohup */
char **command; /* ordono por exec */
} s_param;
struct {
enum Transport transport;
unsigned int wait_until_char; /* -1, don't wait. */
char raw_mode; /* bool. else cooked */
char * server_address;
} c_param;
int buffer_size;
};
/* error.c */
void not_implemented(const char *msg, ...);
void error(const char *msg, ...);
void finish(int ret);
/* signals.c */
void install_signal_forwarders();
/* main.c */
extern int app_stdin;
extern int app_stdout;
extern int app_stderr;
extern struct Command_line command_line;
int max(int a, int b);
/* gen_sockets.c */
extern char *stream_buffer;
extern int stream_buffer_size;
extern char *ostream_buffer;
extern int ostream_buffer_size;
void init_stream_buffers();
void welcome_new_client_socket(int s);
/* server.c */
int server();
/* client.c */
int client();
/* app_term.c */
int fork_app(char * const command[]);
/* server_term.c */
void prepare_user_terminal();
void restore_user_terminal();
/* xterm.c */
char * get_xterm_resize_string();
/* dump.c */
void hex_dump(const char *head, const unsigned char *data, int len);
void dump_line(const char *msg, ...);