• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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