git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5428 6f19259b-4bc3-4df7-8a09-765794883524
		
			
				
	
	
		
			99 lines
		
	
	
		
			3.4 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			99 lines
		
	
	
		
			3.4 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
/** @file
 | 
						|
 | 
						|
    This file defines EFI Transmission Control Protocol.
 | 
						|
 | 
						|
Copyright (c) 2004 - 2008, Intel Corporation
 | 
						|
All rights reserved. This program and the accompanying materials
 | 
						|
are licensed and made available under the terms and conditions of the BSD License
 | 
						|
which accompanies this distribution.  The full text of the license may be found at
 | 
						|
http://opensource.org/licenses/bsd-license.php
 | 
						|
 | 
						|
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
 | 
						|
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 | 
						|
 | 
						|
**/
 | 
						|
 | 
						|
 | 
						|
#ifndef __EFI_TCP_H__
 | 
						|
#define __EFI_TCP_H__
 | 
						|
 | 
						|
 | 
						|
#include <Protocol/PxeBaseCode.h>
 | 
						|
 | 
						|
//
 | 
						|
// PXE Base Code protocol
 | 
						|
//
 | 
						|
 | 
						|
#define EFI_TCP_PROTOCOL_GUID \
 | 
						|
    { 0x02b3d5f2, 0xac28, 0x11d3, { 0x9a, 0x2d, 0x00, 0x90, 0x27, 0x3f, 0xc1, 0x4d }}
 | 
						|
 | 
						|
 | 
						|
typedef UINT16 EFI_PXE_BASE_CODE_TCP_PORT;
 | 
						|
 | 
						|
//
 | 
						|
// Port Receive Filter definitions
 | 
						|
//
 | 
						|
#define EFI_PXE_BASE_CODE_MAX_PORTCNT             8
 | 
						|
typedef struct {
 | 
						|
    UINT8                       Filters;
 | 
						|
    UINT8                       IpCnt;
 | 
						|
    UINT16                      reserved;
 | 
						|
    EFI_IP_ADDRESS              IpList[EFI_PXE_BASE_CODE_MAX_PORTCNT];
 | 
						|
} EFI_TCP_PORT_FILTER;
 | 
						|
 | 
						|
typedef
 | 
						|
EFI_STATUS
 | 
						|
(EFIAPI *EFI_TCP_WRITE) (
 | 
						|
    IN EFI_PXE_BASE_CODE_PROTOCOL        *This,
 | 
						|
    IN UINT16                                    OpFlags,
 | 
						|
    IN UINT16                                    *UrgentPointer,
 | 
						|
    IN UINT32                                    *SequenceNumber,
 | 
						|
    IN UINT32                                    *AckNumber,
 | 
						|
    IN UINT16                                    *HlenResCode,
 | 
						|
    IN UINT16                                    *Window,
 | 
						|
    IN EFI_IP_ADDRESS                            *DestIp,
 | 
						|
    IN UINT16                                    *DestPort,
 | 
						|
    IN EFI_IP_ADDRESS                            *GatewayIp,  OPTIONAL
 | 
						|
    IN EFI_IP_ADDRESS                            *SrcIp,      OPTIONAL
 | 
						|
    IN UINT16                                    *SrcPort,    OPTIONAL
 | 
						|
    IN UINTN                                     *HeaderSize, OPTIONAL
 | 
						|
    IN VOID                                      *HeaderPtr,  OPTIONAL
 | 
						|
    IN UINTN                                     *BufferSize,
 | 
						|
    IN VOID                                      *BufferPtr
 | 
						|
    );
 | 
						|
 | 
						|
typedef
 | 
						|
EFI_STATUS
 | 
						|
(EFIAPI *EFI_TCP_READ) (
 | 
						|
    IN EFI_PXE_BASE_CODE_PROTOCOL        *This,
 | 
						|
    IN UINT16                                    OpFlags,
 | 
						|
    IN OUT EFI_IP_ADDRESS                        *DestIp,      OPTIONAL
 | 
						|
    IN OUT UINT16                                *DestPort,    OPTIONAL
 | 
						|
    IN OUT EFI_IP_ADDRESS                        *SrcIp,       OPTIONAL
 | 
						|
    IN OUT UINT16                                *SrcPort,     OPTIONAL
 | 
						|
    IN UINTN                                     *HeaderSize,  OPTIONAL
 | 
						|
    IN VOID                                      *HeaderPtr,   OPTIONAL
 | 
						|
    IN OUT UINTN                                 *BufferSize,
 | 
						|
    IN VOID                                      *BufferPtr
 | 
						|
    );
 | 
						|
 | 
						|
typedef
 | 
						|
EFI_STATUS
 | 
						|
(EFIAPI *EFI_TCP_SET_PORT_FILTER) (
 | 
						|
    IN EFI_PXE_BASE_CODE_PROTOCOL    *This,
 | 
						|
    IN EFI_TCP_PORT_FILTER                   *NewFilter
 | 
						|
    );
 | 
						|
 | 
						|
//
 | 
						|
// TCP Protocol structure
 | 
						|
//
 | 
						|
typedef struct _EFI_TCP_PROTOCOL {
 | 
						|
    EFI_TCP_WRITE             TcpWrite;
 | 
						|
    EFI_TCP_READ              TcpRead;
 | 
						|
    EFI_TCP_SET_PORT_FILTER   SetPortFilter;
 | 
						|
} EFI_TCP_PROTOCOL;
 | 
						|
 | 
						|
extern EFI_GUID gEfiTcpProtocolGuid;
 | 
						|
 | 
						|
#endif /* _EFITCP_H */
 |