diff options
author | vanjeff <vanjeff@6f19259b-4bc3-4df7-8a09-765794883524> | 2007-07-30 02:37:10 +0000 |
---|---|---|
committer | vanjeff <vanjeff@6f19259b-4bc3-4df7-8a09-765794883524> | 2007-07-30 02:37:10 +0000 |
commit | 772db4bb33ae66fa20e39f786b5f80d107d450a5 (patch) | |
tree | 206a2d4756e0f7e245e08ca75f3ba10df2e1cf7a /MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Io.h | |
parent | eca7eaf49be5f23e3c79270621df7097ef585349 (diff) | |
download | edk2-platforms-772db4bb33ae66fa20e39f786b5f80d107d450a5.tar.xz |
Import ArpDxe, Dhcp4Dxe, Ip4Dxe, Mtftp4Dxe, PxeBcDxe and PxeDhcp4Dxe.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@3492 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Io.h')
-rw-r--r-- | MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Io.h | 115 |
1 files changed, 115 insertions, 0 deletions
diff --git a/MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Io.h b/MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Io.h new file mode 100644 index 0000000000..1da95f94a7 --- /dev/null +++ b/MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Io.h @@ -0,0 +1,115 @@ +/** @file + +Copyright (c) 2006, 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. + + +Module Name: + + Dhcp4Io.h + +Abstract: + + The DHCP4 protocol implementation. + + +**/ + +#ifndef __EFI_DHCP4_IO_H__ +#define __EFI_DHCP4_IO_H__ + +#include <PiDxe.h> + +#include <Protocol/ServiceBinding.h> + +#include <Library/NetLib.h> +#include <Library/UdpIoLib.h> +#include <Library/BaseMemoryLib.h> +#include <Library/MemoryAllocationLib.h> + + +enum { + DHCP_WAIT_OFFER = 3, // Time to wait the offers + DHCP_DEFAULT_LEASE = 7 *24 *60 *60, // Seven days as default. + DHCP_SERVER_PORT = 67, + DHCP_CLIENT_PORT = 68, + + // + // BOOTP header "op" field + // + BOOTP_REQUEST = 1, + BOOTP_REPLY = 2, + + // + // DHCP message types + // + DHCP_MSG_DISCOVER = 1, + DHCP_MSG_OFFER = 2, + DHCP_MSG_REQUEST = 3, + DHCP_MSG_DECLINE = 4, + DHCP_MSG_ACK = 5, + DHCP_MSG_NAK = 6, + DHCP_MSG_RELEASE = 7, + DHCP_MSG_INFORM = 8, + + // + // DHCP notify user type + // + DHCP_NOTIFY_COMPLETION = 1, + DHCP_NOTIFY_RENEWREBIND, + DHCP_NOTIFY_ALL, +}; + +#define DHCP_IS_BOOTP(Parameter) (((Parameter) == NULL) || ((Parameter)->DhcpType == 0)) + +#define DHCP_CONNECTED(State) \ + (((State) == Dhcp4Bound) || ((State) == (Dhcp4Renewing)) || ((State) == Dhcp4Rebinding)) + +EFI_STATUS +DhcpSetState ( + IN DHCP_SERVICE *DhcpSb, + IN INTN State, + IN BOOLEAN CallUser + ); + +EFI_STATUS +DhcpSendMessage ( + IN DHCP_SERVICE *DhcpSb, + IN EFI_DHCP4_PACKET *Seed, + IN DHCP_PARAMETER *Para, + IN UINT8 Type, + IN UINT8 *Msg + ); + +VOID +EFIAPI +DhcpOnTimerTick ( + IN EFI_EVENT Event, + IN VOID *Context + ); + +VOID +DhcpInput ( + NET_BUF *UdpPacket, + UDP_POINTS *Points, + EFI_STATUS IoStatus, + VOID *Context + ); + +EFI_STATUS +DhcpInitRequest ( + IN DHCP_SERVICE *DhcpSb + ); + +VOID +DhcpCleanLease ( + IN DHCP_SERVICE *DhcpSb + ); + +#endif |