\r
/*++\r
\r
-Copyright (c) 2004, Intel Corporation \r
+Copyright (c) 2006, Intel Corporation.\r
All rights reserved. This program and the accompanying materials \r
are licensed and made available under the terms and conditions of the BSD License \r
which accompanies this distribution. The full text of the license may be found at \r
\r
\r
#include "E100b.h"\r
-#include <IndustryStandard\pci22.h>\r
+#include <IndustryStandard/pci22.h>\r
\r
#define MAX_NIC_INTERFACES 16\r
\r
typedef VOID (*unmap_mem)(UINT64, UINT64, UINT32, UINT32, UINT64);\r
typedef VOID (*sync_mem)(UINT64, UINT64, UINT32, UINT32, UINT64);\r
\r
+extern UNDI_CALL_TABLE api_table[];\r
+extern PXE_SW_UNDI *pxe; // !pxe structure\r
+extern PXE_SW_UNDI *pxe_31; // !pxe structure for 3.1 drivers\r
+extern UNDI32_DEV *UNDI32DeviceList[MAX_NIC_INTERFACES];\r
+\r
//\r
// functions defined in e100b.c\r
//\r
//\r
// functions defined in init.c\r
//\r
+EFI_STATUS\r
+InstallConfigTable (\r
+ IN VOID\r
+ );\r
+\r
+EFI_STATUS\r
+EFIAPI\r
+InitializeUNDIDriver (\r
+ IN EFI_HANDLE ImageHandle,\r
+ IN EFI_SYSTEM_TABLE *SystemTable\r
+ );\r
+\r
+VOID\r
+UNDI_notify_virtual (\r
+ EFI_EVENT event,\r
+ VOID *context\r
+ );\r
+\r
+VOID\r
+EFIAPI\r
+UndiNotifyExitBs (\r
+ EFI_EVENT Event,\r
+ VOID *Context\r
+ );\r
+\r
+EFI_STATUS\r
+EFIAPI\r
+UndiDriverSupported (\r
+ IN EFI_DRIVER_BINDING_PROTOCOL *This,\r
+ IN EFI_HANDLE Controller,\r
+ IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath\r
+ );\r
+\r
+EFI_STATUS\r
+EFIAPI\r
+UndiDriverStart (\r
+ IN EFI_DRIVER_BINDING_PROTOCOL *This,\r
+ IN EFI_HANDLE Controller,\r
+ IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath\r
+ );\r
+\r
+EFI_STATUS\r
+EFIAPI\r
+UndiDriverStop (\r
+ IN EFI_DRIVER_BINDING_PROTOCOL *This,\r
+ IN EFI_HANDLE Controller,\r
+ IN UINTN NumberOfChildren,\r
+ IN EFI_HANDLE *ChildHandleBuffer\r
+ );\r
+\r
+EFI_STATUS\r
+AppendMac2DevPath (\r
+ IN OUT EFI_DEVICE_PATH_PROTOCOL **DevPtr,\r
+ IN EFI_DEVICE_PATH_PROTOCOL *BaseDevPtr,\r
+ IN NIC_DATA_INSTANCE *AdapterInfo\r
+ );\r
+\r
VOID\r
TmpDelay (\r
IN UINT64 UnqId,\r
//\r
// functions defined in decode.c\r
//\r
-VOID UNDI_GetState();\r
-VOID UNDI_Start();\r
-VOID UNDI_Stop();\r
-VOID UNDI_GetInitInfo();\r
-VOID UNDI_GetConfigInfo();\r
-VOID UNDI_Initialize();\r
-VOID UNDI_Reset();\r
-VOID UNDI_Shutdown();\r
-VOID UNDI_Interrupt();\r
-VOID UNDI_RecFilter();\r
-VOID UNDI_StnAddr();\r
-VOID UNDI_Statistics();\r
-VOID UNDI_ip2mac();\r
-VOID UNDI_NVData();\r
-VOID UNDI_Status();\r
-VOID UNDI_FillHeader();\r
-VOID UNDI_Transmit();\r
-VOID UNDI_Receive();\r
+VOID\r
+UNDI_GetState (\r
+ IN PXE_CDB *CdbPtr,\r
+ IN NIC_DATA_INSTANCE *AdapterInfo\r
+ );\r
+\r
+VOID\r
+UNDI_Start (\r
+ IN PXE_CDB *CdbPtr,\r
+ IN NIC_DATA_INSTANCE *AdapterInfo\r
+ );\r
+\r
+VOID\r
+UNDI_Stop (\r
+ IN PXE_CDB *CdbPtr,\r
+ IN NIC_DATA_INSTANCE *AdapterInfo\r
+ );\r
+\r
+VOID\r
+UNDI_GetInitInfo (\r
+ IN PXE_CDB *CdbPtr,\r
+ IN NIC_DATA_INSTANCE *AdapterInfo\r
+ );\r
+\r
+VOID\r
+UNDI_GetConfigInfo (\r
+ IN PXE_CDB *CdbPtr,\r
+ IN NIC_DATA_INSTANCE *AdapterInfo\r
+ );\r
+\r
+VOID\r
+UNDI_Initialize (\r
+ IN PXE_CDB *CdbPtr,\r
+ NIC_DATA_INSTANCE *AdapterInfo\r
+ );\r
+\r
+VOID\r
+UNDI_Reset (\r
+ IN PXE_CDB *CdbPtr,\r
+ IN NIC_DATA_INSTANCE *AdapterInfo\r
+ );\r
+\r
+VOID\r
+UNDI_Shutdown (\r
+ IN PXE_CDB *CdbPtr,\r
+ IN NIC_DATA_INSTANCE *AdapterInfo\r
+ );\r
+\r
+VOID\r
+UNDI_Interrupt (\r
+ IN PXE_CDB *CdbPtr,\r
+ IN NIC_DATA_INSTANCE *AdapterInfo\r
+ );\r
+\r
+VOID\r
+UNDI_RecFilter (\r
+ IN PXE_CDB *CdbPtr,\r
+ IN NIC_DATA_INSTANCE *AdapterInfo\r
+ );\r
+\r
+VOID\r
+UNDI_StnAddr (\r
+ IN PXE_CDB *CdbPtr,\r
+ IN NIC_DATA_INSTANCE *AdapterInfo\r
+ );\r
+\r
+VOID\r
+UNDI_Statistics (\r
+ IN PXE_CDB *CdbPtr,\r
+ IN NIC_DATA_INSTANCE *AdapterInfo\r
+ );\r
+\r
+VOID\r
+UNDI_ip2mac (\r
+ IN PXE_CDB *CdbPtr,\r
+ IN NIC_DATA_INSTANCE *AdapterInfo\r
+ );\r
+\r
+VOID\r
+UNDI_NVData (\r
+ IN PXE_CDB *CdbPtr,\r
+ IN NIC_DATA_INSTANCE *AdapterInfo\r
+ );\r
+\r
+VOID\r
+UNDI_Status (\r
+ IN PXE_CDB *CdbPtr,\r
+ IN NIC_DATA_INSTANCE *AdapterInfo\r
+ );\r
+\r
+VOID\r
+UNDI_FillHeader (\r
+ IN PXE_CDB *CdbPtr,\r
+ IN NIC_DATA_INSTANCE *AdapterInfo\r
+ );\r
+\r
+VOID\r
+UNDI_Transmit (\r
+ IN PXE_CDB *CdbPtr,\r
+ IN NIC_DATA_INSTANCE *AdapterInfo\r
+ );\r
+\r
+VOID\r
+UNDI_Receive (\r
+ IN PXE_CDB *CdbPtr,\r
+ IN NIC_DATA_INSTANCE *AdapterInfo\r
+ );\r
\r
VOID UNDI_APIEntry_new(UINT64);\r
VOID UNDI_APIEntry_old(UINT64);\r