emulator/emulatorbsp/wpdpack/include/tcp_session.h
changeset 0 cec860690d41
equal deleted inserted replaced
-1:000000000000 0:cec860690d41
       
     1 /*
       
     2  * Copyright (c) 2001 - 2003
       
     3  * NetGroup, Politecnico di Torino (Italy)
       
     4  * All rights reserved.
       
     5  *
       
     6  * Redistribution and use in source and binary forms, with or without
       
     7  * modification, are permitted provided that the following conditions
       
     8  * are met:
       
     9  *
       
    10  * 1. Redistributions of source code must retain the above copyright
       
    11  * notice, this list of conditions and the following disclaimer.
       
    12  * 2. Redistributions in binary form must reproduce the above copyright
       
    13  * notice, this list of conditions and the following disclaimer in the
       
    14  * documentation and/or other materials provided with the distribution.
       
    15  * 3. Neither the name of the Politecnico di Torino nor the names of its
       
    16  * contributors may be used to endorse or promote products derived from
       
    17  * this software without specific prior written permission.
       
    18  *
       
    19  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
       
    20  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
       
    21  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
       
    22  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
       
    23  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
       
    24  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
       
    25  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
       
    26  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
       
    27  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
       
    28  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
       
    29  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
       
    30  *
       
    31  */
       
    32 
       
    33 #ifndef __tcp_session
       
    34 #define __tcp_session
       
    35 
       
    36 #ifdef WIN32
       
    37 #include "tme.h"
       
    38 #endif
       
    39 
       
    40 #ifdef __FreeBSD__
       
    41 
       
    42 #ifdef _KERNEL
       
    43 #include <net/tme/tme.h>
       
    44 #else
       
    45 #include <tme/tme.h>
       
    46 #endif
       
    47 
       
    48 #endif
       
    49 
       
    50 #define UNKNOWN			0
       
    51 #define SYN_RCV			1
       
    52 #define SYN_ACK_RCV		2
       
    53 #define ESTABLISHED		3
       
    54 #define CLOSED_RST		4
       
    55 #define FIN_CLN_RCV		5
       
    56 #define FIN_SRV_RCV		6
       
    57 #define CLOSED_FIN		7
       
    58 #define ERROR_TCP		8
       
    59 #define FIRST_IS_CLN	0
       
    60 #define	FIRST_IS_SRV	0xffffffff
       
    61 #define FIN_CLN			1
       
    62 #define	FIN_SRV			2
       
    63 
       
    64 #define MAX_WINDOW 65536
       
    65 
       
    66 typedef struct __tcp_data
       
    67 {
       
    68 	struct timeval timestamp_block; /*DO NOT MOVE THIS VALUE*/
       
    69 	struct timeval syn_timestamp;
       
    70 	struct timeval last_timestamp;
       
    71 	struct timeval syn_ack_timestamp;
       
    72 	uint32 direction;
       
    73 	uint32 seq_n_0_srv;
       
    74 	uint32 seq_n_0_cln;
       
    75 	uint32 ack_srv; /* acknowledge of (data sent by server) */
       
    76 	uint32 ack_cln; /* acknowledge of (data sent by client) */
       
    77 	uint32 status;
       
    78 	uint32 pkts_cln_to_srv;
       
    79 	uint32 pkts_srv_to_cln;
       
    80 	uint32 bytes_srv_to_cln;
       
    81 	uint32 bytes_cln_to_srv;
       
    82 	uint32 close_state;
       
    83 }
       
    84 	 tcp_data;
       
    85 
       
    86 #define FIN		1
       
    87 #define	SYN		2
       
    88 #define RST		4
       
    89 #define PSH		8
       
    90 #define ACK		16
       
    91 #define URG		32
       
    92 
       
    93 #define	TCP_SESSION						0x00000800
       
    94 uint32 tcp_session(uint8 *block, uint32 pkt_size, TME_DATA *data, MEM_TYPE *mem_ex, uint8 *mem_data);
       
    95 
       
    96 #endif