]> git.proxmox.com Git - mirror_edk2.git/blob - MdeModulePkg/Universal/Network/Tcp4Dxe/SockImpl.h
Import ArpDxe, Dhcp4Dxe, Ip4Dxe, Mtftp4Dxe, PxeBcDxe and PxeDhcp4Dxe.
[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 #define SOCK_DEBUG_ERROR(PrintArg) NET_DEBUG_ERROR("Sock", PrintArg)
27 #define SOCK_DEBUG_WARN(PrintArg) NET_DEBUG_WARNING("Sock", PrintArg)
28 #define SOCK_DEBUG_TRACE(PrintArg) NET_DEBUG_TRACE("Sock", PrintArg)
29
30 #define SOCK_TRIM_RCV_BUFF(Sock, Len) \
31 (NetbufQueTrim ((Sock)->RcvBuffer.DataQueue, (Len)))
32
33 #define SIGNAL_TOKEN(Token, TokenStatus) \
34 do { \
35 (Token)->Status = (TokenStatus); \
36 gBS->SignalEvent ((Token)->Event); \
37 } while (0)
38
39 #define SOCK_HEADER_SPACE (60 + 60 + 72)
40
41 //
42 // Supporting function for both SockImpl and SockInterface
43 //
44 VOID
45 SockFreeFoo (
46 IN EFI_EVENT Event
47 );
48
49 EFI_STATUS
50 SockProcessTcpSndData (
51 IN SOCKET *Sock,
52 IN VOID *TcpTxData
53 );
54
55 VOID
56 SockSetTcpRxData (
57 IN SOCKET *Sock,
58 IN VOID *TcpRxData,
59 IN UINT32 RcvdBytes,
60 IN BOOLEAN IsOOB
61 );
62
63 UINT32
64 SockProcessRcvToken (
65 IN SOCKET *Sock,
66 IN SOCK_IO_TOKEN *RcvToken
67 );
68
69 VOID
70 SockConnFlush (
71 IN SOCKET *Sock
72 );
73
74 SOCKET *
75 SockCreate (
76 IN SOCK_INIT_DATA *SockInitData
77 );
78
79 VOID
80 SockDestroy (
81 IN SOCKET *Sock
82 );
83
84 #endif