]> git.proxmox.com Git - mirror_edk2.git/blame - MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Func.h
Fixed EBC build issues.
[mirror_edk2.git] / MdeModulePkg / Universal / Network / Tcp4Dxe / Tcp4Func.h
CommitLineData
8a67d61d 1/** @file
2
3Copyright (c) 2005 - 2006, Intel Corporation
4All rights reserved. This program and the accompanying materials
5are licensed and made available under the terms and conditions of the BSD License
6which accompanies this distribution. The full text of the license may be found at
7http://opensource.org/licenses/bsd-license.php
8
9THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
10WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
11
12Module Name:
13
14 Tcp4Func.h
15
16Abstract:
17
18
19**/
20
21#ifndef _TCP4_FUNC_H_
22#define _TCP4_FUNC_H_
23
24//
25// Declaration of all the functions in TCP
26// protocol. It is intended to keep tcp.h
27// clear.
28//
29
30//
31// Functions in tcp.c
32//
33BOOLEAN
34TcpFindTcbByPeer (
35 IN EFI_IPv4_ADDRESS *Addr,
36 IN TCP_PORTNO Port
37 );
38
39TCP_CB *
40TcpLocateTcb (
41 IN TCP_PORTNO LocalPort,
42 IN UINT32 LocalIp,
43 IN TCP_PORTNO RemotePort,
44 IN UINT32 RemoteIp,
45 IN BOOLEAN Syn
46 );
47
48INTN
49TcpInsertTcb (
50 IN TCP_CB *Tcb
51 );
52
53TCP_CB *
54TcpCloneTcb (
55 IN TCP_CB *Tcb
56 );
57
58TCP_SEQNO
59TcpGetIss (
60 VOID
61 );
62
63VOID
64TcpInitTcbLocal (
65 IN TCP_CB *Tcb
66 );
67
68VOID
69TcpInitTcbPeer (
70 IN TCP_CB *Tcb,
71 IN TCP_SEG *Seg,
72 IN TCP_OPTION *Opt
73 );
74
75UINT16
76TcpGetRcvMss (
77 IN SOCKET *Sock
78 );
79
80VOID
81TcpSetState (
82 IN TCP_CB *Tcb,
83 IN UINT8 State
84 );
85
86//
87// Functions in Tcp4Output.c
88//
89INTN
90TcpSendIpPacket (
91 IN TCP_CB *Tcb,
92 IN NET_BUF *Nbuf,
93 IN UINT32 Src,
94 IN UINT32 Dst
95 );
96
97INTN
98TcpToSendData (
99 IN TCP_CB *Tcb,
100 IN INTN Force
101 );
102
103VOID
104TcpToSendAck (
105 IN TCP_CB *Tcb
106 );
107
108VOID
109TcpSendAck (
110 IN TCP_CB *Tcb
111 );
112
113INTN
114TcpSendZeroProbe (
115 IN TCP_CB *Tcb
116 );
117
118INTN
119TcpDeliverData (
120 IN TCP_CB *Tcb
121 );
122
123INTN
124TcpSendReset (
125 IN TCP_CB *Tcb,
126 IN TCP_HEAD *Head,
127 IN INT32 Len,
128 IN UINT32 Local,
129 IN UINT32 Remote
130 );
131
132UINT32
133TcpRcvWinOld (
134 IN TCP_CB *Tcb
135 );
136
137UINT32
138TcpRcvWinNow (
139 IN TCP_CB *Tcb
140 );
141
142INTN
143TcpRetransmit (
144 IN TCP_CB *Tcb,
145 IN TCP_SEQNO Seq
146 );
147
148UINT32
149TcpDataToSend (
150 IN TCP_CB *Tcb,
151 IN INTN Force
152 );
153
154INTN
155TcpVerifySegment (
156 IN NET_BUF *Nbuf
157 );
158
159INTN
160TcpCheckSndQue (
161 IN NET_LIST_ENTRY *Head
162 );
163
164NET_BUF *
165TcpGetSegmentSndQue (
166 IN TCP_CB *Tcb,
167 IN TCP_SEQNO Seq,
168 IN UINT32 Len
169 );
170
171NET_BUF *
172TcpGetSegmentSock (
173 IN TCP_CB *Tcb,
174 IN TCP_SEQNO Seq,
175 IN UINT32 Len
176 );
177
178NET_BUF *
179TcpGetSegment (
180 IN TCP_CB *Tcb,
181 IN TCP_SEQNO Seq,
182 IN UINT32 Len
183 );
184
185TCP_SEQNO
186TcpGetMaxSndNxt (
187 IN TCP_CB *Tcb
188 );
189
190//
191// Functions from Tcp4Input.c
192//
193VOID
194TcpIcmpInput (
195 IN NET_BUF *Nbuf,
196 IN ICMP_ERROR IcmpErr,
197 IN UINT32 Src,
198 IN UINT32 Dst
199 );
200
201INTN
202TcpInput (
203 IN NET_BUF *Nbuf,
204 IN UINT32 Src,
205 IN UINT32 Dst
206 );
207
208INTN
209TcpSeqAcceptable (
210 IN TCP_CB *Tcb,
211 IN TCP_SEG *Seg
212 );
213
214VOID
215TcpFastRecover (
216 IN TCP_CB *Tcb,
217 IN TCP_SEG *Seg
218 );
219
220VOID
221TcpFastLossRecover (
222 IN TCP_CB *Tcb,
223 IN TCP_SEG *Seg
224 );
225
226VOID
227TcpComputeRtt (
228 IN TCP_CB *Tcb,
229 IN UINT32 Measure
230 );
231
232INTN
233TcpTrimInWnd (
234 IN TCP_CB *Tcb,
235 IN NET_BUF *Buf
236 );
237
238VOID
239TcpQueueData (
240 IN TCP_CB *Tcb,
241 IN NET_BUF *Nbuf
242 );
243
244VOID
245TcpAdjustSndQue (
246 IN TCP_CB *Tcb,
247 IN TCP_SEQNO Ack
248 );
249
250//
251// Functions from Tcp4Misc.c
252//
253UINT16
254TcpChecksum (
255 IN NET_BUF *Buf,
256 IN UINT16 HeadChecksum
257 );
258
259TCP_SEG *
260TcpFormatNetbuf (
261 IN TCP_CB *Tcb,
262 IN NET_BUF *Nbuf
263 );
264
265VOID
266TcpOnAppConnect (
267 IN TCP_CB *Tcb
268 );
269
270INTN
271TcpOnAppConsume (
272 IN TCP_CB *Tcb
273 );
274
275VOID
276TcpOnAppClose (
277 IN TCP_CB *Tcb
278 );
279
280INTN
281TcpOnAppSend (
282 IN TCP_CB *Tcb
283 );
284
285VOID
286TcpOnAppAbort (
287 IN TCP_CB *Tcb
288 );
289
290VOID
291TcpResetConnection (
292 IN TCP_CB *Tcb
293 );
294
295//
296// Functions in Tcp4Timer.c
297//
298VOID
299TcpClose (
300 IN TCP_CB *Tcb
301 );
302
303VOID
304EFIAPI
305TcpTicking (
306 IN EFI_EVENT Event,
307 IN VOID *Context
308 );
309
310VOID
311TcpSetTimer (
312 IN TCP_CB *Tcb,
313 IN UINT16 Timer,
314 IN UINT32 TimeOut
315 );
316
317VOID
318TcpClearTimer (
319 IN TCP_CB *Tcb,
320 IN UINT16 Timer
321 );
322
323VOID
324TcpClearAllTimer (
325 IN TCP_CB *Tcb
326 );
327
328VOID
329TcpSetProbeTimer (
330 IN TCP_CB *Tcb
331 );
332
333VOID
334TcpSetKeepaliveTimer (
335 IN TCP_CB *Tcb
336 );
337
338VOID
339TcpBackoffRto (
340 IN TCP_CB *Tcb
341 );
342
343EFI_STATUS
344TcpSetVariableData (
345 IN TCP4_SERVICE_DATA *Tcp4Service
346 );
347
348VOID
349TcpClearVariableData (
350 IN TCP4_SERVICE_DATA *Tcp4Service
351 );
352
353#endif