3 This file defines EFI Transmission Control Protocol.
5 Copyright (c) 2004 - 2008, Intel Corporation
6 All rights reserved. This program and the accompanying materials
7 are licensed and made available under the terms and conditions of the BSD License
8 which accompanies this distribution. The full text of the license may be found at
9 http://opensource.org/licenses/bsd-license.php
11 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
12 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
21 #include <Protocol/PxeBaseCode.h>
24 // PXE Base Code protocol
27 #define EFI_TCP_PROTOCOL_GUID \
28 { 0x02b3d5f2, 0xac28, 0x11d3, { 0x9a, 0x2d, 0x00, 0x90, 0x27, 0x3f, 0xc1, 0x4d }}
31 typedef UINT16 EFI_PXE_BASE_CODE_TCP_PORT
;
34 // Port Receive Filter definitions
36 #define EFI_PXE_BASE_CODE_MAX_PORTCNT 8
41 EFI_IP_ADDRESS IpList
[EFI_PXE_BASE_CODE_MAX_PORTCNT
];
42 } EFI_TCP_PORT_FILTER
;
46 (EFIAPI
*EFI_TCP_WRITE
) (
47 IN EFI_PXE_BASE_CODE_PROTOCOL
*This
,
49 IN UINT16
*UrgentPointer
,
50 IN UINT32
*SequenceNumber
,
52 IN UINT16
*HlenResCode
,
54 IN EFI_IP_ADDRESS
*DestIp
,
56 IN EFI_IP_ADDRESS
*GatewayIp
, OPTIONAL
57 IN EFI_IP_ADDRESS
*SrcIp
, OPTIONAL
58 IN UINT16
*SrcPort
, OPTIONAL
59 IN UINTN
*HeaderSize
, OPTIONAL
60 IN VOID
*HeaderPtr
, OPTIONAL
67 (EFIAPI
*EFI_TCP_READ
) (
68 IN EFI_PXE_BASE_CODE_PROTOCOL
*This
,
70 IN OUT EFI_IP_ADDRESS
*DestIp
, OPTIONAL
71 IN OUT UINT16
*DestPort
, OPTIONAL
72 IN OUT EFI_IP_ADDRESS
*SrcIp
, OPTIONAL
73 IN OUT UINT16
*SrcPort
, OPTIONAL
74 IN UINTN
*HeaderSize
, OPTIONAL
75 IN VOID
*HeaderPtr
, OPTIONAL
76 IN OUT UINTN
*BufferSize
,
82 (EFIAPI
*EFI_TCP_SET_PORT_FILTER
) (
83 IN EFI_PXE_BASE_CODE_PROTOCOL
*This
,
84 IN EFI_TCP_PORT_FILTER
*NewFilter
88 // TCP Protocol structure
90 typedef struct _EFI_TCP_PROTOCOL
{
91 EFI_TCP_WRITE TcpWrite
;
93 EFI_TCP_SET_PORT_FILTER SetPortFilter
;
96 extern EFI_GUID gEfiTcpProtocolGuid
;
98 #endif /* _EFITCP_H */