summaryrefslogtreecommitdiff
path: root/EdkModulePkg/Include/Protocol/PxeDhcp4.h
diff options
context:
space:
mode:
Diffstat (limited to 'EdkModulePkg/Include/Protocol/PxeDhcp4.h')
-rw-r--r--EdkModulePkg/Include/Protocol/PxeDhcp4.h350
1 files changed, 0 insertions, 350 deletions
diff --git a/EdkModulePkg/Include/Protocol/PxeDhcp4.h b/EdkModulePkg/Include/Protocol/PxeDhcp4.h
deleted file mode 100644
index cd4602c06c..0000000000
--- a/EdkModulePkg/Include/Protocol/PxeDhcp4.h
+++ /dev/null
@@ -1,350 +0,0 @@
-/*++
-
-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:
- PxeDhcp4.h
-
-Abstract:
- EFI PXE DHCPv4 protocol definition
-
---*/
-
-#ifndef _PXEDHCP4_H_
-#define _PXEDHCP4_H_
-
-
-/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
-//
-// PXE DHCPv4 GUID definition
-//
-
-#define EFI_PXE_DHCP4_PROTOCOL_GUID \
- { 0x03c4e624, 0xac28, 0x11d3, {0x9a, 0x2d, 0x00, 0x90, 0x29, 0x3f, 0xc1, 0x4d } }
-
-/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
-//
-// Interface definition
-//
-
-typedef struct _EFI_PXE_DHCP4_PROTOCOL EFI_PXE_DHCP4_PROTOCOL;
-
-/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
-//
-// Descriptions of the DHCP version 4 header and options can be found
-// in RFC-2131 and RFC-2132 at www.ietf.org
-//
-
-#pragma pack(1)
-typedef struct {
-
- UINT8 op;
-#define BOOTP_REQUEST 1
-#define BOOTP_REPLY 2
-
- UINT8 htype;
-
- UINT8 hlen;
-
- UINT8 hops;
-
- UINT32 xid;
-
- UINT16 secs;
-#define DHCP4_INITIAL_SECONDS 4
-
- UINT16 flags;
-#define DHCP4_BROADCAST_FLAG 0x8000
-
- UINT32 ciaddr;
-
- UINT32 yiaddr;
-
- UINT32 siaddr;
-
- UINT32 giaddr;
-
- UINT8 chaddr[16];
-
- UINT8 sname[64];
-
- UINT8 fname[128];
-
-//
-// This is the minimum option length as specified in RFC-2131.
-// The packet must be padded out this far with DHCP4_PAD.
-// DHCPv4 packets are usually 576 bytes in length. This length
-// includes the IPv4 and UDPv4 headers but not the media header.
-// Note: Not all DHCP relay agents will forward DHCPv4 packets
-// if they are less than 384 bytes or exceed 576 bytes. Even if
-// the underlying hardware can handle smaller and larger packets,
-// many older relay agents will not accept them.
-//
- UINT32 magik;
-#define DHCP4_MAGIK_NUMBER 0x63825363
-
- UINT8 options[308];
-
-} DHCP4_HEADER;
-#pragma pack()
-
-/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
-//
-// DHCPv4 packet definition. Room for 576 bytes including IP and
-// UDP header.
-//
-
-#define DHCP4_MAX_PACKET_SIZE 576
-#define DHCP4_UDP_HEADER_SIZE 8
-#define DHCP4_IP_HEADER_SIZE 20
-
-#pragma pack(1)
-typedef union _DHCP4_PACKET {
- UINT32 _force_data_alignment;
-
- UINT8 raw[1500];
-
- DHCP4_HEADER dhcp4;
-} DHCP4_PACKET;
-#pragma pack()
-
-#define DHCP4_SERVER_PORT 67
-#define DHCP4_CLIENT_PORT 68
-
-/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
-//
-// DHCPv4 and PXE option numbers.
-//
-
-#define DHCP4_PAD 0
-#define DHCP4_END 255
-#define DHCP4_SUBNET_MASK 1
-#define DHCP4_TIME_OFFSET 2
-#define DHCP4_ROUTER_LIST 3
-#define DHCP4_TIME_SERVERS 4
-#define DHCP4_NAME_SERVERS 5
-#define DHCP4_DNS_SERVERS 6
-#define DHCP4_LOG_SERVERS 7
-#define DHCP4_COOKIE_SERVERS 8
-#define DHCP4_LPR_SREVERS 9
-#define DHCP4_IMPRESS_SERVERS 10
-#define DHCP4_RESOURCE_LOCATION_SERVERS 11
-#define DHCP4_HOST_NAME 12
-#define DHCP4_BOOT_FILE_SIZE 13
-#define DHCP4_DUMP_FILE 14
-#define DHCP4_DOMAIN_NAME 15
-#define DHCP4_SWAP_SERVER 16
-#define DHCP4_ROOT_PATH 17
-#define DHCP4_EXTENSION_PATH 18
-#define DHCP4_IP_FORWARDING 19
-#define DHCP4_NON_LOCAL_SOURCE_ROUTE 20
-#define DHCP4_POLICY_FILTER 21
-#define DHCP4_MAX_DATAGRAM_SIZE 22
-#define DHCP4_DEFAULT_TTL 23
-#define DHCP4_MTU_AGING_TIMEOUT 24
-#define DHCP4_MTU_SIZES 25
-#define DHCP4_MTU_TO_USE 26
-#define DHCP4_ALL_SUBNETS_LOCAL 27
-#define DHCP4_BROADCAST_ADDRESS 28
-#define DHCP4_PERFORM_MASK_DISCOVERY 29
-#define DHCP4_RESPOND_TO_MASK_REQ 30
-#define DHCP4_PERFORM_ROUTER_DISCOVERY 31
-#define DHCP4_ROUTER_SOLICIT_ADDRESS 32
-#define DHCP4_STATIC_ROUTER_LIST 33
-#define DHCP4_USE_ARP_TRAILERS 34
-#define DHCP4_ARP_CACHE_TIMEOUT 35
-#define DHCP4_ETHERNET_ENCAPSULATION 36
-#define DHCP4_TCP_DEFAULT_TTL 37
-#define DHCP4_TCP_KEEP_ALIVE_INT 38
-#define DHCP4_KEEP_ALIVE_GARBAGE 39
-#define DHCP4_NIS_DOMAIN_NAME 40
-#define DHCP4_NIS_SERVERS 41
-#define DHCP4_NTP_SERVERS 42
-#define DHCP4_VENDOR_SPECIFIC 43
-# define PXE_MTFTP_IP 1
-# define PXE_MTFTP_CPORT 2
-# define PXE_MTFTP_SPORT 3
-# define PXE_MTFTP_TMOUT 4
-# define PXE_MTFTP_DELAY 5
-# define PXE_DISCOVERY_CONTROL 6
-# define PXE_DISABLE_BROADCAST_DISCOVERY 0x01
-# define PXE_DISABLE_MULTICAST_DISCOVERY 0x02
-# define PXE_ACCEPT_ONLY_PXE_BOOT_SERVERS 0x04
-# define PXE_DO_NOT_PROMPT 0x08
-# define PXE_DISCOVERY_MCAST_ADDR 7
-# define PXE_BOOT_SERVERS 8
-# define PXE_BOOT_MENU 9
-# define PXE_BOOT_PROMPT 10
-# define PXE_MCAST_ADDRS_ALLOC 11
-# define PXE_CREDENTIAL_TYPES 12
-# define PXE_BOOT_ITEM 71
-#define DHCP4_NBNS_SERVERS 44
-#define DHCP4_NBDD_SERVERS 45
-#define DHCP4_NETBIOS_NODE_TYPE 46
-#define DHCP4_NETBIOS_SCOPE 47
-#define DHCP4_XWINDOW_SYSTEM_FONT_SERVERS 48
-#define DHCP4_XWINDOW_SYSTEM_DISPLAY_MANAGERS 49
-#define DHCP4_REQUESTED_IP_ADDRESS 50
-#define DHCP4_LEASE_TIME 51
-#define DHCP4_OPTION_OVERLOAD 52
-# define DHCP4_OVERLOAD_FNAME 1
-# define DHCP4_OVERLOAD_SNAME 2
-# define DHCP4_OVERLOAD_FNAME_AND_SNAME 3
-#define DHCP4_MESSAGE_TYPE 53
-# define DHCP4_MESSAGE_TYPE_DISCOVER 1
-# define DHCP4_MESSAGE_TYPE_OFFER 2
-# define DHCP4_MESSAGE_TYPE_REQUEST 3
-# define DHCP4_MESSAGE_TYPE_DECLINE 4
-# define DHCP4_MESSAGE_TYPE_ACK 5
-# define DHCP4_MESSAGE_TYPE_NAK 6
-# define DHCP4_MESSAGE_TYPE_RELEASE 7
-# define DHCP4_MESSAGE_TYPE_INFORM 8
-#define DHCP4_SERVER_IDENTIFIER 54
-#define DHCP4_PARAMETER_REQUEST_LIST 55
-#define DHCP4_ERROR_MESSAGE 56
-#define DHCP4_MAX_MESSAGE_SIZE 57
-# define DHCP4_DEFAULT_MAX_MESSAGE_SIZE 576
-#define DHCP4_RENEWAL_TIME 58
-#define DHCP4_REBINDING_TIME 59
-#define DHCP4_CLASS_IDENTIFIER 60
-#define DHCP4_CLIENT_IDENTIFIER 61
-#define DHCP4_NISPLUS_DOMAIN_NAME 64
-#define DHCP4_NISPLUS_SERVERS 65
-#define DHCP4_TFTP_SERVER_NAME 66
-#define DHCP4_BOOTFILE 67
-#define DHCP4_MOBILE_IP_HOME_AGENTS 68
-#define DHCP4_SMPT_SERVERS 69
-#define DHCP4_POP3_SERVERS 70
-#define DHCP4_NNTP_SERVERS 71
-#define DHCP4_WWW_SERVERS 72
-#define DHCP4_FINGER_SERVERS 73
-#define DHCP4_IRC_SERVERS 74
-#define DHCP4_STREET_TALK_SERVERS 75
-#define DHCP4_STREET_TALK_DIR_ASSIST_SERVERS 76
-#define DHCP4_NDS_SERVERS 85
-#define DHCP4_NDS_TREE_NAME 86
-#define DHCP4_NDS_CONTEXT 87
-#define DHCP4_SYSTEM_ARCHITECTURE 93
-#define DHCP4_NETWORK_ARCHITECTURE 94
-#define DHCP4_PLATFORM_ID 97
-
-/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
-//
-// DHCP4 option format.
-//
-
-#pragma pack(1)
-typedef struct {
- UINT8 op;
- UINT8 len;
- UINT8 data[1];
-} DHCP4_OP;
-#pragma pack()
-
-/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
-
-typedef struct {
- DHCP4_PACKET Discover;
- DHCP4_PACKET Offer;
- DHCP4_PACKET Request;
- DHCP4_PACKET AckNak;
- BOOLEAN SetupCompleted;
- BOOLEAN InitCompleted;
- BOOLEAN SelectCompleted;
- BOOLEAN IsBootp;
- BOOLEAN IsAck;
-} EFI_PXE_DHCP4_DATA;
-
-/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
-typedef
-EFI_STATUS
-(EFIAPI *EFI_PXE_DHCP4_RUN) (
- IN EFI_PXE_DHCP4_PROTOCOL *This,
- IN OPTIONAL UINTN OpLen,
- IN OPTIONAL VOID *OpList
- );
-
-/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
-typedef
-EFI_STATUS
-(EFIAPI *EFI_PXE_DHCP4_SETUP) (
- IN EFI_PXE_DHCP4_PROTOCOL *This,
- IN OPTIONAL EFI_PXE_DHCP4_DATA * NewData
- );
-
-/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
-typedef
-EFI_STATUS
-(EFIAPI *EFI_PXE_DHCP4_INIT) (
- IN EFI_PXE_DHCP4_PROTOCOL *This,
- IN UINTN SecondsTimeout,
- OUT UINTN *Offers,
- OUT DHCP4_PACKET **OfferList
- );
-
-#define DHCP4_MIN_SECONDS 1
-#define DHCP4_MAX_SECONDS 60
-
-/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
-typedef
-EFI_STATUS
-(EFIAPI *EFI_PXE_DHCP4_SELECT) (
- IN EFI_PXE_DHCP4_PROTOCOL *This,
- IN UINTN SecondsTimeout,
- IN DHCP4_PACKET * offer
- );
-
-/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
-typedef
-EFI_STATUS
-(EFIAPI *EFI_PXE_DHCP4_RENEW) (
- IN EFI_PXE_DHCP4_PROTOCOL *This,
- UINTN seconds_timeout
- );
-
-/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
-typedef
-EFI_STATUS
-(EFIAPI *EFI_PXE_DHCP4_REBIND) (
- IN EFI_PXE_DHCP4_PROTOCOL *This,
- UINTN seconds_timeout
- );
-
-/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
-typedef
-EFI_STATUS
-(EFIAPI *EFI_PXE_DHCP4_RELEASE) (
- IN EFI_PXE_DHCP4_PROTOCOL * This
- );
-
-/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
-
-#define EFI_PXE_DHCP4_PROTOCOL_REVISION 0x00010000
-
-struct _EFI_PXE_DHCP4_PROTOCOL {
- UINT64 Revision;
- EFI_PXE_DHCP4_RUN Run;
- EFI_PXE_DHCP4_SETUP Setup;
- EFI_PXE_DHCP4_INIT Init;
- EFI_PXE_DHCP4_SELECT Select;
- EFI_PXE_DHCP4_RENEW Renew;
- EFI_PXE_DHCP4_REBIND Rebind;
- EFI_PXE_DHCP4_RELEASE Release;
- EFI_PXE_DHCP4_DATA *Data;
-};
-
-//
-//
-//
-
-extern EFI_GUID gEfiPxeDhcp4ProtocolGuid;
-
-#endif /* _PXEDHCP4_H_ */
-/* EOF - PxeDhcp4.h */