| /******************************************************************************* |
| |
| D bindings for the Linux's netinet/tcp.h structures. |
| |
| Defines constants found in tcp.h header on Linux system. |
| |
| Copyright: Copyright (c) 2016 Sociomantic Labs. All rights reserved. |
| License: $(HTTP www.boost.org/LICENSE_1_0.txt, Boost License 1.0). |
| Authors: Nemanja Boric |
| |
| *******************************************************************************/ |
| |
| module core.sys.linux.netinet.tcp; |
| |
| /* |
| * Copyright (c) 1982, 1986, 1993 |
| * The Regents of the University of California. All rights reserved. |
| * |
| * Redistribution and use in source and binary forms, with or without |
| * modification, are permitted provided that the following conditions |
| * are met: |
| * 1. Redistributions of source code must retain the above copyright |
| * notice, this list of conditions and the following disclaimer. |
| * 2. Redistributions in binary form must reproduce the above copyright |
| * notice, this list of conditions and the following disclaimer in the |
| * documentation and/or other materials provided with the distribution. |
| * 4. Neither the name of the University nor the names of its contributors |
| * may be used to endorse or promote products derived from this software |
| * without specific prior written permission. |
| * |
| * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND |
| * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
| * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE |
| * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE |
| * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL |
| * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS |
| * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) |
| * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT |
| * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY |
| * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF |
| * SUCH DAMAGE. |
| * |
| * @(#)tcp.h 8.1 (Berkeley) 6/10/93 |
| */ |
| |
| version (linux): |
| |
| /// User-settable options (used with setsockopt). |
| enum |
| { |
| TCP_NODELAY = 1, /// Don't delay send to coalesce packets |
| TCP_MAXSEG = 2, /// Set maximum segment size |
| TCP_CORK = 3, /// Control sending of partial frames |
| TCP_KEEPIDLE = 4, /// Start keeplives after this period |
| TCP_KEEPINTVL = 5, /// Interval between keepalives |
| TCP_KEEPCNT = 6, /// Number of keepalives before death |
| TCP_SYNCNT = 7, /// Number of SYN retransmits |
| TCP_LINGER2 = 8, /// Life time of orphaned FIN-WAIT-2 state |
| TCP_DEFER_ACCEPT = 9, /// Wake up listener only when data arrive |
| TCP_WINDOW_CLAMP = 10, /// Bound advertised window |
| TCP_INFO = 11, /// Information about this connection. |
| TCP_QUICKACK = 12, /// Bock/reenable quick ACKs. |
| TCP_CONGESTION = 13, /// Congestion control algorithm. |
| TCP_MD5SIG = 14, /// TCP MD5 Signature (RFC2385) |
| TCP_COOKIE_TRANSACTIONS = 15, /// TCP Cookie Transactions |
| TCP_THIN_LINEAR_TIMEOUTS = 16, /// Use linear timeouts for thin streams |
| TCP_THIN_DUPACK = 17, /// Fast retrans. after 1 dupack |
| TCP_USER_TIMEOUT = 18, /// How long for loss retry before timeout |
| TCP_REPAIR = 19, /// TCP sock is under repair right now |
| TCP_REPAIR_QUEUE = 20, /// Set TCP queue to repair |
| TCP_QUEUE_SEQ = 21, /// Set sequence number of repaired queue. |
| TCP_REPAIR_OPTIONS = 22, /// Repair TCP connection options |
| TCP_FASTOPEN = 23, /// Enable FastOpen on listeners |
| TCP_TIMESTAMP = 24, /// TCP time stamp |
| TCP_NOTSENT_LOWAT = 25, /// Limit number of unsent bytes in write queue. |
| TCP_CC_INFO = 26, /// Get Congestion Control (optional) info. |
| TCP_SAVE_SYN = 27, /// Record SYN headers for new connections. |
| TCP_SAVED_SYN = 28, /// Get SYN headers recorded for connection. |
| } |