Home | History | Annotate | Download | only in PxeDhcp4CallBack
      1 /*++
      2 
      3 Copyright (c) 2004, Intel Corporation. All rights reserved.<BR>
      4 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   PxeDhcp4Callback.h
     14 
     15 Abstract:
     16   EFI PXE DHCP4 Callback protocol definition.
     17 
     18 --*/
     19 
     20 #ifndef _PXE_DHCP4CALLBACK_H
     21 #define _PXE_DHCP4CALLBACK_H
     22 
     23 #include EFI_PROTOCOL_DEFINITION (PxeDhcp4)
     24 
     25 //
     26 // GUID definition
     27 //
     28 
     29 #define EFI_PXE_DHCP4_CALLBACK_PROTOCOL_GUID \
     30 { 0xc1544c01, 0x92a4, 0x4198, {0x8a, 0x84, 0x77, 0x85, 0x83, 0xc2, 0x36, 0x21} }
     31 
     32 
     33 //
     34 // Revision number
     35 //
     36 
     37 #define EFI_PXE_DHCP4_CALLBACK_INTERFACE_REVISION   0x00010000
     38 
     39 //
     40 // Interface definition
     41 //
     42 
     43 EFI_FORWARD_DECLARATION (EFI_PXE_DHCP4_CALLBACK_PROTOCOL);
     44 
     45 typedef enum {
     46   EFI_PXE_DHCP4_FUNCTION_FIRST,
     47   EFI_PXE_DHCP4_FUNCTION_INIT,
     48   EFI_PXE_DHCP4_FUNCTION_SELECT,
     49   EFI_PXE_DHCP4_FUNCTION_RENEW,
     50   EFI_PXE_DHCP4_FUNCTION_REBIND,
     51   EFI_PXE_DHCP4_FUNCTION_LAST
     52 } EFI_PXE_DHCP4_FUNCTION;
     53 
     54 typedef enum {
     55   EFI_PXE_DHCP4_CALLBACK_STATUS_FIRST,
     56   EFI_PXE_DHCP4_CALLBACK_STATUS_ABORT,
     57   EFI_PXE_DHCP4_CALLBACK_STATUS_IGNORE_ABORT,
     58   EFI_PXE_DHCP4_CALLBACK_STATUS_KEEP_ABORT,
     59   EFI_PXE_DHCP4_CALLBACK_STATUS_CONTINUE,
     60   EFI_PXE_DHCP4_CALLBACK_STATUS_IGNORE_CONTINUE,
     61   EFI_PXE_DHCP4_CALLBACK_STATUS_KEEP_CONTINUE,
     62   EFI_PXE_DHCP4_CALLBACK_STATUS_LAST
     63 } EFI_PXE_DHCP4_CALLBACK_STATUS;
     64 
     65 typedef
     66 EFI_PXE_DHCP4_CALLBACK_STATUS
     67 (EFIAPI *EFI_PXE_DHCP4_CALLBACK) (
     68   IN EFI_PXE_DHCP4_PROTOCOL *This,
     69   IN EFI_PXE_DHCP4_FUNCTION Function,
     70   IN UINT32                 PacketLen,
     71   IN DHCP4_PACKET           *Packet OPTIONAL
     72   );
     73 
     74 struct _EFI_PXE_DHCP4_CALLBACK_PROTOCOL {
     75   UINT64                      Revision;
     76   EFI_PXE_DHCP4_CALLBACK      Callback;
     77 };
     78 
     79 //
     80 // GUID declaration
     81 //
     82 
     83 extern EFI_GUID gEfiPxeDhcp4CallbackProtocolGuid;
     84 
     85 #endif /* _PXE_DHCP4CALLBACK_H */
     86 /* EOF - PxeDhcp4Callback.h */
     87