// successfully configured, it goes to CONFIGED. if configure NULL\r
// is called, it becomes UNCONFIGED again.\r
//\r
-#define IP4_STATE_UNCONFIGED 0\r
-#define IP4_STATE_CONFIGED 1\r
+#define IP4_STATE_UNCONFIGED 0\r
+#define IP4_STATE_CONFIGED 1\r
\r
//\r
// The state of IP4 service. It starts from UNSTARTED. It transits\r
// configured, it becomes CONFIGED. and if partly destroyed, it goes\r
// to DESTROY.\r
//\r
-#define IP4_SERVICE_UNSTARTED 0\r
-#define IP4_SERVICE_STARTED 1\r
-#define IP4_SERVICE_CONFIGED 2\r
-#define IP4_SERVICE_DESTROY 3\r
-\r
+#define IP4_SERVICE_UNSTARTED 0\r
+#define IP4_SERVICE_STARTED 1\r
+#define IP4_SERVICE_CONFIGED 2\r
+#define IP4_SERVICE_DESTROY 3\r
\r
///\r
/// IP4_TXTOKEN_WRAP wraps the upper layer's transmit token.\r
/// user's event signalled.\r
///\r
typedef struct {\r
- IP4_PROTOCOL *IpInstance;\r
- EFI_IP4_COMPLETION_TOKEN *Token;\r
- EFI_EVENT IpSecRecycleSignal;\r
- NET_BUF *Packet;\r
- BOOLEAN Sent;\r
- INTN Life;\r
+ IP4_PROTOCOL *IpInstance;\r
+ EFI_IP4_COMPLETION_TOKEN *Token;\r
+ EFI_EVENT IpSecRecycleSignal;\r
+ NET_BUF *Packet;\r
+ BOOLEAN Sent;\r
+ INTN Life;\r
} IP4_TXTOKEN_WRAP;\r
\r
///\r
/// to notice IPsec to free the resources.\r
///\r
typedef struct {\r
- EFI_EVENT IpSecRecycleSignal;\r
- NET_BUF *Packet;\r
+ EFI_EVENT IpSecRecycleSignal;\r
+ NET_BUF *Packet;\r
} IP4_IPSEC_WRAP;\r
\r
///\r
/// fragments will be freed at last.\r
///\r
typedef struct {\r
- LIST_ENTRY Link;\r
- IP4_PROTOCOL *IpInstance;\r
- NET_BUF *Packet;\r
- EFI_IP4_RECEIVE_DATA RxData;\r
+ LIST_ENTRY Link;\r
+ IP4_PROTOCOL *IpInstance;\r
+ NET_BUF *Packet;\r
+ EFI_IP4_RECEIVE_DATA RxData;\r
} IP4_RXDATA_WRAP;\r
\r
-\r
struct _IP4_PROTOCOL {\r
- UINT32 Signature;\r
+ UINT32 Signature;\r
\r
- EFI_IP4_PROTOCOL Ip4Proto;\r
- EFI_HANDLE Handle;\r
- INTN State;\r
+ EFI_IP4_PROTOCOL Ip4Proto;\r
+ EFI_HANDLE Handle;\r
+ INTN State;\r
\r
- BOOLEAN InDestroy;\r
+ BOOLEAN InDestroy;\r
\r
- IP4_SERVICE *Service;\r
- LIST_ENTRY Link; // Link to all the IP protocol from the service\r
+ IP4_SERVICE *Service;\r
+ LIST_ENTRY Link; // Link to all the IP protocol from the service\r
\r
//\r
// User's transmit/receive tokens, and received/delivered packets\r
//\r
- NET_MAP RxTokens;\r
- NET_MAP TxTokens; // map between (User's Token, IP4_TXTOKE_WRAP)\r
- LIST_ENTRY Received; // Received but not delivered packet\r
- LIST_ENTRY Delivered; // Delivered and to be recycled packets\r
- EFI_LOCK RecycleLock;\r
+ NET_MAP RxTokens;\r
+ NET_MAP TxTokens; // map between (User's Token, IP4_TXTOKE_WRAP)\r
+ LIST_ENTRY Received; // Received but not delivered packet\r
+ LIST_ENTRY Delivered; // Delivered and to be recycled packets\r
+ EFI_LOCK RecycleLock;\r
\r
//\r
// Instance's address and route tables. There are two route tables.\r
// RouteTable is used by the IP4 driver to route packet. EfiRouteTable\r
// is used to communicate the current route info to the upper layer.\r
//\r
- IP4_INTERFACE *Interface;\r
- LIST_ENTRY AddrLink; // Ip instances with the same IP address.\r
- IP4_ROUTE_TABLE *RouteTable;\r
+ IP4_INTERFACE *Interface;\r
+ LIST_ENTRY AddrLink; // Ip instances with the same IP address.\r
+ IP4_ROUTE_TABLE *RouteTable;\r
\r
- EFI_IP4_ROUTE_TABLE *EfiRouteTable;\r
- UINT32 EfiRouteCount;\r
+ EFI_IP4_ROUTE_TABLE *EfiRouteTable;\r
+ UINT32 EfiRouteCount;\r
\r
//\r
// IGMP data for this instance\r
//\r
- IP4_ADDR *Groups; // stored in network byte order\r
- UINT32 GroupCount;\r
-\r
- EFI_IP4_CONFIG_DATA ConfigData;\r
+ IP4_ADDR *Groups; // stored in network byte order\r
+ UINT32 GroupCount;\r
\r
+ EFI_IP4_CONFIG_DATA ConfigData;\r
};\r
\r
struct _IP4_SERVICE {\r
- UINT32 Signature;\r
- EFI_SERVICE_BINDING_PROTOCOL ServiceBinding;\r
- INTN State;\r
+ UINT32 Signature;\r
+ EFI_SERVICE_BINDING_PROTOCOL ServiceBinding;\r
+ INTN State;\r
\r
//\r
// List of all the IP instances and interfaces, and default\r
// interface and route table and caches.\r
//\r
- UINTN NumChildren;\r
- LIST_ENTRY Children;\r
+ UINTN NumChildren;\r
+ LIST_ENTRY Children;\r
\r
- LIST_ENTRY Interfaces;\r
+ LIST_ENTRY Interfaces;\r
\r
- IP4_INTERFACE *DefaultInterface;\r
- IP4_ROUTE_TABLE *DefaultRouteTable;\r
+ IP4_INTERFACE *DefaultInterface;\r
+ IP4_ROUTE_TABLE *DefaultRouteTable;\r
\r
//\r
// Ip reassemble utilities, and IGMP data\r
//\r
- IP4_ASSEMBLE_TABLE Assemble;\r
- IGMP_SERVICE_DATA IgmpCtrl;\r
+ IP4_ASSEMBLE_TABLE Assemble;\r
+ IGMP_SERVICE_DATA IgmpCtrl;\r
\r
//\r
// Low level protocol used by this service instance\r
//\r
- EFI_HANDLE Image;\r
- EFI_HANDLE Controller;\r
+ EFI_HANDLE Image;\r
+ EFI_HANDLE Controller;\r
\r
- EFI_HANDLE MnpChildHandle;\r
- EFI_MANAGED_NETWORK_PROTOCOL *Mnp;\r
+ EFI_HANDLE MnpChildHandle;\r
+ EFI_MANAGED_NETWORK_PROTOCOL *Mnp;\r
\r
- EFI_MANAGED_NETWORK_CONFIG_DATA MnpConfigData;\r
- EFI_SIMPLE_NETWORK_MODE SnpMode;\r
+ EFI_MANAGED_NETWORK_CONFIG_DATA MnpConfigData;\r
+ EFI_SIMPLE_NETWORK_MODE SnpMode;\r
\r
- EFI_EVENT Timer;\r
- EFI_EVENT ReconfigCheckTimer;\r
- EFI_EVENT ReconfigEvent;\r
+ EFI_EVENT Timer;\r
+ EFI_EVENT ReconfigCheckTimer;\r
+ EFI_EVENT ReconfigEvent;\r
\r
- BOOLEAN Reconfig;\r
+ BOOLEAN Reconfig;\r
\r
//\r
// Underlying media present status.\r
//\r
- BOOLEAN MediaPresent;\r
+ BOOLEAN MediaPresent;\r
\r
//\r
// IPv4 Configuration II Protocol instance\r
//\r
- IP4_CONFIG2_INSTANCE Ip4Config2Instance;\r
+ IP4_CONFIG2_INSTANCE Ip4Config2Instance;\r
\r
- CHAR16 *MacString;\r
+ CHAR16 *MacString;\r
\r
- UINT32 MaxPacketSize;\r
- UINT32 OldMaxPacketSize; ///< The MTU before IPsec enable.\r
+ UINT32 MaxPacketSize;\r
+ UINT32 OldMaxPacketSize; ///< The MTU before IPsec enable.\r
};\r
\r
#define IP4_INSTANCE_FROM_PROTOCOL(Ip4) \\r
#define IP4_SERVICE_FROM_CONFIG2_INSTANCE(This) \\r
CR (This, IP4_SERVICE, Ip4Config2Instance, IP4_SERVICE_SIGNATURE)\r
\r
+#define IP4_NO_MAPPING(IpInstance) (!(IpInstance)->Interface->Configured)\r
\r
-#define IP4_NO_MAPPING(IpInstance) (!(IpInstance)->Interface->Configured)\r
-\r
-extern EFI_IP4_PROTOCOL mEfiIp4ProtocolTemplete;\r
+extern EFI_IP4_PROTOCOL mEfiIp4ProtocolTemplete;\r
\r
/**\r
Config the MNP parameter used by IP. The IP driver use one MNP\r
**/\r
EFI_STATUS\r
Ip4ServiceConfigMnp (\r
- IN IP4_SERVICE *IpSb,\r
- IN BOOLEAN Force\r
+ IN IP4_SERVICE *IpSb,\r
+ IN BOOLEAN Force\r
);\r
\r
/**\r
**/\r
VOID\r
Ip4InitProtocol (\r
- IN IP4_SERVICE *IpSb,\r
- IN OUT IP4_PROTOCOL *IpInstance\r
+ IN IP4_SERVICE *IpSb,\r
+ IN OUT IP4_PROTOCOL *IpInstance\r
);\r
\r
/**\r
**/\r
EFI_STATUS\r
Ip4CleanProtocol (\r
- IN IP4_PROTOCOL *IpInstance\r
+ IN IP4_PROTOCOL *IpInstance\r
);\r
\r
/**\r
**/\r
EFI_STATUS\r
Ip4Cancel (\r
- IN IP4_PROTOCOL *IpInstance,\r
- IN EFI_IP4_COMPLETION_TOKEN *Token OPTIONAL\r
+ IN IP4_PROTOCOL *IpInstance,\r
+ IN EFI_IP4_COMPLETION_TOKEN *Token OPTIONAL\r
);\r
\r
/**\r
**/\r
EFI_STATUS\r
Ip4Groups (\r
- IN IP4_PROTOCOL *IpInstance,\r
- IN BOOLEAN JoinFlag,\r
- IN EFI_IPv4_ADDRESS *GroupAddress OPTIONAL\r
+ IN IP4_PROTOCOL *IpInstance,\r
+ IN BOOLEAN JoinFlag,\r
+ IN EFI_IPv4_ADDRESS *GroupAddress OPTIONAL\r
);\r
\r
/**\r
VOID\r
EFIAPI\r
Ip4TimerTicking (\r
- IN EFI_EVENT Event,\r
- IN VOID *Context\r
+ IN EFI_EVENT Event,\r
+ IN VOID *Context\r
);\r
\r
/**\r
VOID\r
EFIAPI\r
Ip4TimerReconfigChecking (\r
- IN EFI_EVENT Event,\r
- IN VOID *Context\r
+ IN EFI_EVENT Event,\r
+ IN VOID *Context\r
);\r
\r
/**\r
EFI_STATUS\r
EFIAPI\r
Ip4SentPacketTicking (\r
- IN NET_MAP *Map,\r
- IN NET_MAP_ITEM *Item,\r
- IN VOID *Context\r
+ IN NET_MAP *Map,\r
+ IN NET_MAP_ITEM *Item,\r
+ IN VOID *Context\r
);\r
\r
/**\r
VOID\r
EFIAPI\r
Ip4FreeTxToken (\r
- IN VOID *Context\r
+ IN VOID *Context\r
);\r
\r
-extern EFI_IPSEC2_PROTOCOL *mIpSec;\r
-extern BOOLEAN mIpSec2Installed;\r
+extern EFI_IPSEC2_PROTOCOL *mIpSec;\r
+extern BOOLEAN mIpSec2Installed;\r
\r
#endif\r