networkprotocols/tcpipv4v6prt/inc/tcpip_ini.h
changeset 0 af10295192d8
equal deleted inserted replaced
-1:000000000000 0:af10295192d8
       
     1 // Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
       
     2 // All rights reserved.
       
     3 // This component and the accompanying materials are made available
       
     4 // under the terms of "Eclipse Public License v1.0"
       
     5 // which accompanies this distribution, and is available
       
     6 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     7 //
       
     8 // Initial Contributors:
       
     9 // Nokia Corporation - initial contribution.
       
    10 //
       
    11 // Contributors:
       
    12 //
       
    13 // Description:
       
    14 // tcpip_ini.h - INI File literals
       
    15 //
       
    16 
       
    17 #ifndef __TCPIP_INI_H__
       
    18 #define __TCPIP_INI_H__
       
    19 
       
    20 /**
       
    21 * @file tcpip_ini.h
       
    22 * @ingroup tcpip_ini_parameters
       
    23 * Define TCPIP.INI configuration parameters
       
    24 * @internalComponent
       
    25 */
       
    26 
       
    27 /**
       
    28 * @defgroup tcpip_ini_parameters	TCPIP.INI configuration parameters
       
    29 *
       
    30 * @{
       
    31 */
       
    32 
       
    33 //
       
    34 // INI File literals
       
    35 // *****************
       
    36 //
       
    37 
       
    38 /** The name of the ini-file */
       
    39 _LIT(TCPIP_INI_DATA,                "tcpip.ini");
       
    40 
       
    41 /**
       
    42 * @name	Start Section
       
    43 *
       
    44 * When the protocol stack is loaded into memory, it can automatically start
       
    45 * a number of system daemons. The DNS resolver daemon (dnd.exe) is an example
       
    46 * of such system damoens. When the stack is unloaded, any running daemons are
       
    47 * automatically killed.
       
    48 *
       
    49 * Each daemon has its own section in the TCPIP.INI file. The daemons that
       
    50 * should be started up are listed in the [start] section under the daemons
       
    51 * key, separated by commas. Each daemon specific section contains the
       
    52 * initialization parameters for the daemon. Currently, the only supported
       
    53 * parameter key is filename, which specifies the location of the executable.
       
    54 * For example:
       
    55 @verbatim
       
    56 [start]
       
    57 daemons= dnd,httpserver
       
    58 
       
    59 [dnd]
       
    60 filename= z:\system\programs\dnd.exe
       
    61 
       
    62 [httpserver]
       
    63 filename= d:\system\programs\httpserver.exe
       
    64 @endverbatim
       
    65 * @{
       
    66 */
       
    67 /** The section name <tt>[start]</tt> */
       
    68 _LIT(TCPIP_INI_START,               "start");
       
    69 /** The daemons list. <tt>daemons= dnd,kmd</tt> */
       
    70 _LIT(TCPIP_INI_DAEMONS,             "daemons");
       
    71 /** The filename daemon. <tt>[dnd]<br>filename= dnd.exe</tt> */
       
    72 _LIT(TCPIP_INI_FILENAME,            "filename");
       
    73 /** @} */
       
    74 
       
    75 /**
       
    76 * @name Network layer parameters
       
    77 * @{
       
    78 */
       
    79 /** The section name <tt>[ip]</tt> */
       
    80 _LIT(TCPIP_INI_IP,                  "ip");		    // [ip]
       
    81 /**
       
    82 * Default TTL (time to live) value for IP packets.
       
    83 *
       
    84 * Default: #KTcpipIni_Maxttl
       
    85 */
       
    86 _LIT(TCPIP_INI_MAXTTL,              "maxttl");	            // maxttl= 69
       
    87 /**
       
    88 * Default TTL for link local destinations.(IPv4 and IPv6).
       
    89 * If negative, then default is same as <tt>maxttl</tt>.
       
    90 *
       
    91 * - Default: #KTcpipIni_LinkLocalttl
       
    92 * - Range: [-1..255]
       
    93 */
       
    94 _LIT(TCPIP_INI_LINKLOCALTTL,		"linklocalttl");
       
    95 /**
       
    96 * Maximum number of simultaneous dial attempts via NifMan.
       
    97 *
       
    98 * - Default: #KTcpipIni_Maxdials
       
    99 * - Range: >= 0
       
   100 * @deprecated Not used
       
   101 * @since 7.0
       
   102 */
       
   103 _LIT(TCPIP_INI_MAXDIALS,            "maxdials");
       
   104 /**
       
   105 * Packet forwarding.
       
   106 * - Default: #KTcpipIni_Forward
       
   107 * - Range: 0 = disabled, > 0 = enabled, and the number of cached flows to use.
       
   108 */
       
   109 _LIT(TCPIP_INI_FORWARD,             "forward");
       
   110 /**
       
   111 * Enable IPv4 link-local configuration.
       
   112 * When set, the stack will autoconfigure interface for IPv4 linklocal
       
   113 * address space (<tt>169.254.0.0/16</tt>). This happens in addition to
       
   114 * any other configuration if present unless option 3 is specified. Possible
       
   115 * values and their meanings:
       
   116 *
       
   117 * Default: #KTcpipIni_Ipv4Linklocal
       
   118 *
       
   119 * Valid values:
       
   120 * - 0= No IPv4 link-local addresses,
       
   121 * - 1= Always use IPv4 link-local addresses,
       
   122 * - 2= Only use IPv4 link-local addresses when no global address has been configured,
       
   123 * - 3= Use link-local address if no IPv4 address is read from Nif or configuration daemon (e.g., DHCP).
       
   124 */
       
   125 _LIT(TCPIP_INI_IPV4LINKLOCAL,       "ipv4linklocal");
       
   126 /**
       
   127 * Probe addresses without route from all links.
       
   128 * If set to 1, destination addresses for which no route can be found,
       
   129 * are probed with ND (ARP for IPv4) on all interfaces within scope.
       
   130 * This setting is ignored if disabled if the source address is an IPv4
       
   131 * link local or else the link local would not function except for
       
   132 * neighbours with routes already discovered and cached.  This is
       
   133 * necessary for compliance with the ZEROCONF RFC.
       
   134 *
       
   135 * - Default: #KTcpipIni_ProbeAddress
       
   136 * - Range: 0=disabled, 1=enabled
       
   137 */
       
   138 _LIT(TCPIP_INI_PROBEADDRESS,		"probeaddress");
       
   139 /**
       
   140 * No id defence.
       
   141 *
       
   142 * Normally the node tries to keep assigned ID reserved for this node,
       
   143 * regardless of the prefix part. Enabling this option, disables this
       
   144 * feature (and allows other hosts use my id with different prefixes).
       
   145 *
       
   146 * - Default: #KTcpipIni_NoDefendId
       
   147 * - Range: 0 = disabled (defend id), 1 = enabled (do not defend id).
       
   148 */
       
   149 _LIT(TCPIP_INI_NODEFENDID,			"nodefendid");
       
   150 /**
       
   151 * No interface error to attaced flows.
       
   152 *
       
   153 * This is the default value for new sockets (flows).
       
   154 * The default can be changed by a socket option
       
   155 * #KSoNoInterfaceError.
       
   156 *
       
   157 * - Default: #KTcpipIni_Noiferror
       
   158 * - Range: 0= pass, 1= don't pass errors to flow
       
   159 */
       
   160 _LIT(TCPIP_INI_NOIFERROR,			"noiferror");
       
   161 /**	
       
   162 * Max time to wait for route or interface.
       
   163 *
       
   164 * - Default: #KTcpipIni_Maxholdtime
       
   165 * - Range: [0..maxint]
       
   166 */
       
   167 _LIT(TCPIP_INI_MAXHOLDTIME,			"maxholdtime");
       
   168 /**
       
   169 * Shutdown delay.
       
   170 * How long to wait until to kill daemons after last user (SAP/NIF) exits.
       
   171 *
       
   172 * - Default: #KTcpipIni_ShutdownDelay seconds.
       
   173 * - Range: [0..maxint]
       
   174 */
       
   175 _LIT(TCPIP_INI_SHUTDOWN_DELAY,		"shutdown_delay");
       
   176 /**
       
   177 * Keep interface up.
       
   178 *
       
   179 * This is the default value for new sockets (flows).
       
   180 * The default can be changed by a socket option
       
   181 * #KSoKeepInterfaceUp.
       
   182 *
       
   183 * When enabled (1), attaching the flow to the interface
       
   184 * increments the flow count on the interface. This
       
   185 * count is part of the process that controls how
       
   186 * long idle interfaces are kept up.
       
   187 *
       
   188 * When disabled (0), the flow is not counted.
       
   189 *
       
   190 * - Default: #KTcpipIni_KeepInterfaceUp
       
   191 * - Range: 0 = disabled, 1 = enabled
       
   192 */
       
   193 _LIT(TCPIP_INI_KEEP_INTERFACE_UP,	"keepinterfaceup");
       
   194 /**
       
   195 * Max Fragment assemblies.
       
   196 *
       
   197 * Max number of simultaneous incomplete fragment assembly (currently per
       
   198 * protocol version: IPv4 and IPv6). This is a safeguard against denial of
       
   199 * service (DOS) attacks. Prevents overusing the heap space for the
       
   200 * assembly control blocks.
       
   201 *
       
   202 * - Default: #KTcpipIni_FragCount
       
   203 * - Range: [0..maxint]
       
   204 */
       
   205 _LIT(TCPIP_INI_FRAG_COUNT,			"frag_count");
       
   206 /**
       
   207 * Max Fragment buffering.
       
   208 *
       
   209 * Total amount buffer space that can be allocated (RMBufs) for incomplete
       
   210 * assemblies (per protocol version). This is a safeguard against denial of
       
   211 * service (DOS) attacks. Prevents overusing the RMBuf pool for the
       
   212 * packet content.
       
   213 *
       
   214 * - Default: #KTcpipIni_FragTotal (bytes)
       
   215 * - Range: [0..maxint]
       
   216 */
       
   217 _LIT(TCPIP_INI_FRAG_TOTAL,			"frag_total");
       
   218 /**
       
   219 * Destination cache.
       
   220 * - Default: 0 (disabled)
       
   221 * - Range: 0 = disabled,
       
   222 *          1 = enabled / one entry per address,
       
   223 *          2 = enabled / one entry per network
       
   224 *
       
   225 * @see MDestinationCache for more information.
       
   226 */
       
   227 _LIT(TCPIP_INI_DSTCACHE,			"dstcache");
       
   228 /**
       
   229 * Lifetime of dest. cache entry.
       
   230 *
       
   231 * - Default: 600 (secs)
       
   232 */
       
   233 _LIT(TCPIP_INI_DST_LIFETIME,		"dst_lifetime");
       
   234 /**
       
   235 * Max total size of dest. cache.
       
   236 *
       
   237 * - Default: 2048 (bytes)
       
   238 */
       
   239 _LIT(TCPIP_INI_DST_MAXSIZE,			"dst_maxsize");
       
   240 /**
       
   241 * Max transmitted ICMP errors or echo replies within ca. 8 second timeslot.
       
   242 *
       
   243 * - Default #KTcpipIni_IcmpLimit
       
   244 */
       
   245 _LIT(TCPIP_INI_ICMP_LIMIT,			"icmp_limit");
       
   246 /**
       
   247 * Route Information option.
       
   248 *
       
   249 * The type code for RouteInformation has not been defined by the
       
   250 * IANA. This option allows enabling the option by specifying some
       
   251 * non-zero type, which identifies the option in Router Avertisement
       
   252 * message. (Experimental)
       
   253 *
       
   254 * - Default: 0 (not enabled)
       
   255 */
       
   256 _LIT(TCPIP_INI_RA_OPT_ROUTE,		"ra_opt_route");
       
   257 /**
       
   258 * Recursive DNS Server Option (RDNSS)
       
   259 *
       
   260 * The type code for RouteInformation has not been defined by the
       
   261 * IANA. This option allows enabling the option by specifying some
       
   262 * non-zero type, which identifies the option in Router Avertisement
       
   263 * message. (Experimental)
       
   264 *
       
   265 * - Default: 0 (not enabled)
       
   266 */
       
   267 _LIT(TCPIP_INI_RA_OPT_RDNSS,		"ra_opt_rdnss");
       
   268 /** @} */
       
   269 
       
   270 /**
       
   271 * @name TCP Parameters
       
   272 * @{
       
   273 */
       
   274 /** The section name <tt>[tcp]</tt> */
       
   275 _LIT(TCPIP_INI_TCP,                 "tcp");
       
   276 /**
       
   277 * TCP maximum segment size.
       
   278 * Upper limit is bounded by the network interface MTU.
       
   279 *
       
   280 * - Default: tcp_mss= 65535
       
   281 * - Range: [0..65535]
       
   282 */
       
   283 _LIT(TCPIP_INI_TCP_MSS,             "tcp_mss");
       
   284 /**
       
   285 * TCP receive buffer size.
       
   286 * - Default: tcp_recv_buf= 8192
       
   287 * - Range: [1024..65535]
       
   288 */
       
   289 _LIT(TCPIP_INI_TCP_RECV_BUF,        "tcp_recv_buf");
       
   290 
       
   291 #ifdef SYMBIAN_ADAPTIVE_TCP_RECEIVE_WINDOW
       
   292 /**
       
   293 * TCP receive maximum window size.
       
   294 * - Default: tcp_recv_max_buf= 262144
       
   295 * - Range: [131070-1073741823]
       
   296 */
       
   297 _LIT(TCPIP_INI_TCP_RECV_MAX_WND,        "tcp_recv_max_wnd");
       
   298 #endif //SYMBIAN_ADAPTIVE_TCP_RECEIVE_WINDOW
       
   299 
       
   300 /**
       
   301 * TCP send buffer size.
       
   302 * - Default: tcp_send_buf= 8192
       
   303 * - Range: [1024..65535]
       
   304 */
       
   305 _LIT(TCPIP_INI_TCP_SEND_BUF,        "tcp_send_buf");
       
   306 /**
       
   307 * Minimum retransmission timeout (ms).
       
   308 * - Default: tcp_min_rto= 1000
       
   309 * - Range: 1000 ms
       
   310 */
       
   311 _LIT(TCPIP_INI_TCP_MIN_RTO,         "tcp_min_rto");
       
   312 /**
       
   313 * Maximum retransmission timeout (ms).
       
   314 * - Default: tcp_max_rto= 60000
       
   315 * - Range: 60000 ms
       
   316 */
       
   317 _LIT(TCPIP_INI_TCP_MAX_RTO,         "tcp_max_rto");
       
   318 /**
       
   319 * Initial retransmission timeout (ms).
       
   320 * - Default: tcp_initial_rto= 3000
       
   321 * - Range: [0..]
       
   322 */
       
   323 _LIT(TCPIP_INI_TCP_INITIAL_RTO,     "tcp_initial_rto");
       
   324 /**
       
   325 * SRTT smoothing.
       
   326 *
       
   327 * alpha = 1 /  tcp_srtt_smooth, as defined in RFC2988.
       
   328 * - Default: tcp_srtt_smooth= 8
       
   329 * - Range: [0..]
       
   330 */
       
   331 _LIT(TCPIP_INI_TCP_SRTT_SMOOTH,     "tcp_srtt_smooth");
       
   332 /**
       
   333 * MDEV smoothing.
       
   334 * beta = 1 /  tcp_rttvar_smooth, as defined in RFC2988.
       
   335 * - Default: tcp_rttvar_smooth= 4
       
   336 * - Range: [0..]
       
   337 */
       
   338 _LIT(TCPIP_INI_TCP_RTTVAR_SMOOTH,   "tcp_rttvar_smooth");
       
   339 /**
       
   340 * G value in RTO calculation (RFC2988).
       
   341 * Constant representing clock granularity.
       
   342 * - Default: machine specific.
       
   343 * - Range: [0..]
       
   344 */
       
   345 _LIT(TCPIP_INI_TCP_RTO_G,           "tcp_rto_g");
       
   346 /**
       
   347 * K value in RTO calculation (RFC2988).
       
   348 * K constant, RTO = SRTT + max(K * RTTVAR, G)  (RFC2988)
       
   349 * - Default: tcp_rto_k= 4
       
   350 * - Range: [0..]
       
   351 */
       
   352 _LIT(TCPIP_INI_TCP_RTO_K,           "tcp_rto_k");
       
   353 /**
       
   354 * Maximum retransmit burst size
       
   355 * - Default: tcp_max_burst= 2
       
   356 * - Range: [1..]
       
   357 */
       
   358 _LIT(TCPIP_INI_TCP_MAX_BURST,       "tcp_max_burst");
       
   359 /**
       
   360 * Delayed acknowledgement delay time (ms).
       
   361 * - Default: tcp_ack_delay= 200
       
   362 * - Range: [0..]
       
   363 */
       
   364 _LIT(TCPIP_INI_TCP_ACK_DELAY,       "tcp_ack_delay");
       
   365 /**
       
   366 * Number of retransmissions per connect() attempt.
       
   367 * - Default: tcp_syn_retries= 5
       
   368 * - Range: [0..]
       
   369 */
       
   370 _LIT(TCPIP_INI_TCP_SYN_RETRIES,     "tcp_syn_retries");
       
   371 /**
       
   372 * Number of retransmissions before black hole diagnostics.
       
   373 * Maximum retries before MTU reduction.
       
   374 * - Default: tcp_retries1= 3
       
   375 * - Range: [0..]
       
   376 */
       
   377 _LIT(TCPIP_INI_TCP_RETRIES1,        "tcp_retries1");
       
   378 /**
       
   379 * Maximum number of retransmissions.
       
   380 * - Default: tcp_retries2= 12
       
   381 * - Range: [0..]
       
   382 */
       
   383 _LIT(TCPIP_INI_TCP_RETRIES2,        "tcp_retries2");
       
   384 /**
       
   385 * MSL2 timeout (ms).
       
   386 * TIME-WAIT & FIN-WAIT timeout.
       
   387 * - Default: tcp_msl2= 60000
       
   388 * - Range: [0..]
       
   389 */
       
   390 _LIT(TCPIP_INI_TCP_MSL2,            "tcp_msl2");
       
   391 /**
       
   392 * Large initial window (RFC2414).
       
   393 * Set initial cwnd according to RFC2414
       
   394 * - Default: .tcp_rfc2414= 1
       
   395 * - Range: 1=enable, 0=disable.
       
   396 */
       
   397 _LIT(TCPIP_INI_TCP_RFC2414,         "tcp_rfc2414");
       
   398 /**
       
   399 * Initial congestion window size (segments) when RFC2414 is disabled.
       
   400 * - Default: tcp_initial_cwnd= 2
       
   401 * - Range: [1..]
       
   402 */
       
   403 _LIT(TCPIP_INI_TCP_INITIAL_CWND,    "tcp_initial_cwnd");
       
   404 /**
       
   405 * TCP timestamps (RFC1323).
       
   406 * - Default: tcp_timestamps= 1
       
   407 * - Range: 1=enable, 0=disable
       
   408 */
       
   409 _LIT(TCPIP_INI_TCP_TIMESTAMPS,      "tcp_timestamps");
       
   410 /**
       
   411 * Enable selective acknowledgements (RFC2018).
       
   412 * - Default: tcp_sack= 1
       
   413 * - Range: 1=enable, 0=disable
       
   414 */
       
   415 _LIT(TCPIP_INI_TCP_SACK,            "tcp_sack");
       
   416 /**
       
   417 * Apply TIME-WAIT state also to local connections.
       
   418 * - Default: tcp_local_timewait= 0
       
   419 * - Range: 1=enable, 0=disable
       
   420 */
       
   421 _LIT(TCPIP_INI_TCP_LOCAL_TIMEWAIT,  "tcp_local_timewait");
       
   422 /**
       
   423 * Typical degree of packet reordering in the network.
       
   424 * - Default: tcp_reordering= 3
       
   425 * - Range: [0..]
       
   426 */
       
   427 _LIT(TCPIP_INI_TCP_REORDERING,      "tcp_reordering");
       
   428 /**
       
   429 * Variant of the nagle algorithm.
       
   430 * - Default: tcp_strict_nagle= 0
       
   431 * - Range: 0 = modern, 1 = strict
       
   432 */
       
   433 _LIT(TCPIP_INI_TCP_STRICT_NAGLE,    "tcp_strict_nagle");
       
   434 /**
       
   435 * Limited transmit window size in segments (RFC3042).
       
   436 * - Default: tcp_ltx_window= 2
       
   437 * - Range: 0=disable, [1..]
       
   438 */
       
   439 _LIT(TCPIP_INI_TCP_LTX_WINDOW,      "tcp_ltx_window");
       
   440 /**
       
   441 * Zero window probe style.
       
   442 * - Default: tcp_probe_style= 0
       
   443 * - Range:
       
   444 *		- 0 = probe with a single byte (standard)
       
   445 *		- 1 = probe with a full segment (BSD)
       
   446 *		- 2 = probe with an out-of-window acknowledgement (experimental)
       
   447 */
       
   448 _LIT(TCPIP_INI_TCP_PROBE_STYLE,     "tcp_probe_style");
       
   449 /**
       
   450 * Acknowledge pushed segments immediately.
       
   451 *
       
   452 * - Default: ?
       
   453 * - Range: ?
       
   454 */
       
   455 _LIT(TCPIP_INI_TCP_PUSH_ACK,        "tcp_push_ack");
       
   456 /**
       
   457 * F-RTO, also disables timestamp spike detection.
       
   458 *
       
   459 * If enabled, the TCP sender tries to probe with new previously
       
   460 * unsent data segments after an RTO whether the RTO was spurious.
       
   461 * If the RTO is detected spurious, the sender continues by sending
       
   462 * new data instead of retransmitting.
       
   463 * - Default: tcp_frto= 0
       
   464 * - Range: 1 = enable, 0 = disable
       
   465 */
       
   466 _LIT(TCPIP_INI_TCP_FRTO,	    "tcp_frto");
       
   467 /**
       
   468 * Send DSACKs for out-of-order segments.
       
   469 * If enabled, send DSACKs in acknowledgements when receiving
       
   470 * duplicate segments (RFC 2883). The data sender behaviour is
       
   471 * not modified.
       
   472 * - Default: tcp_dsack= 1
       
   473 * - Range: 1 = enable, 0 = disable
       
   474 */
       
   475 _LIT(TCPIP_INI_TCP_DSACK,	    "tcp_dsack");
       
   476 /**
       
   477 * Interval between keepalive probes.
       
   478 * Delay for sending a TCP Keep-Alive probe after the connection
       
   479 * has become idle (seconds). This is also the interval between
       
   480 * succesful, replied keepalive probes.
       
   481 * - Default: tcp_keepalive_intv= 7200 (= 2h)
       
   482 * - Range: [0..]
       
   483 */
       
   484 _LIT(TCPIP_INI_TCP_KEEPALIVE_INTV,  "tcp_keepalive_intv");
       
   485 /**
       
   486 * Number of unreplied probes before quitting.
       
   487 * Number of unreplied TCP Keep-Alive probes to send
       
   488 * before the sender gives up and terminates the connection.
       
   489 * - Default: tcp_num_keepalives= 8
       
   490 * - Range: [1..]
       
   491 */
       
   492 _LIT(TCPIP_INI_TCP_NUM_KEEPALIVES,  "tcp_num_keepalives");
       
   493 /**
       
   494 * Interval between keepalive rexmits 
       
   495 * Interval between consecutive retransmissions of a Keep-Alive
       
   496 * probe if there has been no response from the other end (seconds).
       
   497 * - Default: tcp_keepalive_rxmt= 75
       
   498 * - Range: [0..1800]
       
   499 */
       
   500 _LIT(TCPIP_INI_TCP_KEEPALIVE_RXMT,  "tcp_keepalive_rxmt");
       
   501 
       
   502 /**
       
   503 * Number of FIN retransmissions before socket is excluded from route flow count.
       
   504 * After the FIN persistency limit is exceeded, link layer and TCP/IP stack is given permission
       
   505 * to go down if no one else uses them.
       
   506 * Value 0 means that socket is included in the interface flow count until it is really closed,
       
   507 * i.e. in TIME_WAIT state.
       
   508 * - Default: tcp_fin_persistency= 2
       
   509 * - Range: [0..tcp_retries2]
       
   510 */
       
   511 _LIT(TCPIP_INI_TCP_FIN_PERSISTENCY, "tcp_fin_persistency");
       
   512 
       
   513 /**
       
   514 Determines how to set congestion control parameters after spurious RTO.
       
   515 1 = Eifel response (revert ssthresh and cwnd).
       
   516 2 = Half congestion window and ssthresh.
       
   517 3 = Set cwnd to 1 but revert ssthresh (Early versions of DCLOR).
       
   518 
       
   519 - Default: tcp_spurious_rto_response= 1
       
   520 - Range: [1..3]
       
   521 */
       
   522 _LIT(TCPIP_INI_TCP_SPURIOUS_RTO_RESPONSE, "tcp_spurious_rto_response");
       
   523 
       
   524 /**
       
   525 * ECN.
       
   526 * Toggles Explicit Congestion Notification [RFC3168] on and off.
       
   527 * Two alternatives of ECN are available: when parameter value is 1
       
   528 * the host uses ECN capable bit ECT(1).  When value is 2, the host
       
   529 * uses ECN capable bit ECT(0). Of these two, value 2 is recommended,
       
   530 * because some older network nodes may not recognize ECT(1) bit.
       
   531 * - Default: tcp_ecn= 0
       
   532 * - Range: 0= disabled, 1 & 2 = enabled)
       
   533 */
       
   534 _LIT(TCPIP_INI_TCP_ECN,  	    "tcp_ecn");
       
   535 
       
   536 /**
       
   537 TCP Option alignment toggle.
       
   538 If set to 1, TCP options are aligned on 32-bit boundaries using the NOP option.
       
   539 - Default: tcp_alignopt= 0
       
   540 - Range: 0, 1
       
   541 */
       
   542 _LIT(TCPIP_INI_TCP_ALIGNOPT,	"tcp_alignopt");
       
   543 
       
   544 /**
       
   545 * TCP Window scaling option.
       
   546 * Controls TCP window scaling option [RFC 1323]. -1 means window scaling
       
   547 * is disabled. 0 means that window scaling capability is advertised in TCP
       
   548 * handshake and the advertised window scale factor is determined based on
       
   549 * the available receive window. Values 1 to 6 mean that window scaling is
       
   550 * advertised on TCP handshake, but the given scale factor is always used
       
   551 * in advertisement regardless of the receive window size.
       
   552 *
       
   553 * - Default: tcp_winscale= 0
       
   554 * - Range: [-1..6]
       
   555 */
       
   556 _LIT(TCPIP_INI_TCP_WINSCALE,	    "tcp_winscale");
       
   557 /** @} */
       
   558 
       
   559 /**
       
   560 * @name UDP parameters
       
   561 * @{
       
   562 */
       
   563 /** The section name <tt>[udp]</tt>. */
       
   564 _LIT(TCPIP_INI_UDP,                 "udp");
       
   565 /**
       
   566 * Causes UDP send to block on interface setup.
       
   567 * Block UDP send while waiting for network interface setup.
       
   568 * - Default: udp_wait_nif= 1
       
   569 * - Range: 1 = enable, 0=disable (1 is conformant with old Symbian IPv4 stack)
       
   570 */
       
   571 _LIT(TCPIP_INI_UDP_WAIT_NIF,        "udp_wait_nif");
       
   572 /**
       
   573 * Maximum inbound bytes queued by UDP.
       
   574 * UDP receive queue size (octets, including header). Received packets will be
       
   575 * discarded if receive queue is full. The queue will always hold at least one
       
   576 * packet, regardles of packet size.
       
   577 * - Default: udp_recv_buf= 8192
       
   578 * - Range: [0..655535]
       
   579 */
       
   580 _LIT(TCPIP_INI_UDP_RECV_BUF,        "udp_recv_buf");
       
   581 /** @} */
       
   582 
       
   583 /**
       
   584 * @name Generic network group options.
       
   585 * For sections [ip6], [ip], [icmp] and [icmp6].
       
   586 * The section name is the protocol name..
       
   587 * @{
       
   588 */
       
   589 /**
       
   590 * Maximum inbound bytes queued.
       
   591 *
       
   592 * Maximum inbound bytes queued by ip6, ip, icmp or icmp6
       
   593 * socket (SAP).
       
   594 *
       
   595 * The test at arrival of new packet goes as follows:
       
   596 *  - if already queued packets exceed the limit, packet is dropped
       
   597 *  - if already queued packets do not exceed the limit, packet is
       
   598 *    queued (even if doing so puts the queue over the limit)
       
   599 *
       
   600 * From above, some useful special cases follow:
       
   601 *
       
   602 * -	Zero limits queue to single packet at time. Incoming
       
   603 *	packets are dropped until application reads the queued
       
   604 *	packet.
       
   605 *
       
   606 * -	Negative value, nothing is queued and no data can be
       
   607 *	received via this socket (SAP).
       
   608 *
       
   609 * Default value: 8192
       
   610 */
       
   611 _LIT(TCPIP_INI_RECV_BUF,	"recv_buf");
       
   612 /** @} */
       
   613 
       
   614 /**
       
   615 * @name Hostname section
       
   616 *
       
   617 * @{
       
   618 */
       
   619 /** The section name <tt>[host]</tt> */
       
   620 _LIT(TCPIP_INI_HOST,			"host");
       
   621 /**
       
   622 * The host name.
       
   623 * The default value returned by RHostResolver::GetHostName(),
       
   624 * if no SetHostName() has been issued.
       
   625 *
       
   626 * - Default:  <tt>hostname= localhost</tt>.
       
   627 */
       
   628 _LIT(TCPIP_INI_HOSTNAME,		"hostname");
       
   629 /** @} */
       
   630 
       
   631 /**
       
   632 * @name Hook ordering options
       
   633 *
       
   634 * The ordering of outbound flowhooks, outbound and inbound posthooks
       
   635 * '*' indicates "position" of all hooks that don't match the specific
       
   636 * listed names.
       
   637 *
       
   638 * @note
       
   639 *	The options are only examined when a protocol binds to the stack.
       
   640 *	The control affects the bind only if the name matches exactly
       
   641 *	(case sensitive). The options can include protocol names that are
       
   642 *	not installed in the system (there is no harm, as it doesn't match
       
   643 *	any protocol).
       
   644 * @{
       
   645 */
       
   646 /** The section name <tt>[hook]</tt> */
       
   647 _LIT(TCPIP_INI_HOOK,			"hook");
       
   648 /**
       
   649 * Controls ordering of the outbound flow hooks.
       
   650 * For example, <tt>hook_flow= ipsec,mip6,*,foobar</tt> says that <tt>ipsec</tt>
       
   651 * hook will be run first, then <tt>mip6</tt>, and <tt>foobar</tt> will be the last.
       
   652 * All other hooks (matched by "*" are run between <tt>mip6</tt> and <tt>foobar</tt>.
       
   653 * If the "*" is missing, it is implicitly assumed to be at the end of the string. 
       
   654 */
       
   655 _LIT(TCPIP_INI_HOOK_FLOW,		"hook_flow");
       
   656 /**
       
   657 * Controls ordering of the inbound protocol hooks.
       
   658 * For example, <tt>hook_any= ipsec,*,foobar</tt> says that <tt>ipsec</tt>
       
   659 * hook will be run first, and <tt>foobar</tt> will be the last. This can
       
   660 * be useful, if <tt>foobar</tt> is a protocol that wants to handle only
       
   661 * packets that have been verified by the IPSEC.
       
   662 */
       
   663 _LIT(TCPIP_INI_HOOK_INANY,		"hook_inany");
       
   664 /**
       
   665 * Controls the ordering of outbound post-processing hooks.
       
   666 * For example, <tt>hook_outbound= *,probe,qos</tt> says that last two
       
   667 * post-processors before NIF are <tt>probe</tt> and <tt>qos</tt> in this order.
       
   668 * Any other post-processor will be run before them. If the "*" is missing,
       
   669 * it is implicitly assumed to be at the end of the string.
       
   670 */
       
   671 _LIT(TCPIP_INI_HOOK_OUTBOUND,	"hook_outbound");
       
   672 /**
       
   673 * Controls the ordering of inbound pre-processing hooks.
       
   674 * For example, <tt>hook_inbound= probe</tt> says that packet from the NIF
       
   675 * is given first to <tt>probe</tt>, and to other possible pre-processors after it.
       
   676 * If the "*" is missing, it is implicitly assumed to be at the end of the string.
       
   677 */
       
   678 _LIT(TCPIP_INI_HOOK_INBOUND,	"hook_inbound");
       
   679 /**
       
   680 * Controls the ordering of packet forwarding hooks.
       
   681 * Usage is similar to the above examples.
       
   682 */
       
   683 _LIT(TCPIP_INI_HOOK_FORWARD,	"hook_forward");
       
   684 /** @} */
       
   685 
       
   686 /**
       
   687 * @name Compile time default values
       
   688 *
       
   689 * Many TCPIP.INI file parameters will have a hard coded default,
       
   690 * if the value is not specified in the ini file. Some of the
       
   691 * default constants are defined below.
       
   692 *
       
   693 * The name of the constant is generated directly from the string
       
   694 * literal name according to the following template
       
   695 * <tt>
       
   696 *    TCPIP_INI_PARAMETER_NAME => KTcpipIni_ParameterName
       
   697 * </tt>
       
   698 * @{
       
   699 */
       
   700 /** <tt>frag_count= 10</tt> */
       
   701 const TInt KTcpipIni_FragCount = 10;	// [0..maxint]
       
   702 /** <tt>frag_total= 30000</tt> */
       
   703 const TInt KTcpipIni_FragTotal = 30000;	// [0..maxint]
       
   704 /** <tt>maxttl= 69</tt> */
       
   705 const TInt KTcpipIni_Maxttl = 69;		// [1..255]
       
   706 /** <tt>linklocalttl= 1</tt> */
       
   707 const TInt KTcpipIni_LinkLocalttl = 1;	// [-1,,255]
       
   708 /** <tt>maxdials= 1</tt> */
       
   709 const TInt KTcpipIni_Maxdials = 1;		// [0..maxint]
       
   710 /** <tt>forward= 0</tt> */
       
   711 const TInt KTcpipIni_Forward = 0;		// [0..1]
       
   712 /** <tt>ipv4linklocal= 0</tt> */
       
   713 const TInt KTcpipIni_Ipv4Linklocal = 0;	// [0..1]
       
   714 /** <tt>probeaddress= 0</tt> */
       
   715 const TInt KTcpipIni_ProbeAddress = 0;	// [0..1]
       
   716 /** <tt>nodefendid= 0</tt> */
       
   717 const TInt KTcpipIni_NoDefendId = 0;	// [0..1]
       
   718 /** <tt>noiferror= 0</tt> */
       
   719 const TInt KTcpipIni_Noiferror = 0;		// [0..1]
       
   720 /** <tt>maxholdtime= 60</tt> */
       
   721 const TInt KTcpipIni_Maxholdtime = 60;	// [0..maxint]
       
   722 /** <tt>icmp_limit= 10</tt> */
       
   723 const TInt KTcpipIni_IcmpLimit = 30;	// [0..maxint]
       
   724 
       
   725 /** <tt>timeoutpriority= 12</tt>.
       
   726 * Hardcoded for now. No tcpip.ini parameter yet. This
       
   727 * defines the CActive priority used by the interface
       
   728 * manager for it's internal CTimeoutManager.
       
   729 */
       
   730 const TInt KTcpipIni_TimeoutPriority = 12;
       
   731 /** <tt>keepinterfaceup= 1</tt> */
       
   732 const TInt KTcpipIni_KeepInterfaceUp = 1;	// [0..1]
       
   733 /** <tt>shutdowndelay= 10</tt> */
       
   734 const TInt KTcpipIni_ShutdownDelay = 10;	// [0..maxint] (0=no delay)
       
   735 /** <tt>hostname= localhost</tt> */
       
   736 _LIT(KTcpipIni_Hostname, "localhost");	// default host name
       
   737 /** @} */
       
   738 
       
   739 /** @} */
       
   740 
       
   741 #endif