#ifndef __EFI_IP4_INPUT_H__\r
#define __EFI_IP4_INPUT_H__\r
\r
-#define IP4_MIN_HEADLEN 20\r
-#define IP4_MAX_HEADLEN 60\r
+#define IP4_MIN_HEADLEN 20\r
+#define IP4_MAX_HEADLEN 60\r
///\r
/// 8(ESP header) + 16(max IV) + 16(max padding) + 2(ESP tail) + 12(max ICV) = 54\r
///\r
/// life. If it isn't consumed before Life reaches zero, the packet is released.\r
///\r
typedef struct {\r
- UINTN LinkFlag;\r
- INTN CastType;\r
- INTN Start;\r
- INTN End;\r
- INTN Length;\r
- UINT32 Life;\r
- EFI_STATUS Status;\r
+ UINTN LinkFlag;\r
+ INTN CastType;\r
+ INTN Start;\r
+ INTN End;\r
+ INTN Length;\r
+ UINT32 Life;\r
+ EFI_STATUS Status;\r
} IP4_CLIP_INFO;\r
\r
///\r
/// Structure used to assemble IP packets.\r
///\r
typedef struct {\r
- LIST_ENTRY Link;\r
+ LIST_ENTRY Link;\r
\r
//\r
// Identity of one IP4 packet. Each fragment of a packet has\r
// the same (Dst, Src, Id, Protocol).\r
//\r
- IP4_ADDR Dst;\r
- IP4_ADDR Src;\r
- UINT16 Id;\r
- UINT8 Protocol;\r
-\r
- INTN TotalLen;\r
- INTN CurLen;\r
- LIST_ENTRY Fragments; // List of all the fragments of this packet\r
-\r
- IP4_HEAD *Head; // IP head of the first fragment\r
- IP4_CLIP_INFO *Info; // Per packet info of the first fragment\r
- INTN Life; // Count down life for the packet.\r
+ IP4_ADDR Dst;\r
+ IP4_ADDR Src;\r
+ UINT16 Id;\r
+ UINT8 Protocol;\r
+\r
+ INTN TotalLen;\r
+ INTN CurLen;\r
+ LIST_ENTRY Fragments; // List of all the fragments of this packet\r
+\r
+ IP4_HEAD *Head; // IP head of the first fragment\r
+ IP4_CLIP_INFO *Info; // Per packet info of the first fragment\r
+ INTN Life; // Count down life for the packet.\r
} IP4_ASSEMBLE_ENTRY;\r
\r
///\r
/// as hash table.\r
///\r
typedef struct {\r
- LIST_ENTRY Bucket[IP4_ASSEMLE_HASH_SIZE];\r
+ LIST_ENTRY Bucket[IP4_ASSEMLE_HASH_SIZE];\r
} IP4_ASSEMBLE_TABLE;\r
\r
-#define IP4_GET_CLIP_INFO(Packet) ((IP4_CLIP_INFO *) ((Packet)->ProtoData))\r
+#define IP4_GET_CLIP_INFO(Packet) ((IP4_CLIP_INFO *) ((Packet)->ProtoData))\r
\r
#define IP4_ASSEMBLE_HASH(Dst, Src, Id, Proto) \\r
(((Dst) + (Src) + ((Id) << 16) + (Proto)) % IP4_ASSEMLE_HASH_SIZE)\r
**/\r
VOID\r
Ip4InitAssembleTable (\r
- IN OUT IP4_ASSEMBLE_TABLE *Table\r
+ IN OUT IP4_ASSEMBLE_TABLE *Table\r
);\r
\r
/**\r
**/\r
VOID\r
Ip4CleanAssembleTable (\r
- IN IP4_ASSEMBLE_TABLE *Table\r
+ IN IP4_ASSEMBLE_TABLE *Table\r
);\r
\r
/**\r
**/\r
VOID\r
Ip4AccpetFrame (\r
- IN IP4_PROTOCOL *Ip4Instance,\r
- IN NET_BUF *Packet,\r
- IN EFI_STATUS IoStatus,\r
- IN UINT32 Flag,\r
- IN VOID *Context\r
+ IN IP4_PROTOCOL *Ip4Instance,\r
+ IN NET_BUF *Packet,\r
+ IN EFI_STATUS IoStatus,\r
+ IN UINT32 Flag,\r
+ IN VOID *Context\r
);\r
\r
/**\r
**/\r
EFI_STATUS\r
Ip4Demultiplex (\r
- IN IP4_SERVICE *IpSb,\r
- IN IP4_HEAD *Head,\r
- IN NET_BUF *Packet,\r
- IN UINT8 *Option,\r
- IN UINT32 OptionLen\r
+ IN IP4_SERVICE *IpSb,\r
+ IN IP4_HEAD *Head,\r
+ IN NET_BUF *Packet,\r
+ IN UINT8 *Option,\r
+ IN UINT32 OptionLen\r
);\r
\r
/**\r
**/\r
INTN\r
Ip4InterfaceEnquePacket (\r
- IN IP4_SERVICE *IpSb,\r
- IN IP4_HEAD *Head,\r
- IN NET_BUF *Packet,\r
- IN UINT8 *Option,\r
- IN UINT32 OptionLen,\r
- IN IP4_INTERFACE *IpIf\r
+ IN IP4_SERVICE *IpSb,\r
+ IN IP4_HEAD *Head,\r
+ IN NET_BUF *Packet,\r
+ IN UINT8 *Option,\r
+ IN UINT32 OptionLen,\r
+ IN IP4_INTERFACE *IpIf\r
);\r
\r
/**\r
**/\r
EFI_STATUS\r
Ip4InstanceDeliverPacket (\r
- IN IP4_PROTOCOL *IpInstance\r
+ IN IP4_PROTOCOL *IpInstance\r
);\r
\r
/**\r
**/\r
VOID\r
Ip4PacketTimerTicking (\r
- IN IP4_SERVICE *IpSb\r
+ IN IP4_SERVICE *IpSb\r
);\r
\r
/**\r