5e4a475d |
1 | /* |
2 | * Header declaring Telnet-handling functions. |
3 | */ |
4 | |
5 | #ifndef FIXME_TELNET_H |
6 | #define FIXME_TELNET_H |
7 | |
8 | #include "sel.h" |
9 | |
10 | typedef struct telnet_tag *Telnet; |
11 | |
12 | struct shell_data { |
13 | char **envvars; /* array of "VAR=value" terms */ |
14 | int nenvvars; |
15 | char *termtype; |
16 | }; |
17 | |
18 | /* |
19 | * Create and destroy a Telnet structure. |
20 | */ |
21 | Telnet telnet_new(sel_wfd *net, sel_wfd *pty); |
22 | void telnet_free(Telnet telnet); |
23 | |
24 | /* |
25 | * Process data read from the pty. |
26 | */ |
27 | void telnet_from_pty(Telnet telnet, char *buf, int len); |
28 | |
29 | /* |
30 | * Process Telnet protocol data received from the network. |
31 | */ |
32 | void telnet_from_net(Telnet telnet, char *buf, int len); |
33 | |
34 | /* |
35 | * Return true if pre-shell-startup negotiations are complete and |
36 | * it's safe to start the shell subprocess now. On a true return, |
37 | * also fills in the shell_data structure. |
38 | */ |
39 | int telnet_shell_ok(Telnet telnet, struct shell_data *shdata); |
40 | |
41 | #endif /* FIXME_TELNET_H */ |