ReactOS 0.4.16-dev-297-gc569aee
tcpbase.h
Go to the documentation of this file.
1
7/*
8 * Copyright (c) 2001-2004 Swedish Institute of Computer Science.
9 * All rights reserved.
10 *
11 * Redistribution and use in source and binary forms, with or without modification,
12 * are permitted provided that the following conditions are met:
13 *
14 * 1. Redistributions of source code must retain the above copyright notice,
15 * this list of conditions and the following disclaimer.
16 * 2. Redistributions in binary form must reproduce the above copyright notice,
17 * this list of conditions and the following disclaimer in the documentation
18 * and/or other materials provided with the distribution.
19 * 3. The name of the author may not be used to endorse or promote products
20 * derived from this software without specific prior written permission.
21 *
22 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
23 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
24 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
25 * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
26 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
27 * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
28 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
29 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
30 * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
31 * OF SUCH DAMAGE.
32 *
33 * This file is part of the lwIP TCP/IP stack.
34 *
35 * Author: Adam Dunkels <adam@sics.se>
36 *
37 */
38#ifndef LWIP_HDR_TCPBASE_H
39#define LWIP_HDR_TCPBASE_H
40
41#include "lwip/opt.h"
42
43#if LWIP_TCP /* don't build if not configured for use in lwipopts.h */
44
45#ifdef __cplusplus
46extern "C" {
47#endif
48
49
50#if LWIP_WND_SCALE
51typedef u32_t tcpwnd_size_t;
52#else
53typedef u16_t tcpwnd_size_t;
54#endif
55
56enum tcp_state {
57 CLOSED = 0,
58 LISTEN = 1,
59 SYN_SENT = 2,
60 SYN_RCVD = 3,
61 ESTABLISHED = 4,
62 FIN_WAIT_1 = 5,
63 FIN_WAIT_2 = 6,
64 CLOSE_WAIT = 7,
65 CLOSING = 8,
66 LAST_ACK = 9,
67 TIME_WAIT = 10
68};
69/* ATTENTION: this depends on state number ordering! */
70#define TCP_STATE_IS_CLOSING(state) ((state) >= FIN_WAIT_1)
71
72/* Flags for "apiflags" parameter in tcp_write */
73#define TCP_WRITE_FLAG_COPY 0x01
74#define TCP_WRITE_FLAG_MORE 0x02
75
76#define TCP_PRIO_MIN 1
77#define TCP_PRIO_NORMAL 64
78#define TCP_PRIO_MAX 127
79
80const char* tcp_debug_state_str(enum tcp_state s);
81
82#ifdef __cplusplus
83}
84#endif
85
86#endif /* LWIP_TCP */
87
88#endif /* LWIP_HDR_TCPBASE_H */
GLdouble s
Definition: gl.h:2039
uint32_t u32_t
Definition: arch.h:129
uint16_t u16_t
Definition: arch.h:127