📄 wattcp.cfg
字号:
#
# Waterloo TCP/IP sample configuration file.
#
# Use this file as a template to make your own.
# This file should be located in "current directory" or in a directory
# pointed to by the environment variable "WATTCP.CFG".
#
# This file is searched in the following directories until found:
# 1. via the environment variable "WATTCP.CFG".
# 2. in the current directory.
# 3. in the directory of the executing program (if DOS 3+ used).
#
# E.g. Put a copy of this file in "c:\net\watt\bin" and insert this
# line in your AUTOEXEC.BAT (or %SystemRoot%\SYSTEM32\AUTOEXEC.NT):
#
# SET WATTCP.CFG=C:\NET\WATT\BIN
#
# Note 1: No trailing `\' at end of line, and no spaces around the `='.
#
# Note 2: The order of keywords/value pairs are significant.
# For instance, if you have "134.121.10.8 my_dns" in your
# "c:\net\watt\bin\hosts" file, then "hosts = c:\net\watt\bin\hosts"
# MUST be listed before the line specifying your nameserver;
# "nameserver = my_dns". The same rule applies to "gateway" and "cookie"
#
# Note 3: the value (right of `=') is the default if you comment the
# line out. Comments starts with `#' or `;'. To use `#' or `;' inside
# string values, the string MUST be put in quotes.
# E.g. these keywords have different values:
# keyword1 = "hello world #;"
# keyword2 = "hello world "#;
#
# Note 4: The right-side value may contain an environment variable that
# will be expanded when read. The effect is like in a Makefile.
# E.g. if environment variable "ETC" is "c:\net\watt\bin",
# "$(ETC)\hosts" becomes "c:\net\watt\bin\hosts" after
# expansion. See "README.TOO" for details.
#
# Note 5: Remember that all this text takes time to parse (especially on
# a 386 or older CPU). Cut down the contents of your "WATTCP.CFG" (not
# this file, a copy) to a minimum to improve speed.
#
#
# Text printed to screen (stdout).
#
# print = "Waterloo TCP/IP setup" ; optional key/value
#
# What packet-driver API vector to use.
# Most drivers use a value in range 0x60 - 0x80. Newer drivers complying
# to the 1.11+ spesification allows the range to be 0x20 - 0xFF.
#
# Default behaviour (value 0x00) is to search for first packet-driver vector
# in range 0x60 - 0x80. If you have a new (1.11+) driver with a software
# API outside this range, you MUST specify that interrupt here.
#
pkt.vector = 0x00 ; optional
#
# Number of retries if PKTDRVR transmit fails.
# (total attempts are pkt.txretries+1).
#
pkt.txretries = 2 ; optional
#
# Set the packet-driver receive mode. Normally not needed, but experience
# has shown that some drivers may have problem receving traffic needed for
# e.g IPv6. Can also be handy for sniffing (pkt.rxmode = 6).
# Only effective if Watt-32 was compiled with USE_MULTICAST or USE_IPV6.
# These modes are supported:
#
# 1 = Turn receiver off (take care!)
# 2 = Direct, receive only traffic to this PC
# 3 = mode 2 + broadcast (default for IPv4)
# 4 = mode 3 + limited multicast
# 5 = mode 3 + all multicast (default for IPv6)
# 6 = promiscous mode, receive all traffic
#
pkt.rxmode = 3 ; optional
#
# Use near-pointers to access the PKTDRVR Rx/Tx buffers. Only effective
# for djgpp programs. DOS4GW style programs use this by default.
# djgpp applications using Watt-32 MUST enable near-pointers before
# this setting takes effect. I.e something like this must be in your
# code; 'int _crt0_startup_flags = _CRT0_FLAG_NEARPTR;' Near-pointers
# are not possible under Windows. I.e. the above bit is silently ignored.
#
# NOTE: Enabling near-pointers disables page protection! Take care.
#
pkt.near_ptr = 0 ; optional (djgpp only)
#
# The number of receive buffers to allocate in low DOS-memory. Only
# effective for 32-bit targets. 16-bit programs use only 5 buffers.
# A value between 2 and 40 is accepted. If you spawn other Watt-32 or
# WatTcp programs and run out DOS-memory, reduce this value.
#
# NO EFFECT YET!
#
# NOTE: If Watt-32 was compiled without USE_FAST_PKT, there is no upper
# limit (except RAM). The default library is compiled with
# USE_FAST_PKT to avoid delays in real-mode callbacks.
#
pkt.rxbufs = 30 ; optional
#
# At program exit and before freeing the allocated receiver callback,
# try to reset the interface. From the 1.09 spec:
# Resets the interface associated with handle to a known state,
# aborting any transmits in process and reinitializing the receiver.
# The local net address is reset to the default (from ROM), the
# multicast list is cleared, and the receive mode is set to 3 (own
# address & broadcasts). If multiple handles are open, these actions
# might seriously disrupt other applications using the interface,
# so CANT_RESET should be returned.
#
# This setting has no effect on some drivers (e.g. NDIS3PKT).
#
pkt.reset = 0 ; optional
#
# If using a fixed IP-address, insert the dotted decimal address below.
# If your LAN has a DHCP server, use "my_ip = dhcp".
# Likewise, if you want to get your IP-address via BOOTP or RARP servers.
#
# my_ip = 0.0.0.0 ; mandatory
my_ip = $(MYIP)
#
# The name of this host excluding the domain-name.
# Note: may be overridden by DHCP/BOOTP server.
# Max 50 characters.
#
# hostname = "random-pc" ; optional
#
# A better method would be to define it via the environment.
# If djgpp is installed and you have the `uname' program, then use
# $(COMPUTERNAME) if running under Windows for a consistent name here.
#
#hostname = $(COMPUTERNAME)
#
# The netmask specifying the sub-net you are on.
# Note: may be overridden by DHCP/BOOTP server.
#
# netmask = 255.255.255.0 ; mandatory if not using DHCP
netmask = $(NETMASK)
#
# IP-address (or name) of DNS host(s). The DNS host's job is to
# translate hostnames to IP-addresses if the hostname isn't listed
# in "$(ETC)\hosts".
#
# Notes: DHCP/BOOTP servers may add additional nameservers to the one(s)
# you specify here.
# There are no default server. There can be a total of 10
# nameservers. All nameserver are queried in sequence until an
# IP-address is returned. Enter the "fastest" (closest) nameserver
# first for best result.
#
# nameserver = 0.0.0.0 ; primary DNS, mandatory if not using DHCP
# nameserver = 0.0.0.0 ; secondary DNS, optional
nameserver=your_nameserver_ip_address
nameserver=your_other_nameserver_ip_address
#
# The IP-address (or name) of your gateway(s).
# If you are running DOS-PPP with EtherNet emulation this should be
# replaced with $(REMIP). For SLIP or normal PPP, gateway is not used.
#
# The syntax is "ip-addr [,subnet [,mask]]"
#
# Notes: Will most likely be overridden by DHCP/BOOTP server.
# The ARP-routing table is limited to 8 gateways.
# The ARP-cache is limited to 64 entries.
#
# gateway = 0.0.0.0 ; mandatory if not using BOOTP/DHCP
gateway = $(REMIP)
#
# The Internet Domain Name of your network (of which your subnet is
# part of). The "Fully Qualified Domain Name" (FQDN) of your host is
# hostname + domain.suffix. E.g. "random-pc.your.domain.com".
#
# Note: "domain.suffix" (or previously named "domainslist", "domainlist")
# is used by DNS to resolve "dot-less names" (i.e. no `.' in
# host-name) recursively.
# E.g. resolving "random-pc2" will query all DNS-servers for these
# names until an IP-address is found:
# "random-pc2.your.domain.com"
# "random-pc2.domain.com"
# "random-pc2.com"
# "random-pc2"
#
# This behaviour can be turned off with "domain.recurse = 0"
# See below.
#
# Note: domain.suffix may be overridden by DHCP server.
# Max 50 characters.
#
domain.suffix = your.domain.com ; mandatory if not using DHCP
#
# The old name for "domain.suffix". It has the same effect, but don't
# use both versions.
#
# domainslist = your.domain.com ; mandatory if not using DHCP
#
# The total time waiting for response (and including retransmissions)
# from each DNS-host. The total host lookup time is <domain.timeout> *
# <number of nameservers>. A value <4*sockdelay> is used if not defined
# (or if domain.timeout = 0).
#
domain.timeout = 0 ; optional
#
# Recursively resolve dot-less names. See above. If set to "0", only
# requests for "name" is sent to DNS-servers.
#
domain.recurse = 1 ; optional
#
# Enable lookup of names with non-ASCII letters via ACE and IDNA
# (Internationalizing Domain Names in Applications, RFC-3490).
# If set to 0, names are never converted to/from ACE format.
# Only effctive if built with USE_IDNA (ref. config.h).
#
domain.idna = 0 ; optional and very experimental at the moment
#
# Try to resolve a name to an IPv6 address in programs that uses
# gethostbyname2("host",AF_INET6) or getaddrinfo(). Default is to
# try resolve using an AAAA record before an A record. Set to 0 to
# skip trying to resolve to an IPv6-address.
#
domain.do_ipv6 = 1 ; optional
#
# If using a PPP-driver your host-name will normally be different each
# time you get online. To query your true host-name set value below to 1.
# The penalty for using this option is a small delay since your assigned
# IP-address (MY_IP) must be reverse resolved into a Fully Qualified
# Domain Name (FQDN).
#
# Note: The use of this option will cause any HOSTNAME or DOMAIN.SUFFIX to
# be over-written. Any hostname or domain-name coming from BOOTP or
# DHPC will also be over-written.
#
dynamic_host = 0 ; optional
#
# Choose a random local port in range 1025 - 1500 for new connections.
# Used to bypass problems with firewalls (real hardware firewalls or
# software firewalls). I.e. when a Watt-32 program ends prematurely, the
# firewall still have the connection in it's table. When the client
# restarts (before the 2*MSL), the firewall thinks it's the same
# connection continuing. Hence the initial SYN gets dropped.
#
rand_lport = 1 ; optional
#
# Connection timeout used by the BSD-socket API and connect() function
# (and for DNS-lookups).
# Default value is 30 sec.
#
# sockdelay = 30 ; optional
sockdelay = 15
#
# Inactivity timeout for TCP-sockets. A timer is started at reception
# of a TCP-segment and checked at each tcp_tick().
# Default value is 0 meaning no timeout.
#
# inactive = 0 ; optional
inactive = 15
#
# Data timeout for TCP-sockets. A timer is started when data is sent
# and checked at each tcp_tick(). The socket is closed if timed out.
# Default value is 0 meaning no timeout.
#
datatimeout = 0 ; optional
#
# Enable UDP/TCP-debug mode. Set to 1 (or higher for more details) to
# print information regarding the TCP state-machine or UDP errors etc.
# This applies to debug messages sent to screen only. For packet-traces
# to file, see "debug.file" below. Default value is 0.
#
debug = 0 ; optional
#
# Maximum Segment Size. The maximum size of each TCP-segment you are
# willing to receive is specified here. The upper limit of MSS is 40
# bytes less than the MRU (Maximum Receive Unit) of the link-layer.
# 40 = size of IP+TCP headers.
# E.g. 1460 for EtherNet or the MRU-40 for a PPP-driver.
#
# MSS is only used for TCP-sockets. The size of received
# UDP-datagrams cannot be controlled, but is limited to 1472 (1500-28).
#
# Default value of MSS is 1460.
#
mss = 1460 ; optional
#
# Maximum Transmission Units. The maximum size of any packet sent
# to the link-layer. Note: This value may be overridden by value
# returned by PKTDRVR (if driver is an extended driver).
#
# Default (and upper-bound) value is 1500.
#
mtu = 1500 ; optional
#
# TCP Nagle algorithmn. This is on by default.
# Disabling it here, disables it for *all* socket. You better
# use sock_mode() to control it per socket.
#
tcp.nagle = 1 ; optional
#
# Various RFC-1323 TCP options.
#
# Use "Time-Stamp" option on segments to better estimate round-trip
# time (RTT). Receive speed is around 10-20% better with this option
# on. But some old stacks don't like it, hence it's off by default.
#
tcp.opt.ts = 0 ; optional
#
# Selective Acknowledge option.
# Not implemented yet. Hence no effect.
#
tcp.opt.sack = 0 ; optional
#
# Windw Scalinge option can extend the receive window beyond 64 kBytes.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -