blob: f2e58cfe2d98268ea4d67af1a7484499506c0519 [file] [log] [blame]
bellardf0cbd3e2004-04-22 00:10:48 +00001/*
2 * Copyright (c) 1995 Danny Gasparovski.
ths5fafdf22007-09-16 21:08:06 +00003 *
4 * Please read the file COPYRIGHT for the
bellardf0cbd3e2004-04-22 00:10:48 +00005 * terms and conditions of the copyright.
6 */
Paolo Bonzinicb9c3772012-12-06 12:15:58 +01007#ifndef SLIRP_MAIN_H
8#define SLIRP_MAIN_H 1
bellardf0cbd3e2004-04-22 00:10:48 +00009
10#ifdef HAVE_SYS_SELECT_H
11#include <sys/select.h>
12#endif
13
14#define TOWRITEMAX 512
bellardf0cbd3e2004-04-22 00:10:48 +000015
bellardf0cbd3e2004-04-22 00:10:48 +000016extern int slirp_socket;
17extern int slirp_socket_unit;
18extern int slirp_socket_port;
Stefan Weilb6dce922010-07-22 22:15:23 +020019extern uint32_t slirp_socket_addr;
bellardf0cbd3e2004-04-22 00:10:48 +000020extern char *slirp_socket_passwd;
21extern int ctty_closed;
22
23/*
24 * Get the difference in 2 times from updtim()
25 * Allow for wraparound times, "just in case"
26 * x is the greater of the 2 (current time) and y is
27 * what it's being compared against.
28 */
29#define TIME_DIFF(x,y) (x)-(y) < 0 ? ~0-(y)+(x) : (x)-(y)
30
31extern char *slirp_tty;
32extern char *exec_shell;
33extern u_int curtime;
bellardf0cbd3e2004-04-22 00:10:48 +000034extern struct in_addr loopback_addr;
Anthony Liguori0b8db8f2012-08-06 19:31:55 -050035extern unsigned long loopback_mask;
bellardf0cbd3e2004-04-22 00:10:48 +000036extern char *username;
37extern char *socket_path;
38extern int towrite_max;
39extern int ppp_exit;
bellardf0cbd3e2004-04-22 00:10:48 +000040extern int tcp_keepintvl;
bellardf0cbd3e2004-04-22 00:10:48 +000041
42#define PROTO_SLIP 0x1
43#ifdef USE_PPP
44#define PROTO_PPP 0x2
45#endif
46
Fabien Chouteau1ab74ce2011-08-01 18:18:37 +020047int if_encap(Slirp *slirp, struct mbuf *ifm);
aliguorie1c5a2b2009-01-08 19:18:21 +000048ssize_t slirp_send(struct socket *so, const void *buf, size_t len, int flags);
Paolo Bonzinicb9c3772012-12-06 12:15:58 +010049
50#endif