\r
#include "PxeArch.h"\r
\r
-STATIC EFI_PXE_BASE_CODE_UDP_PORT DhcpServerPort = DHCP_SERVER_PORT;\r
-STATIC EFI_PXE_BASE_CODE_UDP_PORT DHCPClientPort = DHCP_CLIENT_PORT;\r
-STATIC EFI_PXE_BASE_CODE_UDP_PORT PseudoDhcpServerPort = PXE_DISCOVERY_PORT;\r
+EFI_PXE_BASE_CODE_UDP_PORT DhcpServerPort = DHCP_SERVER_PORT;\r
+EFI_PXE_BASE_CODE_UDP_PORT DHCPClientPort = DHCP_CLIENT_PORT;\r
+EFI_PXE_BASE_CODE_UDP_PORT PseudoDhcpServerPort = PXE_DISCOVERY_PORT;\r
#define PSEUDO_DHCP_CLIENT_PORT PseudoDhcpServerPort\r
-STATIC EFI_IP_ADDRESS BroadcastIP = {{0xffffffff}};\r
-STATIC EFI_IP_ADDRESS DefaultSubnetMask = {{0xffffff00}};\r
+EFI_IP_ADDRESS BroadcastIP = {{0xffffffff}};\r
+EFI_IP_ADDRESS DefaultSubnetMask = {{0xffffff00}};\r
\r
typedef union {\r
DHCPV4_OP_STRUCT *OpPtr;\r
// option structure for DHCPREQUEST at end of DISCOVER options\r
// and for DHCPDECLINE\r
//\r
-STATIC const struct requestopendstr {\r
+const struct requestopendstr {\r
DHCPV4_OP_REQUESTED_IP OpReqIP;\r
DHCPV4_OP_SERVER_IP DhcServerIpPtr;\r
UINT8 End[1];\r
//\r
// PXE discovery control default structure\r
//\r
-STATIC PXE_OP_DISCOVERY_CONTROL DefaultDisCtl = {\r
+PXE_OP_DISCOVERY_CONTROL DefaultDisCtl = {\r
{ VEND_PXE_DISCOVERY_CONTROL, DHCPV4_OPTION_LENGTH(PXE_OP_DISCOVERY_CONTROL) },\r
0\r
};\r
// common option beginning for all our DHCP messages except\r
// DHCPDECLINE and DHCPRELEASE\r
//\r
-STATIC struct optionsstr {\r
+struct optionsstr {\r
UINT8 DhcpCookie[4];\r
DHCPV4_OP_MESSAGE_TYPE DhcpMessageType;\r
DHCPV4_OP_MAX_MESSAGE_SIZE DhcpMaxMessageSize;\r
// value 0 -> not of interest, else value is index into PXE OPTION array\r
// option values from 1 to MAX_OUR_PXE_OPT\r
//\r
-STATIC UINT8 ourPXEopts[MAX_OUR_PXE_OPT] = {\r
+UINT8 ourPXEopts[MAX_OUR_PXE_OPT] = {\r
VEND_PXE_MTFTP_IP_IX, // multicast IP address of bootfile for MTFTP listen\r
VEND_PXE_MTFTP_CPORT_IX, // UDP Port to monitor for MTFTP responses - Intel order\r
VEND_PXE_MTFTP_SPORT_IX, // Server UDP Port for MTFTP open - Intel order\r
// value 0 -> not of interest, else value is index into OPTION array\r
// option values from 1 to MAX_OUR_OPT\r
//\r
-STATIC UINT8 OurDhcpOptions[MAX_OUR_OPT] = {\r
+UINT8 OurDhcpOptions[MAX_OUR_OPT] = {\r
OP_SUBNET_MASK_IX, // OP_SUBNET_MASK 1 // data is the subnet mask\r
OP_TIME_OFFSET_IX, // OP_TIME_OFFSET 2 // data is the time offset of subnet to UTC in seconds\r
OP_ROUTER_LIST_IX, // OP_ROUTER_LIST 3 // list of routers on subnet\r
//\r
// add router list to list\r
//\r
-STATIC\r
VOID\r
Ip4AddRouterList (\r
PXE_BASECODE_DEVICE *Private,\r
//\r
// send ARP for our IP - fail if someone has it\r
//\r
-STATIC\r
BOOLEAN\r
SetStationIP (\r
PXE_BASECODE_DEVICE *Private\r
}\r
\r
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */\r
-STATIC\r
VOID\r
AddRouters (\r
PXE_BASECODE_DEVICE *Private,\r
}\r
\r
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */\r
-STATIC\r
EFI_STATUS\r
DoUdpWrite (\r
PXE_BASECODE_DEVICE *Private,\r
UINT8 x[4];\r
} C4Str;\r
\r
-STATIC\r
VOID\r
InitDhcpv4TxBuf (\r
PXE_BASECODE_DEVICE *Private\r
}\r
\r
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */\r
-STATIC\r
UINT32\r
DecodePxeOptions (\r
DHCP_RECEIVE_BUFFER *RxBufPtr,\r
}\r
\r
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */\r
-STATIC\r
VOID\r
DecodeOptions (\r
DHCP_RECEIVE_BUFFER *RxBufPtr,\r
}\r
\r
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */\r
-STATIC\r
VOID\r
CopyParseRxBuf (\r
PXE_BASECODE_DEVICE *Private,\r
}\r
\r
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */\r
-STATIC\r
VOID\r
CopyProxyRxBuf (\r
PXE_BASECODE_DEVICE *Private,\r
}\r
\r
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */\r
-STATIC\r
VOID\r
CopyParse (\r
PXE_BASECODE_DEVICE *Private,\r
//\r
// send DHCPDECLINE\r
//\r
-STATIC\r
VOID\r
DeclineOffer (\r
PXE_BASECODE_DEVICE *Private\r
//\r
// send DHCPRELEASE\r
//\r
-STATIC\r
BOOLEAN\r
Release (\r
PXE_BASECODE_DEVICE *Private\r
}\r
\r
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */\r
-STATIC\r
BOOLEAN\r
GetBINLAck (\r
PXE_BASECODE_DEVICE *Private,\r
// make sure we can get BINL\r
// send DHCPREQUEST to PXE server\r
//\r
-STATIC\r
BOOLEAN\r
TryBINL (\r
PXE_BASECODE_DEVICE *Private,\r
}\r
\r
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */\r
-STATIC\r
BOOLEAN\r
TryFinishBINL (\r
PXE_BASECODE_DEVICE *Private,\r
}\r
\r
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */\r
-STATIC\r
BOOLEAN\r
TryFinishProxyBINL (\r
PXE_BASECODE_DEVICE *Private\r
//\r
// try to finish DORA - send DHCP request, wait for ACK, check with ARP\r
//\r
-STATIC\r
BOOLEAN\r
TryFinishDORA (\r
PXE_BASECODE_DEVICE *Private,\r
//\r
// try a DHCP server of appropriate type\r
//\r
-STATIC\r
BOOLEAN\r
TryDHCPFinishDORA (\r
PXE_BASECODE_DEVICE *Private,\r
//\r
// try a DHCP only server and a proxy of appropriate type\r
//\r
-STATIC\r
BOOLEAN\r
TryProxyFinishDORA (\r
PXE_BASECODE_DEVICE *Private,\r
//\r
// getting to the bottom of the barrel\r
//\r
-STATIC\r
BOOLEAN\r
TryAnyWithBootfileFinishDORA (\r
PXE_BASECODE_DEVICE *Private\r
\r
/* DoDhcpDora()\r
*/\r
-STATIC\r
EFI_STATUS\r
DoDhcpDora (\r
PXE_BASECODE_DEVICE *Private,\r
}\r
\r
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */\r
-STATIC\r
BOOLEAN\r
VerifyCredentialOption (\r
UINT8 *tx,\r
\r
\r
**/\r
-STATIC\r
EFI_STATUS\r
Discover (\r
PXE_BASECODE_DEVICE *Private,\r