+++ /dev/null
-/** @file\r
- EFI PXE Base Code CallBack Protocol\r
-\r
- Copyright (c) 2006, Intel Corporation \r
- All rights reserved. This program and the accompanying materials \r
- are licensed and made available under the terms and conditions of the BSD License \r
- which accompanies this distribution. The full text of the license may be found at \r
- http://opensource.org/licenses/bsd-license.php \r
-\r
- THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, \r
- WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. \r
-\r
- Module Name: PxeBaseCodeCallBack.h\r
-\r
-**/\r
-\r
-#ifndef _PXE_BASE_CODE_CALLBACK_H_\r
-#define _PXE_BASE_CODE_CALLBACK_H_\r
-\r
-//\r
-// Call Back Definitions\r
-//\r
-#define EFI_PXE_BASE_CODE_CALLBACK_PROTOCOL_GUID \\r
- { \\r
- 0x245dca21, 0xfb7b, 0x11d3, {0x8f, 0x01, 0x00, 0xa0, 0xc9, 0x69, 0x72, 0x3b } \\r
- }\r
-\r
-//\r
-// Revision Number\r
-//\r
-#define EFI_PXE_BASE_CODE_CALLBACK_INTERFACE_REVISION 0x00010000\r
-#define EFI_PXE_BASE_CODE_CALLBACK_PROTOCOL_REVISION \\r
- EFI_PXE_BASE_CODE_CALLBACK_INTERFACE_REVISION\r
-\r
-//\r
-// Protocol definition\r
-//\r
-typedef struct _EFI_PXE_BASE_CODE_CALLBACK_PROTOCOL EFI_PXE_BASE_CODE_CALLBACK_PROTOCOL;\r
-\r
-typedef enum {\r
- EFI_PXE_BASE_CODE_FUNCTION_FIRST,\r
- EFI_PXE_BASE_CODE_FUNCTION_DHCP,\r
- EFI_PXE_BASE_CODE_FUNCTION_DISCOVER,\r
- EFI_PXE_BASE_CODE_FUNCTION_MTFTP,\r
- EFI_PXE_BASE_CODE_FUNCTION_UDP_WRITE,\r
- EFI_PXE_BASE_CODE_FUNCTION_UDP_READ,\r
- EFI_PXE_BASE_CODE_FUNCTION_ARP,\r
- EFI_PXE_BASE_CODE_FUNCTION_IGMP,\r
- EFI_PXE_BASE_CODE_PXE_FUNCTION_LAST\r
-} EFI_PXE_BASE_CODE_FUNCTION;\r
-\r
-typedef enum {\r
- EFI_PXE_BASE_CODE_CALLBACK_STATUS_FIRST,\r
- EFI_PXE_BASE_CODE_CALLBACK_STATUS_CONTINUE,\r
- EFI_PXE_BASE_CODE_CALLBACK_STATUS_ABORT,\r
- EFI_PXE_BASE_CODE_CALLBACK_STATUS_LAST\r
-} EFI_PXE_BASE_CODE_CALLBACK_STATUS;\r
-\r
-/** \r
- Callback function that is invoked when the PXE Base Code Protocol is about to transmit, has\r
- received, or is waiting to receive a packet. \r
- \r
- @param This Pointer to the EFI_PXE_BASE_CODE_CALLBACK_PROTOCOL instance.\r
- @param Function The PXE Base Code Protocol function that is waiting for an event. \r
- @param Received TRUE if the callback is being invoked due to a receive event. FALSE if\r
- the callback is being invoked due to a transmit event. \r
- @param PacketLen The length, in bytes, of Packet. This field will have a value of zero if\r
- this is a wait for receive event. \r
- @param Packet If Received is TRUE, a pointer to the packet that was just received;\r
- otherwise a pointer to the packet that is about to be transmitted. \r
- \r
- @retval EFI_PXE_BASE_CODE_CALLBACK_STATUS_CONTINUE if Function specifies a continue operation \r
- @retval EFI_PXE_BASE_CODE_CALLBACK_STATUS_ABORT if Function specifies an abort operation\r
- \r
-**/\r
-typedef \r
-EFI_PXE_BASE_CODE_CALLBACK_STATUS \r
-(EFIAPI *EFI_PXE_CALLBACK)(\r
- IN EFI_PXE_BASE_CODE_CALLBACK_PROTOCOL *This,\r
- IN EFI_PXE_BASE_CODE_FUNCTION Function,\r
- IN BOOLEAN Received,\r
- IN UINT32 PacketLen,\r
- IN EFI_PXE_BASE_CODE_PACKET *Packet OPTIONAL\r
- );\r
-\r
-struct _EFI_PXE_BASE_CODE_CALLBACK_PROTOCOL {\r
- UINT64 Revision;\r
- EFI_PXE_CALLBACK Callback;\r
-};\r
-\r
-extern EFI_GUID gEfiPxeBaseCodeCallbackProtocolGuid;\r
-\r
-#endif \r
-\r