+\r
+/**\r
+ The callback function for the net buffer which wraps the user's\r
+ transmit token. Although it seems this function is pretty simple,\r
+ there are some subtle things.\r
+ When user requests the IP to transmit a packet by passing it a\r
+ token, the token is wrapped in an IP4_TXTOKEN_WRAP and the data\r
+ is wrapped in an net buffer. the net buffer's Free function is\r
+ set to Ip4FreeTxToken. The Token and token wrap are added to the\r
+ IP child's TxToken map. Then the buffer is passed to Ip4Output for\r
+ transmission. If something error happened before that, the buffer\r
+ is freed, which in turn will free the token wrap. The wrap may\r
+ have been added to the TxToken map or not, and the user's event\r
+ shouldn't be fired because we are still in the EfiIp4Transmit. If\r
+ the buffer has been sent by Ip4Output, it should be removed from\r
+ the TxToken map and user's event signaled. The token wrap and buffer\r
+ are bound together. Check the comments in Ip4Output for information\r
+ about IP fragmentation.\r
+\r
+ @param[in] Context The token's wrap\r
+\r
+**/\r
+VOID\r
+EFIAPI\r
+Ip4FreeTxToken (\r
+ IN VOID *Context\r
+ );\r
+\r
+extern EFI_IPSEC2_PROTOCOL *mIpSec;\r
+\r