author | viric@llimona |
Thu, 27 Sep 2007 00:25:54 +0200 | |
changeset 58 | 2cf8c513d18f |
parent 43 | 625794738afc |
child 60 | 18c24be2b1a6 |
permissions | -rw-r--r-- |
29
91286c3ecebc
Added getopt, and some things got based on parameters.
viric@llimona
parents:
26
diff
changeset
|
1 |
enum Transport |
91286c3ecebc
Added getopt, and some things got based on parameters.
viric@llimona
parents:
26
diff
changeset
|
2 |
{ |
91286c3ecebc
Added getopt, and some things got based on parameters.
viric@llimona
parents:
26
diff
changeset
|
3 |
UNIX, |
91286c3ecebc
Added getopt, and some things got based on parameters.
viric@llimona
parents:
26
diff
changeset
|
4 |
TCP, |
91286c3ecebc
Added getopt, and some things got based on parameters.
viric@llimona
parents:
26
diff
changeset
|
5 |
ETHERNET |
91286c3ecebc
Added getopt, and some things got based on parameters.
viric@llimona
parents:
26
diff
changeset
|
6 |
}; |
91286c3ecebc
Added getopt, and some things got based on parameters.
viric@llimona
parents:
26
diff
changeset
|
7 |
|
21 | 8 |
struct Command_line { |
9 |
int is_server; |
|
10 |
char *unix_path; /* path or 0 if not to be used */ |
|
29
91286c3ecebc
Added getopt, and some things got based on parameters.
viric@llimona
parents:
26
diff
changeset
|
11 |
int tcp_port; |
43
625794738afc
Added first attempt for an ethernet protocol. Even not tried.
viric@llimona
parents:
41
diff
changeset
|
12 |
char *eth_device; |
21 | 13 |
struct { |
29
91286c3ecebc
Added getopt, and some things got based on parameters.
viric@llimona
parents:
26
diff
changeset
|
14 |
int serve_tcp; /* yes/no */ |
91286c3ecebc
Added getopt, and some things got based on parameters.
viric@llimona
parents:
26
diff
changeset
|
15 |
int serve_unix; /* yes/no */ |
43
625794738afc
Added first attempt for an ethernet protocol. Even not tried.
viric@llimona
parents:
41
diff
changeset
|
16 |
int serve_eth; /* yes/no */ |
29
91286c3ecebc
Added getopt, and some things got based on parameters.
viric@llimona
parents:
26
diff
changeset
|
17 |
int max_served; /* how many */ |
21 | 18 |
char run_in_subterminal; /* use opentty */ |
36
da427c23d755
Added dumps, telnet_filter, applied filters in tm, improved telnet experience.
viric@llimona
parents:
34
diff
changeset
|
19 |
char echo_in_local_terminal; |
21 | 20 |
char use_blocking_sockets; |
21 |
char send_xterm_resize; |
|
23 | 22 |
char client_may_close_app_stdin; |
32
df110f784648
Added read-only clients, added stdin-close option to clients.
lbatlle@npdl268.bpo.hp.com
parents:
29
diff
changeset
|
23 |
char client_can_write; |
41 | 24 |
char nohup; /* detach from terminal as nohup */ |
29
91286c3ecebc
Added getopt, and some things got based on parameters.
viric@llimona
parents:
26
diff
changeset
|
25 |
char **command; /* ordono por exec */ |
21 | 26 |
} s_param; |
27 |
struct { |
|
29
91286c3ecebc
Added getopt, and some things got based on parameters.
viric@llimona
parents:
26
diff
changeset
|
28 |
enum Transport transport; |
21 | 29 |
unsigned int wait_until_char; /* -1, don't wait. */ |
30 |
char raw_mode; /* bool. else cooked */ |
|
29
91286c3ecebc
Added getopt, and some things got based on parameters.
viric@llimona
parents:
26
diff
changeset
|
31 |
char * server_address; |
21 | 32 |
} c_param; |
33 |
int buffer_size; |
|
34 |
}; |
|
35 |
||
0 | 36 |
|
37 |
/* error.c */ |
|
21 | 38 |
void not_implemented(const char *msg, ...); |
14 | 39 |
void error(const char *msg, ...); |
26
96920c3707b3
Unix sockets version works! Well, signals don't. :)
viric@llimona
parents:
24
diff
changeset
|
40 |
void finish(int ret); |
0 | 41 |
|
21 | 42 |
/* signals.c */ |
43 |
void install_signal_forwarders(); |
|
44 |
||
45 |
/* main.c */ |
|
46 |
extern int app_stdin; |
|
47 |
extern int app_stdout; |
|
48 |
extern int app_stderr; |
|
49 |
extern struct Command_line command_line; |
|
50 |
int max(int a, int b); |
|
43
625794738afc
Added first attempt for an ethernet protocol. Even not tried.
viric@llimona
parents:
41
diff
changeset
|
51 |
int min(int a, int b); |
21 | 52 |
|
53 |
/* gen_sockets.c */ |
|
54 |
extern char *stream_buffer; |
|
55 |
extern int stream_buffer_size; |
|
34 | 56 |
extern char *ostream_buffer; |
57 |
extern int ostream_buffer_size; |
|
58 |
void init_stream_buffers(); |
|
36
da427c23d755
Added dumps, telnet_filter, applied filters in tm, improved telnet experience.
viric@llimona
parents:
34
diff
changeset
|
59 |
void welcome_new_client_socket(int s); |
21 | 60 |
|
23 | 61 |
/* server.c */ |
29
91286c3ecebc
Added getopt, and some things got based on parameters.
viric@llimona
parents:
26
diff
changeset
|
62 |
int server(); |
23 | 63 |
|
64 |
/* client.c */ |
|
65 |
int client(); |
|
24 | 66 |
|
67 |
/* app_term.c */ |
|
68 |
int fork_app(char * const command[]); |
|
26
96920c3707b3
Unix sockets version works! Well, signals don't. :)
viric@llimona
parents:
24
diff
changeset
|
69 |
|
96920c3707b3
Unix sockets version works! Well, signals don't. :)
viric@llimona
parents:
24
diff
changeset
|
70 |
/* server_term.c */ |
96920c3707b3
Unix sockets version works! Well, signals don't. :)
viric@llimona
parents:
24
diff
changeset
|
71 |
void prepare_user_terminal(); |
96920c3707b3
Unix sockets version works! Well, signals don't. :)
viric@llimona
parents:
24
diff
changeset
|
72 |
void restore_user_terminal(); |
34 | 73 |
|
36
da427c23d755
Added dumps, telnet_filter, applied filters in tm, improved telnet experience.
viric@llimona
parents:
34
diff
changeset
|
74 |
/* xterm.c */ |
34 | 75 |
char * get_xterm_resize_string(); |
36
da427c23d755
Added dumps, telnet_filter, applied filters in tm, improved telnet experience.
viric@llimona
parents:
34
diff
changeset
|
76 |
|
da427c23d755
Added dumps, telnet_filter, applied filters in tm, improved telnet experience.
viric@llimona
parents:
34
diff
changeset
|
77 |
/* dump.c */ |
da427c23d755
Added dumps, telnet_filter, applied filters in tm, improved telnet experience.
viric@llimona
parents:
34
diff
changeset
|
78 |
void hex_dump(const char *head, const unsigned char *data, int len); |
da427c23d755
Added dumps, telnet_filter, applied filters in tm, improved telnet experience.
viric@llimona
parents:
34
diff
changeset
|
79 |
void dump_line(const char *msg, ...); |
43
625794738afc
Added first attempt for an ethernet protocol. Even not tried.
viric@llimona
parents:
41
diff
changeset
|
80 |
|
625794738afc
Added first attempt for an ethernet protocol. Even not tried.
viric@llimona
parents:
41
diff
changeset
|
81 |
/* eth_proto.c */ |
625794738afc
Added first attempt for an ethernet protocol. Even not tried.
viric@llimona
parents:
41
diff
changeset
|
82 |
void eth_proto_init(); |
625794738afc
Added first attempt for an ethernet protocol. Even not tried.
viric@llimona
parents:
41
diff
changeset
|
83 |
int eth_proto_open(); |
625794738afc
Added first attempt for an ethernet protocol. Even not tried.
viric@llimona
parents:
41
diff
changeset
|
84 |
int eth_proto_recv(char *data, int size); |
625794738afc
Added first attempt for an ethernet protocol. Even not tried.
viric@llimona
parents:
41
diff
changeset
|
85 |
int eth_proto_send(const char *data, int size); |