mirror of
https://github.com/xemu-project/xemu.git
synced 2024-12-01 07:21:09 +00:00
slirp: replace ex_pty with ex_chardev
do_pty == 3 means to talk to a chardev. Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com> Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
This commit is contained in:
parent
43bc7340b5
commit
7765bee0e3
@ -53,7 +53,7 @@ int add_exec(struct ex_list **ex_ptr, int do_pty, char *exec,
|
||||
*ex_ptr = g_new(struct ex_list, 1);
|
||||
(*ex_ptr)->ex_fport = port;
|
||||
(*ex_ptr)->ex_addr = addr;
|
||||
(*ex_ptr)->ex_pty = do_pty;
|
||||
(*ex_ptr)->ex_chardev = do_pty == 3;
|
||||
(*ex_ptr)->ex_exec = (do_pty == 3) ? exec : g_strdup(exec);
|
||||
(*ex_ptr)->ex_next = tmp_ptr;
|
||||
return 0;
|
||||
|
@ -9,7 +9,7 @@
|
||||
#define MISC_H
|
||||
|
||||
struct ex_list {
|
||||
int ex_pty; /* Do we want a pty? */
|
||||
int ex_chardev;
|
||||
struct in_addr ex_addr; /* Server address */
|
||||
int ex_fport; /* Port to telnet to */
|
||||
const char *ex_exec; /* Command line of what to exec */
|
||||
|
@ -1455,7 +1455,7 @@ static void slirp_state_save(QEMUFile *f, void *opaque)
|
||||
struct ex_list *ex_ptr;
|
||||
|
||||
for (ex_ptr = slirp->exec_list; ex_ptr; ex_ptr = ex_ptr->ex_next)
|
||||
if (ex_ptr->ex_pty == 3) {
|
||||
if (ex_ptr->ex_chardev) {
|
||||
struct socket *so;
|
||||
so = slirp_find_ctl_socket(slirp, ex_ptr->ex_addr,
|
||||
ntohs(ex_ptr->ex_fport));
|
||||
@ -1490,7 +1490,7 @@ static int slirp_state_load(QEMUFile *f, void *opaque, int version_id)
|
||||
return -EINVAL;
|
||||
}
|
||||
for (ex_ptr = slirp->exec_list; ex_ptr; ex_ptr = ex_ptr->ex_next) {
|
||||
if (ex_ptr->ex_pty == 3 &&
|
||||
if (ex_ptr->ex_chardev &&
|
||||
so->so_faddr.s_addr == ex_ptr->ex_addr.s_addr &&
|
||||
so->so_fport == ex_ptr->ex_fport) {
|
||||
break;
|
||||
|
@ -960,7 +960,7 @@ int tcp_ctl(struct socket *so)
|
||||
for (ex_ptr = slirp->exec_list; ex_ptr; ex_ptr = ex_ptr->ex_next) {
|
||||
if (ex_ptr->ex_fport == so->so_fport &&
|
||||
so->so_faddr.s_addr == ex_ptr->ex_addr.s_addr) {
|
||||
if (ex_ptr->ex_pty == 3) {
|
||||
if (ex_ptr->ex_chardev) {
|
||||
so->s = -1;
|
||||
so->extra = (void *)ex_ptr->ex_exec;
|
||||
return 1;
|
||||
|
Loading…
Reference in New Issue
Block a user