#ifndef __EFI_IP4_IF_H__\r
#define __EFI_IP4_IF_H__\r
\r
-#define IP4_FRAME_RX_SIGNATURE SIGNATURE_32 ('I', 'P', 'F', 'R')\r
-#define IP4_FRAME_TX_SIGNATURE SIGNATURE_32 ('I', 'P', 'F', 'T')\r
-#define IP4_FRAME_ARP_SIGNATURE SIGNATURE_32 ('I', 'P', 'F', 'A')\r
-#define IP4_INTERFACE_SIGNATURE SIGNATURE_32 ('I', 'P', 'I', 'F')\r
+#define IP4_FRAME_RX_SIGNATURE SIGNATURE_32 ('I', 'P', 'F', 'R')\r
+#define IP4_FRAME_TX_SIGNATURE SIGNATURE_32 ('I', 'P', 'F', 'T')\r
+#define IP4_FRAME_ARP_SIGNATURE SIGNATURE_32 ('I', 'P', 'F', 'A')\r
+#define IP4_INTERFACE_SIGNATURE SIGNATURE_32 ('I', 'P', 'I', 'F')\r
\r
/**\r
This prototype is used by both receive and transmission.\r
typedef\r
VOID\r
(*IP4_FRAME_CALLBACK)(\r
- IN IP4_PROTOCOL *IpInstance OPTIONAL,\r
- IN NET_BUF *Packet,\r
- IN EFI_STATUS IoStatus,\r
- IN UINT32 LinkFlag,\r
- IN VOID *Context\r
+ IN IP4_PROTOCOL *IpInstance OPTIONAL,\r
+ IN NET_BUF *Packet,\r
+ IN EFI_STATUS IoStatus,\r
+ IN UINT32 LinkFlag,\r
+ IN VOID *Context\r
);\r
\r
///\r
/// Reference MNP's spec for information.\r
///\r
typedef struct {\r
- UINT32 Signature;\r
- IP4_INTERFACE *Interface;\r
+ UINT32 Signature;\r
+ IP4_INTERFACE *Interface;\r
\r
- IP4_PROTOCOL *IpInstance;\r
- IP4_FRAME_CALLBACK CallBack;\r
- VOID *Context;\r
+ IP4_PROTOCOL *IpInstance;\r
+ IP4_FRAME_CALLBACK CallBack;\r
+ VOID *Context;\r
\r
- EFI_MANAGED_NETWORK_COMPLETION_TOKEN MnpToken;\r
+ EFI_MANAGED_NETWORK_COMPLETION_TOKEN MnpToken;\r
} IP4_LINK_RX_TOKEN;\r
\r
///\r
/// Upon completion, the Callback will be called.\r
///\r
typedef struct {\r
- UINT32 Signature;\r
- LIST_ENTRY Link;\r
+ UINT32 Signature;\r
+ LIST_ENTRY Link;\r
\r
- IP4_INTERFACE *Interface;\r
- IP4_SERVICE *IpSb;\r
+ IP4_INTERFACE *Interface;\r
+ IP4_SERVICE *IpSb;\r
\r
- IP4_PROTOCOL *IpInstance;\r
- IP4_FRAME_CALLBACK CallBack;\r
- NET_BUF *Packet;\r
- VOID *Context;\r
+ IP4_PROTOCOL *IpInstance;\r
+ IP4_FRAME_CALLBACK CallBack;\r
+ NET_BUF *Packet;\r
+ VOID *Context;\r
\r
- EFI_MAC_ADDRESS DstMac;\r
- EFI_MAC_ADDRESS SrcMac;\r
+ EFI_MAC_ADDRESS DstMac;\r
+ EFI_MAC_ADDRESS SrcMac;\r
\r
- EFI_MANAGED_NETWORK_COMPLETION_TOKEN MnpToken;\r
- EFI_MANAGED_NETWORK_TRANSMIT_DATA MnpTxData;\r
+ EFI_MANAGED_NETWORK_COMPLETION_TOKEN MnpToken;\r
+ EFI_MANAGED_NETWORK_TRANSMIT_DATA MnpTxData;\r
} IP4_LINK_TX_TOKEN;\r
\r
///\r
/// be sent all at once the ARP requests succeed.\r
///\r
typedef struct {\r
- UINT32 Signature;\r
- LIST_ENTRY Link;\r
+ UINT32 Signature;\r
+ LIST_ENTRY Link;\r
\r
- LIST_ENTRY Frames;\r
- IP4_INTERFACE *Interface;\r
+ LIST_ENTRY Frames;\r
+ IP4_INTERFACE *Interface;\r
\r
//\r
// ARP requesting staffs\r
//\r
- EFI_EVENT OnResolved;\r
- IP4_ADDR Ip;\r
- EFI_MAC_ADDRESS Mac;\r
+ EFI_EVENT OnResolved;\r
+ IP4_ADDR Ip;\r
+ EFI_MAC_ADDRESS Mac;\r
} IP4_ARP_QUE;\r
\r
/**\r
typedef\r
BOOLEAN\r
(*IP4_FRAME_TO_CANCEL)(\r
- IP4_LINK_TX_TOKEN *Frame,\r
- VOID *Context\r
+ IP4_LINK_TX_TOKEN *Frame,\r
+ VOID *Context\r
);\r
\r
//\r
// with 0.0.0.0/0.0.0.0.\r
//\r
struct _IP4_INTERFACE {\r
- UINT32 Signature;\r
- LIST_ENTRY Link;\r
- INTN RefCnt;\r
+ UINT32 Signature;\r
+ LIST_ENTRY Link;\r
+ INTN RefCnt;\r
\r
//\r
// IP address and subnet mask of the interface. It also contains\r
// the subnet/net broadcast address for quick access. The fields\r
// are invalid if (Configured == FALSE)\r
//\r
- IP4_ADDR Ip;\r
- IP4_ADDR SubnetMask;\r
- IP4_ADDR SubnetBrdcast;\r
- IP4_ADDR NetBrdcast;\r
- BOOLEAN Configured;\r
+ IP4_ADDR Ip;\r
+ IP4_ADDR SubnetMask;\r
+ IP4_ADDR SubnetBrdcast;\r
+ IP4_ADDR NetBrdcast;\r
+ BOOLEAN Configured;\r
\r
//\r
// Handle used to create/destroy ARP child. All the IP children\r
// share one MNP which is owned by IP service binding.\r
//\r
- EFI_HANDLE Controller;\r
- EFI_HANDLE Image;\r
+ EFI_HANDLE Controller;\r
+ EFI_HANDLE Image;\r
\r
- EFI_MANAGED_NETWORK_PROTOCOL *Mnp;\r
- EFI_ARP_PROTOCOL *Arp;\r
- EFI_HANDLE ArpHandle;\r
+ EFI_MANAGED_NETWORK_PROTOCOL *Mnp;\r
+ EFI_ARP_PROTOCOL *Arp;\r
+ EFI_HANDLE ArpHandle;\r
\r
//\r
// Queues to keep the frames sent and waiting ARP request.\r
//\r
- LIST_ENTRY ArpQues;\r
- LIST_ENTRY SentFrames;\r
- IP4_LINK_RX_TOKEN *RecvRequest;\r
+ LIST_ENTRY ArpQues;\r
+ LIST_ENTRY SentFrames;\r
+ IP4_LINK_RX_TOKEN *RecvRequest;\r
\r
//\r
// The interface's MAC and broadcast MAC address.\r
//\r
- EFI_MAC_ADDRESS Mac;\r
- EFI_MAC_ADDRESS BroadcastMac;\r
- UINT32 HwaddrLen;\r
+ EFI_MAC_ADDRESS Mac;\r
+ EFI_MAC_ADDRESS BroadcastMac;\r
+ UINT32 HwaddrLen;\r
\r
//\r
// All the IP instances that have the same IP/SubnetMask are linked\r
// together through IpInstances. If any of the instance enables\r
// promiscuous receive, PromiscRecv is true.\r
//\r
- LIST_ENTRY IpInstances;\r
- BOOLEAN PromiscRecv;\r
+ LIST_ENTRY IpInstances;\r
+ BOOLEAN PromiscRecv;\r
};\r
\r
/**\r
**/\r
EFI_STATUS\r
Ip4SetAddress (\r
- IN OUT IP4_INTERFACE *Interface,\r
- IN IP4_ADDR IpAddr,\r
- IN IP4_ADDR SubnetMask\r
+ IN OUT IP4_INTERFACE *Interface,\r
+ IN IP4_ADDR IpAddr,\r
+ IN IP4_ADDR SubnetMask\r
);\r
\r
/**\r
**/\r
EFI_STATUS\r
Ip4FreeInterface (\r
- IN IP4_INTERFACE *Interface,\r
- IN IP4_PROTOCOL *IpInstance OPTIONAL\r
+ IN IP4_INTERFACE *Interface,\r
+ IN IP4_PROTOCOL *IpInstance OPTIONAL\r
);\r
\r
/**\r
**/\r
EFI_STATUS\r
Ip4SendFrame (\r
- IN IP4_INTERFACE *Interface,\r
- IN IP4_PROTOCOL *IpInstance OPTIONAL,\r
- IN NET_BUF *Packet,\r
- IN IP4_ADDR NextHop,\r
- IN IP4_FRAME_CALLBACK CallBack,\r
- IN VOID *Context,\r
- IN IP4_SERVICE *IpSb\r
+ IN IP4_INTERFACE *Interface,\r
+ IN IP4_PROTOCOL *IpInstance OPTIONAL,\r
+ IN NET_BUF *Packet,\r
+ IN IP4_ADDR NextHop,\r
+ IN IP4_FRAME_CALLBACK CallBack,\r
+ IN VOID *Context,\r
+ IN IP4_SERVICE *IpSb\r
);\r
\r
/**\r
**/\r
VOID\r
Ip4CancelFrames (\r
- IN IP4_INTERFACE *Interface,\r
- IN EFI_STATUS IoStatus,\r
- IN IP4_FRAME_TO_CANCEL FrameToCancel OPTIONAL,\r
- IN VOID *Context\r
+ IN IP4_INTERFACE *Interface,\r
+ IN EFI_STATUS IoStatus,\r
+ IN IP4_FRAME_TO_CANCEL FrameToCancel OPTIONAL,\r
+ IN VOID *Context\r
);\r
\r
/**\r
**/\r
VOID\r
Ip4CancelReceive (\r
- IN IP4_INTERFACE *Interface\r
+ IN IP4_INTERFACE *Interface\r
);\r
\r
/**\r
**/\r
EFI_STATUS\r
Ip4ReceiveFrame (\r
- IN IP4_INTERFACE *Interface,\r
- IN IP4_PROTOCOL *IpInstance OPTIONAL,\r
- IN IP4_FRAME_CALLBACK CallBack,\r
- IN VOID *Context\r
+ IN IP4_INTERFACE *Interface,\r
+ IN IP4_PROTOCOL *IpInstance OPTIONAL,\r
+ IN IP4_FRAME_CALLBACK CallBack,\r
+ IN VOID *Context\r
);\r
\r
#endif\r