Subversion Repositories Kolibri OS

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
3545 hidnplayr 1
struct  LHEAD
2
        next            dd ?   ;next object in list
3
        prev            dd ?   ;prev object in list
4
ends
5
 
6
struct  MUTEX
7
        lhead   LHEAD
8
        count   dd ?
9
ends
10
 
11
 
12
struct  SOCKET
13
 
14
        NextPtr                 dd ? ; pointer to next socket in list
15
        PrevPtr                 dd ? ; pointer to previous socket in list
16
        Number                  dd ? ; socket number
17
 
18
        mutex                   MUTEX
19
 
20
        PID                     dd ? ; application process id
21
        Domain                  dd ? ; INET/UNIX/..
22
        Type                    dd ? ; RAW/STREAM/DGRAP
23
        Protocol                dd ? ; ICMP/IPv4/ARP/TCP/UDP
24
        errorcode               dd ?
25
        device                  dd ?
26
 
27
        options                 dd ?
28
        state                   dd ?
29
        backlog                 dw ? ; how many incomming connections that can be queued
30
 
31
        snd_proc                dd ?
32
        rcv_proc                dd ?
33
 
34
ends
35
 
36
struct  IP_SOCKET               SOCKET
37
 
38
        LocalIP                 rd 4 ; network byte order
39
        RemoteIP                rd 4 ; network byte order
40
 
41
ends
42
 
43
struct  TCP_SOCKET              IP_SOCKET
44
 
45
        LocalPort               dw ? ; network byte order
46
        RemotePort              dw ? ; network byte order
47
 
48
        t_state                 dd ? ; TCB state
49
        t_rxtshift              db ?
50
                                rb 3 ; align
51
        t_rxtcur                dd ?
52
        t_dupacks               dd ?
53
        t_maxseg                dd ?
54
        t_force                 dd ?
55
        t_flags                 dd ?
56
 
57
;---------------
58
; RFC783 page 21
59
 
60
; send sequence
61
        SND_UNA                 dd ? ; sequence number of unack'ed sent Packets
62
        SND_NXT                 dd ? ; next send sequence number to use
63
        SND_UP                  dd ? ; urgent pointer
64
        SND_WL1                 dd ? ; window minus one
65
        SND_WL2                 dd ? ;
66
        ISS                     dd ? ; initial send sequence number
67
        SND_WND                 dd ? ; send window
68
 
69
; receive sequence
70
        RCV_WND                 dd ? ; receive window
71
        RCV_NXT                 dd ? ; next receive sequence number to use
72
        RCV_UP                  dd ? ; urgent pointer
73
        IRS                     dd ? ; initial receive sequence number
74
 
75
;---------------------
76
; Additional variables
77
 
78
; receive variables
79
        RCV_ADV                 dd ?
80
 
81
; retransmit variables
82
        SND_MAX                 dd ?
83
 
84
; congestion control
85
        SND_CWND                dd ?
86
        SND_SSTHRESH            dd ?
87
 
88
;----------------------
89
; Transmit timing stuff
90
        t_idle                  dd ?
91
        t_rtt                   dd ?
92
        t_rtseq                 dd ?
93
        t_srtt                  dd ?
94
        t_rttvar                dd ?
95
        t_rttmin                dd ?
96
        max_sndwnd              dd ?
97
 
98
;-----------------
99
; Out-of-band data
100
        t_oobflags              dd ?
101
        t_iobc                  dd ?
102
        t_softerror             dd ?
103
 
104
 
105
;---------
106
; RFC 1323                              ; the order of next 4 elements may not change
107
 
108
        SND_SCALE               db ?
109
        RCV_SCALE               db ?
110
        requested_s_scale       db ?
111
        request_r_scale         db ?
112
 
113
        ts_recent               dd ?    ; a copy of the most-recent valid timestamp from the other end
114
        ts_recent_age           dd ?
115
        last_ack_sent           dd ?
116
 
117
 
118
;-------
119
; Timers
120
        timer_retransmission    dd ? ; rexmt
121
        timer_persist           dd ?
122
        timer_keepalive         dd ? ; keepalive/syn timeout
123
        timer_timed_wait        dd ? ; also used as 2msl timer
124
 
125
; extra
126
 
127
        ts_ecr                  dd ? ; timestamp echo reply
128
        ts_val                  dd ?
129
        temp_bits               db ?
130
 
131
ends
132
 
133
struct  UDP_SOCKET              IP_SOCKET
134
 
135
        LocalPort               dw ? ; network byte order
136
        RemotePort              dw ? ; network byte order
137
        firstpacket             db ?
138
 
139
ends
140
 
141
 
142
struct  ICMP_SOCKET             IP_SOCKET
143
 
144
        Identifier              dw ?
145
 
146
ends
147
 
148
 
149
struct  RING_BUFFER
150
 
151
        start_ptr               dd ? ; Pointer to start of buffer
152
        end_ptr                 dd ? ; pointer to end of buffer
153
        read_ptr                dd ? ; Read pointer
154
        write_ptr               dd ? ; Write pointer
155
        size                    dd ? ; Number of bytes buffered
156
 
157
ends
158
 
159
struct  STREAM_SOCKET           TCP_SOCKET
160
 
161
        rcv                     RING_BUFFER
162
        snd                     RING_BUFFER
163
 
164
ends