slirp_state.h revision e2f547a1107946f41f895b0717e8602435203fd8
4a1711ab536d965e63d7be80e29f912287fe70b2rbowen * Copyright (C) 2006-2007 Sun Microsystems, Inc.
4a1711ab536d965e63d7be80e29f912287fe70b2rbowen * This file is part of VirtualBox Open Source Edition (OSE), as
4a1711ab536d965e63d7be80e29f912287fe70b2rbowen * available from http://www.virtualbox.org. This file is free software;
4a1711ab536d965e63d7be80e29f912287fe70b2rbowen * you can redistribute it and/or modify it under the terms of the GNU
4a1711ab536d965e63d7be80e29f912287fe70b2rbowen * General Public License (GPL) as published by the Free Software
4a1711ab536d965e63d7be80e29f912287fe70b2rbowen * Foundation, in version 2 as it comes in the "COPYING" file of the
4a1711ab536d965e63d7be80e29f912287fe70b2rbowen * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
4a1711ab536d965e63d7be80e29f912287fe70b2rbowen * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
4a1711ab536d965e63d7be80e29f912287fe70b2rbowen * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa
4a1711ab536d965e63d7be80e29f912287fe70b2rbowen * Clara, CA 95054 USA or visit http://www.sun.com if you need
4a1711ab536d965e63d7be80e29f912287fe70b2rbowen * additional information or have any questions.
4a1711ab536d965e63d7be80e29f912287fe70b2rbowen/** Number of DHCP clients supported by NAT. */
4a1711ab536d965e63d7be80e29f912287fe70b2rbowen/** Where to start DHCP IP number allocation. */
4a1711ab536d965e63d7be80e29f912287fe70b2rbowen/** DHCP Lease time. */
4a1711ab536d965e63d7be80e29f912287fe70b2rbowen/** Entry in the table of known DHCP clients. */
4a1711ab536d965e63d7be80e29f912287fe70b2rbowentypedef struct
623c623a55d08be1d0e5295f5896aa391904b39brbowen/** TFTP session entry. */
7ff40e17761fc92c8480c9403e5404927c4c6c23rbowen/** Main state/configuration structure for slirp NAT. */
7ff40e17761fc92c8480c9403e5404927c4c6c23rbowentypedef struct NATState
7ff40e17761fc92c8480c9403e5404927c4c6c23rbowen /* Stuff from boot.c */
7ff40e17761fc92c8480c9403e5404927c4c6c23rbowen /* Stuff from if.c */
7ff40e17761fc92c8480c9403e5404927c4c6c23rbowen /* Stuff from icmp.c */
7ff40e17761fc92c8480c9403e5404927c4c6c23rbowen /* Stuff from ip_input.c */
7ff40e17761fc92c8480c9403e5404927c4c6c23rbowen int maxnipq; /* Administrative limit on # of reass queues*/
7ff40e17761fc92c8480c9403e5404927c4c6c23rbowen int maxfragsperpacket; /* Maximum number of IPv4 fragments allowed per packet */
7ff40e17761fc92c8480c9403e5404927c4c6c23rbowen /* Stuff from mbuf.c */
7ff40e17761fc92c8480c9403e5404927c4c6c23rbowen /* Stuff from slirp.c */
7ff40e17761fc92c8480c9403e5404927c4c6c23rbowen const char *pszDomain;
7ff40e17761fc92c8480c9403e5404927c4c6c23rbowen /* Stuff from tcp_input.c */
7ff40e17761fc92c8480c9403e5404927c4c6c23rbowen /* Stuff from tcp_timer.c */
7ff40e17761fc92c8480c9403e5404927c4c6c23rbowen /* Stuff from tftp.c */
7ff40e17761fc92c8480c9403e5404927c4c6c23rbowen struct tftp_session tftp_sessions[TFTP_SESSIONS_MAX];
7ff40e17761fc92c8480c9403e5404927c4c6c23rbowen /* Stuff from udp.c */
623c623a55d08be1d0e5295f5896aa391904b39brbowen /* Accordin MSDN specification IcmpParseReplies
623c623a55d08be1d0e5295f5896aa391904b39brbowen * function should be detected in runtime
623c623a55d08be1d0e5295f5896aa391904b39brbowen#if defined(VBOX_WITH_SIMPLIFIED_SLIRP_SYNC) && defined(RT_OS_WINDOWS)
623c623a55d08be1d0e5295f5896aa391904b39brbowen# define VBOX_SOCKET_EVENT (pData->phEvents[VBOX_SOCKET_EVENT_INDEX])
623c623a55d08be1d0e5295f5896aa391904b39brbowen/** Default IP time to live. */
623c623a55d08be1d0e5295f5896aa391904b39brbowen/** Number of permanent buffers in mbuf. */
623c623a55d08be1d0e5295f5896aa391904b39brbowen/** Use a fixed time before sending keepalive. */
623c623a55d08be1d0e5295f5896aa391904b39brbowen/** Use a fixed interval between keepalive. */
623c623a55d08be1d0e5295f5896aa391904b39brbowen/** Maximum idle time before timing out a connection. */
623c623a55d08be1d0e5295f5896aa391904b39brbowen/** Default TCP socket options. */
623c623a55d08be1d0e5295f5896aa391904b39brbowen/** Default TCP MSS value. */
623c623a55d08be1d0e5295f5896aa391904b39brbowen/** Default TCP round trip time. */
623c623a55d08be1d0e5295f5896aa391904b39brbowen/** Enable RFC1323 performance enhancements.
623c623a55d08be1d0e5295f5896aa391904b39brbowen * @todo check if it really works, it was turned off before. */
623c623a55d08be1d0e5295f5896aa391904b39brbowen/** TCP receive buffer size. */
7ff40e17761fc92c8480c9403e5404927c4c6c23rbowen/** TCP receive buffer size. */
623c623a55d08be1d0e5295f5896aa391904b39brbowen/* TCP duplicate ACK retransmit threshold. */
a66737adf71cba4fa315b7802e12cde3d887ee92rbowen#define tcp_reass_overflows pData->tcp_reass_overflows
a66737adf71cba4fa315b7802e12cde3d887ee92rbowen#endif /* !_slirp_state_h_ */