]> git.proxmox.com Git - mirror_edk2.git/blob - MdeModulePkg/Universal/Network/Tcp4Dxe/SockImpl.h
Use Mde library and definition instead of some native definitions in NetLib, to simpl...
[mirror_edk2.git] / MdeModulePkg / Universal / Network / Tcp4Dxe / SockImpl.h
1 /** @file
2
3 Copyright (c) 2005 - 2006, Intel Corporation
4 All rights reserved. This program and the accompanying materials
5 are licensed and made available under the terms and conditions of the BSD License
6 which accompanies this distribution. The full text of the license may be found at
7 http://opensource.org/licenses/bsd-license.php
8
9 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
10 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
11
12 Module Name:
13
14 SockImpl.h
15
16 Abstract:
17
18
19 **/
20
21 #ifndef _SOCK_IMPL_H_
22 #define _SOCK_IMPL_H_
23
24 #include "Socket.h"
25
26
27 #define SOCK_TRIM_RCV_BUFF(Sock, Len) \
28 (NetbufQueTrim ((Sock)->RcvBuffer.DataQueue, (Len)))
29
30 #define SIGNAL_TOKEN(Token, TokenStatus) \
31 do { \
32 (Token)->Status = (TokenStatus); \
33 gBS->SignalEvent ((Token)->Event); \
34 } while (0)
35
36 #define SOCK_HEADER_SPACE (60 + 60 + 72)
37
38 //
39 // Supporting function for both SockImpl and SockInterface
40 //
41 VOID
42 SockFreeFoo (
43 IN EFI_EVENT Event
44 );
45
46 EFI_STATUS
47 SockProcessTcpSndData (
48 IN SOCKET *Sock,
49 IN VOID *TcpTxData
50 );
51
52 VOID
53 SockSetTcpRxData (
54 IN SOCKET *Sock,
55 IN VOID *TcpRxData,
56 IN UINT32 RcvdBytes,
57 IN BOOLEAN IsOOB
58 );
59
60 UINT32
61 SockProcessRcvToken (
62 IN SOCKET *Sock,
63 IN SOCK_IO_TOKEN *RcvToken
64 );
65
66 VOID
67 SockConnFlush (
68 IN SOCKET *Sock
69 );
70
71 SOCKET *
72 SockCreate (
73 IN SOCK_INIT_DATA *SockInitData
74 );
75
76 VOID
77 SockDestroy (
78 IN SOCKET *Sock
79 );
80
81 #endif