3 Copyright (c) 2004, 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
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.
18 EFI Transmission Control Protocol
31 #include EFI_PROTOCOL_DEFINITION(PxeBaseCode)
34 // PXE Base Code protocol
37 #define EFI_TCP_PROTOCOL_GUID \
38 { 0x02b3d5f2, 0xac28, 0x11d3, 0x9a, 0x2d, 0x00, 0x90, 0x27, 0x3f, 0xc1, 0x4d }
40 EFI_FORWARD_DECLARATION (EFI_TCP_PROTOCOL
);
43 typedef UINT16 EFI_PXE_BASE_CODE_TCP_PORT
;
46 // Port Receive Filter definitions
48 #define EFI_PXE_BASE_CODE_MAX_PORTCNT 8
53 EFI_IP_ADDRESS IpList
[EFI_PXE_BASE_CODE_MAX_PORTCNT
];
54 } EFI_TCP_PORT_FILTER
;
58 (EFIAPI
*EFI_TCP_WRITE
) (
59 IN EFI_PXE_BASE_CODE_PROTOCOL
*This
,
61 IN UINT16
*UrgentPointer
,
62 IN UINT32
*SequenceNumber
,
64 IN UINT16
*HlenResCode
,
66 IN EFI_IP_ADDRESS
*DestIp
,
68 IN EFI_IP_ADDRESS
*GatewayIp
, OPTIONAL
69 IN EFI_IP_ADDRESS
*SrcIp
, OPTIONAL
70 IN UINT16
*SrcPort
, OPTIONAL
71 IN UINTN
*HeaderSize
, OPTIONAL
72 IN VOID
*HeaderPtr
, OPTIONAL
79 (EFIAPI
*EFI_TCP_READ
) (
80 IN EFI_PXE_BASE_CODE_PROTOCOL
*This
,
82 IN OUT EFI_IP_ADDRESS
*DestIp
, OPTIONAL
83 IN OUT UINT16
*DestPort
, OPTIONAL
84 IN OUT EFI_IP_ADDRESS
*SrcIp
, OPTIONAL
85 IN OUT UINT16
*SrcPort
, OPTIONAL
86 IN UINTN
*HeaderSize
, OPTIONAL
87 IN VOID
*HeaderPtr
, OPTIONAL
88 IN OUT UINTN
*BufferSize
,
94 (EFIAPI
*EFI_TCP_SET_PORT_FILTER
) (
95 IN EFI_PXE_BASE_CODE_PROTOCOL
*This
,
96 IN EFI_TCP_PORT_FILTER
*NewFilter
100 // TCP Protocol structure
102 typedef struct _EFI_TCP_PROTOCOL
{
103 EFI_TCP_WRITE TcpWrite
;
104 EFI_TCP_READ TcpRead
;
105 EFI_TCP_SET_PORT_FILTER SetPortFilter
;
108 extern EFI_GUID gEfiTcpProtocolGuid
;
110 #endif /* _EFITCP_H */