[SAMPLEVNF] Adding support to handle more than 16 ports 71/35571/2
authorDeepak S <deepak.s@linux.intel.com>
Wed, 31 May 2017 12:56:50 +0000 (12:56 +0000)
committerDeepak S <deepak.s@linux.intel.com>
Thu, 1 Jun 2017 04:05:36 +0000 (04:05 +0000)
This patch extends num_ports vnf can handle ports > 16 . This include
changes in the memory allocatiion and size of different paramters

Change-Id: Id8907327023ba863ad107bb874cfb60bd38daee5
Signed-off-by: Deepak S <deepak.s@linux.intel.com>
VNFs/vCGNAPT/pipeline/pipeline_cgnapt_be.c
VNFs/vCGNAPT/pipeline/pipeline_cgnapt_be.h
common/VIL/l2l3_stack/lib_arp.c
common/VIL/l2l3_stack/lib_arp.h
common/VIL/pipeline_arpicmp/pipeline_arpicmp_be.c
common/VIL/pipeline_arpicmp/pipeline_arpicmp_be.h
common/cscope.out [new file with mode: 0644]
common/vnf_common/app.h
common/vnf_common/pipeline_be.h

index a7f10db..2da8b5e 100644 (file)
@@ -101,7 +101,8 @@ struct rte_ct_cnxn_tracker *cgnat_cnxn_tracker;
 /***** Common Port Allocation declarations *****/
 
 struct rte_ring *port_alloc_ring[MAX_CGNAPT_SETS] = { NULL, NULL, NULL, NULL,
-                                               NULL, NULL, NULL, NULL };
+                                               NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
+                                                NULL, NULL, NULL, NULL};
 const char *napt_port_alloc_ring_name[MAX_CGNAPT_SETS] = {
        "NAPT_PORT_ALLOC_0 ",
        "NAPT_PORT_ALLOC_1 ",
@@ -110,7 +111,15 @@ const char *napt_port_alloc_ring_name[MAX_CGNAPT_SETS] = {
        "NAPT_PORT_ALLOC_4 ",
        "NAPT_PORT_ALLOC_5 ",
        "NAPT_PORT_ALLOC_6 ",
-       "NAPT_PORT_ALLOC_7 "
+       "NAPT_PORT_ALLOC_7 ",
+       "NAPT_PORT_ALLOC_8 ",
+       "NAPT_PORT_ALLOC_9 ",
+       "NAPT_PORT_ALLOC_10 ",
+       "NAPT_PORT_ALLOC_11 ",
+       "NAPT_PORT_ALLOC_12 ",
+       "NAPT_PORT_ALLOC_13 ",
+       "NAPT_PORT_ALLOC_14 ",
+       "NAPT_PORT_ALLOC_16 "
 };
 
 int vnf_set_count = -1;
index c9b81fa..94f19f1 100644 (file)
@@ -560,7 +560,7 @@ struct pub_ip_range {
 int create_napt_common_table(uint32_t nFlows);
 struct rte_mempool *napt_port_pool;
 
-#define MAX_CGNAPT_SETS 8
+#define MAX_CGNAPT_SETS 16
 
 /**
  * A structure defining a bulk port allocation element.
index 042dd39..0162f82 100644 (file)
@@ -57,7 +57,7 @@
 #define is_multicast_ipv4_addr(ipv4_addr) \
        (((rte_be_to_cpu_32((ipv4_addr)) >> 24) & 0x000000FF) == 0xE0)
 
-extern uint8_t prv_in_port_a[16];
+extern uint8_t prv_in_port_a[PIPELINE_MAX_PORT_IN];
 extern uint32_t timer_lcore;
 uint32_t arp_timeout = ARP_TIMER_EXPIRY;
 
@@ -185,6 +185,38 @@ struct table_nd_entry_data nd_entry_data_table[MAX_ND_DATA_ENTRY_TABLE] = {
 };
 
 struct lib_nd_route_table_entry lib_nd_route_table[MAX_ND_RT_ENTRY] = {
+       {{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, 0, 0,
+        {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} },
+       {{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, 0, 0,
+        {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} },
+       {{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, 0, 0,
+        {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} },
+       {{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, 0, 0,
+        {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} },
+       {{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, 0, 0,
+        {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} },
+       {{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, 0, 0,
+        {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} },
+       {{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, 0, 0,
+        {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} },
+       {{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, 0, 0,
+        {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} },
+       {{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, 0, 0,
+        {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} },
+       {{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, 0, 0,
+        {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} },
+       {{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, 0, 0,
+        {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} },
+       {{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, 0, 0,
+        {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} },
+       {{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, 0, 0,
+        {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} },
+       {{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, 0, 0,
+        {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} },
+       {{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, 0, 0,
+        {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} },
+       {{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, 0, 0,
+        {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} },
        {{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, 0, 0,
         {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} },
        {{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, 0, 0,
@@ -220,6 +252,22 @@ struct lib_nd_route_table_entry lib_nd_route_table[MAX_ND_RT_ENTRY] = {
 };
 
 struct lib_arp_route_table_entry lib_arp_route_table[MAX_ARP_RT_ENTRY] = {
+       {0, 0, 0, 0},
+       {0, 0, 0, 0},
+       {0, 0, 0, 0},
+       {0, 0, 0, 0},
+       {0, 0, 0, 0},
+       {0, 0, 0, 0},
+       {0, 0, 0, 0},
+       {0, 0, 0, 0},
+       {0, 0, 0, 0},
+       {0, 0, 0, 0},
+       {0, 0, 0, 0},
+       {0, 0, 0, 0},
+       {0, 0, 0, 0},
+       {0, 0, 0, 0},
+       {0, 0, 0, 0},
+       {0, 0, 0, 0},
        {0, 0, 0, 0},
        {0, 0, 0, 0},
        {0, 0, 0, 0},
index 3387567..e2d3841 100644 (file)
@@ -27,8 +27,8 @@
 #define ARP_TIMER_EXPIRY 1800   /**< in Seconds, TIMER for ARP Expiry */
 #define TIMER_MILLISECOND 1
 #define RTE_LOGTYPE_LIBARP RTE_LOGTYPE_USER1
-#define MAX_ND_RT_ENTRY 16
-#define MAX_ARP_RT_ENTRY 16
+#define MAX_ND_RT_ENTRY 32
+#define MAX_ARP_RT_ENTRY 32
 
 /**
 * A structure for Route table entries of IPv4
index 7238bd1..4ec544d 100644 (file)
@@ -167,6 +167,38 @@ struct pipeline_arpicmp {
 
 
 struct lib_nd_route_table_entry lib_nd_route_table[MAX_ND_RT_ENTRY] = {
+       {{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, 0, 0,
+        {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} },
+       {{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, 0, 0,
+        {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} },
+       {{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, 0, 0,
+        {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} },
+       {{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, 0, 0,
+        {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} },
+       {{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, 0, 0,
+        {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} },
+       {{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, 0, 0,
+        {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} },
+       {{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, 0, 0,
+        {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} },
+       {{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, 0, 0,
+        {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} },
+       {{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, 0, 0,
+        {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} },
+       {{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, 0, 0,
+        {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} },
+       {{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, 0, 0,
+        {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} },
+       {{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, 0, 0,
+        {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} },
+       {{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, 0, 0,
+        {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} },
+       {{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, 0, 0,
+        {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} },
+       {{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, 0, 0,
+        {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} },
+       {{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, 0, 0,
+        {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} },
        {{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, 0, 0,
         {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} },
        {{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, 0, 0,
@@ -204,6 +236,22 @@ struct lib_nd_route_table_entry lib_nd_route_table[MAX_ND_RT_ENTRY] = {
 struct lib_arp_route_table_entry lib_arp_route_table[MAX_ARP_RT_ENTRY] = {
 //   {0xac102814, 1, 0xac102814},
 //   {0xac106414, 0, 0xac106414},
+       {0, 0, 0, 0},
+       {0, 0, 0, 0},
+       {0, 0, 0, 0},
+       {0, 0, 0, 0},
+       {0, 0, 0, 0},
+       {0, 0, 0, 0},
+       {0, 0, 0, 0},
+       {0, 0, 0, 0},
+       {0, 0, 0, 0},
+       {0, 0, 0, 0},
+       {0, 0, 0, 0},
+       {0, 0, 0, 0},
+       {0, 0, 0, 0},
+       {0, 0, 0, 0},
+       {0, 0, 0, 0},
+       {0, 0, 0, 0},
        {0, 0, 0, 0},
        {0, 0, 0, 0},
        {0, 0, 0, 0},
index 2c7fce2..cfbbe61 100644 (file)
@@ -61,8 +61,8 @@ struct ether_addr *get_link_hw_addr(uint8_t out_port);
 #endif
 
 
-#define MAX_ARP_RT_ENTRY 16
-#define MAX_ND_RT_ENTRY 16
+#define MAX_ARP_RT_ENTRY 32
+#define MAX_ND_RT_ENTRY 32
 
 #define ND_IPV6_ADDR_SIZE 16   /* 16 Byte of IPv6 Address */
 
diff --git a/common/cscope.out b/common/cscope.out
new file mode 100644 (file)
index 0000000..54523ac
--- /dev/null
@@ -0,0 +1,250740 @@
+cscope 15 $HOME/work/opnfv/samplevnf/common               0001447068
+       @VIL/acl/lib_acl.c
+
+16 \ 2
+       ~"lib_aþ.h
+"
+
+17 \ 2
+       ~"vnf_commÚ.h
+"
+
+18 \ 2
+       ~<¹e_pÜt.h
+>
+
+19 \ 1
+       #ACL_LIB_DEBUG
+ 0
+
+       )
+
+20 \18\19
+¹e_aþ_f\9bld_def
+       gf\9bld_fÜm©_\9dv4
+[] = {
+
+23 .
+ty³
+ = 
+RTE_ACL_FIELD_TYPE_BITMASK
+,
+
+24 .
+       gsize
+ = \17(
+u\9at8_t
+),
+
+25 .
+       gf\9bld_\9adex
+ = 0,
+
+26 .
+       g\9aput_\9adex
+ = 0,
+
+27 .
+       goff£t
+ = \17(\19
+\91h\94_hdr
+) +
+
+28 
+off£tof
+(\19
+\9dv4_hdr
+, 
+Ãxt_´Ùo_id
+),
+
+33 .
+ty³
+ = 
+RTE_ACL_FIELD_TYPE_MASK
+,
+
+34 .
+       gsize
+ = \17(
+u\9at32_t
+),
+
+35 .
+       gf\9bld_\9adex
+ = 1,
+
+36 .
+       g\9aput_\9adex
+ = 1,
+
+37 .
+       goff£t
+ = \17(\19
+\91h\94_hdr
+) +
+
+38 
+off£tof
+(\19
+\9dv4_hdr
+, 
+¤c_addr
+),
+
+43 .
+ty³
+ = 
+RTE_ACL_FIELD_TYPE_MASK
+,
+
+44 .
+       gsize
+ = \17(
+u\9at32_t
+),
+
+45 .
+       gf\9bld_\9adex
+ = 2,
+
+46 .
+       g\9aput_\9adex
+ = 2,
+
+47 .
+       goff£t
+ = \17(\19
+\91h\94_hdr
+) +
+
+48 
+off£tof
+(\19
+\9dv4_hdr
+, 
+d¡_addr
+),
+
+53 .
+ty³
+ = 
+RTE_ACL_FIELD_TYPE_RANGE
+,
+
+54 .
+       gsize
+ = \17(
+u\9at16_t
+),
+
+55 .
+       gf\9bld_\9adex
+ = 3,
+
+56 .
+       g\9aput_\9adex
+ = 3,
+
+57 .
+       goff£t
+ = \17(\19
+\91h\94_hdr
+) +
+
+58 \17(\19
+\9dv4_hdr
+è+ 
+off£tof
+(\19
+tý_hdr
+, 
+¤c_pÜt
+),
+
+63 .
+ty³
+ = 
+RTE_ACL_FIELD_TYPE_RANGE
+,
+
+64 .
+       gsize
+ = \17(
+u\9at16_t
+),
+
+65 .
+       gf\9bld_\9adex
+ = 4,
+
+66 .
+       g\9aput_\9adex
+ = 3,
+
+67 .
+       goff£t
+ = \17(\19
+\91h\94_hdr
+) +
+
+68 \17(\19
+\9dv4_hdr
+è+ 
+off£tof
+(\19
+tý_hdr
+, 
+d¡_pÜt
+),
+
+72 \ 1
+       #SIZEOF_VLAN_HDR
+ 4
+
+       )
+
+74 \18\19
+¹e_aþ_f\9bld_def
+       gf\9bld_fÜm©_vÏn_\9dv4
+[] = {
+
+77 .
+ty³
+ = 
+RTE_ACL_FIELD_TYPE_BITMASK
+,
+
+78 .
+       gsize
+ = \17(
+u\9at8_t
+),
+
+79 .
+       gf\9bld_\9adex
+ = 0,
+
+80 .
+       g\9aput_\9adex
+ = 0,
+
+81 .
+       goff£t
+ = \17(\19
+\91h\94_hdr
+) +
+
+82 
+SIZEOF_VLAN_HDR
+ + 
+off£tof
+(\19
+\9dv4_hdr
+, 
+Ãxt_´Ùo_id
+),
+
+87 .
+ty³
+ = 
+RTE_ACL_FIELD_TYPE_MASK
+,
+
+88 .
+       gsize
+ = \17(
+u\9at32_t
+),
+
+89 .
+       gf\9bld_\9adex
+ = 1,
+
+90 .
+       g\9aput_\9adex
+ = 1,
+
+91 .
+       goff£t
+ = \17(\19
+\91h\94_hdr
+) +
+
+92 
+SIZEOF_VLAN_HDR
+ + 
+off£tof
+(\19
+\9dv4_hdr
+, 
+¤c_addr
+),
+
+97 .
+ty³
+ = 
+RTE_ACL_FIELD_TYPE_MASK
+,
+
+98 .
+       gsize
+ = \17(
+u\9at32_t
+),
+
+99 .
+       gf\9bld_\9adex
+ = 2,
+
+100 .
+       g\9aput_\9adex
+ = 2,
+
+101 .
+       goff£t
+ = \17(\19
+\91h\94_hdr
+) +
+
+102 
+SIZEOF_VLAN_HDR
+ + 
+off£tof
+(\19
+\9dv4_hdr
+, 
+d¡_addr
+),
+
+107 .
+ty³
+ = 
+RTE_ACL_FIELD_TYPE_RANGE
+,
+
+108 .
+       gsize
+ = \17(
+u\9at16_t
+),
+
+109 .
+       gf\9bld_\9adex
+ = 3,
+
+110 .
+       g\9aput_\9adex
+ = 3,
+
+111 .
+       goff£t
+ = \17(\19
+\91h\94_hdr
+) +
+
+112 
+SIZEOF_VLAN_HDR
+ +
+
+113 \17(\19
+\9dv4_hdr
+è+ 
+off£tof
+(\19
+tý_hdr
+, 
+¤c_pÜt
+),
+
+118 .
+ty³
+ = 
+RTE_ACL_FIELD_TYPE_RANGE
+,
+
+119 .
+       gsize
+ = \17(
+u\9at16_t
+),
+
+120 .
+       gf\9bld_\9adex
+ = 4,
+
+121 .
+       g\9aput_\9adex
+ = 4,
+
+122 .
+       goff£t
+ = \17(\19
+\91h\94_hdr
+) +
+
+123 
+SIZEOF_VLAN_HDR
+ +
+
+124 \17(\19
+\9dv4_hdr
+è+ 
+off£tof
+(\19
+tý_hdr
+, 
+d¡_pÜt
+),
+
+128 \ 1
+       #SIZEOF_QINQ_HEADER
+ 8
+
+       )
+
+130 \18\19
+¹e_aþ_f\9bld_def
+       gf\9bld_fÜm©_q\9aq_\9dv4
+[] = {
+
+133 .
+ty³
+ = 
+RTE_ACL_FIELD_TYPE_BITMASK
+,
+
+134 .
+       gsize
+ = \17(
+u\9at8_t
+),
+
+135 .
+       gf\9bld_\9adex
+ = 0,
+
+136 .
+       g\9aput_\9adex
+ = 0,
+
+137 .
+       goff£t
+ = \17(\19
+\91h\94_hdr
+) +
+
+138 
+SIZEOF_QINQ_HEADER
+ + 
+off£tof
+(\19
+\9dv4_hdr
+, 
+Ãxt_´Ùo_id
+),
+
+143 .
+ty³
+ = 
+RTE_ACL_FIELD_TYPE_MASK
+,
+
+144 .
+       gsize
+ = \17(
+u\9at32_t
+),
+
+145 .
+       gf\9bld_\9adex
+ = 1,
+
+146 .
+       g\9aput_\9adex
+ = 1,
+
+147 .
+       goff£t
+ = \17(\19
+\91h\94_hdr
+) +
+
+148 
+SIZEOF_QINQ_HEADER
+ + 
+off£tof
+(\19
+\9dv4_hdr
+, 
+¤c_addr
+),
+
+153 .
+ty³
+ = 
+RTE_ACL_FIELD_TYPE_MASK
+,
+
+154 .
+       gsize
+ = \17(
+u\9at32_t
+),
+
+155 .
+       gf\9bld_\9adex
+ = 2,
+
+156 .
+       g\9aput_\9adex
+ = 2,
+
+157 .
+       goff£t
+ = \17(\19
+\91h\94_hdr
+) +
+
+158 
+SIZEOF_QINQ_HEADER
+ + 
+off£tof
+(\19
+\9dv4_hdr
+, 
+d¡_addr
+),
+
+163 .
+ty³
+ = 
+RTE_ACL_FIELD_TYPE_RANGE
+,
+
+164 .
+       gsize
+ = \17(
+u\9at16_t
+),
+
+165 .
+       gf\9bld_\9adex
+ = 3,
+
+166 .
+       g\9aput_\9adex
+ = 3,
+
+167 .
+       goff£t
+ = \17(\19
+\91h\94_hdr
+) +
+
+168 
+SIZEOF_QINQ_HEADER
+ +
+
+169 \17(\19
+\9dv4_hdr
+è+ 
+off£tof
+(\19
+tý_hdr
+, 
+¤c_pÜt
+),
+
+174 .
+ty³
+ = 
+RTE_ACL_FIELD_TYPE_RANGE
+,
+
+175 .
+       gsize
+ = \17(
+u\9at16_t
+),
+
+176 .
+       gf\9bld_\9adex
+ = 4,
+
+177 .
+       g\9aput_\9adex
+ = 4,
+
+178 .
+       goff£t
+ = \17(\19
+\91h\94_hdr
+) +
+
+179 
+SIZEOF_QINQ_HEADER
+ +
+
+180 \17(\19
+\9dv4_hdr
+è+ 
+off£tof
+(\19
+tý_hdr
+, 
+d¡_pÜt
+),
+
+184 \18\19
+¹e_aþ_f\9bld_def
+       gf\9bld_fÜm©_\9dv6
+[] = {
+
+187 .
+ty³
+ = 
+RTE_ACL_FIELD_TYPE_BITMASK
+,
+
+188 .
+       gsize
+ = \17(
+u\9at8_t
+),
+
+189 .
+       gf\9bld_\9adex
+ = 0,
+
+190 .
+       g\9aput_\9adex
+ = 0,
+
+191 .
+       goff£t
+ = \17(\19
+\91h\94_hdr
+) +
+
+192 
+off£tof
+(\19
+\9dv6_hdr
+, 
+´Ùo
+),
+
+197 .
+ty³
+ = 
+RTE_ACL_FIELD_TYPE_MASK
+,
+
+198 .
+       gsize
+ = \17(
+u\9at32_t
+),
+
+199 .
+       gf\9bld_\9adex
+ = 1,
+
+200 .
+       g\9aput_\9adex
+ = 1,
+
+201 .
+       goff£t
+ = \17(\19
+\91h\94_hdr
+) +
+
+202 
+off£tof
+(\19
+\9dv6_hdr
+, 
+¤c_addr
+),
+
+206 .
+ty³
+ = 
+RTE_ACL_FIELD_TYPE_MASK
+,
+
+207 .
+       gsize
+ = \17(
+u\9at32_t
+),
+
+208 .
+       gf\9bld_\9adex
+ = 2,
+
+209 .
+       g\9aput_\9adex
+ = 2,
+
+210 .
+       goff£t
+ = \17(\19
+\91h\94_hdr
+) +
+
+211 
+off£tof
+(\19
+\9dv6_hdr
+, 
+¤c_addr
+è+ \17(
+       gu\9at32_t
+),
+
+215 .
+ty³
+ = 
+RTE_ACL_FIELD_TYPE_MASK
+,
+
+216 .
+       gsize
+ = \17(
+u\9at32_t
+),
+
+217 .
+       gf\9bld_\9adex
+ = 3,
+
+218 .
+       g\9aput_\9adex
+ = 3,
+
+219 .
+       goff£t
+ = \17(\19
+\91h\94_hdr
+) +
+
+220 
+off£tof
+(\19
+\9dv6_hdr
+, 
+¤c_addr
+è+ 2 * \17(
+       gu\9at32_t
+),
+
+224 .
+ty³
+ = 
+RTE_ACL_FIELD_TYPE_MASK
+,
+
+225 .
+       gsize
+ = \17(
+u\9at32_t
+),
+
+226 .
+       gf\9bld_\9adex
+ = 4,
+
+227 .
+       g\9aput_\9adex
+ = 4,
+
+228 .
+       goff£t
+ = \17(\19
+\91h\94_hdr
+) +
+
+229 
+off£tof
+(\19
+\9dv6_hdr
+, 
+¤c_addr
+è+ 3 * \17(
+       gu\9at32_t
+),
+
+234 .
+ty³
+ = 
+RTE_ACL_FIELD_TYPE_MASK
+,
+
+235 .
+       gsize
+ = \17(
+u\9at32_t
+),
+
+236 .
+       gf\9bld_\9adex
+ = 5,
+
+237 .
+       g\9aput_\9adex
+ = 5,
+
+238 .
+       goff£t
+ = \17(\19
+\91h\94_hdr
+) +
+
+239 
+off£tof
+(\19
+\9dv6_hdr
+, 
+d¡_addr
+),
+
+243 .
+ty³
+ = 
+RTE_ACL_FIELD_TYPE_MASK
+,
+
+244 .
+       gsize
+ = \17(
+u\9at32_t
+),
+
+245 .
+       gf\9bld_\9adex
+ = 6,
+
+246 .
+       g\9aput_\9adex
+ = 6,
+
+247 .
+       goff£t
+ = \17(\19
+\91h\94_hdr
+) +
+
+248 
+off£tof
+(\19
+\9dv6_hdr
+, 
+d¡_addr
+è+ \17(
+       gu\9at32_t
+),
+
+252 .
+ty³
+ = 
+RTE_ACL_FIELD_TYPE_MASK
+,
+
+253 .
+       gsize
+ = \17(
+u\9at32_t
+),
+
+254 .
+       gf\9bld_\9adex
+ = 7,
+
+255 .
+       g\9aput_\9adex
+ = 7,
+
+256 .
+       goff£t
+ = \17(\19
+\91h\94_hdr
+) +
+
+257 
+off£tof
+(\19
+\9dv6_hdr
+, 
+d¡_addr
+è+ 2 * \17(
+       gu\9at32_t
+),
+
+261 .
+ty³
+ = 
+RTE_ACL_FIELD_TYPE_MASK
+,
+
+262 .
+       gsize
+ = \17(
+u\9at32_t
+),
+
+263 .
+       gf\9bld_\9adex
+ = 8,
+
+264 .
+       g\9aput_\9adex
+ = 8,
+
+265 .
+       goff£t
+ = \17(\19
+\91h\94_hdr
+) +
+
+266 
+off£tof
+(\19
+\9dv6_hdr
+, 
+d¡_addr
+è+ 3 * \17(
+       gu\9at32_t
+),
+
+271 .
+ty³
+ = 
+RTE_ACL_FIELD_TYPE_RANGE
+,
+
+272 .
+       gsize
+ = \17(
+u\9at16_t
+),
+
+273 .
+       gf\9bld_\9adex
+ = 9,
+
+274 .
+       g\9aput_\9adex
+ = 9,
+
+275 .
+       goff£t
+ = \17(\19
+\91h\94_hdr
+) +
+
+276 \17(\19
+\9dv6_hdr
+è+ 
+off£tof
+(\19
+tý_hdr
+, 
+¤c_pÜt
+),
+
+281 .
+ty³
+ = 
+RTE_ACL_FIELD_TYPE_RANGE
+,
+
+282 .
+       gsize
+ = \17(
+u\9at16_t
+),
+
+283 .
+       gf\9bld_\9adex
+ = 10,
+
+284 .
+       g\9aput_\9adex
+ = 9,
+
+285 .
+       goff£t
+ = \17(\19
+\91h\94_hdr
+) +
+
+286 \17(\19
+\9dv6_hdr
+è+ 
+off£tof
+(\19
+tý_hdr
+, 
+d¡_pÜt
+),
+
+290 \1e*
+       $lib_aþ_ü\97\8b_aùive_¡ªdby_\8fbË_\9dv4
+(
+u\9at8_t
+\8fbË_num
+,
+
+291 
+u\9at32_t
+ *
+libaþ_n_ruËs
+)
+
+293 
+       `´\9atf
+("Create LIBACL\87ctive IPV4 Tables\84te_socket_id(): %i\n",
+
+294 
+       `¹e_sock\91_id
+());
+
+297 \19
+¹e_\8fbË_aþ_·¿ms
+commÚ_\9dv4_\8fbË_libaþ_·¿ms
+ = {
+
+298 .
+Çme
+ = "LIBACLIPV4A",
+
+299 .
+n_ruËs
+ = *
+libaþ_n_ruËs
+,
+
+300 .
+n_ruË_f\9blds
+ = 
+       `RTE_DIM
+(
+f\9bld_fÜm©_\9dv4
+),
+
+303 
+       `memýy
+(
+commÚ_\9dv4_\8fbË_libaþ_·¿ms
+.
+f\9bld_fÜm©
+,
+
+304 
+f\9bld_fÜm©_\9dv4
+, \17(field_format_ipv4));
+
+306 
+u\9at32_t
+\9dv4_\92\8cy_size
+ = \17(\19
+lib_aþ_\8fbË_\92\8cy
+);
+
+308 ià(
+\8fbË_num
+ == 2)
+
+309 
+commÚ_\9dv4_\8fbË_libaþ_·¿ms
+.
+Çme
+ = "LIBACLIPV4B";
+
+310 \15 
+¹e_\8fbË_aþ_Ýs
+.
+       `f_ü\97\8b
+(&
+commÚ_\9dv4_\8fbË_libaþ_·¿ms
+,
+
+311 
+       `¹e_sock\91_id
+(),
+
+312 
+\9dv4_\92\8cy_size
+);
+
+315 
+       }
+}
+
+317 \1e*
+       $lib_aþ_ü\97\8b_aùive_¡ªdby_\8fbË_\9dv6
+(
+u\9at8_t
+\8fbË_num
+,
+
+318 
+u\9at32_t
+ *
+libaþ_n_ruËs
+)
+
+320 
+       `´\9atf
+("Create LIBACL\87ctive IPV6 Tables\84te_socket_id(): %i\n",
+
+321 
+       `¹e_sock\91_id
+());
+
+323 \19
+¹e_\8fbË_aþ_·¿ms
+commÚ_\9dv6_\8fbË_libaþ_·¿ms
+ = {
+
+324 .
+Çme
+ = "LIBACLIPV6A",
+
+325 .
+n_ruËs
+ = *
+libaþ_n_ruËs
+,
+
+326 .
+n_ruË_f\9blds
+ = 
+       `RTE_DIM
+(
+f\9bld_fÜm©_\9dv6
+),
+
+329 
+       `memýy
+(
+commÚ_\9dv6_\8fbË_libaþ_·¿ms
+.
+f\9bld_fÜm©
+,
+
+330 
+f\9bld_fÜm©_\9dv6
+, \17(field_format_ipv6));
+
+332 
+u\9at32_t
+\9dv6_\92\8cy_size
+ = \17(\19
+lib_aþ_\8fbË_\92\8cy
+);
+
+334 ià(
+\8fbË_num
+ == 2)
+
+335 
+commÚ_\9dv6_\8fbË_libaþ_·¿ms
+.
+Çme
+ = "LIBACLIPV6B";
+
+336 \15 
+¹e_\8fbË_aþ_Ýs
+.
+       `f_ü\97\8b
+(&
+commÚ_\9dv6_\8fbË_libaþ_·¿ms
+,
+
+337 
+       `¹e_sock\91_id
+(),
+
+338 
+\9dv6_\92\8cy_size
+);
+
+341 
+       }
+}
+
+342 \12
+       $lib_aþ_·r£_cÚfig
+(\19
+lib_aþ
+ *
+¶ib_aþ
+,
+
+343 \ 5*
+¬g_Çme
+, \ 5*
+¬g_v®ue
+,
+
+344 
+u\9at32_t
+ *
+libaþ_n_ruËs
+)
+
+346 
+u\9at32_t
+n_ruËs_´e£Á
+ = 0;
+
+347 
+u\9at32_t
+pkt_ty³_´e£Á
+ = 0;
+
+349 
+¶ib_aþ
+->
+n_ruËs
+ = 
+DEFULT_NUM_RULE
+;
+
+350 *
+libaþ_n_ruËs
+ = 
+DEFULT_NUM_RULE
+;
+
+351 
+¶ib_aþ
+->
+n_ruË_f\9blds
+ = 
+       `RTE_DIM
+(
+f\9bld_fÜm©_\9dv4
+);
+
+352 
+¶ib_aþ
+->
+f\9bld_fÜm©
+ = 
+f\9bld_fÜm©_\9dv4
+;
+
+353 
+¶ib_aþ
+->
+f\9bld_fÜm©_size
+ = \17(
+f\9bld_fÜm©_\9dv4
+);
+
+354 ià(
+       `¡rcmp
+(
+¬g_Çme
+, "n_rules") == 0) {
+
+355 ià(
+n_ruËs_´e£Á
+) {
+
+356 
+       `´\9atf
+("n_rules_present");
+
+359 
+n_ruËs_´e£Á
+ = 1;
+
+361 
+¶ib_aþ
+->
+n_ruËs
+ = 
+       `©oi
+(
+¬g_v®ue
+);
+
+362 *
+libaþ_n_ruËs
+ = 
+       `©oi
+(
+¬g_v®ue
+);
+
+365 ià(
+       `¡rcmp
+(
+¬g_Çme
+, "pkt_type") == 0) {
+
+366 ià(
+pkt_ty³_´e£Á
+) {
+
+367 
+       `´\9atf
+("pkt_type");
+
+370 
+pkt_ty³_´e£Á
+ = 1;
+
+373 ià(
+       `¡rcmp
+(
+¬g_v®ue
+, "ipv4") == 0) {
+
+374 
+¶ib_aþ
+->
+n_ruË_f\9blds
+ =
+
+375 
+       `RTE_DIM
+(
+f\9bld_fÜm©_\9dv4
+);
+
+376 
+¶ib_aþ
+->
+f\9bld_fÜm©
+ = 
+f\9bld_fÜm©_\9dv4
+;
+
+377 
+¶ib_aþ
+->
+f\9bld_fÜm©_size
+ =
+
+378 \17(
+f\9bld_fÜm©_\9dv4
+);
+
+383 ià(
+       `¡rcmp
+(
+¬g_v®ue
+, "vlan_ipv4") == 0) {
+
+384 
+¶ib_aþ
+->
+n_ruË_f\9blds
+ =
+
+385 
+       `RTE_DIM
+(
+f\9bld_fÜm©_vÏn_\9dv4
+);
+
+386 
+¶ib_aþ
+->
+f\9bld_fÜm©
+ =
+
+387 
+f\9bld_fÜm©_vÏn_\9dv4
+;
+
+388 
+¶ib_aþ
+->
+f\9bld_fÜm©_size
+ =
+
+389 \17(
+f\9bld_fÜm©_vÏn_\9dv4
+);
+
+394 ià(
+       `¡rcmp
+(
+¬g_v®ue
+, "qinq_ipv4") == 0) {
+
+395 
+¶ib_aþ
+->
+n_ruË_f\9blds
+ =
+
+396 
+       `RTE_DIM
+(
+f\9bld_fÜm©_q\9aq_\9dv4
+);
+
+397 
+¶ib_aþ
+->
+f\9bld_fÜm©
+ =
+
+398 
+f\9bld_fÜm©_q\9aq_\9dv4
+;
+
+399 
+¶ib_aþ
+->
+f\9bld_fÜm©_size
+ =
+
+400 \17(
+f\9bld_fÜm©_q\9aq_\9dv4
+);
+
+405 ià(
+       `¡rcmp
+(
+¬g_v®ue
+, "ipv6") == 0) {
+
+406 
+¶ib_aþ
+->
+n_ruË_f\9blds
+ =
+
+407 
+       `RTE_DIM
+(
+f\9bld_fÜm©_\9dv6
+);
+
+408 
+¶ib_aþ
+->
+f\9bld_fÜm©
+ = 
+f\9bld_fÜm©_\9dv6
+;
+
+409 
+¶ib_aþ
+->
+f\9bld_fÜm©_size
+ =
+
+410 \17(
+f\9bld_fÜm©_\9dv6
+);
+
+414 
+       `´\9atf
+("other");
+
+419 
+       }
+}
+
+444 
+u\9at64_t
+
+
+445 
+lib_aþ_pkt_wÜk_key
+(\19
+lib_aþ
+ *
+¶ib_aþ
+,
+
+446 \19
+¹e_mbuf
+ **
+pkts
+, 
+u\9at64_t
+pkts_mask
+,
+
+447 
+u\9at64_t
+ *
+pkts_drÝ_w\99hout_ruË
+,
+
+448 \1e*
+¶ib_aþ_ruË_\8fbË_\9dv4_aùive
+,
+
+449 \1e*
+¶ib_aþ_ruË_\8fbË_\9dv6_aùive
+,
+
+450 \19
+p\9d\96\9ae_aùiÚ_key
+ *
+aùiÚ_¬¿y_aùive
+,
+
+451 \19
+aùiÚ_couÁ\94_block
+ (*
+p_aùiÚ_couÁ\94_\8f
+)[
+aùiÚ_¬¿y_max
+],
+
+452 
+u\9at64_t
+ *
+cÚÁ¿ck_mask
+,
+
+453 
+u\9at64_t
+ *
+cÚÃxi¡_mask
+,
+
+454 \12
+lib_aþ_\9dv4_\92abËd
+, \12
+lib_aþ_\9dv6_\92abËd
+)
+
+457 
+u\9at64_t
+       glookup_h\99_mask
+ = 0;
+
+458 
+u\9at64_t
+       glookup_h\99_mask_\9dv4
+ = 0;
+
+459 
+u\9at64_t
+       glookup_h\99_mask_\9dv6
+ = 0;
+
+460 
+u\9at64_t
+       glookup_miss_mask
+ = 0;
+
+461 \12
+       g¡©us
+;
+
+464 ià(
+       glib_aþ_\9dv4_\92abËd
+) {
+
+465 ià(
+       gACL_LIB_DEBUG
+)
+
+466 
\9atf
+("ACL IPV4 Looku°Mask BefÜ\90ð0x%"
+PRIx64
+"\n",
+
+467 
+pkts_mask
+);
+
+468 
+       g¡©us
+ = 
+¹e_\8fbË_aþ_Ýs
+.
+f_lookup
+(
+
+469 
+¶ib_aþ_ruË_\8fbË_\9dv4_aùive
+,
+
+470 
+pkts
+, 
+pkts_mask
+, &
+lookup_h\99_mask_\9dv4
+,
+
+471 (\1e**è
+¶ib_aþ
+->
+¶ib_aþ_\92\8c\9bs_\9dv4
+);
+
+472 ià(
+       g¡©us
+ < 0)
+
+473 
\9atf
+("Lookup failed\n");
+
+474 ià(
+       gACL_LIB_DEBUG
+)
+
+475 
\9atf
+("ACL IPV4 Looku°Mask Aá\94 = 0x%"
+PRIx64
+"\n",
+
+476 
+lookup_h\99_mask_\9dv4
+);
+
+479 ià(
+       glib_aþ_\9dv6_\92abËd
+) {
+
+480 ià(
+       gACL_LIB_DEBUG
+)
+
+481 
\9atf
+("ACL IPV6 Looku°Mask BefÜ\90ð0x%"
+PRIx64
+"\n",
+
+482 
+pkts_mask
+);
+
+483 
+       g¡©us
+ = 
+¹e_\8fbË_aþ_Ýs
+.
+f_lookup
+(
+
+484 
+¶ib_aþ_ruË_\8fbË_\9dv6_aùive
+,
+
+485 
+pkts
+, 
+pkts_mask
+, &
+lookup_h\99_mask_\9dv6
+,
+
+486 (\1e**è
+¶ib_aþ
+->
+¶ib_aþ_\92\8c\9bs_\9dv6
+);
+
+487 ià(
+       g¡©us
+ < 0)
+
+488 
\9atf
+("Lookup Failed\n");
+
+489 ià(
+       gACL_LIB_DEBUG
+)
+
+490 
\9atf
+("ACL IPV6 Looku°Mask Aá\94 = 0x%"
+PRIx64
+"\n",
+
+491 
+lookup_h\99_mask_\9dv6
+);
+
+495 
+       glookup_h\99_mask
+ = 
+lookup_h\99_mask_\9dv4
+ | 
+lookup_h\99_mask_\9dv6
+;
+
+496 ià(
+       gACL_LIB_DEBUG
+)
+
+497 
\9atf
+("ACL Looku°Mask Aá\94 = 0x%"
+PRIx64
+"\n",
+
+498 
+lookup_h\99_mask
+);
+
+500 
+       glookup_miss_mask
+ = 
+pkts_mask
+ & (~
+lookup_h\99_mask
+);
+
+501 
+       gpkts_mask
+ = 
+lookup_h\99_mask
+;
+
+502 *
+       gpkts_drÝ_w\99hout_ruË
+ +ð
+__bu\9et\9a_pÝcouÁÎ
+(
+lookup_miss_mask
+);
+
+503 ià(
+       gACL_LIB_DEBUG
+)
+
+504 
\9atf
+("pkt_wÜk_aþ_key\85kts_drÝ: %" 
+PRIu64
+ "\82_pkts: %u\n",
+
+505 *
+pkts_drÝ_w\99hout_ruË
+,
+
+506 
+__bu\9et\9a_pÝcouÁÎ
+(
+lookup_miss_mask
+));
+
+508 
+u\9at64_t
+       gpkts_to_´oûss
+ = 
+lookup_h\99_mask
+;
+
+510 \ f
+       gpkts_to_´oûss
+;) {
+
+511 
+u\9at8_t
+       gpos
+ = (u\9at8_t)
+__bu\9et\9a_ùzÎ
+(
+pkts_to_´oûss
+);
+
+513 
+u\9at64_t
+       gpkt_mask
+ = 1LLU << 
+pos
+;
+
+515 
+       gpkts_to_´oûss
+ &ð~
+pkt_mask
+;
+
+516 \19
+¹e_mbuf
+ *
+       gpkt
+ = 
+pkts
+[
+pos
+];
+
+518 
+u\9at8_t
+       ghdr_chk
+ = 
+RTE_MBUF_METADATA_UINT8
+(
+pkt
+, 
+IP_START
+);
+
+520 
+       ghdr_chk
+ = 
+hdr_chk
+ >> 
+IP_VERSION_CHECK
+;
+
+522 ià(
+       ghdr_chk
+ =ð
+IPv4_HDR_VERSION
+) {
+
+524 \19
+lib_aþ_\8fbË_\92\8cy
+ *
+\92\8cy
+ =
+
+525 (\19
+lib_aþ_\8fbË_\92\8cy
+ *)
+
+526 
+¶ib_aþ
+->
+¶ib_aþ_\92\8c\9bs_\9dv4
+[
+pos
+];
+
+527 
+u\9at16_t
+       gphy_pÜt
+ = 
+\92\8cy
+->
+h\97d
+.
+pÜt_id
+;
+
+528 
+u\9at32_t
+       gaùiÚ_id
+ = 
+\92\8cy
+->
+aùiÚ_id
+;
+
+530 ià(
+       gACL_LIB_DEBUG
+)
+
+531 
\9atf
+("aùiÚ_id = %u\n", 
+aùiÚ_id
+);
+
+533 
+u\9at32_t
+       gdsý_off£t
+ = 
+IP_START
+ + 
+IP_HDR_DSCP_OFST
+;
+
+535 ià(
+       gaùiÚ_¬¿y_aùive
+[
+aùiÚ_id
+].
+       gaùiÚ_b\99
+ &
+
+536 
+       glib_aþ_aùiÚ_couÁ
+) {
+
+537 
+       gp_aùiÚ_couÁ\94_\8f
+
+
+538 [
+¶ib_aþ
+->
+aùiÚ_couÁ\94_\9adex
+]
+
+539 [
+aùiÚ_id
+].
+       g·ck\91CouÁ
+++;
+
+540 
+       gp_aùiÚ_couÁ\94_\8f
+
+
+541 [
+¶ib_aþ
+->
+aùiÚ_couÁ\94_\9adex
+]
+
+542 [
+aùiÚ_id
+].
+       gby\8bCouÁ
+ +=
+
+543 
+¹e_pktmbuf_pkt_Ën
+(
+pkt
+);
+
+544 ià(
+       gACL_LIB_DEBUG
+)
+
+545 
\9atf
+("Action Count Packet Count: %"
+
+546 
+PRIu64
+ " Byte Count: %"
+
+547 
+PRIu64
+ "\n"
+
+548 , 
+p_aùiÚ_couÁ\94_\8f
+
+
+549 [
+¶ib_aþ
+->
+aùiÚ_couÁ\94_\9adex
+]
+
+550 [
+aùiÚ_id
+].
+·ck\91CouÁ
+,
+
+551 
+p_aùiÚ_couÁ\94_\8f
+
+
+552 [
+¶ib_aþ
+->
+aùiÚ_couÁ\94_\9adex
+]
+
+553 [
+aùiÚ_id
+].
+by\8bCouÁ
+);
+
+556 ià(
+       gaùiÚ_¬¿y_aùive
+[
+aùiÚ_id
+].
+       gaùiÚ_b\99
+ &
+
+557 
+       glib_aþ_aùiÚ_·ck\91_drÝ
+) {
+
+560 ià(
+       gACL_LIB_DEBUG
+)
+
+561 
\9atf
+("ACL before drop\85kt_mask %"
+
+562 
+PRIx64
+",\85kt_num %d\n",
+
+563 
+pkts_mask
+, 
+pos
+);
+
+564 
+       gpkts_mask
+ &ð~(1LLU << 
+pos
+);
+
+565 (*
+       gpkts_drÝ_w\99hout_ruË
+)++;
+
+566 ià(
+       gACL_LIB_DEBUG
+)
+
+567 
\9atf
+("ACL\87á\94 drÝ\85kt_mask %"
+PRIx64
+
+
+569 
+PRIu64
+"\n", 
+pkts_mask
+, 
+pos
+,
+
+570 *
+pkts_drÝ_w\99hout_ruË
+);
+
+573 ià(
+       gaùiÚ_¬¿y_aùive
+[
+aùiÚ_id
+].
+       gaùiÚ_b\99
+ &
+
+574 
+       glib_aþ_aùiÚ_fwd
+) {
+
+575 
+       gphy_pÜt
+ = 
+aùiÚ_¬¿y_aùive
+[
+aùiÚ_id
+].
+
+576 
+fwd_pÜt
+;
+
+577 
+       g\92\8cy
+->
+       gh\97d
+.
+       gpÜt_id
+ = 
+phy_pÜt
+;
+
+578 ià(
+       gACL_LIB_DEBUG
+)
+
+579 
\9atf
+("Action FWD Port ID: %"
+
+580 
+PRIu16
+"\n", 
+phy_pÜt
+);
+
+583 ià(
+       gaùiÚ_¬¿y_aùive
+[
+aùiÚ_id
+].
+       gaùiÚ_b\99
+ &
+
+584 
+       glib_aþ_aùiÚ_Çt
+) {
+
+585 
+       gphy_pÜt
+ = 
+aùiÚ_¬¿y_aùive
+[
+aùiÚ_id
+].
+
+586 
+Çt_pÜt
+;
+
+587 
+       g\92\8cy
+->
+       gh\97d
+.
+       gpÜt_id
+ = 
+phy_pÜt
+;
+
+588 ià(
+       gACL_LIB_DEBUG
+)
+
+589 
\9atf
+("Action NAT Port ID: %"
+
+590 
+PRIu16
+"\n", 
+phy_pÜt
+);
+
+593 ià(
+       gaùiÚ_¬¿y_aùive
+[
+aùiÚ_id
+].
+       gaùiÚ_b\99
+ &
+
+594 
+       glib_aþ_aùiÚ_dsý
+) {
+
+597 
+u\9at8_t
+ *
+       gdsý
+ = 
+RTE_MBUF_METADATA_UINT8_PTR
+(
+pkt
+,
+
+598 
+dsý_off£t
+);
+
+599 *
+       gdsý
+ = 
+aùiÚ_¬¿y_aùive
+[
+aùiÚ_id
+].
+
+600 
+dsý_´iÜ\99y
+ << 2;
+
+601 ià(
+       gACL_LIB_DEBUG
+)
+
+602 
\9atf
+("Action DSCP DSCP Priority: %"
+
+603 
+PRIu16
+ "\n", *
+dsý
+);
+
+606 ià(
+       gaùiÚ_¬¿y_aùive
+[
+aùiÚ_id
+].
+       gaùiÚ_b\99
+ &
+
+607 
+       glib_aþ_aùiÚ_·ck\91_acû±
+) {
+
+608 ià(
+       gACL_LIB_DEBUG
+)
+
+609 
\9atf
+("Action Accept\n");
+
+611 ià(
+       gaùiÚ_¬¿y_aùive
+[
+aùiÚ_id
+].
+       gaùiÚ_b\99
+
+
+612 & 
+       glib_aþ_aùiÚ_cÚÁ¿ck
+) {
+
+615 *
+       gcÚÁ¿ck_mask
+ |ð
+pkt_mask
+;
+
+616 ià(
+       gACL_LIB_DEBUG
+)
+
+617 
\9atf
+("ACL CT\83nabled: 0x%"
+
+618 
+PRIx64
+"\85kt_mask: 0x%"
+
+619 
+PRIx64
+"\n",
+
+620 *
+cÚÁ¿ck_mask
+,
+
+621 
+pkt_mask
+);
+
+624 ià(
+       gaùiÚ_¬¿y_aùive
+[
+aùiÚ_id
+].
+       gaùiÚ_b\99
+
+
+625 & 
+       glib_aþ_aùiÚ_cÚÃxi¡
+) {
+
+628 *
+       gcÚÁ¿ck_mask
+ |ð
+pkt_mask
+;
+
+634 ià(
+       gaùiÚ_¬¿y_aùive
+[
+aùiÚ_id
+].
+
+635 
+       g´iv©e_public
+ ==
+
+636 
+lib_aþ_public_´iv©e
+)
+
+637 *
+cÚÃxi¡_mask
+ |ð
+pkt_mask
+;
+
+639 ià(
+       gACL_LIB_DEBUG
+)
+
+640 
\9atf
+("Connexist ENB CT:0x%"
+
+641 
+PRIx64
+" connexist: 0x%"
+
+642 
+PRIx64
+"\85kt_mask: 0x%"
+
+643 
+PRIx64
+"\n",
+
+644 *
+cÚÁ¿ck_mask
+,
+
+645 *
+cÚÃxi¡_mask
+,
+
+646 
+pkt_mask
+);
+
+651 ià(
+       ghdr_chk
+ =ð
+IPv6_HDR_VERSION
+) {
+
+653 \19
+lib_aþ_\8fbË_\92\8cy
+ *
+\92\8cy
+ =
+
+654 (\19
+lib_aþ_\8fbË_\92\8cy
+ *)
+
+655 
+¶ib_aþ
+->
+¶ib_aþ_\92\8c\9bs_\9dv6
+[
+pos
+];
+
+656 
+u\9at16_t
+       gphy_pÜt
+ = 
+\92\8cy
+->
+h\97d
+.
+pÜt_id
+;
+
+657 
+u\9at32_t
+       gaùiÚ_id
+ = 
+\92\8cy
+->
+aùiÚ_id
+;
+
+659 ià(
+       gACL_LIB_DEBUG
+)
+
+660 
\9atf
+("aùiÚ_id = %u\n", 
+aùiÚ_id
+);
+
+662 ià(
+       gaùiÚ_¬¿y_aùive
+[
+aùiÚ_id
+].
+       gaùiÚ_b\99
+ &
+
+663 
+       glib_aþ_aùiÚ_couÁ
+) {
+
+664 
+       gp_aùiÚ_couÁ\94_\8f
+
+
+665 [
+¶ib_aþ
+->
+aùiÚ_couÁ\94_\9adex
+]
+
+666 [
+aùiÚ_id
+].
+       g·ck\91CouÁ
+++;
+
+667 
+       gp_aùiÚ_couÁ\94_\8f
+
+
+668 [
+¶ib_aþ
+->
+aùiÚ_couÁ\94_\9adex
+]
+
+669 [
+aùiÚ_id
+].
+       gby\8bCouÁ
+ +=
+
+670 
+¹e_pktmbuf_pkt_Ën
+(
+pkt
+);
+
+671 ià(
+       gACL_LIB_DEBUG
+)
+
+672 
\9atf
+("Action Count Packet Count: %"
+
+673 
+PRIu64
+ " Byte Count: %"
+
+674 
+PRIu64
+ "\n",
+
+675 
+p_aùiÚ_couÁ\94_\8f
+
+
+676 [
+¶ib_aþ
+->
+aùiÚ_couÁ\94_\9adex
+]
+
+677 [
+aùiÚ_id
+].
+·ck\91CouÁ
+,
+
+678 
+p_aùiÚ_couÁ\94_\8f
+
+
+679 [
+¶ib_aþ
+->
+aùiÚ_couÁ\94_\9adex
+]
+
+680 [
+aùiÚ_id
+].
+by\8bCouÁ
+);
+
+683 ià(
+       gaùiÚ_¬¿y_aùive
+[
+aùiÚ_id
+].
+       gaùiÚ_b\99
+ &
+
+684 
+       glib_aþ_aùiÚ_·ck\91_drÝ
+) {
+
+686 ià(
+       gACL_LIB_DEBUG
+)
+
+687 
\9atf
+("ACL before drop\85kt_mask %"
+
+688 
+PRIx64
+",\85kt_num %d\n",
+
+689 
+pkts_mask
+, 
+pos
+);
+
+690 
+       gpkts_mask
+ &ð~(1LLU << 
+pos
+);
+
+691 (*
+       gpkts_drÝ_w\99hout_ruË
+)++;
+
+692 ià(
+       gACL_LIB_DEBUG
+)
+
+693 
\9atf
+("ACL\87á\94 drÝ\85kt_mask %"
+PRIx64
+
+
+695 
+PRIu64
+ "\n", 
+pkts_mask
+, 
+pos
+,
+
+696 *
+pkts_drÝ_w\99hout_ruË
+);
+
+700 ià(
+       gaùiÚ_¬¿y_aùive
+[
+aùiÚ_id
+].
+       gaùiÚ_b\99
+ &
+
+701 
+       glib_aþ_aùiÚ_fwd
+) {
+
+702 
+       gphy_pÜt
+ = 
+aùiÚ_¬¿y_aùive
+[
+aùiÚ_id
+].
+
+703 
+fwd_pÜt
+;
+
+704 
+       g\92\8cy
+->
+       gh\97d
+.
+       gpÜt_id
+ = 
+phy_pÜt
+;
+
+705 ià(
+       gACL_LIB_DEBUG
+)
+
+706 
\9atf
+("Action FWD Port ID: %"
+
+707 
+PRIu16
+"\n", 
+phy_pÜt
+);
+
+710 ià(
+       gaùiÚ_¬¿y_aùive
+[
+aùiÚ_id
+].
+       gaùiÚ_b\99
+ &
+
+711 
+       glib_aþ_aùiÚ_Çt
+) {
+
+712 
+       gphy_pÜt
+ = 
+aùiÚ_¬¿y_aùive
+[
+aùiÚ_id
+].
+
+713 
+Çt_pÜt
+;
+
+714 
+       g\92\8cy
+->
+       gh\97d
+.
+       gpÜt_id
+ = 
+phy_pÜt
+;
+
+715 ià(
+       gACL_LIB_DEBUG
+)
+
+716 
\9atf
+("Action NAT Port ID: %"
+
+717 
+PRIu16
+"\n", 
+phy_pÜt
+);
+
+720 ià(
+       gaùiÚ_¬¿y_aùive
+[
+aùiÚ_id
+].
+       gaùiÚ_b\99
+ &
+
+721 
+       glib_aþ_aùiÚ_dsý
+) {
+
+724 
+u\9at32_t
+       gdsý_off£t
+ = 
+IP_START
+ +
+
+725 
+IP_HDR_DSCP_OFST_IPV6
+;
+
+726 
+u\9at16_t
+ *
+       gdsý
+ = 
+RTE_MBUF_METADATA_UINT16_PTR
+(
+
+727 
+pkt
+, 
+dsý_off£t
+);
+
+728 
+u\9at16_t
+       g\8bmp
+ = *
+dsý
+;
+
+729 
+u\9at16_t
+       gdsý_v®ue
+ = (
+¹e_bsw­16
+(
+\8bmp
+) &
+
+731 
+u\9at8_t
+       gdsý_¡Üe
+ =
+
+732 
+aùiÚ_¬¿y_aùive
+
+
+733 [
+aùiÚ_id
+].
+dsý_´iÜ\99y
+ << 2;
+
+734 
+u\9at16_t
+       gdsý_\8bmp
+ = 
+dsý_¡Üe
+;
+
+736 
+       gdsý_\8bmp
+ = 
+dsý_\8bmp
+ << 4;
+
+737 *
+       gdsý
+ = 
+¹e_bsw­16
+(
+dsý_\8bmp
+ | 
+dsý_v®ue
+);
+
+738 ià(
+       gACL_LIB_DEBUG
+)
+
+739 
\9atf
+("Action DSCP DSCP Priority: %"
+
+740 
+PRIu16
+"\n", *
+dsý
+);
+
+743 ià(
+       gaùiÚ_¬¿y_aùive
+[
+aùiÚ_id
+].
+       gaùiÚ_b\99
+
+
+744 & 
+       glib_aþ_aùiÚ_·ck\91_acû±
+) {
+
+745 ià(
+       gACL_LIB_DEBUG
+)
+
+746 
\9atf
+("Action Accept\n");
+
+748 ià(
+       gaùiÚ_¬¿y_aùive
+[
+aùiÚ_id
+].
+       gaùiÚ_b\99
+
+
+749 & 
+       glib_aþ_aùiÚ_cÚÁ¿ck
+) {
+
+752 *
+       gcÚÁ¿ck_mask
+ |ð
+pkt_mask
+;
+
+753 ià(
+       gACL_LIB_DEBUG
+)
+
+754 
\9atf
+("ACL CT\83nabled: 0x%"
+
+755 
+PRIx64
+"\85kt_mask: 0x%"
+
+756 
+PRIx64
+"\n",
+
+757 *
+cÚÁ¿ck_mask
+,
+
+758 
+pkt_mask
+);
+
+761 ià(
+       gaùiÚ_¬¿y_aùive
+[
+aùiÚ_id
+].
+       gaùiÚ_b\99
+
+
+762 & 
+       glib_aþ_aùiÚ_cÚÃxi¡
+) {
+
+765 *
+       gcÚÁ¿ck_mask
+ |ð
+pkt_mask
+;
+
+771 ià(
+       gaùiÚ_¬¿y_aùive
+[
+aùiÚ_id
+].
+
+772 
+       g´iv©e_public
+ ==
+
+773 
+lib_aþ_public_´iv©e
+)
+
+774 *
+cÚÃxi¡_mask
+ |ð
+pkt_mask
+;
+
+776 ià(
+       gACL_LIB_DEBUG
+)
+
+777 
\9atf
+("Connexist ENB CT:0x%"
+
+778 
+PRIx64
+" connexist: 0x%"
+
+779 
+PRIx64
+"\85kt_mask: 0x%"
+
+780 
+PRIx64
+"\n",
+
+781 *
+cÚÁ¿ck_mask
+,
+
+782 *
+cÚÃxi¡_mask
+,
+
+783 
+pkt_mask
+);
+
+788 \15 
+       gpkts_mask
+;
+
+813 
+u\9at64_t
+
+
+814 
+lib_aþ_\9dv4_pkt_wÜk_key
+(\19
+lib_aþ
+ *
+¶ib_aþ
+,
+
+815 \19
+¹e_mbuf
+ **
+pkts
+, 
+u\9at64_t
+pkts_mask
+,
+
+816 
+u\9at64_t
+ *
+pkts_drÝ_w\99hout_ruË
+,
+
+817 \1e*
+¶ib_aþ_ruË_\8fbË_\9dv4_aùive
+,
+
+818 \19
+p\9d\96\9ae_aùiÚ_key
+ *
+aùiÚ_¬¿y_aùive
+,
+
+819 \19
+aùiÚ_couÁ\94_block
+ (*
+p_aùiÚ_couÁ\94_\8f
+)[
+aùiÚ_¬¿y_max
+],
+
+820 
+u\9at64_t
+ *
+cÚÁ¿ck_mask
+,
+
+821 
+u\9at64_t
+ *
+cÚÃxi¡_mask
+)
+
+824 
+u\9at64_t
+       glookup_h\99_mask_\9dv4
+ = 0;
+
+825 
+u\9at64_t
+       glookup_miss_mask_\9dv4
+ = 0;
+
+826 \12
+       g¡©us
+;
+
+828 ià(
+       gACL_LIB_DEBUG
+)
+
+829 
\9atf
+("ACL IPV4 Looku°Mask BefÜ\90ð0x%"
+PRIx64
+"\n",
+
+830 
+pkts_mask
+);
+
+831 
+       g¡©us
+ = 
+¹e_\8fbË_aþ_Ýs
+.
+f_lookup
+(
+
+832 
+¶ib_aþ_ruË_\8fbË_\9dv4_aùive
+,
+
+833 
+pkts
+, 
+pkts_mask
+, &
+lookup_h\99_mask_\9dv4
+,
+
+834 (\1e**è
+¶ib_aþ
+->
+¶ib_aþ_\92\8c\9bs_\9dv4
+);
+
+835 ià(
+       g¡©us
+ < 0)
+
+836 
\9atf
+("Lookup Failed\n");
+
+837 ià(
+       gACL_LIB_DEBUG
+)
+
+838 
\9atf
+("ACL IPV4 Looku°Mask Aá\94 = 0x%"
+PRIx64
+"\n",
+
+839 
+lookup_h\99_mask_\9dv4
+);
+
+840 ià(
+       gACL_LIB_DEBUG
+)
+
+841 
\9atf
+("ACL Looku°Mask Aá\94 = 0x%"
+PRIx64
+"\n",
+
+842 
+lookup_h\99_mask_\9dv4
+);
+
+844 
+       glookup_miss_mask_\9dv4
+ = 
+pkts_mask
+ & (~
+lookup_h\99_mask_\9dv4
+);
+
+845 
+       gpkts_mask
+ = 
+lookup_h\99_mask_\9dv4
+;
+
+846 *
+       gpkts_drÝ_w\99hout_ruË
+ +ð
+__bu\9et\9a_pÝcouÁÎ
+(
+lookup_miss_mask_\9dv4
+);
+
+847 ià(
+       gACL_LIB_DEBUG
+)
+
+848 
\9atf
+("pkt_wÜk_aþ_key\85kts_drÝ: %" 
+PRIu64
+ "\82_pkts: %u\n",
+
+849 *
+pkts_drÝ_w\99hout_ruË
+,
+
+850 
+__bu\9et\9a_pÝcouÁÎ
+(
+lookup_miss_mask_\9dv4
+));
+
+852 
+u\9at64_t
+       gpkts_to_´oûss
+ = 
+lookup_h\99_mask_\9dv4
+;
+
+854 \ f
+       gpkts_to_´oûss
+;) {
+
+855 
+u\9at8_t
+       gpos
+ = (u\9at8_t)
+__bu\9et\9a_ùzÎ
+(
+pkts_to_´oûss
+);
+
+857 
+u\9at64_t
+       gpkt_mask
+ = 1LLU << 
+pos
+;
+
+859 
+       gpkts_to_´oûss
+ &ð~
+pkt_mask
+;
+
+860 \19
+¹e_mbuf
+ *
+       gpkt
+ = 
+pkts
+[
+pos
+];
+
+864 \19
+lib_aþ_\8fbË_\92\8cy
+ *
+       g\92\8cy
+ =
+
+865 (\19
+lib_aþ_\8fbË_\92\8cy
+ *)
+
+866 
+¶ib_aþ
+->
+¶ib_aþ_\92\8c\9bs_\9dv4
+[
+pos
+];
+
+867 
+u\9at16_t
+       gphy_pÜt
+ = 
+\92\8cy
+->
+h\97d
+.
+pÜt_id
+;
+
+868 
+u\9at32_t
+       gaùiÚ_id
+ = 
+\92\8cy
+->
+aùiÚ_id
+;
+
+870 ià(
+       gACL_LIB_DEBUG
+)
+
+871 
\9atf
+("aùiÚ_id = %u\n", 
+aùiÚ_id
+);
+
+873 
+u\9at32_t
+       gdsý_off£t
+ = 
+IP_START
+ + 
+IP_HDR_DSCP_OFST
+;
+
+875 ià(
+       gaùiÚ_¬¿y_aùive
+[
+aùiÚ_id
+].
+       gaùiÚ_b\99
+ &
+
+876 
+       glib_aþ_aùiÚ_couÁ
+) {
+
+877 
+       gp_aùiÚ_couÁ\94_\8f
+
+
+878 [
+¶ib_aþ
+->
+aùiÚ_couÁ\94_\9adex
+]
+
+879 [
+aùiÚ_id
+].
+       g·ck\91CouÁ
+++;
+
+880 
+       gp_aùiÚ_couÁ\94_\8f
+
+
+881 [
+¶ib_aþ
+->
+aùiÚ_couÁ\94_\9adex
+]
+
+882 [
+aùiÚ_id
+].
+       gby\8bCouÁ
+ +=
+
+883 
+¹e_pktmbuf_pkt_Ën
+(
+pkt
+);
+
+884 ià(
+       gACL_LIB_DEBUG
+)
+
+885 
\9atf
+("Action Count Packet Count: %"
+
+886 
+PRIu64
+ " Byte Count: %"
+
+887 
+PRIu64
+ "\n"
+
+888 , 
+p_aùiÚ_couÁ\94_\8f
+
+
+889 [
+¶ib_aþ
+->
+aùiÚ_couÁ\94_\9adex
+]
+
+890 [
+aùiÚ_id
+].
+·ck\91CouÁ
+,
+
+891 
+p_aùiÚ_couÁ\94_\8f
+
+
+892 [
+¶ib_aþ
+->
+aùiÚ_couÁ\94_\9adex
+]
+
+893 [
+aùiÚ_id
+].
+by\8bCouÁ
+);
+
+896 ià(
+       gaùiÚ_¬¿y_aùive
+[
+aùiÚ_id
+].
+       gaùiÚ_b\99
+ &
+
+897 
+       glib_aþ_aùiÚ_·ck\91_drÝ
+) {
+
+900 ià(
+       gACL_LIB_DEBUG
+)
+
+901 
\9atf
+("ACL before drop\85kt_mask %"
+
+902 
+PRIx64
+",\85kt_num %d\n",
+
+903 
+pkts_mask
+, 
+pos
+);
+
+904 
+       gpkts_mask
+ &ð~(1LLU << 
+pos
+);
+
+905 (*
+       gpkts_drÝ_w\99hout_ruË
+)++;
+
+906 ià(
+       gACL_LIB_DEBUG
+)
+
+907 
\9atf
+("ACL\87á\94 drÝ\85kt_mask %" 
+PRIx64
+
+
+909 
+PRIu64
+ "\n", 
+pkts_mask
+, 
+pos
+,
+
+910 *
+pkts_drÝ_w\99hout_ruË
+);
+
+913 ià(
+       gaùiÚ_¬¿y_aùive
+[
+aùiÚ_id
+].
+       gaùiÚ_b\99
+ &
+
+914 
+       glib_aþ_aùiÚ_fwd
+) {
+
+915 
+       gphy_pÜt
+ = 
+aùiÚ_¬¿y_aùive
+[
+aùiÚ_id
+].
+
+916 
+fwd_pÜt
+;
+
+917 
+       g\92\8cy
+->
+       gh\97d
+.
+       gpÜt_id
+ = 
+phy_pÜt
+;
+
+918 ià(
+       gACL_LIB_DEBUG
+)
+
+919 
\9atf
+("Action FWD Port ID: %"
+
+920 
+PRIu16
+"\n", 
+phy_pÜt
+);
+
+923 ià(
+       gaùiÚ_¬¿y_aùive
+[
+aùiÚ_id
+].
+       gaùiÚ_b\99
+ &
+
+924 
+       glib_aþ_aùiÚ_Çt
+) {
+
+925 
+       gphy_pÜt
+ = 
+aùiÚ_¬¿y_aùive
+[
+aùiÚ_id
+].
+
+926 
+Çt_pÜt
+;
+
+927 
+       g\92\8cy
+->
+       gh\97d
+.
+       gpÜt_id
+ = 
+phy_pÜt
+;
+
+928 ià(
+       gACL_LIB_DEBUG
+)
+
+929 
\9atf
+("Action NAT Port ID: %"
+
+930 
+PRIu16
+"\n", 
+phy_pÜt
+);
+
+933 ià(
+       gaùiÚ_¬¿y_aùive
+[
+aùiÚ_id
+].
+       gaùiÚ_b\99
+ &
+
+934 
+       glib_aþ_aùiÚ_dsý
+) {
+
+937 
+u\9at8_t
+ *
+       gdsý
+ = 
+RTE_MBUF_METADATA_UINT8_PTR
+(
+pkt
+,
+
+938 
+dsý_off£t
+);
+
+939 *
+       gdsý
+ = 
+aùiÚ_¬¿y_aùive
+[
+aùiÚ_id
+].
+
+940 
+dsý_´iÜ\99y
+ << 2;
+
+941 ià(
+       gACL_LIB_DEBUG
+)
+
+942 
\9atf
+("Action DSCP DSCP Priority: %"
+
+943 
+PRIu16
+ "\n", *
+dsý
+);
+
+946 ià(
+       gaùiÚ_¬¿y_aùive
+[
+aùiÚ_id
+].
+       gaùiÚ_b\99
+ &
+
+947 
+       glib_aþ_aùiÚ_·ck\91_acû±
+) {
+
+948 ià(
+       gACL_LIB_DEBUG
+)
+
+949 
\9atf
+("Action Accept\n");
+
+951 ià(
+       gaùiÚ_¬¿y_aùive
+[
+aùiÚ_id
+].
+       gaùiÚ_b\99
+
+
+952 & 
+       glib_aþ_aùiÚ_cÚÁ¿ck
+) {
+
+955 *
+       gcÚÁ¿ck_mask
+ |ð
+pkt_mask
+;
+
+956 ià(
+       gACL_LIB_DEBUG
+)
+
+957 
\9atf
+("ACL CT\83nabled: 0x%"
+
+958 
+PRIx64
+"\85kt_mask: 0x%"
+
+959 
+PRIx64
+"\n",
+
+960 *
+cÚÁ¿ck_mask
+,
+
+961 
+pkt_mask
+);
+
+964 ià(
+       gaùiÚ_¬¿y_aùive
+[
+aùiÚ_id
+].
+       gaùiÚ_b\99
+
+
+965 & 
+       glib_aþ_aùiÚ_cÚÃxi¡
+) {
+
+968 *
+       gcÚÁ¿ck_mask
+ |ð
+pkt_mask
+;
+
+974 ià(
+       gaùiÚ_¬¿y_aùive
+[
+aùiÚ_id
+].
+
+975 
+       g´iv©e_public
+ ==
+
+976 
+lib_aþ_public_´iv©e
+)
+
+977 *
+cÚÃxi¡_mask
+ |ð
+pkt_mask
+;
+
+979 ià(
+       gACL_LIB_DEBUG
+)
+
+980 
\9atf
+("ACL Connexist ENB CT:0x%"
+
+981 
+PRIx64
+" connexist: 0x%"
+
+982 
+PRIx64
+"\85kt_mask: 0x%"
+
+983 
+PRIx64
+"\n",
+
+984 *
+cÚÁ¿ck_mask
+,
+
+985 *
+cÚÃxi¡_mask
+,
+
+986 
+pkt_mask
+);
+
+991 \15 
+       gpkts_mask
+;
+
+1016 
+u\9at64_t
+
+
+1017 
+lib_aþ_\9dv6_pkt_wÜk_key
+(\19
+lib_aþ
+ *
+¶ib_aþ
+,
+
+1018 \19
+¹e_mbuf
+ **
+pkts
+, 
+u\9at64_t
+pkts_mask
+,
+
+1019 
+u\9at64_t
+ *
+pkts_drÝ_w\99hout_ruË
+,
+
+1020 \1e*
+¶ib_aþ_ruË_\8fbË_\9dv6_aùive
+,
+
+1021 \19
+p\9d\96\9ae_aùiÚ_key
+ *
+aùiÚ_¬¿y_aùive
+,
+
+1022 \19
+aùiÚ_couÁ\94_block
+ (*
+p_aùiÚ_couÁ\94_\8f
+)[
+aùiÚ_¬¿y_max
+],
+
+1023 
+u\9at64_t
+ *
+cÚÁ¿ck_mask
+,
+
+1024 
+u\9at64_t
+ *
+cÚÃxi¡_mask
+)
+
+1027 
+u\9at64_t
+       glookup_h\99_mask_\9dv6
+ = 0;
+
+1028 
+u\9at64_t
+       glookup_miss_mask_\9dv6
+ = 0;
+
+1029 \12
+       g¡©us
+;
+
+1032 ià(
+       gACL_LIB_DEBUG
+)
+
+1033 
\9atf
+("ACL IPV6 Looku°Mask BefÜ\90ð0x%"
+PRIx64
+"\n",
+
+1034 
+pkts_mask
+);
+
+1035 
+       g¡©us
+ = 
+¹e_\8fbË_aþ_Ýs
+.
+f_lookup
+(
+
+1036 
+¶ib_aþ_ruË_\8fbË_\9dv6_aùive
+,
+
+1037 
+pkts
+, 
+pkts_mask
+, &
+lookup_h\99_mask_\9dv6
+,
+
+1038 (\1e**è
+¶ib_aþ
+->
+¶ib_aþ_\92\8c\9bs_\9dv6
+);
+
+1039 ià(
+       g¡©us
+ < 0)
+
+1040 
\9atf
+("Lookup Failed\n");
+
+1041 ià(
+       gACL_LIB_DEBUG
+)
+
+1042 
\9atf
+("ACL IPV6 Looku°Mask Aá\94 = 0x%"
+PRIx64
+"\n",
+
+1043 
+lookup_h\99_mask_\9dv6
+);
+
+1045 ià(
+       gACL_LIB_DEBUG
+)
+
+1046 
\9atf
+("ACL Looku°Mask Aá\94 = 0x%"
+PRIx64
+"\n",
+
+1047 
+lookup_h\99_mask_\9dv6
+);
+
+1049 
+       glookup_miss_mask_\9dv6
+ = 
+pkts_mask
+ & (~
+lookup_h\99_mask_\9dv6
+);
+
+1050 
+       gpkts_mask
+ = 
+lookup_h\99_mask_\9dv6
+;
+
+1051 *
+       gpkts_drÝ_w\99hout_ruË
+ +ð
+__bu\9et\9a_pÝcouÁÎ
+(
+lookup_miss_mask_\9dv6
+);
+
+1052 ià(
+       gACL_LIB_DEBUG
+)
+
+1053 
\9atf
+("pkt_wÜk_aþ_key\85kts_drÝ: %" 
+PRIu64
+ "\82_pkts: %u\n",
+
+1054 *
+pkts_drÝ_w\99hout_ruË
+,
+
+1055 
+__bu\9et\9a_pÝcouÁÎ
+(
+lookup_miss_mask_\9dv6
+));
+
+1057 
+u\9at64_t
+       gpkts_to_´oûss
+ = 
+lookup_h\99_mask_\9dv6
+;
+
+1059 \ f
+       gpkts_to_´oûss
+;) {
+
+1060 
+u\9at8_t
+       gpos
+ = (u\9at8_t)
+__bu\9et\9a_ùzÎ
+(
+pkts_to_´oûss
+);
+
+1062 
+u\9at64_t
+       gpkt_mask
+ = 1LLU << 
+pos
+;
+
+1064 
+       gpkts_to_´oûss
+ &ð~
+pkt_mask
+;
+
+1065 \19
+¹e_mbuf
+ *
+       gpkt
+ = 
+pkts
+[
+pos
+];
+
+1068 \19
+lib_aþ_\8fbË_\92\8cy
+ *
+       g\92\8cy
+ =
+
+1069 (\19
+lib_aþ_\8fbË_\92\8cy
+ *)
+
+1070 
+¶ib_aþ
+->
+¶ib_aþ_\92\8c\9bs_\9dv6
+[
+pos
+];
+
+1071 
+u\9at16_t
+       gphy_pÜt
+ = 
+\92\8cy
+->
+h\97d
+.
+pÜt_id
+;
+
+1072 
+u\9at32_t
+       gaùiÚ_id
+ = 
+\92\8cy
+->
+aùiÚ_id
+;
+
+1074 ià(
+       gACL_LIB_DEBUG
+)
+
+1075 
\9atf
+("aùiÚ_id = %u\n", 
+aùiÚ_id
+);
+
+1077 ià(
+       gaùiÚ_¬¿y_aùive
+[
+aùiÚ_id
+].
+       gaùiÚ_b\99
+ &
+
+1078 
+       glib_aþ_aùiÚ_couÁ
+) {
+
+1079 
+       gp_aùiÚ_couÁ\94_\8f
+
+
+1080 [
+¶ib_aþ
+->
+aùiÚ_couÁ\94_\9adex
+]
+
+1081 [
+aùiÚ_id
+].
+       g·ck\91CouÁ
+++;
+
+1082 
+       gp_aùiÚ_couÁ\94_\8f
+
+
+1083 [
+¶ib_aþ
+->
+aùiÚ_couÁ\94_\9adex
+]
+
+1084 [
+aùiÚ_id
+].
+       gby\8bCouÁ
+ +=
+
+1085 
+¹e_pktmbuf_pkt_Ën
+(
+pkt
+);
+
+1086 ià(
+       gACL_LIB_DEBUG
+)
+
+1087 
\9atf
+("Action Count Packet Count: %"
+
+1088 
+PRIu64
+ " Byte Count: %"
+
+1089 
+PRIu64
+ "\n",
+
+1090 
+p_aùiÚ_couÁ\94_\8f
+
+
+1091 [
+¶ib_aþ
+->
+aùiÚ_couÁ\94_\9adex
+]
+
+1092 [
+aùiÚ_id
+].
+·ck\91CouÁ
+,
+
+1093 
+p_aùiÚ_couÁ\94_\8f
+
+
+1094 [
+¶ib_aþ
+->
+aùiÚ_couÁ\94_\9adex
+]
+
+1095 [
+aùiÚ_id
+].
+by\8bCouÁ
+);
+
+1098 ià(
+       gaùiÚ_¬¿y_aùive
+[
+aùiÚ_id
+].
+       gaùiÚ_b\99
+ &
+
+1099 
+       glib_aþ_aùiÚ_·ck\91_drÝ
+) {
+
+1101 ià(
+       gACL_LIB_DEBUG
+)
+
+1102 
\9atf
+("ACL before drop\85kt_mask %"
+
+1103 
+PRIx64
+",\85kt_num %d\n",
+
+1104 
+pkts_mask
+, 
+pos
+);
+
+1105 
+       gpkts_mask
+ &ð~(1LLU << 
+pos
+);
+
+1106 (*
+       gpkts_drÝ_w\99hout_ruË
+)++;
+
+1107 ià(
+       gACL_LIB_DEBUG
+)
+
+1108 
\9atf
+("ACL\87á\94 drÝ\85kt_mask %" 
+PRIx64
+
+
+1110 
+PRIu64
+ "\n", 
+pkts_mask
+, 
+pos
+,
+
+1111 *
+pkts_drÝ_w\99hout_ruË
+);
+
+1115 ià(
+       gaùiÚ_¬¿y_aùive
+[
+aùiÚ_id
+].
+       gaùiÚ_b\99
+ &
+
+1116 
+       glib_aþ_aùiÚ_fwd
+) {
+
+1117 
+       gphy_pÜt
+ = 
+aùiÚ_¬¿y_aùive
+[
+aùiÚ_id
+].
+
+1118 
+fwd_pÜt
+;
+
+1119 
+       g\92\8cy
+->
+       gh\97d
+.
+       gpÜt_id
+ = 
+phy_pÜt
+;
+
+1120 ià(
+       gACL_LIB_DEBUG
+)
+
+1121 
\9atf
+("Action FWD Port ID: %"
+
+1122 
+PRIu16
+"\n", 
+phy_pÜt
+);
+
+1125 ià(
+       gaùiÚ_¬¿y_aùive
+[
+aùiÚ_id
+].
+       gaùiÚ_b\99
+ &
+
+1126 
+       glib_aþ_aùiÚ_Çt
+) {
+
+1127 
+       gphy_pÜt
+ = 
+aùiÚ_¬¿y_aùive
+[
+aùiÚ_id
+].
+
+1128 
+Çt_pÜt
+;
+
+1129 
+       g\92\8cy
+->
+       gh\97d
+.
+       gpÜt_id
+ = 
+phy_pÜt
+;
+
+1130 ià(
+       gACL_LIB_DEBUG
+)
+
+1131 
\9atf
+("Action NAT Port ID: %"
+
+1132 
+PRIu16
+"\n", 
+phy_pÜt
+);
+
+1135 ià(
+       gaùiÚ_¬¿y_aùive
+[
+aùiÚ_id
+].
+       gaùiÚ_b\99
+ &
+
+1136 
+       glib_aþ_aùiÚ_dsý
+) {
+
+1139 
+u\9at32_t
+       gdsý_off£t
+ = 
+IP_START
+ +
+
+1140 
+IP_HDR_DSCP_OFST_IPV6
+;
+
+1141 
+u\9at16_t
+ *
+       gdsý
+ = 
+RTE_MBUF_METADATA_UINT16_PTR
+(
+
+1142 
+pkt
+, 
+dsý_off£t
+);
+
+1143 
+u\9at16_t
+       g\8bmp
+ = *
+dsý
+;
+
+1144 
+u\9at16_t
+       gdsý_v®ue
+ = (
+¹e_bsw­16
+(
+\8bmp
+) &
+
+1146 
+u\9at8_t
+       gdsý_¡Üe
+ =
+
+1147 
+aùiÚ_¬¿y_aùive
+
+
+1148 [
+aùiÚ_id
+].
+dsý_´iÜ\99y
+ << 2;
+
+1149 
+u\9at16_t
+       gdsý_\8bmp
+ = 
+dsý_¡Üe
+;
+
+1151 
+       gdsý_\8bmp
+ = 
+dsý_\8bmp
+ << 4;
+
+1152 *
+       gdsý
+ = 
+¹e_bsw­16
+(
+dsý_\8bmp
+ | 
+dsý_v®ue
+);
+
+1153 ià(
+       gACL_LIB_DEBUG
+)
+
+1154 
\9atf
+("Action DSCP DSCP Priority: %"
+
+1155 
+PRIu16
+"\n", *
+dsý
+);
+
+1158 ià(
+       gaùiÚ_¬¿y_aùive
+[
+aùiÚ_id
+].
+       gaùiÚ_b\99
+
+
+1159 & 
+       glib_aþ_aùiÚ_·ck\91_acû±
+) {
+
+1160 ià(
+       gACL_LIB_DEBUG
+)
+
+1161 
\9atf
+("Action Accept\n");
+
+1163 ià(
+       gaùiÚ_¬¿y_aùive
+[
+aùiÚ_id
+].
+       gaùiÚ_b\99
+
+
+1164 & 
+       glib_aþ_aùiÚ_cÚÁ¿ck
+) {
+
+1167 *
+       gcÚÁ¿ck_mask
+ |ð
+pkt_mask
+;
+
+1168 ià(
+       gACL_LIB_DEBUG
+)
+
+1169 
\9atf
+("ACL CT\83nabled: 0x%"
+
+1170 
+PRIx64
+"\85kt_mask: 0x%"
+
+1171 
+PRIx64
+"\n",
+
+1172 *
+cÚÁ¿ck_mask
+,
+
+1173 
+pkt_mask
+);
+
+1176 ià(
+       gaùiÚ_¬¿y_aùive
+[
+aùiÚ_id
+].
+       gaùiÚ_b\99
+
+
+1177 & 
+       glib_aþ_aùiÚ_cÚÃxi¡
+) {
+
+1180 *
+       gcÚÁ¿ck_mask
+ |ð
+pkt_mask
+;
+
+1186 ià(
+       gaùiÚ_¬¿y_aùive
+[
+aùiÚ_id
+].
+
+1187 
+       g´iv©e_public
+ ==
+
+1188 
+lib_aþ_public_´iv©e
+)
+
+1189 *
+cÚÃxi¡_mask
+ |ð
+pkt_mask
+;
+
+1191 ià(
+       gACL_LIB_DEBUG
+)
+
+1192 
\9atf
+("ACL Connexist ENB CT:0x%"
+
+1193 
+PRIx64
+" connexist: 0x%"
+
+1194 
+PRIx64
+"\85kt_mask: 0x%"
+
+1195 
+PRIx64
+"\n",
+
+1196 *
+cÚÁ¿ck_mask
+,
+
+1197 *
+cÚÃxi¡_mask
+,
+
+1198 
+pkt_mask
+);
+
+1202 \15 
+       gpkts_mask
+;
+
+       @VIL/acl/lib_acl.h
+
+17 #iâdeà
+__INCLUDE_ACL_LIB_H__
+
+
+18 \ 1
+       #__INCLUDE_ACL_LIB_H__
+
+
+       )
+
+20 \ 2
+       ~<¡dlib.h
+>
+
+21 \ 2
+       ~<¡r\9ag.h
+>
+
+22 \ 2
+       ~<\9a\89y³s.h
+>
+
+23 \ 2
+       ~<¹e_p\9d\96\9ae.h
+>
+
+24 \ 2
+       ~<¹e_\8fbË_aþ.h
+>
+
+25 \ 2
+       ~"¹e_úxn_\8cack\9ag.h
+"
+
+26 \ 2
+       ~"¹e_ù_tý.h
+"
+
+28 \ 1
+       #lib_aþ_aùiÚ_·ck\91_drÝ
+ 1
+
+       )
+
+29 \ 1
+       #lib_aþ_aùiÚ_·ck\91_acû±
+ 2
+
+       )
+
+30 \ 1
+       #lib_aþ_aùiÚ_Çt
+ 4
+
+       )
+
+31 \ 1
+       #lib_aþ_aùiÚ_fwd
+ 8
+
+       )
+
+32 \ 1
+       #lib_aþ_aùiÚ_couÁ
+ 16
+
+       )
+
+33 \ 1
+       #lib_aþ_aùiÚ_dsý
+ 32
+
+       )
+
+34 \ 1
+       #lib_aþ_aùiÚ_cÚÁ¿ck
+ 64
+
+       )
+
+35 \ 1
+       #lib_aþ_aùiÚ_cÚÃxi¡
+ 128
+
+       )
+
+36 \ 1
+       #aùiÚ_¬¿y_max
+ 10000
+
+       )
+
+37 \ 1
+       #lib_aþ_´iv©e_public
+ 0
+
+       )
+
+38 \ 1
+       #lib_aþ_public_´iv©e
+ 1
+
+       )
+
+39 \ 1
+       #IP_HDR_DSCP_OFST
+ 1
+
+       )
+
+40 \ 1
+       #IPv4_HDR_VERSION
+ 4
+
+       )
+
+41 \ 1
+       #IPv6_HDR_VERSION
+ 6
+
+       )
+
+42 \ 1
+       #IP_HDR_DSCP_OFST_IPV6
+ 0
+
+       )
+
+43 \ 1
+       #IP_VERSION_CHECK
+ 4
+
+       )
+
+44 \ 1
+       #IP_START
+ (
+MBUF_HDR_ROOM
+ + 
+ETH_HDR_SIZE
+)
+
+       )
+
+45 \ 1
+       #DEFULT_NUM_RULE
+ (4*1024)
+
+       )
+
+49 \19
+       sp\9d\96\9ae_aùiÚ_key
+ {
+
+50 
+u\9at32_t
+       maùiÚ_id
+;
+
+51 
+u\9at32_t
+       maùiÚ_b\99
+;
+
+52 
+u\9at32_t
+       mÇt_pÜt
+;
+
+53 
+u\9at32_t
+       mfwd_pÜt
+;
+
+54 
+u\9at8_t
+       mdsý_´iÜ\99y
+;
+
+55 
+u\9at8_t
+       m´iv©e_public
+;
+
+56 } 
+       g__¹e_ÿche_®igÃd
+;
+
+62 \19
+       saùiÚ_couÁ\94_block
+ {
+
+63 
+u\9at64_t
+       mby\8bCouÁ
+;
+
+64 
+u\9at64_t
+       m·ck\91CouÁ
+;
+
+65 } 
+       g__¹e_ÿche_®igÃd
+;
+
+70 \19
+       slib_aþ_\8fbË_\92\8cy
+ {
+
+71 \19
+¹e_p\9d\96\9ae_\8fbË_\92\8cy
+       mh\97d
+;
+
+72 
+u\9at32_t
+       maùiÚ_id
+;
+
+76 \19
+       slib_aþ
+ {
+
+77 
+u\9at32_t
+       mn_ruËs
+;
+
+78 
+u\9at32_t
+       mn_ruË_f\9blds
+;
+
+79 \19
+¹e_aþ_f\9bld_def
+ *
+       mf\9bld_fÜm©
+;
+
+80 
+u\9at32_t
+       mf\9bld_fÜm©_size
+;
+
+81 \12
+       maùiÚ_couÁ\94_\9adex
+;
+
+82 \19
+lib_aþ_\8fbË_\92\8cy
+
+
+83 *
+       m¶ib_aþ_\92\8c\9bs_\9dv4
+[
+RTE_PORT_IN_BURST_SIZE_MAX
+];
+
+84 \19
+lib_aþ_\8fbË_\92\8cy
+
+
+85 *
+       m¶ib_aþ_\92\8c\9bs_\9dv6
+[
+RTE_PORT_IN_BURST_SIZE_MAX
+];
+
+86 } 
+       g__¹e_ÿche_®igÃd
+;
+
+88 \1e*
+lib_aþ_ü\97\8b_aùive_¡ªdby_\8fbË_\9dv4
+(
+u\9at8_t
+\8fbË_num
+,
+
+89 
+u\9at32_t
+ *
+libaþ_n_ruËs
+);
+
+91 \1e*
+lib_aþ_ü\97\8b_aùive_¡ªdby_\8fbË_\9dv6
+(
+u\9at8_t
+\8fbË_num
+,
+
+92 
+u\9at32_t
+ *
+libaþ_n_ruËs
+);
+
+93 \12
+lib_aþ_·r£_cÚfig
+(\19
+lib_aþ
+ *
+¶ib_aþ
+,
+
+94 \ 5*
+¬g_Çme
+, \ 5*
+¬g_v®ue
+,
+
+95 
+u\9at32_t
+ *
+libaþ_n_ruËs
+);
+
+96 
+u\9at64_t
+
+
+97 
+lib_aþ_pkt_wÜk_key
+(\19
+lib_aþ
+ *
+¶ib_aþ
+,
+
+98 \19
+¹e_mbuf
+ **
+pkts
+, 
+u\9at64_t
+pkts_mask
+,
+
+99 
+u\9at64_t
+ *
+pkts_drÝ_w\99hout_ruË
+,
+
+100 \1e*
+¶ib_aþ_ruË_\8fbË_\9dv4_aùive
+,
+
+101 \1e*
+¶ib_aþ_ruË_\8fbË_\9dv6_aùive
+,
+
+102 \19
+p\9d\96\9ae_aùiÚ_key
+ *
+aùiÚ_¬¿y_aùive
+,
+
+103 \19
+aùiÚ_couÁ\94_block
+ (*
+p_aùiÚ_couÁ\94_\8f
+)[
+aùiÚ_¬¿y_max
+],
+
+104 
+u\9at64_t
+ *
+cÚÁ¿ck_mask
+,
+
+105 
+u\9at64_t
+ *
+cÚÃxi¡_mask
+,
+
+106 \12
+lib_aþ_\9dv4_\92abËd
+, \12
+lib_aþ_\9dv6_\92abËd
+);
+
+107 
+u\9at64_t
+
+
+108 
+lib_aþ_\9dv4_pkt_wÜk_key
+(\19
+lib_aþ
+ *
+¶ib_aþ
+,
+
+109 \19
+¹e_mbuf
+ **
+pkts
+, 
+u\9at64_t
+pkts_mask
+,
+
+110 
+u\9at64_t
+ *
+pkts_drÝ_w\99hout_ruË
+,
+
+111 \1e*
+¶ib_aþ_ruË_\8fbË_\9dv4_aùive
+,
+
+112 \19
+p\9d\96\9ae_aùiÚ_key
+ *
+aùiÚ_¬¿y_aùive
+,
+
+113 \19
+aùiÚ_couÁ\94_block
+ (*
+p_aùiÚ_couÁ\94_\8f
+)[
+aùiÚ_¬¿y_max
+],
+
+114 
+u\9at64_t
+ *
+cÚÁ¿ck_mask
+,
+
+115 
+u\9at64_t
+ *
+cÚÃxi¡_mask
+);
+
+116 
+u\9at64_t
+
+
+117 
+lib_aþ_\9dv6_pkt_wÜk_key
+(\19
+lib_aþ
+ *
+¶ib_aþ
+,
+
+118 \19
+¹e_mbuf
+ **
+pkts
+, 
+u\9at64_t
+pkts_mask
+,
+
+119 
+u\9at64_t
+ *
+pkts_drÝ_w\99hout_ruË
+,
+
+120 \1e*
+¶ib_aþ_ruË_\8fbË_\9dv6_aùive
+,
+
+121 \19
+p\9d\96\9ae_aùiÚ_key
+ *
+aùiÚ_¬¿y_aùive
+,
+
+122 \19
+aùiÚ_couÁ\94_block
+ (*
+p_aùiÚ_couÁ\94_\8f
+)[
+aùiÚ_¬¿y_max
+],
+
+123 
+u\9at64_t
+ *
+cÚÁ¿ck_mask
+,
+
+124 
+u\9at64_t
+ *
+cÚÃxi¡_mask
+);
+
+       @VIL/alg/lib_ftp_alg.c
+
+16 \ 2
+       ~<¡dio.h
+>
+
+17 \ 2
+       ~<¡dlib.h
+>
+
+18 \ 2
+       ~<¡d\9at.h
+>
+
+19 \ 2
+       ~<¡r\9ag.h
+>
+
+20 \ 2
+       ~<uni¡d.h
+>
+
+22 \ 2
+       ~<­p.h
+>
+
+23 \ 2
+       ~<¹e_commÚ.h
+>
+
+24 \ 2
+       ~<¹e_m®loc.h
+>
+
+25 \ 2
+       ~<¹e_mbuf.h
+>
+
+26 \ 2
+       ~<¹e_\9d.h
+>
+
+27 \ 2
+       ~<¹e_by\8bÜd\94.h
+>
+
+28 \ 2
+       ~<¹e_\8fbË_Ím.h
+>
+
+29 \ 2
+       ~<¹e_\8fbË_hash.h
+>
+
+30 \ 2
+       ~<¹e_p\9d\96\9ae.h
+>
+
+31 \ 2
+       ~<¹e_¬p.h
+>
+
+32 \ 2
+       ~<¹e_icmp.h
+>
+
+33 \ 2
+       ~<¹e_hash.h
+>
+
+34 \ 2
+       ~<¹e_jhash.h
+>
+
+35 \ 2
+       ~<¹e_cyþes.h
+>
+
+36 \ 2
+       ~"p\9d\96\9ae_cgDZ_commÚ.h
+"
+
+37 \ 2
+       ~"p\9d\96\9ae_aùiÚs_commÚ.h
+"
+
+38 \ 2
+       ~"p\9d\96\9ae_cgDZ_be.h
+"
+
+39 \ 2
+       ~"hash_func.h
+"
+
+40 \ 2
+       ~"lib_áp_®g.h
+"
+
+41 \ 2
+       ~"vnf_commÚ.h
+"
+
+42 \ 2
+       ~"p\9d\96\9ae_commÚ_be.h
+"
+
+43 \ 2
+       ~"¹e_ù_tý.h
+"
+
+44 \ 2
+       ~"¹e_úxn_\8cack\9ag.h
+"
+
+45 \ 1
+       #ALG_DEBUG
+ 1
+
+       )
+
+48 \r
+u\9at8_t
+
+
+49 
+¹e_ù_ü\97\8b_úxn_hashkey
+(
+
+50 
+u\9at32_t
+ *
+¤c_addr
+,
+
+51 
+u\9at32_t
+ *
+d¡_addr
+,
+
+52 
+u\9at16_t
+¤c_pÜt
+,
+
+53 
+u\9at16_t
+d¡_pÜt
+,
+
+54 
+u\9at8_t
+´Ùo
+,
+
+55 
+u\9at32_t
+ *
+key
+,
+
+56 
+u\9at8_t
+ty³
+);
+
+59 \19
+¹e_mbuf
+ *
+       glib_®g_pkt
+;
+
+60 \92um {
+       mPRIVATE
+, 
+       mPUBLIC
+};
+
+61 \19
+¹e_hash_·¿m\91\94s
+       gáp_®g_hash_·¿ms
+ = {
+
+62 .
+Çme
+ = "FTP ALG",
+
+63 .
+       g\92\8c\9bs
+ = 1024,
+
+64 .
+       g»£rved
+ = 0,
+
+65 .
+       gkey_Ën
+ = \17(\19
+áp_®g_key
+),
+
+66 .
+       ghash_func
+ = 
+¹e_jhash
+,
+
+67 .
+       ghash_func_\9a\99_v®
+ = 0,
+
+70 \19
+¹e_hash
+ *
+       gáp_®g_hash_hªdË
+;
+
+75 \1e
+       $lib_áp_®g_\9a\99
+(\1e)
+
+77 
+       `´\9atf
+("NAT FTP ALG initialization ...\n");
+
+81 
+áp_®g_hash_hªdË
+ = 
+       `¹e_hash_ü\97\8b
+(&
+áp_®g_hash_·¿ms
+);
+
+83 #ifdeà
+ALGDBG
+
+
+84 ià(
+áp_®g_hash_hªdË
+ =ð
+NULL
+)
+
+85 
+       `´\9atf
+("FTP ALG\84te_hash_create failed ...\n");
+
+87 
+       `´\9atf
+("ftp_alg_hash_table %p\n\n",
+
+88 (\1e*)
+áp_®g_hash_hªdË
+);
+
+91 
+       }
+}
+
+99 \19
+áp_®g_\8fbË_\92\8cy
+ *
+       $»\8c\9bve_áp_®g_\92\8cy
+(\19
+áp_®g_key
+®g_key
+)
+
+101 \19
+áp_®g_\8fbË_\92\8cy
+ *
+»t_®g_d©a
+ = 
+NULL
+;
+
+102 
+®g_key
+.
+f\9eËr1
+ = 0;
+
+103 
+®g_key
+.
+f\9eËr2
+ = 0;
+
+105 \12
+»t
+ = 
+       `¹e_hash_lookup_d©a
+(
+áp_®g_hash_hªdË
+, &
+®g_key
+,
+
+106 (\1e**)&
+»t_®g_d©a
+);
+
+107 ià(
+»t
+ < 0) {
+
+108 #ifdeà
+ALGDBG
+
+
+109 
+       `´\9atf
+("alg-hash\86ookup failed\84et %d, EINVAL %d, ENOENT %d\n",
+
+110 
+»t
+, 
+EINVAL
+, 
+ENOENT
+);
+
+113 \15 
+»t_®g_d©a
+;
+
+116 \15 
+NULL
+;
+
+117 
+       }
+}
+
+124 \18\12
+       $»move_áp_®g_\92\8cy
+(
+u\9at32_t
+\9daddr
+, 
+u\9at8_t
+pÜtid
+)
+
+129 \19
+áp_®g_key
+®g_key
+;
+
+130 
+®g_key
+.
+l4pÜt
+ = 
+       `¹e_bsw­16
+(
+pÜtid
+);
+
+131 
+®g_key
+.
+\9d_add»ss
+ = 
+       `¹e_bsw­32
+(
+\9daddr
+);
+
+132 
+®g_key
+.
+f\9eËr1
+ = 0;
+
+133 
+®g_key
+.
+f\9eËr2
+ = 0;
+
+135 #ifdeà
+ALGDBG
+
+
+136 
+       `´\9atf
+("»move_®g_\92\8cy i°%x,\85Ü\88%d\n", 
+®g_key
+.
+\9d_add»ss
+,
+
+137 
+®g_key
+.
+l4pÜt
+);
+
+139 \15 
+       `¹e_hash_d\96_key
+(
+áp_®g_hash_hªdË
+, &
+®g_key
+);
+
+140 
+       }
+}
+
+147 
+       $pÝuÏ\8b_áp_®g_\92\8cy
+(
+u\9at32_t
+\9daddr
+, 
+u\9at8_t
+pÜtid
+)
+
+151 \19
+áp_®g_key
+®g_key
+;
+
+152 
+®g_key
+.
+l4pÜt
+ = 
+       `¹e_bsw­16
+(
+pÜtid
+);
+
+154 
+®g_key
+.
+\9d_add»ss
+ = 
+       `¹e_bsw­32
+(
+\9daddr
+);
+
+155 
+®g_key
+.
+f\9eËr1
+ = 0;
+
+156 
+®g_key
+.
+f\9eËr2
+ = 0;
+
+161 #ifdeà
+ALGDBG
+
+
+162 
+       `´\9atf
+("pÝuÏ\8b_áp_®g_\92\8cy i°%x,\85Ü\88%d\n", 
+®g_key
+.
+\9d_add»ss
+,
+
+163 
+®g_key
+.
+l4pÜt
+);
+
+166 \19
+áp_®g_\8fbË_\92\8cy
+ *
+Ãw_®g_d©a
+ =
+
+167 
+       `»\8c\9bve_áp_®g_\92\8cy
+(
+®g_key
+);
+
+168 ià(
+Ãw_®g_d©a
+) {
+
+169 #ifdeà
+ALGDBG
+
+
+170 
+       `´\9atf
+("®g_\92\8cy\83xi¡ \9d%x,\85Ü\88%d\n", 
+®g_key
+.
+\9d_add»ss
+,
+
+171 
+®g_key
+.
+l4pÜt
+);
+
+176 
+Ãw_®g_d©a
+ = (\19
+áp_®g_\8fbË_\92\8cy
+ *)
+
+177 
+       `m®loc
+(\17(
+Ãw_®g_d©a
+));
+
+179 
+Ãw_®g_d©a
+->
+l4pÜt
+ = 
+       `¹e_bsw­16
+(
+pÜtid
+);
+
+180 
+Ãw_®g_d©a
+->
+\9d_add»ss
+ = 
+       `¹e_bsw­32
+(
+\9daddr
+);
+
+181 
+       `¹e_hash_add_key_d©a
+(
+áp_®g_hash_hªdË
+, &
+®g_key
+, 
+Ãw_®g_d©a
+);
+
+183 #ifdeà
+ALGDBG
+
+
+185 
\9atf
+
+
+187 (
+®g_key
+.
+\9d_add»ss
+ >> 24),
+
+188 ((
+®g_key
+.
+\9d_add»ss
+ & 0x00ff0000) >> 16),
+
+189 ((
+®g_key
+.
+\9d_add»ss
+ & 0x0000ff00) >> 8),
+
+190 ((
+®g_key
+.
+\9d_add»ss
+ & 0x000000ff)), 
+pÜtid
+);
+
+192 
+       `puts
+("");
+
+194 
+       }
+}
+
+202 \12
+       $áp_®g_modify_·ylßd
+(
+
+203 \19
+cgDZ_\8fbË_\92\8cy
+ *
+eg»ss_\92\8cy
+,
+
+204 \ 5*
+pÜt_¡r\9ag
+,
+
+205 \ 5*
+pÜt_¡r\9ag_\8cª¦©ed
+, \12
+áp_£ssiÚ_ty³
+)
+
+207 
+u\9at32_t
+\8cª¥Üt_\9d
+;
+
+208 
+u\9at16_t
+\8cª¥Üt_pÜt
+;
+
+209 
+u\9at16_t
+tmp1
+, 
+tmp2
+, 
+tmp3
+, 
+tmp4
+, 
+tmp5
+, 
+tmp6
+;
+
+210 
+u\9at16_t
+Ãw_pÜt_¡r\9ag_Ëngth
+;
+
+212 
+u\9at8_t
+ *
+b±r_public_add»ss
+;
+
+214 
+\8cª¥Üt_\9d
+ = 
+eg»ss_\92\8cy
+->
+d©a
+.
+pub_\9d
+;
+
+215 
+\8cª¥Üt_pÜt
+ = 
+eg»ss_\92\8cy
+->
+d©a
+.
+pub_pÜt
+;
+
+216 
+tmp5
+ = (
+u\9at16_t
+è(
+\8cª¥Üt_pÜt
+/0x100);
+
+217 
+tmp6
+ = (
+u\9at16_t
+è(
+\8cª¥Üt_pÜt
+ % 0x100);
+
+219 
+\8cª¥Üt_\9d
+ = 
+       `¹e_bsw­32
+(transport_ip);
+
+221 
+b±r_public_add»ss
+ = (
+u\9at8_t
+ *è&
+\8cª¥Üt_\9d
+;
+
+223 
+tmp4
+ = 
+b±r_public_add»ss
+[3];
+
+224 
+tmp3
+ = 
+b±r_public_add»ss
+[2];
+
+225 
+tmp2
+ = 
+b±r_public_add»ss
+[1];
+
+226 
+tmp1
+ = 
+b±r_public_add»ss
+[0];
+
+228 ià(
+áp_£ssiÚ_ty³
+ == 1)
+
+229 
+       `¥r\9atf
+(
+pÜt_¡r\9ag_\8cª¦©ed
+, 
+FTP_PASV_PARAMETER_STRING
+,
+
+230 
+FTP_PASV_RETURN_CODE
+, 
+tmp1
+, 
+tmp2
+, 
+tmp3
+, 
+tmp4
+,
+
+231 
+tmp5
+, 
+tmp6
+);
+
+233 
+       `¥r\9atf
+(
+pÜt_¡r\9ag_\8cª¦©ed
+, 
+FTP_PORT_PARAMETER_STRING
+,
+
+234 
+tmp1
+, 
+tmp2
+, 
+tmp3
+, 
+tmp4
+, 
+tmp5
+, 
+tmp6
+);
+
+235 #ifdeà
+ALGDBG
+
+
+236 
+       `´\9atf
+("FTP ALG: FTP\82ew string: Len:%d %s\n",
+
+237 (
+u\9at16_t
+       `¡¾\92
+(
+pÜt_¡r\9ag_\8cª¦©ed
+)-2,
+
+238 
+pÜt_¡r\9ag_\8cª¦©ed
+);
+
+240 
+       `´\9atf
+("FTP\82on\81ranslated PASV string: Len:%d, %s\n",
+
+241 (
+u\9at16_t
+)
+       `¡¾\92
+(
+pÜt_¡r\9ag
+)-2,\85ort_string);
+
+242 
+       `´\9atf
+("old strlen:%d\82ew strlen:%d\n",
+
+243 (\12)
+       `¡¾\92
+(
+pÜt_¡r\9ag
+),
+
+244 (\12)
+       `¡¾\92
+(
+pÜt_¡r\9ag_\8cª¦©ed
+));
+
+247 \15(
+Ãw_pÜt_¡r\9ag_Ëngth
+ =
+
+248 (
+u\9at16_t
+       `¡¾\92
+(
+pÜt_¡r\9ag_\8cª¦©ed
+));
+
+249 
+       }
+}
+
+256 \18
+\9al\9ae
\1e
+       $áp_®g_modify_pkt_Ën
+(\19
+¹e_mbuf
+ *
+pkt
+)
+
+258 
+u\9at16_t
+pkt_Ëngth
+ = 0;
+
+259 \12
+\9d_hdr_size_by\8bs
+ = 
+       `¹e_ù_g\91_IP_hdr_size
+(
+pkt
+);
+
+260 \1e*
+\9dhdr
+ = 
+       `RTE_MBUF_METADATA_UINT32_PTR
+(
+pkt
+, 
+IP_START
+);
+
+262 ià(
+\9d_hdr_size_by\8bs
+ =ð
+IPv4_HEADER_SIZE
+) {
+
+263 \19
+\9dv4_hdr
+ *
+ihdr4
+ = (\19\9dv4_hd¸*)
+\9dhdr
+;
+
+264 
+pkt_Ëngth
+ = 
+       `¹e_bsw­16
+(
+ihdr4
+->
+tÙ®_Ëngth
+è+ 
+ETH_HDR_SIZE
+;
+
+265 } \vià(
+\9d_hdr_size_by\8bs
+ =ð
+IPv6_HEADER_SIZE
+) {
+
+266 \19
+\9dv6_hdr
+ *
+ihdr6
+ = (\19\9dv6_hd¸*)
+\9dhdr
+;
+
+267 
+pkt_Ëngth
+ = 
+       `¹e_bsw­16
+(
+ihdr6
+->
+·ylßd_Ën
+) +
+
+268 
+IPv6_HEADER_SIZE
+ + 
+ETH_HDR_SIZE
+;
+
+271 
+u\9at16_t
+mbuf_pkt_Ëngth
+ = 
+       `¹e_pktmbuf_pkt_Ën
+(
+pkt
+);
+
+273 ià(
+pkt_Ëngth
+ =ð
+mbuf_pkt_Ëngth
+)
+
+276 ià(
+pkt_Ëngth
+ < 
+mbuf_pkt_Ëngth
+) {
+
+277 
+       `¹e_pktmbuf_\8cim
+(
+pkt
+, 
+mbuf_pkt_Ëngth
+ - 
+pkt_Ëngth
+);
+
+282 
+       `¹e_pktmbuf_­³nd
+(
+pkt
+, 
+pkt_Ëngth
+ - 
+mbuf_pkt_Ëngth
+);
+
+283 
+       }
+}
+
+292 
+u\9at16_t
+       $áp_®g_g\91_IP_hdr_size
+(\19
+¹e_mbuf
+ *
+pkt
+)
+
+298 
+u\9at8_t
+hdr_chk
+ = 
+       `RTE_MBUF_METADATA_UINT8
+(
+pkt
+, 
+IP_START
+);
+
+299 
+hdr_chk
+ = hdr_chk >> 4;
+
+301 ià(
+hdr_chk
+ =ð
+IP_VERSION_4
+)
+
+302 \15 
+IPv4_HEADER_SIZE
+;
+
+303 \vià(
+hdr_chk
+ =ð
+IP_VERSION_6
+)
+
+304 \15 
+IPv6_HEADER_SIZE
+;
+
+308 
+       }
+}
+
+316 \18\1e
+       $áp_®g_compu\8b_checksums
+(
+
+317 \1e*
+i_hdr
+,
+
+318 \19
+tý_hdr
+ *
+t_hdr
+)
+
+328 
+\9at8_t
+hdr_chk
+ = 
+       `¹e_ù_\9dv\94siÚ
+(
+i_hdr
+);
+
+329 
+t_hdr
+->
+cksum
+ = 0;
+
+331 ià(
+hdr_chk
+ =ð
+IP_VERSION_4
+) {
+
+332 \19
+\9dv4_hdr
+ *
+i4_hdr
+ = (\19\9dv4_hd¸*)
+i_hdr
+;
+
+333 
+i4_hdr
+->
+hdr_checksum
+ = 0;
+
+334 
+t_hdr
+->
+cksum
+ = 0;
+
+335 
+t_hdr
+->
+cksum
+ = 
+       `¹e_\9dv4_ud±ý_cksum
+(
+i4_hdr
+,\81_hdr);
+
+337 #ifdeà
+ALGDBG
+
+
+338 
+       `´\9atf
+("cksum %x\n", 
+       `¹e_bsw­32
+(
+t_hdr
+->
+cksum
+));
+
+341 
+i4_hdr
+->
+hdr_checksum
+ = 
+       `¹e_\9dv4_cksum
+(i4_hdr);
+
+342 } \vià(
+hdr_chk
+ =ð
+IP_VERSION_6
+) {
+
+343 \19
+\9dv6_hdr
+ *
+i6_hdr
+ = (\19\9dv6_hd¸*)
+i_hdr
+;
+
+344 
+t_hdr
+->
+cksum
+ = 0;
+
+345 
+t_hdr
+->
+cksum
+ = 
+       `¹e_\9dv6_ud±ý_cksum
+(
+i6_hdr
+,\81_hdr);
+
+347 
+       }
+}
+
+356 \18\1e
+       $áp_®g_adju¡_tý_ack
+(\19
+¹e_mbuf
+ *
+pkt
+, 
+\9at16_t
+ackSeqdiff
+)
+
+359 
+u\9at16_t
+\9d_hdr_size_by\8bs
+ = 
+IPv4_HEADER_SIZE
+;
+
+360 \19
+\9dv4_hdr
+ *
+\9dhdr
+ = (\19ipv4_hdr *)
+
+361 
+       `RTE_MBUF_METADATA_UINT32_PTR
+(
+pkt
+, 
+IP_START
+);
+
+362 \19
+tý_hdr
+ *
+thdr
+ = (\19tcp_hdr *)
+
+363 
+       `RTE_MBUF_METADATA_UINT32_PTR
+(
+pkt
+,
+
+364 
+IP_START
+ + 
+\9d_hdr_size_by\8bs
+);
+
+369 
+u\9at32_t
+\8bmp
+;
+
+370 
+\8bmp
+ = 
+       `¹e_bsw­32
+(
+thdr
+->
+»cv_ack
+);
+
+372 ià(
+ackSeqdiff
+ < 0)
+
+373 
+\8bmp
+ +ð
+       `abs
+(
+ackSeqdiff
+);
+
+375 
+\8bmp
+ -ð
+       `abs
+(
+ackSeqdiff
+);
+
+377 
+thdr
+->
+»cv_ack
+ = 
+       `¹e_bsw­32
+(
+\8bmp
+);
+
+378 
+       }
+}
+
+386 \18\1e
+       $áp_®g_adju¡_tý_£q
+(\19
+¹e_mbuf
+ *
+pkt
+, 
+\9at16_t
+ackSeqdiff
+)
+
+389 
+u\9at16_t
+\9d_hdr_size_by\8bs
+ = 
+IPv4_HEADER_SIZE
+;
+
+390 \19
+\9dv4_hdr
+ *
+\9dhdr
+ = (\19ipv4_hdr *)
+
+391 
+       `RTE_MBUF_METADATA_UINT32_PTR
+(
+pkt
+, 
+IP_START
+);
+
+392 \19
+tý_hdr
+ *
+thdr
+ = (\19tcp_hdr *)
+
+393 
+       `RTE_MBUF_METADATA_UINT32_PTR
+(
+pkt
+,
+
+394 
+IP_START
+ + 
+\9d_hdr_size_by\8bs
+);
+
+395 
+u\9at32_t
+\8bmp
+;
+
+397 
+\8bmp
+ = 
+       `¹e_bsw­32
+(
+thdr
+->
+£Á_£q
+);
+
+398 ià(
+ackSeqdiff
+ < 0)
+
+399 
+\8bmp
+ -ð
+       `abs
+(
+ackSeqdiff
+);
+
+401 
+\8bmp
+ +ð
+       `abs
+(
+ackSeqdiff
+);
+
+403 
+thdr
+->
+£Á_£q
+ = 
+       `¹e_bsw­32
+(
+\8bmp
+);
+
+404 
+       }
+}
+
+414 \18\12
+       $áp_®g_d\96\8f_tý_£qu\92û
+(
+
+415 \19
+¹e_mbuf
+ *
+pkt
+,
+
+416 \ 5*
+pÜt_¡r\9ag
+,
+
+417 
+\9at16_t
+exi¡\9ag_týSeqdiff
+,
+
+418 
+u\9at16_t
+Þd_pÜt_¡r\9ag_Ëngth
+,
+
+419 
+u\9at16_t
+Ãw_pÜt_¡r\9ag_Ëngth
+)
+
+421 
+\9at16_t
+cu¼\92t_£qu\92û_numb\94_d\96\8f
+=0;
+
+422 
+\9at16_t
+f\9a®_£qu\92û_numb\94_d\96\8f
+;
+
+424 
+u\9at16_t
+\9d_hdr_size_by\8bs
+ = 
+IPv4_HEADER_SIZE
+;
+
+425 \19
+\9dv4_hdr
+ *
+\9dhdr
+ = (\19ipv4_hdr *)
+
+426 
+       `RTE_MBUF_METADATA_UINT32_PTR
+(
+pkt
+, 
+IP_START
+);
+
+427 \19
+tý_hdr
+ *
+thdr
+ = (\19tcp_hdr *)
+
+428 
+       `RTE_MBUF_METADATA_UINT32_PTR
+(
+pkt
+,
+
+429 
+IP_START
+ + 
+\9d_hdr_size_by\8bs
+);
+
+434 
+cu¼\92t_£qu\92û_numb\94_d\96\8f
+ = (
+\9at16_t
+è(
+Ãw_pÜt_¡r\9ag_Ëngth
+ -
+
+435 
+Þd_pÜt_¡r\9ag_Ëngth
+);
+
+436 
+\9dhdr
+->
+tÙ®_Ëngth
+ = 
+       `¹e_bsw­16
+(iphdr->total_length);
+
+438 #ifdeà
+ALGDBG
+
+
+439 
+       `´\9atf
+("tÙ®_Ëngth :%u\n", 
+\9dhdr
+->
+tÙ®_Ëngth
+);
+
+441 if(
+cu¼\92t_£qu\92û_numb\94_d\96\8f
+ < 0)
+
+442 
+\9dhdr
+->
+tÙ®_Ëngth
+ -ð
+       `abs
+(
+cu¼\92t_£qu\92û_numb\94_d\96\8f
+);
+
+444 
+\9dhdr
+->
+tÙ®_Ëngth
+ +ð
+cu¼\92t_£qu\92û_numb\94_d\96\8f
+;
+
+446 
+\9dhdr
+->
+tÙ®_Ëngth
+ = 
+       `¹e_bsw­16
+(iphdr->total_length);
+
+447 ià(
+exi¡\9ag_týSeqdiff
+ !=0)
+
+448 
+       `áp_®g_adju¡_tý_£q
+(
+pkt
+,
+exi¡\9ag_týSeqdiff
+);
+
+449 
+f\9a®_£qu\92û_numb\94_d\96\8f
+cu¼\92t_£qu\92û_numb\94_d\96\8f
+ + 
+exi¡\9ag_týSeqdiff
+;
+
+450 \15 
+f\9a®_£qu\92û_numb\94_d\96\8f
+;
+
+451 
+       }
+}
+
+462 \1e
+       $áp_®g_dpi
+(
+
+463 \19
+p\9d\96\9ae_cgDZ
+ *
+p_Çt
+,
+
+464 \19
+p\9d\96\9ae_cgDZ_\92\8cy_key
+ *
+Çt_\92\8cy_key
+,
+
+465 \19
+¹e_mbuf
+ *
+pkt
+,
+
+466 \19
+¹e_ù_úxn_\8cack\94
+ *
+cgÇt_úxn_\8cack\94
+,
+
+467 
+\9at32_t
+ù_pos\99
+,
+
+468 
+u\9at8_t
+d\9ceùiÚ
+)
+
+476 \ 5*
+pÜt_cmd_¡r\9ag
+;
+
+477 \ 5*
+pÜt_cmd_\92d_¡r\9ag
+;
+
+478 \ 5*
+tý_h\97d\94_\92d
+;
+
+479 \ 5*
+tý_¡¬t
+;
+
+482 
+u\9at16_t
+´iv©e_pÜt_numb\94
+;
+
+483 
+u\9at16_t
+public_pÜt_numb\94
+;
+
+484 
+u\9at16_t
+\9d1
+, 
+\9d2
+, 
+\9d3
+, 
+\9d4
+, 
+pÜt1
+, 
+pÜt2
+;
+
+485 
+\9at16_t
+týSeqdiff
+;
+
+486 
+\9at16_t
+ackSeqdiff
+, 
+ackAdju¡
+;
+
+487 
+u\9at32_t
+´iv©e_add»ss
+;
+
+488 
+u\9at32_t
+public_add»ss
+;
+
+489 
+u\9at8_t
+ *
+b±r_´iv©e_add»ss
+;
+
+491 \ 5
+pÜt_¡r\9ag
+[
+FTP_MAXIMUM_PORT_STRING_LENGTH
+];
+
+492 \ 5
+pÜt_¡r\9ag_\8cª¦©ed
+[
+FTP_MAXIMUM_PORT_STRING_LENGTH
+];
+
+493 
+\9at16_t
+Ãw_pÜt_¡r\9ag_Ëngth
+;
+
+494 
+\9at16_t
+Þd_pÜt_¡r\9ag_Ëngth
+;
+
+495 \12
+dummy_v®ue
+;
+
+496 \19
+cgDZ_\8fbË_\92\8cy
+ *
+eg»ss_\92\8cy
+, *
+\9ag»ss_\92\8cy
+;
+
+497 
+u\9at32_t
+ù_key
+[10];
+
+498 
+u\9at8_t
+key_d\9ceùiÚ
+;
+
+500 
+u\9at16_t
+\9d_hdr_size_by\8bs
+ = 
+IPv4_HEADER_SIZE
+;
+
+502 \19
+\9dv4_hdr
+ *
+\9d_hdr
+ = 
+       `¹e_pktmbuf_mtod_off£t
+(
+pkt
+,
+
+503 \19
+\9dv4_hdr
+ *, \17(\19
+\91h\94_hdr
+));
+
+507 \19
+tý_hdr
+ *
+thdr
+ = 
+       `¹e_pktmbuf_mtod_off£t
+(
+pkt
+, \19tcp_hdr *,
+
+508 (\17(\19
+\91h\94_hdr
+)+\17(\19
+\9dv4_hdr
+)));
+
+509 
+u\9at16_t
+¤c_pÜt
+ = 
+       `¹e_bsw­16
+(
+thdr
+->src_port);
+
+510 
+u\9at16_t
+d¡_pÜt
+ = 
+       `¹e_bsw­16
+(
+thdr
+->dst_port);
+
+511 
+u\9at8_t
+´Ùo
+ = 
+\9d_hdr
+->
+Ãxt_´Ùo_id
+;
+
+512 
+u\9at32_t
+¤c_addr
+ = 
+       `¹e_bsw­32
+(
+\9d_hdr
+->src_addr);
+
+513 
+u\9at32_t
+d¡_addr
+ = 
+       `¹e_bsw­32
+(
+\9d_hdr
+->dst_addr);
+
+514 
+u\9at32_t
+tmp_tý_·ylod_size
+;
+
+517 - 
+¤c_pÜt
+ & 
+d¡_pÜt
+check\9ag
+to
+be
+moved
+äom
+cgÇt
+\81Ø
+dpi
+
+
+518 - 
+FÜ
+cÚ\8cÞ
+chªÃl
+
+
+519 
+f\9c¡
+v®id©iÚ
+of
+týSeqdiff
+to
+be
+checked
+
+
+520 
+IF
+ < > 0
+
+521 
+       `áp_®g_tý_ack
+(è
+to
+be
+       `ÿÎed
+(
+this
+\9aþudes
+PORT
+
+
+522 
+»¥Ú£
+ªd
+PASV
+\84e¥Ú£ 
+ack
+as
+w\96l
+)
+
+523 
+R\91
+
+
+524 
+ELSE
+
+
+525 
+the
+pÜt
+/
+·sv
+·¿m\8br
+checkign
+to
+be
+dÚe
+
+
+526 - 
+FÜ
+d©a
+chªÃl
+
+
+527 -
\8ceive
+ALG
+\92\8cy
+
+
+528 
+IF
+found
+
+
+529 - 
+»move
+the
+ALG
+\92\8cy
+
+
+530 
+ev\92
\11
+nÙ
+       `found
+(
+found
+ÿ£s
+too
+)
+
+531 - 
+£t
+the
+by·ss
+æag
+\9a
+\81h\90
+CT
+£ssiÚ
+\8f
+
+
+535 #ifdeà
+ALGDBG
+
+
+537 
+       `´\9atf
+("á°pÜ\88numb\94: %d, %d\n", 
+¤c_pÜt
+, 
+d¡_pÜt
+);
+
+538 
+       `´\9atf
+("ftp TCP seq\82um diff: %d\n",
+
+539 
+cgÇt_úxn_\8cack\94
+->
+hash_\8fbË_\92\8c\9bs
+[
+
+540 
+ù_pos\99
+].
+týSeqdiff
+);
+
+541 
+       `´\9atf
+("tcp data offset: %d\n",
+
+542 ((
+thdr
+->
+d©a_off
+ & 0xf0) >> 2));
+
+543 
+       `´\9atf
+("ù\85os\99iÚ iÀdpi:%d\n", 
+ù_pos\99
+);
+
+547 ià(
+¤c_pÜt
+ =ð21 || 
+d¡_pÜt
+ == 21) {
+
+556 
+tý_¡¬t
+ = (\ 5*)
+thdr
+;
+
+559 
+pÜt_cmd_¡r\9ag
+ = (\ 5* )(
+tý_¡¬t
++((
+thdr
+->
+d©a_off
+ & 0xf0) >> 2));
+
+560 
+tý_h\97d\94_\92d
+ = 
+pÜt_cmd_¡r\9ag
+;
+
+562 ià(
+d\9ceùiÚ
+ =ð
+PRIVATE
+) {
+
+564 #ifdeà
+ALGDBG
+
+
+565 
+       `´\9atf
+("In PRIVATE ");
+
+568 
+cgÇt_úxn_\8cack\94
+->
+hash_\8fbË_\92\8c\9bs
+[
+ù_pos\99
+].
+£q_þ\9bÁ
+
+
+569 ð
+       `¹e_bsw­32
+(
+thdr
+->
+£Á_£q
+);
+
+570 
+cgÇt_úxn_\8cack\94
+->
+hash_\8fbË_\92\8c\9bs
+[
+ù_pos\99
+].
+ack_þ\9bÁ
+
+
+571 ð
+       `¹e_bsw­32
+(
+thdr
+->
+»cv_ack
+);
+
+572 #ifdeà
+ALGDBG
+
+
+573 
+       `´\9atf
+("-->Seq_cli:%u, Ack_cli:%u, Len:%4d\n",
+
+574 
+       `¹e_bsw­32
+(
+thdr
+->
+£Á_£q
+),
+
+575 
+       `¹e_bsw­32
+(
+thdr
+->
+»cv_ack
+),
+
+576 (
+       `¹e_bsw­16
+(
+\9d_hdr
+->
+tÙ®_Ëngth
+) -
+
+577 (((
+thdr
+->
+d©a_off
+ & 0xf0) >> 4) * 4)) - 20);
+
+581 #ifdeà
+ALGDBG
+
+
+582 
+       `´\9atf
+("In PUBLIC ");
+
+584 
+cgÇt_úxn_\8cack\94
+->
+hash_\8fbË_\92\8c\9bs
+[
+ù_pos\99
+].
+£q_£rv\94
+
+
+585 ð
+       `¹e_bsw­32
+(
+thdr
+->
+£Á_£q
+);
+
+586 
+cgÇt_úxn_\8cack\94
+->
+hash_\8fbË_\92\8c\9bs
+[
+ù_pos\99
+].
+ack_£rv\94
+
+
+587 ð
+       `¹e_bsw­32
+(
+thdr
+->
+»cv_ack
+);
+
+588 #ifdeà
+ALGDBG
+
+
+589 
+       `´\9atf
+("<--Seq_cli:%4d, Ack_cli%4d, Len:%4d\n",
+
+590 
+       `¹e_bsw­32
+(
+thdr
+->
+£Á_£q
+),\84\8b_bsw­32Ñhdr->
+»cv_ack
+),
+
+591 (
+\9d_hdr
+->
+tÙ®_Ëngth
+ - (((
+thdr
+->
+d©a_off
+ & 0xf0) >> 2))
+
+596 ià(
+       `ssÿnf
+(
+pÜt_cmd_¡r\9ag
+, 
+FTP_PASV_PARAMETER_STRING
+, &
+dummy_v®ue
+,
+
+597 &
+\9d1
+, &
+\9d2
+, &
+\9d3
+, &
+\9d4
+, &
+pÜt1
+, &
+pÜt2
+) ==
+
+598 
+FTP_PASV_PARAMETER_COUNT
+){
+
+600 
+       `¥r\9atf
+ (
+pÜt_¡r\9ag
+, 
+FTP_PASV_PARAMETER_STRING
+, 
+FTP_PASV_RETURN_CODE
+,
+
+601 
+\9d1
+, 
+\9d2
+, 
+\9d3
+, 
+\9d4
+, 
+pÜt1
+, 
+pÜt2
+);
+
+603 \12
+i
+ = 0;
+
+604 \1f
+pÜt_cmd_¡r\9ag
+[
+i
+] != '\r' &&\85ort_cmd_string[i+1] != '\n')
+
+605 
+i
+++;
+
+607 
+i
+ += 2;
+
+609 
+Þd_pÜt_¡r\9ag_Ëngth
+ = 
+i
+;
+
+611 
+´iv©e_pÜt_numb\94
+ = (
+u\9at16_t
+è(
+pÜt1
+ * 0x100 + 
+pÜt2
+);
+
+612 
+b±r_´iv©e_add»ss
+ = (
+u\9at8_t
+ *è&
+´iv©e_add»ss
+;
+
+614 
+b±r_´iv©e_add»ss
+[3] = (
+u\9at8_t
+è(
+\9d4
+ & 0x00FF);
+
+615 
+b±r_´iv©e_add»ss
+[2] = (
+u\9at8_t
+è(
+\9d3
+ & 0x00FF);
+
+616 
+b±r_´iv©e_add»ss
+[1] = (
+u\9at8_t
+è(
+\9d2
+ & 0x00FF);
+
+617 
+b±r_´iv©e_add»ss
+[0] = (
+u\9at8_t
+è(
+\9d1
+ & 0x00FF);
+
+621 ià(
+d\9ceùiÚ
+ =ð
+PUBLIC
+) {
+
+628 
+       `pÝuÏ\8b_áp_®g_\92\8cy
+(
+´iv©e_add»ss
+, 
+´iv©e_pÜt_numb\94
+);
+
+634 
+cgÇt_úxn_\8cack\94
+->
+hash_\8fbË_\92\8c\9bs
+[
+ù_pos\99
+].
+
+635 
+£rv\94_d\9ceùiÚ
+ = 
+SERVER_IN_PUBLIC
+;
+
+636 
+cgÇt_úxn_\8cack\94
+->
+hash_\8fbË_\92\8c\9bs
+[
+ù_pos\99
+].
+
+637 
+áp_£ssiÚ_ty³
+= 1;
+
+638 } \vià(
+d\9ceùiÚ
+ =ð
+PRIVATE
+) {
+
+641 \19
+p\9d\96\9ae_cgDZ_\92\8cy_key
+d©a_chªÃl_key
+;
+
+642 
+´iv©e_add»ss
+ = 
+       `¹e_bsw­32
+(private_address);
+
+643 
+d©a_chªÃl_key
+.
+\9d
+ = 
+´iv©e_add»ss
+;
+
+644 
+d©a_chªÃl_key
+.
+pÜt
+ = 
+´iv©e_pÜt_numb\94
+;
+
+646 
+d©a_chªÃl_key
+.
+pid
+ = 
+pkt
+->
+pÜt
+;
+
+653 #ifdeà
+FTP_ALG
+
+
+654 ià(
+       `add_dyÇmic_cgDZ_\92\8cy_®g
+((\19
+p\9d\96\9ae
+ *)
+p_Çt
+,
+
+655 &
+d©a_chªÃl_key
+, &
+eg»ss_\92\8cy
+, &
+\9ag»ss_\92\8cy
+) == 0){
+
+657 #ifdeà
+ALGDBG
+
+
+658 
+       `´\9atf
+("Wrong FTP ALG\85acket\n");
+
+662 
+p_Çt
+->
+DZDrݳdPktCouÁ
+++;
+
+664 #ifdeà
+CGNAPT_DEBUGGING
+
+
+665 
+p_Çt
+->
+DZDrݳdPktCouÁ4
+++;
+
+671 
+tmp_tý_·ylod_size
+ = 
+       `¹e_bsw­16
+(
+\9d_hdr
+->
+tÙ®_Ëngth
+) -
+
+672 ((
+thdr
+->
+d©a_off
+ & 0xf0è>> 2è- 
+\9d_hdr_size_by\8bs
+;
+
+673 
+cgÇt_úxn_\8cack\94
+->
+hash_\8fbË_\92\8c\9bs
+[
+ù_pos\99
+].
+
+674 
+tý_·ylßd_size
+ = 
+tmp_tý_·ylod_size
+;
+
+677 
+       `pÝuÏ\8b_áp_®g_\92\8cy
+(
+eg»ss_\92\8cy
+->
+d©a
+.
+pub_\9d
+,
+
+678 
+eg»ss_\92\8cy
+->
+d©a
+.
+pub_pÜt
+);
+
+680 
+Ãw_pÜt_¡r\9ag_Ëngth
+ = 
+       `áp_®g_modify_·ylßd
+(
+eg»ss_\92\8cy
+,
+
+681 
+pÜt_¡r\9ag
+,
+
+682 
+pÜt_¡r\9ag_\8cª¦©ed
+, 1);
+
+683 
+       `¡ºýy
+(
+tý_h\97d\94_\92d
+, 
+pÜt_¡r\9ag_\8cª¦©ed
+,
+
+684 
+       `¡¾\92
+(
+pÜt_¡r\9ag_\8cª¦©ed
+));
+
+685 
+týSeqdiff
+ = 
+       `áp_®g_d\96\8f_tý_£qu\92û
+pkt
+, 
+pÜt_¡r\9ag
+,
+
+686 
+cgÇt_úxn_\8cack\94
+->
+hash_\8fbË_\92\8c\9bs
+
+
+687 [
+ù_pos\99
+].
+týSeqdiff
+,
+
+688 
+Þd_pÜt_¡r\9ag_Ëngth
+,
+
+689 
+Ãw_pÜt_¡r\9ag_Ëngth
+);
+
+692 
+       `áp_®g_modify_pkt_Ën
+(
+pkt
+);
+
+699 
+cgÇt_úxn_\8cack\94
+->
+hash_\8fbË_\92\8c\9bs
+[
+ù_pos\99
+].
+
+700 
+®g_by·ss_æag
+ = 
+NO_BYPASS
+;
+
+701 
+cgÇt_úxn_\8cack\94
+->
+hash_\8fbË_\92\8c\9bs
+[
+ù_pos\99
+].
+
+702 
+týSeqdiff
+ =\81cpSeqdiff;
+
+703 
+cgÇt_úxn_\8cack\94
+->
+hash_\8fbË_\92\8c\9bs
+[
+ù_pos\99
+].
+
+704 
+£rv\94_d\9ceùiÚ
+ = 
+SERVER_IN_PRIVATE
+;
+
+705 
+cgÇt_úxn_\8cack\94
+->
+hash_\8fbË_\92\8c\9bs
+[
+ù_pos\99
+].
+
+706 
+áp_£ssiÚ_ty³
+ = 1;
+
+710 } \vià(
+       `ssÿnf
+(
+pÜt_cmd_¡r\9ag
+, 
+FTP_PORT_PARAMETER_STRING
+,
+
+711 &
+\9d1
+, &
+\9d2
+, &
+\9d3
+, &
+\9d4
+, &
+pÜt1
+, &
+pÜt2
+) ==
+
+712 
+FTP_PORT_PARAMETER_COUNT
+){
+
+714 \12
+i
+ = 0;
+
+715 \18
+u\9at8_t
+pÜt_h\99
+;
+
+716 \1f
+pÜt_cmd_¡r\9ag
+[
+i
+] != '\r' &&
+
+717 
+pÜt_cmd_¡r\9ag
+[
+i
++1] != '\n')
+
+718 
+i
+++;
+
+720 
+i
+ += 2;
+
+722 
+Þd_pÜt_¡r\9ag_Ëngth
+ = 
+i
+;
+
+724 #ifdeà
+ALGDBG
+
+
+725 
+       `´\9atf
+Ð" Exi¡\9ag Seq Difàð%d", 
+cgÇt_úxn_\8cack\94
+->
+
+726 
+hash_\8fbË_\92\8c\9bs
+[
+ù_pos\99
+].
+týSeqdiff
+);
+
+727 
+       `´\9atf
+("FTP ALG: FTP PORT command\86ength: %d\n",
+
+728 
+Þd_pÜt_¡r\9ag_Ëngth
+);
+
+731 
+´iv©e_pÜt_numb\94
+ = (
+u\9at16_t
+è(
+pÜt1
+ * 0x100 + 
+pÜt2
+);
+
+733 #ifdeà
+ALGDBG
+
+
+734 
+       `´\9atf
+("FTP ALG:\85rivate\85ort\82umber before swap: %u\n",
+
+735 
+´iv©e_pÜt_numb\94
+);
+
+738 
+b±r_´iv©e_add»ss
+ = (
+u\9at8_t
+ *è&
+´iv©e_add»ss
+;
+
+739 
+b±r_´iv©e_add»ss
+[3] = (
+u\9at8_t
+è(
+\9d4
+ & 0x00FF);
+
+740 
+b±r_´iv©e_add»ss
+[2] = (
+u\9at8_t
+è(
+\9d3
+ & 0x00FF);
+
+741 
+b±r_´iv©e_add»ss
+[1] = (
+u\9at8_t
+è(
+\9d2
+ & 0x00FF);
+
+742 
+b±r_´iv©e_add»ss
+[0] = (
+u\9at8_t
+è(
+\9d1
+ & 0x00FF);
+
+744 
+       `¥r\9atf
+(
+pÜt_¡r\9ag
+, 
+FTP_PORT_PARAMETER_STRING
+, 
+\9d1
+, 
+\9d2
+,
+
+745 
+\9d3
+, 
+\9d4
+, 
+pÜt1
+, 
+pÜt2
+);
+
+747 #ifdeà
+ALGDBG
+
+
+748 
+       `´\9atf
+("FTP ALG: FTP original PORT string: %d,%s\n",
+
+749 (\12è
+       `¡¾\92
+(
+pÜt_¡r\9ag
+)-2,\85ort_string);
+
+750 
+       `´\9atf
+("´v\87ddr: %x\n", 
+´iv©e_add»ss
+);
+
+754 ià(
+d\9ceùiÚ
+ =ð
+PUBLIC
+) {
+
+760 \19
+p\9d\96\9ae_cgDZ_\92\8cy_key
+d©a_chªÃl_key
+;
+
+761 
+d©a_chªÃl_key
+.
+\9d
+ = 
+´iv©e_add»ss
+;
+
+762 
+d©a_chªÃl_key
+.
+pÜt
+ = 
+´iv©e_pÜt_numb\94
+;
+
+763 
+d©a_chªÃl_key
+.
+pid
+ = 0xffff;
+
+766 
+cgÇt_úxn_\8cack\94
+->
+hash_\8fbË_\92\8c\9bs
+[
+ù_pos\99
+].
+
+767 
+£rv\94_d\9ceùiÚ
+ = 
+SERVER_IN_PRIVATE
+;
+
+768 
+cgÇt_úxn_\8cack\94
+->
+hash_\8fbË_\92\8c\9bs
+[
+ù_pos\99
+].
+
+769 
+áp_£ssiÚ_ty³
+= 0;
+
+772 #ifdeà
+ALGDBG
+
+
+773 
+       `´\9atf
+("<--Seq_cli:%4d, Ack_cli%4d, Len:%4d\n",
+
+774 
+       `¹e_bsw­32
+(
+thdr
+->
+£Á_£q
+),
+
+775 
+       `¹e_bsw­32
+(
+thdr
+->
+»cv_ack
+),
+
+776 (
+\9d_hdr
+->
+tÙ®_Ëngth
+ -
+
+777 (((
+thdr
+->
+d©a_off
+ & 0xf0) >> 2)) - 20));
+
+779 
+       `pÝuÏ\8b_áp_®g_\92\8cy
+(
+´iv©e_add»ss
+, 
+´iv©e_pÜt_numb\94
+);
+
+780 } \vià(
+d\9ceùiÚ
+ =ð
+PRIVATE
+) {
+
+786 \19
+p\9d\96\9ae_cgDZ_\92\8cy_key
+d©a_chªÃl_key
+;
+
+787 
+´iv©e_add»ss
+ = 
+       `¹e_bsw­32
+(private_address);
+
+788 
+d©a_chªÃl_key
+.
+\9d
+ = 
+´iv©e_add»ss
+;
+
+789 
+d©a_chªÃl_key
+.
+pÜt
+ = 
+´iv©e_pÜt_numb\94
+;
+
+791 
+d©a_chªÃl_key
+.
+pid
+ = 
+pkt
+->
+pÜt
+;
+
+800 #ifdeà
+FTP_ALG
+
+
+801 ià(
+       `add_dyÇmic_cgDZ_\92\8cy_®g
+((\19
+p\9d\96\9ae
+ *)
+
+802 
+p_Çt
+, &
+d©a_chªÃl_key
+, &
+eg»ss_\92\8cy
+,
+
+803 &
+\9ag»ss_\92\8cy
+) == 0){
+
+805 #ifdeà
+ALGDBG
+
+
+806 
+       `´\9atf
+("Wrong FTP ALG\85acket\n");
+
+809 
+p_Çt
+->
+DZDrݳdPktCouÁ
+++;
+
+811 #ifdeà
+CGNAPT_DEBUGGING
+
+
+812 
+p_Çt
+->
+DZDrݳdPktCouÁ4
+++;
+
+818 
+tmp_tý_·ylod_size
+ = 
+       `¹e_bsw­16
+(
+\9d_hdr
+->
+tÙ®_Ëngth
+) -
+
+819 ((
+thdr
+->
+d©a_off
+ & 0xf0) >> 2) -
+
+820 
+\9d_hdr_size_by\8bs
+;
+
+821 
+cgÇt_úxn_\8cack\94
+->
+hash_\8fbË_\92\8c\9bs
+[
+ù_pos\99
+].
+
+822 
+tý_·ylßd_size
+ = 
+tmp_tý_·ylod_size
+;
+
+825 
+       `pÝuÏ\8b_áp_®g_\92\8cy
+(
+eg»ss_\92\8cy
+->
+d©a
+.
+pub_\9d
+,
+
+826 
+eg»ss_\92\8cy
+->
+d©a
+.
+pub_pÜt
+);
+
+828 
+Ãw_pÜt_¡r\9ag_Ëngth
+ = 
+       `áp_®g_modify_·ylßd
+(
+eg»ss_\92\8cy
+,
+
+829 
+pÜt_¡r\9ag
+,
+
+830 
+pÜt_¡r\9ag_\8cª¦©ed
+, 0);
+
+831 
+       `¡ºýy
+(
+tý_h\97d\94_\92d
+, 
+pÜt_¡r\9ag_\8cª¦©ed
+,
+
+832 
+       `¡¾\92
+(
+pÜt_¡r\9ag_\8cª¦©ed
+));
+
+833 
+týSeqdiff
+ = 
+       `áp_®g_d\96\8f_tý_£qu\92û
+pkt
+, 
+pÜt_¡r\9ag
+,
+
+834 
+cgÇt_úxn_\8cack\94
+->
+hash_\8fbË_\92\8c\9bs
+
+
+835 [
+ù_pos\99
+].
+týSeqdiff
+,
+
+836 
+Þd_pÜt_¡r\9ag_Ëngth
+,
+
+837 
+Ãw_pÜt_¡r\9ag_Ëngth
+);
+
+839 
+       `áp_®g_modify_pkt_Ën
+(
+pkt
+);
+
+848 
+cgÇt_úxn_\8cack\94
+->
+hash_\8fbË_\92\8c\9bs
+[
+ù_pos\99
+].
+
+849 
+®g_by·ss_æag
+ = 
+NO_BYPASS
+;
+
+850 
+cgÇt_úxn_\8cack\94
+->
+hash_\8fbË_\92\8c\9bs
+[
+ù_pos\99
+].
+
+851 
+týSeqdiff
+ =\81cpSeqdiff;
+
+852 
+cgÇt_úxn_\8cack\94
+->
+hash_\8fbË_\92\8c\9bs
+[
+ù_pos\99
+].
+
+853 
+£rv\94_d\9ceùiÚ
+ = 
+SERVER_IN_PUBLIC
+;
+
+854 
+cgÇt_úxn_\8cack\94
+->
+hash_\8fbË_\92\8c\9bs
+[
+ù_pos\99
+].
+
+855 
+áp_£ssiÚ_ty³
+ = 0;
+
+857 #ifdeà
+ALGDBG
+
+
+858 
+       `´\9atf
+("<--Seq_cli:%4d, Ack_cli%4d, Len:%4d\n",
+
+859 
+       `¹e_bsw­32
+(
+thdr
+->
+£Á_£q
+),
+
+860 
+       `¹e_bsw­32
+(
+thdr
+->
+»cv_ack
+),
+
+861 (
+\9d_hdr
+->
+tÙ®_Ëngth
+ -
+
+862 (((
+thdr
+->
+d©a_off
+ & 0xf0) >> 2)) - 20));
+
+869 ià((
+ackAdju¡
+=
+cgÇt_úxn_\8cack\94
+->
+hash_\8fbË_\92\8c\9bs
+[
+
+870 
+ù_pos\99
+].
+týSeqdiff
+) != 0) {
+
+871 ià(
+d\9ceùiÚ
+ =ð
+PRIVATE
+) {
+
+873 
+cgÇt_úxn_\8cack\94
+->
+hash_\8fbË_\92\8c\9bs
+
+
+874 [
+ù_pos\99
+].
+£q_þ\9bÁ
+ !=
+
+875 
+cgÇt_úxn_\8cack\94
+->
+hash_\8fbË_\92\8c\9bs
+
+
+876 [
+ù_pos\99
+].
+ack_£rv\94
+) {
+
+877 \18\12
+Seqh\99s
+;
+
+878 
+       `áp_®g_adju¡_tý_£q
+pkt
+,
+ackAdju¡
+);
+
+879 
+tmp_tý_·ylod_size
+ = 
+       `¹e_bsw­16
+(
+
+880 
+\9d_hdr
+->
+tÙ®_Ëngth
+) -
+
+881 ((
+thdr
+->
+d©a_off
+ & 0xf0) >> 2) -
+
+882 
+\9d_hdr_size_by\8bs
+;
+
+883 
+cgÇt_úxn_\8cack\94
+->
+hash_\8fbË_\92\8c\9bs
+
+
+884 [
+ù_pos\99
+].
+tý_·ylßd_size
+ = 
+tmp_tý_·ylod_size
+;
+
+885 #ifdeà
+ALGDBG
+
+
+886 
+       `´\9atf
+("<--Seq_cli:%4d, Ack_cli%4d, Len:%4d\n",
+
+887 
+       `¹e_bsw­32
+(
+thdr
+->
+£Á_£q
+),
+
+888 
+       `¹e_bsw­32
+(
+thdr
+->
+»cv_ack
+),
+
+889 (
+\9d_hdr
+->
+tÙ®_Ëngth
+ -(((
+thdr
+->
+d©a_off
+ & 0xf0) >> 2))- 20));
+
+893 ià(
+cgÇt_úxn_\8cack\94
+->
+hash_\8fbË_\92\8c\9bs
+
+
+894 [
+ù_pos\99
+].
+ack_£rv\94
+ !=
+
+895 (
+cgÇt_úxn_\8cack\94
+->
+hash_\8fbË_\92\8c\9bs
+
+
+896 [
+ù_pos\99
+].
+£q_þ\9bÁ
+ +
+
+897 
+cgÇt_úxn_\8cack\94
+->
+hash_\8fbË_\92\8c\9bs
+
+
+898 [
+ù_pos\99
+].
+tý_·ylßd_size
+)) {
+
+899 \18\12
+Ackh\99s
+;
+
+900 
+       `áp_®g_adju¡_tý_ack
+pkt
+,
+ackAdju¡
+);
+
+901 #ifdeà
+ALGDBG
+
+
+902 
+       `´\9atf
+("<--Seq_cli:%4d, Ack_cli%4d, Len:%4d\n",
+
+903 
+       `¹e_bsw­32
+(
+thdr
+->
+£Á_£q
+),
+
+904 
+       `¹e_bsw­32
+(
+thdr
+->
+»cv_ack
+),
+
+905 (
+\9d_hdr
+->
+tÙ®_Ëngth
+ -(((
+thdr
+->
+d©a_off
+ & 0xf0) >> 2))- 20));
+
+914 #ifdeà
+ALGDBG
+
+
+915 
+       `´\9atf
+("In Data Channel \n");
+
+917 
+       `»move_áp_®g_\92\8cy
+ (
+d¡_addr
+,
+d¡_pÜt
+);
+
+918 
+cgÇt_úxn_\8cack\94
+->
+hash_\8fbË_\92\8c\9bs
+[
+ù_pos\99
+].
+®g_by·ss_æag
+ = 
+BYPASS
+;
+
+920 
+       }
+}
+
+       @VIL/alg/lib_ftp_alg.h
+
+16 #iâdeà
+__INCLUDE_LIB_FTP_ALG_H__
+
+
+17 \ 1
+       #__INCLUDE_LIB_FTP_ALG_H__
+
+
+       )
+
+18 \ 2
+       ~"¹e_\91h\94.h
+"
+
+19 \ 2
+       ~"¹e_ù_tý.h
+"
+
+21 \ 1
+       #META_DATA_OFFSET
+ 128
+
+       )
+
+22 \ 1
+       #ETHERNET_START
+ (
+META_DATA_OFFSET
+ + 
+RTE_PKTMBUF_HEADROOM
+)
+
+       )
+
+23 \ 1
+       #ETH_HDR_SIZE
+ 14
+
+       )
+
+24 \ 1
+       #IP_START
+ (
+ETHERNET_START
+ + 
+ETH_HDR_SIZE
+)
+
+       )
+
+25 \ 1
+       #PROTOCOL_START
+ (
+IP_START
+ + 9)
+
+       )
+
+26 \ 1
+       #TCP_START
+ (
+IP_START
+ + 
+IP_V4_HEADER_SIZE
+)
+
+       )
+
+27 \ 1
+       #TCP_MIN_HDR_SIZE
+ 20
+
+       )
+
+29 \ 1
+       #RTE_TCP_PROTO_ID
+ 6
+
+       )
+
+30 \ 1
+       #RTE_SP_DEFAULT_TTL
+ 64
+
+       )
+
+32 \ 1
+       #RTE_SYNPROXY_MAX_SPOOFED_PKTS
+ 64
+
+       )
+
+34 \ 1
+       #RTE_TCP_SYN
+ 0x02
+
+       )
+
+35 \ 1
+       #RTE_TCP_ACK
+ 0x10
+
+       )
+
+36 \ 1
+       #RTE_TCP_SYN_ACK
+ (
+RTE_TCP_SYN
+ | 
+RTE_TCP_ACK
+)
+
+       )
+
+37 \ 1
+       #IP_VERSION_4
+ 4
+
+       )
+
+38 \ 1
+       #IP_VERSION_6
+ 6
+
+       )
+
+39 \ 1
+       #IPv4_HEADER_SIZE
+ 20
+
+       )
+
+40 \ 1
+       #IPv6_HEADER_SIZE
+ 40
+
+       )
+
+44 \f
+       eáp_®g_by·ss
+ {
+
+45 
+       mNO_BYPASS
+,
+
+46 
+       mBYPASS
+
+
+49 \f
+       eáp_®g_mode
+ {
+
+50 
+       mFTP_ALG_PORT
+,
+
+51 
+       mFTP_ALG_PASV
+
+
+53 \f
+       eáp_®g_d\9ceùiÚ
+ {
+
+54 
+       mSERVER_IN_PRIVATE
+,
+
+55 
+       mSERVER_IN_PUBLIC
+
+
+57 \f
+       ephy_pÜt
+ {
+
+58 
+       mPRIVATE_PORT
+,
+
+59 
+       mPUBLIC_PORT
+
+
+62 \19
+       sáp_®g_key
+ {
+
+63 
+u\9at32_t
+       m\9d_add»ss
+;
+
+64 
+u\9at16_t
+       ml4pÜt
+;
+
+65 
+u\9at8_t
+       mf\9eËr1
+;
+
+66 
+u\9at8_t
+       mf\9eËr2
+;
+
+68 \19
+       sáp_®g_\8fbË_\92\8cy
+ {
+
+69 
+u\9at32_t
+       m\9d_add»ss
+;
+
+70 
+u\9at16_t
+       ml4pÜt
+;
+
+71 
+u\9at8_t
+       máp_®g_mode
+;
+
+72 
+u\9at8_t
+       máp_®g_d\9ceùiÚ
+;
+
+73 
+u\9at32_t
+       m£ssiÚ_id
+;
+
+74 
+u\9at8_t
+       m®g_by·ss_æag
+;
+
+75 
+u\9at8_t
+       mdummy
+;
+
+76 
+u\9at8_t
+       mdummy1
+;
+
+78 } 
+       g__¹e_ÿche_®igÃd
+;
+
+80 \ 1
+       #FTP_SERVER_PORT
+ 21
+
+       )
+
+81 \ 1
+       #FTP_PORT_STRING
+ "PORT"
+
+       )
+
+82 \ 1
+       #FTP_PORT_PARAMETER_STRING
+ "PORT %hu,%hu,%hu,%hu,%hu,%hu\r\n"
+
+       )
+
+83 \ 1
+       #FTP_PORT_PARAMETER_COUNT
+ 6
+
+       )
+
+84 \ 1
+       #FTP_PORT_RESPONSE_STRING
+ "200 PORT commªd sucûssful.\r\n"
+
+       )
+
+85 \ 1
+       #FTP_PORT_STRING_END_MARKER
+ '\n'
+
+       )
+
+86 \ 1
+       #FTP_MAXIMUM_PORT_STRING_LENGTH
+ 60
+
+       )
+
+87 \ 1
+       #FTP_PASV_STRING
+ "PASV"
+
+       )
+
+88 \ 1
+       #FTP_PASV_PARAMETER_STRING
+ "%d EÁ\94\9ag Passiv\90Mod\90(%hu,%hu,%hu,%hu,%hu,%hu)\r\n"
+
+       )
+
+89 \ 1
+       #FTP_PASV_PARAMETER_COUNT
+ 7
+
+       )
+
+90 \ 1
+       #FTP_PASV_STRING_END_MARKER
+ '\n'
+
+       )
+
+91 \ 1
+       #FTP_PASV_RETURN_CODE
+ 227
+
+       )
+
+93 \1e
+áp_®g_dpi
+(
+
+94 \19
+p\9d\96\9ae_cgDZ
+ *
+p_Çt
+,
+
+95 \19
+p\9d\96\9ae_cgDZ_\92\8cy_key
+ *
+Çt_\92\8cy_key
+,
+
+96 \19
+¹e_mbuf
+ *
+pkt
+,
+
+97 \19
+¹e_ù_úxn_\8cack\94
+ *
+cgÇt_úxn_\8cack\94
+,
+
+98 
+\9at32_t
+ù_pos\99
+,
+
+99 
+u\9at8_t
+d\9ceùiÚ
+);
+
+100 \1e
+lib_áp_®g_\9a\99
+(\1e);
+
+101 \r
+\9at8_t
+¹e_ù_\9dv\94siÚ
+(\1e*
+i_hdr
+);
+
+       @VIL/alg/lib_sip_alg.c
+
+17 \ 2
+       ~<¡dio.h
+>
+
+18 \ 2
+       ~<¡dlib.h
+>
+
+19 \ 2
+       ~<¡d\9at.h
+>
+
+20 \ 2
+       ~<¡r\9ag.h
+>
+
+21 \ 2
+       ~<uni¡d.h
+>
+
+22 \ 2
+       ~<¬·/\9a\91.h
+>
+
+23 \ 2
+       ~<m©h.h
+>
+
+25 \ 2
+       ~<­p.h
+>
+
+26 \ 2
+       ~<¹e_commÚ.h
+>
+
+27 \ 2
+       ~<¹e_m®loc.h
+>
+
+28 \ 2
+       ~<¹e_\9d.h
+>
+
+29 \ 2
+       ~<¹e_udp.h
+>
+
+30 \ 2
+       ~<¹e_by\8bÜd\94.h
+>
+
+31 \ 2
+       ~<¹e_\8fbË_Ím.h
+>
+
+32 \ 2
+       ~<¹e_\8fbË_hash.h
+>
+
+33 \ 2
+       ~<¹e_p\9d\96\9ae.h
+>
+
+34 \ 2
+       ~<¹e_¬p.h
+>
+
+35 \ 2
+       ~<¹e_icmp.h
+>
+
+36 \ 2
+       ~<¹e_hash.h
+>
+
+37 \ 2
+       ~<¹e_jhash.h
+>
+
+38 \ 2
+       ~<¹e_cyþes.h
+>
+
+40 \ 2
+       ~"p\9d\96\9ae_aùiÚs_commÚ.h
+"
+
+41 \ 2
+       ~"hash_func.h
+"
+
+42 \ 2
+       ~"lib_s\9d_®g.h
+"
+
+43 \ 2
+       ~"vnf_commÚ.h
+"
+
+44 \ 2
+       ~"p\9d\96\9ae_commÚ_be.h
+"
+
+46 \ 1
+       #SIP_ALG_SIP
+ "SIP"
+
+       )
+
+47 \ 1
+       #SIP_ALG_200_OK
+ "200 OK"
+
+       )
+
+48 \ 1
+       #SIP_ALG_INVITE
+ "INVITE"
+
+       )
+
+49 \ 1
+       #SIP_ALG_BYE
+ "BYE"
+
+       )
+
+50 \ 1
+       #SIP_ALG_TRYING
+ "100 Try\9ag"
+
+       )
+
+51 \ 1
+       #SIP_ALG_RINGING
+ "180 R\9ag\9ag"
+
+       )
+
+52 \ 1
+       #SIP_ALG_ACK
+ "ACK"
+
+       )
+
+53 \ 1
+       #SIP_ALG_CONTACT
+ "CÚ\8fù"
+
+       )
+
+54 \ 1
+       #SIP_ALG_CONTENT_LEN
+ "CÚ\8bÁ-L\92gth"
+
+       )
+
+55 \ 1
+       #SIP_ALG_VIA
+ "V\9f"
+
+       )
+
+56 \ 1
+       #SIP_ALG_FROM
+ "From"
+
+       )
+
+57 \ 1
+       #SIP_ALG_TO
+ "To"
+
+       )
+
+58 \ 1
+       #SIP_ALG_CALLID
+ "C®l-ID"
+
+       )
+
+59 \ 1
+       #SIP_ALG_RTP
+ "RTP"
+
+       )
+
+60 \ 1
+       #SIP_ALG_RTCP
+ "a=RTCP"
+
+       )
+
+61 \ 1
+       #SIP_ALG_CANCEL
+ "CANCEL"
+
+       )
+
+62 \ 1
+       #SIP_ALG_CONTYPE
+ "CÚ\8bÁ-Ty³"
+
+       )
+
+63 \ 1
+       #SIP_ALG_APPSDP
+ "­¶iÿtiÚ/sdp"
+
+       )
+
+64 \ 1
+       #SIP_ALG_CSEQ
+ "CSeq"
+
+       )
+
+65 \ 1
+       #SIP_ALG_AUDIO
+ "m÷udio"
+
+       )
+
+66 \ 1
+       #SIP_ALG_DOUBLE_CRLF
+ "\r\n\r\n"
+
+       )
+
+67 \ 1
+       #SIP_ALG_CRLF
+ "\r\n"
+
+       )
+
+68 \ 1
+       #SIP_ALG_AT
+ "@"
+
+       )
+
+69 \ 1
+       #SIP_ALG_GREAT
+ ">"
+
+       )
+
+70 \ 1
+       #SIP_ALG_OWNER
+ "o="
+
+       )
+
+71 \ 1
+       #SIP_ALG_IPV4
+ "IP4"
+
+       )
+
+72 \ 1
+       #SIP_ALG_CONN
+ "c="
+
+       )
+
+73 \ 1
+       #SIP_ALG_REMOTE_PARTY_ID
+ "RemÙe-P¬ty-ID"
+
+       )
+
+74 \ 1
+       #SIP_ALG_SPACE
+ " "
+
+       )
+
+75 \ 1
+       #SIP_ALG_SEMICOLON
+ ";"
+
+       )
+
+77 \ 1
+       #SIP_DEFAULT_L4PORT
+ 5060
+
+       )
+
+79 \ 1
+       #SIP_ALG_INVITE_MSGTYPE
+ 1
+
+       )
+
+80 \ 1
+       #SIP_ALG_BYE_MSGTYPE
+ 2
+
+       )
+
+81 \ 1
+       #SIP_ALG_200_OK_INVITE_MSGTYPE
+ 3
+
+       )
+
+82 \ 1
+       #SIP_ALG_200_OK_BYE_MSGTYPE
+ 4
+
+       )
+
+83 \ 1
+       #SIP_ALG_TRYING_RINGING_MSGTYPE
+ 5
+
+       )
+
+84 \ 1
+       #SIP_ALG_ACK_MSGTYPE
+ 6
+
+       )
+
+86 \ 1
+       #MAX_NUM_SIP_ALG_ENTRIES
+ 16384
+
+       )
+
+88 \ 1
+       #SIP_ALG_VIA_FIELD_IPADDR
+ 14
+
+       )
+
+89 \ 1
+       #SIP_ALG_CTAC_FIELD_IPADDR
+ 7
+
+       )
+
+91 \ 1
+       #ADDRESS_PORT_STRING
+ 1
+
+       )
+
+92 \ 1
+       #PORT_STRING
+ 2
+
+       )
+
+94 \ 1
+       #MAX_ADDR_PORT_SIZE
+ 30
+
+       )
+
+95 \ 1
+       #MAX_ADDR_SIZE
+ 20
+
+       )
+
+96 \ 1
+       #MAX_PORT_SIZE
+ 10
+
+       )
+
+97 \ 1
+       #MAX_SIP_UDP_MSG_SIZE
+ 2000
+
+       )
+
+99 \ 1
+       #ALG_DEBUG
+ 0
+
+       )
+
+101 \92um { 
+       mFALSE
+, 
+       mTRUE
+ };
+
+103 \19
+¹e_mempoÞ
+ *
+       glib_®g_pktmbuf_tx_poÞ
+;
+
+105 \19
+¹e_mbuf
+ *
+       glib_®g_pkt
+;
+
+107 \18\19
+¹e_hash_·¿m\91\94s
+       gs\9d_®g_hash_·¿ms
+ = {
+
+108 .
+Çme
+ = 
+NULL
+,
+
+109 .
+       g\92\8c\9bs
+ = 
+MAX_NUM_SIP_ALG_ENTRIES
+,
+
+110 .
+       g»£rved
+ = 0,
+
+111 .
+       gkey_Ën
+ = \17(\19
+s\9d_®g_key
+),
+
+112 .
+       ghash_func
+ = 
+¹e_jhash
+,
+
+113 .
+       ghash_func_\9a\99_v®
+ = 0,
+
+114 .
+       gex\8ca_æag
+ = 1,
+
+117 \19
+¹e_hash
+ *
+       gs\9d_®g_hash_\8f
+;
+
+119 \19
+s\9d_®g_\8fbË_\92\8cy
+ *
+       gs\9d_®g_\8f
+[
+MAX_NUM_SIP_ALG_ENTRIES
+];
+
+121 \ 5*
+s\9d_®g_´oûss
+(\19
+¹e_mbuf
+ *
+pkt
+,
+
+122 
+u\9at16_t
+pkt_d\9ceùiÚ
+, u\9at16_\88
+ÿÎ_d\9ceùiÚ
+,
+
+123 
+u\9at16_t
+msgTy³
+, 
+u\9at32_t
+modIp
+,
+
+124 
+u\9at16_t
+modL4PÜt
+, 
+u\9at32_t
+pubIp
+,
+
+125 
+u\9at16_t
+pubL4PÜt
+, u\9at16_\88
+modR\8dPÜt
+,
+
+126 
+u\9at16_t
+modRtýPÜt
+, u\9at16_\88*
+diffModS\9dL\92
+);
+
+127 \ 5*
+g\91S\9dC®lIdS\8c
+(\ 5*
+pMsg
+);
+
+128 \ 5*
+ÇtS\9dAlgModifyPaylßdAddrPÜt
+(\ 5*
+pS\9dMsg
+, \ 5**
+pS\9dMsgEnd
+,
+
+129 
+u\9at32_t
+ÞdS\8cL\92
+, u\9at32_\88*
+diffL\92
+,
+
+130 
+u\9at32_t
+pub_\9d
+, 
+u\9at16_t
+pub_pÜt
+,
+
+131 
+u\9at32_t
+ty³
+);
+
+132 \ 5*
+ÇtS\9dAlgAdju¡Msg
+(\ 5*
+pS\9dMsg
+, \ 5**
+pS\9dMsgEnd
+,
+
+133 
+u\9at32_t
+ÃwS\8cL\92
+, u\9at32_\88
+ÞdS\8cL\92
+);
+
+137 \1e
+       $lib_s\9d_®g_\9a\99
+(\1e)
+
+139 \ 5*
+s
+ = 
+       `¹e_zm®loc
+(
+NULL
+, 64, 
+RTE_CACHE_LINE_SIZE
+);;
+
+140 \12
+sock\91id
+ = 0;
+
+142 if(!
+s
+){
+
+143 
+       `´\9atf
+("NAT SIP ALG Init failed\n");
+
+146 
+       `¢´\9atf
+(
+s
+, 
+       `¡¾\92
+(s), "\9dv4_s\9d_®g_hash_%d", 
+sock\91id
+);
+
+147 
+       `´\9atf
+("NAT SIP ALG initialization ...\n");
+
+150 
+s\9d_®g_hash_·¿ms
+.
+sock\91_id
+ = 
+SOCKET_ID_ANY
+;
+
+151 
+s\9d_®g_hash_·¿ms
+.
+Çme
+ = 
+s
+;
+
+152 
+s\9d_®g_hash_\8f
+ = 
+       `¹e_hash_ü\97\8b
+(&
+s\9d_®g_hash_·¿ms
+);
+
+154 ià(
+s\9d_®g_hash_\8f
+ =ð
+NULL
+) {
+
+155 
+       `´\9atf
+("SIP ALG\84te_hash_create failed. socket %d ...\n",
+
+156 
+s\9d_®g_hash_·¿ms
+.
+sock\91_id
+);
+
+157 
+       `¹e_ex\99
+(0, "SIP ALG\84te_hash_create failed");
+
+159 
+       `´\9atf
+("s\9d_®g_hash_\8fbË %p\n\n", (\1e*)
+s\9d_®g_hash_\8f
+);
+
+162 
+       }
+}
+
+164 \ 5*
+\99ß
+(\13
+n
+);
+
+165 \ 5*
+       $\99ß
+(\13
+n
+)
+
+167 \12
+Ën
+ = 
+n
+ =ð0 ? 1 : 
+       `æoÜ
+(
+       `log10l
+(
+       `Ïbs
+(n))) + 1;
+
+169 ià(
+n
+ < 0)
+
+170 
+Ën
+++;
+
+172 \ 5*
+buf
+ = 
+       `ÿÎoc
+(\17(\ 5), 
+Ën
+ + 1);
+
+173 if(
+buf
+ !ð
+NULL
+)
+
+174 
+       `¢´\9atf
+(
+buf
+, 
+Ën
+ + 1, "%ld", 
+n
+);
+
+175 \15 
+buf
+;
+
+176 
+       }
+}
+
+178 \19
+s\9d_®g_\8fbË_\92\8cy
+ *
\8c\9bve_s\9d_®g_\92\8cy
+(
+
+179 \19
+s\9d_®g_key
+ *
+®g_key
+);
+
+181 \19
+s\9d_®g_\8fbË_\92\8cy
+ *
+       $»\8c\9bve_s\9d_®g_\92\8cy
+(
+
+182 \19
+s\9d_®g_key
+ *
+®g_key
+)
+
+184 \19
+s\9d_®g_\8fbË_\92\8cy
+ *
+s\9d_®g_d©a
+ = 
+NULL
+;
+
+186 \12
+»t
+ = 
+       `¹e_hash_lookup
+(
+s\9d_®g_hash_\8f
+, 
+®g_key
+);
+
+188 ià(
+»t
+ < 0) {
+
+189 #ifdeà
+ALGDBG
+
+
+190 
+       `´\9atf
+("alg-hash\86ookup failed\84et %d, "
+
+192 
+»t
+, 
+EINVAL
+, 
+ENOENT
+);
+
+195 
+s\9d_®g_d©a
+ = 
+s\9d_®g_\8f
+[
+»t
+];
+
+196 \15 
+s\9d_®g_d©a
+;
+
+199 \15 
+NULL
+;
+
+200 
+       }
+}
+
+203 \12
+       $»move_s\9d_®g_\92\8cy
+(
+u\9at32_t
+\9daddr
+, 
+u\9at16_t
+pÜtid
+)
+
+205 \19
+s\9d_®g_key
+®g_key
+;
+
+206 \1e*
+s\9d_®g_\92\8cy_d©a
+;
+
+207 \12
+»t
+;
+
+209 
+®g_key
+.
+l4pÜt
+ = 
+pÜtid
+;
+
+210 
+®g_key
+.
+\9d_add»ss
+ = 
+\9daddr
+;
+
+211 
+®g_key
+.
+f\9eËr1
+ = 0;
+
+212 
+®g_key
+.
+f\9eËr2
+ = 0;
+
+214 ià(
+ALG_DEBUG
+)
+
+215 
+       `´\9atf
+("»move_s\9d_\92\8cy i°%x,\85Ü\88%d\n", 
+®g_key
+.
+\9d_add»ss
+,
+
+216 
+®g_key
+.
+l4pÜt
+);
+
+218 
+»t
+ = 
+       `¹e_hash_lookup
+(
+s\9d_®g_hash_\8f
+, &
+®g_key
+);
+
+219 ià(
+»t
+ < 0) {
+
+220 ià(
+ALG_DEBUG
+)
+
+221 
+       `´\9atf
+("removesipalgentry: "
+
+223 
+»t
+);
+
+227 
+s\9d_®g_\92\8cy_d©a
+ = 
+s\9d_®g_\8f
+[
+»t
+];
+
+229 
+       `ä\93
+(
+s\9d_®g_\92\8cy_d©a
+);
+
+230 
+       `¹e_hash_d\96_key
+(
+s\9d_®g_hash_\8f
+, &
+®g_key
+);
+
+233 
+       }
+}
+
+239 \12
+pÝuÏ\8b_s\9d_®g_\92\8cy
+(
+u\9at32_t
+\9daddr
+, 
+u\9at16_t
+pÜtid
+,
+
+240 \ 5*
+s\9d_ÿÎ_id
+, 
+u\9at8_t
+ÿÎ_d\9ceùiÚ
+,
+
+241 \f
+s\9d_®g_pÜt_ty³
+pÜt_ty³
+);
+
+242 \12
+       $pÝuÏ\8b_s\9d_®g_\92\8cy
+(
+u\9at32_t
+\9daddr
+, 
+u\9at16_t
+pÜtid
+,
+
+243 \ 5*
+s\9d_ÿÎ_id
+, 
+u\9at8_t
+ÿÎ_d\9ceùiÚ
+,
+
+244 \f
+s\9d_®g_pÜt_ty³
+pÜt_ty³
+)
+
+246 \19
+s\9d_®g_key
+®g_key
+;
+
+248 
+®g_key
+.
+l4pÜt
+ = 
+pÜtid
+;
+
+249 
+®g_key
+.
+\9d_add»ss
+ = 
+\9daddr
+;
+
+250 
+®g_key
+.
+f\9eËr1
+ = 0;
+
+251 
+®g_key
+.
+f\9eËr2
+ = 0;
+
+252 \12
+»t
+;
+
+254 ià(
+ALG_DEBUG
+)
+
+255 
+       `´\9atf
+("populate_sip_alg_entry\85ort %d, ip %x\n",
+
+256 
+®g_key
+.
+l4pÜt
+,\87lg_key.
+\9d_add»ss
+);
+
+258 \19
+s\9d_®g_\8fbË_\92\8cy
+ *
+Ãw_®g_d©a
+ =
+
+259 
+       `»\8c\9bve_s\9d_®g_\92\8cy
+(&
+®g_key
+);
+
+261 ià(
+Ãw_®g_d©a
+) {
+
+262 ià(
+ALG_DEBUG
+)
+
+263 
+       `´\9atf
+("sip_alg_entry\83xists ip%x,\85ort %d\n",
+
+264 
+®g_key
+.
+\9d_add»ss
+,\87lg_key.
+l4pÜt
+);
+
+268 
+Ãw_®g_d©a
+ = 
+NULL
+;
+
+269 
+Ãw_®g_d©a
+ = (\19
+s\9d_®g_\8fbË_\92\8cy
+ *)
+
+270 
+       `m®loc
+(\17(\19
+s\9d_®g_\8fbË_\92\8cy
+));
+
+271 ià(
+Ãw_®g_d©a
+ =ð
+NULL
+) {
+
+272 
+       `´\9atf
+("populate sip\87lg\83ntry:\87llocation failed\n");
+
+276 
+Ãw_®g_d©a
+->
+l4pÜt
+ = 
+pÜtid
+;
+
+277 
+Ãw_®g_d©a
+->
+\9d_add»ss
+ = 
+\9daddr
+;
+
+278 
+Ãw_®g_d©a
+->
+l4pÜt_ty³
+ = 
+pÜt_ty³
+;
+
+279 
+Ãw_®g_d©a
+->
+s\9d_®g_ÿÎ_d\9ceùiÚ
+ = 
+ÿÎ_d\9ceùiÚ
+;
+
+280 
+       `¡rýy
+((\ 5*)
+Ãw_®g_d©a
+->
+s\9d_®g_ÿÎ_id
+, (\ 5*)
+s\9d_ÿÎ_id
+);
+
+281 
+Ãw_®g_d©a
+->
+f\9eËr1
+ = 0;
+
+282 
+Ãw_®g_d©a
+->
+f\9eËr2
+ = 0;
+
+283 
+Ãw_®g_d©a
+->
+f\9eËr3
+ = 0;
+
+285 
+»t
+ = 
+       `¹e_hash_add_key
+(
+s\9d_®g_hash_\8f
+, &
+®g_key
+);
+
+286 ià(
+»t
+ < 0) {
+
+287 
+       `´\9atf
+("pÝuÏ\8b s\9d -\84\8b_hash_add_key_d©¨ERROR %d\n", 
+»t
+);
+
+288 
+       `ä\93
+(
+Ãw_®g_d©a
+);
+
+292 
+s\9d_®g_\8f
+[
+»t
+] = 
+Ãw_®g_d©a
+;
+
+294 ià(
+ALG_DEBUG
+) {
+
+295 
+       `´\9atf
+("SIP_ALG:\81able update - ip=%x on\85ort=%d\84et=%d\n",
+
+296 
+®g_key
+.
+\9d_add»ss
+, 
+pÜtid
+, 
+»t
+);
+
+299 
+       }
+}
+
+301 \12
+       $s\9d_®g_dpi
+(\19
+¹e_mbuf
+ *
+pkt
+, \f
+pkt_d\9c
+pkt_d\9ceùiÚ
+,
+
+302 
+u\9at32_t
+modIp
+, 
+u\9at16_t
+modL4PÜt
+,
+
+303 
+u\9at32_t
+pubIp
+, 
+u\9at16_t
+pubL4PÜt
+,
+
+304 
+u\9at16_t
+modR\8dPÜt
+, u\9at16_\88
+modRtýPÜt
+)
+
+306 
+u\9at16_t
+msgTy³
+ = 0;
+
+307 \f
+s\9d_®g_ÿÎ_d\9ceùiÚ
+ÿÎ_d\9ceùiÚ
+ = 0;
+
+308 
+u\9at32_t
+\9d_add»ss
+ = 0;
+
+309 
+u\9at16_t
+pÜt
+ = 0;
+
+310 \12
+»t
+ = 0;
+
+311 \19
+\9dv4_hdr
+ *
+\9d_h
+;
+
+312 \19
+\91h\94_hdr
+ *
+\91h_h
+ = 
+       `¹e_pktmbuf_mtod
+(
+pkt
+, \19ether_hdr *);
+
+313 \19
+udp_hdr
+ *
+udp_h
+;
+
+314 \ 5*
+pS\9dMsg
+ = 
+NULL
+;
+
+315 \19
+s\9d_®g_\8fbË_\92\8cy
+ *
+s\9d_®g_\92\8cy
+;
+
+316 \ 5*
+s\9d_ÿÎ_id
+ = 
+NULL
+;
+
+317 \12
+pos
+ = 0;
+
+318 \19
+s\9d_®g_key
+®g_key
+;
+
+319 
+u\9at16_t
+diffModS\9dL\92
+ = 0;
+
+321 
+\9d_h
+ = (\19
+\9dv4_hdr
+ *)((\ 5*)
+\91h_h
+ + \17(\19
+\91h\94_hdr
+));
+
+322 
+udp_h
+ = (\19
+udp_hdr
+ *)((\ 5*)
+\9d_h
+ + \17(\19
+\9dv4_hdr
+));
+
+323 
+pS\9dMsg
+ = ((\ 5*)
+udp_h
+ + \17(\19
+udp_hdr
+));
+
+325 ià(
+ALG_DEBUG
+) {
+
+326 
+       `´\9atf
+("%s:\85ack\91\86\92gth(%u), bufã¸Ëngth(%u)\n", 
+__func__
+,
+
+327 
+       `¹e_pktmbuf_pkt_Ën
+(
+pkt
+),\85kt->
+buf_Ën
+);
+
+328 
+       `´\9atf
+("%s:\86a¡ segm\92\88addr(%°%p)\n", 
+__func__
+,
+
+329 
+       `¹e_pktmbuf_Ï¡£g
+(
+pkt
+),\85kt);
+
+330 
+       `´\9atf
+("%s: d©¨Ën(%u, %u)\n", 
+__func__
+, 
+       `¹e_pktmbuf_d©a_Ën
+(
+pkt
+),
+
+331 
+       `¹e_pktmbuf_d©a_Ën
+(
+       `¹e_pktmbuf_Ï¡£g
+(
+pkt
+)));
+
+332 
+       `´\9atf
+("%s: bufã¸addr(%p), d©a_off(%u),\82b_£gs(%u)\n", 
+__func__
+,
+
+333 
+pkt
+->
+buf_addr
+,\85kt->
+d©a_off
+,\85kt->
+nb_£gs
+);
+
+336 ià(
+       `IS_STRING_SAME
+(
+pS\9dMsg
+, 
+SIP_ALG_INVITE
+)) {
+
+338 ià(
+       `ÇtS\9dAlgMsgF\9bldPos
+(
+pS\9dMsg
+, 
+SIP_ALG_CALLID
+, &
+pos
+, 0) ==
+
+339 
+TRUE
+)
+
+340 
+s\9d_ÿÎ_id
+ =
+
+341 
+       `g\91S\9dC®lIdS\8c
+(
+pS\9dMsg
+ + 
+pos
+ +
+
+342 
+       `TAG_TO_DATAPOS
+(
+SIP_ALG_CALLID
+));
+
+344 ià(
+ALG_DEBUG
+)
+
+345 
+       `´\9atf
+("s\9d®gdpi: %d c®Èid %s\n", 
+__LINE__
+,
+
+346 
+s\9d_ÿÎ_id
+);
+
+348 ià(
+pkt_d\9ceùiÚ
+ =ð
+PRIVATE
+) {
+
+349 
+ÿÎ_d\9ceùiÚ
+ = 
+SIP_CALL_OUTGOING
+;
+
+350 
+\9d_add»ss
+ = 
+       `¹e_bsw­32
+(
+\9d_h
+->
+¤c_addr
+);
+
+351 
+pÜt
+ = 
+       `¹e_bsw­16
+(
+udp_h
+->
+¤c_pÜt
+);
+
+352 } \vià(
+pkt_d\9ceùiÚ
+ =ð
+PUBLIC
+) {
+
+353 
+ÿÎ_d\9ceùiÚ
+ = 
+SIP_CALL_INCOMING
+;
+
+354 
+\9d_add»ss
+ = 
+pubIp
+;
+
+355 
+pÜt
+ = 
+pubL4PÜt
+;
+
+358 ià(
+ALG_DEBUG
+)
+
+359 
+       `´\9atf
+("0=>sip_alg_dpi:\85kt_dir(%d), call_dir(%d), "
+
+361 
+pkt_d\9ceùiÚ
+, 
+ÿÎ_d\9ceùiÚ
+, 
+\9d_add»ss
+, 
+pÜt
+);
+
+364 
+»t
+ = 
+       `pÝuÏ\8b_s\9d_®g_\92\8cy
+(
+\9d_add»ss
+, 
+pÜt
+,
+
+365 
+s\9d_ÿÎ_id
+, 
+ÿÎ_d\9ceùiÚ
+,
+
+366 
+SIP_UDP
+);
+
+367 ià(
+»t
+ < 0) {
+
+368 
+       `´\9atf
+("sipalgdpi:populate SIP\87lg UDP\83ntry failed\n");
+
+371 ià(
+modR\8dPÜt
+ != 0) {
+
+372 
+»t
+ = 
+       `pÝuÏ\8b_s\9d_®g_\92\8cy
+(
+\9d_add»ss
+, 
+modR\8dPÜt
+,
+
+373 
+s\9d_ÿÎ_id
+,
+
+374 
+ÿÎ_d\9ceùiÚ
+, 
+SIP_RTP
+);
+
+375 ià(
+»t
+ < 0) {
+
+376 
+       `´\9atf
+("sipalgdpi: "
+
+381 ià(
+modRtýPÜt
+ != 0) {
+
+382 
+»t
+ = 
+       `pÝuÏ\8b_s\9d_®g_\92\8cy
+(
+\9d_add»ss
+, 
+modRtýPÜt
+,
+
+383 
+s\9d_ÿÎ_id
+,
+
+384 
+ÿÎ_d\9ceùiÚ
+, 
+SIP_RTCP
+);
+
+385 ià(
+»t
+ < 0) {
+
+386 
+       `´\9atf
+("sipalgdpi: "
+
+393 
+pS\9dMsg
+ =
+
+394 
+       `s\9d_®g_´oûss
+(
+pkt
+, 
+pkt_d\9ceùiÚ
+, 
+ÿÎ_d\9ceùiÚ
+,
+
+395 
+SIP_ALG_INVITE_MSGTYPE
+, 
+modIp
+, 
+modL4PÜt
+, 0,
+
+396 0, 
+modR\8dPÜt
+, 
+modRtýPÜt
+, &
+diffModS\9dL\92
+);
+
+403 ià(
+pkt_d\9ceùiÚ
+ =ð
+PRIVATE
+) {
+
+404 
+®g_key
+.
+\9d_add»ss
+ = 
+       `¹e_bsw­32
+(
+\9d_h
+->
+¤c_addr
+);
+
+405 
+®g_key
+.
+l4pÜt
+ = 
+       `¹e_bsw­16
+(
+udp_h
+->
+¤c_pÜt
+);
+
+407 
+®g_key
+.
+\9d_add»ss
+ = 
+pubIp
+;
+
+408 
+®g_key
+.
+l4pÜt
+ = 
+pubL4PÜt
+;
+
+411 
+®g_key
+.
+f\9eËr1
+ = 0;
+
+412 
+®g_key
+.
+f\9eËr2
+ = 0;
+
+413 
+s\9d_®g_\92\8cy
+ = 
+       `»\8c\9bve_s\9d_®g_\92\8cy
+(&
+®g_key
+);
+
+415 ià(
+ALG_DEBUG
+) {
+
+416 
+       `´\9atf
+("%s: s\9d_®g_\92\8cy_±r(%p)\n", 
+__func__
+,
+
+417 
+s\9d_®g_\92\8cy
+);
+
+418 
+       `´\9atf
+("1=>%s:\85kt_dir(%d), modIp(%x),modL4Port(%x), "
+
+420 
+__func__
+, 
+pkt_d\9ceùiÚ
+, 
+modIp
+, 
+modL4PÜt
+,
+
+421 
+modR\8dPÜt
+, 
+modRtýPÜt
+, 
+pubIp
+, 
+pubL4PÜt
+);
+
+424 ià(
+s\9d_®g_\92\8cy
+) {
+
+425 
+ÿÎ_d\9ceùiÚ
+ = 
+s\9d_®g_\92\8cy
+->
+s\9d_®g_ÿÎ_d\9ceùiÚ
+;
+
+426 ià(
+       `IS_STRING_SAME
+(
+pS\9dMsg
+, 
+SIP_ALG_BYE
+) ||
+
+427 
+       `IS_STRING_SAME
+(
+pS\9dMsg
+, 
+SIP_ALG_CANCEL
+)) {
+
+428 
+msgTy³
+ = 
+SIP_ALG_BYE_MSGTYPE
+;
+
+430 \10
+s\9dAlgProûss
+;
+
+431 } \vià(
+       `IS_STRING_SAME
+(
+pS\9dMsg
+, 
+SIP_ALG_ACK
+)) {
+
+432 
+msgTy³
+ = 
+SIP_ALG_ACK_MSGTYPE
+;
+
+434 \10
+s\9dAlgProûss
+;
+
+437 
+pS\9dMsg
+ += 8;
+
+439 ià(
+       `IS_STRING_SAME
+(
+pS\9dMsg
+, 
+SIP_ALG_200_OK
+)) {
+
+441 ià(
+ÇtS\9dAlgMsgF\9bldPos
+
+
+442 (
+pS\9dMsg
+, 
+SIP_ALG_CSEQ
+, &
+pos
+, 0è=ð
+TRUE
+) {
+
+443 \ 5*
+pBye
+;
+
+445 
+pBye
+ =
+
+446 
+pS\9dMsg
+ + 
+pos
+ +
+
+447 
+       `TAG_TO_DATAPOS
+(
+SIP_ALG_CSEQ
+);
+
+448 
+       `SKIP_SPACES
+(
+pBye
+);
+
+450 \1f*
+pBye
+ != ' ')
+
+451 
+pBye
+++;
+
+452 
+       `SKIP_SPACES
+(
+pBye
+);
+
+453 ià(
+       `IS_STRING_SAME
+(
+pBye
+, 
+SIP_ALG_BYE
+)
+
+455 (
+IS_STRING_SAME
+
+
+456 (
+pBye
+, 
+SIP_ALG_CANCEL
+)))
+
+457 
+msgTy³
+ =
+
+458 
+SIP_ALG_200_OK_BYE_MSGTYPE
+;
+
+461 
+msgTy³
+ =
+
+462 
+SIP_ALG_200_OK_INVITE_MSGTYPE
+;
+
+464 } \vià(
+       `IS_STRING_SAME
+(
+pS\9dMsg
+, 
+SIP_ALG_TRYING
+) ||
+
+465 
+       `IS_STRING_SAME
+(
+pS\9dMsg
+, 
+SIP_ALG_RINGING
+)) {
+
+466 
+msgTy³
+ = 
+SIP_ALG_TRYING_RINGING_MSGTYPE
+;
+
+469 
+s\9dAlgProûss
+:
+
+470 ià(
+ALG_DEBUG
+)
+
+471 
+       `´\9atf
+("2=>%s:\85kt_dir(%d), call_dir(%d), "
+
+474 
+__func__
+, 
+pkt_d\9ceùiÚ
+, 
+ÿÎ_d\9ceùiÚ
+,
+
+475 
+msgTy³
+, 
+modIp
+, 
+modL4PÜt
+, 
+modR\8dPÜt
+,
+
+476 
+modRtýPÜt
+);
+
+478 
+pS\9dMsg
+ =
+
+479 
+       `s\9d_®g_´oûss
+(
+pkt
+, 
+pkt_d\9ceùiÚ
+, 
+ÿÎ_d\9ceùiÚ
+,
+
+480 
+msgTy³
+, 
+modIp
+, 
+modL4PÜt
+, 
+pubIp
+,
+
+481 
+pubL4PÜt
+, 
+modR\8dPÜt
+, 
+modRtýPÜt
+,
+
+482 &
+diffModS\9dL\92
+);
+
+484 
+pS\9dMsg
+ = 
+NULL
+;
+
+487 ià(
+ALG_DEBUG
+)
+
+488 
+       `´\9atf
+("%s: BefÜ\90IP\81Ù®\86\92gth(%u), ud°Ëngth(%u)\n", 
+__func__
+,
+
+489 
+       `¹e_bsw­16
+(
+\9d_h
+->
+tÙ®_Ëngth
+),\84\8b_bsw­16(
+udp_h
+->
+dg¿m_Ën
+));
+
+494 
+u\9at16_t
+Ën
+ = 0;
+
+495 ià(
+diffModS\9dL\92
+ > 0) {
+
+496 
+Ën
+ = 
+       `¹e_bsw­16
+(
+udp_h
+->
+dg¿m_Ën
+);
+
+497 
+Ën
+ +ð
+diffModS\9dL\92
+;
+
+498 
+udp_h
+->
+dg¿m_Ën
+ = 
+       `¹e_bsw­16
+(
+Ën
+);
+
+500 
+Ën
+ = 
+       `¹e_bsw­16
+(
+\9d_h
+->
+tÙ®_Ëngth
+);
+
+501 
+Ën
+ +ð
+diffModS\9dL\92
+;
+
+502 
+\9d_h
+->
+tÙ®_Ëngth
+ = 
+       `¹e_bsw­16
+(
+Ën
+);
+
+504 ià(
+       `¹e_pktmbuf_­³nd
+(
+pkt
+, 
+diffModS\9dL\92
+è=ð
+NULL
+)
+
+505 
+       `´\9atf
+("%s:\85ktmbuf_­³nd\84\91uº NULL", 
+__func__
+);
+
+509 ià(
+ALG_DEBUG
+)
+
+510 
+       `´\9atf
+("%s: After IP\81otal\86ength(%u), udp\86ength(%u), "
+
+511 "diffModS\9dL\92(%u)\n", 
+__func__
+,
+
+512 
+       `¹e_bsw­16
+(
+\9d_h
+->
+tÙ®_Ëngth
+),
+
+513 
+       `¹e_bsw­16
+(
+udp_h
+->
+dg¿m_Ën
+),
+
+514 
+diffModS\9dL\92
+);
+
+516 ià(
+pS\9dMsg
+ !ð
+NULL
+)
+
+520 
+       }
+}
+
+522 \ 5*
+       $s\9d_®g_´oûss
+(\19
+¹e_mbuf
+ *
+pkt
+, 
+u\9at16_t
+pkt_d\9ceùiÚ
+,
+
+523 
+u\9at16_t
+ÿÎ_d\9ceùiÚ
+, u\9at16_\88
+msgTy³
+, 
+u\9at32_t
+modIp
+,
+
+524 
+u\9at16_t
+modL4PÜt
+, 
+u\9at32_t
+pubIp
+, u\9at16_\88
+pubL4PÜt
+,
+
+525 
+u\9at16_t
+modR\8dPÜt
+, u\9at16_\88
+modRtýPÜt
+,
+
+526 
+u\9at16_t
+ *
+diffModS\9dL\92
+)
+
+528 \19
+\9dv4_hdr
+ *
+\9d_h
+;
+
+529 \19
+\91h\94_hdr
+ *
+\91h_h
+ = 
+       `¹e_pktmbuf_mtod
+(
+pkt
+, \19ether_hdr *);
+
+530 \19
+udp_hdr
+ *
+udp_h
+;
+
+531 \ 5*
+pS\9dMsg
+, *
+pS\8c
+, *
+pEndP\8c
+;
+
+532 \12
+pos
+;
+
+534 
+u\9at32_t
+diffL\92
+, 
+addrPÜtL\92
+;
+
+535 \12
+sdpMsgL\92
+ = 0;
+
+536 \12
+s\9d_msg_Ën
+ = 0;
+
+538 
+\9d_h
+ = (\19
+\9dv4_hdr
+ *)((\ 5*)
+\91h_h
+ + \17(\19
+\91h\94_hdr
+));
+
+539 
+udp_h
+ = (\19
+udp_hdr
+ *)((\ 5*)
+\9d_h
+ + \17(\19
+\9dv4_hdr
+));
+
+540 
+pS\9dMsg
+ = ((\ 5*)
+udp_h
+ + \17(\19
+udp_hdr
+));
+
+541 \ 5*
+pTmpS\9dMsg
+ = 
+pS\9dMsg
+;
+
+542 \ 5*
+pS\8f¹S\9dMsg
+ = 
+pS\9dMsg
+;
+
+544 
+s\9d_msg_Ën
+ =
+
+545 
+       `¹e_bsw­16
+(
+\9d_h
+->
+tÙ®_Ëngth
+è- \17(\19
+\9dv4_hdr
+) -
+
+546 \17(\19
+udp_hdr
+);
+
+548 ià(
+       `ÇtS\9dAlgMsgF\9bldPos
+(
+pTmpS\9dMsg
+, 
+SIP_ALG_CONTENT_LEN
+, &
+pos
+, 0) ==
+
+549 
+TRUE
+)
+
+550 
+pTmpS\9dMsg
+ +ð(
+pos
+ + 
+       `TAG_TO_DATAPOS
+(
+SIP_ALG_CONTENT_LEN
+));
+
+552 
+       `´\9atf
+("sip_alg_process: Invalid Content Length\n");
+
+553 \15 
+NULL
+;
+
+556 
+       `SKIP_SPACES
+(
+pTmpS\9dMsg
+);
+
+557 \12
+sdpD©aL\92
+ = 
+       `¡¹Þ
+(
+pTmpS\9dMsg
+, &
+pS\8c
+, 10);
+
+559 
+       `ÇtS\9dAlgMsgF\9bldPosF\9adC¾f
+(
+pTmpS\9dMsg
+, 
+SIP_ALG_DOUBLE_CRLF
+, &
+pos
+, 0);
+
+560 
+pTmpS\9dMsg
+ +ð(
+pos
+ + 
+       `¡¾\92
+(
+SIP_ALG_DOUBLE_CRLF
+));
+
+562 ià(
+sdpD©aL\92
+ != 0)
+
+563 ià(
+ÇtS\9dAlgMsgF\9bldPos
+
+
+564 (
+pTmpS\9dMsg
+, 
+SIP_ALG_REMOTE_PARTY_ID
+, &
+pos
+, 0è=ð
+TRUE
+) {
+
+565 
+pTmpS\9dMsg
+ +ð
+pos
+ + 
+       `¡¾\92
+(
+SIP_ALG_REMOTE_PARTY_ID
+);
+
+567 
+       `ÇtS\9dAlgMsgF\9bldPosF\9adC¾f
+(
+pTmpS\9dMsg
+,
+
+568 
+SIP_ALG_DOUBLE_CRLF
+, &
+pos
+,
+
+570 
+pTmpS\9dMsg
+ +ð(
+pos
+ + 
+       `¡¾\92
+(
+SIP_ALG_DOUBLE_CRLF
+));
+
+573 \12
+s\9dMsgL\92
+ = (
+pTmpS\9dMsg
+ - 
+pS\9dMsg
+);
+
+575 \ 5*
+pS\9dMsgEnd
+ = 
+pS\9dMsg
+ + 
+s\9dMsgL\92
+ + 
+sdpD©aL\92
+;
+
+577 ià(
+ALG_DEBUG
+)
+
+578 
+       `´\9atf
+("%s:\85SipMsg: %p,\85SipMsgEnd: %p, sipMsgLen: %d, "
+
+580 
+__func__
+, 
+pS\9dMsg
+, 
+pS\9dMsgEnd
+, 
+s\9dMsgL\92
+, 
+sdpD©aL\92
+,
+
+581 
+s\9d_msg_Ën
+);
+
+583 ià(
+ÿÎ_d\9ceùiÚ
+ =ð
+SIP_CALL_OUTGOING
+) {
+
+584 ià((
+msgTy³
+ =ð
+SIP_ALG_INVITE_MSGTYPE
+)
+
+585 || (
+msgTy³
+ =ð
+SIP_ALG_ACK_MSGTYPE
+)) {
+
+587 ià(
+       `ÇtS\9dAlgMsgF\9bldPos
+(
+pS\9dMsg
+, 
+SIP_ALG_VIA
+, &
+pos
+, 0)
+
+588 =ð
+TRUE
+) {
+
+590 
+pS\9dMsg
+ +=
+
+591 (
+pos
+ + 
+       `¡¾\92
+(
+SIP_ALG_VIA
+) +
+
+592 
+SIP_ALG_VIA_FIELD_IPADDR
+);
+
+593 
+pTmpS\9dMsg
+ = 
+pS\9dMsg
+;
+
+595 
+       `ÇtS\9dAlgMsgF\9bldPos
+(
+pTmpS\9dMsg
+,
+
+596 
+SIP_ALG_SEMICOLON
+, &
+pos
+,
+
+598 
+pTmpS\9dMsg
+ +ð
+pos
+;
+
+599 
+addrPÜtL\92
+ = 
+pTmpS\9dMsg
+ - 
+pS\9dMsg
+;
+
+601 
+       `´\9atf
+("sip_alg_process; No valid VIA field\n");
+
+602 \15 
+NULL
+;
+
+605 
+pS\9dMsg
+ =
+
+606 
+       `ÇtS\9dAlgModifyPaylßdAddrPÜt
+(
+pS\9dMsg
+, &
+pS\9dMsgEnd
+,
+
+607 
+addrPÜtL\92
+,
+
+608 &
+diffL\92
+, 
+modIp
+,
+
+609 
+modL4PÜt
+,
+
+610 
+ADDRESS_PORT_STRING
+);
+
+612 *
+diffModS\9dL\92
+ +ð
+diffL\92
+;
+
+616 ià(
+       `ÇtS\9dAlgMsgF\9bldPos
+(
+pS\9dMsg
+, 
+SIP_ALG_FROM
+, &
+pos
+, 0)
+
+617 =ð
+TRUE
+) {
+
+618 
+pS\9dMsg
+ +ð
+pos
+;
+
+620 
+pTmpS\9dMsg
+ = 
+pS\9dMsg
+;
+
+622 
+       `ÇtS\9dAlgMsgF\9bldPos
+(
+pTmpS\9dMsg
+, 
+SIP_ALG_GREAT
+,
+
+623 &
+pos
+, 0);
+
+624 
+pTmpS\9dMsg
+ +ð
+pos
+;
+
+625 
+diffL\92
+ = 
+pTmpS\9dMsg
+ - 
+pS\9dMsg
+;
+
+627 
+       `ÇtS\9dAlgMsgF\9bldPos
+(
+pS\9dMsg
+, 
+SIP_ALG_AT
+, &
+pos
+,
+
+629 
+pS\9dMsg
+ +ð
+pos
+ + 1;
+
+631 
+addrPÜtL\92
+ = 
+pTmpS\9dMsg
+ - 
+pS\9dMsg
+;
+
+633 
\9atf
+
+
+635 \15 
+NULL
+;
+
+638 
+pS\9dMsg
+ =
+
+639 
+       `ÇtS\9dAlgModifyPaylßdAddrPÜt
+(
+pS\9dMsg
+, &
+pS\9dMsgEnd
+,
+
+640 
+addrPÜtL\92
+,
+
+641 &
+diffL\92
+, 
+modIp
+,
+
+642 
+modL4PÜt
+,
+
+643 
+ADDRESS_PORT_STRING
+);
+
+645 *
+diffModS\9dL\92
+ +ð
+diffL\92
+;
+
+649 ià(
+ÇtS\9dAlgMsgF\9bldPos
+
+
+650 (
+pS\9dMsg
+, 
+SIP_ALG_CALLID
+, &
+pos
+, 0è=ð
+TRUE
+) {
+
+651 
+pS\9dMsg
+ +ð
+pos
+;
+
+653 
+pTmpS\9dMsg
+ = 
+pS\9dMsg
+;
+
+655 
+       `ÇtS\9dAlgMsgF\9bldPosF\9adC¾f
+(
+pTmpS\9dMsg
+,
+
+656 
+SIP_ALG_CRLF
+, &
+pos
+,
+
+658 
+pTmpS\9dMsg
+ +ð
+pos
+;
+
+659 
+diffL\92
+ = 
+pTmpS\9dMsg
+ - 
+pS\9dMsg
+;
+
+661 
+       `ÇtS\9dAlgMsgF\9bldPos
+(
+pS\9dMsg
+, 
+SIP_ALG_AT
+, &
+pos
+,
+
+663 
+pS\9dMsg
+ +ð
+pos
+ + 1;
+
+664 
+addrPÜtL\92
+ = 
+pTmpS\9dMsg
+ - 
+pS\9dMsg
+;
+
+666 
+       `´\9atf
+("sip_alg_process; "
+
+668 \15 
+NULL
+;
+
+672 
+pS\9dMsg
+ =
+
+673 
+       `ÇtS\9dAlgModifyPaylßdAddrPÜt
+(
+pS\9dMsg
+, &
+pS\9dMsgEnd
+,
+
+674 
+addrPÜtL\92
+,
+
+675 &
+diffL\92
+, 
+modIp
+, 0,
+
+676 
+ADDRESS_PORT_STRING
+);
+
+678 *
+diffModS\9dL\92
+ +ð
+diffL\92
+;
+
+681 ià(
+ÇtS\9dAlgMsgF\9bldPos
+
+
+682 (
+pS\9dMsg
+, 
+SIP_ALG_CONTACT
+, &
+pos
+, 0è=ð
+TRUE
+) {
+
+683 
+pS\9dMsg
+ +ð
+pos
+;
+
+685 
+pTmpS\9dMsg
+ = 
+pS\9dMsg
+;
+
+686 
+       `ÇtS\9dAlgMsgF\9bldPosF\9adC¾f
+(
+pTmpS\9dMsg
+,
+
+687 
+SIP_ALG_CRLF
+, &
+pos
+,
+
+689 
+pTmpS\9dMsg
+ +ð
+pos
+;
+
+691 
+       `ÇtS\9dAlgMsgF\9bldPos
+(
+pS\9dMsg
+, 
+SIP_ALG_AT
+, &
+pos
+,
+
+693 
+pS\9dMsg
+ +ð
+pos
+ + 1;
+
+694 
+addrPÜtL\92
+ = 
+pTmpS\9dMsg
+ - 
+pS\9dMsg
+;
+
+697 
+       `´\9atf
+("sip_alg_process; "
+
+699 \15 
+NULL
+;
+
+702 
+pS\9dMsg
+ =
+
+703 
+       `ÇtS\9dAlgModifyPaylßdAddrPÜt
+(
+pS\9dMsg
+, &
+pS\9dMsgEnd
+,
+
+704 
+addrPÜtL\92
+,
+
+705 &
+diffL\92
+, 
+modIp
+,
+
+706 
+modL4PÜt
+,
+
+707 
+ADDRESS_PORT_STRING
+);
+
+709 *
+diffModS\9dL\92
+ +ð
+diffL\92
+;
+
+711 ià(
+msgTy³
+ =ð
+SIP_ALG_INVITE_MSGTYPE
+) {
+
+713 ià(
+ÇtS\9dAlgMsgF\9bldPos
+
+
+714 (
+pS\9dMsg
+, 
+SIP_ALG_CONTYPE
+, &
+pos
+,
+
+715 0è=ð
+TRUE
+) {
+
+716 
+pS\9dMsg
+ +=
+
+717 (
+pos
+ +
+
+718 
+       `TAG_TO_DATAPOS
+(
+SIP_ALG_CONTYPE
+));
+
+719 
+       `SKIP_SPACES
+(
+pS\9dMsg
+);
+
+721 ià(!
+IS_STRING_SAME
+
+
+722 (
+pS\9dMsg
+, 
+SIP_ALG_APPSDP
+)) {
+
+723 
+       `´\9atf
+("sip_alg_process "
+
+725 \15 
+NULL
+;
+
+728 
+       `´\9atf
+("sip_alg_process; "
+
+730 \15 
+NULL
+;
+
+734 
+       `ÇtS\9dAlgMsgF\9bldPos
+(
+pS\9dMsg
+,
+
+735 
+SIP_ALG_CONTENT_LEN
+, &
+pos
+,
+
+737 
+pS\9dMsg
+ +=
+
+738 (
+pos
+ + 
+       `TAG_TO_DATAPOS
+(
+SIP_ALG_CONTENT_LEN
+));
+
+739 
+       `SKIP_SPACES
+(
+pS\9dMsg
+);
+
+740 
+sdpMsgL\92
+ = 
+       `¡¹Þ
+(
+pS\9dMsg
+, &
+pEndP\8c
+, 10);
+
+741 ià(!
+sdpMsgL\92
+) {
+
+743 ià(
+msgTy³
+ =ð
+SIP_ALG_ACK_MSGTYPE
+)
+
+744 \10
+s\9dAlgProûssEx\99
+;
+
+746 
+       `´\9atf
+("sip_alg_process - "
+
+748 \15 
+NULL
+;
+
+752 ià(
+ÇtS\9dAlgMsgF\9bldPos
+
+
+753 (
+pS\9dMsg
+, 
+SIP_ALG_OWNER
+, &
+pos
+,
+
+754 0è=ð
+TRUE
+) {
+
+755 
+pS\9dMsg
+ +ð
+pos
+;
+
+757 
+pTmpS\9dMsg
+ = 
+pS\9dMsg
+;
+
+759 
+       `ÇtS\9dAlgMsgF\9bldPosF\9adC¾f
+(
+pS\9dMsg
+,
+
+760 
+SIP_ALG_CRLF
+,
+
+761 &
+pos
+,
+
+763 
+pTmpS\9dMsg
+ +ð
+pos
+;
+
+766 
+       `ÇtS\9dAlgMsgF\9bldPos
+(
+pS\9dMsg
+,
+
+767 
+SIP_ALG_IPV4
+, &
+pos
+,
+
+769 
+pS\9dMsg
+ +ð(
+pos
+ + 
+       `¡¾\92
+(
+SIP_ALG_IPV4
+));
+
+770 
+       `SKIP_SPACES
+(
+pS\9dMsg
+);
+
+772 
+addrPÜtL\92
+ = 
+pTmpS\9dMsg
+ - 
+pS\9dMsg
+;
+
+774 
+       `´\9atf
+("sip_alg_processing: "
+
+776 \15 
+NULL
+;
+
+779 
+pS\9dMsg
+ =
+
+780 
+       `ÇtS\9dAlgModifyPaylßdAddrPÜt
+(
+pS\9dMsg
+,
+
+781 &
+pS\9dMsgEnd
+,
+
+782 
+addrPÜtL\92
+,
+
+783 &
+diffL\92
+,
+
+784 
+modIp
+, 0,
+
+785 
+ADDRESS_PORT_STRING
+);
+
+787 *
+diffModS\9dL\92
+ +ð
+diffL\92
+;
+
+788 
+sdpMsgL\92
+ +ð
+diffL\92
+;
+
+792 ià(
+ÇtS\9dAlgMsgF\9bldPos
+
+
+793 (
+pS\9dMsg
+, 
+SIP_ALG_CONN
+, &
+pos
+,
+
+794 0è=ð
+TRUE
+) {
+
+795 
+pS\9dMsg
+ +ð
+pos
+;
+
+796 
+pTmpS\9dMsg
+ = 
+pS\9dMsg
+;
+
+798 
+       `ÇtS\9dAlgMsgF\9bldPosF\9adC¾f
+(
+pS\9dMsg
+,
+
+799 
+SIP_ALG_CRLF
+,
+
+800 &
+pos
+,
+
+802 
+pTmpS\9dMsg
+ +ð
+pos
+;
+
+805 
+       `ÇtS\9dAlgMsgF\9bldPos
+(
+pS\9dMsg
+,
+
+806 
+SIP_ALG_IPV4
+, &
+pos
+,
+
+808 
+pS\9dMsg
+ +ð(
+pos
+ + 
+       `¡¾\92
+(
+SIP_ALG_IPV4
+));
+
+809 
+       `SKIP_SPACES
+(
+pS\9dMsg
+);
+
+811 
+addrPÜtL\92
+ = 
+pTmpS\9dMsg
+ - 
+pS\9dMsg
+;
+
+813 
+       `´\9atf
+("sip_alg_processing: "
+
+815 \15 
+NULL
+;
+
+818 
+pS\9dMsg
+ =
+
+819 
+       `ÇtS\9dAlgModifyPaylßdAddrPÜt
+(
+pS\9dMsg
+,
+
+820 &
+pS\9dMsgEnd
+,
+
+821 
+addrPÜtL\92
+,
+
+822 &
+diffL\92
+,
+
+823 
+modIp
+, 0,
+
+824 
+ADDRESS_PORT_STRING
+);
+
+826 *
+diffModS\9dL\92
+ +ð
+diffL\92
+;
+
+827 
+sdpMsgL\92
+ +ð
+diffL\92
+;
+
+831 ià(
+ÇtS\9dAlgMsgF\9bldPos
+
+
+832 (
+pS\9dMsg
+, 
+SIP_ALG_AUDIO
+, &
+pos
+,
+
+833 0è=ð
+TRUE
+) {
+
+834 
+pS\9dMsg
+ +=
+
+835 (
+pos
+ +
+
+836 
+       `TAG_TO_DATAPOS
+(
+SIP_ALG_AUDIO
+));
+
+837 
+       `SKIP_SPACES
+(
+pS\9dMsg
+);
+
+838 
+pTmpS\9dMsg
+ = 
+pS\9dMsg
+;
+
+839 
+ÇtS\9dAlgMsgF\9bldPosF\9adS·û
+
+
+840 (
+pTmpS\9dMsg
+, 
+SIP_ALG_SPACE
+, &
+pos
+,
+
+842 
+pTmpS\9dMsg
+ +ð
+pos
+;
+
+843 
+addrPÜtL\92
+ = 
+pTmpS\9dMsg
+ - 
+pS\9dMsg
+;
+
+847 
+pS\9dMsg
+ =
+
+848 
+       `ÇtS\9dAlgModifyPaylßdAddrPÜt
+(
+pS\9dMsg
+,
+
+849 &
+pS\9dMsgEnd
+,
+
+850 
+addrPÜtL\92
+,
+
+851 &
+diffL\92
+, 0,
+
+852 
+modR\8dPÜt
+,
+
+853 
+PORT_STRING
+);
+
+855 *
+diffModS\9dL\92
+ +ð
+diffL\92
+;
+
+856 
+sdpMsgL\92
+ +ð
+diffL\92
+;
+
+860 ià(
+ÇtS\9dAlgMsgF\9bldPos
+
+
+861 (
+pS\9dMsg
+, 
+SIP_ALG_RTCP
+, &
+pos
+,
+
+862 0è=ð
+TRUE
+) {
+
+863 
+pS\9dMsg
+ +=
+
+864 (
+pos
+ +
+
+865 
+       `TAG_TO_DATAPOS
+(
+SIP_ALG_RTCP
+));
+
+866 
+       `SKIP_SPACES
+(
+pS\9dMsg
+);
+
+867 
+pTmpS\9dMsg
+ = 
+pS\9dMsg
+;
+
+868 
+ÇtS\9dAlgMsgF\9bldPosF\9adS·û
+
+
+869 (
+pTmpS\9dMsg
+, 
+SIP_ALG_SPACE
+, &
+pos
+,
+
+871 
+pTmpS\9dMsg
+ +ð
+pos
+;
+
+872 
+addrPÜtL\92
+ = 
+pTmpS\9dMsg
+ - 
+pS\9dMsg
+;
+
+875 
+pS\9dMsg
+ =
+
+876 
+ÇtS\9dAlgModifyPaylßdAddrPÜt
+
+
+877 (
+pS\9dMsg
+, &
+pS\9dMsgEnd
+, 
+addrPÜtL\92
+,
+
+878 &
+diffL\92
+, 0, 
+modRtýPÜt
+,
+
+879 
+PORT_STRING
+);
+
+881 *
+diffModS\9dL\92
+ +ð
+diffL\92
+;
+
+882 
+sdpMsgL\92
+ +ð
+diffL\92
+;
+
+887 } \vià((
+msgTy³
+ =ð
+SIP_ALG_TRYING_RINGING_MSGTYPE
+)
+
+888 || (
+msgTy³
+ =ð
+SIP_ALG_200_OK_INVITE_MSGTYPE
+)) {
+
+890 ià(
+       `ÇtS\9dAlgMsgF\9bldPos
+(
+pS\9dMsg
+, 
+SIP_ALG_VIA
+, &
+pos
+, 0)
+
+891 =ð
+TRUE
+) {
+
+893 
+pS\9dMsg
+ +=
+
+894 (
+pos
+ + 
+       `¡¾\92
+(
+SIP_ALG_VIA
+) +
+
+895 
+SIP_ALG_VIA_FIELD_IPADDR
+);
+
+896 
+pTmpS\9dMsg
+ = 
+pS\9dMsg
+;
+
+898 
+       `ÇtS\9dAlgMsgF\9bldPos
+(
+pTmpS\9dMsg
+,
+
+899 
+SIP_ALG_SEMICOLON
+, &
+pos
+,
+
+901 
+pTmpS\9dMsg
+ +ð
+pos
+;
+
+902 
+addrPÜtL\92
+ = 
+pTmpS\9dMsg
+ - 
+pS\9dMsg
+;
+
+904 
+       `´\9atf
+("sip_alg_process; No valid VIA field\n");
+
+905 \15 
+NULL
+;
+
+908 
+pS\9dMsg
+ =
+
+909 
+       `ÇtS\9dAlgModifyPaylßdAddrPÜt
+(
+pS\9dMsg
+, &
+pS\9dMsgEnd
+,
+
+910 
+addrPÜtL\92
+,
+
+911 &
+diffL\92
+, 
+modIp
+,
+
+912 
+modL4PÜt
+,
+
+913 
+ADDRESS_PORT_STRING
+);
+
+914 *
+diffModS\9dL\92
+ = 
+diffL\92
+;
+
+917 ià(
+       `ÇtS\9dAlgMsgF\9bldPos
+(
+pS\9dMsg
+, 
+SIP_ALG_FROM
+, &
+pos
+, 0)
+
+918 =ð
+TRUE
+) {
+
+919 
+pS\9dMsg
+ +ð
+pos
+;
+
+921 
+pTmpS\9dMsg
+ = 
+pS\9dMsg
+;
+
+923 
+       `ÇtS\9dAlgMsgF\9bldPos
+(
+pTmpS\9dMsg
+, 
+SIP_ALG_GREAT
+,
+
+924 &
+pos
+, 0);
+
+925 
+pTmpS\9dMsg
+ +ð
+pos
+;
+
+928 
+       `ÇtS\9dAlgMsgF\9bldPos
+(
+pS\9dMsg
+, 
+SIP_ALG_AT
+, &
+pos
+,
+
+930 
+pS\9dMsg
+ +ð
+pos
+ + 1;
+
+932 
+addrPÜtL\92
+ = 
+pTmpS\9dMsg
+ - 
+pS\9dMsg
+;
+
+934 
\9atf
+
+
+936 \15 
+NULL
+;
+
+939 
+pS\9dMsg
+ =
+
+940 
+       `ÇtS\9dAlgModifyPaylßdAddrPÜt
+(
+pS\9dMsg
+, &
+pS\9dMsgEnd
+,
+
+941 
+addrPÜtL\92
+,
+
+942 &
+diffL\92
+, 
+modIp
+,
+
+943 
+modL4PÜt
+,
+
+944 
+ADDRESS_PORT_STRING
+);
+
+946 *
+diffModS\9dL\92
+ +ð
+diffL\92
+;
+
+950 ià(
+ÇtS\9dAlgMsgF\9bldPos
+
+
+951 (
+pS\9dMsg
+, 
+SIP_ALG_CALLID
+, &
+pos
+, 0è=ð
+TRUE
+) {
+
+952 
+pS\9dMsg
+ +ð
+pos
+;
+
+954 
+pTmpS\9dMsg
+ = 
+pS\9dMsg
+;
+
+956 
+       `ÇtS\9dAlgMsgF\9bldPosF\9adC¾f
+(
+pTmpS\9dMsg
+,
+
+957 
+SIP_ALG_CRLF
+, &
+pos
+,
+
+959 
+pTmpS\9dMsg
+ +ð
+pos
+;
+
+962 
+       `ÇtS\9dAlgMsgF\9bldPos
+(
+pS\9dMsg
+, 
+SIP_ALG_AT
+, &
+pos
+,
+
+964 
+pS\9dMsg
+ +ð
+pos
+ + 1;
+
+965 
+addrPÜtL\92
+ = 
+pTmpS\9dMsg
+ - 
+pS\9dMsg
+;
+
+967 
+       `´\9atf
+("sip_alg_process; "
+
+969 \15 
+NULL
+;
+
+973 
+pS\9dMsg
+ =
+
+974 
+       `ÇtS\9dAlgModifyPaylßdAddrPÜt
+(
+pS\9dMsg
+, &
+pS\9dMsgEnd
+,
+
+975 
+addrPÜtL\92
+,
+
+976 &
+diffL\92
+, 
+modIp
+, 0,
+
+977 
+ADDRESS_PORT_STRING
+);
+
+979 *
+diffModS\9dL\92
+ +ð
+diffL\92
+;
+
+981 } \vià(
+pkt_d\9ceùiÚ
+ =ð
+PRIVATE
+
+
+982 && 
+msgTy³
+ =ð
+SIP_ALG_BYE_MSGTYPE
+) {
+
+986 ià(
+       `ÇtS\9dAlgMsgF\9bldPos
+(
+pS\9dMsg
+, 
+SIP_ALG_VIA
+, &
+pos
+, 0)
+
+987 =ð
+TRUE
+) {
+
+989 
+pS\9dMsg
+ +=
+
+990 (
+pos
+ + 
+       `¡¾\92
+(
+SIP_ALG_VIA
+) +
+
+991 
+SIP_ALG_VIA_FIELD_IPADDR
+);
+
+992 
+pTmpS\9dMsg
+ = 
+pS\9dMsg
+;
+
+994 
+       `ÇtS\9dAlgMsgF\9bldPos
+(
+pTmpS\9dMsg
+,
+
+995 
+SIP_ALG_SEMICOLON
+, &
+pos
+,
+
+997 
+pTmpS\9dMsg
+ +ð
+pos
+;
+
+998 
+addrPÜtL\92
+ = 
+pTmpS\9dMsg
+ - 
+pS\9dMsg
+;
+
+1000 
+       `´\9atf
+("sip_alg_process; No valid VIA field\n");
+
+1001 \15 
+NULL
+;
+
+1004 
+pS\9dMsg
+ =
+
+1005 
+       `ÇtS\9dAlgModifyPaylßdAddrPÜt
+(
+pS\9dMsg
+, &
+pS\9dMsgEnd
+,
+
+1006 
+addrPÜtL\92
+,
+
+1007 &
+diffL\92
+, 
+modIp
+, 0,
+
+1008 
+ADDRESS_PORT_STRING
+);
+
+1009 *
+diffModS\9dL\92
+ = 
+diffL\92
+;
+
+1012 ià(
+       `ÇtS\9dAlgMsgF\9bldPos
+(
+pS\9dMsg
+, 
+SIP_ALG_FROM
+, &
+pos
+, 0)
+
+1013 =ð
+TRUE
+) {
+
+1014 
+pS\9dMsg
+ +ð
+pos
+;
+
+1016 
+pTmpS\9dMsg
+ = 
+pS\9dMsg
+;
+
+1018 
+       `ÇtS\9dAlgMsgF\9bldPos
+(
+pTmpS\9dMsg
+, 
+SIP_ALG_GREAT
+,
+
+1019 &
+pos
+, 0);
+
+1020 
+pTmpS\9dMsg
+ +ð
+pos
+;
+
+1021 
+diffL\92
+ = 
+pTmpS\9dMsg
+ - 
+pS\9dMsg
+;
+
+1023 
+       `ÇtS\9dAlgMsgF\9bldPos
+(
+pS\9dMsg
+, 
+SIP_ALG_AT
+, &
+pos
+,
+
+1025 
+pS\9dMsg
+ +ð
+pos
+ + 1;
+
+1027 
+addrPÜtL\92
+ = 
+pTmpS\9dMsg
+ - 
+pS\9dMsg
+;
+
+1029 
\9atf
+
+
+1031 \15 
+NULL
+;
+
+1034 
+pS\9dMsg
+ =
+
+1035 
+       `ÇtS\9dAlgModifyPaylßdAddrPÜt
+(
+pS\9dMsg
+, &
+pS\9dMsgEnd
+,
+
+1036 
+addrPÜtL\92
+,
+
+1037 &
+diffL\92
+, 
+modIp
+,
+
+1038 
+modL4PÜt
+,
+
+1039 
+ADDRESS_PORT_STRING
+);
+
+1041 *
+diffModS\9dL\92
+ +ð
+diffL\92
+;
+
+1045 ià(
+ÇtS\9dAlgMsgF\9bldPos
+
+
+1046 (
+pS\9dMsg
+, 
+SIP_ALG_CALLID
+, &
+pos
+, 0è=ð
+TRUE
+) {
+
+1047 
+pS\9dMsg
+ +ð
+pos
+;
+
+1049 
+pTmpS\9dMsg
+ = 
+pS\9dMsg
+;
+
+1051 
+       `ÇtS\9dAlgMsgF\9bldPosF\9adC¾f
+(
+pTmpS\9dMsg
+,
+
+1052 
+SIP_ALG_CRLF
+, &
+pos
+,
+
+1054 
+pTmpS\9dMsg
+ +ð
+pos
+;
+
+1055 
+diffL\92
+ = 
+pTmpS\9dMsg
+ - 
+pS\9dMsg
+;
+
+1057 
+       `ÇtS\9dAlgMsgF\9bldPos
+(
+pS\9dMsg
+, 
+SIP_ALG_AT
+, &
+pos
+,
+
+1059 
+pS\9dMsg
+ +ð
+pos
+ + 1;
+
+1060 
+addrPÜtL\92
+ = 
+pTmpS\9dMsg
+ - 
+pS\9dMsg
+;
+
+1062 
+       `´\9atf
+("sip_alg_process; "
+
+1064 \15 
+NULL
+;
+
+1068 
+pS\9dMsg
+ =
+
+1069 
+       `ÇtS\9dAlgModifyPaylßdAddrPÜt
+(
+pS\9dMsg
+, &
+pS\9dMsgEnd
+,
+
+1070 
+addrPÜtL\92
+,
+
+1071 &
+diffL\92
+, 
+modIp
+, 0,
+
+1072 
+ADDRESS_PORT_STRING
+);
+
+1074 *
+diffModS\9dL\92
+ +ð
+diffL\92
+;
+
+1077 ià(
+ÇtS\9dAlgMsgF\9bldPos
+
+
+1078 (
+pS\9dMsg
+, 
+SIP_ALG_CONTACT
+, &
+pos
+, 0è=ð
+TRUE
+) {
+
+1079 
+pS\9dMsg
+ +ð
+pos
+;
+
+1081 
+pTmpS\9dMsg
+ = 
+pS\9dMsg
+;
+
+1082 
+       `ÇtS\9dAlgMsgF\9bldPosF\9adC¾f
+(
+pTmpS\9dMsg
+,
+
+1083 
+SIP_ALG_CRLF
+, &
+pos
+, 0);
+
+1084 
+pTmpS\9dMsg
+ +ð
+pos
+;
+
+1086 \12
+æag
+ = 0;
+
+1087 ià(
+       `ÇtS\9dAlgMsgF\9bldPos
+(
+pS\9dMsg
+, 
+SIP_ALG_AT
+,
+
+1088 &
+pos
+, 0è=ð
+FALSE
+)
+
+1089 
+æag
+ = 1;
+
+1091 ià(
+æag
+)
+
+1092 \10
+S\9dMsgAdvªû2
+;
+
+1093 
+pS\9dMsg
+ +ð
+pos
+ + 1;
+
+1094 
+addrPÜtL\92
+ = 
+pTmpS\9dMsg
+ - 
+pS\9dMsg
+;
+
+1097 
+       `´\9atf
+("sip_alg_process; "
+
+1099 \15 
+NULL
+;
+
+1102 
+pS\9dMsg
+ =
+
+1103 
+       `ÇtS\9dAlgModifyPaylßdAddrPÜt
+(
+pS\9dMsg
+, &
+pS\9dMsgEnd
+,
+
+1104 
+addrPÜtL\92
+,
+
+1105 &
+diffL\92
+, 
+modIp
+,
+
+1106 
+modL4PÜt
+,
+
+1107 
+ADDRESS_PORT_STRING
+);
+
+1109 *
+diffModS\9dL\92
+ +ð
+diffL\92
+;
+
+1110 } \vià(
+pkt_d\9ceùiÚ
+ =ð
+PUBLIC
+
+
+1111 && 
+msgTy³
+ =ð
+SIP_ALG_BYE_MSGTYPE
+) {
+
+1118 
+       `ÇtS\9dAlgMsgF\9bldPos
+(
+pS\9dMsg
+, 
+SIP_ALG_AT
+, &
+pos
+, 0);
+
+1119 
+pS\9dMsg
+ +ð
+pos
+ + 1;
+
+1120 
+pTmpS\9dMsg
+ = 
+pS\9dMsg
+;
+
+1121 
+       `ÇtS\9dAlgMsgF\9bldPosF\9adS·û
+(
+pTmpS\9dMsg
+, 
+SIP_ALG_SPACE
+,
+
+1122 &
+pos
+, 0);
+
+1123 
+pTmpS\9dMsg
+ +ð
+pos
+;
+
+1124 
+addrPÜtL\92
+ = 
+pTmpS\9dMsg
+ - 
+pS\9dMsg
+;
+
+1126 
+pS\9dMsg
+ =
+
+1127 
+       `ÇtS\9dAlgModifyPaylßdAddrPÜt
+(
+pS\9dMsg
+, &
+pS\9dMsgEnd
+,
+
+1128 
+addrPÜtL\92
+,
+
+1129 &
+diffL\92
+, 
+modIp
+,
+
+1130 
+modL4PÜt
+,
+
+1131 
+ADDRESS_PORT_STRING
+);
+
+1132 *
+diffModS\9dL\92
+ +ð
+diffL\92
+;
+
+1136 ià(
+       `ÇtS\9dAlgMsgF\9bldPos
+(
+pS\9dMsg
+, 
+SIP_ALG_TO
+, &
+pos
+, 0)
+
+1137 =ð
+TRUE
+) {
+
+1138 
+pS\9dMsg
+ +ð
+pos
+;
+
+1139 
+pTmpS\9dMsg
+ = 
+pS\9dMsg
+;
+
+1140 
+       `ÇtS\9dAlgMsgF\9bldPos
+(
+pTmpS\9dMsg
+, 
+SIP_ALG_GREAT
+,
+
+1141 &
+pos
+, 0);
+
+1142 
+pTmpS\9dMsg
+ +ð
+pos
+;
+
+1143 
+       `ÇtS\9dAlgMsgF\9bldPos
+(
+pS\9dMsg
+, 
+SIP_ALG_AT
+, &
+pos
+,
+
+1145 
+pS\9dMsg
+ +ð
+pos
+ + 1;
+
+1146 
+addrPÜtL\92
+ = 
+pTmpS\9dMsg
+ - 
+pS\9dMsg
+;
+
+1147 
+pS\9dMsg
+ =
+
+1148 
+       `ÇtS\9dAlgModifyPaylßdAddrPÜt
+(
+pS\9dMsg
+,
+
+1149 &
+pS\9dMsgEnd
+,
+
+1150 
+addrPÜtL\92
+,
+
+1151 &
+diffL\92
+,
+
+1152 
+modIp
+,
+
+1153 
+modL4PÜt
+,
+
+1154 
+ADDRESS_PORT_STRING
+);
+
+1155 *
+diffModS\9dL\92
+ +ð
+diffL\92
+;
+
+1160 ià(
+ÇtS\9dAlgMsgF\9bldPos
+
+
+1161 (
+pS\9dMsg
+, 
+SIP_ALG_CALLID
+, &
+pos
+, 0è=ð
+TRUE
+) {
+
+1162 
+pS\9dMsg
+ +ð
+pos
+;
+
+1164 
+pTmpS\9dMsg
+ = 
+pS\9dMsg
+;
+
+1166 
+       `ÇtS\9dAlgMsgF\9bldPosF\9adC¾f
+(
+pTmpS\9dMsg
+,
+
+1167 
+SIP_ALG_CRLF
+, &
+pos
+,
+
+1169 
+pTmpS\9dMsg
+ +ð
+pos
+;
+
+1172 
+       `ÇtS\9dAlgMsgF\9bldPos
+(
+pS\9dMsg
+, 
+SIP_ALG_AT
+, &
+pos
+,
+
+1174 
+pS\9dMsg
+ +ð
+pos
+ + 1;
+
+1175 
+addrPÜtL\92
+ = 
+pTmpS\9dMsg
+ - 
+pS\9dMsg
+;
+
+1177 
+       `´\9atf
+("sip_alg_process; "
+
+1179 \15 
+NULL
+;
+
+1183 
+pS\9dMsg
+ =
+
+1184 
+       `ÇtS\9dAlgModifyPaylßdAddrPÜt
+(
+pS\9dMsg
+, &
+pS\9dMsgEnd
+,
+
+1185 
+addrPÜtL\92
+,
+
+1186 &
+diffL\92
+, 
+modIp
+, 0,
+
+1187 
+ADDRESS_PORT_STRING
+);
+
+1189 *
+diffModS\9dL\92
+ +ð
+diffL\92
+;
+
+1190 } \vià(
+pkt_d\9ceùiÚ
+ =ð
+PRIVATE
+
+
+1191 && (
+msgTy³
+ =ð
+SIP_ALG_200_OK_BYE_MSGTYPE
+)) {
+
+1197 ià(
+       `ÇtS\9dAlgMsgF\9bldPos
+(
+pS\9dMsg
+, 
+SIP_ALG_TO
+, &
+pos
+, 0)
+
+1198 =ð
+TRUE
+) {
+
+1199 
+pS\9dMsg
+ +ð
+pos
+;
+
+1201 
+pTmpS\9dMsg
+ = 
+pS\9dMsg
+;
+
+1203 
+       `ÇtS\9dAlgMsgF\9bldPos
+(
+pTmpS\9dMsg
+, 
+SIP_ALG_GREAT
+,
+
+1204 &
+pos
+, 0);
+
+1205 
+pTmpS\9dMsg
+ +ð
+pos
+;
+
+1206 
+diffL\92
+ = 
+pTmpS\9dMsg
+ - 
+pS\9dMsg
+;
+
+1208 
+       `ÇtS\9dAlgMsgF\9bldPos
+(
+pS\9dMsg
+, 
+SIP_ALG_AT
+, &
+pos
+,
+
+1210 
+pS\9dMsg
+ +ð
+pos
+ + 1;
+
+1212 
+addrPÜtL\92
+ = 
+pTmpS\9dMsg
+ - 
+pS\9dMsg
+;
+
+1214 
\9atf
+
+
+1216 \15 
+NULL
+;
+
+1219 
+pS\9dMsg
+ =
+
+1220 
+       `ÇtS\9dAlgModifyPaylßdAddrPÜt
+(
+pS\9dMsg
+, &
+pS\9dMsgEnd
+,
+
+1221 
+addrPÜtL\92
+,
+
+1222 &
+diffL\92
+, 
+modIp
+,
+
+1223 
+modL4PÜt
+,
+
+1224 
+ADDRESS_PORT_STRING
+);
+
+1226 *
+diffModS\9dL\92
+ = 
+diffL\92
+;
+
+1230 ià(
+ÇtS\9dAlgMsgF\9bldPos
+
+
+1231 (
+pS\9dMsg
+, 
+SIP_ALG_CONTACT
+, &
+pos
+, 0è=ð
+TRUE
+) {
+
+1232 
+pS\9dMsg
+ +ð
+pos
+;
+
+1234 
+pTmpS\9dMsg
+ = 
+pS\9dMsg
+;
+
+1235 
+       `ÇtS\9dAlgMsgF\9bldPosF\9adC¾f
+(
+pTmpS\9dMsg
+,
+
+1236 
+SIP_ALG_CRLF
+, &
+pos
+,
+
+1238 
+pTmpS\9dMsg
+ +ð
+pos
+;
+
+1240 \12
+æag
+ = 0;
+
+1241 ià(
+       `ÇtS\9dAlgMsgF\9bldPos
+(
+pS\9dMsg
+, 
+SIP_ALG_AT
+,
+
+1242 &
+pos
+, 0è=ð
+FALSE
+)
+
+1243 
+æag
+ = 1;
+
+1245 ià(
+æag
+)
+
+1246 \10
+S\9dMsgAdvªû2
+;
+
+1247 
+pS\9dMsg
+ +ð
+pos
+ + 1;
+
+1248 
+addrPÜtL\92
+ = 
+pTmpS\9dMsg
+ - 
+pS\9dMsg
+;
+
+1250 
+       `´\9atf
+("sip_alg_process; "
+
+1252 \15 
+NULL
+;
+
+1255 
+pS\9dMsg
+ =
+
+1256 
+       `ÇtS\9dAlgModifyPaylßdAddrPÜt
+(
+pS\9dMsg
+, &
+pS\9dMsgEnd
+,
+
+1257 
+addrPÜtL\92
+,
+
+1258 &
+diffL\92
+, 
+modIp
+,
+
+1259 
+modL4PÜt
+,
+
+1260 
+ADDRESS_PORT_STRING
+);
+
+1262 *
+diffModS\9dL\92
+ +ð
+diffL\92
+;
+
+1263 } \vià(
+pkt_d\9ceùiÚ
+ =ð
+PUBLIC
+
+
+1264 && (
+msgTy³
+ =ð
+SIP_ALG_200_OK_BYE_MSGTYPE
+)) {
+
+1268 ià(
+       `ÇtS\9dAlgMsgF\9bldPos
+(
+pS\9dMsg
+, 
+SIP_ALG_VIA
+, &
+pos
+, 0)
+
+1269 =ð
+TRUE
+) {
+
+1271 
+pS\9dMsg
+ +=
+
+1272 (
+pos
+ + 
+       `¡¾\92
+(
+SIP_ALG_VIA
+) +
+
+1273 
+SIP_ALG_VIA_FIELD_IPADDR
+);
+
+1274 
+pTmpS\9dMsg
+ = 
+pS\9dMsg
+;
+
+1276 
+       `ÇtS\9dAlgMsgF\9bldPos
+(
+pTmpS\9dMsg
+,
+
+1277 
+SIP_ALG_SEMICOLON
+, &
+pos
+,
+
+1279 
+pTmpS\9dMsg
+ +ð
+pos
+;
+
+1280 
+addrPÜtL\92
+ = 
+pTmpS\9dMsg
+ - 
+pS\9dMsg
+;
+
+1282 
+       `´\9atf
+("sip_alg_process; No valid VIA field\n");
+
+1283 \15 
+NULL
+;
+
+1286 
+pS\9dMsg
+ =
+
+1287 
+       `ÇtS\9dAlgModifyPaylßdAddrPÜt
+(
+pS\9dMsg
+, &
+pS\9dMsgEnd
+,
+
+1288 
+addrPÜtL\92
+,
+
+1289 &
+diffL\92
+, 
+modIp
+, 0,
+
+1290 
+ADDRESS_PORT_STRING
+);
+
+1291 *
+diffModS\9dL\92
+ = 
+diffL\92
+;
+
+1294 ià(
+       `ÇtS\9dAlgMsgF\9bldPos
+(
+pS\9dMsg
+, 
+SIP_ALG_FROM
+, &
+pos
+, 0)
+
+1295 =ð
+TRUE
+) {
+
+1296 
+pS\9dMsg
+ +ð
+pos
+;
+
+1298 
+pTmpS\9dMsg
+ = 
+pS\9dMsg
+;
+
+1300 
+       `ÇtS\9dAlgMsgF\9bldPos
+(
+pTmpS\9dMsg
+, 
+SIP_ALG_GREAT
+,
+
+1301 &
+pos
+, 0);
+
+1302 
+pTmpS\9dMsg
+ +ð
+pos
+;
+
+1303 
+diffL\92
+ = 
+pTmpS\9dMsg
+ - 
+pS\9dMsg
+;
+
+1305 
+       `ÇtS\9dAlgMsgF\9bldPos
+(
+pS\9dMsg
+, 
+SIP_ALG_AT
+, &
+pos
+,
+
+1307 
+pS\9dMsg
+ +ð
+pos
+ + 1;
+
+1309 
+addrPÜtL\92
+ = 
+pTmpS\9dMsg
+ - 
+pS\9dMsg
+;
+
+1311 
\9atf
+
+
+1313 \15 
+NULL
+;
+
+1316 
+pS\9dMsg
+ =
+
+1317 
+       `ÇtS\9dAlgModifyPaylßdAddrPÜt
+(
+pS\9dMsg
+, &
+pS\9dMsgEnd
+,
+
+1318 
+addrPÜtL\92
+,
+
+1319 &
+diffL\92
+, 
+modIp
+,
+
+1320 
+modL4PÜt
+,
+
+1321 
+ADDRESS_PORT_STRING
+);
+
+1323 *
+diffModS\9dL\92
+ +ð
+diffL\92
+;
+
+1326 ià(
+ÇtS\9dAlgMsgF\9bldPos
+
+
+1327 (
+pS\9dMsg
+, 
+SIP_ALG_CALLID
+, &
+pos
+, 0è=ð
+TRUE
+) {
+
+1328 
+pS\9dMsg
+ +ð
+pos
+;
+
+1330 
+pTmpS\9dMsg
+ = 
+pS\9dMsg
+;
+
+1331 
+       `ÇtS\9dAlgMsgF\9bldPosF\9adC¾f
+(
+pTmpS\9dMsg
+,
+
+1332 
+SIP_ALG_CRLF
+, &
+pos
+,
+
+1334 
+pTmpS\9dMsg
+ +ð
+pos
+;
+
+1335 
+       `ÇtS\9dAlgMsgF\9bldPos
+(
+pS\9dMsg
+, 
+SIP_ALG_AT
+, &
+pos
+,
+
+1337 
+pS\9dMsg
+ +ð
+pos
+ + 1;
+
+1338 
+addrPÜtL\92
+ = 
+pTmpS\9dMsg
+ - 
+pS\9dMsg
+;
+
+1340 
+pS\9dMsg
+ =
+
+1341 
+       `ÇtS\9dAlgModifyPaylßdAddrPÜt
+(
+pS\9dMsg
+,
+
+1342 &
+pS\9dMsgEnd
+,
+
+1343 
+addrPÜtL\92
+,
+
+1344 &
+diffL\92
+,
+
+1345 
+modIp
+, 0,
+
+1346 
+ADDRESS_PORT_STRING
+);
+
+1348 *
+diffModS\9dL\92
+ +ð
+diffL\92
+;
+
+1351 
+       `´\9atf
+("sip_alg_process; "
+
+1353 \15 
+NULL
+;
+
+1357 } \vià(
+ÿÎ_d\9ceùiÚ
+ =ð
+SIP_CALL_INCOMING
+) {
+
+1358 ià((
+msgTy³
+ =ð
+SIP_ALG_INVITE_MSGTYPE
+)
+
+1359 || (
+msgTy³
+ =ð
+SIP_ALG_ACK_MSGTYPE
+)) {
+
+1362 ià(
+       `ÇtS\9dAlgMsgF\9bldPos
+(
+pS\9dMsg
+, 
+SIP_ALG_AT
+, &
+pos
+, 0)
+
+1363 =ð
+TRUE
+) {
+
+1364 
+pS\9dMsg
+ +ð
+pos
+ + 1;
+
+1365 
+pTmpS\9dMsg
+ = 
+pS\9dMsg
+;
+
+1366 
+       `ÇtS\9dAlgMsgF\9bldPos
+(
+pTmpS\9dMsg
+, 
+SIP_ALG_SIP
+,
+
+1367 &
+pos
+, 0);
+
+1368 
+pTmpS\9dMsg
+ +ð(
+pos
+ - 1);
+
+1370 
+addrPÜtL\92
+ = 
+pTmpS\9dMsg
+ - 
+pS\9dMsg
+;
+
+1372 
\9atf
+
+
+1374 
+__LINE__
+);
+
+1375 \15 
+NULL
+;
+
+1378 
+pS\9dMsg
+ =
+
+1379 
+       `ÇtS\9dAlgModifyPaylßdAddrPÜt
+(
+pS\9dMsg
+, &
+pS\9dMsgEnd
+,
+
+1380 
+addrPÜtL\92
+,
+
+1381 &
+diffL\92
+, 
+modIp
+,
+
+1382 
+modL4PÜt
+,
+
+1383 
+ADDRESS_PORT_STRING
+);
+
+1384 *
+diffModS\9dL\92
+ +ð
+diffL\92
+;
+
+1388 ià(
+       `ÇtS\9dAlgMsgF\9bldPos
+(
+pS\9dMsg
+, 
+SIP_ALG_TO
+, &
+pos
+, 0)
+
+1389 =ð
+TRUE
+) {
+
+1390 
+pS\9dMsg
+ +ð
+pos
+;
+
+1391 
+pTmpS\9dMsg
+ = 
+pS\9dMsg
+;
+
+1392 
+       `ÇtS\9dAlgMsgF\9bldPos
+(
+pTmpS\9dMsg
+, 
+SIP_ALG_GREAT
+,
+
+1393 &
+pos
+, 0);
+
+1394 
+pTmpS\9dMsg
+ +ð
+pos
+;
+
+1395 
+       `ÇtS\9dAlgMsgF\9bldPos
+(
+pS\9dMsg
+, 
+SIP_ALG_AT
+, &
+pos
+,
+
+1397 
+pS\9dMsg
+ +ð
+pos
+ + 1;
+
+1398 
+addrPÜtL\92
+ = 
+pTmpS\9dMsg
+ - 
+pS\9dMsg
+;
+
+1400 
+       `´\9atf
+("sip_alg_processing; "
+
+1402 
+__LINE__
+);
+
+1403 \15 
+NULL
+;
+
+1406 
+pS\9dMsg
+ =
+
+1407 
+       `ÇtS\9dAlgModifyPaylßdAddrPÜt
+(
+pS\9dMsg
+, &
+pS\9dMsgEnd
+,
+
+1408 
+addrPÜtL\92
+,
+
+1409 &
+diffL\92
+, 
+modIp
+,
+
+1410 
+modL4PÜt
+,
+
+1411 
+ADDRESS_PORT_STRING
+);
+
+1412 *
+diffModS\9dL\92
+ +ð
+diffL\92
+;
+
+1414 } \vià((
+msgTy³
+ =ð
+SIP_ALG_TRYING_RINGING_MSGTYPE
+)
+
+1415 || (
+msgTy³
+ =ð
+SIP_ALG_200_OK_INVITE_MSGTYPE
+)) {
+
+1418 ià(
+       `ÇtS\9dAlgMsgF\9bldPos
+(
+pS\9dMsg
+, 
+SIP_ALG_TO
+, &
+pos
+, 0)
+
+1419 =ð
+TRUE
+) {
+
+1420 
+pS\9dMsg
+ +ð
+pos
+;
+
+1421 
+pTmpS\9dMsg
+ = 
+pS\9dMsg
+;
+
+1422 
+       `ÇtS\9dAlgMsgF\9bldPos
+(
+pTmpS\9dMsg
+, 
+SIP_ALG_GREAT
+,
+
+1423 &
+pos
+, 0);
+
+1424 
+pTmpS\9dMsg
+ +ð
+pos
+;
+
+1425 
+       `ÇtS\9dAlgMsgF\9bldPos
+(
+pS\9dMsg
+, 
+SIP_ALG_AT
+, &
+pos
+,
+
+1427 
+pS\9dMsg
+ +ð
+pos
+ + 1;
+
+1428 
+addrPÜtL\92
+ = 
+pTmpS\9dMsg
+ - 
+pS\9dMsg
+;
+
+1429 
+pS\9dMsg
+ =
+
+1430 
+       `ÇtS\9dAlgModifyPaylßdAddrPÜt
+(
+pS\9dMsg
+,
+
+1431 &
+pS\9dMsgEnd
+,
+
+1432 
+addrPÜtL\92
+,
+
+1433 &
+diffL\92
+,
+
+1434 
+modIp
+,
+
+1435 
+modL4PÜt
+,
+
+1436 
+ADDRESS_PORT_STRING
+);
+
+1437 *
+diffModS\9dL\92
+ +ð
+diffL\92
+;
+
+1440 ià(
+msgTy³
+ =ð
+SIP_ALG_200_OK_INVITE_MSGTYPE
+) {
+
+1444 ià(
+ÇtS\9dAlgMsgF\9bldPos
+
+
+1445 (
+pS\9dMsg
+, 
+SIP_ALG_CONTACT
+, &
+pos
+,
+
+1446 0è=ð
+TRUE
+) {
+
+1447 
+pS\9dMsg
+ +ð
+pos
+;
+
+1449 
+pTmpS\9dMsg
+ = 
+pS\9dMsg
+;
+
+1450 
+       `ÇtS\9dAlgMsgF\9bldPos
+(
+pTmpS\9dMsg
+,
+
+1451 
+SIP_ALG_SEMICOLON
+,
+
+1452 &
+pos
+, 0);
+
+1453 
+pTmpS\9dMsg
+ +ð
+pos
+;
+
+1455 \12
+æag
+ = 0;
+
+1456 ià(
+       `ÇtS\9dAlgMsgF\9bldPos
+(
+pS\9dMsg
+,
+
+1457 
+SIP_ALG_AT
+, &
+pos
+,
+
+1458 30è=ð
+FALSE
+)
+
+1459 
+æag
+ = 1;
+
+1461 ià(
+æag
+)
+
+1462 \10
+S\9dMsgAdvªû
+;
+
+1464 
+pS\9dMsg
+ +ð
+pos
+ + 1;
+
+1465 
+addrPÜtL\92
+ = 
+pTmpS\9dMsg
+ - 
+pS\9dMsg
+;
+
+1467 
+       `´\9atf
+("sip_alg_process; "
+
+1469 \15 
+NULL
+;
+
+1472 
+pS\9dMsg
+ =
+
+1473 
+       `ÇtS\9dAlgModifyPaylßdAddrPÜt
+(
+pS\9dMsg
+,
+
+1474 &
+pS\9dMsgEnd
+,
+
+1475 
+addrPÜtL\92
+,
+
+1476 &
+diffL\92
+,
+
+1477 
+modIp
+,
+
+1478 
+modL4PÜt
+,
+
+1479 
+ADDRESS_PORT_STRING
+);
+
+1481 *
+diffModS\9dL\92
+ +ð
+diffL\92
+;
+
+1482 
+S\9dMsgAdvªû
+:
+
+1484 
+pTmpS\9dMsg
+ = 
+pS\9dMsg
+;
+
+1485 ià(
+ÇtS\9dAlgMsgF\9bldPos
+
+
+1486 (
+pS\9dMsg
+, 
+SIP_ALG_REMOTE_PARTY_ID
+, &
+pos
+,
+
+1487 0è=ð
+TRUE
+) {
+
+1488 
+pS\9dMsg
+ +ð
+pos
+ +
+
+1489 
+       `¡¾\92
+(
+SIP_ALG_REMOTE_PARTY_ID
+);
+
+1490 
+pTmpS\9dMsg
+ = 
+pS\9dMsg
+;
+
+1491 
+       `ÇtS\9dAlgMsgF\9bldPos
+(
+pTmpS\9dMsg
+,
+
+1492 
+SIP_ALG_GREAT
+,
+
+1493 &
+pos
+, 0);
+
+1494 
+pTmpS\9dMsg
+ +ð
+pos
+;
+
+1495 
+       `ÇtS\9dAlgMsgF\9bldPos
+(
+pS\9dMsg
+,
+
+1496 
+SIP_ALG_AT
+, &
+pos
+,
+
+1498 
+pS\9dMsg
+ +ð
+pos
+ + 1;
+
+1499 
+addrPÜtL\92
+ = 
+pTmpS\9dMsg
+ - 
+pS\9dMsg
+;
+
+1501 
+pS\9dMsg
+ =
+
+1502 
+ÇtS\9dAlgModifyPaylßdAddrPÜt
+
+
+1503 (
+pS\9dMsg
+, &
+pS\9dMsgEnd
+, 
+addrPÜtL\92
+,
+
+1504 &
+diffL\92
+, 
+modIp
+, 
+modL4PÜt
+,
+
+1505 
+ADDRESS_PORT_STRING
+);
+
+1506 
+diffModS\9dL\92
+ +ð
+diffL\92
+;
+
+1508 
+       `´\9atf
+("sip_alg_process: "
+
+1510 
+pS\9dMsg
+ = 
+pTmpS\9dMsg
+;
+
+1514 ià(
+ÇtS\9dAlgMsgF\9bldPos
+
+
+1515 (
+pS\9dMsg
+, 
+SIP_ALG_OWNER
+, &
+pos
+,
+
+1516 0è=ð
+TRUE
+) {
+
+1517 
+pS\9dMsg
+ +ð
+pos
+;
+
+1519 
+pTmpS\9dMsg
+ = 
+pS\9dMsg
+;
+
+1521 
+       `ÇtS\9dAlgMsgF\9bldPosF\9adC¾f
+(
+pS\9dMsg
+,
+
+1522 
+SIP_ALG_CRLF
+,
+
+1523 &
+pos
+,
+
+1525 
+pTmpS\9dMsg
+ +ð
+pos
+;
+
+1528 
+       `ÇtS\9dAlgMsgF\9bldPos
+(
+pS\9dMsg
+,
+
+1529 
+SIP_ALG_IPV4
+, &
+pos
+,
+
+1531 
+pS\9dMsg
+ +ð(
+pos
+ + 
+       `¡¾\92
+(
+SIP_ALG_IPV4
+));
+
+1532 
+       `SKIP_SPACES
+(
+pS\9dMsg
+);
+
+1534 
+addrPÜtL\92
+ = 
+pTmpS\9dMsg
+ - 
+pS\9dMsg
+;
+
+1536 
+       `´\9atf
+("sip_alg_processing: "
+
+1538 \15 
+NULL
+;
+
+1541 
+pS\9dMsg
+ =
+
+1542 
+       `ÇtS\9dAlgModifyPaylßdAddrPÜt
+(
+pS\9dMsg
+,
+
+1543 &
+pS\9dMsgEnd
+,
+
+1544 
+addrPÜtL\92
+,
+
+1545 &
+diffL\92
+,
+
+1546 
+modIp
+, 0,
+
+1547 
+ADDRESS_PORT_STRING
+);
+
+1549 *
+diffModS\9dL\92
+ +ð
+diffL\92
+;
+
+1550 
+sdpMsgL\92
+ +ð
+diffL\92
+;
+
+1554 ià(
+ÇtS\9dAlgMsgF\9bldPos
+
+
+1555 (
+pS\9dMsg
+, 
+SIP_ALG_CONN
+, &
+pos
+,
+
+1556 0è=ð
+TRUE
+) {
+
+1557 
+pS\9dMsg
+ +ð
+pos
+;
+
+1558 
+pTmpS\9dMsg
+ = 
+pS\9dMsg
+;
+
+1560 
+       `ÇtS\9dAlgMsgF\9bldPosF\9adC¾f
+(
+pS\9dMsg
+,
+
+1561 
+SIP_ALG_CRLF
+,
+
+1562 &
+pos
+,
+
+1564 
+pTmpS\9dMsg
+ +ð
+pos
+;
+
+1567 
+       `ÇtS\9dAlgMsgF\9bldPos
+(
+pS\9dMsg
+,
+
+1568 
+SIP_ALG_IPV4
+, &
+pos
+,
+
+1570 
+pS\9dMsg
+ +ð(
+pos
+ + 
+       `¡¾\92
+(
+SIP_ALG_IPV4
+));
+
+1571 
+       `SKIP_SPACES
+(
+pS\9dMsg
+);
+
+1573 
+addrPÜtL\92
+ = 
+pTmpS\9dMsg
+ - 
+pS\9dMsg
+;
+
+1575 
+       `´\9atf
+("sip_alg_processing: "
+
+1577 \15 
+NULL
+;
+
+1580 
+pS\9dMsg
+ =
+
+1581 
+       `ÇtS\9dAlgModifyPaylßdAddrPÜt
+(
+pS\9dMsg
+,
+
+1582 &
+pS\9dMsgEnd
+,
+
+1583 
+addrPÜtL\92
+,
+
+1584 &
+diffL\92
+,
+
+1585 
+modIp
+, 0,
+
+1586 
+ADDRESS_PORT_STRING
+);
+
+1588 *
+diffModS\9dL\92
+ +ð
+diffL\92
+;
+
+1589 
+sdpMsgL\92
+ +ð
+diffL\92
+;
+
+1593 ià(
+ÇtS\9dAlgMsgF\9bldPos
+
+
+1594 (
+pS\9dMsg
+, 
+SIP_ALG_AUDIO
+, &
+pos
+,
+
+1595 0è=ð
+TRUE
+) {
+
+1596 
+pS\9dMsg
+ +=
+
+1597 (
+pos
+ + 
+       `¡¾\92
+(
+SIP_ALG_AUDIO
+));
+
+1598 
+       `SKIP_SPACES
+(
+pS\9dMsg
+);
+
+1599 
+pTmpS\9dMsg
+ = 
+pS\9dMsg
+;
+
+1600 
+ÇtS\9dAlgMsgF\9bldPosF\9adS·û
+
+
+1601 (
+pTmpS\9dMsg
+, 
+SIP_ALG_SPACE
+, &
+pos
+,
+
+1603 
+pTmpS\9dMsg
+ +ð
+pos
+;
+
+1604 
+addrPÜtL\92
+ = 
+pTmpS\9dMsg
+ - 
+pS\9dMsg
+;
+
+1608 
+pS\9dMsg
+ =
+
+1609 
+       `ÇtS\9dAlgModifyPaylßdAddrPÜt
+(
+pS\9dMsg
+,
+
+1610 &
+pS\9dMsgEnd
+,
+
+1611 
+addrPÜtL\92
+,
+
+1612 &
+diffL\92
+, 0,
+
+1613 
+modR\8dPÜt
+,
+
+1614 
+PORT_STRING
+);
+
+1616 *
+diffModS\9dL\92
+ +ð
+diffL\92
+;
+
+1617 
+sdpMsgL\92
+ +ð
+diffL\92
+;
+
+1620 } \vià(
+pkt_d\9ceùiÚ
+ =ð
+PUBLIC
+
+
+1621 && 
+msgTy³
+ =ð
+SIP_ALG_BYE_MSGTYPE
+) {
+
+1625 
+       `ÇtS\9dAlgMsgF\9bldPos
+(
+pS\9dMsg
+, 
+SIP_ALG_AT
+, &
+pos
+, 0);
+
+1626 
+pS\9dMsg
+ +ð
+pos
+ + 1;
+
+1627 
+pTmpS\9dMsg
+ = 
+pS\9dMsg
+;
+
+1628 
+       `ÇtS\9dAlgMsgF\9bldPosF\9adS·û
+(
+pTmpS\9dMsg
+, 
+SIP_ALG_SPACE
+,
+
+1629 &
+pos
+, 0);
+
+1630 
+pTmpS\9dMsg
+ +ð
+pos
+;
+
+1631 
+addrPÜtL\92
+ = 
+pTmpS\9dMsg
+ - 
+pS\9dMsg
+;
+
+1633 
+pS\9dMsg
+ =
+
+1634 
+       `ÇtS\9dAlgModifyPaylßdAddrPÜt
+(
+pS\9dMsg
+, &
+pS\9dMsgEnd
+,
+
+1635 
+addrPÜtL\92
+,
+
+1636 &
+diffL\92
+, 
+modIp
+,
+
+1637 
+modL4PÜt
+,
+
+1638 
+ADDRESS_PORT_STRING
+);
+
+1639 *
+diffModS\9dL\92
+ +ð
+diffL\92
+;
+
+1643 ià(
+       `ÇtS\9dAlgMsgF\9bldPos
+(
+pS\9dMsg
+, 
+SIP_ALG_TO
+, &
+pos
+, 0)
+
+1644 =ð
+TRUE
+) {
+
+1645 
+pS\9dMsg
+ +ð
+pos
+;
+
+1646 
+pTmpS\9dMsg
+ = 
+pS\9dMsg
+;
+
+1647 
+       `ÇtS\9dAlgMsgF\9bldPos
+(
+pTmpS\9dMsg
+, 
+SIP_ALG_GREAT
+,
+
+1648 &
+pos
+, 0);
+
+1649 
+pTmpS\9dMsg
+ +ð
+pos
+;
+
+1650 
+       `ÇtS\9dAlgMsgF\9bldPos
+(
+pS\9dMsg
+, 
+SIP_ALG_AT
+, &
+pos
+,
+
+1652 
+pS\9dMsg
+ +ð
+pos
+ + 1;
+
+1653 
+addrPÜtL\92
+ = 
+pTmpS\9dMsg
+ - 
+pS\9dMsg
+;
+
+1654 
+pS\9dMsg
+ =
+
+1655 
+       `ÇtS\9dAlgModifyPaylßdAddrPÜt
+(
+pS\9dMsg
+,
+
+1656 &
+pS\9dMsgEnd
+,
+
+1657 
+addrPÜtL\92
+,
+
+1658 &
+diffL\92
+,
+
+1659 
+modIp
+,
+
+1660 
+modL4PÜt
+,
+
+1661 
+ADDRESS_PORT_STRING
+);
+
+1662 *
+diffModS\9dL\92
+ +ð
+diffL\92
+;
+
+1665 
\9atf
+
+
+1667 \15 
+NULL
+;
+
+1669 } \vià(
+pkt_d\9ceùiÚ
+ =ð
+PRIVATE
+
+
+1670 && 
+msgTy³
+ =ð
+SIP_ALG_BYE_MSGTYPE
+) {
+
+1674 ià(
+       `ÇtS\9dAlgMsgF\9bldPos
+(
+pS\9dMsg
+, 
+SIP_ALG_VIA
+, &
+pos
+, 0)
+
+1675 =ð
+TRUE
+) {
+
+1677 
+pS\9dMsg
+ +=
+
+1678 (
+pos
+ + 
+       `¡¾\92
+(
+SIP_ALG_VIA
+) +
+
+1679 
+SIP_ALG_VIA_FIELD_IPADDR
+);
+
+1680 
+pTmpS\9dMsg
+ = 
+pS\9dMsg
+;
+
+1682 
+       `ÇtS\9dAlgMsgF\9bldPos
+(
+pTmpS\9dMsg
+,
+
+1683 
+SIP_ALG_SEMICOLON
+, &
+pos
+,
+
+1685 
+pTmpS\9dMsg
+ +ð
+pos
+;
+
+1686 
+addrPÜtL\92
+ = 
+pTmpS\9dMsg
+ - 
+pS\9dMsg
+;
+
+1688 
+       `´\9atf
+("sip_alg_process; No valid VIA field\n");
+
+1689 \15 
+NULL
+;
+
+1692 
+pS\9dMsg
+ =
+
+1693 
+       `ÇtS\9dAlgModifyPaylßdAddrPÜt
+(
+pS\9dMsg
+, &
+pS\9dMsgEnd
+,
+
+1694 
+addrPÜtL\92
+,
+
+1695 &
+diffL\92
+, 
+modIp
+, 0,
+
+1696 
+ADDRESS_PORT_STRING
+);
+
+1697 *
+diffModS\9dL\92
+ = 
+diffL\92
+;
+
+1700 ià(
+       `ÇtS\9dAlgMsgF\9bldPos
+(
+pS\9dMsg
+, 
+SIP_ALG_FROM
+, &
+pos
+, 0)
+
+1701 =ð
+TRUE
+) {
+
+1702 
+pS\9dMsg
+ +ð
+pos
+;
+
+1704 
+pTmpS\9dMsg
+ = 
+pS\9dMsg
+;
+
+1706 
+       `ÇtS\9dAlgMsgF\9bldPos
+(
+pTmpS\9dMsg
+, 
+SIP_ALG_GREAT
+,
+
+1707 &
+pos
+, 0);
+
+1708 
+pTmpS\9dMsg
+ +ð
+pos
+;
+
+1709 
+diffL\92
+ = 
+pTmpS\9dMsg
+ - 
+pS\9dMsg
+;
+
+1711 
+       `ÇtS\9dAlgMsgF\9bldPos
+(
+pS\9dMsg
+, 
+SIP_ALG_AT
+, &
+pos
+,
+
+1713 
+pS\9dMsg
+ +ð
+pos
+ + 1;
+
+1715 
+addrPÜtL\92
+ = 
+pTmpS\9dMsg
+ - 
+pS\9dMsg
+;
+
+1717 
\9atf
+
+
+1719 \15 
+NULL
+;
+
+1722 
+pS\9dMsg
+ =
+
+1723 
+       `ÇtS\9dAlgModifyPaylßdAddrPÜt
+(
+pS\9dMsg
+, &
+pS\9dMsgEnd
+,
+
+1724 
+addrPÜtL\92
+,
+
+1725 &
+diffL\92
+, 
+modIp
+,
+
+1726 
+modL4PÜt
+,
+
+1727 
+ADDRESS_PORT_STRING
+);
+
+1729 *
+diffModS\9dL\92
+ +ð
+diffL\92
+;
+
+1731 } \vià(
+pkt_d\9ceùiÚ
+ =ð
+PRIVATE
+
+
+1732 && 
+msgTy³
+ =ð
+SIP_ALG_200_OK_BYE_MSGTYPE
+) {
+
+1736 ià(
+       `ÇtS\9dAlgMsgF\9bldPos
+(
+pS\9dMsg
+, 
+SIP_ALG_VIA
+, &
+pos
+, 0)
+
+1737 =ð
+TRUE
+) {
+
+1739 
+pS\9dMsg
+ +=
+
+1740 (
+pos
+ + 
+       `¡¾\92
+(
+SIP_ALG_VIA
+) +
+
+1741 
+SIP_ALG_VIA_FIELD_IPADDR
+);
+
+1742 
+pTmpS\9dMsg
+ = 
+pS\9dMsg
+;
+
+1744 
+       `ÇtS\9dAlgMsgF\9bldPos
+(
+pTmpS\9dMsg
+,
+
+1745 
+SIP_ALG_SEMICOLON
+, &
+pos
+,
+
+1747 
+pTmpS\9dMsg
+ +ð
+pos
+;
+
+1748 
+addrPÜtL\92
+ = 
+pTmpS\9dMsg
+ - 
+pS\9dMsg
+;
+
+1750 
+       `´\9atf
+("sip_alg_process; No valid VIA field\n");
+
+1751 \15 
+NULL
+;
+
+1754 
+pS\9dMsg
+ =
+
+1755 
+       `ÇtS\9dAlgModifyPaylßdAddrPÜt
+(
+pS\9dMsg
+, &
+pS\9dMsgEnd
+,
+
+1756 
+addrPÜtL\92
+,
+
+1757 &
+diffL\92
+, 
+modIp
+, 0,
+
+1758 
+ADDRESS_PORT_STRING
+);
+
+1759 *
+diffModS\9dL\92
+ = 
+diffL\92
+;
+
+1762 ià(
+       `ÇtS\9dAlgMsgF\9bldPos
+(
+pS\9dMsg
+,
+
+1763 
+SIP_ALG_FROM
+, &
+pos
+, 0è=ð
+TRUE
+) {
+
+1764 
+pS\9dMsg
+ +ð
+pos
+;
+
+1766 
+pTmpS\9dMsg
+ = 
+pS\9dMsg
+;
+
+1768 
+       `ÇtS\9dAlgMsgF\9bldPos
+(
+pTmpS\9dMsg
+, 
+SIP_ALG_GREAT
+,
+
+1769 &
+pos
+, 0);
+
+1770 
+pTmpS\9dMsg
+ +ð
+pos
+;
+
+1771 
+diffL\92
+ = 
+pTmpS\9dMsg
+ - 
+pS\9dMsg
+;
+
+1773 
+       `ÇtS\9dAlgMsgF\9bldPos
+(
+pS\9dMsg
+, 
+SIP_ALG_AT
+, &
+pos
+,
+
+1775 
+pS\9dMsg
+ +ð
+pos
+ + 1;
+
+1777 
+addrPÜtL\92
+ = 
+pTmpS\9dMsg
+ - 
+pS\9dMsg
+;
+
+1779 
\9atf
+
+
+1781 \15 
+NULL
+;
+
+1784 
+pS\9dMsg
+ =
+
+1785 
+       `ÇtS\9dAlgModifyPaylßdAddrPÜt
+(
+pS\9dMsg
+, &
+pS\9dMsgEnd
+,
+
+1786 
+addrPÜtL\92
+,
+
+1787 &
+diffL\92
+, 
+modIp
+,
+
+1788 
+modL4PÜt
+,
+
+1789 
+ADDRESS_PORT_STRING
+);
+
+1791 *
+diffModS\9dL\92
+ +ð
+diffL\92
+;
+
+1793 } \vià(
+pkt_d\9ceùiÚ
+ =ð
+PUBLIC
+
+
+1794 && 
+msgTy³
+ =ð
+SIP_ALG_200_OK_BYE_MSGTYPE
+) {
+
+1796 ià(
+       `ÇtS\9dAlgMsgF\9bldPos
+(
+pS\9dMsg
+, 
+SIP_ALG_TO
+, &
+pos
+, 0)
+
+1797 =ð
+TRUE
+) {
+
+1798 
+pS\9dMsg
+ +ð
+pos
+;
+
+1800 
+pTmpS\9dMsg
+ = 
+pS\9dMsg
+;
+
+1802 
+       `ÇtS\9dAlgMsgF\9bldPos
+(
+pTmpS\9dMsg
+, 
+SIP_ALG_GREAT
+,
+
+1803 &
+pos
+, 0);
+
+1804 
+pTmpS\9dMsg
+ +ð
+pos
+;
+
+1805 
+diffL\92
+ = 
+pTmpS\9dMsg
+ - 
+pS\9dMsg
+;
+
+1807 
+       `ÇtS\9dAlgMsgF\9bldPos
+(
+pS\9dMsg
+, 
+SIP_ALG_AT
+, &
+pos
+,
+
+1809 
+pS\9dMsg
+ +ð
+pos
+ + 1;
+
+1811 
+addrPÜtL\92
+ = 
+pTmpS\9dMsg
+ - 
+pS\9dMsg
+;
+
+1813 
\9atf
+
+
+1815 \15 
+NULL
+;
+
+1818 
+pS\9dMsg
+ = 
+       `ÇtS\9dAlgModifyPaylßdAddrPÜt
+(pSipMsg,
+
+1819 &
+pS\9dMsgEnd
+,
+
+1820 
+addrPÜtL\92
+,
+
+1821 &
+diffL\92
+, 
+modIp
+,
+
+1822 
+modL4PÜt
+,
+
+1823 
+ADDRESS_PORT_STRING
+);
+
+1825 *
+diffModS\9dL\92
+ = 
+diffL\92
+;
+
+1829 ià(
+ÇtS\9dAlgMsgF\9bldPos
+
+
+1830 (
+pS\9dMsg
+, 
+SIP_ALG_CONTACT
+, &
+pos
+, 0è=ð
+TRUE
+) {
+
+1831 
+pS\9dMsg
+ +ð
+pos
+;
+
+1833 
+pTmpS\9dMsg
+ = 
+pS\9dMsg
+;
+
+1834 
+       `ÇtS\9dAlgMsgF\9bldPosF\9adC¾f
+(
+pTmpS\9dMsg
+,
+
+1835 
+SIP_ALG_CRLF
+, &
+pos
+,
+
+1837 
+pTmpS\9dMsg
+ +ð
+pos
+;
+
+1839 
+       `ÇtS\9dAlgMsgF\9bldPos
+(
+pS\9dMsg
+, 
+SIP_ALG_AT
+, &
+pos
+,
+
+1841 
+pS\9dMsg
+ +ð
+pos
+ + 1;
+
+1842 
+addrPÜtL\92
+ = 
+pTmpS\9dMsg
+ - 
+pS\9dMsg
+;
+
+1844 
+       `´\9atf
+("sip_alg_process; "
+
+1846 \15 
+NULL
+;
+
+1849 
+pS\9dMsg
+ =
+
+1850 
+       `ÇtS\9dAlgModifyPaylßdAddrPÜt
+(
+pS\9dMsg
+, &
+pS\9dMsgEnd
+,
+
+1851 
+addrPÜtL\92
+,
+
+1852 &
+diffL\92
+, 
+modIp
+,
+
+1853 
+modL4PÜt
+,
+
+1854 
+ADDRESS_PORT_STRING
+);
+
+1856 *
+diffModS\9dL\92
+ +ð
+diffL\92
+;
+
+1860 
+S\9dMsgAdvªû2
+:
+
+1862 ià(
+ÿÎ_d\9ceùiÚ
+ =ð
+SIP_CALL_OUTGOING
+) {
+
+1864 ià(
+pkt_d\9ceùiÚ
+ =ð
+PRIVATE
+) {
+
+1865 ià(
+msgTy³
+ =ð
+SIP_ALG_200_OK_BYE_MSGTYPE
+) {
+
+1866 ià(
+»move_s\9d_®g_\92\8cy
+
+
+1867 (
+       `¹e_bsw­32
+(
+\9d_h
+->
+¤c_addr
+),
+
+1868 
+       `¹e_bsw­16
+(
+udp_h
+->
+¤c_pÜt
+)) < 0)
+
+1869 
+       `´\9atf
+("removesipalgentry failed: "
+
+1871 
+\9d_h
+->
+¤c_addr
+, 
+udp_h
+->
+¤c_pÜt
+);
+
+1875 ià(
+pkt_d\9ceùiÚ
+ =ð
+PUBLIC
+) {
+
+1876 ià(
+msgTy³
+ =ð
+SIP_ALG_200_OK_BYE_MSGTYPE
+) {
+
+1877 ià(
+       `»move_s\9d_®g_\92\8cy
+(
+pubIp
+, 
+pubL4PÜt
+) < 0)
+
+1878 
+       `´\9atf
+("removesipalgentry failed: "
+
+1880 
+pubIp
+, 
+pubL4PÜt
+);
+
+1886 ià((
+sdpMsgL\92
+ > 0è&& (
+sdpD©aL\92
+ > 0)) {
+
+1887 
+pS\9dMsg
+ = 
+pS\8f¹S\9dMsg
+;
+
+1888 \ 5*
+tmpSdpL\92
+ = 
+NULL
+;
+
+1890 
+sdpMsgL\92
+ +ð
+sdpD©aL\92
+;
+
+1891 
+tmpSdpL\92
+ = 
+       `\99ß
+(
+sdpMsgL\92
+);
+
+1892 \12
+tmpS\8cL\92
+ = 
+       `¡¾\92
+(
+tmpSdpL\92
+);
+
+1895 ià(
+       `ÇtS\9dAlgMsgF\9bldPos
+(
+pS\9dMsg
+, 
+SIP_ALG_CONTENT_LEN
+, &
+pos
+, 0)
+
+1896 =ð
+TRUE
+) {
+
+1897 
+pS\9dMsg
+ +ð(
+pos
+ + 
+       `TAG_TO_DATAPOS
+(
+SIP_ALG_CONTENT_LEN
+));
+
+1898 
+       `SKIP_SPACES
+(
+pS\9dMsg
+);
+
+1899 
+pTmpS\9dMsg
+ = 
+pS\9dMsg
+;
+
+1900 
+       `ÇtS\9dAlgMsgF\9bldPosF\9adC¾f
+(
+pTmpS\9dMsg
+,
+
+1901 
+SIP_ALG_DOUBLE_CRLF
+, &
+pos
+,
+
+1903 
+pTmpS\9dMsg
+ +ð
+pos
+;
+
+1904 
+       `SKIP_SPACES
+(
+pS\9dMsg
+);
+
+1905 
+diffL\92
+ = 
+pTmpS\9dMsg
+ - 
+pS\9dMsg
+;
+
+1906 
+       `ÇtS\9dAlgAdju¡Msg
+(
+pS\9dMsg
+, &
+pS\9dMsgEnd
+, 
+tmpS\8cL\92
+,
+
+1907 
+diffL\92
+);
+
+1908 
+       `¡ºýy
+(
+pS\9dMsg
+, 
+tmpSdpL\92
+, 
+tmpS\8cL\92
+);
+
+1910 
+       `´\9atf
+("sip_alg_process: Invalid Content Length\n");
+
+1911 \15 
+NULL
+;
+
+1915 
+s\9dAlgProûssEx\99
+:
+
+1917 \15 
+pS\8f¹S\9dMsg
+;
+
+1918 
+       }
+}
+
+1924 \12
+       $ÇtS\9dAlgG\91AudioPÜts
+(\19
+¹e_mbuf
+ *
+pkt
+, 
+u\9at16_t
+ *
+¹pPÜt
+,
+
+1925 
+u\9at16_t
+ *
+¹ýPÜt
+)
+
+1927 \19
+\9dv4_hdr
+ *
+\9d_h
+;
+
+1928 \19
+\91h\94_hdr
+ *
+\91h_h
+ = 
+       `¹e_pktmbuf_mtod
+(
+pkt
+, \19ether_hdr *);
+
+1929 \19
+udp_hdr
+ *
+udp_h
+;
+
+1930 \ 5*
+pS\9dMsg
+, *
+pEndP\8c
+;
+
+1931 \12
+pos
+, 
+sdpMsgL\92
+;
+
+1933 
+\9d_h
+ = (\19
+\9dv4_hdr
+ *)((\ 5*)
+\91h_h
+ + \17(\19
+\91h\94_hdr
+));
+
+1934 
+udp_h
+ = (\19
+udp_hdr
+ *)((\ 5*)
+\9d_h
+ + \17(\19
+\9dv4_hdr
+));
+
+1935 
+pS\9dMsg
+ = ((\ 5*)
+udp_h
+ + \17(\19
+udp_hdr
+));
+
+1938 ià(
+       `ÇtS\9dAlgMsgF\9bldPos
+(
+pS\9dMsg
+, 
+SIP_ALG_CONTYPE
+, &
+pos
+, 0è=ð
+FALSE
+)
+
+1941 
+pS\9dMsg
+ +ð(
+pos
+ + 
+       `TAG_TO_DATAPOS
+(
+SIP_ALG_CONTYPE
+));
+
+1942 
+       `SKIP_SPACES
+(
+pS\9dMsg
+);
+
+1945 ià(!
+       `IS_STRING_SAME
+(
+pS\9dMsg
+, 
+SIP_ALG_APPSDP
+)) {
+
+1946 
+       `´\9atf
+("sip_alg_getAudioPort Invalid Content\81ype\n");
+
+1951 
+       `ÇtS\9dAlgMsgF\9bldPos
+(
+pS\9dMsg
+, 
+SIP_ALG_CONTENT_LEN
+, &
+pos
+, 0);
+
+1952 
+pS\9dMsg
+ +ð(
+pos
+ + 
+       `TAG_TO_DATAPOS
+(
+SIP_ALG_CONTENT_LEN
+));
+
+1953 
+       `SKIP_SPACES
+(
+pS\9dMsg
+);
+
+1954 
+sdpMsgL\92
+ = 
+       `¡¹Þ
+(
+pS\9dMsg
+, &
+pEndP\8c
+, 10);
+
+1955 ià(!
+sdpMsgL\92
+) {
+
+1956 
+       `´\9atf
+("sipAlggetAudioport - sdpMsgLen is 0\n");
+
+1961 ià(
+       `ÇtS\9dAlgMsgF\9bldPos
+(
+pS\9dMsg
+, 
+SIP_ALG_AUDIO
+, &
+pos
+, 0) ==
+
+1962 
+TRUE
+) {
+
+1963 
+pS\9dMsg
+ +ð(
+pos
+ + 
+       `TAG_TO_DATAPOS
+(
+SIP_ALG_AUDIO
+));
+
+1964 
+       `SKIP_SPACES
+(
+pS\9dMsg
+);
+
+1965 *
+¹pPÜt
+ = 
+       `¡¹Þ
+(
+pS\9dMsg
+, &
+pEndP\8c
+, 10);
+
+1967 *
+¹pPÜt
+ = 0;
+
+1970 ià(
+       `ÇtS\9dAlgMsgF\9bldPos
+(
+pS\9dMsg
+, 
+SIP_ALG_RTCP
+, &
+pos
+, 0) ==
+
+1971 
+TRUE
+) {
+
+1972 
+pS\9dMsg
+ +ð(
+pos
+ + 
+       `TAG_TO_DATAPOS
+(
+SIP_ALG_RTCP
+));
+
+1973 
+       `SKIP_SPACES
+(
+pS\9dMsg
+);
+
+1974 *
+¹ýPÜt
+ = 
+       `¡¹Þ
+(
+pS\9dMsg
+, &
+pEndP\8c
+, 10);
+
+1976 *
+¹ýPÜt
+ = 0;
+
+1978 ià(
+ALG_DEBUG
+)
+
+1979 
+       `´\9atf
+(" sipAlgGetAudioPort;\84tpPort %d,\84tcpPort %d\n",
+
+1980 *
+¹pPÜt
+, *
+¹ýPÜt
+);
+
+1982 
+       }
+}
+
+1986 
+       $ÇtS\9dAlgMsgF\9bldPosF\9adS·û
+(\ 5*
+pD©a
+, cڡ \ 5*
+pIdS\8c
+, \12*
+pPos
+,
+
+1987 \12
+£¬chL\92
+)
+
+1989 \ 5*
+pS\8f¹
+ = 
+pD©a
+;
+
+1990 \12
+i
+ = 0;
+
+1992 ià(!
+pIdS\8c
+)
+
+1993 \15 
+FALSE
+;
+
+1995 ià(!
+£¬chL\92
+)
+
+1996 
+£¬chL\92
+ = 1500;
+
+1998 \1f
+TRUE
+) {
+
+1999 \1f*
+pD©a
+ != ' ') {
+
+2000 
+pD©a
+++;
+
+2001 
+i
+++;
+
+2004 ià(
+i
+ > 
+£¬chL\92
+) {
+
+2005 
+       `´\9atf
+("SIP ALG Find Field Pos: "
+
+2007 
+£¬chL\92
+);
+
+2008 *
+pPos
+ = 
+£¬chL\92
+;
+
+2009 \15 
+FALSE
+;
+
+2012 ià(
+       `bcmp
+(
+pD©a
+, 
+pIdS\8c
+, 
+       `¡¾\92
+(pIdStr)) == 0)
+
+2016 *
+pPos
+ = 
+pD©a
+ - 
+pS\8f¹
+;
+
+2017 \15 
+TRUE
+;
+
+2018 
+       }
+}
+
+2021 \12
+       $ÇtS\9dAlgMsgF\9bldPosF\9adC¾f
+(
+
+2022 \ 5*
+pD©a
+,
+
+2023 cڡ \ 5*
+pIdS\8c
+,
+
+2024 \12*
+pPos
+,
+
+2025 \12
+£¬chL\92
+)
+
+2027 \ 5*
+pS\8f¹
+ = 
+pD©a
+;
+
+2028 \12
+i
+ = 0;
+
+2030 ià(!
+pIdS\8c
+)
+
+2031 \15 
+FALSE
+;
+
+2033 ià(!
+£¬chL\92
+)
+
+2034 
+£¬chL\92
+ = 1500;
+
+2036 \1f
+TRUE
+) {
+
+2037 \1f*
+pD©a
+ != '\r' && *(pData + 1) != '\n') {
+
+2038 
+pD©a
+++;
+
+2039 
+i
+++;
+
+2041 ià(
+i
+ >ð
+£¬chL\92
+) {
+
+2042 
+       `´\9atf
+("SIP ALG Find Field Pos: "
+
+2044 
+£¬chL\92
+);
+
+2045 *
+pPos
+ = 
+£¬chL\92
+;
+
+2046 \15 
+FALSE
+;
+
+2049 ià(
+       `bcmp
+(
+pD©a
+, 
+pIdS\8c
+, 
+       `¡¾\92
+(pIdStr)) == 0)
+
+2053 *
+pPos
+ = 
+pD©a
+ - 
+pS\8f¹
+;
+
+2054 \15 
+TRUE
+;
+
+2055 
+       }
+}
+
+2058 \12
+       $ÇtS\9dAlgMsgF\9bldPos
+(\ 5*
+pD©a
+,
+
+2059 cڡ \ 5*
+pIdS\8c
+,
+
+2060 \12*
+pPos
+,
+
+2061 \12
+£¬chL\92
+)
+
+2063 \ 5*
+pS\8f¹
+ = 
+pD©a
+;
+
+2064 \12
+i
+ = 0, 
+j
+ = 0;
+
+2066 ià(!
+pIdS\8c
+)
+
+2067 \15 
+FALSE
+;
+
+2069 ià(!
+£¬chL\92
+)
+
+2070 
+£¬chL\92
+ = 1500;
+
+2072 \1f
+TRUE
+) {
+
+2073 \1f*
+pD©a
+ != '\r' && *(pData + 1) != '\n') {
+
+2076 \1f*
+pD©a
+ == ' ') {
+
+2077 
+pD©a
+++;
+
+2078 
+j
+++;
+
+2081 ià(*
+pD©a
+ == '\r' && *(pData + 1) == '\n')
+
+2084 ià(
+       `bcmp
+(
+pD©a
+, 
+pIdS\8c
+, 
+       `¡¾\92
+(pIdStr)) == 0) {
+
+2085 *
+pPos
+ = 
+pD©a
+ - 
+pS\8f¹
+;
+
+2086 \15 
+TRUE
+;
+
+2089 
+pD©a
+++;
+
+2090 
+j
+++;
+
+2092 ià(
+j
+ >ð
+£¬chL\92
+) {
+
+2093 *
+pPos
+ = 
+pD©a
+ - 
+pS\8f¹
+;
+
+2094 \15 
+FALSE
+;
+
+2101 \ f
+i
+ = 0; i < (
+£¬chL\92
+ - 1); i++) {
+
+2102 ià(
+pD©a
+[
+i
+] == '\r')
+
+2103 ià(
+pD©a
+[
+i
+ + 1] == '\n')
+
+2107 ià(
+i
+ > 
+£¬chL\92
+) {
+
+2108 
+       `´\9atf
+("SIP ALG Find Field Pos: "
+
+2110 
+£¬chL\92
+);
+
+2111 *
+pPos
+ = 
+£¬chL\92
+;
+
+2112 \15 
+FALSE
+;
+
+2115 
+pD©a
+ +ð
+i
+ + 2;
+
+2116 
+£¬chL\92
+ -ð(
+i
+ + 2);
+
+2118 ià((
+pD©a
+[0] == '\r' &&\85Data[1] == '\n') ||
+
+2119 (
+£¬chL\92
+ <= 0)) {
+
+2122 ià(
+£¬chL\92
+ > 0) {
+
+2123 
+pD©a
+ += 2;
+
+2127 *
+pPos
+ = 
+pD©a
+ - 
+pS\8f¹
+;
+
+2129 \15 
+FALSE
+;
+
+2133 *
+pPos
+ = 
+pD©a
+ - 
+pS\8f¹
+;
+
+2134 \15 
+TRUE
+;
+
+2135 
+       }
+}
+
+2138 \ 5*
+       $g\91S\9dC®lIdS\8c
+(\ 5*
+pMsg
+)
+
+2140 \ 5*
+pS\8f¹
+;
+
+2141 \ 5*
+pC®lId
+ = 
+NULL
+;
+
+2142 \12
+i
+;
+
+2144 
+pS\8f¹
+ = 
+pMsg
+;
+
+2145 \ f
+i
+ = 0; i < 200; i++) {
+
+2146 ià(*
+pMsg
+ != '\r')
+
+2147 
+pMsg
+++;
+
+2151 ià(
+i
+ >= 200) {
+
+2152 
+       `´\9atf
+("SIP_ALG: getCallid wrong string format\n");
+
+2153 \15 
+NULL
+;
+
+2156 
+size_t
+size
+ = 
+       `RTE_CACHE_LINE_ROUNDUP
+(
+pMsg
+ - 
+pS\8f¹
+ + 1);
+
+2158 
+pC®lId
+ = 
+       `¹e_zm®loc
+(
+NULL
+, 
+size
+, 
+RTE_CACHE_LINE_SIZE
+);
+
+2159 ià(!
+pC®lId
+)
+
+2160 \15 
+NULL
+;
+
+2162 
+       `bcÝy
+(
+pS\8f¹
+, 
+pC®lId
+, 
+pMsg
+ -\85Start);
+
+2163 *(
+pC®lId
+ + (
+pMsg
+ - 
+pS\8f¹
+)) = 0;
+
+2165 ià(
+ALG_DEBUG
+)
+
+2166 
+       `´\9atf
+("%s: %s\n", 
+__func__
+, 
+pC®lId
+);
+
+2168 \15 
+pC®lId
+;
+
+2169 
+       }
+}
+
+2171 \ 5*
+       $ÇtS\9dAlgModifyPaylßdAddrPÜt
+(
+
+2172 \ 5*
+pS\9dMsg
+, \ 5**
+pS\9dMsgEnd
+,
+
+2173 
+u\9at32_t
+ÞdS\8cL\92
+, u\9at32_\88*
+diffL\92
+,
+
+2174 
+u\9at32_t
+modIp
+, 
+u\9at16_t
+modPÜt
+, u\9at32_\88
+ty³
+)
+
+2176 \ 5
+add½Üt
+[
+MAX_ADDR_PORT_SIZE
+];
+
+2177 \19
+\9a_addr
+\9dAddr
+;
+
+2178 
+u\9at32_t
+ÃwS\8cL\92
+ = 0;
+
+2179 \ 5*
+tmpPÜt
+ = 
+NULL
+;
+
+2181 ià(
+modPÜt
+ != 0)
+
+2182 
+tmpPÜt
+ = 
+       `\99ß
+(
+modPÜt
+);
+
+2184 *
+diffL\92
+ = 0;
+
+2185 ià(
+ty³
+ =ð
+ADDRESS_PORT_STRING
+) {
+
+2186 
+\9dAddr
+.
+s_addr
+ = 
+       `htÚl
+(
+modIp
+);
+
+2187 \ 5*
+tmpAddr
+ = 
+       `\9a\91_Áß
+(
+\9dAddr
+);
+
+2189 ià(
+modPÜt
+ != 0)
+
+2190 
+       `¥r\9atf
+(
+add½Üt
+, "%s:%s", 
+tmpAddr
+, 
+tmpPÜt
+);
+
+2192 
+       `¥r\9atf
+(
+add½Üt
+, "%s", 
+tmpAddr
+);
+
+2194 
+ÃwS\8cL\92
+ = 
+       `¡¾\92
+(
+add½Üt
+);
+
+2196 ià(
+       `abs
+(
+ÃwS\8cL\92
+ - 
+ÞdS\8cL\92
+) > 0) {
+
+2201 
+       `ÇtS\9dAlgAdju¡Msg
+(
+pS\9dMsg
+, 
+pS\9dMsgEnd
+,
+
+2202 
+ÃwS\8cL\92
+, 
+ÞdS\8cL\92
+);
+
+2206 
+       `¡ºýy
+(
+pS\9dMsg
+, 
+add½Üt
+, 
+       `¡¾\92
+(addrport));
+
+2207 } \vià(
+ty³
+ =ð
+PORT_STRING
+) {
+
+2208 if(
+tmpPÜt
+)
+
+2209 
+ÃwS\8cL\92
+ = 
+       `¡¾\92
+(
+tmpPÜt
+);
+
+2211 ià(
+       `abs
+(
+ÃwS\8cL\92
+ - 
+ÞdS\8cL\92
+) > 0) {
+
+2216 
+       `ÇtS\9dAlgAdju¡Msg
+(
+pS\9dMsg
+, 
+pS\9dMsgEnd
+,
+
+2217 
+ÃwS\8cL\92
+, 
+ÞdS\8cL\92
+);
+
+2221 if(
+tmpPÜt
+)
+
+2222 
+       `¡ºýy
+(
+pS\9dMsg
+, 
+tmpPÜt
+, 
+       `¡¾\92
+(tmpPort));
+
+2225 ià(
+ÃwS\8cL\92
+ > 
+ÞdS\8cL\92
+)
+
+2226 *
+diffL\92
+ = 
+ÃwS\8cL\92
+ - 
+ÞdS\8cL\92
+;
+
+2228 \15 
+pS\9dMsg
+;
+
+2229 
+       }
+}
+
+2231 \ 5*
+       $ÇtS\9dAlgAdju¡Msg
+(\ 5*
+pS\9dMsg
+, \ 5**
+pS\9dMsgEnd
+,
+
+2232 
+u\9at32_t
+ÃwS\8cL\92
+, u\9at32_\88
+ÞdS\8cL\92
+)
+
+2234 \ 5
+MsgBufãr
+[
+MAX_SIP_UDP_MSG_SIZE
+];
+
+2236 ià(
+ÃwS\8cL\92
+ > 
+ÞdS\8cL\92
+) {
+
+2237 
+pS\9dMsg
+ +ð
+ÞdS\8cL\92
+;
+
+2238 \12
+msgL\92
+ = *
+pS\9dMsgEnd
+ - 
+pS\9dMsg
+;
+
+2240 
+       `¡ºýy
+(
+MsgBufãr
+, 
+pS\9dMsg
+, 
+msgL\92
+);
+
+2241 
+pS\9dMsg
+ +ð(
+ÃwS\8cL\92
+ - 
+ÞdS\8cL\92
+);
+
+2242 
+       `¡ºýy
+(
+pS\9dMsg
+, 
+MsgBufãr
+, 
+msgL\92
+);
+
+2244 ià(
+ALG_DEBUG
+)
+
+2245 
+       `´\9atf
+("ÇtS\9dAlgAdju¡Msg: %u\n", 
+msgL\92
+);
+
+2248 *
+pS\9dMsgEnd
+ +ð(
+ÃwS\8cL\92
+ - 
+ÞdS\8cL\92
+);
+
+2251 
+       `mem£t
+(
+pS\9dMsg
+, ' ', 
+ÞdS\8cL\92
+);
+
+2254 \15 
+pS\9dMsg
+;
+
+2255 
+       }
+}
+
+       @VIL/alg/lib_sip_alg.h
+
+17 #iâdeà
+__INCLUDE_LIB_ALG_H__
+
+
+18 \ 1
+       #__INCLUDE_LIB_ALG_H__
+
+
+       )
+
+20 \ 2
+       ~"¹e_\91h\94.h
+"
+
+22 
+u\9at16_t
+       gs\9d_£ssiÚ_numb\94
+;
+
+23 \ 1
+       #IS_STRING_SAME
+(
+pS\8c
+, 
+¡rId
+è(
+       `bcmp
+(ÕS\8c), s\8cId, 
+       `¡¾\92
+(¡rId)è=ð0)
+
+       )
+
+24 \ 1
+       #TAG_TO_DATAPOS
+(
+¡r
+è(
+       `¡¾\92
+(¡rè+ 1)
+
+       )
+
+25 \ 1
+       #SKIP_SPACES
+(
+pS\8c
+) \
+
+27 \1f*(\ 5*)(
+pS\8c
+) == ' ') \
+
+28 (\ 5*)(
+pS\8c
+)++; \
+
+29 }
+
+       )
+
+31 \f
+       epkt_d\9c
+ {
+       mPRIVATE
+, 
+       mPUBLIC
+};
+
+34 \f
+       es\9d_®g_ÿÎ_d\9ceùiÚ
+ {
+
+35 
+       mSIP_CALL_INCOMING
+,
+
+36 
+       mSIP_CALL_OUTGOING
+
+
+40 \f
+       es\9d_®g_pÜt_ty³
+ {
+
+41 
+       mSIP_UDP
+,
+
+42 
+       mSIP_RTP
+,
+
+43 
+       mSIP_RTCP
+
+
+50 \19
+       ss\9d_®g_key
+ {
+
+55 
+u\9at32_t
+       m\9d_add»ss
+;
+
+56 
+u\9at16_t
+       ml4pÜt
+;
+
+57 
+u\9at8_t
+       mf\9eËr1
+;
+
+58 
+u\9at8_t
+       mf\9eËr2
+;
+
+65 \19
+       ss\9d_®g_\8fbË_\92\8cy
+ {
+
+66 
+u\9at32_t
+       m\9d_add»ss
+;
+
+71 
+u\9at16_t
+       ml4pÜt
+;
+
+72 
+u\9at8_t
+       ms\9d_®g_ÿÎ_d\9ceùiÚ
+;
+
+74 
+u\9at8_t
+       ms\9d_®g_ÿÎ_id
+[100];
+
+75 
+u\9at8_t
+       ml4pÜt_ty³
+;
+
+76 
+u\9at8_t
+       mf\9eËr1
+;
+
+77 
+u\9at16_t
+       mf\9eËr2
+;
+
+78 
+u\9at32_t
+       mf\9eËr3
+;
+
+79 } 
+       g__¹e_ÿche_®igÃd
+;
+
+94 \1e
+lib_s\9d_®g_\9a\99
+(\1e);
+
+117 \12
+s\9d_®g_dpi
+(\19
+¹e_mbuf
+ *
+pkt
+, \f
+pkt_d\9c
+pkt_d\9ceùiÚ
+,
+
+118 
+u\9at32_t
+modIp
+, 
+u\9at16_t
+modL4PÜt
+,
+
+119 
+u\9at32_t
+pubIp
+, 
+u\9at16_t
+pubL4PÜt
+,
+
+120 
+u\9at16_t
+modR\8dPÜt
+, u\9at16_\88
+modRtýPÜt
+);
+
+133 \12
+ÇtS\9dAlgG\91AudioPÜts
+(
+
+134 \19
+¹e_mbuf
+ *
+pkt
+,
+
+135 
+u\9at16_t
+ *
+¹pPÜt
+,
+
+136 
+u\9at16_t
+ *
+¹ý_pÜt
+);
+
+137 \12
+ÇtS\9dAlgMsgF\9bldPos
+(
+
+138 \ 5*
+pD©a
+,
+
+139 cڡ \ 5*
+pIdS\8c
+,
+
+140 \12*
+pos
+,
+
+141 \12
+£¬chL\92
+);
+
+142 \12
+ÇtS\9dAlgMsgF\9bldPosF\9adC¾f
+(
+
+143 \ 5*
+pD©a
+,
+
+144 cڡ \ 5*
+pIdS\8c
+,
+
+145 \12*
+pPos
+,
+
+146 \12
+£¬chL\92
+);
+
+147 \12
+ÇtS\9dAlgMsgF\9bldPosF\9adS·û
+(
+
+148 \ 5*
+pD©a
+,
+
+149 cڡ \ 5*
+pIdS\8c
+,
+
+150 \12*
+pPos
+,
+
+151 \12
+£¬chL\92
+);
+
+152 \12
+»move_s\9d_®g_\92\8cy
+(
+
+153 
+u\9at32_t
+\9daddr
+,
+
+154 
+u\9at16_t
+pÜtid
+);
+
+       @VIL/conntrack/rte_cnxn_tracking.c
+
+17 \ 2
+       ~<¹e_\91h\94.h
+>
+
+18 \ 2
+       ~<¹e_´eãtch.h
+>
+
+19 \ 2
+       ~<¹e_cyþes.h
+>
+
+20 \ 2
+       ~<¹e_m®loc.h
+>
+
+21 \ 2
+       ~<¹e_memýy.h
+>
+
+22 \ 2
+       ~<¹e_tim\94.h
+>
+
+23 \ 2
+       ~<¹e_¥\9alock.h
+>
+
+24 \ 2
+       ~"¹e_úxn_\8cack\9ag.h
+"
+
+25 \ 2
+       ~"¹e_ù_tý.h
+"
+
+27 \ 1
+       #CNXN_TRX_DEBUG
+ 0
+
+       )
+
+28 \ 1
+       #TESTING_TIMERS
+ 0
+
+       )
+
+29 \ 1
+       #RTE_CT_TIMER_EXPIRED_DUMP
+ 0
+
+       )
+
+31 \ 1
+       #META_DATA_OFFSET
+ 128
+
+       )
+
+32 \ 1
+       #ETHERNET_START
+ (
+META_DATA_OFFSET
+ + 
+RTE_PKTMBUF_HEADROOM
+)
+
+       )
+
+33 \ 1
+       #ETH_HDR_SIZE
+ 14
+
+       )
+
+34 \ 1
+       #IP_START
+ (
+ETHERNET_START
+ + 
+ETH_HDR_SIZE
+)
+
+       )
+
+35 \ 1
+       #PROTOCOL_START
+ (
+IP_START
+ + 9)
+
+       )
+
+36 \ 1
+       #SRC_ADDR_START
+ (
+IP_START
+ + 12)
+
+       )
+
+37 \ 1
+       #TCP_START
+ (
+IP_START
+ + 20)
+
+       )
+
+40 \ 1
+       #PROTOCOL_START_IPV6
+ (
+IP_START
+ + 6)
+
+       )
+
+41 \ 1
+       #SRC_ADDR_START_IPV6
+ (
+IP_START
+ + 8)
+
+       )
+
+42 \ 1
+       #TCP_START_IPV6
+ (
+IP_START
+ + 40)
+
+       )
+
+44 \ 1
+       #TCP_PROTOCOL
+ 6
+
+       )
+
+45 \ 1
+       #UDP_PROTOCOL
+ 17
+
+       )
+
+46 \ 1
+       #TCP_FW_IPV4_KEY_SIZE
+ 16
+
+       )
+
+48 \ 1
+       #TCP_FW_IPV6_KEY_SIZE
+ 40
+
+       )
+
+50 \ 1
+       #IPv4_HEADER_SIZE
+ 20
+
+       )
+
+51 \ 1
+       #IPv6_HEADER_SIZE
+ 40
+
+       )
+
+53 \ 1
+       #IP_VERSION_4
+ 4
+
+       )
+
+54 \ 1
+       #IP_VERSION_6
+ 6
+
+       )
+
+57 
+¹e_ù_úxn_\8cack\94_b©ch_lookup_basic_ty³
+(
+
+58 \19
+¹e_ù_úxn_\8cack\94
+ *
+,
+
+59 \19
+¹e_mbuf
+ **
+pkts
+,
+
+60 
+u\9at64_t
+ *
+pkts_mask
+,
+
+61 
+u\9at64_t
+no_Ãw_úxn_mask
+,
+
+62 
+u\9at64_t
+ *
+»¶y_pkt_mask
+,
+
+63 
+u\9at64_t
+ *
+hijack_mask
+,
+
+64 
+u\9at8_t
+\9d_hdr_size_by\8bs
+);
+
+74 
+       $¹e_ù_úxn_´\9at_pkt
+(\19
+¹e_mbuf
+ *
+pkt
+, 
+u\9at8_t
+ty³
+)
+
+76 \12
+i
+;
+
+77 
+u\9at8_t
+ *
+rd
+ = 
+       `RTE_MBUF_METADATA_UINT8_PTR
+(
+pkt
+, 
+IP_START
+);
+
+79 
+       `´\9atf
+("\n");
+
+80 
+       `´\9atf
+("IP\87nd TCP/UDP headers:\n");
+
+82 ià(
+ty³
+ =ð
+IP_VERSION_4
+) {
+
+83 \ f
+i
+ = 0; i < 40; i++) {
+
+84 
+       `´\9atf
+("%02x ", 
+rd
+[
+i
+]);
+
+85 ià((
+i
+ & 3) == 3)
+
+86 
+       `´\9atf
+("\n");
+
+88 
+       `´\9atf
+("\n");
+
+91 ià(
+ty³
+ =ð
+IP_VERSION_6
+) {
+
+92 \ f
+i
+ = 0; i < 60; i++) {
+
+93 
+       `´\9atf
+("%02x ", 
+rd
+[
+i
+]);
+
+94 ià((
+i
+ & 3) == 3)
+
+95 
+       `´\9atf
+("\n");
+
+97 
+       `´\9atf
+("\n");
+
+100 
+       }
+}
+
+103 
+       $¹e_úxn_\9d_ty³
+(
+u\9at8_t
+ *
+ty³
+, \19
+¹e_mbuf
+ *
+pkt
+)
+
+106 \12
+\9d_hdr_size_by\8bs
+ = 
+       `¹e_ù_g\91_IP_hdr_size
+(
+pkt
+);
+
+108 ià(
+\9d_hdr_size_by\8bs
+ =ð
+IPv4_HEADER_SIZE
+)
+
+109 *
+ty³
+ = 
+IP_VERSION_4
+;
+
+111 ià(
+\9d_hdr_size_by\8bs
+ =ð
+IPv6_HEADER_SIZE
+)
+
+112 *
+ty³
+ = 
+IP_VERSION_6
+;
+
+113 
+       }
+}
+
+116 
+       $¹e_ù_´\9at_hashkey
+(
+u\9at32_t
+ *
+key
+)
+
+118 
+       `´\9atf
+("Key: %08x %08x %08x %08x %08x %08x %08x %08x %08x %08x \\\n",
+
+119 
+key
+[0], key[1], key[2], key[3],
+
+120 
+key
+[4], key[5], key[6], key[7], key[8], key[9]);
+
+121 
+       }
+}
+
+133 
+u\9at8_t
+
+
+134 
+       $¹e_ù_ü\97\8b_úxn_hashkey
+(
+
+135 
+u\9at32_t
+ *
+¤c_addr
+,
+
+136 
+u\9at32_t
+ *
+d¡_addr
+,
+
+137 
+u\9at16_t
+¤c_pÜt
+,
+
+138 
+u\9at16_t
+d¡_pÜt
+,
+
+139 
+u\9at8_t
+´Ùo
+,
+
+140 
+u\9at32_t
+ *
+key
+,
+
+141 
+u\9at8_t
+ty³
+)
+
+143 
+u\9at8_t
+hash_Üd\94_Üig\9a®_d\9ceùiÚ
+ = 1;
+
+145 
+key
+[9] = 
+´Ùo
+;
+
+147 ià(
+ty³
+ =ð
+IP_VERSION_4
+) {
+
+148 
+u\9at32_t
+sourû
+ = *
+¤c_addr
+;
+
+149 
+u\9at32_t
+de¡
+ = *
+d¡_addr
+;
+
+151 
+key
+[3] = key[4] = key[5] = key[6] = key[7] = key[8] = 0;
+
+153 ià((
+sourû
+ < 
+de¡
+)
+
+154 || ((
+sourû
+ =ð
+de¡
+è&& (
+¤c_pÜt
+ < 
+d¡_pÜt
+))) {
+
+155 
+key
+[0] = 
+sourû
+;
+
+156 
+key
+[1] = 
+de¡
+;
+
+157 
+key
+[2] = (
+¤c_pÜt
+ << 16è| 
+d¡_pÜt
+;
+
+159 
+key
+[0] = 
+de¡
+;
+
+160 
+key
+[1] = 
+sourû
+;
+
+161 
+key
+[2] = (
+d¡_pÜt
+ << 16è| 
+¤c_pÜt
+;
+
+162 
+hash_Üd\94_Üig\9a®_d\9ceùiÚ
+ = 0;
+
+166 ià(
+ty³
+ =ð
+IP_VERSION_6
+) {
+
+167 \12
+\9d_cmp
+ = 
+       `memcmp
+(
+¤c_addr
+, 
+d¡_addr
+, 16);
+
+168 
+u\9at32_t
+ *
+lo_addr
+;
+
+169 
+u\9at32_t
+ *
+hi_addr
+;
+
+171 ià((
+\9d_cmp
+ < 0è|| ((\9d_cm°=ð0è&& (
+¤c_pÜt
+ < 
+d¡_pÜt
+))) {
+
+172 
+lo_addr
+ = 
+¤c_addr
+;
+
+173 
+hi_addr
+ = 
+d¡_addr
+;
+
+174 
+key
+[8] = (
+¤c_pÜt
+ << 16è| 
+d¡_pÜt
+;
+
+176 
+lo_addr
+ = 
+d¡_addr
+;
+
+177 
+hi_addr
+ = 
+¤c_addr
+;
+
+178 
+key
+[8] = (
+d¡_pÜt
+ << 16è| 
+¤c_pÜt
+;
+
+179 
+hash_Üd\94_Üig\9a®_d\9ceùiÚ
+ = 0;
+
+181 
+key
+[0] = 
+lo_addr
+[0];
+
+182 
+key
+[1] = 
+lo_addr
+[1];
+
+183 
+key
+[2] = 
+lo_addr
+[2];
+
+184 
+key
+[3] = 
+lo_addr
+[3];
+
+185 
+key
+[4] = 
+hi_addr
+[0];
+
+186 
+key
+[5] = 
+hi_addr
+[1];
+
+187 
+key
+[6] = 
+hi_addr
+[2];
+
+188 
+key
+[7] = 
+hi_addr
+[3];
+
+191 #ifdeà
+ALGDBG
+
+
+192 
+       `¹e_ù_´\9at_hashkey
+(
+key
+);
+
+194 \15 
+hash_Üd\94_Üig\9a®_d\9ceùiÚ
+;
+
+195 
+       }
+}
+
+199 
+       $¹e_ù_g\91_IP_hdr_size
+(\19
+¹e_mbuf
+ *
+pkt
+)
+
+207 
+u\9at8_t
+hdr_chk
+ = 
+       `RTE_MBUF_METADATA_UINT8
+(
+pkt
+, 
+IP_START
+);
+
+209 
+hdr_chk
+ = hdr_chk >> 4;
+
+211 ià(
+hdr_chk
+ =ð
+IP_VERSION_4
+)
+
+212 \15 
+IPv4_HEADER_SIZE
+;
+
+214 \vià(
+hdr_chk
+ =ð
+IP_VERSION_6
+)
+
+215 \15 
+IPv6_HEADER_SIZE
+;
+
+224 
+       }
+}
+
+227 
+       $¹e_ù_£t_tim\94_fÜ_Ãw_úxn
+(
+
+228 \19
+¹e_ù_úxn_\8cack\94
+ *
+,
+
+229 \19
+¹e_ù_úxn_d©a
+ *
+cd
+)
+
+231 
+cd
+->
+¡©e_u£d_fÜ_tim\94
+ = 
+RTE_CT_TCP_NONE
+;
+
+232 
+       `¹e_ù_£t_úxn_tim\94_fÜ_tý
+(
+, 
+cd
+, 
+RTE_CT_TCP_SYN_SENT
+);
+
+233 
+       }
+}
+
+264 \18
+\9al\9ae
\1e
+
+265 
+       $¹e_ù_»memb\94_Ãw_cÚÃùiÚ
+(
+
+266 \19
+¹e_ù_úxn_\8cack\94
+ *
+,
+
+267 \19
+¹e_ù_úxn_d©a
+ *
+\92\8cy
+)
+
+269 
+->
\8b¡_cÚÃùiÚ
+++;
+
+270 
+->
+Ãw_cÚÃùiÚs
+[ù->
\8b¡_cÚÃùiÚ
+] = 
+\92\8cy
+;
+
+271 
+       }
+}
+
+273 \18\19
+¹e_ù_úxn_d©a
+ *
+
+274 
+       $¹e_ù_£¬ch_Ãw_cÚÃùiÚs
+(\19
+¹e_ù_úxn_\8cack\94
+ *
+, 
+u\9at32_t
+ *
+key
+)
+
+276 \12
+i
+;
+
+278 \ f
+i
+ = 0; i <ð
+->
\8b¡_cÚÃùiÚ
+; i++) {
+
+279 
+u\9at32_t
+ *
+úxn_key
+ = 
+->
+Ãw_cÚÃùiÚs
+[
+i
+]->
+key
+;
+
+280 \12
+key_cmp
+ = 
+       `memcmp
+(
+úxn_key
+, 
+key
+,
+
+281 \17(
+->
+Ãw_cÚÃùiÚs
+[
+i
+]->
+key
+));
+
+283 ià(
+key_cmp
+ == 0)
+
+284 \15 
+->
+Ãw_cÚÃùiÚs
+[
+i
+];
+
+286 \15 
+NULL
+;
+
+287 
+       }
+}
+
+289 \18
+\9al\9ae
\1e
+       $¹e_ù_fÜg\91_Ãw_cÚÃùiÚs
+(\19
+¹e_ù_úxn_\8cack\94
+ *
+)
+
+291 
+->
\8b¡_cÚÃùiÚ
+ = -1;
+
+292 
+       }
+}
+
+297 \18\f
+¹e_ù_·ck\91_aùiÚ
+
+
+298 
+       $¹e_ù_hªdË_tý_lookup
+(
+
+299 \19
+¹e_ù_úxn_\8cack\94
+ *
+,
+
+300 \19
+¹e_mbuf
+ *
+·ck\91
+,
+
+301 
+u\9at8_t
+pkt_num
+,
+
+302 
+u\9at8_t
+key_is_þ\9bÁ_Üd\94
+,
+
+303 
+u\9at32_t
+ *
+key
+,
+
+304 \12
+hash_\8fbË_\92\8cy
+,
+
+305 \12
+no_Ãw_úxn
+,
+
+306 
+u\9at8_t
+\9d_hdr_size_by\8bs
+)
+
+308 \19
+¹e_ù_úxn_d©a
+Ãw_úxn_d©a
+;
+
+310 
+       `mem£t
+(&
+Ãw_úxn_d©a
+, 0, \17(\19
+¹e_ù_úxn_d©a
+));
+
+311 \f
+¹e_ù_·ck\91_aùiÚ
+·ck\91_aùiÚ
+;
+
+313 #ifdeà
+CT_CGNAT
+
+
+314 
+\9at32_t
+pos\99
+ = 
+hash_\8fbË_\92\8cy
+;
+
+315 
+->
+pos\99iÚs
+[
+pkt_num
+] = 
+pos\99
+;
+
+319 ià(
+hash_\8fbË_\92\8cy
+ >= 0) {
+
+325 \19
+¹e_ù_úxn_d©a
+ *
+\92\8cy
+ =
+
+326 &
+->
+hash_\8fbË_\92\8c\9bs
+[
+hash_\8fbË_\92\8cy
+];
+
+328 
+·ck\91_aùiÚ
+ = 
+       `¹e_ù_v\94ify_tý_·ck\91
+(
+, 
+\92\8cy
+, 
+·ck\91
+,
+
+329 
+key_is_þ\9bÁ_Üd\94
+, 
+\9d_hdr_size_by\8bs
+);
+
+331 \1a
+·ck\91_aùiÚ
+) {
+
+333 \ 4
+RTE_CT_FORWARD_PACKET
+:
+
+334 
+\92\8cy
+->
+couÁ\94s
+.
+·ck\91s_fÜw¬ded
+++;
+
+337 \ 4
+RTE_CT_DROP_PACKET
+:
+
+338 
+\92\8cy
+->
+couÁ\94s
+.
+·ck\91s_drݳd
+++;
+
+339 \15 
+RTE_CT_DROP_PACKET
+;
+
+341 \ 4
+RTE_CT_REOPEN_CNXN_AND_FORWARD_PACKET
+:
+
+348 ià(
+       `¹e_ù_tý_Ãw_cÚÃùiÚ
+(
+, &
+Ãw_úxn_d©a
+,
+
+349 
+·ck\91
+, 0, 
+\9d_hdr_size_by\8bs
+) !=
+
+350 
+RTE_CT_DROP_PACKET
+) {
+
+351 
+       `¹e_memýy
+(&
+\92\8cy
+->
+ù_´ÙocÞ
+.
+tý_ù_d©a
+,
+
+352 &
+Ãw_úxn_d©a
+.
+ù_´ÙocÞ
+.
+tý_ù_d©a
+,
+
+353 \17(
+Ãw_úxn_d©a
+.
+ù_´ÙocÞ
+.
+tý_ù_d©a
+));
+
+354 
+       `¹e_ù_£t_tim\94_fÜ_Ãw_úxn
+(
+, 
+\92\8cy
+);
+
+355 ià(
+->
+couÁ\94s
+->
+£ssiÚs_»aùiv©ed
+ > 0)
+
+356 
+->
+couÁ\94s
+->
+£ssiÚs_»aùiv©ed
+--;
+
+361 \ 4
+RTE_CT_SEND_SERVER_SYN
+:
+
+362 
+->
+couÁ\94s
+->
+pkts_fÜw¬ded
+++;
+
+364 \15 
+RTE_CT_SEND_SERVER_SYN
+;
+
+366 \ 4
+RTE_CT_SEND_SERVER_ACK
+:
+
+367 
+->
+couÁ\94s
+->
+pkts_fÜw¬ded
+++;
+
+369 \15 
+RTE_CT_SEND_SERVER_ACK
+;
+
+371 \ 4
+RTE_CT_HIJACK
+:
+
+372 
+->
+couÁ\94s
+->
+pkts_fÜw¬ded
+++;
+
+376 \15 
+RTE_CT_HIJACK
+;
+
+378 \ 4
+RTE_CT_DESTROY_CNXN_AND_FORWARD_PACKET
+:
+
+396 ià(
+       `¹e_hash_d\96_key
+(
+->
+rhash
+, 
+\92\8cy
+->
+key
+) >= 0) {
+
+407 
+->
+couÁ\94s
+->
+£ssiÚs_þo£d
+++;
+
+408 ià(
+->
+couÁ\94s
+->
+cu¼\92t_aùive_£ssiÚs
+ > 0)
+
+409 
+->
+couÁ\94s
+->
+cu¼\92t_aùive_£ssiÚs
+--;
+
+410 
+       `¹e_ù_ÿnûl_úxn_tim\94
+(
+\92\8cy
+);
+
+412 
+\92\8cy
+->
+couÁ\94s
+.
+·ck\91s_fÜw¬ded
+++;
+
+420 \19
+¹e_ù_úxn_d©a
+ *
+Ãw_hash_\92\8cy
+;
+
+422 ià(
+no_Ãw_úxn
+) {
+
+423 
+->
+couÁ\94s
+->
+pkts_drÝ_\9av®id_cÚn
+++;
+
+424 \15 
+RTE_CT_DROP_PACKET
+;
+
+427 
+·ck\91_aùiÚ
+ = 
+       `¹e_ù_tý_Ãw_cÚÃùiÚ
+(
+, &
+Ãw_úxn_d©a
+,
+
+428 
+·ck\91
+, 
+->
+misc_ÝtiÚs
+.
+syÅroxy_\92abËd
+,
+
+429 
+\9d_hdr_size_by\8bs
+);
+
+431 ià(
+       `uÆik\96y
+(
+·ck\91_aùiÚ
+ =ð
+RTE_CT_DROP_PACKET
+)) {
+
+432 
+->
+couÁ\94s
+->
+pkts_drÝ_\9av®id_cÚn
+++;
+
+433 \15 
+RTE_CT_DROP_PACKET
+;
+
+437 
+\9at32_t
+pos\99
+ = 
+       `¹e_hash_add_key
+(
+->
+rhash
+, 
+key
+);
+
+438 ià(
+pos\99
+ < 0) {
+
+439 
\9atf
+
+
+441 
+pos\99
+, 
+pkt_num
+);
+
+442 \15 
+RTE_CT_DROP_PACKET
+;
+
+444 #ifdeà
+CT_CGNAT
+
+
+445 
+->
+pos\99iÚs
+[
+pkt_num
+] = 
+pos\99
+;
+
+447 
+Ãw_hash_\92\8cy
+ = &
+->
+hash_\8fbË_\92\8c\9bs
+[
+pos\99
+];
+
+451 
+       `memýy
+(
+Ãw_úxn_d©a
+.
+key
+, key, \17(new_cnxn_data.key));
+
+452 
+Ãw_úxn_d©a
+.
+key_is_þ\9bÁ_Üd\94
+ = key_is_client_order;
+
+453 
+Ãw_úxn_d©a
+.
+´ÙocÞ
+ = 
+TCP_PROTOCOL
+;
+
+454 
+       `¹e_úxn_\9d_ty³
+(&
+Ãw_úxn_d©a
+.
+ty³
+, 
+·ck\91
+);
+
+455 
+       `¹e_memýy
+(
+Ãw_hash_\92\8cy
+, &
+Ãw_úxn_d©a
+,
+
+456 \17(\19
+¹e_ù_úxn_d©a
+));
+
+457 
+Ãw_hash_\92\8cy
+->
+couÁ\94s
+.
+·ck\91s_fÜw¬ded
+ = 1;
+
+458 
+Ãw_hash_\92\8cy
+->
+couÁ\94s
+.
+·ck\91s_drݳd
+ = 0;
+
+459 
+->
+couÁ\94s
+->
+cu¼\92t_aùive_£ssiÚs
+++;
+
+460 
+->
+couÁ\94s
+->
+£ssiÚs_aùiv©ed
+++;
+
+462 ià(
+·ck\91_aùiÚ
+ =ð
+RTE_CT_SEND_CLIENT_SYNACK
+) {
+
+466 
+       `¹e_¥_·r£_ÝtiÚs
+(
+·ck\91
+, 
+Ãw_hash_\92\8cy
+);
+
+473 
+       `¹e_¥_cvt_to_¥ooãd_þ\9bÁ_syÇck
+(
+Ãw_hash_\92\8cy
+,
+
+474 
+·ck\91
+);
+
+481 
+·ck\91_aùiÚ
+ = 
+       `¹e_ù_v\94ify_tý_·ck\91
+(
+,
+
+482 
+Ãw_hash_\92\8cy
+, 
+·ck\91
+,
+
+483 !
+key_is_þ\9bÁ_Üd\94
+,
+
+484 
+\9d_hdr_size_by\8bs
+);
+
+486 ià(
+       `uÆik\96y
+(
+·ck\91_aùiÚ
+ !ð
+RTE_CT_FORWARD_PACKET
+)) {
+
+488 
+       `´\9atf
+("Serious\83rror in synproxy generating ");
+
+489 
+       `´\9atf
+("SYN/ACK\n");
+
+490 \15 
+RTE_CT_DROP_PACKET
+;
+
+492 
+->
+couÁ\94s
+->
+pkts_fÜw¬ded
+++;
+
+494 \15 
+RTE_CT_SEND_CLIENT_SYNACK
+;
+
+496 
+       `¹e_ù_£t_tim\94_fÜ_Ãw_úxn
+(
+, 
+Ãw_hash_\92\8cy
+);
+
+508 
+->
+couÁ\94s
+->
+pkts_fÜw¬ded
+++;
+
+509 \15 
+RTE_CT_FORWARD_PACKET
+;
+
+510 
+       }
+}
+
+512 \18
+u\9at64_t
+
+
+513 
+       $¹e_ù_úxn_\8cack\94_b©ch_lookup_basic
+(
+
+514 \19
+¹e_ù_úxn_\8cack\94
+ *
+,
+
+515 \19
+¹e_mbuf
+ **
+pkts
+,
+
+516 
+u\9at64_t
+pkts_mask
+,
+
+517 
+u\9at64_t
+no_Ãw_úxn_mask
+,
+
+518 
+u\9at64_t
+ *
+»¶y_pkt_mask
+,
+
+519 
+u\9at64_t
+ *
+hijack_mask
+)
+
+522 
+u\9at64_t
+pkts_to_´oûss
+ = 
+pkts_mask
+;
+
+524 
+u\9at64_t
+v®id_·ck\91s
+ = 
+pkts_mask
+;
+
+525 
+u\9at8_t
+com·ù\9ag_m­
+[
+RTE_HASH_LOOKUP_BULK_MAX
+];
+
+527 
+u\9at8_t
+key_Üig_d\9c
+[
+RTE_HASH_LOOKUP_BULK_MAX
+];
+
+528 
+u\9at32_t
+·ck\91s_fÜ_lookup
+ = 0;
+
+529 
+\9at32_t
+pos\99iÚs
+[
+RTE_HASH_LOOKUP_BULK_MAX
+];
+
+530 
+u\9at32_t
+i
+;
+
+531 \19
+¹e_ù_úxn_d©a
+Ãw_úxn_d©a
+;
+
+533 ià(
+CNXN_TRX_DEBUG
+ > 1) {
+
+534 
+       `´\9atf
+("EÁ\94 cnxÀ\8cack\94 %p", 
+);
+
+535 
+       `´\9atf
+(" synproxy batch\86ookup with\85acket mask %p\n",
+
+536 (\1e*)
+pkts_mask
+);
+
+539 
+       `¹e_ù_fÜg\91_Ãw_cÚÃùiÚs
+(
+);
+
+540 *
+»¶y_pkt_mask
+ = 0;
+
+541 *
+hijack_mask
+ = 0;
+
+548 \ f
+pkts_to_´oûss
+;) {
+
+549 
+u\9at8_t
+pos
+ = (u\9at8_tè
+       `__bu\9et\9a_ùzÎ
+(
+pkts_to_´oûss
+);
+
+551 
+u\9at64_t
+pkt_mask
+ = 1LLU << 
+pos
+;
+
+553 
+pkts_to_´oûss
+ &ð~
+pkt_mask
+;
+
+555 \19
+¹e_mbuf
+ *
+pkt
+ = 
+pkts
+[
+pos
+];
+
+557 \12
+\9d_hdr_size_by\8bs
+ = 
+       `¹e_ù_g\91_IP_hdr_size
+(
+pkt
+);
+
+559 ià(
+       `uÆik\96y
+(
+\9d_hdr_size_by\8bs
+ < 0)) {
+
+564 \1e*
+\9d_hdr
+ = 
+       `RTE_MBUF_METADATA_UINT32_PTR
+(
+pkt
+, 
+IP_START
+);
+
+569 \19
+tý_hdr
+ *
+thdr
+ =
+
+570 (\19
+tý_hdr
+ *)
+       `RTE_MBUF_METADATA_UINT32_PTR
+(
+pkt
+,
+
+571 (
+IP_START
+ + 
+\9d_hdr_size_by\8bs
+));
+
+572 
+u\9at16_t
+¤c_pÜt
+ = 
+       `¹e_bsw­16
+(
+thdr
+->src_port);
+
+573 
+u\9at16_t
+d¡_pÜt
+ = 
+       `¹e_bsw­16
+(
+thdr
+->dst_port);
+
+575 ià(
+\9d_hdr_size_by\8bs
+ =ð
+IPv4_HEADER_SIZE
+) {
+
+576 \19
+\9dv4_hdr
+ *
+ihdr
+ = (\19\9dv4_hd¸*)
+\9d_hdr
+;
+
+577 
+u\9at8_t
+´Ùo
+ = 
+ihdr
+->
+Ãxt_´Ùo_id
+;
+
+579 ià(!(
+´Ùo
+ =ð
+TCP_PROTOCOL
+ ||\85rÙØ=ð
+UDP_PROTOCOL
+)) {
+
+590 
+u\9at32_t
+¤c_addr
+ = 
+       `¹e_bsw­32
+(
+ihdr
+->src_addr);
+
+591 
+u\9at32_t
+d¡_addr
+ = 
+       `¹e_bsw­32
+(
+ihdr
+->dst_addr);
+
+593 ià(
+CNXN_TRX_DEBUG
+ > 2) {
+
+594 ià(
+CNXN_TRX_DEBUG
+ > 4)
+
+595 
+       `¹e_ù_úxn_´\9at_pkt
+(
+pkt
+,
+
+596 
+IP_VERSION_4
+);
+
+602 
+com·ù\9ag_m­
+[
+·ck\91s_fÜ_lookup
+] = 
+pos
+;
+
+603 
+key_Üig_d\9c
+[
+·ck\91s_fÜ_lookup
+] =
+
+604 
+       `¹e_ù_ü\97\8b_úxn_hashkey
+(&
+¤c_addr
+, &
+d¡_addr
+,
+
+605 
+¤c_pÜt
+, 
+d¡_pÜt
+,
+
+606 
+´Ùo
+,
+
+607 &
+->
+hash_keys
+
+
+608 [
+·ck\91s_fÜ_lookup
+][0],
+
+609 
+IP_VERSION_4
+);
+
+610 
+·ck\91s_fÜ_lookup
+++;
+
+613 ià(
+\9d_hdr_size_by\8bs
+ =ð
+IPv6_HEADER_SIZE
+) {
+
+614 \19
+\9dv6_hdr
+ *
+ihdr
+ = (\19\9dv6_hd¸*)
+\9d_hdr
+;
+
+615 
+u\9at8_t
+´Ùo
+ = 
+ihdr
+->proto;
+
+617 ià(!(
+´Ùo
+ =ð
+TCP_PROTOCOL
+ ||\85rÙØ=ð
+UDP_PROTOCOL
+)) {
+
+622 ià(
+CNXN_TRX_DEBUG
+ > 2) {
+
+623 ià(
+CNXN_TRX_DEBUG
+ > 4)
+
+624 
+       `¹e_ù_úxn_´\9at_pkt
+(
+pkt
+,
+
+625 
+IP_VERSION_6
+);
+
+632 
+com·ù\9ag_m­
+[
+·ck\91s_fÜ_lookup
+] = 
+pos
+;
+
+633 
+key_Üig_d\9c
+[
+·ck\91s_fÜ_lookup
+] =
+
+634 
+       `¹e_ù_ü\97\8b_úxn_hashkey
+(
+
+635 (
+u\9at32_t
+ *è
+ihdr
+->
+¤c_addr
+,
+
+636 (
+u\9at32_t
+ *è
+ihdr
+->
+d¡_addr
+,
+
+637 
+¤c_pÜt
+, 
+d¡_pÜt
+,
+
+638 
+´Ùo
+,
+
+639 &
+->
+hash_keys
+
+
+640 [
+·ck\91s_fÜ_lookup
+][0],
+
+641 
+IP_VERSION_6
+);
+
+642 
+·ck\91s_fÜ_lookup
+++;
+
+647 ià(
+       `uÆik\96y
+(
+·ck\91s_fÜ_lookup
+ == 0))
+
+648 \15 
+v®id_·ck\91s
+;
+
+651 
+       `mem£t
+(&
+Ãw_úxn_d©a
+, 0, \17(\19
+¹e_ù_úxn_d©a
+));
+
+655 \12
+lookup_»suÉ
+ =
+
+656 
+       `¹e_hash_lookup_bulk
+(
+->
+rhash
+, (cÚ¡ \1e**)&ù->
+hash_key_±rs
+,
+
+657 
+·ck\91s_fÜ_lookup
+, &
+pos\99iÚs
+[0]);
+
+659 ià(
+       `uÆik\96y
+(
+lookup_»suÉ
+ < 0)) {
+
+661 
+       `´\9atf
+("Unexpected hash\81able\85roblem, discarding\87ll\85ackets");
+
+664 #ifdeà
+ALGDBG
+
+
+665 \ f
+i
+ = 0; i < 
+·ck\91s_fÜ_lookup
+; i++) {
+
+666 ià(
+pos\99iÚs
+[
+i
+] >= 0)
+
+667 
+       `´\9atf
+("@CT\85ositions[i]= %d, compacting_map[i]= %d\n",
+
+668 
+pos\99iÚs
+[
+i
+], 
+com·ù\9ag_m­
+[i]);
+
+671 \ f
+i
+ = 0; i < 
+·ck\91s_fÜ_lookup
+; i++) {
+
+673 \12
+hash_\8fbË_\92\8cy
+ = 
+pos\99iÚs
+[
+i
+];
+
+675 
+u\9at8_t
+pkt_\9adex
+ = 
+com·ù\9ag_m­
+[
+i
+];
+
+677 
+u\9at64_t
+pkt_mask
+ = 1LLU << 
+pkt_\9adex
+;
+
+678 
+u\9at8_t
+key_is_þ\9bÁ_Üd\94
+ = 
+key_Üig_d\9c
+[
+i
+];
+
+679 
+u\9at32_t
+ *
+key
+ = 
+->
+hash_key_±rs
+[
+pkt_\9adex
+];
+
+680 
+u\9at8_t
+´ÙocÞ
+ = *(
+key
+ + 9);
+
+681 \19
+¹e_mbuf
+ *
+·ck\91
+ = 
+pkts
+[
+pkt_\9adex
+];
+
+682 \12
+no_Ãw_úxn
+ = (
+pkt_mask
+ & 
+no_Ãw_úxn_mask
+) != 0;
+
+686 ià(
+´ÙocÞ
+ =ð
+TCP_PROTOCOL
+) {
+
+687 \f
+¹e_ù_·ck\91_aùiÚ
+tý_pkt_aùiÚ
+;
+
+689 \12
+\9d_hdr_size_by\8bs
+ = 
+       `¹e_ù_g\91_IP_hdr_size
+(
+·ck\91
+);
+
+690 
+tý_pkt_aùiÚ
+ = 
+       `¹e_ù_hªdË_tý_lookup
+(
+, 
+·ck\91
+,
+
+691 
+pkt_\9adex
+, 
+key_is_þ\9bÁ_Üd\94
+,
+
+692 
+key
+, 
+hash_\8fbË_\92\8cy
+, 
+no_Ãw_úxn
+,
+
+693 
+\9d_hdr_size_by\8bs
+);
+
+695 \1a
+tý_pkt_aùiÚ
+) {
+
+697 \ 4
+RTE_CT_SEND_CLIENT_SYNACK
+:
+
+698 \ 4
+RTE_CT_SEND_SERVER_ACK
+:
+
+702 *
+»¶y_pkt_mask
+ |ð
+pkt_mask
+;
+
+705 \ 4
+RTE_CT_SEND_SERVER_SYN
+:
+
+706 \ 4
+RTE_CT_FORWARD_PACKET
+:
+
+709 \ 4
+RTE_CT_HIJACK
+:
+
+710 *
+hijack_mask
+ |ð
+pkt_mask
+;
+
+715 
+v®id_·ck\91s
+ ^ð
+pkt_mask
+;
+
+716 
+->
+couÁ\94s
+->
+pkts_drÝ
+++;
+
+723 ià(
+hash_\8fbË_\92\8cy
+ >= 0) {
+
+729 \19
+¹e_ù_úxn_d©a
+ *
+\92\8cy
+ =
+
+730 &
+->
+hash_\8fbË_\92\8c\9bs
+[
+hash_\8fbË_\92\8cy
+];
+
+732 ià(
+¹e_ù_udp_·ck\91
+
+
+733 (
+, 
+\92\8cy
+, 
+pkts
+[
+pkt_\9adex
+],
+
+734 
+key_is_þ\9bÁ_Üd\94
+)) {
+
+735 
+\92\8cy
+->
+couÁ\94s
+.
+·ck\91s_fÜw¬ded
+++;
+
+736 
+->
+couÁ\94s
+->
+pkts_fÜw¬ded
+++;
+
+744 \19
+¹e_ù_úxn_d©a
+ *
+»ûÁ_\92\8cy
+ =
+
+745 
+       `¹e_ù_£¬ch_Ãw_cÚÃùiÚs
+(
+, 
+key
+);
+
+747 ià(
+»ûÁ_\92\8cy
+ !ð
+NULL
+) {
+
+748 ià(
+       `¹e_ù_udp_·ck\91
+(
+, 
+»ûÁ_\92\8cy
+,
+
+749 
+pkts
+[
+pkt_\9adex
+],
+
+750 
+key_is_þ\9bÁ_Üd\94
+)) {
+
+751 
+»ûÁ_\92\8cy
+->
+couÁ\94s
+.
+
+752 
+·ck\91s_fÜw¬ded
+++;
+
+753 
+->
+couÁ\94s
+->
+pkts_fÜw¬ded
+++;
+
+760 ià(
+no_Ãw_úxn
+) {
+
+764 
+v®id_·ck\91s
+ ^ð
+pkt_mask
+;
+
+765 
+->
+couÁ\94s
+->
+pkts_drÝ
+++;
+
+766 
+->
+couÁ\94s
+->
+
+767 
+pkts_drÝ_\9av®id_cÚn
+++;
+
+771 ià(
+       `¹e_ù_udp_Ãw_cÚÃùiÚ
+(
+,
+
+772 &
+Ãw_úxn_d©a
+,
+
+773 
+pkts
+[
+pkt_\9adex
+])) {
+
+777 
+\9at32_t
+pos\99
+ =
+
+778 
+       `¹e_hash_add_key
+(
+
+779 
+->
+rhash
+, 
+key
+);
+
+781 ià(
+pos\99
+ < 0)
+
+784 \19
+¹e_ù_úxn_d©a
+
+
+785 *
+Ãw_hash_\92\8cy
+ = &
+->
+
+786 
+hash_\8fbË_\92\8c\9bs
+[
+pos\99
+];
+
+793 
+       `memýy
+(
+Ãw_úxn_d©a
+.
+key
+, key,
+
+794 \17(
+Ãw_úxn_d©a
+.
+key
+));
+
+796 
+Ãw_úxn_d©a
+.
+
+797 
+key_is_þ\9bÁ_Üd\94
+
+
+798 ð
+key_is_þ\9bÁ_Üd\94
+;
+
+799 
+Ãw_úxn_d©a
+.
+´ÙocÞ
+ =
+
+800 
+UDP_PROTOCOL
+;
+
+801 
+       `¹e_úxn_\9d_ty³
+(
+
+802 &
+Ãw_úxn_d©a
+.
+ty³
+,
+
+803 
+·ck\91
+);
+
+804 
+       `¹e_memýy
+(
+Ãw_hash_\92\8cy
+,
+
+805 &
+Ãw_úxn_d©a
+,
+
+807 
+¹e_ù_úxn_d©a
+));
+
+809 
+Ãw_hash_\92\8cy
+->
+couÁ\94s
+.
+
+810 
+·ck\91s_fÜw¬ded
+ = 1;
+
+811 
+->
+couÁ\94s
+->
+pkts_fÜw¬ded
+++;
+
+812 
+Ãw_hash_\92\8cy
+->
+couÁ\94s
+.
+
+813 
+·ck\91s_drݳd
+ = 0;
+
+814 
+->
+couÁ\94s
+->
+pkts_drÝ
+ = 0;
+
+815 
+->
+couÁ\94s
+->
+
+816 
+cu¼\92t_aùive_£ssiÚs
+++;
+
+817 
+->
+couÁ\94s
+->
+
+818 
+£ssiÚs_aùiv©ed
+++;
+
+820 
+Ãw_hash_\92\8cy
+->
+
+821 
+¡©e_u£d_fÜ_tim\94
+
+
+822 ð
+RTE_CT_UDP_NONE
+;
+
+823 
+       `¹e_ù_£t_úxn_tim\94_fÜ_udp
+(
+
+824 
+,
+
+825 
+Ãw_hash_\92\8cy
+,
+
+826 
+RTE_CT_UDP_UNREPLIED
+);
+
+828 
+       `¹e_ù_»memb\94_Ãw_cÚÃùiÚ
+(
+
+829 
+,
+
+830 
+Ãw_hash_\92\8cy
+);
+
+839 ià(
+CNXN_TRX_DEBUG
+ > 1) {
+
+840 
+       `´\9atf
+("Exit cnxn\81racker synproxy batch\86ookup with");
+
+841 
+       `´\9atf
+("\85ack\91 mask %p\n", (\1e*)
+v®id_·ck\91s
+);
+
+844 \15 
+v®id_·ck\91s
+;
+
+845 
+       }
+}
+
+847 
+u\9at64_t
+
+
+848 
+       $¹e_ù_úxn_\8cack\94_b©ch_lookup_w\99h_syÅroxy
+(
+
+849 \19
+¹e_ù_úxn_\8cack\94
+ *
+,
+
+850 \19
+¹e_mbuf
+ **
+pkts
+,
+
+851 
+u\9at64_t
+pkts_mask
+,
+
+852 \19
+¹e_syÅroxy_h\96³r
+ *
+¥_h\96³r
+)
+
+854 \15 
+       `¹e_ù_úxn_\8cack\94_b©ch_lookup_basic
+(
+, 
+pkts
+, 
+pkts_mask
+, 0,
+
+855 &
+¥_h\96³r
+->
+»¶y_pkt_mask
+, &¥_h\96³r->
+hijack_mask
+);
+
+856 
+       }
+}
+
+857 #ifdeà
+CT_CGNAT
+
+
+858 
+u\9at64_t
+       $cgDZ_ù_´oûss
+(
+
+859 \19
+¹e_ù_úxn_\8cack\94
+ *
+,
+
+860 \19
+¹e_mbuf
+ **
+pkts
+,
+
+861 
+u\9at64_t
+pkts_mask
+,
+
+862 \19
+¹e_CT_h\96³r
+ *
+ù_h\96³r
+)
+
+865 
+       `¹e_ù_di§bË_syÅroxy
+(
+);
+
+866 \15 
+       `¹e_ù_úxn_\8cack\94_b©ch_lookup_basic
+(
+, 
+pkts
+, 
+pkts_mask
+,
+
+867 
+ù_h\96³r
+->
+no_Ãw_úxn_mask
+,
+
+868 &
+ù_h\96³r
+->
+»¶y_pkt_mask
+,
+
+869 &
+ù_h\96³r
+->
+hijack_mask
+);
+
+870 
+       }
+}
+
+872 
+u\9at64_t
+
+
+873 
+       $¹e_ù_úxn_\8cack\94_b©ch_lookup
+(
+
+874 \19
+¹e_ù_úxn_\8cack\94
+ *
+,
+
+875 \19
+¹e_mbuf
+ **
+pkts
+,
+
+876 
+u\9at64_t
+pkts_mask
+,
+
+877 \19
+¹e_CT_h\96³r
+ *
+ù_h\96³r
+)
+
+880 \15 
+       `¹e_ù_úxn_\8cack\94_b©ch_lookup_basic
+(
+, 
+pkts
+, 
+pkts_mask
+,
+
+881 
+ù_h\96³r
+->
+no_Ãw_úxn_mask
+,
+
+882 &
+ù_h\96³r
+->
+»¶y_pkt_mask
+, &ù_h\96³r->
+hijack_mask
+);
+
+883 
+       }
+}
+
+886 \1e
+       $¹e_ù_úxn_\8cack\94_b©ch_lookup_ty³
+(
+
+887 \19
+¹e_ù_úxn_\8cack\94
+ *
+,
+
+888 \19
+¹e_mbuf
+ **
+pkts
+,
+
+889 
+u\9at64_t
+ *
+pkts_mask
+,
+
+890 \19
+¹e_CT_h\96³r
+ *
+ù_h\96³r
+,
+
+891 
+u\9at8_t
+\9d_hdr_size_by\8bs
+)
+
+894 
+       `¹e_ù_úxn_\8cack\94_b©ch_lookup_basic_ty³
+(
+, 
+pkts
+, 
+pkts_mask
+,
+
+895 
+ù_h\96³r
+->
+no_Ãw_úxn_mask
+,
+
+896 &
+ù_h\96³r
+->
+»¶y_pkt_mask
+, &ù_h\96³r->
+hijack_mask
+,
+
+897 
+\9d_hdr_size_by\8bs
+);
+
+898 
+       }
+}
+
+902 
+u\9at64_t
+
+
+903 
+       $¹e_ù_úxn_\8cack\94_b©ch_lookup_w\99h_Ãw_úxn_cÚ\8cÞ
+(
+
+904 \19
+¹e_ù_úxn_\8cack\94
+ *
+,
+
+905 \19
+¹e_mbuf
+ **
+pkts
+,
+
+906 
+u\9at64_t
+pkts_mask
+,
+
+907 
+u\9at64_t
+no_Ãw_úxn_mask
+)
+
+909 
+u\9at64_t
+dÚt_ÿ»
+;
+
+911 \15 
+       `¹e_ù_úxn_\8cack\94_b©ch_lookup_basic
+(
+, 
+pkts
+, 
+pkts_mask
+,
+
+912 
+no_Ãw_úxn_mask
+,
+
+913 &
+dÚt_ÿ»
+, &dont_care);
+
+914 
+       }
+}
+
+918 
+       $¹e_ù_\9a\99\9flize_deçuÉ_timeouts
+(\19
+¹e_ù_úxn_\8cack\94
+ *
+Ãw_úxn_\8cack\94
+)
+
+923 
+u\9at64_t
+h\94tz
+ = 
+       `¹e_g\91_tsc_hz
+();
+
+925 
+Ãw_úxn_\8cack\94
+->
+h\94tz
+ = hertz;
+
+926 
+Ãw_úxn_\8cack\94
+->
+tim\9ag_cyþes_³r_tim\9ag_¡\95
+ = 
+h\94tz
+ / 10;
+
+927 
+Ãw_úxn_\8cack\94
+->
+tim\9ag_100ms_¡\95s_´evious
+ = 0;
+
+928 
+Ãw_úxn_\8cack\94
+->
+tim\9ag_100ms_¡\95s
+ = 0;
+
+929 
+Ãw_úxn_\8cack\94
+->
+tim\9ag_ϡ_time
+ = 
+       `¹e_g\91_tsc_cyþes
+();
+
+932 
+Ãw_úxn_\8cack\94
+->
+ù_timeout
+.
+týtimeout
+.
+tý_timeouts
+
+
+933 [
+RTE_CT_TCP_SYN_SENT
+] = 120 * 
+h\94tz
+;
+
+934 
+Ãw_úxn_\8cack\94
+->
+ù_timeout
+.
+týtimeout
+.
+tý_timeouts
+
+
+935 [
+RTE_CT_TCP_SYN_RECV
+] = 60 * 
+h\94tz
+;
+
+937 
+Ãw_úxn_\8cack\94
+->
+ù_timeout
+.
+týtimeout
+.
+tý_timeouts
+
+
+938 [
+RTE_CT_TCP_ESTABLISHED
+] = 60 * 60 * 24 * 5 * 
+h\94tz
+;
+
+940 
+Ãw_úxn_\8cack\94
+->
+ù_timeout
+.
+týtimeout
+.
+tý_timeouts
+
+
+941 [
+RTE_CT_TCP_FIN_WAIT
+] = 120 * 
+h\94tz
+;
+
+942 
+Ãw_úxn_\8cack\94
+->
+ù_timeout
+.
+týtimeout
+.
+tý_timeouts
+
+
+943 [
+RTE_CT_TCP_CLOSE_WAIT
+] = 60 * 
+h\94tz
+;
+
+944 
+Ãw_úxn_\8cack\94
+->
+ù_timeout
+.
+týtimeout
+.
+tý_timeouts
+
+
+945 [
+RTE_CT_TCP_LAST_ACK
+] = 30 * 
+h\94tz
+;
+
+946 
+Ãw_úxn_\8cack\94
+->
+ù_timeout
+.
+týtimeout
+.
+tý_timeouts
+
+
+947 [
+RTE_CT_TCP_TIME_WAIT
+] = 120 * 
+h\94tz
+;
+
+948 
+Ãw_úxn_\8cack\94
+->
+ù_timeout
+.
+týtimeout
+.
+tý_timeouts
+
+
+949 [
+RTE_CT_TCP_CLOSE
+] = 10 * 
+h\94tz
+;
+
+950 
+Ãw_úxn_\8cack\94
+->
+ù_timeout
+.
+týtimeout
+.
+tý_timeouts
+
+
+951 [
+RTE_CT_TCP_SYN_SENT_2
+] = 120 * 
+h\94tz
+;
+
+952 
+Ãw_úxn_\8cack\94
+->
+ù_timeout
+.
+týtimeout
+.
+tý_timeouts
+
+
+953 [
+RTE_CT_TCP_RETRANS
+] = 300 * 
+h\94tz
+;
+
+954 
+Ãw_úxn_\8cack\94
+->
+ù_timeout
+.
+týtimeout
+.
+tý_timeouts
+
+
+955 [
+RTE_CT_TCP_UNACK
+] = 300 * 
+h\94tz
+;
+
+957 
+Ãw_úxn_\8cack\94
+->
+ù_timeout
+.
+ud±imeout
+.
+udp_timeouts
+
+
+958 [
+RTE_CT_UDP_UNREPLIED
+] = 30 * 
+h\94tz
+;
+
+959 
+Ãw_úxn_\8cack\94
+->
+ù_timeout
+.
+ud±imeout
+.
+udp_timeouts
+
+
+960 [
+RTE_CT_UDP_REPLIED
+] = 180 * 
+h\94tz
+;
+
+962 
+Ãw_úxn_\8cack\94
+->
+misc_ÝtiÚs
+.
+tý_max_»\8cªs
+ =
+
+963 
+RTE_CT_TCP_MAX_RETRANS
+;
+
+964 
+Ãw_úxn_\8cack\94
+->
+misc_ÝtiÚs
+.
+tý_loo£
+ = 0;
+
+965 
+Ãw_úxn_\8cack\94
+->
+misc_ÝtiÚs
+.
+tý_be_lib\94®
+ = 0;
+
+966 #ifdeà
+CT_CGNAT
+
+
+967 \12
+i
+;
+
+968 \ f
+i
+=0; i < 
+RTE_HASH_LOOKUP_BULK_MAX
+ ;i ++ )
+
+969 
+Ãw_úxn_\8cack\94
+->
+pos\99iÚs
+[
+i
+] = -1;
+
+973 
+       }
+}
+
+975 \19
+¹e_CT_couÁ\94_block
+       g¹e_CT_couÁ\94_\8f
+[
+MAX_CT_INSTANCES
+]
+
+976 
+       g__¹e_ÿche_®igÃd
+;
+
+977 \12
+       g¹e_CT_hi_couÁ\94_block_\9a_u£
+ = -1;
+
+980 
+       $¹e_ù_\9a\99\9flize_úxn_\8cack\94_w\99h_syÅroxy
+(
+
+981 \19
+¹e_ù_úxn_\8cack\94
+ *
+Ãw_úxn_\8cack\94
+,
+
+982 
+u\9at32_t
+max_cÚÃùiÚ_couÁ
+,
+
+983 \ 5*
+Çme
+,
+
+984 
+u\9at16_t
+po\9a\8br_off£t
+)
+
+986 
+u\9at32_t
+i
+;
+
+987 
+u\9at32_t
+size
+;
+
+988 \19
+¹e_CT_couÁ\94_block
+ *
+couÁ\94_±r
+;
+
+995 
+Ãw_úxn_\8cack\94
+->
+po\9a\8br_off£t
+ =\85ointer_offset;
+
+997 
+       `mem£t
+(
+Ãw_úxn_\8cack\94
+->
+Çme
+, '\0', \17(new_cnxn_tracker->name));
+
+998 
+       `¡ºýy
+(
+Ãw_úxn_\8cack\94
+->
+Çme
+,\82ame, 
+       `¡¾\92
+(new_cnxn_tracker->name));
+
+1001 
+u\9at32_t
+numb\94_of_\92\8c\9bs
+ = 
+max_cÚÃùiÚ_couÁ
+;
+
+1003 
+size
+ = 
+       `RTE_CACHE_LINE_ROUNDUP
+(\17(\19
+¹e_ù_úxn_d©a
+) *
+
+1004 
+numb\94_of_\92\8c\9bs
+);
+
+1005 
+Ãw_úxn_\8cack\94
+->
+hash_\8fbË_\92\8c\9bs
+ =
+
+1006 
+       `¹e_zm®loc
+(
+NULL
+, 
+size
+, 
+RTE_CACHE_LINE_SIZE
+);
+
+1007 ià(
+Ãw_úxn_\8cack\94
+->
+hash_\8fbË_\92\8c\9bs
+ =ð
+NULL
+) {
+
+1008 
+       `´\9atf
+(" Not\83nough memory, or invalid\87rguments\n");
+
+1011 
+Ãw_úxn_\8cack\94
+->
+num_úxn_\92\8c\9bs
+ = 
+numb\94_of_\92\8c\9bs
+;
+
+1015 \ f
+i
+ = 0; i < 
+numb\94_of_\92\8c\9bs
+; i++)
+
+1016 
+       `¹e_tim\94_\9a\99
+(&
+Ãw_úxn_\8cack\94
+->
+hash_\8fbË_\92\8c\9bs
+[
+i
+].
+tim\94
+);
+
+1019 \ f
+i
+ = 0; i < 
+RTE_HASH_LOOKUP_BULK_MAX
+; i++)
+
+1020 
+Ãw_úxn_\8cack\94
+->
+hash_key_±rs
+[
+i
+] =
+
+1021 &
+Ãw_úxn_\8cack\94
+->
+hash_keys
+[
+i
+][0];
+
+1028 ià(
+¹e_CT_hi_couÁ\94_block_\9a_u£
+ =ð
+MAX_CT_INSTANCES
+)
+
+1031 
+¹e_CT_hi_couÁ\94_block_\9a_u£
+++;
+
+1032 
+couÁ\94_±r
+ = &
+¹e_CT_couÁ\94_\8f
+[
+¹e_CT_hi_couÁ\94_block_\9a_u£
+];
+
+1034 
+Ãw_úxn_\8cack\94
+->
+couÁ\94s
+ = 
+couÁ\94_±r
+;
+
+1037 \19
+¹e_hash_·¿m\91\94s
+rhash_·rms
+ = {
+
+1038 .
+Çme
+ =\82ame,
+
+1039 .
+\92\8c\9bs
+ = 
+numb\94_of_\92\8c\9bs
+,
+
+1040 .
+hash_func
+ = 
+NULL
+,
+
+1041 .
+key_Ën
+ = 40,
+
+1042 .
+hash_func_\9a\99_v®
+ = 0,
+
+1043 .
+sock\91_id
+ = 
+       `¹e_sock\91_id
+(),
+
+1044 .
+ex\8ca_æag
+ = 1
+
+1047 
+Ãw_úxn_\8cack\94
+->
+rhash
+ = 
+       `¹e_hash_ü\97\8b
+(&
+rhash_·rms
+);
+
+1050 
+       }
+}
+
+1053 
+       $¹e_ù_\9a\99\9flize_úxn_\8cack\94
+(
+
+1054 \19
+¹e_ù_úxn_\8cack\94
+ *
+Ãw_úxn_\8cack\94
+,
+
+1055 
+u\9at32_t
+max_cÚÃùiÚ_couÁ
+,
+
+1056 \ 5*
+Çme
+)
+
+1058 \15 
+       `¹e_ù_\9a\99\9flize_úxn_\8cack\94_w\99h_syÅroxy
+(
+Ãw_úxn_\8cack\94
+,
+
+1059 
+max_cÚÃùiÚ_couÁ
+, 
+Çme
+, 0);
+
+1060 
+       }
+}
+
+1063 
+       $¹e_ù_ä\93_úxn_\8cack\94_»sourûs
+(\19
+¹e_ù_úxn_\8cack\94
+ *
+Þd_úxn_\8cack\94
+)
+
+1065 
+       `¹e_ä\93
+(
+Þd_úxn_\8cack\94
+->
+hash_\8fbË_\92\8c\9bs
+);
+
+1066 
+       `¹e_hash_ä\93
+(
+Þd_úxn_\8cack\94
+->
+rhash
+);
+
+1068 
+       }
+}
+
+1071 
+       $¹e_ù_g\91_úxn_\8cack\94_size
+(\1e)
+
+1073 \15 \17(\19
+¹e_ù_úxn_\8cack\94
+);
+
+1074 
+       }
+}
+
+1077 
+¹e_ù_úxn_tim\94_exp\9ced
+(\19
+¹e_tim\94
+ *
+, \1e*
+¬g
+);
+
+1080 
+       $¹e_ù_£t_úxn_tim\94
+(
+
+1081 \19
+¹e_ù_úxn_\8cack\94
+ *
+,
+
+1082 \19
+¹e_ù_úxn_d©a
+ *
+cd
+,
+
+1083 
+u\9at64_t
+ticks_uÁ\9e_timeout
+)
+
+1090 \19
+¹e_tim\94
+ *
+ = (\19¹e_tim\94 *)
+cd
+;
+
+1091 #ifdeà
+CT_CGNAT
+
+
+1093 
+u\9at32_t
+cÜe_id
+ = 
+       `g\91_tim\94_cÜe_id
+();
+
+1096 
+u\9at32_t
+cÜe_id
+ = 
+       `¹e_lcÜe_id
+();
+
+1101 \12
+sucûss
+ = 
+       `¹e_tim\94_»£t
+(
+, 
+ticks_uÁ\9e_timeout
+, 
+SINGLE
+, 
+cÜe_id
+,
+
+1102 
+¹e_ù_úxn_tim\94_exp\9ced
+, 
+);
+
+1104 ià(
+sucûss
+ < 0) {
+
+1108 
+       `´\9atf
+("CNXN_TRACKER: Failed\81o set connection\81imer.\n");
+
+1110 
+       }
+}
+
+1118 
+       $¹e_ù_£t_úxn_tim\94_fÜ_tý
+(
+
+1119 \19
+¹e_ù_úxn_\8cack\94
+ *
+,
+
+1120 \19
+¹e_ù_úxn_d©a
+ *
+cd
+,
+
+1121 
+u\9at8_t
+tý_¡©e
+)
+
+1124 
+cd
+->
+ex³ùed_timeout
+ =
+
+1125 (
+->
+tim\9ag_100ms_¡\95s
+ * ct->
+tim\9ag_cyþes_³r_tim\9ag_¡\95
+) +
+
+1126 
+->
+ù_timeout
+.
+týtimeout
+.
+tý_timeouts
+[
+tý_¡©e
+];
+
+1128 ià(
+tý_¡©e
+ =ð
+cd
+->
+¡©e_u£d_fÜ_tim\94
+) {
+
+1141 ià(
+TESTING_TIMERS
+)
+
+1142 
+       `´\9atf
+("S\91 Tim\94 fÜ cÚÃùiÚ %°ªd s\8f\8b %s\n", 
+cd
+,
+
+1143 
+¹e_ù_tý_Çmes
+[
+tý_¡©e
+]);
+
+1145 
+       `¹e_ù_£t_úxn_tim\94
+(
+, 
+cd
+,
+
+1146 
+->
+ù_timeout
+.
+
+1147 
+týtimeout
+.
+tý_timeouts
+[
+tý_¡©e
+]);
+
+1148 
+cd
+->
+¡©e_u£d_fÜ_tim\94
+ = 
+tý_¡©e
+;
+
+1149 
+       }
+}
+
+1158 
+       $¹e_ù_£t_úxn_tim\94_fÜ_udp
+(
+
+1159 \19
+¹e_ù_úxn_\8cack\94
+ *
+,
+
+1160 \19
+¹e_ù_úxn_d©a
+ *
+cd
+,
+
+1161 
+u\9at8_t
+udp_¡©e
+)
+
+1164 
+cd
+->
+ex³ùed_timeout
+ = (
+->
+tim\9ag_cyþes_³r_tim\9ag_¡\95
+) +
+
+1165 
+->
+ù_timeout
+.
+ud±imeout
+.
+udp_timeouts
+[
+udp_¡©e
+];
+
+1167 ià(
+udp_¡©e
+ =ð
+cd
+->
+¡©e_u£d_fÜ_tim\94
+) {
+
+1180 ià(
+TESTING_TIMERS
+)
+
+1181 
+       `´\9atf
+("S\91 Tim\94 fÜ cÚÃùiÚ %°ªd s\8f\8b %s\n", 
+cd
+,
+
+1182 
+¹e_ù_udp_Çmes
+[
+udp_¡©e
+]);
+
+1183 
+       `¹e_ù_£t_úxn_tim\94
+(
+, 
+cd
+,
+
+1184 
+->
+ù_timeout
+.
+
+1185 
+ud±imeout
+.
+udp_timeouts
+[
+udp_¡©e
+]);
+
+1186 
+cd
+->
+¡©e_u£d_fÜ_tim\94
+ = 
+udp_¡©e
+;
+
+1187 
+       }
+}
+
+1193 
+       $¹e_ù_ÿnûl_úxn_tim\94
+(\19
+¹e_ù_úxn_d©a
+ *
+cd
+)
+
+1195 ià(
+TESTING_TIMERS
+)
+
+1196 
+       `´\9atf
+("Cancel Timer\n");
+
+1198 
+       `¹e_tim\94_¡Ý
+(&
+cd
+->
+tim\94
+);
+
+1199 
+       }
+}
+
+1202 
+       $¹e_ù_hªdË_exp\9ced_tim\94s
+(\19
+¹e_ù_úxn_\8cack\94
+ *
+)
+
+1209 
+u\9at64_t
+Ãw_time
+ = 
+       `¹e_g\91_tsc_cyþes
+();
+
+1210 
+u\9at64_t
+time_diff
+ = 
+Ãw_time
+ - 
+->
+tim\9ag_ϡ_time
+;
+
+1212 ià(
+time_diff
+ >ð
+->
+tim\9ag_cyþes_³r_tim\9ag_¡\95
+) {
+
+1213 
+->
+tim\9ag_ϡ_time
+ = 
+Ãw_time
+;
+
+1214 
+->
+tim\9ag_100ms_¡\95s
+++;
+
+1217 ià(
+->
+tim\9ag_100ms_¡\95s
+ !ðù->
+tim\9ag_100ms_¡\95s_´evious
+) {
+
+1218 
+       `¹e_tim\94_mªage
+();
+
+1219 
+->
+tim\9ag_100ms_¡\95s_´evious
+ = ct->
+tim\9ag_100ms_¡\95s
+;
+
+1221 
+       }
+}
+
+1226 
+       $¹e_ù_úxn_tim\94_exp\9ced
+(\19
+¹e_tim\94
+ *
+, \1e*
+¬g
+)
+
+1231 \19
+¹e_ù_úxn_d©a
+ *
+cd
+ = (\19¹e_ù_úxn_d©¨*)
+;
+
+1232 \19
+¹e_ù_úxn_\8cack\94
+ *
+ = (\19¹e_ù_úxn_\8cack\94 *)
+¬g
+;
+
+1233 \12
+sucûss
+ = 0;
+
+1241 
+u\9at64_t
+cu¼\92t_time
+ = 
+->
+tim\9ag_100ms_¡\95s
+ *
+
+1242 
+->
+tim\9ag_cyþes_³r_tim\9ag_¡\95
+;
+
+1244 ià(
+cd
+->
+ex³ùed_timeout
+ >ð
+cu¼\92t_time
+) {
+
+1245 
+u\9at64_t
+time_diff
+ = 
+cd
+->
+ex³ùed_timeout
+ - 
+cu¼\92t_time
+;
+
+1247 
+       `¹e_ù_£t_úxn_tim\94
+(
+, 
+cd
+, 
+time_diff
+);
+
+1251 ià(
+cd
+->
+´ÙocÞ
+ =ð
+TCP_PROTOCOL
+) {
+
+1252 ià(
+cd
+->
+¡©e_u£d_fÜ_tim\94
+ =ð
+RTE_CT_TCP_TIME_WAIT
+ ||
+
+1253 
+cd
+->
+¡©e_u£d_fÜ_tim\94
+ =ð
+RTE_CT_TCP_CLOSE
+)
+
+1254 
+->
+couÁ\94s
+->
+£ssiÚs_þo£d
+++;
+
+1256 
+->
+couÁ\94s
+->
+£ssiÚs_timedout
+++;
+
+1261 ià(
+cd
+->
+ù_´ÙocÞ
+.
+syÅroxy_d©a
+.
+syÅrox\9bd
+)
+
+1262 
+       `¹e_ù_»Ëa£_bufã»d_·ck\91s
+(
+, 
+cd
+);
+
+1264 } \vià(
+cd
+->
+´ÙocÞ
+ =ð
+UDP_PROTOCOL
+)
+
+1265 
+->
+couÁ\94s
+->
+£ssiÚs_þo£d
+++;
+
+1266 ià(
+->
+couÁ\94s
+->
+cu¼\92t_aùive_£ssiÚs
+ > 0)
+
+1267 
+->
+couÁ\94s
+->
+cu¼\92t_aùive_£ssiÚs
+--;
+
+1269 ià(
+RTE_CT_TIMER_EXPIRED_DUMP
+) {
+
+1270 
+u\9at64_t
+³rûÁ
+ = (
+cd
+->
+couÁ\94s
+.
+·ck\91s_drݳd
+ * 10000) /
+
+1271 (
+cd
+->
+couÁ\94s
+.
+·ck\91s_fÜw¬ded
+ +
+
+1272 
+cd
+->
+couÁ\94s
+.
+·ck\91s_drݳd
+);
+
+1274 ià(
+cd
+->
+´ÙocÞ
+ =ð
+TCP_PROTOCOL
+) {
+
+1275 
+       `´\9atf
+("CnxnTrkr %s,\81imed-out TCP Connection: %p,",
+
+1276 
+->
+Çme
+, 
+cd
+);
+
+1277 
+       `´\9atf
+(" %s,\85kts forwarded %"
+
+1278 
+PRIu64
+ ",\85kts dropped %" PRIu64
+
+1280 
+¹e_ù_tý_Çmes
+[
+cd
+->
+¡©e_u£d_fÜ_tim\94
+],
+
+1281 
+cd
+->
+couÁ\94s
+.
+·ck\91s_fÜw¬ded
+,
+
+1282 
+cd
+->
+couÁ\94s
+.
+·ck\91s_drݳd
+,
+
+1283 (
+u\9at32_t
+è(
+³rûÁ
+ / 100),
+
+1284 (
+u\9at32_t
+è(
+³rûÁ
+ % 100));
+
+1285 } \vià(
+cd
+->
+´ÙocÞ
+ =ð
+UDP_PROTOCOL
+) {
+
+1286 
+       `´\9atf
+("CnxnTrkr %s, Timed-out UDP Connection: %p,",
+
+1287 
+->
+Çme
+, 
+cd
+);
+
+1288 
+       `´\9atf
+(" %s,\85kt fÜw¬ded %" 
+PRIu64
+
+
+1289 ",\85kt drݳd %" 
+PRIu64
+ ", drop%% %u.%u\n",
+
+1290 
+¹e_ù_udp_Çmes
+[
+cd
+->
+¡©e_u£d_fÜ_tim\94
+],
+
+1291 
+cd
+->
+couÁ\94s
+.
+·ck\91s_fÜw¬ded
+,
+
+1292 
+cd
+->
+couÁ\94s
+.
+·ck\91s_drݳd
+,
+
+1293 (
+u\9at32_t
+è(
+³rûÁ
+ / 100),
+
+1294 (
+u\9at32_t
+è(
+³rûÁ
+ % 100));
+
+1298 
+sucûss
+ = 
+       `¹e_hash_d\96_key
+(
+->
+rhash
+, &
+cd
+->
+key
+);
+
+1300 ià(
+sucûss
+ < 0) {
+
+1302 
+       `¹e_ù_´\9at_hashkey
+(
+cd
+->
+key
+);
+
+1305 
+       }
+}
+
+1307 \19
+¹e_CT_couÁ\94_block
+ *
+
+1308 
+       $¹e_ù_g\91_couÁ\94_add»ss
+(\19
+¹e_ù_úxn_\8cack\94
+ *
+)
+
+1310 \15 
+->
+couÁ\94s
+;
+
+1311 
+       }
+}
+
+1314 
+       $¹e_ù_£t_cÚfigu¿tiÚ_ÝtiÚs
+(\19
+¹e_ù_úxn_\8cack\94
+ *
+,
+
+1315 \ 5*
+Çme
+, \ 5*
+v®ue
+)
+
+1318 \12
+iv®
+ = 
+       `©oi
+(
+v®ue
+);
+
+1321 ià(
+       `¡rcmp
+(
+Çme
+, "tcp_loose") == 0) {
+
+1322 
+->
+misc_ÝtiÚs
+.
+tý_loo£
+ = 
+iv®
+;
+
+1327 ià(
+       `¡rcmp
+(
+Çme
+, "tcp_be_liberal") == 0) {
+
+1328 
+->
+misc_ÝtiÚs
+.
+tý_be_lib\94®
+ = 
+iv®
+;
+
+1333 ià(
+       `¡rcmp
+(
+Çme
+, "tcp_max_retrans") == 0) {
+
+1334 
+->
+misc_ÝtiÚs
+.
+tý_max_»\8cªs
+ = 
+iv®
+;
+
+1338 
+u\9at64_t
+time_v®ue
+ = 
+iv®
+ * 
+->
+h\94tz
+;
+
+1344 ià(
+       `¡rcmp
+(
+Çme
+, "tcp_syn_sent") == 0) {
+
+1345 ià(
+time_v®ue
+ == 0)
+
+1347 
+->
+ù_timeout
+.
+týtimeout
+.
+tý_timeouts
+[
+RTE_CT_TCP_SYN_SENT
+] =
+
+1348 
+time_v®ue
+;
+
+1353 ià(
+       `¡rcmp
+(
+Çme
+, "tcp_syn_recv") == 0) {
+
+1354 ià(
+time_v®ue
+ == 0)
+
+1356 
+->
+ù_timeout
+.
+týtimeout
+.
+tý_timeouts
+[
+RTE_CT_TCP_SYN_RECV
+] =
+
+1357 
+time_v®ue
+;
+
+1362 ià(
+       `¡rcmp
+(
+Çme
+, "tcp_established") == 0) {
+
+1363 ià(
+time_v®ue
+ == 0)
+
+1365 
+->
+ù_timeout
+.
+týtimeout
+.
+tý_timeouts
+[
+RTE_CT_TCP_ESTABLISHED
+] =
+
+1366 
+time_v®ue
+;
+
+1371 ià(
+       `¡rcmp
+(
+Çme
+, "tcp_fin_wait") == 0) {
+
+1372 ià(
+time_v®ue
+ == 0)
+
+1374 
+->
+ù_timeout
+.
+týtimeout
+.
+tý_timeouts
+[
+RTE_CT_TCP_FIN_WAIT
+] =
+
+1375 
+time_v®ue
+;
+
+1380 ià(
+       `¡rcmp
+(
+Çme
+, "tcp_close_wait") == 0) {
+
+1381 ià(
+time_v®ue
+ == 0)
+
+1383 
+->
+ù_timeout
+.
+týtimeout
+.
+tý_timeouts
+[
+RTE_CT_TCP_CLOSE_WAIT
+] =
+
+1384 
+time_v®ue
+;
+
+1389 ià(
+       `¡rcmp
+(
+Çme
+, "tcp_last_ack") == 0) {
+
+1390 ià(
+time_v®ue
+ == 0)
+
+1392 
+->
+ù_timeout
+.
+týtimeout
+.
+tý_timeouts
+[
+RTE_CT_TCP_LAST_ACK
+] =
+
+1393 
+time_v®ue
+;
+
+1398 ià(
+       `¡rcmp
+(
+Çme
+, "tcp_time_wait") == 0) {
+
+1399 ià(
+time_v®ue
+ == 0)
+
+1401 
+->
+ù_timeout
+.
+týtimeout
+.
+tý_timeouts
+[
+RTE_CT_TCP_TIME_WAIT
+] =
+
+1402 
+time_v®ue
+;
+
+1407 ià(
+       `¡rcmp
+(
+Çme
+, "tcp_close") == 0) {
+
+1408 ià(
+time_v®ue
+ == 0)
+
+1410 
+->
+ù_timeout
+.
+týtimeout
+.
+tý_timeouts
+[
+RTE_CT_TCP_CLOSE
+] =
+
+1411 
+time_v®ue
+;
+
+1416 ià(
+       `¡rcmp
+(
+Çme
+, "tcp_syn_sent_2") == 0) {
+
+1417 ià(
+time_v®ue
+ == 0)
+
+1419 
+->
+ù_timeout
+.
+týtimeout
+.
+tý_timeouts
+[
+RTE_CT_TCP_SYN_SENT_2
+] =
+
+1420 
+time_v®ue
+;
+
+1425 ià(
+       `¡rcmp
+(
+Çme
+, "tcp_retrans") == 0) {
+
+1426 ià(
+time_v®ue
+ == 0)
+
+1428 
+->
+ù_timeout
+.
+týtimeout
+.
+tý_timeouts
+[
+RTE_CT_TCP_RETRANS
+] =
+
+1429 
+time_v®ue
+;
+
+1434 ià(
+       `¡rcmp
+(
+Çme
+, "tcp_unack") == 0) {
+
+1435 ià(
+time_v®ue
+ == 0)
+
+1437 
+->
+ù_timeout
+.
+týtimeout
+.
+tý_timeouts
+[
+RTE_CT_TCP_UNACK
+] =
+
+1438 
+time_v®ue
+;
+
+1443 ià(
+       `¡rcmp
+(
+Çme
+, "udp_unreplied") == 0) {
+
+1444 ià(
+time_v®ue
+ == 0)
+
+1446 
+->
+ù_timeout
+.
+ud±imeout
+.
+udp_timeouts
+[
+RTE_CT_UDP_UNREPLIED
+] =
+
+1447 
+time_v®ue
+;
+
+1452 ià(
+       `¡rcmp
+(
+Çme
+, "udp_replied") == 0) {
+
+1453 ià(
+time_v®ue
+ == 0)
+
+1455 
+->
+ù_timeout
+.
+ud±imeout
+.
+udp_timeouts
+[
+RTE_CT_UDP_REPLIED
+] =
+
+1456 
+time_v®ue
+;
+
+1460 
+       }
+}
+
+1463 
+       $¹e_ù_úxn_\8cack\94_b©ch_lookup_basic_ty³
+(
+
+1464 \19
+¹e_ù_úxn_\8cack\94
+ *
+,
+
+1465 \19
+¹e_mbuf
+ **
+pkts
+,
+
+1466 
+u\9at64_t
+ *
+pkts_mask
+,
+
+1467 
+u\9at64_t
+no_Ãw_úxn_mask
+,
+
+1468 
+u\9at64_t
+ *
+»¶y_pkt_mask
+,
+
+1469 
+u\9at64_t
+ *
+hijack_mask
+,
+
+1470 
+u\9at8_t
+\9d_hdr_size_by\8bs
+)
+
+1473 
+u\9at64_t
+pkts_to_´oûss
+ = *
+pkts_mask
+;
+
+1475 
+u\9at8_t
+com·ù\9ag_m­
+[
+RTE_HASH_LOOKUP_BULK_MAX
+];
+
+1477 
+u\9at8_t
+key_Üig_d\9c
+[
+RTE_HASH_LOOKUP_BULK_MAX
+];
+
+1478 
+u\9at32_t
+·ck\91s_fÜ_lookup
+ = 0;
+
+1479 
+\9at32_t
+pos\99iÚs
+[
+RTE_HASH_LOOKUP_BULK_MAX
+];
+
+1480 
+u\9at32_t
+i
+;
+
+1481 \19
+¹e_ù_úxn_d©a
+Ãw_úxn_d©a
+;
+
+1483 ià(
+CNXN_TRX_DEBUG
+ > 1) {
+
+1484 
+       `´\9atf
+("EÁ\94 cnxÀ\8cack\94 %p", 
+);
+
+1485 
+       `´\9atf
+(" synproxy batch\86ookup with\85acket mask %p\n",
+
+1486 (\1e*)*
+pkts_mask
+);
+
+1489 
+       `¹e_ù_fÜg\91_Ãw_cÚÃùiÚs
+(
+);
+
+1490 *
+»¶y_pkt_mask
+ = 0;
+
+1491 *
+hijack_mask
+ = 0;
+
+1498 \1a
+\9d_hdr_size_by\8bs
+) {
+
+1499 \ 4
+IPv4_HEADER_SIZE
+:
+
+1500 \ f
+pkts_to_´oûss
+;) {
+
+1501 
+u\9at8_t
+pos
+ = (u\9at8_tè
+       `__bu\9et\9a_ùzÎ
+(
+
+1502 
+pkts_to_´oûss
+);
+
+1504 
+u\9at64_t
+pkt_mask
+ = 1LLU << 
+pos
+;
+
+1506 
+pkts_to_´oûss
+ &ð~
+pkt_mask
+;
+
+1508 \19
+¹e_mbuf
+ *
+pkt
+ = 
+pkts
+[
+pos
+];
+
+1514 \19
+tý_hdr
+ *
+thdr
+ = (\19tcp_hdr *)
+
+1515 
+       `RTE_MBUF_METADATA_UINT32_PTR
+(
+pkt
+,
+
+1516 (
+IP_START
+ + 
+\9d_hdr_size_by\8bs
+));
+
+1517 
+u\9at16_t
+¤c_pÜt
+ = 
+       `¹e_bsw­16
+(
+thdr
+->src_port);
+
+1518 
+u\9at16_t
+d¡_pÜt
+ = 
+       `¹e_bsw­16
+(
+thdr
+->dst_port);
+
+1520 \19
+\9dv4_hdr
+ *
+ihdr
+ = (\19ipv4_hdr *)
+
+1521 
+       `RTE_MBUF_METADATA_UINT32_PTR
+(
+pkt
+, 
+IP_START
+);
+
+1522 
+u\9at8_t
+´Ùo
+ = 
+ihdr
+->
+Ãxt_´Ùo_id
+;
+
+1524 ià(!(
+´Ùo
+ =ð
+TCP_PROTOCOL
+ ||\85rÙØ=ð
+UDP_PROTOCOL
+)) {
+
+1535 
+u\9at32_t
+¤c_addr
+ = 
+       `¹e_bsw­32
+(
+ihdr
+->src_addr);
+
+1536 
+u\9at32_t
+d¡_addr
+ = 
+       `¹e_bsw­32
+(
+ihdr
+->dst_addr);
+
+1538 ià(
+CNXN_TRX_DEBUG
+ > 2) {
+
+1539 ià(
+CNXN_TRX_DEBUG
+ > 4)
+
+1540 
+       `¹e_ù_úxn_´\9at_pkt
+(
+pkt
+,
+
+1541 
+IP_VERSION_4
+);
+
+1547 
+com·ù\9ag_m­
+[
+·ck\91s_fÜ_lookup
+] = 
+pos
+;
+
+1548 
+key_Üig_d\9c
+[
+·ck\91s_fÜ_lookup
+] =
+
+1549 
+       `¹e_ù_ü\97\8b_úxn_hashkey
+(&
+¤c_addr
+, &
+d¡_addr
+,
+
+1550 
+¤c_pÜt
+, 
+d¡_pÜt
+,
+
+1551 
+´Ùo
+,
+
+1552 &
+->
+hash_keys
+
+
+1553 [
+·ck\91s_fÜ_lookup
+][0],
+
+1554 
+IP_VERSION_4
+);
+
+1555 
+·ck\91s_fÜ_lookup
+++;
+
+1558 \ 4
+IPv6_HEADER_SIZE
+:
+
+1559 \ f
+pkts_to_´oûss
+;) {
+
+1560 
+u\9at8_t
+pos
+ = (u\9at8_tè
+       `__bu\9et\9a_ùzÎ
+(
+
+1561 
+pkts_to_´oûss
+);
+
+1563 
+u\9at64_t
+pkt_mask
+ = 1LLU << 
+pos
+;
+
+1565 
+pkts_to_´oûss
+ &ð~
+pkt_mask
+;
+
+1567 \19
+¹e_mbuf
+ *
+pkt
+ = 
+pkts
+[
+pos
+];
+
+1570 \1e*
+\9d_hdr
+ = 
+       `RTE_MBUF_METADATA_UINT32_PTR
+(
+pkt
+,
+
+1571 
+IP_START
+);
+
+1576 \19
+tý_hdr
+ *
+thdr
+ = (\19tcp_hdr *)
+
+1577 
+       `RTE_MBUF_METADATA_UINT32_PTR
+(
+pkt
+,
+
+1578 (
+IP_START
+ + 
+\9d_hdr_size_by\8bs
+));
+
+1579 
+u\9at16_t
+¤c_pÜt
+ = 
+       `¹e_bsw­16
+(
+thdr
+->src_port);
+
+1580 
+u\9at16_t
+d¡_pÜt
+ = 
+       `¹e_bsw­16
+(
+thdr
+->dst_port);
+
+1582 \19
+\9dv6_hdr
+ *
+ihdr
+ = (\19\9dv6_hd¸*)
+\9d_hdr
+;
+
+1583 
+u\9at8_t
+´Ùo
+ = 
+ihdr
+->proto;
+
+1585 ià(!(
+´Ùo
+ =ð
+TCP_PROTOCOL
+ ||\85rÙØ=ð
+UDP_PROTOCOL
+)) {
+
+1590 ià(
+CNXN_TRX_DEBUG
+ > 2) {
+
+1591 ià(
+CNXN_TRX_DEBUG
+ > 4)
+
+1592 
+       `¹e_ù_úxn_´\9at_pkt
+(
+pkt
+,
+
+1593 
+IP_VERSION_6
+);
+
+1600 
+com·ù\9ag_m­
+[
+·ck\91s_fÜ_lookup
+] = 
+pos
+;
+
+1601 
+key_Üig_d\9c
+[
+·ck\91s_fÜ_lookup
+] =
+
+1602 
+       `¹e_ù_ü\97\8b_úxn_hashkey
+(
+
+1603 (
+u\9at32_t
+ *è
+ihdr
+->
+¤c_addr
+,
+
+1604 (
+u\9at32_t
+ *è
+ihdr
+->
+d¡_addr
+,
+
+1605 
+¤c_pÜt
+, 
+d¡_pÜt
+,
+
+1606 
+´Ùo
+,
+
+1607 &
+->
+hash_keys
+
+
+1608 [
+·ck\91s_fÜ_lookup
+][0],
+
+1609 
+IP_VERSION_6
+);
+
+1610 
+·ck\91s_fÜ_lookup
+++;
+
+1616 ià(
+       `uÆik\96y
+(
+·ck\91s_fÜ_lookup
+ == 0))
+
+1620 
+       `mem£t
+(&
+Ãw_úxn_d©a
+, 0, \17(\19
+¹e_ù_úxn_d©a
+));
+
+1624 \12
+lookup_»suÉ
+ = 
+       `¹e_hash_lookup_bulk
+(
+->
+rhash
+,
+
+1625 (cڡ \1e**)&
+->
+hash_key_±rs
+,
+
+1626 
+·ck\91s_fÜ_lookup
+, &
+pos\99iÚs
+[0]);
+
+1628 ià(
+       `uÆik\96y
+(
+lookup_»suÉ
+ < 0)) {
+
+1630 
+       `´\9atf
+("Unexpected hash\81able\85roblem, discarding\87ll\85ackets");
+
+1631 *
+pkts_mask
+ = 0;
+
+1634 \ f
+i
+ = 0; i < 
+·ck\91s_fÜ_lookup
+; i++) {
+
+1636 \12
+hash_\8fbË_\92\8cy
+ = 
+pos\99iÚs
+[
+i
+];
+
+1638 
+u\9at8_t
+pkt_\9adex
+ = 
+com·ù\9ag_m­
+[
+i
+];
+
+1640 
+u\9at64_t
+pkt_mask
+ = 1LLU << 
+pkt_\9adex
+;
+
+1641 
+u\9at8_t
+key_is_þ\9bÁ_Üd\94
+ = 
+key_Üig_d\9c
+[
+i
+];
+
+1642 
+u\9at32_t
+ *
+key
+ = 
+->
+hash_key_±rs
+[
+pkt_\9adex
+];
+
+1643 
+u\9at8_t
+´ÙocÞ
+ = *(
+key
+ + 9);
+
+1644 \19
+¹e_mbuf
+ *
+·ck\91
+ = 
+pkts
+[
+pkt_\9adex
+];
+
+1645 \12
+no_Ãw_úxn
+ = (
+pkt_mask
+ & 
+no_Ãw_úxn_mask
+) != 0;
+
+1649 ià(
+´ÙocÞ
+ =ð
+TCP_PROTOCOL
+) {
+
+1650 \f
+¹e_ù_·ck\91_aùiÚ
+tý_pkt_aùiÚ
+;
+
+1652 
+tý_pkt_aùiÚ
+ = 
+       `¹e_ù_hªdË_tý_lookup
+(
+, 
+·ck\91
+,
+
+1653 
+pkt_\9adex
+, 
+key_is_þ\9bÁ_Üd\94
+,
+
+1654 
+key
+, 
+hash_\8fbË_\92\8cy
+, 
+no_Ãw_úxn
+,
+
+1655 
+\9d_hdr_size_by\8bs
+);
+
+1657 \1a
+tý_pkt_aùiÚ
+) {
+
+1659 \ 4
+RTE_CT_SEND_CLIENT_SYNACK
+:
+
+1660 \ 4
+RTE_CT_SEND_SERVER_ACK
+:
+
+1664 *
+»¶y_pkt_mask
+ |ð
+pkt_mask
+;
+
+1667 \ 4
+RTE_CT_SEND_SERVER_SYN
+:
+
+1668 \ 4
+RTE_CT_FORWARD_PACKET
+:
+
+1671 \ 4
+RTE_CT_HIJACK
+:
+
+1672 *
+hijack_mask
+ |ð
+pkt_mask
+;
+
+1677 *
+pkts_mask
+ ^ð
+pkt_mask
+;
+
+1678 
+->
+couÁ\94s
+->
+pkts_drÝ
+++;
+
+1685 ià(
+hash_\8fbË_\92\8cy
+ >= 0) {
+
+1691 \19
+¹e_ù_úxn_d©a
+ *
+\92\8cy
+ =
+
+1692 &
+->
+hash_\8fbË_\92\8c\9bs
+[
+hash_\8fbË_\92\8cy
+];
+
+1694 ià(
+¹e_ù_udp_·ck\91
+
+
+1695 (
+, 
+\92\8cy
+, 
+pkts
+[
+pkt_\9adex
+],
+
+1696 
+key_is_þ\9bÁ_Üd\94
+)) {
+
+1697 
+\92\8cy
+->
+couÁ\94s
+.
+·ck\91s_fÜw¬ded
+++;
+
+1698 
+->
+couÁ\94s
+->
+pkts_fÜw¬ded
+++;
+
+1706 \19
+¹e_ù_úxn_d©a
+ *
+»ûÁ_\92\8cy
+ =
+
+1707 
+       `¹e_ù_£¬ch_Ãw_cÚÃùiÚs
+(
+, 
+key
+);
+
+1709 ià(
+»ûÁ_\92\8cy
+ !ð
+NULL
+) {
+
+1710 ià(
+       `¹e_ù_udp_·ck\91
+(
+, 
+»ûÁ_\92\8cy
+,
+
+1711 
+pkts
+[
+pkt_\9adex
+],
+
+1712 
+key_is_þ\9bÁ_Üd\94
+)) {
+
+1713 
+»ûÁ_\92\8cy
+->
+couÁ\94s
+.
+
+1714 
+·ck\91s_fÜw¬ded
+++;
+
+1715 
+->
+couÁ\94s
+->
+pkts_fÜw¬ded
+++;
+
+1722 ià(
+no_Ãw_úxn
+) {
+
+1726 *
+pkts_mask
+ ^ð
+pkt_mask
+;
+
+1727 
+->
+couÁ\94s
+->
+pkts_drÝ
+++;
+
+1728 
+->
+couÁ\94s
+->
+
+1729 
+pkts_drÝ_\9av®id_cÚn
+++;
+
+1733 ià(
+       `¹e_ù_udp_Ãw_cÚÃùiÚ
+(
+,
+
+1734 &
+Ãw_úxn_d©a
+, 
+pkts
+[
+pkt_\9adex
+])) {
+
+1738 
+\9at32_t
+pos\99
+ =
+
+1739 
+       `¹e_hash_add_key
+(
+->
+
+1740 
+rhash
+, 
+key
+);
+
+1742 ià(
+pos\99
+ < 0)
+
+1745 \19
+¹e_ù_úxn_d©a
+
+
+1746 *
+Ãw_hash_\92\8cy
+ = &
+->
+
+1747 
+hash_\8fbË_\92\8c\9bs
+[
+pos\99
+];
+
+1754 
+       `memýy
+(
+Ãw_úxn_d©a
+.
+key
+, key,
+
+1755 \17(
+Ãw_úxn_d©a
+.
+key
+));
+
+1757 
+Ãw_úxn_d©a
+.
+
+1758 
+key_is_þ\9bÁ_Üd\94
+
+
+1759 ð
+key_is_þ\9bÁ_Üd\94
+;
+
+1760 
+Ãw_úxn_d©a
+.
+´ÙocÞ
+ =
+
+1761 
+UDP_PROTOCOL
+;
+
+1762 
+       `¹e_úxn_\9d_ty³
+(
+
+1763 &
+Ãw_úxn_d©a
+.
+ty³
+,
+
+1764 
+·ck\91
+);
+
+1765 
+       `¹e_memýy
+(
+Ãw_hash_\92\8cy
+,
+
+1766 &
+Ãw_úxn_d©a
+,
+
+1768 
+¹e_ù_úxn_d©a
+));
+
+1770 
+Ãw_hash_\92\8cy
+->
+couÁ\94s
+.
+
+1771 
+·ck\91s_fÜw¬ded
+ = 1;
+
+1772 
+->
+couÁ\94s
+->
+pkts_fÜw¬ded
+++;
+
+1773 
+Ãw_hash_\92\8cy
+->
+couÁ\94s
+.
+
+1774 
+·ck\91s_drݳd
+ = 0;
+
+1775 
+->
+couÁ\94s
+->
+pkts_drÝ
+ = 0;
+
+1776 
+->
+couÁ\94s
+->
+
+1777 
+cu¼\92t_aùive_£ssiÚs
+++;
+
+1778 
+->
+couÁ\94s
+->
+
+1779 
+£ssiÚs_aùiv©ed
+++;
+
+1781 
+Ãw_hash_\92\8cy
+->
+
+1782 
+¡©e_u£d_fÜ_tim\94
+
+
+1783 ð
+RTE_CT_UDP_NONE
+;
+
+1784 
+       `¹e_ù_£t_úxn_tim\94_fÜ_udp
+(
+
+1785 
+,
+
+1786 
+Ãw_hash_\92\8cy
+,
+
+1787 
+RTE_CT_UDP_UNREPLIED
+);
+
+1789 
+       `¹e_ù_»memb\94_Ãw_cÚÃùiÚ
+(
+
+1790 
+,
+
+1791 
+Ãw_hash_\92\8cy
+);
+
+1800 ià(
+CNXN_TRX_DEBUG
+ > 1) {
+
+1801 
+       `´\9atf
+("Exit cnxn\81racker synproxy batch\86ookup with");
+
+1802 
+       `´\9atf
+("\85ack\91 mask %p\n", (\1e*)*
+pkts_mask
+);
+
+1804 
+       }
+}
+
+       @VIL/conntrack/rte_cnxn_tracking.h
+
+17 #iâdeà
+_CNXN_TRACKING_H
+
+
+18 \ 1
+       #_CNXN_TRACKING_H
+
+
+       )
+
+20 \ 2
+       ~<¡dlib.h
+>
+
+21 \ 2
+       ~<¡r\9ag.h
+>
+
+22 \ 2
+       ~<\9a\89y³s.h
+>
+
+23 \ 2
+       ~<¡dboÞ.h
+>
+
+26 \ 2
+       ~<¹e_hash.h
+>
+
+27 \ 2
+       ~<¹e_\91h\94.h
+>
+
+29 \ 2
+       ~"¹e_ù_tý.h
+"
+
+54 \19
+¹e_ù_úxn_\8cack\94
+       g__¹e_ÿche_®igÃd
+;
+
+56 \r\12
+¹e_CT_hi_couÁ\94_block_\9a_u£
+;
+
+58 \19
+       s¹e_CT_couÁ\94_block
+ {
+
+60 
+u\9at64_t
+       mcu¼\92t_aùive_£ssiÚs
+;
+
+61 
+u\9at64_t
+       m£ssiÚs_aùiv©ed
+;
+
+63 
+u\9at64_t
+       m£ssiÚs_»aùiv©ed
+;
+
+65 
+u\9at64_t
+       m£ssiÚs_e¡ablished
+;
+
+66 
+u\9at64_t
+       m£ssiÚs_þo£d
+;
+
+67 
+u\9at64_t
+       m£ssiÚs_timedout
+;
+
+68 
+u\9at64_t
+       mpkts_fÜw¬ded
+;
+
+69 
+u\9at64_t
+       mpkts_drÝ
+;
+
+70 
+u\9at64_t
+       mpkts_drÝ_\9av®id_cÚn
+;
+
+71 
+u\9at64_t
+       mpkts_drÝ_\9av®id_¡©e
+;
+
+72 
+u\9at64_t
+       mpkts_drÝ_\9av®id_r¡
+;
+
+73 
+u\9at64_t
+       mpkts_drÝ_outof_w\9adow
+;
+
+74 } 
+       g__¹e_ÿche_®igÃd
+;
+
+76 \19
+       s¹e_syÅroxy_h\96³r
+ {
+
+77 
+u\9at64_t
+       m»¶y_pkt_mask
+;
+
+78 
+u\9at64_t
+       mhijack_mask
+;
+
+79 \19
+¹e_mbuf
+ **
+       mbufã»d_pkts_to_fÜw¬d
+;
+
+80 
+u\9at8_t
+       mnum_bufã»d_pkts_to_fÜw¬d
+;
+
+83 \19
+       s¹e_CT_h\96³r
+ {
+
+84 
+u\9at64_t
+       mno_Ãw_úxn_mask
+;
+
+85 
+u\9at64_t
+       m»¶y_pkt_mask
+;
+
+86 
+u\9at64_t
+       mhijack_mask
+;
+
+87 \19
+¹e_mbuf
+ **
+       mbufã»d_pkts_to_fÜw¬d
+;
+
+88 
+u\9at8_t
+       mnum_bufã»d_pkts_to_fÜw¬d
+;
+
+91 \ 1
+       #MAX_CT_INSTANCES
+ 24
+
+       )
+
+93 \r\19
+¹e_CT_couÁ\94_block
+¹e_CT_couÁ\94_\8f
+[
+MAX_CT_INSTANCES
+]
+
+94 
+__¹e_ÿche_®igÃd
+;
+
+122 
+u\9at64_t
+
+
+123 
+¹e_ù_úxn_\8cack\94_b©ch_lookup
+(
+
+124 \19
+¹e_ù_úxn_\8cack\94
+ *
+,
+
+125 \19
+¹e_mbuf
+ **
+pkts
+,
+
+126 
+u\9at64_t
+pkts_mask
+,
+
+127 \19
+¹e_CT_h\96³r
+ *
+ù_h\96³r
+);
+
+130 
+¹e_ù_úxn_\8cack\94_b©ch_lookup_ty³
+(
+
+131 \19
+¹e_ù_úxn_\8cack\94
+ *
+,
+
+132 \19
+¹e_mbuf
+ **
+pkts
+,
+
+133 
+u\9at64_t
+ *
+pkts_mask
+,
+
+134 \19
+¹e_CT_h\96³r
+ *
+ù_h\96³r
+,
+
+135 
+u\9at8_t
+\9d_hdr_size_by\8bs
+);
+
+169 
+u\9at64_t
+
+
+170 
+¹e_ù_úxn_\8cack\94_b©ch_lookup_w\99h_Ãw_úxn_cÚ\8cÞ
+(
+
+171 \19
+¹e_ù_úxn_\8cack\94
+ *
+,
+
+172 \19
+¹e_mbuf
+ **
+pkts
+,
+
+173 
+u\9at64_t
+pkts_mask
+,
+
+174 
+u\9at64_t
+no_Ãw_úxn_mask
+);
+
+205 
+u\9at64_t
+
+
+206 
+¹e_ù_úxn_\8cack\94_b©ch_lookup_w\99h_syÅroxy
+(
+
+207 \19
+¹e_ù_úxn_\8cack\94
+ *
+,
+
+208 \19
+¹e_mbuf
+ **
+pkts
+,
+
+209 
+u\9at64_t
+pkts_mask
+,
+
+210 \19
+¹e_syÅroxy_h\96³r
+ *
+¥_h\96³r
+);
+
+239 \19
+¹e_mbuf
+ *
+
+240 
+¹e_ù_g\91_bufã»d_syÅroxy_·ck\91s
+(\19
+¹e_ù_úxn_\8cack\94
+ *
+);
+
+259 
+¹e_ù_\9a\99\9flize_úxn_\8cack\94_w\99h_syÅroxy
+(
+
+260 \19
+¹e_ù_úxn_\8cack\94
+ *
+Ãw_úxn_\8cack\94
+,
+
+261 
+u\9at32_t
+max_cÚÃùiÚ_couÁ
+,
+
+262 \ 5*
+Çme
+,
+
+263 
+u\9at16_t
+po\9a\8br_off£t
+);
+
+283 
+¹e_ù_\9a\99\9flize_úxn_\8cack\94
+(
+
+284 \19
+¹e_ù_úxn_\8cack\94
+ *
+Ãw_úxn_\8cack\94
+,
+
+285 
+u\9at32_t
+max_cÚÃùiÚ_couÁ
+,
+
+286 \ 5*
+Çme
+);
+
+301 
+¹e_ù_ä\93_úxn_\8cack\94_»sourûs
+(
+
+302 \19
+¹e_ù_úxn_\8cack\94
+ *
+Þd_úxn_\8cack\94
+);
+
+313 
+¹e_ù_g\91_úxn_\8cack\94_size
+(\1e);
+
+323 \19
+¹e_CT_couÁ\94_block
+*
+
+324 
+¹e_ù_g\91_couÁ\94_add»ss
+(\19
+¹e_ù_úxn_\8cack\94
+ *
+);
+
+346 
+¹e_ù_£t_cÚfigu¿tiÚ_ÝtiÚs
+(
+
+347 \19
+¹e_ù_úxn_\8cack\94
+ *
+,
+
+348 \ 5*
+Çme
+,
+
+349 \ 5*
+v®ue
+);
+
+363 
+¹e_ù_hªdË_exp\9ced_tim\94s
+(\19
+¹e_ù_úxn_\8cack\94
+ *
+);
+
+367 
+¹e_ù_g\91_IP_hdr_size
+(\19
+¹e_mbuf
+ *
+pkt
+);
+
+378 
+¹e_ù_\92abË_syÅroxy
+(\19
+¹e_ù_úxn_\8cack\94
+ *
+);
+
+389 
+¹e_ù_di§bË_syÅroxy
+(\19
+¹e_ù_úxn_\8cack\94
+ *
+);
+
+391 
+¹e_ù_\9a\99\9flize_deçuÉ_timeouts
+(
+
+392 \19
+¹e_ù_úxn_\8cack\94
+ *
+Ãw_úxn_\8cack\94
+);
+
+394 
+u\9at8_t
+
+
+395 
+¹e_ù_ü\97\8b_úxn_hashkey
+(
+
+396 
+u\9at32_t
+ *
+¤c_addr
+,
+
+397 
+u\9at32_t
+ *
+d¡_addr
+,
+
+398 
+u\9at16_t
+¤c_pÜt
+,
+
+399 
+u\9at16_t
+d¡_pÜt
+,
+
+400 
+u\9at8_t
+´Ùo
+,
+
+401 
+u\9at32_t
+ *
+key
+,
+
+402 
+u\9at8_t
+ty³
+);
+
+405 #ifdeà
+CT_CGNAT
+
+
+406 \r
+u\9at32_t
+g\91_tim\94_cÜe_id
+(\1e);
+
+407 
+u\9at64_t
+cgDZ_ù_´oûss
+(
+
+408 \19
+¹e_ù_úxn_\8cack\94
+ *
+,
+
+409 \19
+¹e_mbuf
+ **
+pkts
+,
+
+410 
+u\9at64_t
+pkts_mask
+,
+
+411 \19
+¹e_CT_h\96³r
+ *
+ù_h\96³r
+);
+
+       @VIL/conntrack/rte_ct_synproxy.c
+
+17 \ 2
+       ~<¡dio.h
+>
+
+18 \ 2
+       ~<¡dlib.h
+>
+
+19 \ 2
+       ~<¡d\9at.h
+>
+
+20 \ 2
+       ~<¡ddef.h
+>
+
+21 \ 2
+       ~<¡r\9ag.h
+>
+
+22 \ 2
+       ~<uni¡d.h
+>
+
+24 \ 2
+       ~<¹e_commÚ.h
+>
+
+25 \ 2
+       ~<¹e_m®loc.h
+>
+
+26 \ 2
+       ~<¹e_\91h\94.h
+>
+
+27 \ 2
+       ~<¹e_\9d.h
+>
+
+28 \ 2
+       ~<¹e_udp.h
+>
+
+29 \ 2
+       ~<¹e_icmp.h
+>
+
+30 \ 2
+       ~<¹e_by\8bÜd\94.h
+>
+
+31 \ 2
+       ~<¹e_cyþes.h
+>
+
+33 \ 2
+       ~"¹e_ù_tý.h
+"
+
+71 \ 1
+       #META_DATA_OFFSET
+ 128
+
+       )
+
+72 \ 1
+       #ETHERNET_START
+ (
+META_DATA_OFFSET
+ + 
+RTE_PKTMBUF_HEADROOM
+)
+
+       )
+
+73 \ 1
+       #ETH_HDR_SIZE
+ 14
+
+       )
+
+74 \ 1
+       #IP_START
+ (
+ETHERNET_START
+ + 
+ETH_HDR_SIZE
+)
+
+       )
+
+75 \ 1
+       #PROTOCOL_START
+ (
+IP_START
+ + 9)
+
+       )
+
+76 \ 1
+       #IP_V4_HEADER_SIZE
+ 20
+
+       )
+
+77 \ 1
+       #IP_V6_HEADER_SIZE
+ 40
+
+       )
+
+78 \ 1
+       #TCP_START
+ (
+IP_START
+ + 
+IP_V4_HEADER_SIZE
+)
+
+       )
+
+79 \ 1
+       #TCP_MIN_HDR_SIZE
+ 20
+
+       )
+
+81 \ 1
+       #RTE_TCP_PROTO_ID
+ 6
+
+       )
+
+82 \ 1
+       #RTE_SP_DEFAULT_TTL
+ 64
+
+       )
+
+84 \ 1
+       #RTE_SYNPROXY_MAX_SPOOFED_PKTS
+ 64
+
+       )
+
+86 \ 1
+       #RTE_TCP_SYN
+ 0x02
+
+       )
+
+87 \ 1
+       #RTE_TCP_ACK
+ 0x10
+
+       )
+
+88 \ 1
+       #RTE_TCP_SYN_ACK
+ (
+RTE_TCP_SYN
+ | 
+RTE_TCP_ACK
+)
+
+       )
+
+90 \ 1
+       #RTE_SP_DEFAULT_WINDOW
+ 29200
+
+       )
+
+91 \ 1
+       #RTE_CT_DEBUG_SPOOFED_SEQ
+ 0
+
+       )
+
+92 \ 1
+       #RTE_DPDK_IS_16_4
+ 0
+
+       )
+
+94 \ 1
+       #IP_VERSION_4
+ 4
+
+       )
+
+95 \ 1
+       #IP_VERSION_6
+ 6
+
+       )
+
+101 \19
+¹e_syÅroxy_ÝtiÚs
+       gdeçuÉ_\9dv4_syÅroxy_ÝtiÚs
+ = {
+
+102 .
+ÝtiÚs
+ = 
+RTE_SP_OPTIONS_MSS
+ |
+
+103 
+RTE_SP_OPTIONS_SACK_PERM
+ |
+
+104 
+RTE_SP_OPTIONS_WINDOW_SCALE
+,
+
+105 .
+       gmss
+ = 1460,
+
+106 .
+       gw\9adow_sÿË
+ = 7,
+
+107 .
+       g\9a\99\9fl_w\9adow
+ = 
+RTE_SP_DEFAULT_WINDOW
+
+
+111 \19
+¹e_syÅroxy_ÝtiÚs
+       gdeçuÉ_\9dv6_syÅroxy_ÝtiÚs
+ = {
+
+112 .
+ÝtiÚs
+ = 
+RTE_SP_OPTIONS_MSS
+ |
+
+113 
+RTE_SP_OPTIONS_SACK_PERM
+ |
+
+114 
+RTE_SP_OPTIONS_WINDOW_SCALE
+,
+
+115 .
+       gmss
+ = 1440,
+
+116 .
+       gw\9adow_sÿË
+ = 7,
+
+117 .
+       g\9a\99\9fl_w\9adow
+ = 
+RTE_SP_DEFAULT_WINDOW
+
+
+121 \18
+__¹e_unu£d
\1e
+
+122 
+       $¹e_ù_syÅroxy_´\9at_pkt_\9afo
+(\19
+¹e_mbuf
+ *
+pkt
+)
+
+124 \19
+\9dv4_hdr
+ *
+ihdr4
+ = (\19ipv4_hdr *)
+
+125 
+       `RTE_MBUF_METADATA_UINT32_PTR
+(
+pkt
+, 
+IP_START
+);
+
+126 
+__¹e_unu£d
\19
+tý_hdr
+ *
+thdr
+ = (\19tcp_hdr *)
+
+127 
+       `RTE_MBUF_METADATA_UINT32_PTR
+(
+pkt
+, 
+TCP_START
+);
+
+128 
+u\9at32_t
+·ck\91_Ëngth
+ = 
+       `¹e_pktmbuf_pkt_Ën
+(
+pkt
+);
+
+130 
+       `´\9atf
+("\Åack\91\86\92gth %u, i°Ëngth %u\n", 
+·ck\91_Ëngth
+,
+
+131 
+       `¹e_bsw­16
+(
+ihdr4
+->
+tÙ®_Ëngth
+));
+
+132 
+       `¹e_pktmbuf_dump
+(
+¡dout
+, 
+pkt
+, 80);
+
+133 
+       }
+}
+
+135 \18
+\9al\9ae
\1e
+
+136 
+       $¹e_¥_\9aüem\92\8fl_tý_chksum_upd©e_32
+(
+
+137 
+u\9at32_t
+num_befÜe
+,
+
+138 
+u\9at32_t
+num_aá\94
+,
+
+140 
+u\9at16_t
+ *
+chksum
+)
+
+142 
+u\9at32_t
+sum
+;
+
+144 
+sum
+ = ~
+       `¹e_bsw­16
+(*
+chksum
+) & 0xffff;
+
+145 
+num_befÜe
+ = ~num_before;
+
+146 
+sum
+ +ð(
+num_befÜe
+ >> 16) + (num_before & 0xffff);
+
+147 
+sum
+ +ð(
+num_aá\94
+ >> 16) + (num_after & 0xffff);
+
+148 
+sum
+ = (sum >> 16) + (sum & 0xffff);
+
+149 
+sum
+ += (sum >> 16);
+
+150 *
+chksum
+ = 
+       `¹e_bsw­16
+(~
+sum
+ & 0xffff);
+
+151 
+       }
+}
+
+155 \18
+\9al\9ae
+u\9at32_t
+
+
+156 
+       $¹e_¥_g\91_¿ndom_£q_numb\94
+(\1e)
+
+158 \15 
+       `¹e_g\91_tsc_cyþes
+();
+
+159 
+       }
+}
+
+162 \18
+\9at8_t
+       $¹e_ù_\9dv\94siÚ
+(\1e*
+i_hdr
+)
+
+164 
+u\9at8_t
+ *
+ihdr
+ = (u\9at8_\88*)
+i_hdr
+;
+
+165 
+\9at8_t
+hdr_chk
+ = *
+ihdr
+;
+
+167 
+hdr_chk
+ = hdr_chk >> 4;
+
+168 ià(
+hdr_chk
+ =ð
+IP_VERSION_4
+ || hdr_chk =ð
+IP_VERSION_6
+)
+
+169 \15 
+hdr_chk
+;
+
+172 
+       }
+}
+
+174 \18
+\9al\9ae
\1e
+
+175 
+       $¹e_syÅroxy_adju¡_pkt_Ëngth
+(\19
+¹e_mbuf
+ *
+pkt
+)
+
+177 
+u\9at16_t
+pkt_Ëngth
+ = 0;
+
+178 \12
+\9d_hdr_size_by\8bs
+ = 
+       `¹e_ù_g\91_IP_hdr_size
+(
+pkt
+);
+
+179 \1e*
+\9dhdr
+ = 
+       `RTE_MBUF_METADATA_UINT32_PTR
+(
+pkt
+, 
+IP_START
+);
+
+181 ià(
+\9d_hdr_size_by\8bs
+ =ð
+IP_V4_HEADER_SIZE
+) {
+
+182 \19
+\9dv4_hdr
+ *
+ihdr4
+ = (\19\9dv4_hd¸*)
+\9dhdr
+;
+
+184 
+pkt_Ëngth
+ = 
+       `¹e_bsw­16
+(
+ihdr4
+->
+tÙ®_Ëngth
+è+ 
+ETH_HDR_SIZE
+;
+
+185 } \vià(
+\9d_hdr_size_by\8bs
+ =ð
+IP_V6_HEADER_SIZE
+) {
+
+186 \19
+\9dv6_hdr
+ *
+ihdr6
+ = (\19\9dv6_hd¸*)
+\9dhdr
+;
+
+188 
+pkt_Ëngth
+ = 
+       `¹e_bsw­16
+(
+ihdr6
+->
+·ylßd_Ën
+) +
+
+189 
+IP_V6_HEADER_SIZE
+ + 
+ETH_HDR_SIZE
+;
+
+191 
+u\9at16_t
+mbuf_pkt_Ëngth
+ = 
+       `¹e_pktmbuf_pkt_Ën
+(
+pkt
+);
+
+193 ià(
+pkt_Ëngth
+ =ð
+mbuf_pkt_Ëngth
+)
+
+196 ià(
+pkt_Ëngth
+ < 
+mbuf_pkt_Ëngth
+) {
+
+197 
+       `¹e_pktmbuf_\8cim
+(
+pkt
+, 
+mbuf_pkt_Ëngth
+ - 
+pkt_Ëngth
+);
+
+202 
+       `¹e_pktmbuf_­³nd
+(
+pkt
+, 
+pkt_Ëngth
+ - 
+mbuf_pkt_Ëngth
+);
+
+203 
+       }
+}
+
+206 
+       $¹e_syÅroxy_bu\9ed_\9dv4_h\97d\94
+(
+
+207 \19
+\9dv4_hdr
+ *
+hdr4
+,
+
+208 
+u\9at32_t
+¤c_addr
+,
+
+209 
+u\9at32_t
+d¡_addr
+,
+
+210 
+u\9at16_t
+tý_Ëngth
+)
+
+214 
+hdr4
+->
+v\94siÚ_ihl
+ = 0x45;
+
+215 
+hdr4
+->
+ty³_of_£rviû
+ = 0;
+
+216 
+hdr4
+->
+tÙ®_Ëngth
+ = 
+       `¹e_bsw­16
+(
+tý_Ëngth
+ + 
+IP_V4_HEADER_SIZE
+);
+
+217 
+hdr4
+->
+·ck\91_id
+ = 0;
+
+219 
+hdr4
+->
+äagm\92t_off£t
+ = 0x0040;
+
+220 
+hdr4
+->
+time_to_live
+ = 
+RTE_SP_DEFAULT_TTL
+;
+
+221 
+hdr4
+->
+Ãxt_´Ùo_id
+ = 
+RTE_TCP_PROTO_ID
+;
+
+223 
+hdr4
+->
+¤c_addr
+ = 
+       `¹e_bsw­32
+(src_addr);
+
+224 
+hdr4
+->
+d¡_addr
+ = 
+       `¹e_bsw­32
+(dst_addr);
+
+225 
+       }
+}
+
+229 
+       $¹e_syÅroxy_bu\9ed_\9dv6_h\97d\94
+(
+
+230 \19
+\9dv6_hdr
+ *
+hdr6
+,
+
+231 
+u\9at8_t
+ *
+¤c_addr
+,
+
+232 
+u\9at8_t
+ *
+d¡_addr
+,
+
+233 
+u\9at16_t
+tý_Ëngth
+)
+
+237 
+u\9at8_t
+\8bmp_¤c
+[16];
+
+238 
+u\9at8_t
+\8bmp_d¡
+[16];
+
+240 
+hdr6
+->
+vtc_æow
+ = 0x60;
+
+241 
+hdr6
+->
+·ylßd_Ën
+ = 
+       `¹e_bsw­16
+(
+tý_Ëngth
+);
+
+242 
+hdr6
+->
+´Ùo
+ = 
+RTE_TCP_PROTO_ID
+;
+
+243 
+hdr6
+->
+hÝ_lim\99s
+ = 
+RTE_SP_DEFAULT_TTL
+;
+
+247 
+       `¹e_mov16
+(
+\8bmp_¤c
+, 
+¤c_addr
+);
+
+248 
+       `¹e_mov16
+(
+\8bmp_d¡
+, 
+d¡_addr
+);
+
+249 
+       `¹e_mov16
+(
+hdr6
+->
+¤c_addr
+, 
+\8bmp_¤c
+);
+
+250 
+       `¹e_mov16
+(
+hdr6
+->
+d¡_addr
+, 
+\8bmp_d¡
+);
+
+251 
+       }
+}
+
+255 \18
+u\9at16_t
+
+
+256 
+       $¹e_¥_add_tý_ÝtiÚs
+(\19
+tý_hdr
+ *
+thdr
+,
+
+257 cڡ \19
+¹e_syÅroxy_ÝtiÚs
+ *
+t_Ýts
+)
+
+259 
+u\9at32_t
+ *
+ÝtiÚs_±r
+ = (u\9at32_\88*)(
+thdr
+ + 1);
+
+260 
+u\9at32_t
+ *
+§ved_±r
+ = 
+ÝtiÚs_±r
+;
+
+261 
+u\9at8_t
+ÝtiÚs
+ = 
+t_Ýts
+->options;
+
+262 
+u\9at32_t
+ÝtiÚ_by\8bs
+;
+
+264 ià(
+ÝtiÚs
+ & 
+RTE_SP_OPTIONS_MSS
+) {
+
+265 
+ÝtiÚ_by\8bs
+ = (
+RTE_CT_TCPOPT_MSS
+ << 24) |
+
+266 (
+RTE_CT_TCPOLEN_MSS
+ << 16è| 
+t_Ýts
+->
+mss
+;
+
+267 *
+ÝtiÚs_±r
+++ = 
+       `¹e_bsw­32
+(
+ÝtiÚ_by\8bs
+);
+
+270 ià(
+ÝtiÚs
+ & 
+RTE_SP_OPTIONS_TIMESTAMP
+) {
+
+274 ià(
+ÝtiÚs
+ & 
+RTE_SP_OPTIONS_SACK_PERM
+)
+
+275 
+ÝtiÚ_by\8bs
+ = (
+RTE_CT_TCPOPT_SACK_PERM
+ << 24) |
+
+276 (
+RTE_CT_TCPOLEN_SACK_PERM
+ << 16);
+
+278 
+ÝtiÚ_by\8bs
+ = (
+RTE_CT_TCPOPT_NOP
+ << 24) |
+
+279 (
+RTE_CT_TCPOPT_NOP
+ << 16);
+
+281 
+ÝtiÚ_by\8bs
+ |ð(
+RTE_CT_TCPOPT_TIMESTAMP
+ << 8) |
+
+282 
+RTE_CT_TCPOLEN_TIMESTAMP
+;
+
+283 *
+ÝtiÚs_±r
+++ = 
+       `¹e_bsw­32
+(
+ÝtiÚ_by\8bs
+);
+
+284 *
+ÝtiÚs_±r
+++ = 
+       `¹e_bsw­32
+(
+t_Ýts
+->
+ts_v®
+);
+
+285 *
+ÝtiÚs_±r
+++ = 
+       `¹e_bsw­32
+(
+t_Ýts
+->
+ts_echo_»¶y
+);
+
+286 } \vià(
+ÝtiÚs
+ & 
+RTE_SP_OPTIONS_SACK_PERM
+) {
+
+287 
+ÝtiÚ_by\8bs
+ = (
+RTE_CT_TCPOPT_NOP
+ << 24) |
+
+288 (
+RTE_CT_TCPOPT_NOP
+ << 16) |
+
+289 (
+RTE_CT_TCPOPT_SACK_PERM
+ << 8) |
+
+290 
+RTE_CT_TCPOLEN_SACK_PERM
+;
+
+291 *
+ÝtiÚs_±r
+++ = 
+       `¹e_bsw­32
+(
+ÝtiÚ_by\8bs
+);
+
+294 ià(
+ÝtiÚs
+ & 
+RTE_SP_OPTIONS_WINDOW_SCALE
+) {
+
+295 
+ÝtiÚ_by\8bs
+ = (
+RTE_CT_TCPOPT_NOP
+ << 24) |
+
+296 (
+RTE_CT_TCPOPT_WINDOW
+ << 16) |
+
+297 (
+RTE_CT_TCPOLEN_WINDOW
+ << 8) |
+
+298 
+t_Ýts
+->
+w\9adow_sÿË
+;
+
+299 *
+ÝtiÚs_±r
+++ = 
+       `¹e_bsw­32
+(
+ÝtiÚ_by\8bs
+);
+
+306 
+u\9at16_t
+d©a_off£t_by\8bs
+ = (u\9at16_t)
+       `RTE_PTR_DIFF
+(
+ÝtiÚs_±r
+,
+
+307 
+§ved_±r
+è+ \17(\19
+tý_hdr
+);
+
+308 
+thdr
+->
+d©a_off
+ = (
+d©a_off£t_by\8bs
+ >> 2) << 4;
+
+310 \15 
+d©a_off£t_by\8bs
+;
+
+311 
+       }
+}
+
+318 \18
+\9al\9ae
+u\9at16_t
+
+
+319 
+       $¹e_syÅroxy_bu\9ed_tý_h\97d\94
+(
+
+320 
+__¹e_unu£d
\19
+¹e_mbuf
+ *
+Þd_pkt
+,
+
+321 \19
+tý_hdr
+ *
+t_hdr
+,
+
+322 
+u\9at16_t
+¤c_pÜt
+,
+
+323 
+u\9at16_t
+d¡_pÜt
+,
+
+324 
+u\9at32_t
+£q
+,
+
+325 
+u\9at32_t
+ack
+,
+
+326 
+u\9at8_t
+æags
+,
+
+327 cڡ \19
+¹e_syÅroxy_ÝtiÚs
+ *
+t_Ýts
+,
+
+328 
+u\9at8_t
+add_ÝtiÚs
+)
+
+330 
+t_hdr
+->
+¤c_pÜt
+ = 
+       `¹e_bsw­16
+(src_port);
+
+331 
+t_hdr
+->
+d¡_pÜt
+ = 
+       `¹e_bsw­16
+(dst_port);
+
+332 
+t_hdr
+->
+£Á_£q
+ = 
+       `¹e_bsw­32
+(
+£q
+);
+
+333 
+t_hdr
+->
+»cv_ack
+ = 
+       `¹e_bsw­32
+(
+ack
+);
+
+335 
+t_hdr
+->
+tý_æags
+ = 
+æags
+;
+
+336 
+t_hdr
+->
+rx_w\9a
+ = 
+t_Ýts
+->
+\9a\99\9fl_w\9adow
+;
+
+338 
+t_hdr
+->
+tý_u½
+ = 0;
+
+342 
+u\9at16_t
+Ãw_tý_hdr_size
+ = 
+TCP_MIN_HDR_SIZE
+;
+
+344 ià(
+add_ÝtiÚs
+)
+
+345 
+Ãw_tý_hdr_size
+ = 
+       `¹e_¥_add_tý_ÝtiÚs
+(
+t_hdr
+, 
+t_Ýts
+);
+
+347 
+t_hdr
+->
+d©a_off
+ = (
+TCP_MIN_HDR_SIZE
+ >> 2) << 4;
+
+349 \15 
+Ãw_tý_hdr_size
+;
+
+350 
+       }
+}
+
+353 
+       $¹e_syÅroxy_compu\8b_checksums
+(\1e*
+i_hdr
+, \19
+tý_hdr
+ *
+t_hdr
+)
+
+364 
+\9at8_t
+hdr_chk
+ = 
+       `¹e_ù_\9dv\94siÚ
+(
+i_hdr
+);
+
+366 
+t_hdr
+->
+cksum
+ = 0;
+
+368 ià(
+hdr_chk
+ =ð
+IP_VERSION_4
+) {
+
+369 \19
+\9dv4_hdr
+ *
+i4_hdr
+ = (\19\9dv4_hd¸*)
+i_hdr
+;
+
+371 
+i4_hdr
+->
+hdr_checksum
+ = 0;
+
+372 
+t_hdr
+->
+cksum
+ = 
+       `¹e_\9dv4_ud±ý_cksum
+(
+i4_hdr
+,\81_hdr);
+
+373 
+i4_hdr
+->
+hdr_checksum
+ = 
+       `¹e_\9dv4_cksum
+(i4_hdr);
+
+374 } \vià(
+hdr_chk
+ =ð
+IP_VERSION_6
+) {
+
+375 \19
+\9dv6_hdr
+ *
+i6_hdr
+ = (\19\9dv6_hd¸*)
+i_hdr
+;
+
+377 
+t_hdr
+->
+cksum
+ = 
+       `¹e_\9dv6_ud±ý_cksum
+(
+i6_hdr
+,\81_hdr);
+
+379 
+       }
+}
+
+391 
+       $¹e_¥_cvt_to_¥ooãd_þ\9bÁ_syÇck
+(\19
+¹e_ù_úxn_d©a
+ *
+cd
+,
+
+392 \19
+¹e_mbuf
+ *
+Þd_pkt
+)
+
+398 \12
+\9d_hdr_size_by\8bs
+ = 
+       `¹e_ù_g\91_IP_hdr_size
+(
+Þd_pkt
+);
+
+399 \1e*
+\9dhdr
+ = 
+       `RTE_MBUF_METADATA_UINT32_PTR
+(
+Þd_pkt
+, 
+IP_START
+);
+
+400 \19
+tý_hdr
+ *
+thdr
+ = (\19tcp_hdr *)
+
+401 
+       `RTE_MBUF_METADATA_UINT32_PTR
+(
+Þd_pkt
+, 
+IP_START
+ +
+
+402 
+\9d_hdr_size_by\8bs
+);
+
+403 
+u\9at16_t
+tý_h\97d\94_size
+;
+
+406 
+u\9at32_t
+Ãw_£q
+ = 
+       `¹e_¥_g\91_¿ndom_£q_numb\94
+();
+
+408 ià(
+RTE_CT_DEBUG_SPOOFED_SEQ
+)
+
+409 
+Ãw_£q
+ = 10;
+
+411 
+cd
+->
+ù_´ÙocÞ
+.
+syÅroxy_d©a
+.
+Üig\9a®_¥ooãd_£q
+ = 
+Ãw_£q
+;
+
+414 
+tý_h\97d\94_size
+ = 
+       `¹e_syÅroxy_bu\9ed_tý_h\97d\94
+(
+Þd_pkt
+, 
+thdr
+,
+
+415 
+       `¹e_bsw­16
+(
+thdr
+->
+d¡_pÜt
+),
+
+416 
+       `¹e_bsw­16
+(
+thdr
+->
+¤c_pÜt
+),
+
+417 
+Ãw_£q
+, 
+       `¹e_bsw­32
+(
+thdr
+->
+£Á_£q
+) + 1,
+
+418 
+RTE_TCP_SYN_ACK
+,
+
+419 
+\9d_hdr_size_by\8bs
+ =ð
+IP_V4_HEADER_SIZE
+ ?
+
+420 &
+deçuÉ_\9dv4_syÅroxy_ÝtiÚs
+ :
+
+421 &
+deçuÉ_\9dv6_syÅroxy_ÝtiÚs
+, 1);
+
+424 ià(
+\9d_hdr_size_by\8bs
+ =ð
+IP_V4_HEADER_SIZE
+) {
+
+425 \19
+\9dv4_hdr
+ *
+ihdr4
+ = (\19\9dv4_hd¸*)
+\9dhdr
+;
+
+427 
+       `¹e_syÅroxy_bu\9ed_\9dv4_h\97d\94
+(
+ihdr4
+,
+
+428 
+       `¹e_bsw­32
+(
+ihdr4
+->
+d¡_addr
+),
+
+429 
+       `¹e_bsw­32
+(
+ihdr4
+->
+¤c_addr
+), 
+tý_h\97d\94_size
+);
+
+431 } \vià(
+\9d_hdr_size_by\8bs
+ =ð
+IP_V6_HEADER_SIZE
+) {
+
+432 \19
+\9dv6_hdr
+ *
+ihdr6
+ = (\19\9dv6_hd¸*)
+\9dhdr
+;
+
+434 
+       `¹e_syÅroxy_bu\9ed_\9dv6_h\97d\94
+(
+ihdr6
+,
+
+435 (
+u\9at8_t
+ *)
+ihdr6
+->
+d¡_addr
+,
+
+436 (
+u\9at8_t
+ *)
+ihdr6
+->
+¤c_addr
+, 
+tý_h\97d\94_size
+);
+
+438 
+       `¹e_syÅroxy_adju¡_pkt_Ëngth
+(
+Þd_pkt
+);
+
+440 
+       `¹e_syÅroxy_compu\8b_checksums
+(
+\9dhdr
+, 
+thdr
+);
+
+442 
+       }
+}
+
+446 
+       $¹e_¥_cvt_to_¥ooãd_£rv\94_syn
+(\19
+¹e_ù_úxn_d©a
+ *
+cd
+,
+
+447 \19
+¹e_mbuf
+ *
+Þd_pkt
+)
+
+453 \12
+\9d_hdr_size_by\8bs
+ = 
+       `¹e_ù_g\91_IP_hdr_size
+(
+Þd_pkt
+);
+
+454 \1e*
+\9dhdr
+ = 
+       `RTE_MBUF_METADATA_UINT32_PTR
+(
+Þd_pkt
+, 
+IP_START
+);
+
+455 \19
+tý_hdr
+ *
+thdr
+ = (\19tcp_hdr *)
+
+456 
+       `RTE_MBUF_METADATA_UINT32_PTR
+(
+Þd_pkt
+, 
+IP_START
+
+
+457 + 
+\9d_hdr_size_by\8bs
+);
+
+458 
+u\9at16_t
+tý_h\97d\94_size
+;
+
+460 
+tý_h\97d\94_size
+ = 
+       `¹e_syÅroxy_bu\9ed_tý_h\97d\94
+(
+Þd_pkt
+, 
+thdr
+,
+
+461 
+       `¹e_bsw­16
+(
+thdr
+->
+¤c_pÜt
+),
+
+462 
+       `¹e_bsw­16
+(
+thdr
+->
+d¡_pÜt
+),
+
+463 
+       `¹e_bsw­32
+(
+thdr
+->
+£Á_£q
+) - 1, 0,
+
+464 
+RTE_TCP_SYN
+,
+
+465 &
+cd
+->
+ù_´ÙocÞ
+.
+syÅroxy_d©a
+.
+úxn_ÝtiÚs
+, 1);
+
+467 ià(
+\9d_hdr_size_by\8bs
+ =ð
+IP_V4_HEADER_SIZE
+) {
+
+468 \19
+\9dv4_hdr
+ *
+ihdr4
+ = (\19\9dv4_hd¸*)
+\9dhdr
+;
+
+470 
+       `¹e_syÅroxy_bu\9ed_\9dv4_h\97d\94
+(
+ihdr4
+,
+
+471 
+       `¹e_bsw­32
+(
+ihdr4
+->
+¤c_addr
+),
+
+472 
+       `¹e_bsw­32
+(
+ihdr4
+->
+d¡_addr
+), 
+tý_h\97d\94_size
+);
+
+473 } \vià(
+\9d_hdr_size_by\8bs
+ =ð
+IP_V6_HEADER_SIZE
+) {
+
+474 \19
+\9dv6_hdr
+ *
+ihdr6
+ = (\19\9dv6_hd¸*)
+\9dhdr
+;
+
+476 
+       `¹e_syÅroxy_bu\9ed_\9dv6_h\97d\94
+(
+ihdr6
+,
+
+477 (
+u\9at8_t
+ *)
+ihdr6
+->
+¤c_addr
+,
+
+478 (
+u\9at8_t
+ *)
+ihdr6
+->
+d¡_addr
+, 
+tý_h\97d\94_size
+);
+
+481 
+       `¹e_syÅroxy_adju¡_pkt_Ëngth
+(
+Þd_pkt
+);
+
+483 
+       `¹e_syÅroxy_compu\8b_checksums
+(
+\9dhdr
+, 
+thdr
+);
+
+485 
+       }
+}
+
+488 
+       $¹e_¥_cvt_to_¥ooãd_£rv\94_ack
+(\19
+¹e_ù_úxn_d©a
+ *
+cd
+,
+
+489 \19
+¹e_mbuf
+ *
+Þd_pkt
+)
+
+495 \12
+\9d_hdr_size_by\8bs
+ = 
+       `¹e_ù_g\91_IP_hdr_size
+(
+Þd_pkt
+);
+
+496 \1e*
+\9dhdr
+ = 
+       `RTE_MBUF_METADATA_UINT32_PTR
+(
+Þd_pkt
+, 
+IP_START
+);
+
+497 \19
+tý_hdr
+ *
+thdr
+ = (\19tcp_hdr *)
+
+498 
+       `RTE_MBUF_METADATA_UINT32_PTR
+(
+Þd_pkt
+, 
+IP_START
+ +
+
+499 
+\9d_hdr_size_by\8bs
+);
+
+504 
+u\9at32_t
+»®_£q
+ = 
+       `¹e_bsw­32
+(
+thdr
+->
+£Á_£q
+);
+
+505 
+u\9at16_t
+tý_h\97d\94_size
+;
+
+507 
+cd
+->
+ù_´ÙocÞ
+.
+syÅroxy_d©a
+.
+£q_diff
+ =
+
+508 
+»®_£q
+ - 
+cd
+->
+ù_´ÙocÞ
+.
+syÅroxy_d©a
+.
+Üig\9a®_¥ooãd_£q
+;
+
+511 
+tý_h\97d\94_size
+ = 
+       `¹e_syÅroxy_bu\9ed_tý_h\97d\94
+(
+Þd_pkt
+, 
+thdr
+,
+
+512 
+       `¹e_bsw­16
+(
+thdr
+->
+d¡_pÜt
+),
+
+513 
+       `¹e_bsw­16
+(
+thdr
+->
+¤c_pÜt
+),
+
+514 
+       `¹e_bsw­32
+(
+thdr
+->
+»cv_ack
+),
+
+515 
+       `¹e_bsw­32
+(
+thdr
+->
+£Á_£q
+è+ 1, 
+RTE_TCP_ACK
+,
+
+516 &
+cd
+->
+ù_´ÙocÞ
+.
+syÅroxy_d©a
+.
+úxn_ÝtiÚs
+, 0);
+
+519 ià(
+\9d_hdr_size_by\8bs
+ =ð
+IP_V4_HEADER_SIZE
+) {
+
+520 \19
+\9dv4_hdr
+ *
+ihdr4
+ = (\19\9dv4_hd¸*)
+\9dhdr
+;
+
+522 
+       `¹e_syÅroxy_bu\9ed_\9dv4_h\97d\94
+(
+ihdr4
+,
+
+523 
+       `¹e_bsw­32
+(
+ihdr4
+->
+d¡_addr
+),
+
+524 
+       `¹e_bsw­32
+(
+ihdr4
+->
+¤c_addr
+), 
+tý_h\97d\94_size
+);
+
+526 } \vià(
+\9d_hdr_size_by\8bs
+ =ð
+IP_V6_HEADER_SIZE
+) {
+
+527 \19
+\9dv6_hdr
+ *
+ihdr6
+ = (\19\9dv6_hd¸*)
+\9dhdr
+;
+
+529 
+       `¹e_syÅroxy_bu\9ed_\9dv6_h\97d\94
+(
+ihdr6
+,
+
+530 (
+u\9at8_t
+ *)
+ihdr6
+->
+d¡_addr
+,
+
+531 (
+u\9at8_t
+ *)
+ihdr6
+->
+¤c_addr
+, 
+tý_h\97d\94_size
+);
+
+533 
+       `¹e_syÅroxy_adju¡_pkt_Ëngth
+(
+Þd_pkt
+);
+
+535 
+       `¹e_syÅroxy_compu\8b_checksums
+(
+\9dhdr
+, 
+thdr
+);
+
+536 
+       }
+}
+
+551 
+       $¹e_¥_adju¡_£rv\94_£q_aá\94_w\9adow_check
+(
+
+552 \19
+¹e_ù_úxn_d©a
+ *
+cd
+,
+
+553 
+__¹e_unu£d
\1e*
+i_hdr
+,
+
+554 \19
+tý_hdr
+ *
+thdr
+,
+
+555 \f
+¹e_ù_pkt_d\9ceùiÚ
+d\9c
+)
+
+557 
+u\9at32_t
+num_befÜe
+, 
+num_aá\94
+;
+
+559 ià(!
+cd
+->
+ù_´ÙocÞ
+.
+syÅroxy_d©a
+.
+úxn_e¡ablished
+)
+
+562 ià(
+d\9c
+ =ð
+RTE_CT_DIR_ORIGINAL
+)
+
+567 
+num_befÜe
+ = 
+       `¹e_bsw­32
+(
+thdr
+->
+£Á_£q
+);
+
+568 
+num_aá\94
+ = 
+num_befÜe
+ - 
+cd
+->
+ù_´ÙocÞ
+.
+syÅroxy_d©a
+.
+£q_diff
+;
+
+569 
+thdr
+->
+£Á_£q
+ = 
+       `¹e_bsw­32
+(
+num_aá\94
+);
+
+571 
+       `¹e_¥_\9aüem\92\8fl_tý_chksum_upd©e_32
+(
+num_befÜe
+, 
+num_aá\94
+,
+
+572 &
+thdr
+->
+cksum
+);
+
+573 
+       }
+}
+
+577 
+       $¹e_¥_adju¡_þ\9bÁ_§ck_\92\8c\9bs
+(
+
+578 \19
+tý_hdr
+ *
+thdr
+,
+
+579 
+u\9at32_t
+diff
+)
+
+581 
+u\9at32_t
+num_befÜe
+, 
+num_aá\94
+;
+
+582 
+u\9at32_t
+ *
+§ck_±r
+;
+
+583 
+u\9at8_t
+§ck_blk_size
+;
+
+584 
+u\9at16_t
+d©aoff_\9a_by\8bs
+ = (
+thdr
+->
+d©a_off
+ & 0xf0) >> 2;
+
+585 
+u\9at16_t
+Ëngth
+ = 
+d©aoff_\9a_by\8bs
+ - \17(\19
+tý_hdr
+);
+
+587 ià(!
+Ëngth
+)
+
+590 
+u\9at8_t
+ *
+ÝtiÚs_±r
+ = (u\9at8_\88*)(
+thdr
+ + 1);
+
+592 \1f
+Ëngth
+ > 0) {
+
+593 
+u\9at8_t
+Ýcode
+ = *
+ÝtiÚs_±r
+;
+
+594 
+u\9at8_t
+Ýsize
+ = 
+ÝtiÚs_±r
+[1];
+
+595 \12
+i
+;
+
+597 \1a
+Ýcode
+) {
+
+599 \ 4
+RTE_CT_TCPOPT_EOL
+:
+
+602 \ 4
+RTE_CT_TCPOPT_NOP
+:
+
+603 
+Ëngth
+--;
+
+604 
+ÝtiÚs_±r
+++;
+
+607 \ 4
+RTE_CT_TCPOPT_SACK
+:
+
+616 
+§ck_blk_size
+ = 
+Ýsize
+ - 2;
+
+618 
+§ck_±r
+ = (
+u\9at32_t
+ *)(
+ÝtiÚs_±r
+ + 2);
+
+620 \12
+num_acks
+ = 
+§ck_blk_size
+ >> 2;
+
+622 ià(
+       `uÆik\96y
+(
+§ck_blk_size
+ > 32 ||
+
+623 ((
+§ck_blk_size
+ & 0x3) != 0))) {
+
+624 
+       `´\9atf
+("Sack block\85arsing failure\n");
+
+628 \ f
+i
+ = 0; i < 
+num_acks
+; i++) {
+
+629 
+num_befÜe
+ = 
+       `¹e_bsw­32
+(*
+§ck_±r
+);
+
+630 
+num_aá\94
+ = 
+num_befÜe
+ + 
+diff
+;
+
+631 *
+§ck_±r
+ = 
+       `¹e_bsw­32
+(
+num_aá\94
+);
+
+632 
+§ck_±r
+++;
+
+633 
+       `¹e_¥_\9aüem\92\8fl_tý_chksum_upd©e_32
+(
+
+634 
+num_befÜe
+,
+
+635 
+num_aá\94
+,
+
+636 &
+thdr
+->
+cksum
+);
+
+643 ià((
+Ýsize
+ < 2è|| (Ýsiz\90
+Ëngth
+)) {
+
+644 
+       `´\9atf
+("ERROR!, opsize %i,\86ength %i\n",
+
+645 
+Ýsize
+, 
+Ëngth
+);
+
+649 
+ÝtiÚs_±r
+ +ð
+Ýsize
+;
+
+650 
+Ëngth
+ -ð
+Ýsize
+;
+
+652 
+       }
+}
+
+655 
+       $¹e_¥_adju¡_þ\9bÁ_ack_befÜe_w\9adow_check
+(
+
+656 \19
+¹e_ù_úxn_d©a
+ *
+cd
+,
+
+657 
+__¹e_unu£d
\1e*
+i_hdr
+,
+
+658 \19
+tý_hdr
+ *
+thdr
+,
+
+659 \f
+¹e_ù_pkt_d\9ceùiÚ
+d\9c
+)
+
+661 
+u\9at32_t
+num_befÜe
+, 
+num_aá\94
+;
+
+663 ià(!
+cd
+->
+ù_´ÙocÞ
+.
+syÅroxy_d©a
+.
+úxn_e¡ablished
+)
+
+666 ià(
+d\9c
+ !ð
+RTE_CT_DIR_ORIGINAL
+)
+
+671 
+num_befÜe
+ = 
+       `¹e_bsw­32
+(
+thdr
+->
+»cv_ack
+);
+
+672 
+num_aá\94
+ = 
+num_befÜe
+ + 
+cd
+->
+ù_´ÙocÞ
+.
+syÅroxy_d©a
+.
+£q_diff
+;
+
+673 
+thdr
+->
+»cv_ack
+ = 
+       `¹e_bsw­32
+(
+num_aá\94
+);
+
+674 
+       `¹e_¥_\9aüem\92\8fl_tý_chksum_upd©e_32
+(
+num_befÜe
+,
+
+675 
+num_aá\94
+, &
+thdr
+->
+cksum
+);
+
+680 
+       `¹e_¥_adju¡_þ\9bÁ_§ck_\92\8c\9bs
+(
+thdr
+,
+
+681 
+cd
+->
+ù_´ÙocÞ
+.
+syÅroxy_d©a
+.
+£q_diff
+);
+
+686 
+       }
+}
+
+693 
+       $¹e_¥_·r£_tý_ÝtiÚs
+(
+
+694 
+u\9at8_t
+ *
+ÝtiÚs_±r
+,
+
+695 
+u\9at16_t
+Ëngth
+,
+
+696 \19
+¹e_syÅroxy_ÝtiÚs
+ *
+t_Ýts
+)
+
+698 \12
+Ýsize
+;
+
+700 
+t_Ýts
+->
+ÝtiÚs
+ = 0;
+
+702 \1f
+Ëngth
+ > 0) {
+
+703 
+u\9at8_t
+Ýcode
+ = *
+ÝtiÚs_±r
+++;
+
+705 ià(
+Ýcode
+ =ð
+RTE_CT_TCPOPT_EOL
+)
+
+708 ià(
+Ýcode
+ =ð
+RTE_CT_TCPOPT_NOP
+) {
+
+709 
+Ëngth
+--;
+
+713 
+Ýsize
+ = *
+ÝtiÚs_±r
+++;
+
+715 ià(
+       `uÆik\96y
+(
+Ýsize
+ < 2 || opsiz\90
+Ëngth
+)) {
+
+717 
+       `´\9atf
+("parsing\83rror, opsize: %i,\86ength: %i\n",
+
+718 
+Ýsize
+, 
+Ëngth
+);
+
+722 \1a
+Ýcode
+) {
+
+724 \ 4
+RTE_CT_TCPOPT_MSS
+:
+
+725 ià(
+Ýsize
+ =ð
+RTE_CT_TCPOLEN_MSS
+) {
+
+726 
+u\9at16_t
+ *
+mss_±r
+ = (u\9at16_\88*)
+ÝtiÚs_±r
+;
+
+728 
+t_Ýts
+->
+mss
+ = 
+       `¹e_bsw­16
+(*
+mss_±r
+);
+
+729 
+t_Ýts
+->
+ÝtiÚs
+ |ð
+RTE_SP_OPTIONS_MSS
+;
+
+733 \ 4
+RTE_CT_TCPOPT_WINDOW
+:
+
+734 ià(
+Ýsize
+ =ð
+RTE_CT_TCPOLEN_WINDOW
+) {
+
+735 
+t_Ýts
+->
+w\9adow_sÿË
+ = 
+       `RTE_MIN
+(*
+ÝtiÚs_±r
+,
+
+736 
+RTE_CT_MAX_TCP_WINDOW_SCALE
+);
+
+737 
+t_Ýts
+->
+ÝtiÚs
+ |ð
+RTE_SP_OPTIONS_WINDOW_SCALE
+;
+
+741 \ 4
+RTE_CT_TCPOPT_TIMESTAMP
+:
+
+742 ià(
+Ýsize
+ =ð
+RTE_CT_TCPOLEN_TIMESTAMP
+) {
+
+743 
+u\9at32_t
+ *
+ts_v®_±r
+ = (u\9at32_\88*)
+ÝtiÚs_±r
+;
+
+744 
+u\9at32_t
+ *
+ts_eü_±r
+ =
+
+745 (
+u\9at32_t
+ *)(
+ÝtiÚs_±r
+ + 4);
+
+746 
+t_Ýts
+->
+ts_v®
+ = 
+       `¹e_bsw­32
+(*
+ts_v®_±r
+);
+
+747 
+t_Ýts
+->
+ts_echo_»¶y
+ =
+
+748 
+       `¹e_bsw­32
+(*
+ts_eü_±r
+);
+
+749 
+t_Ýts
+->
+ÝtiÚs
+ |ð
+RTE_SP_OPTIONS_TIMESTAMP
+;
+
+753 \ 4
+RTE_CT_TCPOPT_SACK_PERM
+:
+
+754 ià(
+Ýsize
+ =ð
+RTE_CT_TCPOLEN_SACK_PERM
+)
+
+755 
+t_Ýts
+->
+ÝtiÚs
+ |ð
+RTE_SP_OPTIONS_SACK_PERM
+;
+
+762 
+ÝtiÚs_±r
+ +ð
+Ýsize
+ - 2;
+
+763 
+Ëngth
+ -ð
+Ýsize
+;
+
+766 
+       }
+}
+
+770 
+       $¹e_¥_·r£_ÝtiÚs
+(\19
+¹e_mbuf
+ *
+pkt
+, \19
+¹e_ù_úxn_d©a
+ *
+cd
+)
+
+775 \12
+\9d_hdr_Ëngth
+ = 
+       `¹e_ù_g\91_IP_hdr_size
+(
+pkt
+);
+
+776 \19
+tý_hdr
+ *
+thdr
+ = (\19tcp_hdr *)
+
+777 
+       `RTE_MBUF_METADATA_UINT32_PTR
+(
+pkt
+, 
+IP_START
+ + 
+\9d_hdr_Ëngth
+);
+
+778 
+u\9at8_t
+ *
+Ýt_±r
+ = 
+       `RTE_MBUF_METADATA_UINT8_PTR
+(
+pkt
+,
+
+779 (
+IP_START
+ + 
+\9d_hdr_Ëngth
+ + \17(\19
+tý_hdr
+)));
+
+781 \19
+¹e_syÅroxy_ÝtiÚs
+ *
+t_Ýts
+ =
+
+782 &
+cd
+->
+ù_´ÙocÞ
+.
+syÅroxy_d©a
+.
+úxn_ÝtiÚs
+;
+
+783 \12
+Ëngth_\9a_by\8bs
+ =
+
+784 ((
+thdr
+->
+d©a_off
+ & 0xf0è>> 2è- \17(\19
+tý_hdr
+);
+
+786 
+       `¹e_¥_·r£_tý_ÝtiÚs
+(
+Ýt_±r
+, 
+Ëngth_\9a_by\8bs
+, 
+t_Ýts
+);
+
+787 
+t_Ýts
+->
+\9a\99\9fl_w\9adow
+ = 
+thdr
+->
+rx_w\9a
+;
+
+788 
+       }
+}
+
+793 \19
+¹e_mbuf
+ *
+
+794 
+       $¹e_ù_g\91_bufã»d_syÅroxy_·ck\91s
+(
+
+795 \19
+¹e_ù_úxn_\8cack\94
+ *
+)
+
+797 \19
+¹e_mbuf
+ *
+\8ckr_li¡
+ = 
+->
+bufã»d_pkt_li¡
+;
+
+799 
+->
+bufã»d_pkt_li¡
+ = 
+NULL
+;
+
+800 \15 
+\8ckr_li¡
+;
+
+801 
+       }
+}
+
+805 \1e
+       $¹e_ù_\92abË_syÅroxy
+(\19
+¹e_ù_úxn_\8cack\94
+ *
+)
+
+807 
+->
+misc_ÝtiÚs
+.
+syÅroxy_\92abËd
+ = 1;
+
+808 
+       `´\9atf
+("rte_ct_enable_synproxy = %d\n",
+
+809 
+->
+misc_ÝtiÚs
+.
+syÅroxy_\92abËd
+);
+
+810 
+       }
+}
+
+812 \1e
+       $¹e_ù_di§bË_syÅroxy
+(\19
+¹e_ù_úxn_\8cack\94
+ *
+)
+
+814 
+->
+misc_ÝtiÚs
+.
+syÅroxy_\92abËd
+ = 0;
+
+817 
+       }
+}
+
+820 
+       $¹e_ù_bufãr_·ck\91
+(
+
+821 \19
+¹e_ù_úxn_\8cack\94
+ *
+,
+
+822 \19
+¹e_ù_úxn_d©a
+ *
+cd
+,
+
+823 \19
+¹e_mbuf
+ *
+pkt
+)
+
+831 \19
+¹e_mbuf
+ **
+Ãxt
+ = (\19rte_mbuf **)
+
+832 
+       `RTE_MBUF_METADATA_UINT64_PTR
+(
+pkt
+,
+
+833 
+->
+po\9a\8br_off£t
+);
+
+834 *
+Ãxt
+ = 
+cd
+->
+ù_´ÙocÞ
+.
+syÅroxy_d©a
+.
+bufã»d_pkt_li¡
+;
+
+835 
+cd
+->
+ù_´ÙocÞ
+.
+syÅroxy_d©a
+.
+bufã»d_pkt_li¡
+ = 
+pkt
+;
+
+836 
+       }
+}
+
+839 
+       $¹e_ù_»Ëa£_bufã»d_·ck\91s
+(
+
+840 \19
+¹e_ù_úxn_\8cack\94
+ *
+,
+
+841 \19
+¹e_ù_úxn_d©a
+ *
+cd
+)
+
+843 \19
+¹e_mbuf
+ *
+úxn_li¡
+ =
+
+844 
+cd
+->
+ù_´ÙocÞ
+.
+syÅroxy_d©a
+.
+bufã»d_pkt_li¡
+;
+
+846 ià(
+úxn_li¡
+ =ð
+NULL
+)
+
+849 
+cd
+->
+ù_´ÙocÞ
+.
+syÅroxy_d©a
+.
+bufã»d_pkt_li¡
+ = 
+NULL
+;
+
+851 \19
+¹e_mbuf
+ *
+\8ckr_li¡
+ = 
+->
+bufã»d_pkt_li¡
+;
+
+853 ià(
+\8ckr_li¡
+ =ð
+NULL
+)
+
+860 \1f
+úxn_li¡
+ !ð
+NULL
+) {
+
+861 \19
+¹e_mbuf
+ *
+Þd_Ãxt
+;
+
+863 \19
+¹e_mbuf
+ **
+Ãxt
+ = (\19rte_mbuf **)
+
+864 
+       `RTE_MBUF_METADATA_UINT64_PTR
+(
+úxn_li¡
+,
+
+865 
+->
+po\9a\8br_off£t
+);
+
+867 
+Þd_Ãxt
+ = *
+Ãxt
+;
+
+868 *
+Ãxt
+ = 
+\8ckr_li¡
+;
+
+869 
+\8ckr_li¡
+ = 
+úxn_li¡
+;
+
+870 
+úxn_li¡
+ = 
+Þd_Ãxt
+;
+
+872 
+->
+bufã»d_pkt_li¡
+ = 
+\8ckr_li¡
+;
+
+873 
+       }
+}
+
+       @VIL/conntrack/rte_ct_tcp.c
+
+17 \ 2
+       ~<¡dlib.h
+>
+
+18 \ 2
+       ~<¡r\9ag.h
+>
+
+19 \ 2
+       ~<imm\9a\8c\9a.h
+>
+
+20 \ 2
+       ~<\9a\89y³s.h
+>
+
+21 \ 2
+       ~"¹e_ù_tý.h
+"
+
+22 \ 2
+       ~"¹e_úxn_\8cack\9ag.h
+"
+
+25 \ 1
+       #CT_DEBUG
+ 0
+
+       )
+
+26 \ 1
+       #STATE_TRACKING
+ 0
+
+       )
+
+27 \ 1
+       #RTE_CT_ASSERT
+ 0
+
+       )
+
+30 \ 1
+       #META_DATA_OFFSET
+ 128
+
+       )
+
+31 \ 1
+       #RTE_PKTMBUF_HEADROOM
+ 128
+
+       )
+
+32 \ 1
+       #ETHERNET_START
+ (
+META_DATA_OFFSET
+ + 
+RTE_PKTMBUF_HEADROOM
+)
+
+       )
+
+33 \ 1
+       #ETH_HDR_SIZE
+ 14
+
+       )
+
+34 \ 1
+       #IP_START
+ (
+ETHERNET_START
+ + 
+ETH_HDR_SIZE
+)
+
+       )
+
+36 \ 1
+       #IPv4_HEADER_SIZE
+ 20
+
+       )
+
+37 \ 1
+       #IPv6_HEADER_SIZE
+ 40
+
+       )
+
+39 \ 1
+       #IP_VERSION_4
+ 4
+
+       )
+
+40 \ 1
+       #IP_VERSION_6
+ 6
+
+       )
+
+42 \ 1
+       #¹e_aá\94
+(
+£q2
+, 
+£q1
+       `¹e_befÜe
+(£q1, seq2)
+
+       )
+
+43 \18
+\9al\9ae
+u\9at8_t
+       $¹e_befÜe
+(
+u\9at32_t
+£q1
+, u\9at32_\88
+£q2
+)
+
+45 \15 (
+\9at32_t
+è(
+£q1
+ - 
+£q2
+) < 0;
+
+46 
+       }
+}
+
+50 \ 1
+       #ùNO
+RTE_CT_TCP_NONE
+
+
+       )
+
+51 \ 1
+       #ùSS
+RTE_CT_TCP_SYN_SENT
+
+
+       )
+
+52 \ 1
+       #ùSR
+RTE_CT_TCP_SYN_RECV
+
+
+       )
+
+53 \ 1
+       #ùES
+RTE_CT_TCP_ESTABLISHED
+
+
+       )
+
+54 \ 1
+       #ùFW
+RTE_CT_TCP_FIN_WAIT
+
+
+       )
+
+55 \ 1
+       #ùCW
+RTE_CT_TCP_CLOSE_WAIT
+
+
+       )
+
+56 \ 1
+       #ùLA
+RTE_CT_TCP_LAST_ACK
+
+
+       )
+
+57 \ 1
+       #ùTW
+RTE_CT_TCP_TIME_WAIT
+
+
+       )
+
+58 \ 1
+       #ùCL
+RTE_CT_TCP_CLOSE
+
+
+       )
+
+59 \ 1
+       #ùS2
+RTE_CT_TCP_SYN_SENT_2
+
+
+       )
+
+60 \ 1
+       #ùIV
+RTE_CT_TCP_MAX
+
+
+       )
+
+61 \ 1
+       #ùIG
+RTE_CT_TCP_IGNORE
+
+
+       )
+
+63 \18cڡ 
+u\9at8_t
+       g¹e_ù_tý_¡©e_\8f
+[2][6][
+RTE_CT_TCP_MAX
+] = {
+
+66  {
+ùSS
+, ctSS, 
+ùIG
+, ctIG, ctIG, ctIG, ctIG, ctSS, ctSS,
+
+67 
+ùS2
+},
+
+70  {
+ùIV
+, ctIV, 
+ùSR
+, ctIV, ctIV, ctIV, ctIV, ctIV, ctIV,
+
+71 
+ùSR
+},
+
+74  {
+ùIV
+, ctIV, 
+ùFW
+, ctFW, 
+ùLA
+, ctLA, ctLA, 
+ùTW
+, 
+ùCL
+,
+
+75 
+ùIV
+},
+
+77  {
+ùES
+, 
+ùIV
+, ctES, ctES, 
+ùCW
+, ctCW, 
+ùTW
+, ctTW, 
+ùCL
+,
+
+78 
+ùIV
+},
+
+81  {
+ùIV
+, 
+ùCL
+, ctCL, ctCL, ctCL, ctCL, ctCL, ctCL, ctCL,
+
+82 
+ùCL
+},
+
+83  {
+ùIV
+, ctIV, ctIV, ctIV, ctIV, ctIV, ctIV, ctIV, ctIV, ctIV}
+
+88  {
+ùIV
+, 
+ùS2
+, ctIV, ctIV, ctIV, ctIV, ctIV, 
+ùSS
+, ctIV,
+
+89 
+ùS2
+},
+
+92  {
+ùIV
+, 
+ùSR
+, 
+ùIG
+, ctIG, ctIG, ctIG, ctIG, ctIG, ctIG,
+
+93 
+ùSR
+},
+
+96  {
+ùIV
+, ctIV, 
+ùFW
+, ctFW, 
+ùLA
+, ctLA, ctLA, 
+ùTW
+, 
+ùCL
+,
+
+97 
+ùIV
+},
+
+100  {
+ùIV
+, 
+ùIG
+, 
+ùSR
+, 
+ùES
+, 
+ùCW
+, ctCW, 
+ùTW
+, ctTW, 
+ùCL
+,
+
+101 
+ùIG
+},
+
+104  {
+ùIV
+, 
+ùCL
+, ctCL, ctCL, ctCL, ctCL, ctCL, ctCL, ctCL,
+
+105 
+ùCL
+},
+
+106  {
+ùIV
+, ctIV, ctIV, ctIV, ctIV, ctIV, ctIV, ctIV, ctIV, ctIV}
+
+111 \f
+       e¹e_tý_æag
+ {
+
+112 
+       mRTE_CT_TCP_SYN_FLAG
+,
+
+113 
+       mRTE_CT_TCP_SAK_FLAG
+,
+
+114 
+       mRTE_CT_TCP_FIN_FLAG
+,
+
+115 
+       mRTE_CT_TCP_ACK_FLAG
+,
+
+116 
+       mRTE_CT_TCP_RST_FLAG
+,
+
+117 
+       mRTE_CT_TCP_ILL_FLAG
+,
+
+120 \18
+u\9at8_t
+       g¹e_ù_tý_æags_to_¡©e_\8fbË_\9adex
+[16] = {
+
+122 
+RTE_CT_TCP_ILL_FLAG
+,
+
+123 
+RTE_CT_TCP_FIN_FLAG
+,
+
+124 
+RTE_CT_TCP_SYN_FLAG
+,
+
+125 
+RTE_CT_TCP_ILL_FLAG
+,
+
+126 
+RTE_CT_TCP_RST_FLAG
+,
+
+127 
+RTE_CT_TCP_RST_FLAG
+,
+
+128 
+RTE_CT_TCP_RST_FLAG
+,
+
+129 
+RTE_CT_TCP_ILL_FLAG
+,
+
+131 
+RTE_CT_TCP_ACK_FLAG
+,
+
+132 
+RTE_CT_TCP_FIN_FLAG
+,
+
+133 
+RTE_CT_TCP_SAK_FLAG
+,
+
+134 
+RTE_CT_TCP_ILL_FLAG
+,
+
+135 
+RTE_CT_TCP_RST_FLAG
+,
+
+136 
+RTE_CT_TCP_ILL_FLAG
+,
+
+137 
+RTE_CT_TCP_RST_FLAG
+,
+
+138 
+RTE_CT_TCP_ILL_FLAG
+,
+
+141 \18
+\9al\9ae
+u\9at8_t
+
+
+142 
+       $¹e_ù_g\91_\9adex
+(
+u\9at8_t
+tý_æags
+)
+
+144 
+u\9at8_t
+impÜ\8fÁ_æags
+;
+
+146 
+tý_æags
+ &= 0x3f;
+
+147 
+impÜ\8fÁ_æags
+ = ((
+tý_æags
+ & 0x10) >> 1) | (tcp_flags & 7);
+
+150 ià(
+       `uÆik\96y
+((
+tý_æags
+ == 0) || (tcp_flags == 0x3f)))
+
+152 \15 
+RTE_CT_TCP_ILL_FLAG
+;
+
+154 \15 
+¹e_ù_tý_æags_to_¡©e_\8fbË_\9adex
+[
+impÜ\8fÁ_æags
+];
+
+156 
+       }
+}
+
+158 \18
+\9al\9ae
\12
+
+159 
+       $¹e_ù_e\99h\94_d\9ceùiÚ_has_æags
+(\19
+¹e_ù_úxn_d©a
+ *
+cd
+, 
+u\9at8_t
+æags
+)
+
+161 \15 ((
+cd
+->
+ù_´ÙocÞ
+.
+tý_ù_d©a
+.
\92
+[0].
+æags
+ | cd->
+
+162 
+ù_´ÙocÞ
+.
+tý_ù_d©a
+.
\92
+[1].
+æags
+) & flags) != 0;
+
+163 
+       }
+}
+
+165 \18
+\9al\9ae
+u\9at32_t
+       $¹e_ù_£q_¶us_Ëngth
+(\19
+¹e_mbuf
+ *
+pkt
+,
+
+166 
+u\9at8_t
+\9d_hdr_size
+)
+
+168 
+u\9at16_t
+pkt_Ëngth
+ = 0;
+
+169 \19
+tý_hdr
+ *
+týh\97d\94
+ =
+
+170 (\19
+tý_hdr
+ *)
+       `RTE_MBUF_METADATA_UINT32_PTR
+(
+pkt
+,
+
+171 (
+IP_START
+ +
+
+172 
+\9d_hdr_size
+));
+
+173 
+u\9at32_t
+tý_hdr_size
+ = (
+týh\97d\94
+->
+d©a_off
+ & 0xf0) >> 2;
+
+175 \1e*
+\9d_hdr
+ = 
+       `RTE_MBUF_METADATA_UINT32_PTR
+(
+pkt
+, 
+IP_START
+);
+
+177 ià(
+\9d_hdr_size
+ =ð
+IPv4_HEADER_SIZE
+) {
+
+178 \19
+\9dv4_hdr
+ *
+ihdr
+ = (\19\9dv4_hd¸*)
+\9d_hdr
+;
+
+180 
+pkt_Ëngth
+ = 
+       `¹e_bsw­16
+(
+ihdr
+->
+tÙ®_Ëngth
+);
+
+182 ià(
+\9d_hdr_size
+ =ð
+IPv6_HEADER_SIZE
+) {
+
+183 \19
+\9dv6_hdr
+ *
+ihdr
+ = (\19\9dv6_hd¸*)
+\9d_hdr
+;
+
+185 
+pkt_Ëngth
+ = 
+       `¹e_bsw­16
+(
+ihdr
+->
+·ylßd_Ën
+è+ 
+IPv6_HEADER_SIZE
+;
+
+195 \15 
+       `¹e_bsw­32
+(
+týh\97d\94
+->
+£Á_£q
+) +
+
+196 
+pkt_Ëngth
+ - 
+\9d_hdr_size
+ - 
+tý_hdr_size
+ +
+
+197 ((
+týh\97d\94
+->
+tý_æags
+ & (
+RTE_CT_TCPHDR_SYN
+ | 
+RTE_CT_TCPHDR_FIN
+)) !=
+
+200 
+       }
+}
+
+203 
+       $¹e_ù_check_fÜ_sÿl\9ag_ªd_§ck_³rm
+(
+
+204 \19
+¹e_mbuf
+ *
+pkt
+,
+
+205 \19
+¹e_ù_tý_¡©e
+ *
+¡©e
+,
+
+206 
+u\9at8_t
+\9d_hdr_size
+)
+
+209 \19
+tý_hdr
+ *
+týh\97d\94
+ =
+
+210 (\19
+tý_hdr
+ *)
+       `RTE_MBUF_METADATA_UINT32_PTR
+(
+pkt
+,
+
+211 (
+IP_START
+ +
+
+212 
+\9d_hdr_size
+));
+
+213 
+u\9at32_t
+d©aoff_\9a_by\8bs
+ = (
+týh\97d\94
+->
+d©a_off
+ & 0xf0) >> 2;
+
+214 
+u\9at32_t
+Ëngth
+ = 
+d©aoff_\9a_by\8bs
+ - \17(\19
+tý_hdr
+);
+
+216 
+¡©e
+->
+sÿË
+ = 0;
+
+217 
+¡©e
+->
+æags
+ = 0;
+
+219 ià(
+Ëngth
+ == 0)
+
+222 
+u\9at8_t
+ *
+ÝtiÚs_±r
+ =
+
+223 
+       `RTE_MBUF_METADATA_UINT8_PTR
+(
+pkt
+,
+
+224 (
+IP_START
+ + 
+\9d_hdr_size
+ +
+
+225 \17(\19
+tý_hdr
+)));
+
+227 \1f
+Ëngth
+ > 0) {
+
+228 
+u\9at8_t
+ÝtiÚ
+ = *
+ÝtiÚs_±r
+;
+
+229 
+u\9at8_t
+Ýsize
+ = 
+ÝtiÚs_±r
+[1];
+
+232 \1a
+ÝtiÚ
+) {
+
+234 \ 4
+RTE_CT_TCPOPT_EOL
+:
+
+238 \ 4
+RTE_CT_TCPOPT_NOP
+:
+
+239 
+ÝtiÚs_±r
+++;
+
+240 
+Ëngth
+--;
+
+243 \ 4
+RTE_CT_TCPOPT_SACK_PERM
+:
+
+244 ià(
+Ýsize
+ =ð
+RTE_CT_TCPOLEN_SACK_PERM
+)
+
+245 
+¡©e
+->
+æags
+ |ð
+RTE_CT_TCP_FLAG_SACK_PERM
+;
+
+248 \ 4
+RTE_CT_TCPOPT_WINDOW
+:
+
+249 ià(
+Ýsize
+ =ð
+RTE_CT_TCPOLEN_WINDOW
+) {
+
+250 
+¡©e
+->
+sÿË
+ =
+
+251 
+       `RTE_MIN
+(
+ÝtiÚs_±r
+[2],
+
+252 
+RTE_CT_MAX_TCP_WINDOW_SCALE
+);
+
+253 
+¡©e
+->
+æags
+ |ð
+RTE_CT_TCP_FLAG_WINDOW_SCALE
+;
+
+262 ià((
+Ýsize
+ < 2è|| (Ýsiz\90
+Ëngth
+)) {
+
+264 
+       `´\9atf
+("scaling_and_sack_perm:something wrong\n");
+
+267 
+ÝtiÚs_±r
+ +ð
+Ýsize
+;
+
+268 
+Ëngth
+ -ð
+Ýsize
+;
+
+271 
+       }
+}
+
+274 
+       $¹e_ù_týdi¥Ïy_hdr
+(\19
+tý_hdr
+ *
+týh\97d\94
+)
+
+276 
+       `´\9atf
+("Tý h\97d\94: src_pÜt=%d", 
+       `¹e_bsw­16
+(
+týh\97d\94
+->
+¤c_pÜt
+));
+
+277 
+       `´\9atf
+(", d¡_pÜt=%d", 
+       `¹e_bsw­16
+(
+týh\97d\94
+->
+d¡_pÜt
+));
+
+278 
+       `´\9atf
+(", s\92t_£q=%u", 
+       `¹e_bsw­32
+(
+týh\97d\94
+->
+£Á_£q
+));
+
+279 
+       `´\9atf
+(",\84ecv_ack=%u", 
+       `¹e_bsw­32
+(
+týh\97d\94
+->
+»cv_ack
+));
+
+280 
+       `´\9atf
+(",d©a_off=%d", 
+týh\97d\94
+->
+d©a_off
+ / 16);
+
+281 
+       `´\9atf
+(",tý_æags=%02x", 
+týh\97d\94
+->
+tý_æags
+);
+
+282 
+       `´\9atf
+(",\84x_w\9a=%d\n", 
+       `¹e_bsw­16
+(
+týh\97d\94
+->
+rx_w\9a
+));
+
+284 
+       }
+}
+
+286 \18
+\9al\9ae
\1e
+
+287 
+       $¹e_ù_þ\97r_úxn_d©a
+(
+__¹e_unu£d
\19
+¹e_ù_úxn_\8cack\94
+ *
+,
+
+288 \19
+¹e_ù_úxn_d©a
+ *
+cd
+,
+
+289 
+__¹e_unu£d
\19
+¹e_mbuf
+ *
+pkt
+)
+
+293 
+       `mem£t
+(&
+cd
+->
+ù_´ÙocÞ
+.
+tý_ù_d©a
+, 0,
+
+294 \17(
+cd
+->
+ù_´ÙocÞ
+.
+tý_ù_d©a
+));
+
+295 
+cd
+->
+ù_´ÙocÞ
+.
+tý_ù_d©a
+.
+ϡ_\9adex
+ = 
+RTE_CT_TCP_ILL_FLAG
+;
+
+297 
+       }
+}
+
+299 \f
+¹e_ù_·ck\91_aùiÚ
+
+
+300 
+       $¹e_ù_tý_Ãw_cÚÃùiÚ
+(
+
+301 \19
+¹e_ù_úxn_\8cack\94
+ *
+,
+
+302 \19
+¹e_ù_úxn_d©a
+ *
+cd
+,
+
+303 \19
+¹e_mbuf
+ *
+pkt
+,
+
+304 \12
+u£_syÅroxy
+,
+
+305 
+u\9at8_t
+\9d_hdr_size
+)
+
+307 \19
+tý_hdr
+ *
+týh\97d\94
+ =
+
+308 (\19
+tý_hdr
+ *)
+       `RTE_MBUF_METADATA_UINT32_PTR
+(
+pkt
+,
+
+309 (
+IP_START
+ + 
+\9d_hdr_size
+));
+
+311 \f
+¹e_ù_tý_¡©es
+Ãw_¡©e
+;
+
+312 
+u\9at8_t
+\9adex
+;
+
+313 \19
+¹e_ù_tý_¡©e
+ *
+£nd\94
+ =
+
+314 &
+cd
+->
+ù_´ÙocÞ
+.
+tý_ù_d©a
+.
\92
+[
+RTE_CT_DIR_ORIGINAL
+];
+
+315 \19
+¹e_ù_tý_¡©e
+ *
+»ûiv\94
+ =
+
+316 &
+cd
+->
+ù_´ÙocÞ
+.
+tý_ù_d©a
+.
\92
+[
+RTE_CT_DIR_REPLY
+];
+
+317 
+u\9at16_t
+w\9a
+;
+
+319 ià(
+CT_DEBUG
+)
+
+320 
+       `¹e_ù_týdi¥Ïy_hdr
+(
+týh\97d\94
+);
+
+322 
+\9adex
+ = 
+       `¹e_ù_g\91_\9adex
+(
+týh\97d\94
+->
+tý_æags
+);
+
+323 
+Ãw_¡©e
+ = 
+¹e_ù_tý_¡©e_\8f
+[0][
+\9adex
+][
+RTE_CT_TCP_NONE
+];
+
+325 ià(
+       `uÆik\96y
+(
+Ãw_¡©e
+ >ð
+RTE_CT_TCP_MAX
+)) {
+
+326 ià(
+CT_DEBUG
+)
+
+327 
+       `´\9atf
+("invalid\82ew state with flags %02x\n",
+
+328 
+týh\97d\94
+->
+tý_æags
+);
+
+329 \15 
+RTE_CT_DROP_PACKET
+;
+
+337 ià(
+       `uÆik\96y
+((
+Ãw_¡©e
+ !ð
+RTE_CT_TCP_SYN_SENT
+
+
+338 && 
+->
+misc_ÝtiÚs
+.
+tý_loo£
+ == 0))) {
+
+341 \15 
+RTE_CT_DROP_PACKET
+;
+
+344 ià(
+CT_DEBUG
+)
+
+345 
+       `´\9atf
+("\82ew connection with state %s\n",
+
+346 
+¹e_ù_tý_Çmes
+[
+Ãw_¡©e
+]);
+
+349 
+       `¹e_ù_þ\97r_úxn_d©a
+(
+, 
+cd
+, 
+pkt
+);
+
+350 
+cd
+->
+ù_´ÙocÞ
+.
+tý_ù_d©a
+.
+¡©e
+ = 
+Ãw_¡©e
+;
+
+352 
+£nd\94
+->
+\92d
+ = s\92d\94->
+max\92d
+ = 
+       `¹e_ù_£q_¶us_Ëngth
+(
+pkt
+, 
+\9d_hdr_size
+);
+
+353 
+w\9a
+ = 
+       `¹e_bsw­16
+(
+týh\97d\94
+->
+rx_w\9a
+);
+
+354 
+£nd\94
+->
+maxw\9a
+ = 
+       `RTE_MAX
+(
+w\9a
+, (
+u\9at32_t
+)1);
+
+356 ià(
+       `lik\96y
+(
+Ãw_¡©e
+ =ð
+RTE_CT_TCP_SYN_SENT
+)) {
+
+358 
+       `¹e_ù_check_fÜ_sÿl\9ag_ªd_§ck_³rm
+(
+pkt
+, 
+£nd\94
+,
+
+359 
+\9d_hdr_size
+);
+
+361 
+cd
+->
+ù_´ÙocÞ
+.
+syÅroxy_d©a
+.
+syÅrox\9bd
+ = 
+u£_syÅroxy
+;
+
+363 ià(
+u£_syÅroxy
+) {
+
+370 ià(
+CT_DEBUG
+ > 2)
+
+371 
+       `´\9atf
+("synproxy sending SYN-ACK\81o client\n");
+
+373 \15 
+RTE_CT_SEND_CLIENT_SYNACK
+;
+
+382 
+£nd\94
+->
+max\92d
+ +ð£nd\94->
+maxw\9a
+;
+
+383 
+£nd\94
+->
+æags
+ = 
+»ûiv\94
+->flags =
+
+384 (
+RTE_CT_TCP_FLAG_SACK_PERM
+ | 
+RTE_CT_TCP_FLAG_BE_LIBERAL
+);
+
+387 ià(
+CT_DEBUG
+ > 0) {
+
+388 
+       `´\9atf
+("tcp_new: sender\83nd=%u maxend=%u maxwin=%u scale=%i",
+
+389 
+£nd\94
+->
+\92d
+, s\92d\94->
+max\92d
+, s\92d\94->
+maxw\9a
+,
+
+390 
+£nd\94
+->
+sÿË
+);
+
+391 
+       `´\9atf
+("\84eceiver\83nd=%u maxend=%u maxwin=%u scale=%i\n",
+
+392 
+»ûiv\94
+->
+\92d
+,\84eûiv\94->
+max\92d
+,
+
+393 
+»ûiv\94
+->
+maxw\9a
+,
+
+394 
+»ûiv\94
+->
+sÿË
+);
+
+397 \15 
+RTE_CT_OPEN_CONNECTION
+;
+
+398 
+       }
+}
+
+400 \18
+u\9at32_t
+
+
+401 
+       $¹e_ù_tý_§ck
+(\19
+¹e_mbuf
+ *
+pkt
+, 
+u\9at8_t
+\9d_hdr_size
+)
+
+403 \19
+tý_hdr
+ *
+týh\97d\94
+ =
+
+404 (\19
+tý_hdr
+ *)
+       `RTE_MBUF_METADATA_UINT32_PTR
+(
+pkt
+,
+
+405 (
+IP_START
+ +
+
+406 
+\9d_hdr_size
+));
+
+407 
+u\9at16_t
+d©aoff_\9a_by\8bs
+ = (
+týh\97d\94
+->
+d©a_off
+ & 0xf0) >> 2;
+
+408 
+u\9at16_t
+Ëngth
+ = 
+d©aoff_\9a_by\8bs
+ - \17(\19
+tý_hdr
+);
+
+409 
+u\9at32_t
+§ck
+ = 
+       `¹e_bsw­32
+(
+týh\97d\94
+->
+»cv_ack
+);
+
+411 ià(
+       `uÆik\96y
+(!
+Ëngth
+))
+
+412 \15 
+§ck
+;
+
+414 
+u\9at8_t
+ *
+ÝtiÚs_±r
+ = 
+       `RTE_MBUF_METADATA_UINT8_PTR
+(
+pkt
+,
+
+415 (
+IP_START
+ + 
+\9d_hdr_size
+ + \17(\19
+tý_hdr
+)));
+
+417 \1f
+Ëngth
+ > 0) {
+
+418 
+u\9at8_t
+Ýcode
+ = *
+ÝtiÚs_±r
+;
+
+419 
+u\9at8_t
+Ýsize
+ = 
+ÝtiÚs_±r
+[1];
+
+420 \12
+i
+;
+
+421 
+u\9at32_t
+ *
+§ck_±r
+;
+
+423 \1a
+Ýcode
+) {
+
+424 \ 4
+RTE_CT_TCPOPT_TIMESTAMP
+:
+
+428 \ 4
+RTE_CT_TCPOPT_EOL
+:
+
+429 \15 
+§ck
+;
+
+431 \ 4
+RTE_CT_TCPOPT_NOP
+:
+
+432 
+Ëngth
+--;
+
+433 
+ÝtiÚs_±r
+++;
+
+436 \ 4
+RTE_CT_TCPOPT_SACK
+:
+
+446 ià((
+Ýsize
+ >ð(
+RTE_CT_TCPOLEN_PER_SACK_ENTRY
+ + 2)) &&
+
+447 ((
+Ýsize
+ - 2) %
+
+448 
+RTE_CT_TCPOLEN_PER_SACK_ENTRY
+) == 0) {
+
+451 
+ÝtiÚs_±r
+ += 6;
+
+452 \ f
+i
+ = 0; i < (
+Ýsize
+ - 2); i +=
+
+453 
+RTE_CT_TCPOLEN_PER_SACK_ENTRY
+) {
+
+454 
+§ck_±r
+ =
+
+455 (
+u\9at32_t
+ *è&
+ÝtiÚs_±r
+[
+i
+];
+
+456 
+u\9at32_t
+ack
+ = 
+       `¹e_bsw­32
+(*
+§ck_±r
+);
+
+458 ià(
+       `¹e_aá\94
+(
+ack
+, 
+§ck
+))
+
+459 
+§ck
+ = 
+ack
+;
+
+461 \15 
+§ck
+;
+
+467 ià((
+Ýsize
+ < 2è|| (Ýsiz\90
+Ëngth
+)) {
+
+468 
+       `´\9atf
+("rte_ct_tcp_sack: something wrong, opsize %i,",
+
+469 
+Ýsize
+);
+
+470 
+       `´\9atf
+("\86\92gth %i\n", 
+Ëngth
+);
+
+471 \15 
+§ck
+;
+
+473 
+ÝtiÚs_±r
+ +ð
+Ýsize
+;
+
+474 
+Ëngth
+ -ð
+Ýsize
+;
+
+476 \15 
+§ck
+;
+
+477 
+       }
+}
+
+483 \18
+\9al\9ae
\1e
+
+484 
+       $¹e_ù_check_fÜ_»\8cªsmissiÚs
+(
+
+485 \19
+¹e_ù_tý
+ *
+¡©e
+,
+
+486 
+u\9at8_t
+d\9c
+,
+
+487 
+u\9at32_t
+£q
+,
+
+488 
+u\9at32_t
+ack
+,
+
+489 
+u\9at32_t
+\92d
+,
+
+490 
+u\9at16_t
+w\9a
+)
+
+492 ià(
+¡©e
+->
+ϡ_d\9c
+ =ð
+d\9c
+
+
+493 && 
+¡©e
+->
+Ï¡_£q
+ =ð
+£q
+
+
+494 && 
+¡©e
+->
+ϡ_ack
+ =ð
+ack
+
+
+495 && 
+¡©e
+->
+ϡ_\92d
+ =ð
+\92d
+ && s\8f\8b->
+ϡ_w\9a
+ =ð
+w\9a
+)
+
+496 
+¡©e
+->
\8cªs
+++;
+
+498 
+¡©e
+->
+ϡ_d\9c
+ = 
+d\9c
+;
+
+499 
+¡©e
+->
+Ï¡_£q
+ = 
+£q
+;
+
+500 
+¡©e
+->
+ϡ_ack
+ = 
+ack
+;
+
+501 
+¡©e
+->
+ϡ_\92d
+ = 
+\92d
+;
+
+502 
+¡©e
+->
+ϡ_w\9a
+ = 
+w\9a
+;
+
+503 
+¡©e
+->
\8cªs
+ = 0;
+
+505 
+       }
+}
+
+511 \18
+u\9at8_t
+
+
+512 
+       $¹e_ù_tý_\9a_w\9adow
+(
+
+513 \19
+¹e_ù_úxn_d©a
+ *
+cd
+,
+
+514 \19
+¹e_ù_úxn_\8cack\94
+ *
+,
+
+515 \19
+¹e_ù_tý
+ *
+¡©e
+,
+
+516 \f
+¹e_ù_pkt_d\9ceùiÚ
+d\9c
+,
+
+517 
+u\9at8_t
+\9adex
+,
+
+518 \19
+¹e_mbuf
+ *
+pkt
+,
+
+519 
+u\9at8_t
+\9d_hdr_size
+)
+
+521 \19
+¹e_ù_tý_¡©e
+ *
+£nd\94
+ = &
+¡©e
+->
\92
+[
+d\9c
+];
+
+522 \19
+¹e_ù_tý_¡©e
+ *
+»ûiv\94
+ = &
+¡©e
+->
\92
+[!
+d\9c
+];
+
+523 
+u\9at32_t
+£q
+, 
+ack
+, 
+§ck
+, 
+\92d
+, 
+w\9a
+, 
+sw\9a
+;
+
+524 
+u\9at8_t
+\9a_»cv_w\9a
+, 
+tý_æags
+;
+
+525 \f
+¹e_ù_·ck\91_aùiÚ
+»s
+;
+
+527 \1e*
+\9dhdr
+ = 
+       `RTE_MBUF_METADATA_UINT32_PTR
+(
+pkt
+, 
+IP_START
+);
+
+528 \19
+tý_hdr
+ *
+týh\97d\94
+ =
+
+529 (\19
+tý_hdr
+ *)
+       `RTE_MBUF_METADATA_UINT32_PTR
+(
+pkt
+,
+
+530 (
+IP_START
+ + 
+\9d_hdr_size
+));
+
+532 ià(
+cd
+->
+ù_´ÙocÞ
+.
+syÅroxy_d©a
+.
+syÅrox\9bd
+)
+
+533 
+       `¹e_¥_adju¡_þ\9bÁ_ack_befÜe_w\9adow_check
+(
+cd
+, 
+\9dhdr
+,
+
+534 
+týh\97d\94
+, 
+d\9c
+);
+
+537 
+£q
+ = 
+       `¹e_bsw­32
+(
+týh\97d\94
+->
+£Á_£q
+);
+
+538 
+ack
+ = 
+§ck
+ = 
+       `¹e_bsw­32
+(
+týh\97d\94
+->
+»cv_ack
+);
+
+539 
+w\9a
+ = 
+       `¹e_bsw­16
+(
+týh\97d\94
+->
+rx_w\9a
+);
+
+540 
+\92d
+ = 
+       `¹e_ù_£q_¶us_Ëngth
+(
+pkt
+, 
+\9d_hdr_size
+);
+
+541 
+tý_æags
+ = 
+týh\97d\94
+->tcp_flags;
+
+543 ià(
+»ûiv\94
+->
+æags
+ & 
+RTE_CT_TCP_FLAG_SACK_PERM
+)
+
+544 
+§ck
+ = 
+       `¹e_ù_tý_§ck
+(
+pkt
+, 
+\9d_hdr_size
+);
+
+546 ià(
+       `uÆik\96y
+(
+£nd\94
+->
+maxw\9a
+ == 0)) {
+
+548 ià(
+tý_æags
+ & 
+RTE_CT_TCPHDR_SYN
+) {
+
+553 
+£nd\94
+->
+\92d
+ = s\92d\94->
+max\92d
+ =\83nd;
+
+554 
+£nd\94
+->
+maxw\9a
+ = 
+       `RTE_MAX
+(
+w\9a
+, (
+u\9at32_t
+)1);
+
+556 
+       `¹e_ù_check_fÜ_sÿl\9ag_ªd_§ck_³rm
+(
+pkt
+, 
+£nd\94
+,
+
+557 
+\9d_hdr_size
+);
+
+563 ià((
+£nd\94
+->
+
+564 
+æags
+ & 
+»ûiv\94
+->flags &
+
+565 
+RTE_CT_TCP_FLAG_WINDOW_SCALE
+) == 0)
+
+566 
+£nd\94
+->
+sÿË
+ = 
+»ûiv\94
+->scale = 0;
+
+568 ià(!(
+tý_æags
+ & 
+RTE_CT_TCPHDR_ACK
+))
+
+576 
+£nd\94
+->
+\92d
+ =\83nd;
+
+577 
+sw\9a
+ = 
+w\9a
+ << 
+£nd\94
+->
+sÿË
+;
+
+578 
+£nd\94
+->
+maxw\9a
+ = (
+sw\9a
+ == 0 ? 1 : swin);
+
+579 
+£nd\94
+->
+max\92d
+ = 
+\92d
+ + s\92d\94->
+maxw\9a
+;
+
+585 ià(
+»ûiv\94
+->
+maxw\9a
+ == 0)
+
+586 
+»ûiv\94
+->
+\92d
+ =\84eûiv\94->
+max\92d
+ = 
+§ck
+;
+
+590 \vià(((
+cd
+->
+ù_´ÙocÞ
+.
+tý_ù_d©a
+.
+¡©e
+ =ð
+RTE_CT_TCP_SYN_SENT
+ &&
+
+591 
+d\9c
+ =ð
+RTE_CT_DIR_ORIGINAL
+) ||
+
+592 (
+cd
+->
+ù_´ÙocÞ
+.
+tý_ù_d©a
+.
+¡©e
+ =ð
+RTE_CT_TCP_SYN_RECV
+ &&
+
+593 
+d\9c
+ =ð
+RTE_CT_DIR_REPLY
+)è&& 
+       `¹e_aá\94
+(
+\92d
+, 
+£nd\94
+->end)) {
+
+599 
+£nd\94
+->
+\92d
+ = s\92d\94->
+max\92d
+ =\83nd;
+
+600 
+£nd\94
+->
+maxw\9a
+ = 
+       `RTE_MAX
+(
+w\9a
+, (
+u\9at32_t
+)1);
+
+602 
+       `¹e_ù_check_fÜ_sÿl\9ag_ªd_§ck_³rm
+(
+pkt
+, 
+£nd\94
+,
+
+603 
+\9d_hdr_size
+);
+
+606 ià(!(
+tý_æags
+ & 
+RTE_CT_TCPHDR_ACK
+) ||
+
+607 (((
+tý_æags
+ & 
+RTE_CT_TCPHDR_RST_ACK
+) ==
+
+608 
+RTE_CT_TCPHDR_RST_ACK
+è&& (
+ack
+ == 0))) {
+
+610 
+ack
+ = 
+§ck
+ = 
+»ûiv\94
+->
+\92d
+;
+
+613 ià((
+tý_æags
+ & 
+RTE_CT_TCPHDR_RST
+è&& 
+£q
+ == 0 &&
+
+614 
+cd
+->
+ù_´ÙocÞ
+.
+tý_ù_d©a
+.
+¡©e
+ =ð
+RTE_CT_TCP_SYN_SENT
+)
+
+616 
+£q
+ = 
+\92d
+ = 
+£nd\94
+->end;
+
+619 
+\9a_»cv_w\9a
+ = !
+»ûiv\94
+->
+maxw\9a
+ ||
+
+620 
+       `¹e_aá\94
+(
+\92d
+, 
+£nd\94
+->\92d - 
+»ûiv\94
+->
+maxw\9a
+ - 1);
+
+622 ià(
+       `¹e_befÜe
+(
+£q
+, 
+£nd\94
+->
+max\92d
+ + 1è&& 
+\9a_»cv_w\9a
+ &&
+
+623 
+       `¹e_befÜe
+(
+§ck
+, 
+»ûiv\94
+->
+\92d
+ + 1) &&
+
+624 
+       `¹e_aá\94
+(
+§ck
+,
+
+625 
+»ûiv\94
+->
+\92d
+ - 
+       `RTE_MAX
+(
+£nd\94
+->
+maxw\9a
+,
+
+626 (
+u\9at32_t
+)
+RTE_MAX_ACKWIN_CONST
+) - 1)) {
+
+633 ià(!(
+tý_æags
+ & 
+RTE_CT_TCPHDR_SYN
+))
+
+634 
+w\9a
+ <<ð
+£nd\94
+->
+sÿË
+;
+
+637 
+sw\9a
+ = 
+w\9a
+ + (
+§ck
+ - 
+ack
+);
+
+638 
+£nd\94
+->
+maxw\9a
+ = 
+       `RTE_MAX
+(£nd\94->maxw\9a
+sw\9a
+);
+
+640 ià(
+       `¹e_aá\94
+(
+\92d
+, 
+£nd\94
+->end)) {
+
+641 
+£nd\94
+->
+\92d
+ =\83nd;
+
+642 
+£nd\94
+->
+æags
+ |ð
+RTE_CT_TCP_FLAG_DATA_UNACKNOWLEDGED
+;
+
+645 ià(
+tý_æags
+ & 
+RTE_CT_TCPHDR_ACK
+) {
+
+646 ià(!(
+£nd\94
+->
+æags
+ & 
+RTE_CT_TCP_FLAG_MAXACK_SET
+)) {
+
+647 
+£nd\94
+->
+maxack
+ = 
+ack
+;
+
+648 
+£nd\94
+->
+æags
+ |ð
+RTE_CT_TCP_FLAG_MAXACK_SET
+;
+
+649 } \vià(
+       `¹e_aá\94
+(
+ack
+, 
+£nd\94
+->
+maxack
+))
+
+650 
+£nd\94
+->
+maxack
+ = 
+ack
+;
+
+654 ià(
+»ûiv\94
+->
+maxw\9a
+ !ð0 && 
+       `¹e_aá\94
+(
+\92d
+, 
+£nd\94
+->
+max\92d
+))
+
+655 
+»ûiv\94
+->
+maxw\9a
+ +ð
+\92d
+ - 
+£nd\94
+->
+max\92d
+;
+
+657 ià(
+       `¹e_aá\94
+(
+§ck
+ + 
+w\9a
+, 
+»ûiv\94
+->
+max\92d
+ - 1))
+
+658 
+»ûiv\94
+->
+max\92d
+ = 
+§ck
+ + 
+       `RTE_MAX
+(
+w\9a
+, (
+u\9at32_t
+)1);
+
+660 ià(
+ack
+ =ð
+»ûiv\94
+->
+\92d
+)
+
+661 
+»ûiv\94
+->
+æags
+ &ð~
+RTE_CT_TCP_FLAG_DATA_UNACKNOWLEDGED
+;
+
+664 ià(
+\9adex
+ =ð
+RTE_CT_TCP_ACK_FLAG
+)
+
+665 
+       `¹e_ù_check_fÜ_»\8cªsmissiÚs
+(
+¡©e
+, 
+d\9c
+, 
+£q
+, 
+ack
+,
+
+666 
+\92d
+, 
+w\9a
+);
+
+667 
+»s
+ = 1;
+
+669 
+»s
+ = (
+£nd\94
+->
+æags
+ & 
+RTE_CT_TCP_FLAG_BE_LIBERAL
+ ||
+
+670 
+->
+misc_ÝtiÚs
+.
+tý_be_lib\94®
+);
+
+673 ià(
+CT_DEBUG
+) {
+
+674 ià(!
+»s
+) {
+
+676 
+       `´\9atf
+("tý_\9a_w\9adow FAILED fÜ %p\n", 
+cd
+);
+
+677 
+       `´\9atf
+("rte_before(%u, %u + 1) is %d\n",
+
+678 
+£q
+, 
+£nd\94
+->
+max\92d
+ + 1,
+
+679 
+       `¹e_befÜe
+(
+£q
+, 
+£nd\94
+->
+max\92d
+ + 1));
+
+680 
+       `´\9atf
+("!%u ||\84te_after(%u, %u - %u - 1) is %d\n",
+
+681 
+»ûiv\94
+->
+maxw\9a
+, 
+\92d
+, 
+£nd\94
+->end,
+
+682 
+»ûiv\94
+->
+maxw\9a
+, 
+\9a_»cv_w\9a
+);
+
+683 
+       `´\9atf
+("¹e_befÜe(%u, %u + 1èi %d\n", 
+§ck
+,
+
+684 
+»ûiv\94
+->
+\92d
+, 
+       `¹e_befÜe
+(
+§ck
+,
+
+685 
+»ûiv\94
+->
+\92d
+ + 1));
+
+686 
\9atf
+
+
+688 
+§ck
+, 
+»ûiv\94
+->
+\92d
+, 
+£nd\94
+->
+maxw\9a
+,
+
+689 
+RTE_MAX_ACKWIN_CONST
+, 
+       `¹e_aá\94
+(
+§ck
+,
+
+690 
+»ûiv\94
+->
+\92d
+ - 
+       `RTE_MAX
+(
+£nd\94
+->
+maxw\9a
+,
+
+691 (
+u\9at32_t
+)
+RTE_MAX_ACKWIN_CONST
+)
+
+696 ià(
+cd
+->
+ù_´ÙocÞ
+.
+syÅroxy_d©a
+.
+syÅrox\9bd
+)
+
+697 
+       `¹e_¥_adju¡_£rv\94_£q_aá\94_w\9adow_check
+(
+cd
+, 
+\9dhdr
+,
+
+698 
+týh\97d\94
+, 
+d\9c
+);
+
+699 \15 
+»s
+;
+
+700 
+       }
+}
+
+703 \18
+\9al\9ae
+u\9at8_t
+
+
+704 
+       $¹e_ù_choo£_m\9a_timeout_¡©e
+(
+
+705 \19
+¹e_ù_úxn_\8cack\94
+ *
+,
+
+706 
+u\9at8_t
+¡©e1
+,
+
+707 
+u\9at8_t
+¡©e2
+)
+
+709 ià(
+->
+ù_timeout
+.
+týtimeout
+.
+tý_timeouts
+[
+¡©e1
+] <
+
+710 
+->
+ù_timeout
+.
+týtimeout
+.
+tý_timeouts
+[
+¡©e2
+])
+
+711 \15 
+¡©e1
+;
+
+713 \15 
+¡©e2
+;
+
+714 
+       }
+}
+
+718 \f
+¹e_ù_·ck\91_aùiÚ
+
+
+719 
+       $¹e_ù_v\94ify_tý_·ck\91
+(
+
+720 \19
+¹e_ù_úxn_\8cack\94
+ *
+,
+
+721 \19
+¹e_ù_úxn_d©a
+ *
+cd
+,
+
+722 \19
+¹e_mbuf
+ *
+pkt
+,
+
+723 
+u\9at8_t
+key_was_杳d
+,
+
+724 
+u\9at8_t
+\9d_hdr_size
+)
+
+726 \19
+tý_hdr
+ *
+týh\97d\94
+ = (\19tcp_hdr *)
+
+727 
+       `RTE_MBUF_METADATA_UINT32_PTR
+(
+pkt
+, (
+IP_START
+ + 
+\9d_hdr_size
+));
+
+729 \f
+¹e_ù_tý_¡©es
+Ãw_¡©e
+, 
+Þd_¡©e
+;
+
+730 \f
+¹e_ù_pkt_d\9ceùiÚ
+d\9c
+;
+
+731 
+u\9at8_t
+\9adex
+;
+
+735 
+u\9at8_t
+timeout_¡©e
+;
+
+737 
+d\9c
+ = (
+cd
+->
+key_is_þ\9bÁ_Üd\94
+ =ð!
+key_was_杳d
+);
+
+739 ià(
+cd
+->
+ù_´ÙocÞ
+.
+syÅroxy_d©a
+.
+syÅrox\9bd
+ &&
+
+740 
+cd
+->
+ù_´ÙocÞ
+.
+syÅroxy_d©a
+.
+h®f_e¡ablished
+ &&
+
+741 !
+cd
+->
+ù_´ÙocÞ
+.
+syÅroxy_d©a
+.
+úxn_e¡ablished
+ &&
+
+742 
+d\9c
+ =ð
+RTE_CT_DIR_ORIGINAL
+) {
+
+748 
+       `¹e_ù_bufãr_·ck\91
+(
+, 
+cd
+, 
+pkt
+);
+
+749 \15 
+RTE_CT_HIJACK
+;
+
+752 
+u\9at32_t
+»cv_ack
+ = 
+       `¹e_bsw­32
+(
+týh\97d\94
+->recv_ack);
+
+753 
+u\9at32_t
+£Á_£q
+ = 
+       `¹e_bsw­32
+(
+týh\97d\94
+->sent_seq);
+
+755 \12
+check_w\9adow
+ = 1;
+
+756 \f
+¹e_ù_·ck\91_aùiÚ
+»tuº_aùiÚ
+ = 
+RTE_CT_FORWARD_PACKET
+;
+
+760 
+Þd_¡©e
+ = 
+cd
+->
+ù_´ÙocÞ
+.
+tý_ù_d©a
+.
+¡©e
+;
+
+761 
+\9adex
+ = 
+       `¹e_ù_g\91_\9adex
+(
+týh\97d\94
+->
+tý_æags
+);
+
+762 
+Ãw_¡©e
+ = 
+¹e_ù_tý_¡©e_\8f
+[
+d\9c
+][
+\9adex
+][
+Þd_¡©e
+];
+
+764 ià(
+Ãw_¡©e
+ =ð
+RTE_CT_TCP_MAX
+) {
+
+765 ià(
+CT_DEBUG
+) {
+
+766 
+       `´\9atf
+("!!!!invalid state\81ransition from %s ",
+
+767 
+¹e_ù_tý_Çmes
+[
+Þd_¡©e
+]);
+
+768 
+       `´\9atf
+("with flags 0x%02x\n",
+
+769 
+týh\97d\94
+->
+tý_æags
+);
+
+772 
+->
+couÁ\94s
+->
+pkts_drÝ_\9av®id_¡©e
+++;
+
+773 \15 
+RTE_CT_DROP_PACKET
+;
+
+776 ià(
+STATE_TRACKING
+ && 
+Ãw_¡©e
+ !ð
+Þd_¡©e
+)
+
+777 
+       `´\9atf
+("\82ew s\8f\8b %s\n", 
+¹e_ù_tý_Çmes
+[
+Ãw_¡©e
+]);
+
+779 \1a
+Ãw_¡©e
+) {
+
+781 \ 4
+RTE_CT_TCP_ESTABLISHED
+:
+
+783 ià(
+cd
+->
+ù_´ÙocÞ
+.
+syÅroxy_d©a
+.
+syÅrox\9bd
+ &&
+
+784 !
+cd
+->
+ù_´ÙocÞ
+.
+syÅroxy_d©a
+.
+h®f_e¡ablished
+ &&
+
+785 (
+Þd_¡©e
+ =ð
+RTE_CT_TCP_SYN_RECV
+)) {
+
+793 ià(
+STATE_TRACKING
+) {
+
+794 
+       `´\9atf
+(" synproxy first half-cnxn complete,");
+
+795 
+       `´\9atf
+("\82ew state %s\n",
+
+796 
+¹e_ù_tý_Çmes
+[
+RTE_CT_TCP_SYN_SENT
+]);
+
+798 
+cd
+->
+ù_´ÙocÞ
+.
+syÅroxy_d©a
+.
+h®f_e¡ablished
+ = 
+\8cue
+;
+
+800 
+       `¹e_¥_cvt_to_¥ooãd_£rv\94_syn
+(
+cd
+, 
+pkt
+);
+
+801 
+       `¹e_ù_þ\97r_úxn_d©a
+(
+, 
+cd
+, 
+pkt
+);
+
+802 
+cd
+->
+ù_´ÙocÞ
+.
+tý_ù_d©a
+.
+¡©e
+ = 
+RTE_CT_TCP_SYN_SENT
+;
+
+804 \19
+¹e_ù_tý_¡©e
+ *
+£nd\94
+ =
+
+805 &
+cd
+->
+ù_´ÙocÞ
+.
+tý_ù_d©a
+.
+
+806 
\92
+[
+RTE_CT_DIR_ORIGINAL
+];
+
+807 
+u\9at16_t
+w\9a
+ = 
+       `¹e_bsw­16
+(
+týh\97d\94
+->
+rx_w\9a
+);
+
+809 
+£nd\94
+->
+\92d
+ = s\92d\94->
+max\92d
+ =
+
+810 
+       `¹e_ù_£q_¶us_Ëngth
+(
+pkt
+, 
+\9d_hdr_size
+);
+
+811 
+£nd\94
+->
+maxw\9a
+ = 
+       `RTE_MAX
+(
+w\9a
+, (
+u\9at32_t
+)1);
+
+812 
+       `¹e_ù_check_fÜ_sÿl\9ag_ªd_§ck_³rm
+(
+pkt
+, 
+£nd\94
+,
+
+813 
+\9d_hdr_size
+);
+
+815 
+       `¹e_ù_£t_úxn_tim\94_fÜ_tý
+(
+, 
+cd
+,
+
+816 
+RTE_CT_TCP_SYN_SENT
+);
+
+817 \15 
+RTE_CT_SEND_SERVER_SYN
+;
+
+821 \ 4
+RTE_CT_TCP_SYN_RECV
+:
+
+823 ià(
+cd
+->
+ù_´ÙocÞ
+.
+syÅroxy_d©a
+.
+syÅrox\9bd
+ &&
+
+824 
+cd
+->
+ù_´ÙocÞ
+.
+syÅroxy_d©a
+.
+h®f_e¡ablished
+ &&
+
+825 !
+cd
+->
+ù_´ÙocÞ
+.
+syÅroxy_d©a
+.
+úxn_e¡ablished
+) {
+
+833 ià(!
+       `¹e_ù_tý_\9a_w\9adow
+(
+cd
+, 
+,
+
+834 &
+cd
+->
+ù_´ÙocÞ
+.
+tý_ù_d©a
+,
+
+835 
+d\9c
+, 
+\9adex
+, 
+pkt
+, 
+\9d_hdr_size
+)) {
+
+836 
+->
+couÁ\94s
+->
+pkts_drÝ_outof_w\9adow
+++;
+
+837 \15 
+RTE_CT_DROP_PACKET
+;
+
+840 ià(
+STATE_TRACKING
+) {
+
+841 
+       `´\9atf
+("synproxy full cnxn complete,");
+
+842 
+       `´\9atf
+("\82ew s\8f\8b %s\n", 
+¹e_ù_tý_Çmes
+
+
+843 [
+RTE_CT_TCP_ESTABLISHED
+]);
+
+852 
+       `¹e_¥_cvt_to_¥ooãd_£rv\94_ack
+(
+cd
+, 
+pkt
+);
+
+854 
+\9adex
+ = 
+       `¹e_ù_g\91_\9adex
+(
+týh\97d\94
+->
+tý_æags
+);
+
+856 ià(!
+       `¹e_ù_tý_\9a_w\9adow
+(
+cd
+, 
+,
+
+857 &
+cd
+->
+ù_´ÙocÞ
+.
+tý_ù_d©a
+,
+
+858 !
+d\9c
+, 
+\9adex
+, 
+pkt
+, 
+\9d_hdr_size
+)) {
+
+859 
+->
+couÁ\94s
+->
+pkts_drÝ_outof_w\9adow
+++;
+
+860 \15 
+RTE_CT_DROP_PACKET
+;
+
+865 
+cd
+->
+ù_´ÙocÞ
+.
+tý_ù_d©a
+.
+¡©e
+ =
+
+866 
+RTE_CT_TCP_ESTABLISHED
+;
+
+867 
+->
+couÁ\94s
+->
+£ssiÚs_e¡ablished
+++;
+
+868 
+cd
+->
+ù_´ÙocÞ
+.
+syÅroxy_d©a
+.
+úxn_e¡ablished
+ = 
+\8cue
+;
+
+869 
+cd
+->
+ù_´ÙocÞ
+.
+tý_ù_d©a
+.
+ϡ_\9adex
+ = 
+\9adex
+;
+
+870 
+cd
+->
+ù_´ÙocÞ
+.
+tý_ù_d©a
+.
+ϡ_d\9c
+ = !
+d\9c
+;
+
+872 
+       `¹e_ù_£t_úxn_tim\94_fÜ_tý
+(
+, 
+cd
+,
+
+873 
+RTE_CT_TCP_ESTABLISHED
+);
+
+874 
+       `¹e_ù_»Ëa£_bufã»d_·ck\91s
+(
+, 
+cd
+);
+
+876 \15 
+RTE_CT_SEND_SERVER_ACK
+;
+
+879 \ 4
+RTE_CT_TCP_SYN_SENT
+:
+
+886 ià(
+Þd_¡©e
+ < 
+RTE_CT_TCP_TIME_WAIT
+)
+
+894 \15 
+RTE_CT_REOPEN_CNXN_AND_FORWARD_PACKET
+;
+
+896 \ 4
+RTE_CT_TCP_IGNORE
+:
+
+912 ià(
+cd
+->
+ù_´ÙocÞ
+.
+syÅroxy_d©a
+.
+syÅrox\9bd
+ &&
+
+913 !
+cd
+->
+ù_´ÙocÞ
+.
+syÅroxy_d©a
+.
+úxn_e¡ablished
+)
+
+914 \15 
+RTE_CT_DROP_PACKET
+;
+
+916 ià(
+\9adex
+ =ð
+RTE_CT_TCP_SAK_FLAG
+ &&
+
+917 
+cd
+->
+ù_´ÙocÞ
+.
+tý_ù_d©a
+.
+ϡ_\9adex
+ ==
+
+918 
+RTE_CT_TCP_SYN_FLAG
+
+
+919 && 
+cd
+->
+ù_´ÙocÞ
+.
+tý_ù_d©a
+.
+ϡ_d\9c
+ !ð
+d\9c
+
+
+920 && 
+»cv_ack
+ =ð
+cd
+->
+ù_´ÙocÞ
+.
+tý_ù_d©a
+.
+ϡ_\92d
+) {
+
+928 \19
+¹e_ù_tý_¡©e
+ *
+Ï¡_£\92
+ =
+
+929 &
+cd
+->
+ù_´ÙocÞ
+.
+tý_ù_d©a
+.
\92
+[cd->ct_protocol.
+
+930 
+tý_ù_d©a
+.
+
+931 
+ϡ_d\9c
+];
+
+935 
+Þd_¡©e
+ = 
+RTE_CT_TCP_SYN_SENT
+;
+
+936 
+Ãw_¡©e
+ = 
+RTE_CT_TCP_SYN_RECV
+;
+
+938 
+Ï¡_£\92
+->
+\92d
+ = 
+cd
+->
+ù_´ÙocÞ
+.
+tý_ù_d©a
+.
+ϡ_\92d
+;
+
+939 
+Ï¡_£\92
+->
+max\92d
+ =
+
+940 
+cd
+->
+ù_´ÙocÞ
+.
+tý_ù_d©a
+.
+ϡ_\92d
+;
+
+941 
+Ï¡_£\92
+->
+maxw\9a
+ =
+
+942 
+       `RTE_MAX
+(
+cd
+->
+ù_´ÙocÞ
+.
+tý_ù_d©a
+.
+ϡ_w\9a
+,
+
+943 (
+u\9at32_t
+)1);
+
+944 
+Ï¡_£\92
+->
+sÿË
+ =
+
+945 
+cd
+->
+ù_´ÙocÞ
+.
+tý_ù_d©a
+.
+Ï¡_wsÿË
+;
+
+946 
+cd
+->
+ù_´ÙocÞ
+.
+tý_ù_d©a
+.
+Ï¡_æags
+ &=
+
+947 ~
+RTE_CT_EXP_CHALLENGE_ACK
+;
+
+948 
+Ï¡_£\92
+->
+æags
+ =
+
+949 
+cd
+->
+ù_´ÙocÞ
+.
+tý_ù_d©a
+.
+Ï¡_æags
+;
+
+950 
+       `mem£t
+(&
+cd
+->
+ù_´ÙocÞ
+.
+tý_ù_d©a
+.
\92
+[
+d\9c
+], 0,
+
+951 \17(\19
+¹e_ù_tý_¡©e
+));
+
+955 
+cd
+->
+ù_´ÙocÞ
+.
+tý_ù_d©a
+.
+ϡ_\9adex
+ = 
+\9adex
+;
+
+956 
+cd
+->
+ù_´ÙocÞ
+.
+tý_ù_d©a
+.
+ϡ_d\9c
+ = 
+d\9c
+;
+
+957 
+cd
+->
+ù_´ÙocÞ
+.
+tý_ù_d©a
+.
+Ï¡_£q
+ = 
+£Á_£q
+;
+
+958 
+cd
+->
+ù_´ÙocÞ
+.
+tý_ù_d©a
+.
+ϡ_\92d
+ =
+
+959 
+       `¹e_ù_£q_¶us_Ëngth
+(
+pkt
+, 
+\9d_hdr_size
+);
+
+960 
+cd
+->
+ù_´ÙocÞ
+.
+tý_ù_d©a
+.
+ϡ_w\9a
+ =
+
+961 
+       `¹e_bsw­16
+(
+týh\97d\94
+->
+rx_w\9a
+);
+
+971 ià(
+\9adex
+ =ð
+RTE_CT_TCP_SYN_FLAG
+ &&
+
+972 
+d\9c
+ =ð
+RTE_CT_DIR_ORIGINAL
+) {
+
+973 \19
+¹e_ù_tý_¡©e
\92
+;
+
+976 
+       `¹e_ù_check_fÜ_sÿl\9ag_ªd_§ck_³rm
+(
+pkt
+, &
\92
+,
+
+977 
+\9d_hdr_size
+);
+
+980 
+cd
+->
+ù_´ÙocÞ
+.
+tý_ù_d©a
+.
+Ï¡_æags
+ = 
\92
+.
+æags
+;
+
+981 
+cd
+->
+ù_´ÙocÞ
+.
+tý_ù_d©a
+.
+Ï¡_wsÿË
+ =
+
+982 (
\92
+.
+æags
+ & 
+RTE_CT_TCP_FLAG_WINDOW_SCALE
+) == 0 ?
+
+983 0 : 
\92
+.
+sÿË
+;
+
+990 ià(
+Þd_¡©e
+ =ð
+RTE_CT_TCP_LAST_ACK
+)
+
+991 
+cd
+->
+ù_´ÙocÞ
+.
+tý_ù_d©a
+.
+Ï¡_æags
+ |=
+
+992 
+RTE_CT_EXP_CHALLENGE_ACK
+;
+
+994 \15 
+RTE_CT_FORWARD_PACKET
+;
+
+996 \ 4
+RTE_CT_TCP_TIME_WAIT
+:
+
+1002 ià(
+Þd_¡©e
+ =ð
+RTE_CT_TCP_LAST_ACK
+ &&
+
+1003 
+\9adex
+ =ð
+RTE_CT_TCP_ACK_FLAG
+ &&
+
+1004 
+cd
+->
+ù_´ÙocÞ
+.
+tý_ù_d©a
+.
+ϡ_d\9c
+ !ð
+d\9c
+ &&
+
+1005 
+cd
+->
+ù_´ÙocÞ
+.
+tý_ù_d©a
+.
+ϡ_\9adex
+ ==
+
+1006 
+RTE_CT_TCP_SYN_FLAG
+
+
+1007 && (
+cd
+->
+ù_´ÙocÞ
+.
+tý_ù_d©a
+.
+
+1008 
+Ï¡_æags
+ & 
+RTE_CT_EXP_CHALLENGE_ACK
+)) {
+
+1010 
+cd
+->
+ù_´ÙocÞ
+.
+tý_ù_d©a
+.
+Ï¡_æags
+ &=
+
+1011 ~
+RTE_CT_EXP_CHALLENGE_ACK
+;
+
+1012 \15 
+RTE_CT_FORWARD_PACKET
+;
+
+1016 \ 4
+RTE_CT_TCP_CLOSE
+:
+
+1018 ià(
+\9adex
+ =ð
+RTE_CT_TCP_RST_FLAG
+) {
+
+1025 ià((
+cd
+->
+ù_´ÙocÞ
+.
+tý_ù_d©a
+.
\92
+[!
+d\9c
+].
+æags
+ &
+
+1026 
+RTE_CT_TCP_FLAG_MAXACK_SET
+) &&
+
+1027 
+       `¹e_befÜe
+(
+£Á_£q
+, 
+cd
+->
+ù_´ÙocÞ
+.
+
+1028 
+tý_ù_d©a
+.
\92
+[!
+d\9c
+].
+maxack
+)) {
+
+1030 
+->
+couÁ\94s
+->
+pkts_drÝ_\9av®id_r¡
+++;
+
+1032 \15 
+RTE_CT_DROP_PACKET
+;
+
+1035 ià(((
+cd
+->
+cÚn¡©us
+ =ð
+RTE_SEEN_REPLY_CONN
+ &&
+
+1036 
+cd
+->
+ù_´ÙocÞ
+.
+tý_ù_d©a
+.
+ϡ_\9adex
+ ==
+
+1037 
+RTE_CT_TCP_SYN_FLAG
+) ||
+
+1038 (
+cd
+->
+cÚn¡©us
+ !ð
+RTE_ASSURED_CONN
+ &&
+
+1039 
+cd
+->
+ù_´ÙocÞ
+.
+tý_ù_d©a
+.
+ϡ_\9adex
+ ==
+
+1040 
+RTE_CT_TCP_ACK_FLAG
+)) &&
+
+1041 
+»cv_ack
+ ==
+
+1042 
+cd
+->
+ù_´ÙocÞ
+.
+tý_ù_d©a
+.
+ϡ_\92d
+) {
+
+1045 
+check_w\9adow
+ = 0;
+
+1054 ià(
+       `lik\96y
+(
+check_w\9adow
+)) {
+
+1055 ià(
+       `uÆik\96y
+(!
+       `¹e_ù_tý_\9a_w\9adow
+(
+cd
+, 
+,
+
+1056 &
+cd
+->
+ù_´ÙocÞ
+.
+tý_ù_d©a
+,
+
+1057 
+d\9c
+, 
+\9adex
+,
+
+1058 
+pkt
+, 
+\9d_hdr_size
+))) {
+
+1059 
+->
+couÁ\94s
+->
+pkts_drÝ_outof_w\9adow
+++;
+
+1060 \15 
+RTE_CT_DROP_PACKET
+;
+
+1064 ià(
+Ãw_¡©e
+ =ð
+RTE_CT_TCP_ESTABLISHED
+ &&
+
+1065 
+Þd_¡©e
+ !ð
+RTE_CT_TCP_ESTABLISHED
+)
+
+1068 
+->
+couÁ\94s
+->
+£ssiÚs_e¡ablished
+++;
+
+1070 
+cd
+->
+ù_´ÙocÞ
+.
+tý_ù_d©a
+.
+ϡ_\9adex
+ = 
+\9adex
+;
+
+1071 
+cd
+->
+ù_´ÙocÞ
+.
+tý_ù_d©a
+.
+ϡ_d\9c
+ = 
+d\9c
+;
+
+1073 ià(
+\9adex
+ =ð
+RTE_CT_TCP_SAK_FLAG
+)
+
+1074 
+cd
+->
+cÚn¡©us
+ = 
+RTE_SEEN_REPLY_CONN
+;
+
+1076 
+timeout_¡©e
+ = 
+Ãw_¡©e
+;
+
+1078 ià(
+cd
+->
+ù_´ÙocÞ
+.
+tý_ù_d©a
+.
\8cªs
+ >=
+
+1079 
+->
+misc_ÝtiÚs
+.
+tý_max_»\8cªs
+)
+
+1080 
+timeout_¡©e
+ =
+
+1081 
+       `¹e_ù_choo£_m\9a_timeout_¡©e
+(
+, 
+timeout_¡©e
+,
+
+1082 
+RTE_CT_TCP_RETRANS
+);
+
+1083 \vià(
+       `¹e_ù_e\99h\94_d\9ceùiÚ_has_æags
+(
+cd
+,
+
+1084 
+RTE_CT_TCP_FLAG_DATA_UNACKNOWLEDGED
+))
+
+1085 
+timeout_¡©e
+ =
+
+1086 
+       `¹e_ù_choo£_m\9a_timeout_¡©e
+(
+, 
+timeout_¡©e
+,
+
+1087 
+RTE_CT_TCP_UNACK
+);
+
+1089 ià(
+cd
+->
+cÚn¡©us
+ !ð
+RTE_SEEN_REPLY_CONN
+) {
+
+1090 ià(
+týh\97d\94
+->
+tý_æags
+ & 
+RTE_CT_TCPHDR_RST
+) {
+
+1097 \15 
+RTE_CT_DESTROY_CNXN_AND_FORWARD_PACKET
+;
+
+1101 ià(
+Ãw_¡©e
+ =ð
+RTE_CT_TCP_ESTABLISHED
+)
+
+1102 
+timeout_¡©e
+ = 
+       `¹e_ù_choo£_m\9a_timeout_¡©e
+(
+,
+
+1103 
+timeout_¡©e
+,
+
+1104 
+RTE_CT_TCP_UNACK
+);
+
+1106 } \vià(
+cd
+->
+cÚn¡©us
+ !ð
+RTE_ASSURED_CONN
+ &&
+
+1107 (
+Þd_¡©e
+ =ð
+RTE_CT_TCP_SYN_RECV
+
+
+1108 || 
+Þd_¡©e
+ =ð
+RTE_CT_TCP_ESTABLISHED
+)
+
+1109 && 
+Ãw_¡©e
+ =ð
+RTE_CT_TCP_ESTABLISHED
+)
+
+1110 
+cd
+->
+cÚn¡©us
+ = 
+RTE_ASSURED_CONN
+;
+
+1112 
+cd
+->
+ù_´ÙocÞ
+.
+tý_ù_d©a
+.
+¡©e
+ = 
+Ãw_¡©e
+;
+
+1113 
+       `¹e_ù_£t_úxn_tim\94_fÜ_tý
+(
+, 
+cd
+, 
+timeout_¡©e
+);
+
+1115 \15 
+»tuº_aùiÚ
+;
+
+1116 
+       }
+}
+
+       @VIL/conntrack/rte_ct_tcp.h
+
+17 #iâdeà
+__INCLUDE_RTE_CT_TCP_H__
+
+
+18 \ 1
+       #__INCLUDE_RTE_CT_TCP_H__
+
+
+       )
+
+19 \ 2
+       ~<¡dlib.h
+>
+
+20 \ 2
+       ~<¡r\9ag.h
+>
+
+21 \ 2
+       ~<\9a\89y³s.h
+>
+
+23 \ 2
+       ~<¹e_tý.h
+>
+
+24 \ 2
+       ~<¹e_pÜt.h
+>
+
+25 \ 2
+       ~<¹e_tim\94.h
+>
+
+26 \ 2
+       ~<¹e_\9d.h
+>
+
+27 \ 2
+       ~<¹e_tý.h
+>
+
+28 \ 2
+       ~<¹e_udp.h
+>
+
+29 \ 2
+       ~<¹e_pÜt.h
+>
+
+30 \ 2
+       ~<¹e_by\8bÜd\94.h
+>
+
+31 \ 2
+       ~"¹e_úxn_\8cack\9ag.h
+"
+
+37 \ 1
+       #RTE_CT_TCPOPT_EOL
+ 0
+
+       )
+
+38 \ 1
+       #RTE_CT_TCPOPT_NOP
+ 1
+
+       )
+
+39 \ 1
+       #RTE_CT_TCPOPT_MSS
+ 2
+
+       )
+
+40 \ 1
+       #RTE_CT_TCPOPT_WINDOW
+ 3
+
+       )
+
+41 \ 1
+       #RTE_CT_TCPOPT_SACK_PERM
+ 4
+
+       )
+
+42 \ 1
+       #RTE_CT_TCPOPT_SACK
+ 5
+
+       )
+
+43 \ 1
+       #RTE_CT_TCPOPT_TIMESTAMP
+ 8
+
+       )
+
+45 \ 1
+       #RTE_CT_TCPOLEN_MSS
+ 4
+
+       )
+
+46 \ 1
+       #RTE_CT_TCPOLEN_WINDOW
+ 3
+
+       )
+
+47 \ 1
+       #RTE_CT_TCPOLEN_SACK_PERM
+ 2
+
+       )
+
+48 \ 1
+       #RTE_CT_TCPOLEN_TIMESTAMP
+ 10
+
+       )
+
+49 \ 1
+       #RTE_CT_TCPOLEN_PER_SACK_ENTRY
+ 8
+
+       )
+
+51 \ 1
+       #RTE_CT_TCPOLEN_MSS_ALIGNED
+ 4
+
+       )
+
+52 \ 1
+       #RTE_CT_TCPOLEN_WINDOW_ALIGNED
+ 4
+
+       )
+
+53 \ 1
+       #RTE_CT_TCPOLEN_SACK_PERM_ALIGNED
+ 4
+
+       )
+
+54 \ 1
+       #RTE_CT_TCPOLEN_TIMESTAMP_ALIGNED
+ 12
+
+       )
+
+56 \ 1
+       #RTE_CT_MAX_TCP_WINDOW_SCALE
+ 14
+
+       )
+
+58 \ 1
+       #RTE_SP_OPTIONS_MSS
+ 1
+
+       )
+
+59 \ 1
+       #RTE_SP_OPTIONS_WINDOW_SCALE
+ 2
+
+       )
+
+60 \ 1
+       #RTE_SP_OPTIONS_TIMESTAMP
+ 4
+
+       )
+
+61 \ 1
+       #RTE_SP_OPTIONS_SACK_PERM
+ 8
+
+       )
+
+64 \f
+       e¹e_ù_·ck\91_aùiÚ
+ {
+
+65 
+       mRTE_CT_OPEN_CONNECTION
+,
+
+66 
+       mRTE_CT_DROP_PACKET
+,
+
+67 
+       mRTE_CT_FORWARD_PACKET
+,
+
+68 
+       mRTE_CT_DESTROY_CNXN_AND_FORWARD_PACKET
+,
+
+69 
+       mRTE_CT_REOPEN_CNXN_AND_FORWARD_PACKET
+,
+
+70 
+       mRTE_CT_SEND_CLIENT_SYNACK
+,
+
+71 
+       mRTE_CT_SEND_SERVER_SYN
+,
+
+72 
+       mRTE_CT_SEND_SERVER_ACK
+,
+
+73 
+       mRTE_CT_HIJACK
+
+
+76 \f
+       e¹e_ù_cÚn¡©us
+ {
+
+77 
+       mRTE_INIT_CONN
+,
+
+78 
+       mRTE_SEEN_REPLY_CONN
+,
+
+79 
+       mRTE_ASSURED_CONN
+
+
+84 \18cڡ \ 5*cڡ 
+       g¹e_ù_tý_Çmes
+[] = {
+
+100 \18cڡ \ 5*cڡ 
+       g¹e_ù_udp_Çmes
+[] = {
+
+107 \ 1
+       #RTE_MAX_ACKWIN_CONST
+ 66000
+
+       )
+
+110 \ 1
+       #RTE_CT_TCP_FLAG_WINDOW_SCALE
+ 0x01
+
+       )
+
+113 \ 1
+       #RTE_CT_TCP_FLAG_SACK_PERM
+ 0x02
+
+       )
+
+116 \ 1
+       #RTE_CT_TCP_FLAG_CLOSE_INIT
+ 0x04
+
+       )
+
+119 \ 1
+       #RTE_CT_TCP_FLAG_BE_LIBERAL
+ 0x08
+
+       )
+
+122 \ 1
+       #RTE_CT_TCP_FLAG_DATA_UNACKNOWLEDGED
+ 0x10
+
+       )
+
+125 \ 1
+       #RTE_CT_TCP_FLAG_MAXACK_SET
+ 0x20
+
+       )
+
+127 \ 1
+       #RTE_CT_EXP_CHALLENGE_ACK
+ 0x40
+
+       )
+
+132 \ 1
+       #RTE_CT_TCPHDR_FIN
+ 0x01
+
+       )
+
+133 \ 1
+       #RTE_CT_TCPHDR_SYN
+ 0x02
+
+       )
+
+134 \ 1
+       #RTE_CT_TCPHDR_RST
+ 0x04
+
+       )
+
+135 \ 1
+       #RTE_CT_TCPHDR_ACK
+ 0x10
+
+       )
+
+137 \ 1
+       #RTE_CT_TCPHDR_RST_ACK
+ (
+RTE_CT_TCPHDR_RST
+ | 
+RTE_CT_TCPHDR_ACK
+)
+
+       )
+
+142 \f
+       e¹e_ù_tý_¡©es
+ {
+
+143 
+       mRTE_CT_TCP_NONE
+,
+
+144 
+       mRTE_CT_TCP_SYN_SENT
+,
+
+145 
+       mRTE_CT_TCP_SYN_RECV
+,
+
+146 
+       mRTE_CT_TCP_ESTABLISHED
+,
+
+147 
+       mRTE_CT_TCP_FIN_WAIT
+,
+
+148 
+       mRTE_CT_TCP_CLOSE_WAIT
+,
+
+149 
+       mRTE_CT_TCP_LAST_ACK
+,
+
+150 
+       mRTE_CT_TCP_TIME_WAIT
+,
+
+151 
+       mRTE_CT_TCP_CLOSE
+,
+
+152 
+       mRTE_CT_TCP_SYN_SENT_2
+,
+
+153 
+       mRTE_CT_TCP_RETRANS
+,
+
+154 
+       mRTE_CT_TCP_UNACK
+,
+
+155 
+       mRTE_CT_TCP_IGNORE
+
+
+158 \f
+       e¹e_ù_udp_¡©es
+ {
+
+159 
+       mRTE_CT_UDP_NONE
+,
+
+160 
+       mRTE_CT_UDP_UNREPLIED
+,
+
+161 
+       mRTE_CT_UDP_REPLIED
+,
+
+162 
+       mRTE_CT_UDP_MAX
+
+
+167 \ 1
+       #RTE_CT_TCP_MAX
+RTE_CT_TCP_UNACK
+
+
+       )
+
+169 \f
+       e¹e_ù_pkt_d\9ceùiÚ
+ {
+
+170 
+       mRTE_CT_DIR_ORIGINAL
+,
+
+171 
+       mRTE_CT_DIR_REPLY
+
+
+174 \19
+       s¹e_ù_tý_¡©e
+ {
+
+175 
+u\9at32_t
+       m\92d
+;
+
+176 
+u\9at32_t
+       mmax\92d
+;
+
+177 
+u\9at32_t
+       mmaxw\9a
+;
+
+178 
+u\9at32_t
+       mmaxack
+;
+
+179 
+u\9at8_t
+       msÿË
+;
+
+180 
+u\9at8_t
+       mæags
+;
+
+183 \19
+       s¹e_syÅroxy_ÝtiÚs
+ {
+
+184 
+u\9at8_t
+       mÝtiÚs
+;
+
+185 
+u\9at8_t
+       mw\9adow_sÿË
+;
+
+186 
+u\9at16_t
+       mmss
+;
+
+187 
+u\9at32_t
+       mts_v®
+;
+
+188 
+u\9at32_t
+       mts_echo_»¶y
+;
+
+189 
+u\9at16_t
+       m\9a\99\9fl_w\9adow
+;
+
+192 \19
+       sù_¥_úxn_d©a
+ {
+
+196 \19
+¹e_mbuf
+ *
+       mbufã»d_pkt_li¡
+;
+
+197 
+u\9at32_t
+       mÜig\9a®_¥ooãd_£q
+;
+
+199 
+u\9at32_t
+       m£q_diff
+;
+
+200 \19
+¹e_syÅroxy_ÝtiÚs
+       múxn_ÝtiÚs
+;
+
+202 
+u\9at8_t
+       msyÅrox\9bd
+;
+
+203 
+boÞ
+       mh®f_e¡ablished
+;
+
+205 
+boÞ
+       múxn_e¡ablished
+;
+
+208 \19
+       s¹e_ù_tý
+ {
+
+209 \19
+¹e_ù_tý_¡©e
+       m£\92
+[2];
+
+210 
+u\9at8_t
+       m¡©e
+;
+
+211 
+u\9at8_t
+       mÏ¡_d\9c
+;
+
+214 
+u\9at8_t
+       m»\8cªs
+;
+
+215 
+u\9at8_t
+       mÏ¡_\9adex
+;
+
+216 
+u\9at32_t
+       mÏ¡_£q
+;
+
+217 
+u\9at32_t
+       mϡ_ack
+;
+
+218 
+u\9at32_t
+       mÏ¡_\92d
+;
+
+219 
+u\9at16_t
+       mÏ¡_w\9a
+;
+
+221 
+u\9at8_t
+       mÏ¡_wsÿË
+;
+
+222 
+u\9at8_t
+       mÏ¡_æags
+;
+
+230 \19
+       s¹e_ù_úxn_couÁ\94s
+ {
+
+231 
+u\9at64_t
+       m·ck\91s_»ûived
+;
+
+232 
+u\9at64_t
+       m·ck\91s_fÜw¬ded
+;
+
+233 
+u\9at64_t
+       m·ck\91s_drݳd
+;
+
+236 \19
+       s¹e_ù_´Ùo
+ {
+
+237 \19
+¹e_ù_tý
+       mtý_ù_d©a
+;
+
+238 \19
+ù_¥_úxn_d©a
+       msyÅroxy_d©a
+;
+
+248 \19
+       s¹e_ù_úxn_d©a
+ {
+
+252 \19
+¹e_tim\94
+       mtim\94
+;
+
+254 \19
+¹e_ù_úxn_couÁ\94s
+       mcouÁ\94s
+;
+
+258 
+u\9at32_t
+       mkey
+[10];
+
+260 \19
+¹e_ù_´Ùo
+       mù_´ÙocÞ
+;
+
+263 
+u\9at64_t
+       mex³ùed_timeout
+;
+
+266 
+u\9at8_t
+       m¡©e_u£d_fÜ_tim\94
+;
+
+269 
+u\9at8_t
+       mkey_is_þ\9bÁ_Üd\94
+;
+
+270 
+u\9at8_t
+       mcÚn¡©us
+;
+
+271 
+u\9at8_t
+       m´ÙocÞ
+;
+
+273 
+u\9at8_t
+       mty³
+;
+
+276 
+u\9at8_t
+       m®g_by·ss_æag
+;
+
+278 
+u\9at8_t
+       m£rv\94_d\9ceùiÚ
+;
+
+279 
+\9at16_t
+       mtýSeqdiff
+;
+
+281 
+u\9at8_t
+       máp_£ssiÚ_ty³
+;
+
+282 
+u\9at32_t
+       mtý_·ylßd_size
+;
+
+283 
+\9at16_t
+       m£q_þ\9bÁ
+;
+
+284 
+\9at16_t
+       mack_þ\9bÁ
+;
+
+285 
+\9at16_t
+       m£q_£rv\94
+;
+
+286 
+\9at16_t
+       mack_£rv\94
+;
+
+288 } 
+       g__¹e_ÿche_®igÃd
+;
+
+291 \ 1
+       #RTE_CT_TCP_MAX_RETRANS
+ 3
+
+       )
+
+293 \19
+       s¹e_ù_týtimeout
+ {
+
+295 
+u\9at64_t
+       mtý_timeouts
+[
+RTE_CT_TCP_MAX
+ + 1];
+
+299 \19
+       s¹e_ù_misc_ÝtiÚs
+ {
+
+300 
+u\9at8_t
+       msyÅroxy_\92abËd
+;
+
+301 
+u\9at32_t
+       mtý_loo£
+;
+
+302 
+u\9at32_t
+       mtý_be_lib\94®
+;
+
+303 
+u\9at32_t
+       mtý_max_»\8cªs
+;
+
+306 \19
+       s¹e_ù_ud±imeout
+ {
+
+307 
+u\9at64_t
+       mudp_timeouts
+[
+RTE_CT_UDP_MAX
+ + 1];
+
+310 \19
+       s¹e_ù_timeout
+ {
+
+311 \19
+¹e_ù_týtimeout
+       mtýtimeout
+;
+
+312 \19
+¹e_ù_ud±imeout
+       mud±imeout
+;
+
+315 \19
+       s¹e_ù_úxn_\8cack\94
+ {
+
+316 \19
+¹e_hash
+ *
+       mrhash
+;
+
+322 
+u\9at32_t
+       mhash_keys
+[
+RTE_HASH_LOOKUP_BULK_MAX
+][10];
+
+325 \1e*
+       mhash_key_±rs
+[
+RTE_HASH_LOOKUP_BULK_MAX
+];
+
+326 #ifdeà
+CT_CGNAT
+
+
+327 
+u\9at32_t
+       mpos\99iÚs
+[
+RTE_HASH_LOOKUP_BULK_MAX
+];
+
+330 
+u\9at32_t
+       mnum_úxn_\92\8c\9bs
+;
+
+336 \19
+¹e_ù_úxn_d©a
+ *
+       mhash_\8fbË_\92\8c\9bs
+;
+
+337 \19
+¹e_CT_couÁ\94_block
+ *
+       mcouÁ\94s
+;
+
+339 
+u\9at64_t
+       mh\94tz
+;
+
+340 
+u\9at64_t
+       mtim\9ag_cyþes_³r_tim\9ag_¡\95
+;
+
+341 
+u\9at64_t
+       mtim\9ag_100ms_¡\95s
+;
+
+342 
+u\9at64_t
+       mtim\9ag_100ms_¡\95s_´evious
+;
+
+343 
+u\9at64_t
+       mtim\9ag_Ï¡_time
+;
+
+344 \19
+¹e_ù_timeout
+       mù_timeout
+;
+
+345 \19
+¹e_ù_misc_ÝtiÚs
+       mmisc_ÝtiÚs
+;
+
+347 \ 5
+       mÇme
+[16];
+
+348 \19
+¹e_ù_úxn_d©a
+ *
+       mÃw_cÚÃùiÚs
+[64];
+
+349 \19
+¹e_mbuf
+ *
+       mbufã»d_pkt_li¡
+;
+
+350 \12
+       mÏ\8b¡_cÚÃùiÚ
+;
+
+352 
+u\9at16_t
+       mpo\9a\8br_off£t
+;
+
+353 } 
+       g__¹e_ÿche_®igÃd
+;
+
+360 \f
+¹e_ù_·ck\91_aùiÚ
+
+
+361 
+¹e_ù_tý_Ãw_cÚÃùiÚ
+(
+
+362 \19
+¹e_ù_úxn_\8cack\94
+ *
+\9a¡
+,
+
+363 \19
+¹e_ù_úxn_d©a
+ *
+úxn
+,
+
+364 \19
+¹e_mbuf
+ *
+pkt
+,
+
+365 \12
+u£_syÅroxy
+,
+
+366 
+u\9at8_t
+\9d_hdr_size
+);
+
+373 \f
+¹e_ù_·ck\91_aùiÚ
+
+
+374 
+¹e_ù_v\94ify_tý_·ck\91
+(
+
+375 \19
+¹e_ù_úxn_\8cack\94
+ *
+\9a¡
+,
+
+376 \19
+¹e_ù_úxn_d©a
+ *
+úxn
+,
+
+377 \19
+¹e_mbuf
+ *
+pkt
+,
+
+378 
+u\9at8_t
+key_was_杳d
+,
+
+379 
+u\9at8_t
+\9d_hdr_size
+);
+
+386 
+u\9at8_t
+
+
+387 
+¹e_ù_udp_Ãw_cÚÃùiÚ
+(
+
+388 \19
+¹e_ù_úxn_\8cack\94
+ *
+,
+
+389 \19
+¹e_ù_úxn_d©a
+ *
+cd
+,
+
+390 \19
+¹e_mbuf
+ *
+pkt
+);
+
+397 \f
+¹e_ù_·ck\91_aùiÚ
+
+
+398 
+¹e_ù_udp_·ck\91
+(
+
+399 \19
+¹e_ù_úxn_\8cack\94
+ *
+,
+
+400 \19
+¹e_ù_úxn_d©a
+ *
+cd
+,
+
+401 \19
+¹e_mbuf
+ *
+pkt
+,
+
+402 
+u\9at8_t
+key_was_杳d
+);
+
+411 
+¹e_ù_£t_úxn_tim\94_fÜ_tý
+(
+
+412 \19
+¹e_ù_úxn_\8cack\94
+ *
+,
+
+413 \19
+¹e_ù_úxn_d©a
+ *
+cd
+,
+
+414 
+u\9at8_t
+tý_¡©e
+);
+
+417 
+¹e_ù_£t_úxn_tim\94_fÜ_udp
+(
+
+418 \19
+¹e_ù_úxn_\8cack\94
+ *
+,
+
+419 \19
+¹e_ù_úxn_d©a
+ *
+cd
+,
+
+420 
+u\9at8_t
+tý_¡©e
+);
+
+423 \1e
+¹e_ù_ÿnûl_úxn_tim\94
+(\19
+¹e_ù_úxn_d©a
+ *
+cd
+);
+
+435 
+¹e_¥_cvt_to_¥ooãd_þ\9bÁ_syÇck
+(\19
+¹e_ù_úxn_d©a
+ *
+cd
+,
+
+436 \19
+¹e_mbuf
+ *
+Þd_pkt
+);
+
+439 
+¹e_¥_cvt_to_¥ooãd_£rv\94_syn
+(\19
+¹e_ù_úxn_d©a
+ *
+cd
+,
+
+440 \19
+¹e_mbuf
+ *
+Þd_pkt
+);
+
+443 
+¹e_¥_cvt_to_¥ooãd_£rv\94_ack
+(\19
+¹e_ù_úxn_d©a
+ *
+cd
+,
+
+444 \19
+¹e_mbuf
+ *
+Þd_pkt
+);
+
+451 
+¹e_¥_adju¡_þ\9bÁ_ack_befÜe_w\9adow_check
+(
+
+452 \19
+¹e_ù_úxn_d©a
+ *
+cd
+,
+
+453 \1e*
+i_hdr
+,
+
+454 \19
+tý_hdr
+ *
+thdr
+,
+
+455 \f
+¹e_ù_pkt_d\9ceùiÚ
+d\9c
+);
+
+458 
+¹e_¥_adju¡_£rv\94_£q_aá\94_w\9adow_check
+(
+
+459 \19
+¹e_ù_úxn_d©a
+ *
+cd
+,
+
+460 \1e*
+i_hdr
+,
+
+461 \19
+tý_hdr
+ *
+thdr
+,
+
+462 \f
+¹e_ù_pkt_d\9ceùiÚ
+d\9c
+);
+
+468 
+¹e_¥_·r£_ÝtiÚs
+(\19
+¹e_mbuf
+ *
+pkt
+, \19
+¹e_ù_úxn_d©a
+ *
+cd
+);
+
+474 
+¹e_ù_bufãr_·ck\91
+(
+
+475 \19
+¹e_ù_úxn_\8cack\94
+ *
+,
+
+476 \19
+¹e_ù_úxn_d©a
+ *
+cd
+,
+
+477 \19
+¹e_mbuf
+ *
+pkt
+);
+
+480 
+¹e_ù_»Ëa£_bufã»d_·ck\91s
+(
+
+481 \19
+¹e_ù_úxn_\8cack\94
+ *
+,
+
+482 \19
+¹e_ù_úxn_d©a
+ *
+cd
+);
+
+       @VIL/conntrack/rte_ct_udp.c
+
+17 \ 2
+       ~<¡dlib.h
+>
+
+18 \ 2
+       ~<¡r\9ag.h
+>
+
+19 \ 2
+       ~"¹e_ù_tý.h
+"
+
+20 \ 2
+       ~"¹e_úxn_\8cack\9ag.h
+"
+
+22 
+u\9at8_t
+       $¹e_ù_udp_Ãw_cÚÃùiÚ
+(
+__¹e_unu£d
\19
+¹e_ù_úxn_\8cack\94
+ *
+,
+
+23 \19
+¹e_ù_úxn_d©a
+ *
+cd
+,
+
+24 
+__¹e_unu£d
\19
+¹e_mbuf
+ *
+pkt
+)
+
+27 
+cd
+->
+cÚn¡©us
+ = 
+RTE_INIT_CONN
+;
+
+29 
+       }
+}
+
+30 \f
+¹e_ù_·ck\91_aùiÚ
+       $¹e_ù_udp_·ck\91
+(\19
+¹e_ù_úxn_\8cack\94
+ *
+,
+
+31 \19
+¹e_ù_úxn_d©a
+ *
+cd
+,
+
+32 
+__¹e_unu£d
\19
+¹e_mbuf
+ *
+pkt
+,
+
+33 
+u\9at8_t
+key_was_杳d
+)
+
+35 \f
+¹e_ù_pkt_d\9ceùiÚ
+d\9c
+;
+
+37 
+d\9c
+ = (
+cd
+->
+key_is_þ\9bÁ_Üd\94
+ =ð!
+key_was_杳d
+);
+
+39 ià(
+d\9c
+ =ð
+RTE_CT_DIR_REPLY
+ &&
+
+40 
+cd
+->
+cÚn¡©us
+ =ð
+RTE_INIT_CONN
+) {
+
+41 
+       `¹e_ù_£t_úxn_tim\94_fÜ_udp
+(
+, 
+cd
+, 
+RTE_CT_UDP_REPLIED
+);
+
+42 
+cd
+->
+cÚn¡©us
+ = 
+RTE_ASSURED_CONN
+;
+
+43 } \vià(
+d\9c
+ =ð
+RTE_CT_DIR_REPLY
+ &&
+
+44 
+cd
+->
+cÚn¡©us
+ =ð
+RTE_ASSURED_CONN
+)
+
+45 
+       `¹e_ù_£t_úxn_tim\94_fÜ_udp
+(
+, 
+cd
+, 
+RTE_CT_UDP_REPLIED
+);
+
+47 
+       `¹e_ù_£t_úxn_tim\94_fÜ_udp
+(
+, 
+cd
+, 
+RTE_CT_UDP_UNREPLIED
+);
+
+48 \15 
+RTE_CT_FORWARD_PACKET
+;
+
+49 
+       }
+}
+
+       @VIL/l2l3_stack/bond.c
+
+17 \ 2
+       ~<\9a\8brçû.h
+>
+
+18 \ 2
+       ~"tsx.h
+"
+
+19 \r
+\9a\8brçû_ma\9a_t
+ifm
+;
+
+20 \r
+u\9at8_t
+ifm_debug
+;
+
+21 \r\12
+USE_RTM_LOCKS
+;
+
+22 \r
+¹e_rwlock_t
+rwlock
+;
+
+24 \12
+       $ifm_bÚd_pÜt_ü\97\8b
+(cڡ \ 5*
+Çme
+, \12
+mode
+, 
+pÜt_cÚfig_t
+ * 
+pÜtcÚf
+)
+
+26 \12
+pÜt_id
+;
+
+27 
+l2_phy_\9a\8brçû_t
+ *
+bÚd_pÜt
+;
+
+28 ià(
+ifm_debug
+ && 
+IFM_DEBUG_CONFIG
+)
+
+29 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: i/°Çm\90%p, mod\90%d\n\r", 
+__FUNCTION__
+,
+
+30 
+Çme
+, 
+mode
+);
+
+31 ià(
+Çme
+ =ð
+NULL
+) {
+
+32 
+       `RTE_LOG
+(
+ERR
+, 
+IFM
+, "%s: Param\82ame cannot be NULL\n\r",
+
+33 
+__FUNCTION__
+);
+
+34 \15 
+IFM_FAILURE
+;
+
+36 ià(
+mode
+ < 0 || mode > 6) {
+
+37 
+       `RTE_LOG
+(
+ERR
+, 
+IFM
+, "%s: Param mode should be withing 0\81o 6\n\r",
+
+38 
+__FUNCTION__
+);
+
+39 \15 
+IFM_FAILURE
+;
+
+41 ià(
+pÜtcÚf
+ =ð
+NULL
+) {
+
+42 
+       `RTE_LOG
+(
+ERR
+, 
+IFM
+, "%s: Param\85ortconf cannot be NULL\n\r",
+
+43 
+__FUNCTION__
+);
+
+44 \15 
+IFM_FAILURE
+;
+
+46 
+bÚd_pÜt
+ = 
+       `ifm_g\91_pÜt_by_Çme
+(
+Çme
+);
+
+47 ià(
+bÚd_pÜt
+ =ð
+NULL
+) {
+
+48 ià(
+ifm_debug
+ && 
+IFM_DEBUG_CONFIG
+)
+
+49 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "C®Èifm_pÜt_£tu°%s\n\r", 
+Çme
+);
+
+50 
+pÜt_id
+ = 
+       `¹e_\91h_bÚd_ü\97\8b
+(
+Çme
+, 
+mode
+, 0);
+
+51 ià(
+pÜt_id
+ < 0) {
+
+52 
+       `RTE_LOG
+(
+ERR
+, 
+IFM
+,
+
+54 
+__FUNCTION__
+, 
+Çme
+, 
+mode
+);
+
+55 \15 
+IFM_FAILURE
+;
+
+57 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+,
+
+59 "mod\90%u.\n\r", 
+__FUNCTION__
+, 
+Çme
+, 
+pÜt_id
+,
+
+60 
+       `¹e_\91h_dev_sock\91_id
+(
+pÜt_id
+), 
+mode
+);
+
+62 
+bÚd_pÜt
+ = (
+l2_phy_\9a\8brçû_t
+ *è
+       `¹e_zm®loc
+(
+NULL
+,
+
+64 (
+l2_phy_\9a\8brçû_t
+),
+
+65 
+RTE_CACHE_LINE_SIZE
+);
+
+66 
+bÚd_pÜt
+->
+pmdid
+ = 
+pÜt_id
+;
+
+67 
+       `¡ºýy
+(
+bÚd_pÜt
+->
+iâame
+, 
+Çme
+, 
+IFM_IFNAME_LEN
+);
+
+68 
+       `memýy
+(&
+bÚd_pÜt
+->
+pÜt_cÚfig
+, 
+pÜtcÚf
+,
+
+69 \17(
+pÜt_cÚfig_t
+));
+
+70 
+bÚd_pÜt
+->
+æags
+ |ð
+IFM_MASTER
+;
+
+71 \19
+bÚd_pÜt
+ *
+bÚd_\9afo
+;
+
+72 
+bÚd_\9afo
+ = (\19
+bÚd_pÜt
+ *)
+       `¹e_zm®loc
+(
+NULL
+,
+
+74 
+bÚd_pÜt
+),
+
+75 
+RTE_CACHE_LINE_SIZE
+);
+
+76 
+bÚd_\9afo
+->
+sock\91_id
+ = 
+       `¹e_\91h_dev_sock\91_id
+(
+pÜt_id
+);
+
+77 
+bÚd_\9afo
+->
+mode
+ = mode;
+
+78 
+bÚd_\9afo
+->
+bÚd_pÜtid
+ = 
+pÜt_id
+;
+
+79 
+bÚd_pÜt
+->
+bÚd_cÚfig
+ = 
+bÚd_\9afo
+;
+
+80 ià(
+mode
+ =ð
+IFM_BONDING_MODE_8023AD
+)
+
+81 
+bÚd_pÜt
+->
+tx_buf_Ën
+ =
+
+82 (2 * 
+       `RTE_ETH_TX_BUFFER_SIZE
+(
+IFM_BURST_SIZE
+)) *
+
+83 
+RTE_MAX_ETHPORTS
+;
+
+85 
+ifm
+.
+pÜt_li¡
+[
+pÜt_id
+] = 
+bÚd_pÜt
+;
+
+86 ià(
+ifm_debug
+ && 
+IFM_DEBUG_CONFIG
+)
+
+87 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+,
+
+89 
+__FUNCTION__
+, 
+Çme
+, 
+pÜt_id
+);
+
+91 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: Port %s\87lready\83xists in\81he"
+
+92 "\85Ü\88li¡\n\r", 
+__FUNCTION__
+, 
+Çme
+);
+
+93 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+94 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: Acquiring\86ock @ %d\n\r",
+
+95 
+__FUNCTION__
+, 
+__LINE__
+);
+
+96 ià(
+USE_RTM_LOCKS
+)
+
+97 
+       `¹m_lock
+();
+
+99 
+       `¹e_rwlock_wr\99e_lock
+(&
+rwlock
+);
+
+101 ià(!(
+bÚd_pÜt
+->
+æags
+ & 
+IFM_MASTER
+)) {
+
+102 
+       `RTE_LOG
+(
+ERR
+, 
+IFM
+, "%s: Previously\85ort %s was\82ot "
+
+103 "cÚfigu»d\87 BÚd\85Üt\n\r", 
+__FUNCTION__
+,
+
+104 
+Çme
+);
+
+105 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+106 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+,
+
+108 
+__FUNCTION__
+, 
+__LINE__
+);
+
+109 ià(
+USE_RTM_LOCKS
+)
+
+110 
+       `¹m_uÆock
+();
+
+112 
+       `¹e_rwlock_wr\99e_uÆock
+(&
+rwlock
+);
+
+113 \15 
+IFM_FAILURE
+;
+
+115 ià(
+bÚd_pÜt
+->
+bÚd_cÚfig
+->
+mode
+ != mode) {
+
+116 ià(
+       `¹e_\91h_bÚd_mode_£t
+(
+bÚd_pÜt
+->
+pmdid
+, 
+mode
+) < 0) {
+
+117 
+       `RTE_LOG
+(
+ERR
+, 
+IFM
+, "%s:\84te_eth_bond_mode_set "
+
+118 "ç\9eed\n\r", 
+__FUNCTION__
+);
+
+119 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+120 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+,
+
+122 
+__FUNCTION__
+, 
+__LINE__
+);
+
+123 ià(
+USE_RTM_LOCKS
+)
+
+124 
+       `¹m_uÆock
+();
+
+126 
+       `¹e_rwlock_wr\99e_uÆock
+(&
+rwlock
+);
+
+127 \15 
+IFM_FAILURE
+;
+
+130 
+bÚd_pÜt
+->
+bÚd_cÚfig
+->
+mode
+ =
+
+131 
+       `¹e_\91h_bÚd_mode_g\91
+(
+bÚd_pÜt
+->
+pmdid
+);
+
+133 
+bÚd_pÜt
+->
+bÚd_cÚfig
+->
+xm\99_pÞicy
+ =
+
+134 
+       `¹e_\91h_bÚd_xm\99_pÞicy_g\91
+(
+bÚd_pÜt
+->
+pmdid
+);
+
+135 ià(
+ifm_debug
+ && 
+IFM_DEBUG_CONFIG
+)
+
+136 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+,
+
+138 "\n\r", 
+__FUNCTION__
+, 
+bÚd_pÜt
+->
+pmdid
+,
+
+139 
+bÚd_pÜt
+->
+bÚd_cÚfig
+->
+mode
+,
+
+140 
+bÚd_pÜt
+->
+bÚd_cÚfig
+->
+xm\99_pÞicy
+);
+
+142 
+pÜt_id
+ = 
+bÚd_pÜt
+->
+pmdid
+;
+
+143 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+144 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: Acquiring\86ock @ %d\n\r",
+
+145 
+__FUNCTION__
+, 
+__LINE__
+);
+
+146 ià(
+USE_RTM_LOCKS
+)
+
+147 
+       `¹m_uÆock
+();
+
+149 
+       `¹e_rwlock_wr\99e_uÆock
+(&
+rwlock
+);
+
+151 \15 
+pÜt_id
+;
+
+152 
+       }
+}
+
+154 \12
+       $ifm_bÚd_pÜt_d\96\91e
+(cڡ \ 5*
+Çme
+)
+
+156 
+l2_phy_\9a\8brçû_t
+ *
+bÚd_pÜt
+;
+
+157 ià(
+Çme
+ =ð
+NULL
+) {
+
+158 
+       `RTE_LOG
+(
+ERR
+, 
+IFM
+, "%s: Param\82ame cannot be NULL\n\r",
+
+159 
+__FUNCTION__
+);
+
+160 \15 
+IFM_FAILURE
+;
+
+162 
+bÚd_pÜt
+ = 
+       `ifm_g\91_pÜt_by_Çme
+(
+Çme
+);
+
+163 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+164 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: Acquiring WR\86ock @ %d\n\r",
+
+165 
+__FUNCTION__
+, 
+__LINE__
+);
+
+166 ià(
+USE_RTM_LOCKS
+)
+
+167 
+       `¹m_lock
+();
+
+169 
+       `¹e_rwlock_wr\99e_lock
+(&
+rwlock
+);
+
+170 ià(
+bÚd_pÜt
+ =ð
+NULL
+) {
+
+171 
+       `RTE_LOG
+(
+ERR
+, 
+IFM
+, "%s: Given bond\85ort with\82ame %s\82ot"
+
+172 " found iÀth\90li¡\n\r", 
+__FUNCTION__
+, 
+Çme
+);
+
+173 \15 
+IFM_FAILURE
+;
+
+175 ià(!(
+bÚd_pÜt
+->
+æags
+ & 
+IFM_MASTER
+)) {
+
+176 
+       `RTE_LOG
+(
+ERR
+, 
+IFM
+, "%s: Given bond\85ort %s is\82ot "
+
+177 "cÚfigu»d i nÙ bÚd\85Üt\n\r", 
+__FUNCTION__
+, 
+Çme
+);
+
+178 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+179 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: Releasing WR\86ock @ %d\n\r",
+
+180 
+__FUNCTION__
+, 
+__LINE__
+);
+
+181 ià(
+USE_RTM_LOCKS
+) {
+
+182 
+       `¹m_uÆock
+();
+
+184 
+       `¹e_rwlock_wr\99e_uÆock
+(&
+rwlock
+);
+
+186 \15 
+IFM_FAILURE
+;
+
+188 ià(
+bÚd_pÜt
+->
+bÚd_cÚfig
+ && bÚd_pÜt->bÚd_cÚfig->
+¦ave_couÁ
+ > 0) {
+
+189 
+       `RTE_LOG
+(
+ERR
+, 
+IFM
+, "%s: First unbind\87ll slave "
+
+190 "pÜt äom\81h\90bÚd\85Ü\88%s\n\r", 
+__FUNCTION__
+, 
+Çme
+);
+
+191 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+192 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: Releasing WR\86ock @ %d\n\r",
+
+193 
+__FUNCTION__
+, 
+__LINE__
+);
+
+194 ià(
+USE_RTM_LOCKS
+) {
+
+195 
+       `¹m_uÆock
+();
+
+197 
+       `¹e_rwlock_wr\99e_uÆock
+(&
+rwlock
+);
+
+199 \15 
+IFM_FAILURE
+;
+
+201 \12
+»t
+;
+
+202 
+»t
+ = 
+       `¹e_\91h_bÚd_ä\93
+(
+Çme
+);
+
+203 ià(
+»t
+ < 0) {
+
+204 
+       `RTE_LOG
+(
+ERR
+, 
+IFM
+, "%s: Failed\81o delete "
+
+205 "bÚd\85Ü\88%s\n\r", 
+__FUNCTION__
+, 
+Çme
+);
+
+206 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+207 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: Releasing WR\86ock @ %d\n\r",
+
+208 
+__FUNCTION__
+, 
+__LINE__
+);
+
+209 ià(
+USE_RTM_LOCKS
+) {
+
+210 
+       `¹m_uÆock
+();
+
+212 
+       `¹e_rwlock_wr\99e_uÆock
+(&
+rwlock
+);
+
+214 \15 
+IFM_FAILURE
+;
+
+216 ià(
+ifm_debug
+ & 
+IFM_DEBUG_CONFIG
+)
+
+217 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: Bond\85ort %s deleted successfully\n\r",
+
+218 
+__FUNCTION__
+, 
+Çme
+);
+
+220 ià(
+bÚd_pÜt
+ && bÚd_pÜt->
+bÚd_cÚfig
+ !ð
+NULL
+) {
+
+221 
+       `¹e_ä\93
+(
+bÚd_pÜt
+->
+bÚd_cÚfig
+);
+
+222 
+bÚd_pÜt
+->
+bÚd_cÚfig
+ = 
+NULL
+;
+
+224 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+225 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: Releasing WR\86ock @ %d\n\r",
+
+226 
+__FUNCTION__
+, 
+__LINE__
+);
+
+227 ià(
+USE_RTM_LOCKS
+)
+
+228 
+       `¹m_uÆock
+();
+
+230 
+       `¹e_rwlock_wr\99e_uÆock
+(&
+rwlock
+);
+
+231 
+       `ifm_»move_pÜt_d\91a\9es
+(
+bÚd_pÜt
+->
+pmdid
+);
+
+233 \15 
+IFM_SUCCESS
+;
+
+234 
+       }
+}
+
+236 \12
+       $ifm_add_¦ave_pÜt
+(
+u\9at8_t
+bÚded_pÜt_id
+, u\9at8_\88
+¦ave_pÜt_id
+)
+
+238 
+l2_phy_\9a\8brçû_t
+ *
+bÚd_pÜt
+, *
+¦ave_pÜt
+;
+
+239 
+bÚd_pÜt
+ = 
+       `ifm_g\91_pÜt
+(
+bÚded_pÜt_id
+);
+
+241 
+¦ave_pÜt
+ = 
+       `ifm_g\91_pÜt
+(
+¦ave_pÜt_id
+);
+
+243 ià(
+ifm_debug
+ & 
+IFM_DEBUG
+)
+
+244 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: i/p bond id %u, slave id %u\n\r",
+
+245 
+__FUNCTION__
+, 
+bÚded_pÜt_id
+, 
+¦ave_pÜt_id
+);
+
+246 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+247 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: Acquiring WR\86ock @ %d\n\r",
+
+248 
+__FUNCTION__
+, 
+__LINE__
+);
+
+249 ià(
+USE_RTM_LOCKS
+) {
+
+250 
+       `¹m_lock
+();
+
+252 
+       `¹e_rwlock_wr\99e_lock
+(&
+rwlock
+);
+
+254 ià(
+bÚd_pÜt
+ =ð
+NULL
+) {
+
+255 
+       `RTE_LOG
+(
+ERR
+, 
+IFM
+, "%s: Given bond\85ort %u is\82ot\87vailable in"
+
+256 "\85Ü\88li¡.\n\r", 
+__FUNCTION__
+, 
+bÚded_pÜt_id
+);
+
+257 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+258 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: Releasing WR\86ock @ %d\n\r",
+
+259 
+__FUNCTION__
+, 
+__LINE__
+);
+
+260 ià(
+USE_RTM_LOCKS
+) {
+
+261 
+       `¹m_uÆock
+();
+
+263 
+       `¹e_rwlock_wr\99e_uÆock
+(&
+rwlock
+);
+
+265 \15 
+IFM_FAILURE
+;
+
+267 ià(
+¦ave_pÜt
+ =ð
+NULL
+) {
+
+268 
+       `RTE_LOG
+(
+ERR
+, 
+IFM
+, "%s: Given slave\85ort %u is\82ot\87vailable in "
+
+269 "pÜ\88li¡.\n\r", 
+__FUNCTION__
+, 
+¦ave_pÜt_id
+);
+
+270 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+271 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: Releasing WR\86ock @ %d\n\r",
+
+272 
+__FUNCTION__
+, 
+__LINE__
+);
+
+273 ià(
+USE_RTM_LOCKS
+) {
+
+274 
+       `¹m_uÆock
+();
+
+276 
+       `¹e_rwlock_wr\99e_uÆock
+(&
+rwlock
+);
+
+278 \15 
+IFM_FAILURE
+;
+
+280 ià(
+bÚd_pÜt
+ && !(bÚd_pÜt->
+æags
+ & 
+IFM_MASTER
+)) {
+
+281 
+       `RTE_LOG
+(
+ERR
+, 
+IFM
+, "%s: Given bond\85ort %u is\82ot configured "
+
+282 "a Ma¡\94\85Üt. %u\n\r", 
+__FUNCTION__
+, 
+bÚded_pÜt_id
+,
+
+283 
+bÚd_pÜt
+->
+æags
+ & 
+IFM_MASTER
+);
+
+284 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+285 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: Releasing WR\86ock @ %d\n\r",
+
+286 
+__FUNCTION__
+, 
+__LINE__
+);
+
+287 ià(
+USE_RTM_LOCKS
+) {
+
+288 
+       `¹m_uÆock
+();
+
+290 
+       `¹e_rwlock_wr\99e_uÆock
+(&
+rwlock
+);
+
+292 \15 
+IFM_FAILURE
+;
+
+294 ià(
+bÚd_pÜt
+ && bÚd_pÜt->
+bÚd_cÚfig
+
+
+295 && 
+bÚd_pÜt
+->
+bÚd_cÚfig
+->
+¦ave_couÁ
+ =ð
+RTE_MAX_ETHPORTS
+) {
+
+296 
+       `RTE_LOG
+(
+ERR
+, 
+IFM
+,
+
+298 
+__FUNCTION__
+, 
+RTE_MAX_ETHPORTS
+);
+
+299 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+300 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: Releasing WR\86ock @ %d\n\r",
+
+301 
+__FUNCTION__
+, 
+__LINE__
+);
+
+302 ià(
+USE_RTM_LOCKS
+) {
+
+303 
+       `¹m_uÆock
+();
+
+305 
+       `¹e_rwlock_wr\99e_uÆock
+(&
+rwlock
+);
+
+307 \15 
+IFM_FAILURE
+;
+
+309 ià(
+¦ave_pÜt
+ && sÏve_pÜt->
+æags
+ & 
+IFM_SLAVE
+) {
+
+311 ià(
+¦ave_pÜt
+->
+bÚd_cÚfig
+ !ð
+NULL
+) {
+
+312 ià(
+bÚded_pÜt_id
+ !=
+
+313 
+¦ave_pÜt
+->
+bÚd_cÚfig
+->
+bÚd_pÜtid
+) {
+
+314 
+       `RTE_LOG
+(
+ERR
+, 
+IFM
+,
+
+317 
+__FUNCTION__
+, 
+¦ave_pÜt_id
+,
+
+318 
+¦ave_pÜt
+->
+bÚd_cÚfig
+->
+bÚd_pÜtid
+);
+
+319 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+320 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+,
+
+322 
+__FUNCTION__
+, 
+__LINE__
+);
+
+323 ià(
+USE_RTM_LOCKS
+) {
+
+324 
+       `¹m_uÆock
+();
+
+326 
+       `¹e_rwlock_wr\99e_uÆock
+(&
+rwlock
+);
+
+328 \15 
+IFM_FAILURE
+;
+
+330 ià(
+ifm_debug
+ & 
+IFM_DEBUG
+)
+
+331 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+,
+
+333 
+__FUNCTION__
+, 
+¦ave_pÜt_id
+,
+
+334 
+bÚded_pÜt_id
+);
+
+335 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+336 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+,
+
+338 
+__FUNCTION__
+, 
+__LINE__
+);
+
+339 ià(
+USE_RTM_LOCKS
+) {
+
+340 
+       `¹m_uÆock
+();
+
+342 
+       `¹e_rwlock_wr\99e_uÆock
+(&
+rwlock
+);
+
+344 \15 
+IFM_SUCCESS
+;
+
+348 ià(
+bÚd_pÜt
+->
+bÚd_cÚfig
+ && bÚd_pÜt->bÚd_cÚfig->
+¦ave_couÁ
+ &&
+
+349 
+bÚd_pÜt
+->
+l\9ak_¥\93d
+ !ð
+¦ave_pÜt
+->link_speed
+
+350 && 
+bÚd_pÜt
+->
+l\9ak_du¶ex
+ !ð
+¦ave_pÜt
+->link_duplex) {
+
+351 
+       `RTE_LOG
+(
+ERR
+, 
+IFM
+,
+
+353 
+__FUNCTION__
+);
+
+354 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+355 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: Releasing WR\86ock @ %d\n\r",
+
+356 
+__FUNCTION__
+, 
+__LINE__
+);
+
+357 ià(
+USE_RTM_LOCKS
+) {
+
+358 
+       `¹m_uÆock
+();
+
+360 
+       `¹e_rwlock_wr\99e_uÆock
+(&
+rwlock
+);
+
+362 \15 
+IFM_FAILURE
+;
+
+364 ià(
+ifm_debug
+ & 
+IFM_DEBUG
+)
+
+365 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: Slave\85ort %u Master\85ort %u\n\r",
+
+366 
+__FUNCTION__
+, 
+¦ave_pÜt_id
+, 
+bÚded_pÜt_id
+);
+
+367 \12
+»t
+;
+
+368 
+»t
+ = 
+       `¹e_\91h_bÚd_¦ave_add
+(
+bÚd_pÜt
+->
+pmdid
+, 
+¦ave_pÜt
+->pmdid);
+
+369 ià(
+»t
+ < 0) {
+
+370 
+       `RTE_LOG
+(
+ERR
+, 
+IFM
+, "%s: Failed\81o\87dd slave\85ort %u\81o bond "
+
+371 "p܈%u.\n\r", 
+__FUNCTION__
+, 
+¦ave_pÜt
+->
+pmdid
+,
+
+372 
+bÚd_pÜt
+->
+pmdid
+);
+
+373 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+374 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: Releasing WR\86ock @ %d\n\r",
+
+375 
+__FUNCTION__
+, 
+__LINE__
+);
+
+376 ià(
+USE_RTM_LOCKS
+) {
+
+377 
+       `¹m_uÆock
+();
+
+379 
+       `¹e_rwlock_wr\99e_uÆock
+(&
+rwlock
+);
+
+381 \15 
+IFM_FAILURE
+;
+
+383 
+¦ave_pÜt
+->
+æags
+ |ð
+IFM_SLAVE
+;
+
+385 ià(
+bÚd_pÜt
+->
+bÚd_cÚfig
+) {
+
+386 
+bÚd_pÜt
+->
+bÚd_cÚfig
+->
+xm\99_pÞicy
+ =
+
+387 
+       `¹e_\91h_bÚd_xm\99_pÞicy_g\91
+(
+bÚd_pÜt
+->
+pmdid
+);
+
+388 
+bÚd_pÜt
+->
+bÚd_cÚfig
+->
+\9a\8bº®_ms
+ =
+
+389 
+       `¹e_\91h_bÚd_l\9ak_mÚ\99Ü\9ag_g\91
+(
+bÚd_pÜt
+->
+pmdid
+);
+
+390 
+bÚd_pÜt
+->
+bÚd_cÚfig
+->
+l\9ak_up_d\96ay_ms
+ =
+
+391 
+       `¹e_\91h_bÚd_l\9ak_up_´Ý_d\96ay_g\91
+(
+bÚd_pÜt
+->
+pmdid
+);
+
+392 
+bÚd_pÜt
+->
+bÚd_cÚfig
+->
+l\9ak_down_d\96ay_ms
+ =
+
+393 
+       `¹e_\91h_bÚd_l\9ak_down_´Ý_d\96ay_g\91
+(
+bÚd_pÜt
+->
+pmdid
+);
+
+394 
+bÚd_pÜt
+->
+bÚd_cÚfig
+->
+´im¬y
+ =
+
+395 
+       `¹e_\91h_bÚd_´im¬y_g\91
+(
+bÚd_pÜt
+->
+pmdid
+);
+
+396 
+bÚd_pÜt
+->
+bÚd_cÚfig
+->
+¦ave_couÁ
+ =
+
+397 
+       `¹e_\91h_bÚd_¦aves_g\91
+(
+bÚd_pÜt
+->
+pmdid
+,
+
+398 
+bÚd_pÜt
+->
+bÚd_cÚfig
+->
+¦aves
+,
+
+399 
+RTE_MAX_ETHPORTS
+);
+
+400 
+bÚd_pÜt
+->
+bÚd_cÚfig
+->
+aùive_¦ave_couÁ
+ =
+
+401 
+       `¹e_\91h_bÚd_aùive_¦aves_g\91
+(
+bÚd_pÜt
+->
+pmdid
+,
+
+402 
+bÚd_pÜt
+->
+bÚd_cÚfig
+->
+
+403 
+aùive_¦aves
+,
+
+404 
+RTE_MAX_ETHPORTS
+);
+
+405 
+¦ave_pÜt
+->
+bÚd_cÚfig
+ = 
+bÚd_pÜt
+->bond_config;
+
+406 ià(
+ifm_debug
+ & 
+IFM_DEBUG
+)
+
+407 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: Slave count is %u\n\r",
+
+408 
+__FUNCTION__
+,
+
+409 
+bÚd_pÜt
+->
+bÚd_cÚfig
+->
+¦ave_couÁ
+);
+
+410 ià(
+bÚd_pÜt
+->
+bÚd_cÚfig
+->
+¦ave_couÁ
+ == 1) {
+
+411 
+»t
+ =
+
+412 
+       `ifm_pÜt_£tup
+(
+bÚd_pÜt
+->
+pmdid
+,
+
+413 &(
+bÚd_pÜt
+->
+pÜt_cÚfig
+));
+
+414 ià(
+»t
+ < 0) {
+
+415 
+       `RTE_LOG
+(
+ERR
+, 
+IFM
+,
+
+417 
+__FUNCTION__
+, 
+bÚd_pÜt
+->
+pmdid
+);
+
+418 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+419 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+,
+
+421 
+__FUNCTION__
+, 
+__LINE__
+);
+
+422 ià(
+USE_RTM_LOCKS
+) {
+
+423 
+       `¹m_uÆock
+();
+
+425 
+       `¹e_rwlock_wr\99e_uÆock
+(&
+rwlock
+);
+
+427 \15 
+IFM_FAILURE
+;
+
+430 ià(
+ifm_debug
+ & 
+IFM_DEBUG
+)
+
+431 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: Skipping"
+
+432 "\85Ü\88£tup\n\r", 
+__FUNCTION__
+);
+
+435 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+436 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: Releasing WR\86ock @ %d\n\r",
+
+437 
+__FUNCTION__
+, 
+__LINE__
+);
+
+438 ià(
+USE_RTM_LOCKS
+) {
+
+439 
+       `¹m_uÆock
+();
+
+441 
+       `¹e_rwlock_wr\99e_uÆock
+(&
+rwlock
+);
+
+443 \15 
+IFM_SUCCESS
+;
+
+444 
+       }
+}
+
+446 \12
+       $ifm_»move_¦ave_pÜt
+(
+u\9at8_t
+bÚded_pÜt_id
+, u\9at8_\88
+¦ave_pÜt_id
+)
+
+448 
+l2_phy_\9a\8brçû_t
+ *
+bÚd_pÜt
+, *
+¦ave_pÜt
+;
+
+450 
+bÚd_pÜt
+ = 
+       `ifm_g\91_pÜt
+(
+bÚded_pÜt_id
+);
+
+452 
+¦ave_pÜt
+ = 
+       `ifm_g\91_pÜt
+(
+¦ave_pÜt_id
+);
+
+455 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+456 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: Acquiring WR\86ock @ %d\n\r",
+
+457 
+__FUNCTION__
+, 
+__LINE__
+);
+
+458 ià(
+USE_RTM_LOCKS
+) {
+
+459 
+       `¹m_lock
+();
+
+461 
+       `¹e_rwlock_wr\99e_lock
+(&
+rwlock
+);
+
+463 ià(
+bÚd_pÜt
+ =ð
+NULL
+) {
+
+464 
+       `RTE_LOG
+(
+ERR
+, 
+IFM
+, "%s: Given bond\85ort %u is\82ot\87vailable "
+
+465 "\9a\85Ü\88li¡.\n\r", 
+__FUNCTION__
+, 
+bÚded_pÜt_id
+);
+
+466 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+467 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: Releasing WR\86ock @ %d\n\r",
+
+468 
+__FUNCTION__
+, 
+__LINE__
+);
+
+469 ià(
+USE_RTM_LOCKS
+)
+
+470 
+       `¹m_uÆock
+();
+
+472 
+       `¹e_rwlock_wr\99e_uÆock
+(&
+rwlock
+);
+
+473 \15 
+IFM_FAILURE
+;
+
+475 ià(
+¦ave_pÜt
+ =ð
+NULL
+) {
+
+476 
+       `RTE_LOG
+(
+ERR
+, 
+IFM
+, "%s: Given slave\85ort %u is\82ot\87vailable "
+
+477 "\9a\85Ü\88li¡.\n\r", 
+__FUNCTION__
+, 
+¦ave_pÜt_id
+);
+
+478 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+479 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: Releasing WR\86ock @ %d\n\r",
+
+480 
+__FUNCTION__
+, 
+__LINE__
+);
+
+481 ià(
+USE_RTM_LOCKS
+)
+
+482 
+       `¹m_uÆock
+();
+
+484 
+       `¹e_rwlock_wr\99e_uÆock
+(&
+rwlock
+);
+
+485 \15 
+IFM_FAILURE
+;
+
+487 ià(
+bÚd_pÜt
+ && !(bÚd_pÜt->
+æags
+ & 
+IFM_MASTER
+)) {
+
+488 
+       `RTE_LOG
+(
+ERR
+, 
+IFM
+, "%s: Given bond\85ort %u is\82ot configured "
+
+489 "a Ma¡\94\85Üt.\n\r", 
+__FUNCTION__
+, 
+bÚded_pÜt_id
+);
+
+490 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+491 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: Releasing WR\86ock @ %d\n\r",
+
+492 
+__FUNCTION__
+, 
+__LINE__
+);
+
+493 ià(
+USE_RTM_LOCKS
+)
+
+494 
+       `¹m_uÆock
+();
+
+496 
+       `¹e_rwlock_wr\99e_uÆock
+(&
+rwlock
+);
+
+497 \15 
+IFM_FAILURE
+;
+
+499 ià(
+¦ave_pÜt
+ && !(¦ave_pÜt->
+æags
+ & 
+IFM_SLAVE
+)) {
+
+500 
+       `RTE_LOG
+(
+ERR
+, 
+IFM
+, "%s: Given slave\85ort %u is\82ot configured"
+
+501 "\87 ¦av\90pÜt.\n\r", 
+__FUNCTION__
+, 
+¦ave_pÜt_id
+);
+
+502 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+503 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: Releasing WR\86ock @ %d\n\r",
+
+504 
+__FUNCTION__
+, 
+__LINE__
+);
+
+505 ià(
+USE_RTM_LOCKS
+)
+
+506 
+       `¹m_uÆock
+();
+
+508 
+       `¹e_rwlock_wr\99e_uÆock
+(&
+rwlock
+);
+
+509 \15 
+IFM_FAILURE
+;
+
+511 \12
+i
+;
+
+512 \12
+found
+ = 0;
+
+513 \ f
+i
+ = 0; i < 
+bÚd_pÜt
+->
+bÚd_cÚfig
+->
+¦ave_couÁ
+; i++) {
+
+514 ià(
+¦ave_pÜt_id
+ =ð
+bÚd_pÜt
+->
+bÚd_cÚfig
+->
+¦aves
+[
+i
+]) {
+
+515 
+found
+ = 1;
+
+519 ià(!
+found
+) {
+
+520 
+       `RTE_LOG
+(
+ERR
+, 
+IFM
+, "%s: Given slave\85ort %u is\82ot binded "
+
+521 "w\99h bÚd\85Ü\88%u\n\r", 
+__FUNCTION__
+, 
+¦ave_pÜt_id
+,
+
+522 
+bÚded_pÜt_id
+);
+
+523 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+524 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: Releasing WR\86ock @ %d\n\r",
+
+525 
+__FUNCTION__
+, 
+__LINE__
+);
+
+526 ià(
+USE_RTM_LOCKS
+)
+
+527 
+       `¹m_uÆock
+();
+
+529 
+       `¹e_rwlock_wr\99e_uÆock
+(&
+rwlock
+);
+
+530 \15 
+IFM_FAILURE
+;
+
+532 ià(
+       `¹e_\91h_bÚd_¦ave_»move
+(
+bÚded_pÜt_id
+, 
+¦ave_pÜt_id
+) < 0) {
+
+533 
+       `RTE_LOG
+(
+ERR
+, 
+IFM
+, "%s: Failed\81o unbind slave\85ort %u"
+
+534 " from bÚd\85Ü\88%u\n\r", 
+__FUNCTION__
+, 
+¦ave_pÜt_id
+,
+
+535 
+bÚded_pÜt_id
+);
+
+536 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+537 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: Releasing WR\86ock @ %d\n\r",
+
+538 
+__FUNCTION__
+, 
+__LINE__
+);
+
+539 ià(
+USE_RTM_LOCKS
+)
+
+540 
+       `¹m_uÆock
+();
+
+542 
+       `¹e_rwlock_wr\99e_uÆock
+(&
+rwlock
+);
+
+543 \15 
+IFM_FAILURE
+;
+
+545 
+¦ave_pÜt
+->
+æags
+ &ð~
+IFM_SLAVE
+;
+
+546 
+¦ave_pÜt
+->
+bÚd_cÚfig
+ = 
+NULL
+;
+
+547 
+bÚd_pÜt
+->
+bÚd_cÚfig
+->
+´im¬y
+ =
+
+548 
+       `¹e_\91h_bÚd_´im¬y_g\91
+(
+bÚd_pÜt
+->
+pmdid
+);
+
+549 
+bÚd_pÜt
+->
+bÚd_cÚfig
+->
+¦ave_couÁ
+ =
+
+550 
+       `¹e_\91h_bÚd_¦aves_g\91
+(
+bÚd_pÜt
+->
+pmdid
+,
+
+551 
+bÚd_pÜt
+->
+bÚd_cÚfig
+->
+¦aves
+,
+
+552 
+RTE_MAX_ETHPORTS
+);
+
+553 
+bÚd_pÜt
+->
+bÚd_cÚfig
+->
+aùive_¦ave_couÁ
+ =
+
+554 
+       `¹e_\91h_bÚd_aùive_¦aves_g\91
+(
+bÚd_pÜt
+->
+pmdid
+,
+
+555 
+bÚd_pÜt
+->
+bÚd_cÚfig
+->
+
+556 
+aùive_¦aves
+, 
+RTE_MAX_ETHPORTS
+);
+
+558 ià(
+ifm_debug
+ & 
+IFM_DEBUG
+)
+
+559 
+       `RTE_LOG
+(
+ERR
+, 
+IFM
+, "%s: Unbinded slave\85ort %u from\81he bond "
+
+560 "p܈%u %d\n\r", 
+__FUNCTION__
+, 
+¦ave_pÜt_id
+,
+
+561 
+bÚded_pÜt_id
+,
+
+562 
+       `¹e_\91h_bÚd_´im¬y_g\91
+(
+bÚd_pÜt
+->
+pmdid
+));
+
+563 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+564 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: Releasing WR\86ock @ %d\n\r",
+
+565 
+__FUNCTION__
+, 
+__LINE__
+);
+
+566 ià(
+USE_RTM_LOCKS
+)
+
+567 
+       `¹m_uÆock
+();
+
+569 
+       `¹e_rwlock_wr\99e_uÆock
+(&
+rwlock
+);
+
+570 \15 
+IFM_SUCCESS
+;
+
+571 
+       }
+}
+
+573 \12
+       $£t_bÚd_mode
+(
+u\9at8_t
+bÚded_pÜt_id
+, u\9at8_\88
+mode
+)
+
+575 
+l2_phy_\9a\8brçû_t
+ *
+bÚd_pÜt
+;
+
+576 
+bÚd_pÜt
+ = 
+       `ifm_g\91_pÜt
+(
+bÚded_pÜt_id
+);
+
+579 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+580 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: Acquiring WR\86ock @ %d\n\r",
+
+581 
+__FUNCTION__
+, 
+__LINE__
+);
+
+582 ià(
+USE_RTM_LOCKS
+)
+
+583 
+       `¹m_lock
+();
+
+585 
+       `¹e_rwlock_wr\99e_lock
+(&
+rwlock
+);
+
+586 if(
+bÚd_pÜt
+)
+
+587 
+       `ifm_»move_pÜt_d\91a\9es
+(
+bÚd_pÜt
+->
+pmdid
+);
+
+588 ià(
+bÚd_pÜt
+ =ð
+NULL
+) {
+
+589 
+       `RTE_LOG
+(
+ERR
+, 
+IFM
+, "%s: Given bond\85ort %u is\82ot\87vailable in"
+
+590 "\85Ü\88li¡.\n\r", 
+__FUNCTION__
+, 
+bÚded_pÜt_id
+);
+
+591 \15 
+IFM_FAILURE
+;
+
+593 ià(
+bÚd_pÜt
+ && bÚd_pÜt->
+bÚd_cÚfig
+->
+mode
+ == mode) {
+
+594 ià(
+ifm_debug
+ & 
+IFM_DEBUG
+)
+
+595 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+,
+
+597 " mod\90%u\n\r.", 
+__FUNCTION__
+, 
+mode
+);
+
+598 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+599 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: Releasing WR\86ock @ %d\n\r",
+
+600 
+__FUNCTION__
+, 
+__LINE__
+);
+
+601 ià(
+USE_RTM_LOCKS
+)
+
+602 
+       `¹m_uÆock
+();
+
+604 
+       `¹e_rwlock_wr\99e_uÆock
+(&
+rwlock
+);
+
+605 
+       `ifm_»move_pÜt_d\91a\9es
+(
+bÚd_pÜt
+->
+pmdid
+);
+
+606 \15 
+IFM_SUCCESS
+;
+
+609 ià(
+       `¹e_\91h_bÚd_mode_£t
+(
+bÚd_pÜt
+->
+pmdid
+, 
+mode
+) < 0) {
+
+610 
+       `RTE_LOG
+(
+ERR
+, 
+IFM
+,
+
+612 
+__FUNCTION__
+, 
+mode
+, 
+bÚd_pÜt
+->
+pmdid
+);
+
+613 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+614 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: Releasing WR\86ock @ %d\n\r",
+
+615 
+__FUNCTION__
+, 
+__LINE__
+);
+
+616 ià(
+USE_RTM_LOCKS
+)
+
+617 
+       `¹m_uÆock
+();
+
+619 
+       `¹e_rwlock_wr\99e_uÆock
+(&
+rwlock
+);
+
+620 
+       `ifm_»move_pÜt_d\91a\9es
+(
+bÚd_pÜt
+->
+pmdid
+);
+
+621 \15 
+IFM_FAILURE
+;
+
+624 
+bÚd_pÜt
+->
+bÚd_cÚfig
+->
+mode
+ = 
+       `¹e_\91h_bÚd_mode_g\91
+(bÚd_pÜt->
+pmdid
+);
+
+626 
+bÚd_pÜt
+->
+bÚd_cÚfig
+->
+xm\99_pÞicy
+ =
+
+627 
+       `¹e_\91h_bÚd_xm\99_pÞicy_g\91
+(
+bÚd_pÜt
+->
+pmdid
+);
+
+628 ià(
+ifm_debug
+ & 
+IFM_DEBUG
+)
+
+629 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+,
+
+631 "\n\r.", 
+__FUNCTION__
+, 
+bÚd_pÜt
+->
+pmdid
+,
+
+632 
+bÚd_pÜt
+->
+bÚd_cÚfig
+->
+mode
+,
+
+633 
+bÚd_pÜt
+->
+bÚd_cÚfig
+->
+xm\99_pÞicy
+);
+
+634 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+635 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: Releasing WR\86ock @ %d\n\r",
+
+636 
+__FUNCTION__
+, 
+__LINE__
+);
+
+637 ià(
+USE_RTM_LOCKS
+)
+
+638 
+       `¹m_uÆock
+();
+
+640 
+       `¹e_rwlock_wr\99e_uÆock
+(&
+rwlock
+);
+
+641 
+       `ifm_»move_pÜt_d\91a\9es
+(
+bÚd_pÜt
+->
+pmdid
+);
+
+642 \15 
+IFM_SUCCESS
+;
+
+643 
+       }
+}
+
+645 \12
+       $g\91_bÚd_mode
+(
+u\9at8_t
+bÚded_pÜt_id
+)
+
+647 
+l2_phy_\9a\8brçû_t
+ *
+bÚd_pÜt
+;
+
+648 
+bÚd_pÜt
+ = 
+       `ifm_g\91_pÜt
+(
+bÚded_pÜt_id
+);
+
+651 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+652 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: Acquiring RD\86ock @ %d\n\r",
+
+653 
+__FUNCTION__
+, 
+__LINE__
+);
+
+654 ià(
+USE_RTM_LOCKS
+) {
+
+655 
+       `¹m_lock
+();
+
+657 
+       `¹e_rwlock_»ad_lock
+(&
+rwlock
+);
+
+659 ià(
+bÚd_pÜt
+ =ð
+NULL
+) {
+
+660 
+       `RTE_LOG
+(
+ERR
+, 
+IFM
+, "%s: Given bond\85ort %u is\82ot\87vailable in"
+
+661 "\85Ü\88li¡.\n\r", 
+__FUNCTION__
+, 
+bÚded_pÜt_id
+);
+
+662 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+663 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: Releasing RD\86ock @ %d\n\r",
+
+664 
+__FUNCTION__
+, 
+__LINE__
+);
+
+665 ià(
+USE_RTM_LOCKS
+) {
+
+666 
+       `¹m_uÆock
+();
+
+668 
+       `¹e_rwlock_»ad_uÆock
+(&
+rwlock
+);
+
+670 \15 
+IFM_FAILURE
+;
+
+672 
+u\9at8_t
+mode
+ = 
+bÚd_pÜt
+->
+bÚd_cÚfig
+->mode;
+
+673 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+674 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: Releasing RD\86ock @ %d\n\r",
+
+675 
+__FUNCTION__
+, 
+__LINE__
+);
+
+676 ià(
+USE_RTM_LOCKS
+) {
+
+677 
+       `¹m_uÆock
+();
+
+679 
+       `¹e_rwlock_»ad_uÆock
+(&
+rwlock
+);
+
+681 \15 
+mode
+;
+
+682 
+       }
+}
+
+684 \12
+       $£t_bÚd_´im¬y
+(
+u\9at8_t
+bÚded_pÜt_id
+, u\9at8_\88
+¦ave_pÜt_id
+)
+
+686 
+l2_phy_\9a\8brçû_t
+ *
+bÚd_pÜt
+;
+
+687 
+l2_phy_\9a\8brçû_t
+ *
+¦ave_pÜt
+;
+
+688 
+bÚd_pÜt
+ = 
+       `ifm_g\91_pÜt
+(
+bÚded_pÜt_id
+);
+
+690 
+¦ave_pÜt
+ = 
+       `ifm_g\91_pÜt
+(
+¦ave_pÜt_id
+);
+
+693 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+694 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: Acquiring WR\86ock @ %d\n\r",
+
+695 
+__FUNCTION__
+, 
+__LINE__
+);
+
+696 ià(
+USE_RTM_LOCKS
+)
+
+697 
+       `¹m_lock
+();
+
+699 
+       `¹e_rwlock_wr\99e_lock
+(&
+rwlock
+);
+
+700 ià(
+bÚd_pÜt
+ =ð
+NULL
+) {
+
+701 
+       `RTE_LOG
+(
+ERR
+, 
+IFM
+, "%s: Given bond\85ort %u is\82ot\87vailable in"
+
+702 "\85Ü\88li¡.\n\r", 
+__FUNCTION__
+, 
+bÚded_pÜt_id
+);
+
+703 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+704 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: Releasing WR\86ock @ %d\n\r",
+
+705 
+__FUNCTION__
+, 
+__LINE__
+);
+
+706 ià(
+USE_RTM_LOCKS
+)
+
+707 
+       `¹m_uÆock
+();
+
+709 
+       `¹e_rwlock_wr\99e_uÆock
+(&
+rwlock
+);
+
+710 \15 
+IFM_FAILURE
+;
+
+712 ià(
+¦ave_pÜt
+ =ð
+NULL
+) {
+
+713 
+       `RTE_LOG
+(
+ERR
+, 
+IFM
+, "%s: Given slave\85ort %u is\82ot\87vailable in"
+
+714 "\85Ü\88li¡.\n\r", 
+__FUNCTION__
+, 
+bÚded_pÜt_id
+);
+
+715 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+716 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: Releasing WR\86ock @ %d\n\r",
+
+717 
+__FUNCTION__
+, 
+__LINE__
+);
+
+718 ià(
+USE_RTM_LOCKS
+)
+
+719 
+       `¹m_uÆock
+();
+
+721 
+       `¹e_rwlock_wr\99e_uÆock
+(&
+rwlock
+);
+
+722 \15 
+IFM_FAILURE
+;
+
+724 \12
+i
+;
+
+725 \12
+found
+ = 0;
+
+726 \ f
+i
+ = 0; i < 
+bÚd_pÜt
+->
+bÚd_cÚfig
+->
+¦ave_couÁ
+; i++) {
+
+727 ià(
+¦ave_pÜt_id
+ =ð
+bÚd_pÜt
+->
+bÚd_cÚfig
+->
+¦aves
+[
+i
+]) {
+
+728 
+found
+ = 1;
+
+732 ià(!
+found
+) {
+
+733 
+       `RTE_LOG
+(
+ERR
+, 
+IFM
+, "%s: Slave\85ort %u is\82ot binded "
+
+735 
+__FUNCTION__
+, 
+¦ave_pÜt_id
+, 
+bÚded_pÜt_id
+);
+
+736 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+737 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: Releasing WR\86ock @ %d\n\r",
+
+738 
+__FUNCTION__
+, 
+__LINE__
+);
+
+739 ià(
+USE_RTM_LOCKS
+)
+
+740 
+       `¹m_uÆock
+();
+
+742 
+       `¹e_rwlock_wr\99e_uÆock
+(&
+rwlock
+);
+
+743 \15 
+IFM_FAILURE
+;
+
+746 ià(
+bÚd_pÜt
+->
+bÚd_cÚfig
+->
+´im¬y
+ =ð
+¦ave_pÜt_id
+) {
+
+747 ià(
+ifm_debug
+ & 
+IFM_DEBUG
+)
+
+748 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+,
+
+750 "%u\n\r.", 
+__FUNCTION__
+, 
+bÚded_pÜt_id
+,
+
+751 
+¦ave_pÜt_id
+);
+
+752 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+753 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: Releasing WR\86ock @ %d\n\r",
+
+754 
+__FUNCTION__
+, 
+__LINE__
+);
+
+755 ià(
+USE_RTM_LOCKS
+)
+
+756 
+       `¹m_uÆock
+();
+
+758 
+       `¹e_rwlock_wr\99e_uÆock
+(&
+rwlock
+);
+
+759 \15 
+IFM_SUCCESS
+;
+
+762 ià(
+       `¹e_\91h_bÚd_´im¬y_£t
+(
+bÚd_pÜt
+->
+pmdid
+, 
+¦ave_pÜt
+->pmdid) < 0) {
+
+763 
+       `RTE_LOG
+(
+ERR
+, 
+IFM
+,
+
+765 
+__FUNCTION__
+, 
+¦ave_pÜt
+->
+pmdid
+, 
+bÚd_pÜt
+->pmdid);
+
+766 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+767 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: Releasing WR\86ock @ %d\n\r",
+
+768 
+__FUNCTION__
+, 
+__LINE__
+);
+
+769 ià(
+USE_RTM_LOCKS
+)
+
+770 
+       `¹m_uÆock
+();
+
+772 
+       `¹e_rwlock_wr\99e_uÆock
+(&
+rwlock
+);
+
+773 \15 
+IFM_FAILURE
+;
+
+776 
+bÚd_pÜt
+->
+bÚd_cÚfig
+->
+´im¬y
+ =
+
+777 
+       `¹e_\91h_bÚd_´im¬y_g\91
+(
+bÚd_pÜt
+->
+pmdid
+);
+
+778 ià(
+ifm_debug
+ & 
+IFM_DEBUG
+)
+
+779 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+,
+
+781 
+__FUNCTION__
+, 
+bÚd_pÜt
+->
+bÚd_cÚfig
+->
+´im¬y
+,
+
+782 
+bÚd_pÜt
+->
+pmdid
+);
+
+783 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+784 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: Releasing WR\86ock @ %d\n\r",
+
+785 
+__FUNCTION__
+, 
+__LINE__
+);
+
+786 ià(
+USE_RTM_LOCKS
+)
+
+787 
+       `¹m_uÆock
+();
+
+789 
+       `¹e_rwlock_wr\99e_uÆock
+(&
+rwlock
+);
+
+790 \15 
+IFM_SUCCESS
+;
+
+791 
+       }
+}
+
+793 \12
+       $g\91_bÚd_´im¬y_pÜt
+(
+u\9at8_t
+bÚded_pÜt_id
+)
+
+795 
+l2_phy_\9a\8brçû_t
+ *
+bÚd_pÜt
+;
+
+796 
+bÚd_pÜt
+ = 
+       `ifm_g\91_pÜt
+(
+bÚded_pÜt_id
+);
+
+799 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+800 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: Acquiring RD\86ock @ %d\n\r",
+
+801 
+__FUNCTION__
+, 
+__LINE__
+);
+
+802 ià(
+USE_RTM_LOCKS
+) {
+
+803 
+       `¹m_lock
+();
+
+805 
+       `¹e_rwlock_»ad_lock
+(&
+rwlock
+);
+
+807 ià(
+bÚd_pÜt
+ =ð
+NULL
+) {
+
+808 
+       `RTE_LOG
+(
+ERR
+, 
+IFM
+, "%s: Given bond\85ort %u is\82ot\87vailable in"
+
+809 "\85Ü\88li¡.\n\r", 
+__FUNCTION__
+, 
+bÚded_pÜt_id
+);
+
+810 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+811 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: Releasing RD\86ock @ %d\n\r",
+
+812 
+__FUNCTION__
+, 
+__LINE__
+);
+
+813 ià(
+USE_RTM_LOCKS
+) {
+
+814 
+       `¹m_uÆock
+();
+
+816 
+       `¹e_rwlock_»ad_uÆock
+(&
+rwlock
+);
+
+818 \15 
+IFM_FAILURE
+;
+
+820 
+u\9at8_t
+´im¬y
+ = 
+bÚd_pÜt
+->
+bÚd_cÚfig
+->primary;
+
+821 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+822 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: Releasing RD\86ock @ %d\n\r",
+
+823 
+__FUNCTION__
+, 
+__LINE__
+);
+
+824 ià(
+USE_RTM_LOCKS
+) {
+
+825 
+       `¹m_uÆock
+();
+
+827 
+       `¹e_rwlock_»ad_uÆock
+(&
+rwlock
+);
+
+829 \15 
+´im¬y
+;
+
+830 
+       }
+}
+
+832 \12
+       $g\91_bÚd_¦ave_couÁ
+(
+u\9at8_t
+bÚded_pÜt_id
+)
+
+834 
+l2_phy_\9a\8brçû_t
+ *
+bÚd_pÜt
+;
+
+835 
+bÚd_pÜt
+ = 
+       `ifm_g\91_pÜt
+(
+bÚded_pÜt_id
+);
+
+838 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+839 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: Acquiring RD\86ock @ %d\n\r",
+
+840 
+__FUNCTION__
+, 
+__LINE__
+);
+
+841 ià(
+USE_RTM_LOCKS
+) {
+
+842 
+       `¹m_lock
+();
+
+844 
+       `¹e_rwlock_»ad_lock
+(&
+rwlock
+);
+
+846 ià(
+bÚd_pÜt
+ =ð
+NULL
+) {
+
+847 
+       `RTE_LOG
+(
+ERR
+, 
+IFM
+, "%s: Given bond\85ort %u is\82ot\87vailable in"
+
+848 "\85Ü\88li¡.\n\r", 
+__FUNCTION__
+, 
+bÚded_pÜt_id
+);
+
+849 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+850 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: Releasing RD\86ock @ %d\n\r",
+
+851 
+__FUNCTION__
+, 
+__LINE__
+);
+
+852 ià(
+USE_RTM_LOCKS
+) {
+
+853 
+       `¹m_uÆock
+();
+
+855 
+       `¹e_rwlock_»ad_uÆock
+(&
+rwlock
+);
+
+857 \15 
+IFM_FAILURE
+;
+
+859 
+u\9at32_t
+¦ave_couÁ
+ = 
+bÚd_pÜt
+->
+bÚd_cÚfig
+->slave_count;
+
+860 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+861 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: Releasing RD\86ock @ %d\n\r",
+
+862 
+__FUNCTION__
+, 
+__LINE__
+);
+
+863 ià(
+USE_RTM_LOCKS
+) {
+
+864 
+       `¹m_uÆock
+();
+
+866 
+       `¹e_rwlock_»ad_uÆock
+(&
+rwlock
+);
+
+868 \15 
+¦ave_couÁ
+;
+
+869 
+       }
+}
+
+871 \12
+       $g\91_bÚd_aùive_¦ave_couÁ
+(
+u\9at8_t
+bÚded_pÜt_id
+)
+
+873 
+l2_phy_\9a\8brçû_t
+ *
+bÚd_pÜt
+;
+
+874 
+bÚd_pÜt
+ = 
+       `ifm_g\91_pÜt
+(
+bÚded_pÜt_id
+);
+
+877 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+878 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: Acquiring RD\86ock @ %d\n\r",
+
+879 
+__FUNCTION__
+, 
+__LINE__
+);
+
+880 ià(
+USE_RTM_LOCKS
+) {
+
+881 
+       `¹m_lock
+();
+
+883 
+       `¹e_rwlock_»ad_lock
+(&
+rwlock
+);
+
+885 ià(
+bÚd_pÜt
+ =ð
+NULL
+) {
+
+886 
+       `RTE_LOG
+(
+ERR
+, 
+IFM
+, "%s: Given bond\85ort %u is\82ot\87vailable in"
+
+887 "\85Ü\88li¡.\n\r", 
+__FUNCTION__
+, 
+bÚded_pÜt_id
+);
+
+888 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+889 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: Releasing RD\86ock @ %d\n\r",
+
+890 
+__FUNCTION__
+, 
+__LINE__
+);
+
+891 ià(
+USE_RTM_LOCKS
+) {
+
+892 
+       `¹m_uÆock
+();
+
+894 
+       `¹e_rwlock_»ad_uÆock
+(&
+rwlock
+);
+
+896 \15 
+IFM_FAILURE
+;
+
+898 
+u\9at32_t
+¦ave_couÁ
+ = 
+bÚd_pÜt
+->
+bÚd_cÚfig
+->
+aùive_¦ave_couÁ
+;
+
+899 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+900 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: Releasing RD\86ock @ %d\n\r",
+
+901 
+__FUNCTION__
+, 
+__LINE__
+);
+
+902 ià(
+USE_RTM_LOCKS
+) {
+
+903 
+       `¹m_uÆock
+();
+
+905 
+       `¹e_rwlock_»ad_uÆock
+(&
+rwlock
+);
+
+907 \15 
+¦ave_couÁ
+;
+
+908 
+       }
+}
+
+910 \12
+       $g\91_bÚd_¦aves
+(
+u\9at8_t
+bÚded_pÜt_id
+, u\9at8_\88
+¦aves
+[
+RTE_MAX_ETHPORTS
+])
+
+912 
+l2_phy_\9a\8brçû_t
+ *
+bÚd_pÜt
+;
+
+913 
+bÚd_pÜt
+ = 
+       `ifm_g\91_pÜt
+(
+bÚded_pÜt_id
+);
+
+916 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+917 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: Acquiring RD\86ock @ %d\n\r",
+
+918 
+__FUNCTION__
+, 
+__LINE__
+);
+
+919 ià(
+USE_RTM_LOCKS
+) {
+
+920 
+       `¹m_lock
+();
+
+922 
+       `¹e_rwlock_»ad_lock
+(&
+rwlock
+);
+
+924 ià(
+bÚd_pÜt
+ =ð
+NULL
+) {
+
+925 
+       `RTE_LOG
+(
+ERR
+, 
+IFM
+, "%s: Given bond\85ort %u is\82ot\87vailable in"
+
+926 "\85Ü\88li¡.\n\r", 
+__FUNCTION__
+, 
+bÚded_pÜt_id
+);
+
+927 \15 
+IFM_FAILURE
+;
+
+929 
+       `memýy
+(
+¦aves
+, 
+bÚd_pÜt
+->
+bÚd_cÚfig
+->slaves,
+
+930 
+bÚd_pÜt
+->
+bÚd_cÚfig
+->
+¦ave_couÁ
+);
+
+931 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+932 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: Releasing RD\86ock @ %d\n\r",
+
+933 
+__FUNCTION__
+, 
+__LINE__
+);
+
+934 ià(
+USE_RTM_LOCKS
+) {
+
+935 
+       `¹m_uÆock
+();
+
+937 
+       `¹e_rwlock_»ad_uÆock
+(&
+rwlock
+);
+
+939 \15 
+IFM_SUCCESS
+;
+
+940 
+       }
+}
+
+942 \12
+       $g\91_bÚd_aùive_¦aves
+(
+u\9at8_t
+bÚded_pÜt_id
+,
+
+943 
+u\9at8_t
+aùive_¦aves
+[
+RTE_MAX_ETHPORTS
+])
+
+945 
+l2_phy_\9a\8brçû_t
+ *
+bÚd_pÜt
+;
+
+946 
+bÚd_pÜt
+ = 
+       `ifm_g\91_pÜt
+(
+bÚded_pÜt_id
+);
+
+949 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+950 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: Acquiring RD\86ock @ %d\n\r",
+
+951 
+__FUNCTION__
+, 
+__LINE__
+);
+
+952 ià(
+USE_RTM_LOCKS
+) {
+
+953 
+       `¹m_lock
+();
+
+955 
+       `¹e_rwlock_»ad_lock
+(&
+rwlock
+);
+
+957 ià(
+bÚd_pÜt
+ =ð
+NULL
+) {
+
+958 
+       `RTE_LOG
+(
+ERR
+, 
+IFM
+, "%s: Given bond\85ort %u is\82ot\87vailable in"
+
+959 "\85Ü\88li¡.\n\r", 
+__FUNCTION__
+, 
+bÚded_pÜt_id
+);
+
+960 \15 
+IFM_FAILURE
+;
+
+962 
+       `memýy
+(
+aùive_¦aves
+, 
+bÚd_pÜt
+->
+bÚd_cÚfig
+->active_slaves,
+
+963 
+bÚd_pÜt
+->
+bÚd_cÚfig
+->
+aùive_¦ave_couÁ
+);
+
+964 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+965 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: Releasing RD\86ock @ %d\n\r",
+
+966 
+__FUNCTION__
+, 
+__LINE__
+);
+
+967 ià(
+USE_RTM_LOCKS
+) {
+
+968 
+       `¹m_uÆock
+();
+
+970 
+       `¹e_rwlock_»ad_uÆock
+(&
+rwlock
+);
+
+972 \15 
+IFM_SUCCESS
+;
+
+973 
+       }
+}
+
+975 \12
+       $£t_bÚd_mac_add»ss
+(
+u\9at8_t
+bÚded_pÜt_id
+, \19
+\91h\94_addr
+ *
+mac_addr
+)
+
+977 
+l2_phy_\9a\8brçû_t
+ *
+bÚd_pÜt
+;
+
+978 
+bÚd_pÜt
+ = 
+       `ifm_g\91_pÜt
+(
+bÚded_pÜt_id
+);
+
+981 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+982 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: Acquiring WR\86ock @ %d\n\r",
+
+983 
+__FUNCTION__
+, 
+__LINE__
+);
+
+984 ià(
+USE_RTM_LOCKS
+) {
+
+985 
+       `¹m_lock
+();
+
+987 
+       `¹e_rwlock_wr\99e_lock
+(&
+rwlock
+);
+
+989 ià(
+mac_addr
+ =ð
+NULL
+) {
+
+990 
+       `RTE_LOG
+(
+ERR
+, 
+IFM
+, "%s: MAC\87ddress cannot be NULL.\n\r",
+
+991 
+__FUNCTION__
+);
+
+992 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+993 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: Releasing WR\86ock @ %d\n\r",
+
+994 
+__FUNCTION__
+, 
+__LINE__
+);
+
+995 ià(
+USE_RTM_LOCKS
+) {
+
+996 
+       `¹m_uÆock
+();
+
+998 
+       `¹e_rwlock_wr\99e_uÆock
+(&
+rwlock
+);
+
+1000 \15 
+IFM_FAILURE
+;
+
+1003 ià(
+bÚd_pÜt
+ =ð
+NULL
+) {
+
+1004 
+       `RTE_LOG
+(
+ERR
+, 
+IFM
+, "%s: Given bond\85ort %u is\82ot\87vailable in"
+
+1005 "\85Ü\88li¡.\n\r", 
+__FUNCTION__
+, 
+bÚded_pÜt_id
+);
+
+1006 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+1007 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: Releasing WR\86ock @ %d\n\r",
+
+1008 
+__FUNCTION__
+, 
+__LINE__
+);
+
+1009 ià(
+USE_RTM_LOCKS
+) {
+
+1010 
+       `¹m_uÆock
+();
+
+1012 
+       `¹e_rwlock_wr\99e_uÆock
+(&
+rwlock
+);
+
+1014 \15 
+IFM_FAILURE
+;
+
+1016 ià(
+       `¹e_\91h_bÚd_mac_add»ss_£t
+(
+bÚd_pÜt
+->
+pmdid
+, 
+mac_addr
+) < 0) {
+
+1017 
+       `RTE_LOG
+(
+ERR
+, 
+IFM
+, "%s: Failed\81o set MAC\87ddr for\85ort %u\n\r",
+
+1018 
+__FUNCTION__
+, 
+bÚd_pÜt
+->
+pmdid
+);
+
+1019 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+1020 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: Releasing WR\86ock @ %d\n\r",
+
+1021 
+__FUNCTION__
+, 
+__LINE__
+);
+
+1022 ià(
+USE_RTM_LOCKS
+) {
+
+1023 
+       `¹m_uÆock
+();
+
+1025 
+       `¹e_rwlock_wr\99e_uÆock
+(&
+rwlock
+);
+
+1027 \15 
+IFM_FAILURE
+;
+
+1029 
+       `¹e_\91h_maÿddr_g\91
+(
+bÚd_pÜt
+->
+pmdid
+,
+
+1030 (\19
+\91h\94_addr
+ *)
+bÚd_pÜt
+->
+maÿddr
+);
+
+1031 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+1032 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: Releasing WR\86ock @ %d\n\r",
+
+1033 
+__FUNCTION__
+, 
+__LINE__
+);
+
+1034 ià(
+USE_RTM_LOCKS
+) {
+
+1035 
+       `¹m_uÆock
+();
+
+1037 
+       `¹e_rwlock_wr\99e_uÆock
+(&
+rwlock
+);
+
+1039 \15 
+IFM_SUCCESS
+;
+
+1040 
+       }
+}
+
+1042 \12
+       $»£t_bÚd_mac_addr
+(
+u\9at8_t
+bÚded_pÜt_id
+)
+
+1044 
+l2_phy_\9a\8brçû_t
+ *
+bÚd_pÜt
+;
+
+1045 
+bÚd_pÜt
+ = 
+       `ifm_g\91_pÜt
+(
+bÚded_pÜt_id
+);
+
+1048 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+1049 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: Acquiring WR\86ock @ %d\n\r",
+
+1050 
+__FUNCTION__
+, 
+__LINE__
+);
+
+1051 ià(
+USE_RTM_LOCKS
+) {
+
+1052 
+       `¹m_lock
+();
+
+1054 
+       `¹e_rwlock_wr\99e_lock
+(&
+rwlock
+);
+
+1056 ià(
+bÚd_pÜt
+ =ð
+NULL
+) {
+
+1057 
+       `RTE_LOG
+(
+ERR
+, 
+IFM
+, "%s: Given bond\85ort %u is\82ot\87vailable in"
+
+1058 "\85Ü\88li¡.\n\r", 
+__FUNCTION__
+, 
+bÚded_pÜt_id
+);
+
+1059 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+1060 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: Releasing WR\86ock @ %d\n\r",
+
+1061 
+__FUNCTION__
+, 
+__LINE__
+);
+
+1062 ià(
+USE_RTM_LOCKS
+) {
+
+1063 
+       `¹m_uÆock
+();
+
+1065 
+       `¹e_rwlock_wr\99e_uÆock
+(&
+rwlock
+);
+
+1067 \15 
+IFM_FAILURE
+;
+
+1069 ià(
+       `¹e_\91h_bÚd_mac_add»ss_»£t
+(
+bÚd_pÜt
+->
+pmdid
+) < 0) {
+
+1070 
+       `RTE_LOG
+(
+ERR
+, 
+IFM
+,
+
+1072 
+__FUNCTION__
+, 
+bÚd_pÜt
+->
+pmdid
+);
+
+1073 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+1074 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: Releasing WR\86ock @ %d\n\r",
+
+1075 
+__FUNCTION__
+, 
+__LINE__
+);
+
+1076 ià(
+USE_RTM_LOCKS
+) {
+
+1077 
+       `¹m_uÆock
+();
+
+1079 
+       `¹e_rwlock_wr\99e_uÆock
+(&
+rwlock
+);
+
+1081 \15 
+IFM_FAILURE
+;
+
+1083 
+       `¹e_\91h_maÿddr_g\91
+(
+bÚd_pÜt
+->
+pmdid
+,
+
+1084 (\19
+\91h\94_addr
+ *)
+bÚd_pÜt
+->
+maÿddr
+);
+
+1085 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+1086 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: Releasing WR\86ock @ %d\n\r",
+
+1087 
+__FUNCTION__
+, 
+__LINE__
+);
+
+1088 ià(
+USE_RTM_LOCKS
+) {
+
+1089 
+       `¹m_uÆock
+();
+
+1091 
+       `¹e_rwlock_wr\99e_uÆock
+(&
+rwlock
+);
+
+1093 \15 
+IFM_FAILURE
+;
+
+1094 
+       }
+}
+
+1096 \12
+       $£t_bÚd_xm\99pÞicy
+(
+u\9at8_t
+bÚded_pÜt_id
+, u\9at8_\88
+pÞicy
+)
+
+1099 
+l2_phy_\9a\8brçû_t
+ *
+bÚd_pÜt
+;
+
+1100 
+bÚd_pÜt
+ = 
+       `ifm_g\91_pÜt
+(
+bÚded_pÜt_id
+);
+
+1102 \12
+»t
+ = 0;
+
+1104 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+1105 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: Acquiring WR\86ock @ %d\n\r",
+
+1106 
+__FUNCTION__
+, 
+__LINE__
+);
+
+1107 ià(
+USE_RTM_LOCKS
+) {
+
+1108 
+       `¹m_lock
+();
+
+1110 
+       `¹e_rwlock_wr\99e_lock
+(&
+rwlock
+);
+
+1112 ià(
+bÚd_pÜt
+ =ð
+NULL
+) {
+
+1113 
+       `RTE_LOG
+(
+ERR
+, 
+IFM
+, "%s: Given bond\85ort %u is\82ot\87vailable in"
+
+1114 "\85Ü\88li¡.\n\r", 
+__FUNCTION__
+, 
+bÚded_pÜt_id
+);
+
+1115 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+1116 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: Releasing WR\86ock @ %d\n\r",
+
+1117 
+__FUNCTION__
+, 
+__LINE__
+);
+
+1118 ià(
+USE_RTM_LOCKS
+) {
+
+1119 
+       `¹m_uÆock
+();
+
+1121 
+       `¹e_rwlock_wr\99e_uÆock
+(&
+rwlock
+);
+
+1123 \15 
+IFM_FAILURE
+;
+
+1125 ià(
+bÚd_pÜt
+->
+bÚd_cÚfig
+->
+xm\99_pÞicy
+ =ð
+pÞicy
+) {
+
+1126 ià(
+ifm_debug
+ & 
+IFM_DEBUG
+)
+
+1127 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+,
+
+1129 
+__FUNCTION__
+, 
+bÚded_pÜt_id
+);
+
+1130 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+1131 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: Releasing WR\86ock @ %d\n\r",
+
+1132 
+__FUNCTION__
+, 
+__LINE__
+);
+
+1133 ià(
+USE_RTM_LOCKS
+) {
+
+1134 
+       `¹m_uÆock
+();
+
+1136 
+       `¹e_rwlock_wr\99e_uÆock
+(&
+rwlock
+);
+
+1138 \15 
+IFM_SUCCESS
+;
+
+1140 ià(
+       `¹e_\91h_bÚd_xm\99_pÞicy_£t
+(
+bÚd_pÜt
+->
+pmdid
+, 
+pÞicy
+) < 0) {
+
+1141 
+       `RTE_LOG
+(
+ERR
+, 
+IFM
+, "%s: Failed\81o set\85olicy for\85ort %u\n\r",
+
+1142 
+__FUNCTION__
+, 
+bÚd_pÜt
+->
+pmdid
+);
+
+1143 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+1144 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: Releasing WR\86ock @ %d\n\r",
+
+1145 
+__FUNCTION__
+, 
+__LINE__
+);
+
+1146 ià(
+USE_RTM_LOCKS
+) {
+
+1147 
+       `¹m_uÆock
+();
+
+1149 
+       `¹e_rwlock_wr\99e_uÆock
+(&
+rwlock
+);
+
+1151 \15 
+IFM_FAILURE
+;
+
+1153 
+»t
+ = 
+       `¹e_\91h_bÚd_xm\99_pÞicy_g\91
+(
+bÚd_pÜt
+->
+pmdid
+);
+
+1154 ià(
+»t
+ < 0) {
+
+1155 ià(
+ifm_debug
+ & 
+IFM_DEBUG
+)
+
+1156 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+,
+
+1158 
+__FUNCTION__
+);
+
+1159 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+1160 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: Releasing WR\86ock @ %d\n\r",
+
+1161 
+__FUNCTION__
+, 
+__LINE__
+);
+
+1162 ià(
+USE_RTM_LOCKS
+) {
+
+1163 
+       `¹m_uÆock
+();
+
+1165 
+       `¹e_rwlock_wr\99e_uÆock
+(&
+rwlock
+);
+
+1167 \15 
+IFM_FAILURE
+;
+
+1169 
+bÚd_pÜt
+->
+bÚd_cÚfig
+->
+xm\99_pÞicy
+ = 
+pÞicy
+;
+
+1170 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+1171 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: Releasing WR\86ock @ %d\n\r",
+
+1172 
+__FUNCTION__
+, 
+__LINE__
+);
+
+1173 ià(
+USE_RTM_LOCKS
+) {
+
+1174 
+       `¹m_uÆock
+();
+
+1176 
+       `¹e_rwlock_wr\99e_uÆock
+(&
+rwlock
+);
+
+1178 \15 
+IFM_SUCCESS
+;
+
+1179 
+       }
+}
+
+1181 \12
+       $g\91_bÚd_xm\99pÞicy
+(
+u\9at8_t
+bÚded_pÜt_id
+)
+
+1183 
+l2_phy_\9a\8brçû_t
+ *
+bÚd_pÜt
+;
+
+1185 
+bÚd_pÜt
+ = 
+       `ifm_g\91_pÜt
+(
+bÚded_pÜt_id
+);
+
+1187 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+1188 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: RD Acquiring\86ock @ %d\n\r",
+
+1189 
+__FUNCTION__
+, 
+__LINE__
+);
+
+1190 ià(
+USE_RTM_LOCKS
+) {
+
+1191 
+       `¹m_lock
+();
+
+1193 
+       `¹e_rwlock_»ad_lock
+(&
+rwlock
+);
+
+1195 ià(
+bÚd_pÜt
+ =ð
+NULL
+) {
+
+1196 
+       `RTE_LOG
+(
+ERR
+, 
+IFM
+, "%s: Given bond\85ort %u is\82ot\87vailable in"
+
+1197 "\85Ü\88li¡.\n\r", 
+__FUNCTION__
+, 
+bÚded_pÜt_id
+);
+
+1198 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+1199 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s:Releasing RD\86ock @ %d\n\r",
+
+1200 
+__FUNCTION__
+, 
+__LINE__
+);
+
+1201 ià(
+USE_RTM_LOCKS
+) {
+
+1202 
+       `¹m_uÆock
+();
+
+1204 
+       `¹e_rwlock_»ad_uÆock
+(&
+rwlock
+);
+
+1206 \15 
+IFM_FAILURE
+;
+
+1208 
+u\9at8_t
+pÞicy
+ = 
+bÚd_pÜt
+->
+bÚd_cÚfig
+->
+xm\99_pÞicy
+;
+
+1209 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+1210 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s:Releasing RD\86ock @ %d\n\r",
+
+1211 
+__FUNCTION__
+, 
+__LINE__
+);
+
+1212 ià(
+USE_RTM_LOCKS
+) {
+
+1213 
+       `¹m_uÆock
+();
+
+1215 
+       `¹e_rwlock_»ad_uÆock
+(&
+rwlock
+);
+
+1217 \15 
+pÞicy
+;
+
+1218 
+       }
+}
+
+1220 \12
+       $£t_bÚd_l\9ak_mÚt\99Ü_äequ\92cy
+(
+u\9at8_t
+bÚded_pÜt_id
+,
+
+1221 
+u\9at32_t
+\9a\8bº®_ms
+)
+
+1223 
+l2_phy_\9a\8brçû_t
+ *
+bÚd_pÜt
+;
+
+1224 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+1225 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: Acquiring WR\86ock @ %d\n\r",
+
+1226 
+__FUNCTION__
+, 
+__LINE__
+);
+
+1227 ià(
+USE_RTM_LOCKS
+) {
+
+1228 
+       `¹m_lock
+();
+
+1230 
+       `¹e_rwlock_wr\99e_lock
+(&
+rwlock
+);
+
+1233 
+bÚd_pÜt
+ = 
+       `ifm_g\91_pÜt
+(
+bÚded_pÜt_id
+);
+
+1234 \12
+»t
+ = 0;
+
+1236 ià(
+bÚd_pÜt
+ =ð
+NULL
+) {
+
+1237 
+       `RTE_LOG
+(
+ERR
+, 
+IFM
+, "%s: Given bond\85ort %u is\82ot\87vailable in"
+
+1238 "\85Ü\88li¡.\n\r", 
+__FUNCTION__
+, 
+bÚded_pÜt_id
+);
+
+1239 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+1240 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: Releasing WR\86ock @ %d\n\r",
+
+1241 
+__FUNCTION__
+, 
+__LINE__
+);
+
+1242 ià(
+USE_RTM_LOCKS
+) {
+
+1243 
+       `¹m_uÆock
+();
+
+1245 
+       `¹e_rwlock_wr\99e_uÆock
+(&
+rwlock
+);
+
+1247 \15 
+IFM_FAILURE
+;
+
+1249 ià(
+bÚd_pÜt
+->
+bÚd_cÚfig
+->
+\9a\8bº®_ms
+ == internal_ms) {
+
+1250 ià(
+ifm_debug
+ & 
+IFM_DEBUG
+)
+
+1251 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+,
+
+1253 
+__FUNCTION__
+, 
+bÚded_pÜt_id
+);
+
+1254 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+1255 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: Releasing WR\86ock @ %d\n\r",
+
+1256 
+__FUNCTION__
+, 
+__LINE__
+);
+
+1257 ià(
+USE_RTM_LOCKS
+) {
+
+1258 
+       `¹m_uÆock
+();
+
+1260 
+       `¹e_rwlock_wr\99e_uÆock
+(&
+rwlock
+);
+
+1262 \15 
+IFM_SUCCESS
+;
+
+1264 ià(
+       `¹e_\91h_bÚd_l\9ak_mÚ\99Ü\9ag_£t
+(
+bÚd_pÜt
+->
+pmdid
+, 
+\9a\8bº®_ms
+) < 0) {
+
+1265 
+       `RTE_LOG
+(
+ERR
+, 
+IFM
+,
+
+1267 
+__FUNCTION__
+, 
+bÚd_pÜt
+->
+pmdid
+);
+
+1268 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+1269 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: Releasing WR\86ock @ %d\n\r",
+
+1270 
+__FUNCTION__
+, 
+__LINE__
+);
+
+1271 ià(
+USE_RTM_LOCKS
+) {
+
+1272 
+       `¹m_uÆock
+();
+
+1274 
+       `¹e_rwlock_wr\99e_uÆock
+(&
+rwlock
+);
+
+1276 \15 
+IFM_FAILURE
+;
+
+1278 
+»t
+ = 
+       `¹e_\91h_bÚd_l\9ak_mÚ\99Ü\9ag_g\91
+(
+bÚd_pÜt
+->
+pmdid
+);
+
+1279 ià(
+»t
+ < 0) {
+
+1280 ià(
+ifm_debug
+ & 
+IFM_DEBUG
+)
+
+1281 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+,
+
+1283 
+__FUNCTION__
+);
+
+1284 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+1285 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: Releasing WR\86ock @ %d\n\r",
+
+1286 
+__FUNCTION__
+, 
+__LINE__
+);
+
+1287 ià(
+USE_RTM_LOCKS
+) {
+
+1288 
+       `¹m_uÆock
+();
+
+1290 
+       `¹e_rwlock_wr\99e_uÆock
+(&
+rwlock
+);
+
+1292 \15 
+IFM_FAILURE
+;
+
+1294 
+bÚd_pÜt
+->
+bÚd_cÚfig
+->
+\9a\8bº®_ms
+ = internal_ms;
+
+1295 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+1296 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: Releasing WR\86ock @ %d\n\r",
+
+1297 
+__FUNCTION__
+, 
+__LINE__
+);
+
+1298 ià(
+USE_RTM_LOCKS
+) {
+
+1299 
+       `¹m_uÆock
+();
+
+1301 
+       `¹e_rwlock_wr\99e_uÆock
+(&
+rwlock
+);
+
+1303 \15 
+IFM_SUCCESS
+;
+
+1304 
+       }
+}
+
+1306 \12
+       $g\91_bÚd_l\9ak_mÚ\99Ü_äequ\92cy
+(
+u\9at8_t
+bÚded_pÜt_id
+)
+
+1308 
+l2_phy_\9a\8brçû_t
+ *
+bÚd_pÜt
+;
+
+1310 
+bÚd_pÜt
+ = 
+       `ifm_g\91_pÜt
+(
+bÚded_pÜt_id
+);
+
+1312 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+1313 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: Acquiring RD\86ock @ %d\n\r",
+
+1314 
+__FUNCTION__
+, 
+__LINE__
+);
+
+1315 ià(
+USE_RTM_LOCKS
+) {
+
+1316 
+       `¹m_lock
+();
+
+1318 
+       `¹e_rwlock_»ad_lock
+(&
+rwlock
+);
+
+1320 ià(
+bÚd_pÜt
+ =ð
+NULL
+) {
+
+1321 
+       `RTE_LOG
+(
+ERR
+, 
+IFM
+, "%s: Given bond\85ort %u is\82ot\87vailable in"
+
+1322 "\85Ü\88li¡.\n\r", 
+__FUNCTION__
+, 
+bÚded_pÜt_id
+);
+
+1323 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+1324 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: Releasing RD\86ock @ %d\n\r",
+
+1325 
+__FUNCTION__
+, 
+__LINE__
+);
+
+1326 ià(
+USE_RTM_LOCKS
+) {
+
+1327 
+       `¹m_uÆock
+();
+
+1329 
+       `¹e_rwlock_»ad_uÆock
+(&
+rwlock
+);
+
+1331 \15 
+IFM_FAILURE
+;
+
+1333 
+u\9at32_t
+\9a\8bº®_ms
+ = 
+bÚd_pÜt
+->
+bÚd_cÚfig
+->internal_ms;
+
+1334 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+1335 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: Releasing RD\86ock @ %d\n\r",
+
+1336 
+__FUNCTION__
+, 
+__LINE__
+);
+
+1337 ià(
+USE_RTM_LOCKS
+) {
+
+1338 
+       `¹m_uÆock
+();
+
+1340 
+       `¹e_rwlock_»ad_uÆock
+(&
+rwlock
+);
+
+1342 \15 
+\9a\8bº®_ms
+;
+
+1343 
+       }
+}
+
+1345 \12
+       $£t_bÚd_l\9akdown_d\96ay
+(
+u\9at8_t
+bÚded_pÜt_id
+, 
+u\9at32_t
+d\96ay_ms
+)
+
+1347 
+l2_phy_\9a\8brçû_t
+ *
+bÚd_pÜt
+;
+
+1348 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+1349 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: Acquiring WR\86ock @ %d\n\r",
+
+1350 
+__FUNCTION__
+, 
+__LINE__
+);
+
+1352 ià(
+USE_RTM_LOCKS
+) {
+
+1353 
+       `¹m_lock
+();
+
+1355 
+       `¹e_rwlock_wr\99e_lock
+(&
+rwlock
+);
+
+1358 
+bÚd_pÜt
+ = 
+       `ifm_g\91_pÜt
+(
+bÚded_pÜt_id
+);
+
+1359 \12
+d\96ay
+ = 0;
+
+1361 ià(
+bÚd_pÜt
+ =ð
+NULL
+) {
+
+1362 
+       `RTE_LOG
+(
+ERR
+, 
+IFM
+, "%s: Given bond\85ort %u is\82ot\87vailable in"
+
+1363 "\85Ü\88li¡.\n\r", 
+__FUNCTION__
+, 
+bÚded_pÜt_id
+);
+
+1364 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+1365 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: Releasing WR\86ock @ %d\n\r",
+
+1366 
+__FUNCTION__
+, 
+__LINE__
+);
+
+1368 ià(
+USE_RTM_LOCKS
+) {
+
+1369 
+       `¹m_uÆock
+();
+
+1371 
+       `¹e_rwlock_wr\99e_uÆock
+(&
+rwlock
+);
+
+1373 \15 
+IFM_FAILURE
+;
+
+1375 ià(
+bÚd_pÜt
+->
+bÚd_cÚfig
+->
+l\9ak_down_d\96ay_ms
+ =ð
+d\96ay_ms
+) {
+
+1376 ià(
+ifm_debug
+ & 
+IFM_DEBUG
+)
+
+1377 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+,
+
+1379 
+__FUNCTION__
+, 
+bÚded_pÜt_id
+);
+
+1380 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+1381 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: Releasing WR\86ock @ %d\n\r",
+
+1382 
+__FUNCTION__
+, 
+__LINE__
+);
+
+1384 ià(
+USE_RTM_LOCKS
+) {
+
+1385 
+       `¹m_uÆock
+();
+
+1387 
+       `¹e_rwlock_wr\99e_uÆock
+(&
+rwlock
+);
+
+1389 \15 
+IFM_SUCCESS
+;
+
+1391 ià(
+       `¹e_\91h_bÚd_l\9ak_down_´Ý_d\96ay_£t
+(
+bÚd_pÜt
+->
+pmdid
+, 
+d\96ay_ms
+) <
+
+1393 
+       `RTE_LOG
+(
+ERR
+, 
+IFM
+, "%s: Failed\81o set delay for\85ort %u\n\r",
+
+1394 
+__FUNCTION__
+, 
+bÚd_pÜt
+->
+pmdid
+);
+
+1395 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+1396 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: Releasing WR\86ock @ %d\n\r",
+
+1397 
+__FUNCTION__
+, 
+__LINE__
+);
+
+1399 ià(
+USE_RTM_LOCKS
+) {
+
+1400 
+       `¹m_uÆock
+();
+
+1402 
+       `¹e_rwlock_wr\99e_uÆock
+(&
+rwlock
+);
+
+1404 \15 
+IFM_FAILURE
+;
+
+1406 
+d\96ay
+ = 
+       `¹e_\91h_bÚd_l\9ak_down_´Ý_d\96ay_g\91
+(
+bÚd_pÜt
+->
+pmdid
+);
+
+1407 ià(
+d\96ay
+ < 0) {
+
+1408 ià(
+ifm_debug
+ & 
+IFM_DEBUG
+)
+
+1409 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+,
+
+1411 
+__FUNCTION__
+);
+
+1412 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+1413 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: Releasing WR\86ock @ %d\n\r",
+
+1414 
+__FUNCTION__
+, 
+__LINE__
+);
+
+1416 ià(
+USE_RTM_LOCKS
+) {
+
+1417 
+       `¹m_uÆock
+();
+
+1419 
+       `¹e_rwlock_wr\99e_uÆock
+(&
+rwlock
+);
+
+1421 \15 
+IFM_FAILURE
+;
+
+1423 
+bÚd_pÜt
+->
+bÚd_cÚfig
+->
+l\9ak_down_d\96ay_ms
+ = 
+d\96ay
+;
+
+1424 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+1425 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: Releasing WR\86ock @ %d\n\r",
+
+1426 
+__FUNCTION__
+, 
+__LINE__
+);
+
+1428 ià(
+USE_RTM_LOCKS
+) {
+
+1429 
+       `¹m_uÆock
+();
+
+1431 
+       `¹e_rwlock_wr\99e_uÆock
+(&
+rwlock
+);
+
+1433 \15 
+IFM_SUCCESS
+;
+
+1434 
+       }
+}
+
+1436 \12
+       $g\91_bÚd_l\9ak_down_d\96ay
+(
+u\9at8_t
+bÚded_pÜt_id
+)
+
+1438 
+l2_phy_\9a\8brçû_t
+ *
+bÚd_pÜt
+;
+
+1440 
+bÚd_pÜt
+ = 
+       `ifm_g\91_pÜt
+(
+bÚded_pÜt_id
+);
+
+1441 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+1442 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: Acquiring RD\86ock @ %d\n\r",
+
+1443 
+__FUNCTION__
+, 
+__LINE__
+);
+
+1444 ià(
+USE_RTM_LOCKS
+)
+
+1445 
+       `¹m_lock
+();
+
+1447 
+       `¹e_rwlock_»ad_lock
+(&
+rwlock
+);
+
+1449 ià(
+bÚd_pÜt
+ =ð
+NULL
+) {
+
+1450 
+       `RTE_LOG
+(
+ERR
+, 
+IFM
+, "%s: Given bond\85ort %u is\82ot\87vailable in"
+
+1451 "\85Ü\88li¡.\n\r", 
+__FUNCTION__
+, 
+bÚded_pÜt_id
+);
+
+1452 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+1453 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: Releasing RD\86ock @ %d\n\r",
+
+1454 
+__FUNCTION__
+, 
+__LINE__
+);
+
+1455 ià(
+USE_RTM_LOCKS
+) {
+
+1456 
+       `¹m_uÆock
+();
+
+1458 
+       `¹e_rwlock_»ad_uÆock
+(&
+rwlock
+);
+
+1460 \15 
+IFM_FAILURE
+;
+
+1462 
+u\9at32_t
+d\96ay_ms
+ = 
+bÚd_pÜt
+->
+bÚd_cÚfig
+->
+l\9ak_down_d\96ay_ms
+;
+
+1463 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+1464 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: Releasing RD\86ock @ %d\n\r",
+
+1465 
+__FUNCTION__
+, 
+__LINE__
+);
+
+1466 ià(
+USE_RTM_LOCKS
+) {
+
+1467 
+       `¹m_uÆock
+();
+
+1469 
+       `¹e_rwlock_»ad_uÆock
+(&
+rwlock
+);
+
+1471 \15 
+d\96ay_ms
+;
+
+1473 
+       }
+}
+
+1475 \12
+       $£t_bÚd_l\9akup_d\96ay
+(
+u\9at8_t
+bÚded_pÜt_id
+, 
+u\9at32_t
+d\96ay_ms
+)
+
+1477 
+l2_phy_\9a\8brçû_t
+ *
+bÚd_pÜt
+;
+
+1478 \12
+d\96ay
+ = 0;
+
+1479 
+bÚd_pÜt
+ = 
+       `ifm_g\91_pÜt
+(
+bÚded_pÜt_id
+);
+
+1481 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+1482 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: Acquiring WR\86ock @ %d\n\r",
+
+1483 
+__FUNCTION__
+, 
+__LINE__
+);
+
+1484 ià(
+USE_RTM_LOCKS
+)
+
+1485 
+       `¹m_uÆock
+();
+
+1487 
+       `¹e_rwlock_wr\99e_uÆock
+(&
+rwlock
+);
+
+1489 ià(
+bÚd_pÜt
+ =ð
+NULL
+) {
+
+1490 
+       `RTE_LOG
+(
+ERR
+, 
+IFM
+, "%s: Given bond\85ort %u is\82ot\87vailable in"
+
+1491 "\85Ü\88li¡.\n\r", 
+__FUNCTION__
+, 
+bÚded_pÜt_id
+);
+
+1492 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+1493 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: Releasing WR\86ock @ %d\n\r",
+
+1494 
+__FUNCTION__
+, 
+__LINE__
+);
+
+1495 ià(
+USE_RTM_LOCKS
+)
+
+1496 
+       `¹m_uÆock
+();
+
+1498 
+       `¹e_rwlock_wr\99e_uÆock
+(&
+rwlock
+);
+
+1499 \15 
+IFM_FAILURE
+;
+
+1501 ià(
+bÚd_pÜt
+->
+bÚd_cÚfig
+->
+l\9ak_up_d\96ay_ms
+ =ð
+d\96ay_ms
+) {
+
+1502 ià(
+ifm_debug
+ & 
+IFM_DEBUG
+)
+
+1503 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+,
+
+1505 
+__FUNCTION__
+, 
+bÚded_pÜt_id
+);
+
+1506 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+1507 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: Releasing WR\86ock @ %d\n\r",
+
+1508 
+__FUNCTION__
+, 
+__LINE__
+);
+
+1509 ià(
+USE_RTM_LOCKS
+)
+
+1510 
+       `¹m_uÆock
+();
+
+1512 
+       `¹e_rwlock_wr\99e_uÆock
+(&
+rwlock
+);
+
+1513 \15 
+IFM_SUCCESS
+;
+
+1515 ià(
+       `¹e_\91h_bÚd_l\9ak_up_´Ý_d\96ay_£t
+(
+bÚd_pÜt
+->
+pmdid
+, 
+d\96ay_ms
+) < 0) {
+
+1516 
+       `RTE_LOG
+(
+ERR
+, 
+IFM
+, "%s: Failed\81o set delay for\85ort %u\n\r",
+
+1517 
+__FUNCTION__
+, 
+bÚd_pÜt
+->
+pmdid
+);
+
+1518 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+1519 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: Releasing WR\86ock @ %d\n\r",
+
+1520 
+__FUNCTION__
+, 
+__LINE__
+);
+
+1522 ià(
+USE_RTM_LOCKS
+)
+
+1523 
+       `¹m_uÆock
+();
+
+1525 
+       `¹e_rwlock_wr\99e_uÆock
+(&
+rwlock
+);
+
+1526 \15 
+IFM_FAILURE
+;
+
+1528 
+d\96ay
+ = 
+       `¹e_\91h_bÚd_l\9ak_up_´Ý_d\96ay_g\91
+(
+bÚd_pÜt
+->
+pmdid
+);
+
+1529 ià(
+d\96ay
+ < 0) {
+
+1530 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+,
+
+1532 
+__FUNCTION__
+);
+
+1533 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+1534 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: Releasing WR\86ock @ %d\n\r",
+
+1535 
+__FUNCTION__
+, 
+__LINE__
+);
+
+1537 ià(
+USE_RTM_LOCKS
+)
+
+1538 
+       `¹m_uÆock
+();
+
+1540 
+       `¹e_rwlock_wr\99e_uÆock
+(&
+rwlock
+);
+
+1541 \15 
+IFM_FAILURE
+;
+
+1543 
+bÚd_pÜt
+->
+bÚd_cÚfig
+->
+l\9ak_up_d\96ay_ms
+ = 
+d\96ay
+;
+
+1544 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+1545 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: Releasing WR\86ock @ %d\n\r",
+
+1546 
+__FUNCTION__
+, 
+__LINE__
+);
+
+1548 ià(
+USE_RTM_LOCKS
+)
+
+1549 
+       `¹m_uÆock
+();
+
+1551 
+       `¹e_rwlock_wr\99e_uÆock
+(&
+rwlock
+);
+
+1552 \15 
+IFM_SUCCESS
+;
+
+1553 
+       }
+}
+
+1555 \12
+       $g\91_bÚd_l\9ak_up_d\96ay
+(
+u\9at8_t
+bÚded_pÜt_id
+)
+
+1557 
+l2_phy_\9a\8brçû_t
+ *
+bÚd_pÜt
+;
+
+1558 
+u\9at32_t
+d\96ay_ms
+;
+
+1560 
+bÚd_pÜt
+ = 
+       `ifm_g\91_pÜt
+(
+bÚded_pÜt_id
+);
+
+1562 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+1563 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: Acquiring RD\86ock @ %d\n\r",
+
+1564 
+__FUNCTION__
+, 
+__LINE__
+);
+
+1565 ià(
+USE_RTM_LOCKS
+)
+
+1566 
+       `¹m_lock
+();
+
+1568 
+       `¹e_rwlock_»ad_lock
+(&
+rwlock
+);
+
+1569 ià(
+bÚd_pÜt
+ =ð
+NULL
+) {
+
+1570 ià(
+ifm_debug
+ & 
+IFM_DEBUG
+) {
+
+1571 
+       `RTE_LOG
+(
+ERR
+, 
+IFM
+,
+
+1573 "\85Ü\88li¡.\n\r", 
+__FUNCTION__
+,
+
+1574 
+bÚded_pÜt_id
+);
+
+1576 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+1577 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: Releasing RD\86ock @ %d\n\r",
+
+1578 
+__FUNCTION__
+, 
+__LINE__
+);
+
+1579 ià(
+USE_RTM_LOCKS
+)
+
+1580 
+       `¹m_uÆock
+();
+
+1582 
+       `¹e_rwlock_»ad_uÆock
+(&
+rwlock
+);
+
+1583 \15 
+IFM_FAILURE
+;
+
+1585 
+d\96ay_ms
+ = 
+bÚd_pÜt
+->
+bÚd_cÚfig
+->
+l\9ak_up_d\96ay_ms
+;
+
+1587 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+1588 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: Releasing RD\86ock @ %d\n\r",
+
+1589 
+__FUNCTION__
+, 
+__LINE__
+);
+
+1590 ià(
+USE_RTM_LOCKS
+)
+
+1591 
+       `¹m_uÆock
+();
+
+1593 
+       `¹e_rwlock_»ad_uÆock
+(&
+rwlock
+);
+
+1594 \15 
+d\96ay_ms
+;
+
+1595 
+       }
+}
+
+       @VIL/l2l3_stack/hle.c
+
+16 \ 2
+       ~"tsx.h
+"
+
+18 \ 2
+       ~<xmm\9a\8c\9a.h
+>
+
+20 \1e
+       $hË_\9a\99
+(\1e)
+
+22 
+mu\8bx_v®
+ = 0;
+
+23 
+       }
+}
+
+25 \12
+       $hË_lock
+(\1e)
+
+27 \1f
+__©omic_exchªge_n
+
+
+28 (&
+mu\8bx_v®
+, 1, 
+__ATOMIC_ACQUIRE
+ | 
+__ATOMIC_HLE_ACQUIRE
+))
+
+29 
+       `_mm_·u£
+();
+
+30 \15 
+TRUE
+;
+
+31 
+       }
+}
+
+33 \12
+       $hË_»Ëa£
+(\1e)
+
+35 
+       `__©omic_¡Üe_n
+(&
+mu\8bx_v®
+, 0,
+
+36 
+__ATOMIC_RELEASE
+ | 
+__ATOMIC_HLE_RELEASE
+);
+
+37 \15 
+TRUE
+;
+
+38 
+       }
+}
+
+40 \12
+       $is_hË_locked
+(\1e)
+
+42 \15 (
+mu\8bx_v®
+ =ð0è? 
+FALSE
+ : 
+TRUE
+;
+
+43 
+       }
+}
+
+       @VIL/l2l3_stack/hle.h
+
+17 \ 1
+       #HLE_TRUE
+ 1
+
+       )
+
+18 \ 1
+       #HLE_FALSE
+ 0
+
+       )
+
+20 vÞ©\9e\90\12
+       gmu\8bx_v®
+;
+
+25 \1e
+hË_mu\8bx
+(\1e);
+
+30 \12
+hË_lock
+(\1e);
+
+35 \12
+hË_»Ëa£
+(\1e);
+
+40 \12
+is_locked
+(\1e);
+
+       @VIL/l2l3_stack/interface.c
+
+16 \ 2
+       ~<\9a\8brçû.h
+>
+
+17 \ 2
+       ~<¹e_by\8bÜd\94.h
+>
+
+18 \ 2
+       ~<lib_¬p.h
+>
+
+19 \ 2
+       ~<tsx.h
+>
+
+21 
+\9a\8brçû_ma\9a_t
+       gifm
+;
+
+22 \12
+       gUSE_RTM_LOCKS
+ = 0;
+
+23 
+¹e_rwlock_t
+       grwlock
+;
+
+24 
+u\9at8_t
+       gifm_debug
+;
+
+25 \18\12
+       g´ev_¡©e
+;
+
+27 \1e
+       $cÚfig_ifm_debug
+(\12
+dbg
+, \12
+æag
+)
+
+29 \1a
+dbg
+) {
+
+30 \ 4
+IFM_DEBUG_CONFIG
+:
+
+31 ià(
+æag
+) {
+
+32 
+ifm_debug
+ |ð
+IFM_DEBUG_CONFIG
+;
+
+34 
+ifm_debug
+ &ð~
+IFM_DEBUG_CONFIG
+;
+
+37 \ 4
+IFM_DEBUG_RXTX
+:
+
+38 ià(
+æag
+) {
+
+39 
+ifm_debug
+ |ð
+IFM_DEBUG_RXTX
+;
+
+41 
+ifm_debug
+ &ð~
+IFM_DEBUG_RXTX
+;
+
+44 \ 4
+IFM_DEBUG_LOCKS
+:
+
+45 ià(
+æag
+) {
+
+46 
+ifm_debug
+ |ð
+IFM_DEBUG_LOCKS
+;
+
+48 
+ifm_debug
+ &ð~
+IFM_DEBUG_LOCKS
+;
+
+51 \ 4
+IFM_DEBUG
+:
+
+52 ià(
+æag
+) {
+
+53 
+ifm_debug
+ |ð
+IFM_DEBUG
+;
+
+55 
+ifm_debug
+ &ð~
+IFM_DEBUG
+;
+
+59 
+       }
+}
+
+61 \1e
+       $ifm_\9a\99
+(\1e)
+
+63 \12
+i
+ = 0;
+
+64 
+       `cÚfig_ifm_debug
+(
+IFM_DEBUG_CONFIG
+, 1);
+
+65 ià(
+       `ÿn_u£_\9a\8bl_cÜe_4th_g\92_ã©u»s
+()) {
+
+66 ià(
+ifm_debug
+ & 
+IFM_DEBUG_CONFIG
+)
+
+67 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "TSX\82ot currently supported...\n\r");
+
+68 
+USE_RTM_LOCKS
+ = 0;
+
+70 ià(
+ifm_debug
+ & 
+IFM_DEBUG_CONFIG
+)
+
+71 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "TSX\82ot supported\n\r");
+
+72 
+USE_RTM_LOCKS
+ = 0;
+
+74 ià(
+USE_RTM_LOCKS
+)
+
+75 
+       `¹m_\9a\99
+();
+
+77 
+       `¹e_rwlock_\9a\99
+(&
+rwlock
+);
+
+79 \ f
+i
+ = 0; i < 
+IFM_MAX_PORTARR_SZ
+; i++) {
+
+80 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+81 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: Acquiring WR\86ock @ %d\n\r",
+
+82 
+__FUNCTION__
+, 
+__LINE__
+);
+
+83 ià(
+USE_RTM_LOCKS
+)
+
+84 
+       `¹m_lock
+();
+
+86 
+       `¹e_rwlock_wr\99e_lock
+(&
+rwlock
+);
+
+88 
+ifm
+.
+pÜt_li¡
+[
+i
+] = 
+NULL
+;
+
+89 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+90 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: Releasing WR\86ock @ %d\n\r",
+
+91 
+__FUNCTION__
+, 
+__LINE__
+);
+
+92 ià(
+USE_RTM_LOCKS
+)
+
+93 
+       `¹m_uÆock
+();
+
+95 
+       `¹e_rwlock_wr\99e_uÆock
+(&
+rwlock
+);
+
+97 
+ifm
+.
+ÅÜt_\9at\9flized
+ = 
+       `¹e_\91h_dev_couÁ
+();
+
+98 
+ifm
+.
+ÅÜt_cÚfigu»d
+ = 0;
+
+99 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "IFM_INIT: Number of\85orts initialized during "
+
+100 "PCI\85rob\9ag %u.\n\r", 
+ifm
+.
+ÅÜt_\9at\9flized
+);
+
+101 
+       }
+}
+
+103 \1e
+       $ifm_»move_pÜt_d\91a\9es
+(
+u\9at8_t
+pÜtid
+)
+
+105 ià(
+ifm
+.
+pÜt_li¡
+[
+pÜtid
+] !ð
+NULL
+) {
+
+106 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+107 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: Acquiring\86ock %d\n\r",
+
+108 
+__FUNCTION__
+, 
+__LINE__
+);
+
+109 ià(
+USE_RTM_LOCKS
+)
+
+110 
+       `¹m_lock
+();
+
+112 
+       `¹e_rwlock_wr\99e_lock
+(&
+rwlock
+);
+
+113 
+l2_phy_\9a\8brçû_t
+ *
+pÜt
+ = 
+ifm
+.
+pÜt_li¡
+[
+pÜtid
+];
+
+114 
+ifm
+.
+pÜt_li¡
+[
+pÜtid
+] = 
+NULL
+;
+
+115 ià(
+ifm_debug
+ & 
+IFM_DEBUG_CONFIG
+)
+
+116 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: NULL set for\85ort %u\n\r",
+
+117 
+__FUNCTION__
+, 
+pÜtid
+);
+
+118 
+       `¹e_ä\93
+(
+pÜt
+);
+
+119 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+120 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: Releasing\86ock @ %d\n\r",
+
+121 
+__FUNCTION__
+, 
+__LINE__
+);
+
+123 ià(
+USE_RTM_LOCKS
+)
+
+124 
+       `¹m_uÆock
+();
+
+126 
+       `¹e_rwlock_wr\99e_uÆock
+(&
+rwlock
+);
+
+128 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+129 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+,
+
+131 " i ®»ady NuÎ.\n\r", 
+__FUNCTION__
+, 
+pÜtid
+);
+
+133 
+       }
+}
+
+135 
+l2_phy_\9a\8brçû_t
+ *
+       $ifm_g\91_pÜt
+(
+u\9at8_t
+pÜt_id
+)
+
+137 
+l2_phy_\9a\8brçû_t
+ *
+pÜt
+ = 
+NULL
+;
+
+138 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+139 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: Acqu\9c\9ag\86ock @ %d\n\r", 
+__FUNCTION__
+,
+
+140 
+__LINE__
+);
+
+142 ià(
+USE_RTM_LOCKS
+)
+
+143 
+       `¹m_lock
+();
+
+145 
+       `¹e_rwlock_»ad_lock
+(&
+rwlock
+);
+
+147 
+pÜt
+ = 
+ifm
+.
+pÜt_li¡
+[
+pÜt_id
+];
+
+149 ià(
+pÜt
+ =ð
+NULL
+) {
+
+153 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+154 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: Releasing RD\86ock @ %d\n\r",
+
+155 
+__FUNCTION__
+, 
+__LINE__
+);
+
+156 ià(
+USE_RTM_LOCKS
+)
+
+157 
+       `¹m_uÆock
+();
+
+159 
+       `¹e_rwlock_»ad_uÆock
+(&
+rwlock
+);
+
+160 \15 
+NULL
+;
+
+162 ià(
+pÜt
+->
+pmdid
+ =ð
+pÜt_id
+) {
+
+165 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+166 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: Releasing\86ock @ %d\n\r",
+
+167 
+__FUNCTION__
+, 
+__LINE__
+);
+
+169 ià(
+USE_RTM_LOCKS
+)
+
+170 
+       `¹m_uÆock
+();
+
+172 
+       `¹e_rwlock_»ad_uÆock
+(&
+rwlock
+);
+
+173 \15 
+pÜt
+;
+
+180 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+181 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: R\96\97s\9ag\86ock @ %d\n\r", 
+__FUNCTION__
+,
+
+182 
+__LINE__
+);
+
+183 ià(
+USE_RTM_LOCKS
+)
+
+184 
+       `¹m_uÆock
+();
+
+186 
+       `¹e_rwlock_»ad_uÆock
+(&
+rwlock
+);
+
+187 \15 
+NULL
+;
+
+188 
+       }
+}
+
+190 
+l2_phy_\9a\8brçû_t
+ *
+       $ifm_g\91_f\9c¡_pÜt
+(\1e)
+
+192 
+l2_phy_\9a\8brçû_t
+ *
+pÜt
+ = 
+NULL
+;
+
+193 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+194 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: Acqu\9c\9ag\86ock @ %d\n\r", 
+__FUNCTION__
+,
+
+195 
+__LINE__
+);
+
+197 ià(
+USE_RTM_LOCKS
+)
+
+198 
+       `¹m_lock
+();
+
+200 
+       `¹e_rwlock_»ad_lock
+(&
+rwlock
+);
+
+201 
+pÜt
+ = 
+ifm
+.
+pÜt_li¡
+[0];
+
+202 ià(
+pÜt
+ =ð
+NULL
+) {
+
+205 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+206 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: Releasing\86ock @ %d\n\r",
+
+207 
+__FUNCTION__
+, 
+__LINE__
+);
+
+208 ià(
+USE_RTM_LOCKS
+)
+
+209 
+       `¹m_uÆock
+();
+
+211 
+       `¹e_rwlock_»ad_uÆock
+(&
+rwlock
+);
+
+212 \15 
+NULL
+;
+
+216 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+217 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: R\96\97s\9ag\86ock @ %d\n\r", 
+__FUNCTION__
+,
+
+218 
+__LINE__
+);
+
+219 ià(
+USE_RTM_LOCKS
+)
+
+220 
+       `¹m_uÆock
+();
+
+222 
+       `¹e_rwlock_»ad_uÆock
+(&
+rwlock
+);
+
+223 \15 
+pÜt
+;
+
+224 
+       }
+}
+
+226 
+l2_phy_\9a\8brçû_t
+ *
+       $ifm_g\91_Ãxt_pÜt
+(
+u\9at8_t
+pÜt_id
+)
+
+228 
+l2_phy_\9a\8brçû_t
+ *
+pÜt
+ = 
+NULL
+;
+
+229 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+230 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: Acqu\9c\9ag\86ock @ %d\n\r", 
+__FUNCTION__
+,
+
+231 
+__LINE__
+);
+
+232 ià(
+USE_RTM_LOCKS
+)
+
+233 
+       `¹m_lock
+();
+
+235 
+       `¹e_rwlock_»ad_lock
+(&
+rwlock
+);
+
+236 
+pÜt
+ = 
+ifm
+.
+pÜt_li¡
+[
+pÜt_id
+ + 1];
+
+237 ià(
+pÜt
+ =ð
+NULL
+) {
+
+238 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+239 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: Releasing\86ock @ %d\n\r",
+
+240 
+__FUNCTION__
+, 
+__LINE__
+);
+
+241 ià(
+USE_RTM_LOCKS
+)
+
+242 
+       `¹m_uÆock
+();
+
+244 
+       `¹e_rwlock_»ad_uÆock
+(&
+rwlock
+);
+
+245 \15 
+NULL
+;
+
+249 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+250 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: R\96\97s\9ag\86ock @ %d\n\r", 
+__FUNCTION__
+,
+
+251 
+__LINE__
+);
+
+253 ià(
+USE_RTM_LOCKS
+)
+
+254 
+       `¹m_uÆock
+();
+
+256 
+       `¹e_rwlock_»ad_uÆock
+(&
+rwlock
+);
+
+257 \15 
+pÜt
+;
+
+258 
+       }
+}
+
+260 
+l2_phy_\9a\8brçû_t
+ *
+       $ifm_g\91_pÜt_by_Çme
+(cڡ \ 5*
+Çme
+)
+
+262 
+l2_phy_\9a\8brçû_t
+ *
+pÜt
+ = 
+NULL
+;
+
+263 \12
+i
+;
+
+264 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+265 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: Acqu\9c\9ag\86ock @ %d\n\r", 
+__FUNCTION__
+,
+
+266 
+__LINE__
+);
+
+268 ià(
+USE_RTM_LOCKS
+)
+
+269 
+       `¹m_lock
+();
+
+271 
+       `¹e_rwlock_»ad_lock
+(&
+rwlock
+);
+
+272 \ f
+i
+ = 0; i < 
+RTE_MAX_ETHPORTS
+ && 
+ifm
+.
+pÜt_li¡
+[i]; i++) {
+
+273 
+pÜt
+ = 
+ifm
+.
+pÜt_li¡
+[
+i
+];
+
+274 ià(
+       `¡rcmp
+(
+Çme
+, 
+pÜt
+->
+iâame
+) == 0) {
+
+275 ià(
+ifm_debug
+ & 
+IFM_DEBUG_CONFIG
+)
+
+276 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "FOUND!\85ort %u %s\n\r",
+
+277 
+pÜt
+->
+pmdid
+,\85Üt->
+iâame
+);
+
+278 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+279 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+,
+
+281 
+__FUNCTION__
+, 
+__LINE__
+);
+
+282 ià(
+USE_RTM_LOCKS
+)
+
+283 
+       `¹m_uÆock
+();
+
+285 
+       `¹e_rwlock_»ad_uÆock
+(&
+rwlock
+);
+
+286 \15 
+pÜt
+;
+
+289 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+290 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: R\96\97s\9ag\86ock @ %d\n\r", 
+__FUNCTION__
+,
+
+291 
+__LINE__
+);
+
+292 ià(
+USE_RTM_LOCKS
+)
+
+293 
+       `¹m_uÆock
+();
+
+295 
+       `¹e_rwlock_»ad_uÆock
+(&
+rwlock
+);
+
+296 \15 
+NULL
+;
+
+297 
+       }
+}
+
+299 \1e
+       $lsi_ev\92t_ÿÎback
+(
+u\9at8_t
+pÜt_id
+, \f
+¹e_\91h_ev\92t_ty³
+ty³
+,
+
+300 \1e*
+·¿m
+)
+
+302 \19
+¹e_\91h_l\9ak
+l\9ak
+;
+
+303 
+l2_phy_\9a\8brçû_t
+ *
+pÜt
+;
+
+304 \12
+nþ\9bÁs
+ = 
+ifm
+.
+nþ\9bÁ
+;
+
+305 \12
+i
+;
+
+307 
+       `RTE_SET_USED
+(
+·¿m
+);
+
+308 
+       `RTE_SET_USED
+(
+ty³
+);
+
+310 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+311 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: Acquiring WR\86ock @ %d\n\r",
+
+312 
+__FUNCTION__
+, 
+__LINE__
+);
+
+313 ià(
+USE_RTM_LOCKS
+) {
+
+314 
+       `¹m_lock
+();
+
+316 
+       `¹e_rwlock_wr\99e_lock
+(&
+rwlock
+);
+
+318 
+       `¹e_\91h_l\9ak_g\91
+(
+pÜt_id
+, &
+l\9ak
+);
+
+319 \ f
+i
+ = 0; i < 
+nþ\9bÁs
+; i++)
+
+320 
+ifm
+.
+if_þ\9bÁ
+[
+i
+].
+       `cb_l\9akupd©e
+(
+pÜt_id
+, 
+l\9ak
+.
+l\9ak_¡©us
+);
+
+321 
+pÜt
+ = 
+ifm
+.
+pÜt_li¡
+[
+pÜt_id
+];
+
+322 ià(
+pÜt
+ =ð
+NULL
+) {
+
+323 
+       `RTE_LOG
+(
+ERR
+, 
+IFM
+,
+
+325 
+__FUNCTION__
+, 
+pÜt_id
+);
+
+327 ià(
+pÜt
+ !ð
+NULL
+ &&\85Üt->
+pmdid
+ =ð
+pÜt_id
+) {
+
+328 ià(
+l\9ak
+.
+l\9ak_¡©us
+) {
+
+329 
+pÜt
+->
+l\9ak_¡©us
+ = 
+IFM_ETH_LINK_UP
+;
+
+330 
+pÜt
+->
+l\9ak_¥\93d
+ = 
+l\9ak
+.link_speed;
+
+331 
+pÜt
+->
+l\9ak_du¶ex
+ = 
+l\9ak
+.link_duplex;
+
+332 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+,
+
+334 
+pÜt_id
+, (\1d)
+l\9ak
+.
+l\9ak_¥\93d
+,
+
+335 (
+l\9ak
+.
+l\9ak_du¶ex
+ ==
+
+336 
+ETH_LINK_FULL_DUPLEX
+) ? ("full-duplex")
+
+338 ià(
+pÜt
+->
+æags
+ & 
+IFM_MASTER
+) {
+
+339 
+pÜt
+->
+æags
+ |ð
+IFM_BONDED
+;
+
+340 
+pÜt
+->
+bÚd_cÚfig
+->
+aùive_¦ave_couÁ
+ =
+
+341 
+       `¹e_\91h_bÚd_aùive_¦aves_g\91
+(
+pÜt
+->
+pmdid
+,
+
+342 
+pÜt
+->
+
+343 
+bÚd_cÚfig
+->
+
+344 
+aùive_¦aves
+,
+
+345 
+RTE_MAX_ETHPORTS
+);
+
+346 \19
+\91h\94_addr
+Ãw_mac
+;
+
+347 
+       `¹e_\91h_maÿddr_g\91
+(
+pÜt
+->
+pmdid
+,
+
+348 (\19
+\91h\94_addr
+ *)
+
+349 &
+Ãw_mac
+);
+
+350 ià(
+memcmp
+
+
+351 (&
+Ãw_mac
+, 
+pÜt
+->
+maÿddr
+,
+
+352 \17(\19
+\91h\94_addr
+))) {
+
+353 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+,
+
+355 
+pÜt
+->
+pmdid
+);
+
+357 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+,
+
+359 
+pÜt
+->
+pmdid
+);
+
+362 ià(
+pÜt
+->
+æags
+ & 
+IFM_SLAVE
+) {
+
+363 
+u\9at8_t
+ma¡\94_pÜtid
+ =
+
+364 
+pÜt
+->
+bÚd_cÚfig
+->
+bÚd_pÜtid
+;
+
+365 \19
+¹e_\91h_l\9ak
+l\9ak¡©us
+;
+
+366 
+       `¹e_\91h_l\9ak_g\91
+(
+ma¡\94_pÜtid
+, &
+l\9ak¡©us
+);
+
+367 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "PÜ\88%u ' Ma¡\94(%uè¡©u i %u\n\r", 
+pÜt_id
+,
+
+368 
+ma¡\94_pÜtid
+, 
+l\9ak¡©us
+.
+l\9ak_¡©us
+);
+
+370 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+371 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+,
+
+373 
+__FUNCTION__
+, 
+__LINE__
+);
+
+375 ià(
+USE_RTM_LOCKS
+) {
+
+376 
+       `¹m_uÆock
+();
+
+378 
+       `¹e_rwlock_wr\99e_uÆock
+(&
+rwlock
+);
+
+380 ià(
+pÜt
+->
+\9dv4_li¡
+ !ð
+NULL
+) {
+
+381 ià(
+ifm_debug
+ & 
+IFM_DEBUG_CONFIG
+)
+
+382 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+,
+
+384 
+pÜt
+->
+pmdid
+);
+
+385 ià(!
+´ev_¡©e
+) {
+
+386 
+       `£nd_g¿tu\99ous_¬p
+(
+pÜt
+);
+
+387 
+´ev_¡©e
+ = 1;
+
+392 ià(
+ifm_debug
+ & 
+IFM_DEBUG_CONFIG
+)
+
+393 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+,
+
+395 
+pÜt
+->
+pmdid
+);
+
+399 ià(
+pÜt
+->
+æags
+ & 
+IFM_MASTER
+) {
+
+400 
+pÜt
+->
+æags
+ &ð~
+IFM_BONDED
+;
+
+403 
+pÜt
+->
+l\9ak_¡©us
+ = 
+IFM_ETH_LINK_DOWN
+;
+
+404 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "EVENT-- PORT %u is Link DOWN.\n",
+
+405 
+pÜt_id
+);
+
+406 ià(
+pÜt
+->
+æags
+ & 
+IFM_SLAVE
+) {
+
+407 \19
+¹e_\91h_l\9ak
+l\9ak¡©us
+;
+
+408 
+u\9at8_t
+ma¡\94_pÜtid
+ =
+
+409 
+pÜt
+->
+bÚd_cÚfig
+->
+bÚd_pÜtid
+;
+
+410 
+       `¹e_\91h_l\9ak_g\91_nowa\99
+(
+ma¡\94_pÜtid
+,
+
+411 &
+l\9ak¡©us
+);
+
+412 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+,
+
+414 
+pÜt_id
+, 
+ma¡\94_pÜtid
+,
+
+415 
+l\9ak¡©us
+.
+l\9ak_¡©us
+);
+
+417 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+418 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+,
+
+420 
+__FUNCTION__
+, 
+__LINE__
+);
+
+421 ià(
+USE_RTM_LOCKS
+) {
+
+422 
+       `¹m_uÆock
+();
+
+424 
+       `¹e_rwlock_wr\99e_uÆock
+(&
+rwlock
+);
+
+426 
+´ev_¡©e
+ = 0;
+
+430 
+       }
+}
+
+432 \1e
+       $ifm_upd©e_l\9ak¡©us
+(
+u\9at8_t
+pÜt_id
+, 
+u\9at16_t
+l\9ak¡©us
+)
+
+434 \19
+¹e_\91h_l\9ak
+l\9ak
+;
+
+435 
+l2_phy_\9a\8brçû_t
+ *
+pÜt
+;
+
+436 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+437 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: Acqu\9c\9ag\86ock @ %d\n\r", 
+__FUNCTION__
+,
+
+438 
+__LINE__
+);
+
+440 ià(
+USE_RTM_LOCKS
+) {
+
+441 
+       `¹m_lock
+();
+
+443 
+       `¹e_rwlock_wr\99e_lock
+(&
+rwlock
+);
+
+445 
+pÜt
+ = 
+ifm
+.
+pÜt_li¡
+[
+pÜt_id
+];
+
+447 ià(
+pÜt
+ =ð
+NULL
+) {
+
+448 
+       `RTE_LOG
+(
+ERR
+, 
+IFM
+,
+
+450 
+__FUNCTION__
+, 
+pÜt_id
+);
+
+452 ià(
+pÜt
+ !ð
+NULL
+ &&\85Üt->
+pmdid
+ =ð
+pÜt_id
+) {
+
+453 
+       `¹e_\91h_l\9ak_g\91
+(
+pÜt_id
+, &
+l\9ak
+);
+
+454 ià(
+l\9ak¡©us
+ =ð
+IFM_ETH_LINK_UP
+) {
+
+455 
+pÜt
+->
+adm\9a_¡©us
+ = 
+IFM_ETH_LINK_UP
+;
+
+456 if(!
+l\9ak
+.
+l\9ak_¡©us
+) {
+
+457 ià(
+       `¹e_\91h_dev_£t_l\9ak_up
+(
+pÜt_id
+) < 0) {
+
+458 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+,
+
+460 
+__FUNCTION__
+, 
+pÜt
+->
+pmdid
+);
+
+462 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+463 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+,
+
+465 
+__FUNCTION__
+, 
+__LINE__
+);
+
+467 ià(
+USE_RTM_LOCKS
+) {
+
+468 
+       `¹m_uÆock
+();
+
+470 
+       `¹e_rwlock_wr\99e_uÆock
+(&
+rwlock
+);
+
+472 ià(
+ifm_debug
+ & 
+IFM_DEBUG_CONFIG
+)
+
+473 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+,
+
+475 
+__FUNCTION__
+, 
+pÜt
+->
+pmdid
+);
+
+476 
+       `£nd_g¿tu\99ous_¬p
+(
+pÜt
+);
+
+480 } \vià(
+l\9ak¡©us
+ =ð
+IFM_ETH_LINK_DOWN
+)
+
+482 \12
+¡©us
+;
+
+483 
+pÜt
+->
+adm\9a_¡©us
+ = 
+IFM_ETH_LINK_DOWN
+;
+
+485 if(
+l\9ak
+.
+l\9ak_¡©us
+) {
+
+486 
+¡©us
+ = 
+       `¹e_\91h_dev_£t_l\9ak_down
+(
+pÜt_id
+);
+
+487 ià(
+¡©us
+ < 0)
+
+489 
+       `´\9atf
+("(%" 
+PRIu32
+ "): PMD set\86ink down... continuing...%"
+
+490 
+PRId32
+ "\n", 
+pÜt_id
+, 
+¡©us
+);
+
+495 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+496 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: R\96\97s\9ag\86ock @ %d\n\r", 
+__FUNCTION__
+,
+
+497 
+__LINE__
+);
+
+499 ià(
+USE_RTM_LOCKS
+) {
+
+500 
+       `¹m_uÆock
+();
+
+502 
+       `¹e_rwlock_wr\99e_uÆock
+(&
+rwlock
+);
+
+504 
+       }
+}
+
+506 \1e
+       $ifm_£t_l2_\9a\8brçû_mtu
+(
+u\9at8_t
+pÜt_id
+, 
+u\9at16_t
+mtu
+)
+
+508 \12
+»t
+;
+
+509 
+l2_phy_\9a\8brçû_t
+ *
+pÜt
+;
+
+510 
+pÜt
+ = 
+ifm
+.
+pÜt_li¡
+[
+pÜt_id
+];
+
+511 ià(
+pÜt
+ =ð
+NULL
+) {
+
+512 
+       `RTE_LOG
+(
+ERR
+, 
+IFM
+,
+
+514 
+__FUNCTION__
+, 
+pÜt_id
+);
+
+517 ià(
+pÜt
+ !ð
+NULL
+ &&\85Üt->
+pmdid
+ =ð
+pÜt_id
+) {
+
+518 
+»t
+ = 
+       `¹e_\91h_dev_£t_mtu
+(
+pÜt_id
+, 
+mtu
+);
+
+519 ià(
+»t
+ != 0)
+
+520 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+,
+
+522 
+»t
+);
+
+524 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+525 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+,
+
+527 
+__FUNCTION__
+, 
+__LINE__
+);
+
+529 ià(
+USE_RTM_LOCKS
+) {
+
+530 
+       `¹m_lock
+();
+
+532 
+       `¹e_rwlock_wr\99e_lock
+(&
+rwlock
+);
+
+534 
+pÜt
+->
+mtu
+ = mtu;
+
+535 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+536 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+,
+
+538 
+__FUNCTION__
+, 
+__LINE__
+);
+
+540 ià(
+USE_RTM_LOCKS
+) {
+
+541 
+       `¹m_uÆock
+();
+
+543 
+       `¹e_rwlock_wr\99e_uÆock
+(&
+rwlock
+);
+
+548 
+       }
+}
+
+550 \1e
+       $ifm_£t_pÜt_´omisc
+(
+u\9at8_t
+pÜt_id
+, u\9at8_\88
+\92abË
+)
+
+552 
+l2_phy_\9a\8brçû_t
+ *
+pÜt
+;
+
+553 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+554 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: Acquiring WR\86ock @ %d\n\r",
+
+555 
+__FUNCTION__
+, 
+__LINE__
+);
+
+556 ià(
+USE_RTM_LOCKS
+) {
+
+557 
+       `¹m_lock
+();
+
+559 
+       `¹e_rwlock_wr\99e_lock
+(&
+rwlock
+);
+
+561 
+pÜt
+ = 
+ifm
+.
+pÜt_li¡
+[
+pÜt_id
+];
+
+562 ià(
+pÜt
+ =ð
+NULL
+) {
+
+563 
+       `RTE_LOG
+(
+ERR
+, 
+IFM
+,
+
+565 
+__FUNCTION__
+, 
+pÜt_id
+);
+
+567 ià(
+pÜt
+ !ð
+NULL
+ &&\85Üt->
+pmdid
+ =ð
+pÜt_id
+) {
+
+568 ià(
+\92abË
+ == 1) {
+
+569 
+       `¹e_\91h_´omiscuous_\92abË
+(
+pÜt_id
+);
+
+570 
+pÜt
+->
+´omisc
+ = 1;
+
+572 
+       `¹e_\91h_´omiscuous_di§bË
+(
+pÜt_id
+);
+
+573 
+pÜt
+->
+´omisc
+ = 0;
+
+576 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+577 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: Releasing WR\86ock @ %d\n\r",
+
+578 
+__FUNCTION__
+, 
+__LINE__
+);
+
+579 ià(
+USE_RTM_LOCKS
+) {
+
+580 
+       `¹m_uÆock
+();
+
+582 
+       `¹e_rwlock_wr\99e_uÆock
+(&
+rwlock
+);
+
+584 
+       }
+}
+
+586 
+\9at32_t
+       $ifm_g\91_Çùive_pÜts
+(\1e)
+
+588 \15 
+ifm
+.
+ÅÜt_cÚfigu»d
+;
+
+589 
+       }
+}
+
+591 
+\9at32_t
+       $ifm_g\91_ÅÜts_\9a\99\9flized
+(\1e)
+
+593 \15 
+ifm
+.
+ÅÜt_\9at\9flized
+;
+
+594 
+       }
+}
+
+596 
+u\9at16_t
+       $ifm_»ûive_bulk_pkts
+(
+u\9at8_t
+pÜt_id
+, 
+u\9at16_t
+qid
+,
+
+597 \19
+¹e_mbuf
+ **
+rx_pkts
+)
+
+599 
+u\9at64_t
+no_of_rcvd_pkt
+;
+
+600 
+no_of_rcvd_pkt
+ =
+
+601 
+       `¹e_\91h_rx_bur¡
+(
+pÜt_id
+, 
+qid
+, 
+rx_pkts
+, 
+IFM_BURST_SIZE
+);
+
+602 ià(
+ifm_debug
+ & 
+IFM_DEBUG_RXTX
+)
+
+603 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+,
+
+605 
+pÜt_id
+, 
+no_of_rcvd_pkt
+);
+
+606 \15 
+no_of_rcvd_pkt
+;
+
+607 
+       }
+}
+
+609 
+u\9at16_t
+       $ifm_\8cªsm\99_bulk_pkts
+(
+l2_phy_\9a\8brçû_t
+ *
+pÜt
+,
+
+610 \19
+¹e_mbuf
+ **
+tx_pkts
+, 
+u\9at64_t
+Åkts
+)
+
+612 
+u\9at32_t
+bur¡_tx_d\96ay_time
+ = 
+IFM_BURST_TX_WAIT_US
+;
+
+613 
+u\9at32_t
+bur¡_tx_»\8cy_num
+ = 
+IFM_BURST_TX_RETRIES
+;
+
+614 
+u\9at32_t
\8cy
+;
+
+615 
+u\9at32_t
+no_of_tx_pkt
+;
+
+616 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+617 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: Acquiring RD\86ock @ %d\n\r",
+
+618 
+__FUNCTION__
+, 
+__LINE__
+);
+
+619 ià(
+USE_RTM_LOCKS
+) {
+
+620 
+       `¹m_lock
+();
+
+622 
+       `¹e_rwlock_»ad_lock
+(&
+rwlock
+);
+
+624 
+no_of_tx_pkt
+ = 
+       `¹e_\91h_tx_bur¡
+(
+pÜt
+->
+pmdid
+, 
+IFM_TX_DEFAULT_Q
+, 
+tx_pkts
+,
+
+625 
+Åkts
+);
+
+626 ià(
+       `uÆik\96y
+(
+no_of_tx_pkt
+ < 
+Åkts
+)) {
+
+627 
\8cy
+ = 0;
+
+628 \1f
+no_of_tx_pkt
+ < 
+IFM_BURST_SIZE
+
+
+629 && 
\8cy
+++ < 
+bur¡_tx_»\8cy_num
+) {
+
+630 
+       `¹e_d\96ay_us
+(
+bur¡_tx_d\96ay_time
+);
+
+631 
+no_of_tx_pkt
+ =
+
+632 
+       `¹e_\91h_tx_bur¡
+(
+pÜt
+->
+pmdid
+, 
+IFM_TX_DEFAULT_Q
+,
+
+633 &
+tx_pkts
+[
+no_of_tx_pkt
+],
+
+634 
+IFM_BURST_SIZE
+ - 
+no_of_tx_pkt
+);
+
+637 ià(
+ifm_debug
+ & 
+IFM_DEBUG_RXTX
+)
+
+638 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+,
+
+640 
+no_of_tx_pkt
+);
+
+641 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+642 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: Releasing RD\86ock @ %d\n\r",
+
+643 
+__FUNCTION__
+, 
+__LINE__
+);
+
+644 ià(
+USE_RTM_LOCKS
+) {
+
+645 
+       `¹m_uÆock
+();
+
+647 
+       `¹e_rwlock_»ad_uÆock
+(&
+rwlock
+);
+
+649 \15 
+no_of_tx_pkt
+;
+
+650 
+       }
+}
+
+652 \12
+       $ifm_\8cªsm\99_s\9agË_pkt
+(
+l2_phy_\9a\8brçû_t
+ *
+pÜt
+, \19
+¹e_mbuf
+ *
+tx_pkts
+)
+
+654 
+u\9at64_t
+tx_Åkts
+ = 0;
+
+655 ià(
+tx_pkts
+ =ð
+NULL
+ || 
+pÜt
+ == NULL) {
+
+656 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+,
+
+658 \15 
+IFM_FAILURE
+;
+
+660 ià(
+ifm_debug
+ & 
+IFM_DEBUG_RXTX
+)
+
+661 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+,
+
+663 
+pÜt
+->
+pmdid
+);
+
+664 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+665 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: Acquiring RD\86ock @ %d\n\r",
+
+666 
+__FUNCTION__
+, 
+__LINE__
+);
+
+668 ià(
+USE_RTM_LOCKS
+) {
+
+669 
+       `¹m_lock
+();
+
+671 
+       `¹e_rwlock_»ad_lock
+(&
+rwlock
+);
+
+673 
+tx_Åkts
+ =
+
+674 
+       `¹e_\91h_tx_bufãr
+(
+pÜt
+->
+pmdid
+, 
+IFM_TX_DEFAULT_Q
+,\85Üt->
+tx_bufãr
+,
+
+675 
+tx_pkts
+);
+
+676 ià(
+ifm_debug
+ & 
+IFM_DEBUG_RXTX
+)
+
+677 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+,
+
+679 
+pÜt
+->
+pmdid
+, 
+tx_Åkts
+);
+
+680 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+681 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: Releasing RW\86ock @ %d\n\r",
+
+682 
+__FUNCTION__
+, 
+__LINE__
+);
+
+684 ià(
+USE_RTM_LOCKS
+) {
+
+685 
+       `¹m_uÆock
+();
+
+687 
+       `¹e_rwlock_»ad_uÆock
+(&
+rwlock
+);
+
+689 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+690 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: Acquiring WR\86ock @ %d\n\r",
+
+691 
+__FUNCTION__
+, 
+__LINE__
+);
+
+693 ià(
+USE_RTM_LOCKS
+) {
+
+694 
+       `¹m_lock
+();
+
+696 
+       `¹e_rwlock_wr\99e_lock
+(&
+rwlock
+);
+
+698 
+pÜt
+->
+n_txpkts
+ +=
+
+699 
+       `¹e_\91h_tx_bufãr_æush
+(
+pÜt
+->
+pmdid
+, 
+IFM_TX_DEFAULT_Q
+,
+
+700 
+pÜt
+->
+tx_bufãr
+);
+
+701 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+702 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: Releasing WR\86ock @ %d\n\r",
+
+703 
+__FUNCTION__
+, 
+__LINE__
+);
+
+705 ià(
+USE_RTM_LOCKS
+) {
+
+706 
+       `¹m_uÆock
+();
+
+708 
+       `¹e_rwlock_wr\99e_uÆock
+(&
+rwlock
+);
+
+710 ià(
+ifm_debug
+ & 
+IFM_DEBUG_RXTX
+)
+
+711 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+,
+
+713 
+pÜt
+->
+n_txpkts
+);
+
+714 \15 
+tx_Åkts
+;
+
+715 
+       }
+}
+
+717 
+\9at16_t
+       $ifm_add_\9dv4_pÜt
+(
+u\9at8_t
+pÜt_id
+, 
+u\9at32_t
+\9daddr
+, u\9at32_\88
+add¾\92
+)
+
+719 
+l2_phy_\9a\8brçû_t
+ *
+pÜt
+;
+
+720 
+\9dv4li¡_t
+ *
+\9dcÚf
+;
+
+721 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+722 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: Acqu\9c\9ag\86ock @ %d\n\r", 
+__FUNCTION__
+,
+
+723 
+__LINE__
+);
+
+725 ià(
+USE_RTM_LOCKS
+) {
+
+726 
+       `¹m_lock
+();
+
+728 
+       `¹e_rwlock_wr\99e_lock
+(&
+rwlock
+);
+
+730 
+pÜt
+ = 
+ifm
+.
+pÜt_li¡
+[
+pÜt_id
+];
+
+731 ià(
+pÜt
+ =ð
+NULL
+) {
+
+732 
+       `RTE_LOG
+(
+ERR
+, 
+IFM
+,
+
+734 
+__FUNCTION__
+, 
+pÜt_id
+);
+
+736 ià(
+pÜt
+ !ð
+NULL
+ &&\85Üt->
+pmdid
+ =ð
+pÜt_id
+) {
+
+737 
+\9dcÚf
+ = (
+\9dv4li¡_t
+ *è
+       `¹e_zm®loc
+(
+NULL
+, \17(ipv4list_t),
+
+738 
+RTE_CACHE_LINE_SIZE
+);
+
+739 ià(
+\9dcÚf
+ !ð
+NULL
+) {
+
+740 
+\9dcÚf
+->
+Ãxt
+ = 
+NULL
+;
+
+742 
+\9dcÚf
+->
+\9daddr
+ = ipaddr;
+
+743 
+\9dcÚf
+->
+pÜt
+ =\85ort;
+
+744 
+\9dcÚf
+->
+add¾\92
+ =\87ddrlen;
+
+745 ià(
+pÜt
+->
+\9dv4_li¡
+ =ð
+NULL
+)
+
+746 
+pÜt
+->
+æags
+ |ð
+IFM_IPV4_ENABLED
+;
+
+747 
+\9dcÚf
+->
+Ãxt
+ = (
+\9dv4li¡_t
+ *è
+pÜt
+->
+\9dv4_li¡
+;
+
+748 
+pÜt
+->
+\9dv4_li¡
+ = (
+\9dv4li¡_t
+ *è
+\9dcÚf
+;
+
+749 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+750 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+,
+
+752 
+__FUNCTION__
+, 
+__LINE__
+);
+
+754 ià(
+USE_RTM_LOCKS
+) {
+
+755 
+       `¹m_uÆock
+();
+
+757 
+       `¹e_rwlock_wr\99e_uÆock
+(&
+rwlock
+);
+
+762 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+763 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: R\96\97s\9ag\86ock @ %d\n\r", 
+__FUNCTION__
+,
+
+764 
+__LINE__
+);
+
+766 ià(
+USE_RTM_LOCKS
+) {
+
+767 
+       `¹m_uÆock
+();
+
+769 
+       `¹e_rwlock_wr\99e_uÆock
+(&
+rwlock
+);
+
+772 
+       }
+}
+
+774 
+\9at16_t
+       $ifm_»move_\9dv4_pÜt
+(
+u\9at8_t
+pÜt_id
+, 
+u\9at32_t
+\9daddr
+,
+
+775 
+u\9at32_t
+add¾\92
+)
+
+777 
+l2_phy_\9a\8brçû_t
+ *
+pÜt
+;
+
+778 
+\9dv4li¡_t
+ *
+\9dli¡
+, *
+´ev\9dli¡
+ = 
+NULL
+;
+
+779 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+780 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: Acqu\9c\9ag\86ock @ %d\n\r", 
+__FUNCTION__
+,
+
+781 
+__LINE__
+);
+
+783 ià(
+USE_RTM_LOCKS
+) {
+
+784 
+       `¹m_lock
+();
+
+786 
+       `¹e_rwlock_wr\99e_lock
+(&
+rwlock
+);
+
+788 
+pÜt
+ = 
+ifm
+.
+pÜt_li¡
+[
+pÜt_id
+];
+
+789 ià(
+pÜt
+ =ð
+NULL
+) {
+
+790 
+       `RTE_LOG
+(
+ERR
+, 
+IFM
+,
+
+792 
+__FUNCTION__
+, 
+pÜt_id
+);
+
+794 ià(
+pÜt
+ !ð
+NULL
+ &&\85Üt->
+pmdid
+ =ð
+pÜt_id
+) {
+
+795 ià(
+pÜt
+->
+\9dv4_li¡
+ =ð
+NULL
+) {
+
+796 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+797 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+,
+
+799 
+__FUNCTION__
+, 
+__LINE__
+);
+
+801 ià(
+USE_RTM_LOCKS
+) {
+
+802 
+       `¹m_uÆock
+();
+
+804 
+       `¹e_rwlock_wr\99e_uÆock
+(&
+rwlock
+);
+
+808 
+\9dli¡
+ = (
+\9dv4li¡_t
+ *è
+pÜt
+->
+\9dv4_li¡
+;
+
+809 \1f
+\9dli¡
+ !ð
+NULL
+) {
+
+810 ià(
+add¾\92
+ =ð
+\9dli¡
+->addrlen &&
+
+811 
+       `memýy
+(&
+\9dli¡
+->
+\9daddr
+, &\9daddr, 
+add¾\92
+)) {
+
+812 ià(
+\9dli¡
+ =ð
+pÜt
+->
+\9dv4_li¡
+) {
+
+813 
+pÜt
+->
+\9dv4_li¡
+ = 
+\9dli¡
+->
+Ãxt
+;
+
+815 ià(
+´ev\9dli¡
+ !ð
+NULL
+)
+
+816 
+´ev\9dli¡
+->
+Ãxt
+ = 
+\9dli¡
+->next;
+
+818 
+pÜt
+->
+æags
+ &ð~
+IFM_IPV4_ENABLED
+;
+
+819 
+       `¹e_ä\93
+(
+\9dli¡
+);
+
+820 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+821 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+,
+
+823 
+__FUNCTION__
+, 
+__LINE__
+);
+
+825 ià(
+USE_RTM_LOCKS
+) {
+
+826 
+       `¹m_uÆock
+();
+
+828 
+       `¹e_rwlock_wr\99e_uÆock
+(&
+rwlock
+);
+
+832 
+´ev\9dli¡
+ = 
+\9dli¡
+;
+
+833 
+\9dli¡
+ = i¶i¡->
+Ãxt
+;
+
+837 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+838 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: R\96\97s\9ag\86ock @ %d\n\r", 
+__FUNCTION__
+,
+
+839 
+__LINE__
+);
+
+841 ià(
+USE_RTM_LOCKS
+) {
+
+842 
+       `¹m_uÆock
+();
+
+844 
+       `¹e_rwlock_wr\99e_uÆock
+(&
+rwlock
+);
+
+847 
+       }
+}
+
+849 
+\9at8_t
+       $ifm_add_\9dv6_pÜt
+(
+u\9at8_t
+pÜt_id
+, u\9at8_\88
+\9d6addr
+[], 
+u\9at32_t
+add¾\92
+)
+
+851 
+l2_phy_\9a\8brçû_t
+ *
+pÜt
+;
+
+852 
+\9dv6li¡_t
+ *
+\9d6cÚf
+;
+
+853 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+854 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: Acqu\9c\9ag\86ock @ %d\n\r", 
+__FUNCTION__
+,
+
+855 
+__LINE__
+);
+
+857 ià(
+USE_RTM_LOCKS
+) {
+
+858 
+       `¹m_lock
+();
+
+860 
+       `¹e_rwlock_wr\99e_lock
+(&
+rwlock
+);
+
+862 
+pÜt
+ = 
+ifm
+.
+pÜt_li¡
+[
+pÜt_id
+];
+
+863 ià(
+pÜt
+ =ð
+NULL
+) {
+
+864 
+       `RTE_LOG
+(
+ERR
+, 
+IFM
+,
+
+866 
+__FUNCTION__
+, 
+pÜt_id
+);
+
+868 ià(
+pÜt
+ !ð
+NULL
+ &&\85Üt->
+pmdid
+ =ð
+pÜt_id
+) {
+
+869 
+\9d6cÚf
+ = (
+\9dv6li¡_t
+ *è
+       `¹e_zm®loc
+(
+NULL
+, \17(ipv6list_t),
+
+870 
+RTE_CACHE_LINE_SIZE
+);
+
+871 ià(
+\9d6cÚf
+ !ð
+NULL
+) {
+
+872 
+\9d6cÚf
+->
+Ãxt
+ = 
+NULL
+;
+
+873 
+       `memýy
+(
+\9d6cÚf
+->
+\9daddr
+, 
+\9d6addr
+, 
+IFM_IPV6_ADDR_SIZE
+);
+
+874 
+\9d6cÚf
+->
+pÜt
+ =\85ort;
+
+875 
+\9d6cÚf
+->
+add¾\92
+ =\87ddrlen;
+
+877 ià(
+pÜt
+->
+\9dv6_li¡
+ =ð
+NULL
+) {
+
+878 
+pÜt
+->
+æags
+ |ð
+IFM_IPV6_ENABLED
+;
+
+880 
+\9d6cÚf
+->
+Ãxt
+ = (
+\9dv6li¡_t
+ *è
+pÜt
+->
+\9dv6_li¡
+;
+
+881 
+pÜt
+->
+\9dv6_li¡
+ = (
+\9dv6li¡_t
+ *è
+\9d6cÚf
+;
+
+882 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+883 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+,
+
+885 
+__FUNCTION__
+, 
+__LINE__
+);
+
+887 ià(
+USE_RTM_LOCKS
+) {
+
+888 
+       `¹m_uÆock
+();
+
+890 
+       `¹e_rwlock_wr\99e_uÆock
+(&
+rwlock
+);
+
+895 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+896 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: R\96\97s\9ag\86ock @ %d\n\r", 
+__FUNCTION__
+,
+
+897 
+__LINE__
+);
+
+899 ià(
+USE_RTM_LOCKS
+) {
+
+900 
+       `¹m_uÆock
+();
+
+902 
+       `¹e_rwlock_wr\99e_uÆock
+(&
+rwlock
+);
+
+905 
+       }
+}
+
+907 
+\9at16_t
+       $ifm_»move_\9dv6_pÜt
+(
+u\9at8_t
+pÜt_id
+, 
+u\9at32_t
+\9d6addr
+,
+
+908 
+u\9at32_t
+add¾\92
+)
+
+910 
+l2_phy_\9a\8brçû_t
+ *
+pÜt
+;
+
+911 
+\9dv6li¡_t
+ *
+\9d6li¡
+, *
+´ev\9d6li¡
+ = 
+NULL
+;
+
+913 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+914 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: Acqu\9c\9ag\86ock @ %d\n\r", 
+__FUNCTION__
+,
+
+915 
+__LINE__
+);
+
+916 ià(
+USE_RTM_LOCKS
+)
+
+917 
+       `¹m_lock
+();
+
+919 
+       `¹e_rwlock_wr\99e_lock
+(&
+rwlock
+);
+
+920 
+pÜt
+ = 
+ifm
+.
+pÜt_li¡
+[
+pÜt_id
+];
+
+921 ià(
+pÜt
+ =ð
+NULL
+) {
+
+922 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+923 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: Releasing\86ock @ %d\n\r",
+
+924 
+__FUNCTION__
+, 
+__LINE__
+);
+
+925 ià(
+USE_RTM_LOCKS
+) {
+
+926 
+       `¹m_uÆock
+();
+
+928 
+       `¹e_rwlock_wr\99e_uÆock
+(&
+rwlock
+);
+
+930 
+       `RTE_LOG
+(
+ERR
+, 
+IFM
+,
+
+932 
+__FUNCTION__
+, 
+pÜt_id
+);
+
+934 ià(
+pÜt
+ !ð
+NULL
+ &&\85Üt->
+pmdid
+ =ð
+pÜt_id
+) {
+
+935 ià(
+pÜt
+->
+\9dv6_li¡
+ =ð
+NULL
+) {
+
+936 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+937 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+,
+
+939 
+__FUNCTION__
+, 
+__LINE__
+);
+
+941 ià(
+USE_RTM_LOCKS
+) {
+
+942 
+       `¹m_uÆock
+();
+
+944 
+       `¹e_rwlock_wr\99e_uÆock
+(&
+rwlock
+);
+
+948 
+\9d6li¡
+ = (
+\9dv6li¡_t
+ *è
+pÜt
+->
+\9dv6_li¡
+;
+
+949 \1f
+\9d6li¡
+ !ð
+NULL
+) {
+
+950 ià(
+add¾\92
+ =ð
+\9d6li¡
+->addrlen &&
+
+951 
+       `memýy
+(&
+\9d6li¡
+->
+\9daddr
+, &
+\9d6addr
+, 
+add¾\92
+)) {
+
+952 ià(
+\9d6li¡
+ =ð
+pÜt
+->
+\9dv6_li¡
+) {
+
+953 
+pÜt
+->
+\9dv6_li¡
+ = 
+\9d6li¡
+->
+Ãxt
+;
+
+955 ià(
+´ev\9d6li¡
+ !ð
+NULL
+)
+
+956 
+´ev\9d6li¡
+->
+Ãxt
+ =
+
+957 
+\9d6li¡
+->
+Ãxt
+;
+
+959 
+pÜt
+->
+æags
+ &ð~
+IFM_IPV6_ENABLED
+;
+
+960 
+       `¹e_ä\93
+(
+\9d6li¡
+);
+
+961 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+962 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+,
+
+964 
+__FUNCTION__
+, 
+__LINE__
+);
+
+966 ià(
+USE_RTM_LOCKS
+) {
+
+967 
+       `¹m_uÆock
+();
+
+969 
+       `¹e_rwlock_wr\99e_uÆock
+(&
+rwlock
+);
+
+973 
+´ev\9d6li¡
+ = 
+\9d6li¡
+;
+
+974 
+\9d6li¡
+ = ip6li¡->
+Ãxt
+;
+
+978 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+979 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: R\96\97s\9ag\86ock @ %d\n\r", 
+__FUNCTION__
+,
+
+980 
+__LINE__
+);
+
+981 ià(
+USE_RTM_LOCKS
+)
+
+982 
+       `¹m_uÆock
+();
+
+984 
+       `¹e_rwlock_wr\99e_uÆock
+(&
+rwlock
+);
+
+986 
+       }
+}
+
+988 
+\9at32_t
+       $ifm_chk_pÜt_\9dv4_\92abËd
+(
+u\9at8_t
+pÜt_id
+)
+
+990 
+l2_phy_\9a\8brçû_t
+ *
+pÜt
+;
+
+992 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+993 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: Acquiring RD\86ock @ %d\n\r",
+
+994 
+__FUNCTION__
+, 
+__LINE__
+);
+
+995 ià(
+USE_RTM_LOCKS
+)
+
+996 
+       `¹m_lock
+();
+
+998 
+       `¹e_rwlock_»ad_lock
+(&
+rwlock
+);
+
+999 
+pÜt
+ = 
+ifm
+.
+pÜt_li¡
+[
+pÜt_id
+];
+
+1000 ià(
+pÜt
+ =ð
+NULL
+) {
+
+1001 
+       `RTE_LOG
+(
+ERR
+, 
+IFM
+,
+
+1003 
+__FUNCTION__
+, 
+pÜt_id
+);
+
+1004 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+1005 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: Releasing\86ock @ %d\n\r",
+
+1006 
+__FUNCTION__
+, 
+__LINE__
+);
+
+1007 ià(
+USE_RTM_LOCKS
+)
+
+1008 
+       `¹m_uÆock
+();
+
+1010 
+       `¹e_rwlock_»ad_uÆock
+(&
+rwlock
+);
+
+1011 \15 
+IFM_FAILURE
+;
+
+1013 ià((
+pÜt
+->
+æags
+ & 
+IFM_IPV4_ENABLED
+) == 0) {
+
+1014 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+1015 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: Releasing\86ock @ %d\n\r",
+
+1016 
+__FUNCTION__
+, 
+__LINE__
+);
+
+1017 ià(
+USE_RTM_LOCKS
+)
+
+1018 
+       `¹m_uÆock
+();
+
+1020 
+       `¹e_rwlock_»ad_uÆock
+(&
+rwlock
+);
+
+1023 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+1024 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: Releasing\86ock @ %d\n\r",
+
+1025 
+__FUNCTION__
+, 
+__LINE__
+);
+
+1026 ià(
+USE_RTM_LOCKS
+)
+
+1027 
+       `¹m_uÆock
+();
+
+1029 
+       `¹e_rwlock_»ad_uÆock
+(&
+rwlock
+);
+
+1032 
+       }
+}
+
+1034 
+\9at32_t
+       $ifm_chk_pÜt_\9dv6_\92abËd
+(
+u\9at8_t
+pÜt_id
+)
+
+1036 
+l2_phy_\9a\8brçû_t
+ *
+pÜt
+;
+
+1038 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+1039 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: Acquiring RD\86ock @ %d\n\r",
+
+1040 
+__FUNCTION__
+, 
+__LINE__
+);
+
+1041 ià(
+USE_RTM_LOCKS
+)
+
+1042 
+       `¹m_lock
+();
+
+1044 
+       `¹e_rwlock_»ad_lock
+(&
+rwlock
+);
+
+1046 
+pÜt
+ = 
+ifm
+.
+pÜt_li¡
+[
+pÜt_id
+];
+
+1047 ià(
+pÜt
+ =ð
+NULL
+) {
+
+1048 ià(
+ifm_debug
+ & 
+IFM_DEBUG
+)
+
+1049 
+       `RTE_LOG
+(
+ERR
+, 
+IFM
+, "%s: Port %u info\82ot found..."
+
+1051 
+__FUNCTION__
+, 
+pÜt_id
+);
+
+1052 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+1053 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: Releasing RD\86ock @ %d\n\r",
+
+1054 
+__FUNCTION__
+, 
+__LINE__
+);
+
+1055 ià(
+USE_RTM_LOCKS
+)
+
+1056 
+       `¹m_uÆock
+();
+
+1058 
+       `¹e_rwlock_»ad_uÆock
+(&
+rwlock
+);
+
+1059 \15 
+IFM_FAILURE
+;
+
+1061 ià((
+pÜt
+->
+æags
+ & 
+IFM_IPV6_ENABLED
+) == 0) {
+
+1062 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+1063 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: Releasing RD\86ock @ %d\n\r",
+
+1064 
+__FUNCTION__
+, 
+__LINE__
+);
+
+1065 ià(
+USE_RTM_LOCKS
+)
+
+1066 
+       `¹m_uÆock
+();
+
+1068 
+       `¹e_rwlock_»ad_uÆock
+(&
+rwlock
+);
+
+1071 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+1072 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: Releasing RD\86ock @ %d\n\r",
+
+1073 
+__FUNCTION__
+, 
+__LINE__
+);
+
+1074 ià(
+USE_RTM_LOCKS
+)
+
+1075 
+       `¹m_uÆock
+();
+
+1077 
+       `¹e_rwlock_»ad_uÆock
+(&
+rwlock
+);
+
+1080 
+       }
+}
+
+1082 \1e
+       $ifm_»gi¡\94_fÜ_l\9akupd©e
+(
+u\9at32_t
\9bÁid
+,
+
+1083 \1e(*
+cb_l\9akupd©e
+è(
+u\9at8_t
+, \1d\12))
+
+1085 
+ifm
+.
+if_þ\9bÁ
+[ifm.
+nþ\9bÁ
+].
+cb_l\9akupd©e
+ = cb_linkupdate;
+
+1086 
+ifm
+.
+if_þ\9bÁ
+[ifm.
+nþ\9bÁ
+].
\9bÁid
+ = clientid;
+
+1087 
+ifm
+.
+nþ\9bÁ
+++;
+
+1088 
+       }
+}
+
+1090 \12
+       $ifm_pÜt_£tup
+(
+u\9at8_t
+pÜt_id
+, 
+pÜt_cÚfig_t
+ *
+pcÚfig
+)
+
+1092 \12
+¡©us
+, 
+sock
+;
+
+1093 \ 5
+buf
+[12];
+
+1094 \19
+¹e_\91h_dev_\9afo
+dev_\9afo
+;
+
+1095 \19
+¹e_\91h_l\9ak
+l\9ak¡©us
+;
+
+1096 
+l2_phy_\9a\8brçû_t
+ *
+pÜt
+ = 
+NULL
+;
+
+1098 ià(!
+ifm
+.
+ÅÜt_\9at\9flized
+) {
+
+1099 
+       `RTE_LOG
+(
+ERR
+, 
+IFM
+, "%s: Failed\81o configure\85ort %u. 0\85orts"
+
+1101 
+__FUNCTION__
+, 
+pÜt_id
+);
+
+1102 \15 
+IFM_FAILURE
+;
+
+1104 ià(
+ifm_debug
+ & 
+IFM_DEBUG_CONFIG
+)
+
+1105 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: Configuring\85ort %u with "
+
+1106 "Äxq: %u,\82txq: %u\n\r", 
+__FUNCTION__
+,
+
+1107 
+pÜt_id
+, 
+pcÚfig
+->
+Äx_queue
+,\85cÚfig->
+Áx_queue
+);
+
+1108 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+1109 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: Acquiring WR\86ock1 @ %d\n\r",
+
+1110 
+__FUNCTION__
+, 
+__LINE__
+);
+
+1111 ià(
+USE_RTM_LOCKS
+)
+
+1112 
+       `¹m_lock
+();
+
+1114 
+       `¹e_rwlock_wr\99e_lock
+(&
+rwlock
+);
+
+1116 ià(
+ifm
+.
+pÜt_li¡
+[
+pÜt_id
+] =ð
+NULL
+) {
+
+1117 
+ifm
+.
+pÜt_li¡
+[
+pÜt_id
+] =
+
+1118 (
+l2_phy_\9a\8brçû_t
+ *è
+       `¹e_zm®loc
+(
+NULL
+,
+
+1120 (
+l2_phy_\9a\8brçû_t
+),
+
+1121 
+RTE_CACHE_LINE_SIZE
+);
+
+1122 
+ifm
+.
+pÜt_li¡
+[
+pÜt_id
+]->
+pmdid
+ =\85ort_id;
+
+1124 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+1125 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: Releasing WR\86ock1 @ %d\n\r",
+
+1126 
+__FUNCTION__
+, 
+__LINE__
+);
+
+1127 ià(
+USE_RTM_LOCKS
+)
+
+1128 
+       `¹m_uÆock
+();
+
+1130 
+       `¹e_rwlock_wr\99e_uÆock
+(&
+rwlock
+);
+
+1132 
+       `¹e_\91h_l\9ak_g\91
+(
+pÜt_id
+, &
+l\9ak¡©us
+);
+
+1133 ià(
+l\9ak¡©us
+.
+l\9ak_¡©us
+) {
+
+1134 ià(
+ifm_debug
+ & 
+IFM_DEBUG_CONFIG
+) {
+
+1135 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: %u is up.Stop it before"
+
+1136 "\84ecÚfigur\9ag.\n\r", 
+__FUNCTION__
+, 
+pÜt_id
+);
+
+1138 
+       `¹e_\91h_dev_¡Ý
+(
+pÜt_id
+);
+
+1141 
+¡©us
+ = 
+       `¹e_\91h_dev_cÚfigu»
+(
+pÜt_id
+, 
+pcÚfig
+->
+Äx_queue
+,
+
+1142 
+pcÚfig
+->
+Áx_queue
+, &pcÚfig->
+pÜt_cÚf
+);
+
+1143 ià(
+¡©us
+ < 0) {
+
+1144 
+       `ifm_»move_pÜt_d\91a\9es
+(
+pÜt_id
+);
+
+1145 
+       `RTE_LOG
+(
+ERR
+, 
+IFM
+, "%s:\84te_eth_dev_configure is failed"
+
+1146 "f܅܈%u.\n\r", 
+__FUNCTION__
+, 
+pÜt_id
+);
+
+1147 \15 
+IFM_FAILURE
+;
+
+1149 
+¡©us
+ = 
+       `¹e_\91h_dev_ÿÎback_»gi¡\94
+(
+pÜt_id
+,
+
+1150 
+RTE_ETH_EVENT_INTR_LSC
+,
+
+1151 
+lsi_ev\92t_ÿÎback
+, 
+NULL
+);
+
+1152 ià(
+¡©us
+ < 0) {
+
+1153 
+       `ifm_»move_pÜt_d\91a\9es
+(
+pÜt_id
+);
+
+1154 
+       `RTE_LOG
+(
+ERR
+, 
+IFM
+, "%s:\84te_eth_dev_callback_register()"
+
+1155 " fa\9eed fÜ\85Ü\88%u.\n\r", 
+__FUNCTION__
+, 
+pÜt_id
+);
+
+1156 \15 
+IFM_FAILURE
+;
+
+1159 ià(
+pcÚfig
+->
+´omisc
+)
+
+1160 
+       `¹e_\91h_´omiscuous_\92abË
+(
+pÜt_id
+);
+
+1162 
+sock
+ = 
+       `¹e_\91h_dev_sock\91_id
+(
+pÜt_id
+);
+
+1163 ià(
+sock
+ == -1)
+
+1164 
+       `RTE_LOG
+(
+ERR
+, 
+IFM
+, "%s: Warning:\84te_eth_dev_socket_id,"
+
+1166 "ou\88oà¿ng\90%u\n\r", 
+__FUNCTION__
+, 
+pÜt_id
+);
+
+1168 \12
+Áxqs
+;
+
+1169 \ f
+Áxqs
+ = 0;\82txq < 
+pcÚfig
+->
+Áx_queue
+;\82txqs++) {
+
+1170 
+¡©us
+ = 
+       `¹e_\91h_tx_queue_£tup
+(
+pÜt_id
+, 
+Áxqs
+,
+
+1171 
+IFM_TX_DESC_DEFAULT
+, 
+sock
+,
+
+1172 &(
+pcÚfig
+->
+tx_cÚf
+));
+
+1173 ià(
+¡©us
+ < 0) {
+
+1174 
+       `ifm_»move_pÜt_d\91a\9es
+(
+pÜt_id
+);
+
+1175 
+       `RTE_LOG
+(
+ERR
+, 
+IFM
+, "%s:\84te_eth_tx_queue_setup failed"
+
+1176 " f܅܈%u\n\r", 
+__FUNCTION__
+, 
+pÜt_id
+);
+
+1177 \15 
+IFM_FAILURE
+;
+
+1180 
+pÜt
+ = 
+       `ifm_g\91_pÜt
+(
+pÜt_id
+);
+
+1181 ià(
+pÜt
+ =ð
+NULL
+) {
+
+1182 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: PÜ\88i NULL @ %d\n\r", 
+__FUNCTION__
+,
+
+1183 
+__LINE__
+);
+
+1184 \15 
+IFM_FAILURE
+;
+
+1187 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+1188 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: Acquiring WR\86ock 2 @ %d\n\r",
+
+1189 
+__FUNCTION__
+, 
+__LINE__
+);
+
+1190 ià(
+USE_RTM_LOCKS
+)
+
+1191 
+       `¹m_lock
+();
+
+1193 
+       `¹e_rwlock_wr\99e_lock
+(&
+rwlock
+);
+
+1195 ià(
+pÜt
+->
+tx_buf_Ën
+ == 0) {
+
+1196 
+pÜt
+->
+tx_buf_Ën
+ = 
+       `RTE_ETH_TX_BUFFER_SIZE
+(
+IFM_BURST_SIZE
+);
+
+1198 
+pÜt
+->
+tx_bufãr
+ = 
+       `¹e_zm®loc_sock\91
+("tx_bufãr",\85Üt->
+tx_buf_Ën
+, 0,
+
+1199 
+       `¹e_\91h_dev_sock\91_id
+(
+pÜt_id
+));
+
+1201 ià(
+pÜt
+->
+tx_bufãr
+ =ð
+NULL
+) {
+
+1202 
+       `ifm_»move_pÜt_d\91a\9es
+(
+pÜt_id
+);
+
+1203 
+       `RTE_LOG
+(
+ERR
+, 
+IFM
+, "%s: Failed\81o\87llocate\81x buffers for"
+
+1204 "\85Ü\88%u\n\r", 
+__FUNCTION__
+, 
+pÜt_id
+);
+
+1205 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+1206 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: Releasing WR\86ock2 %d\n\r",
+
+1207 
+__FUNCTION__
+, 
+__LINE__
+);
+
+1208 ià(
+USE_RTM_LOCKS
+)
+
+1209 
+       `¹m_uÆock
+();
+
+1211 
+       `¹e_rwlock_wr\99e_uÆock
+(&
+rwlock
+);
+
+1212 \15 
+IFM_FAILURE
+;
+
+1214 
+       `¹e_\91h_tx_bufãr_\9a\99
+(
+pÜt
+->
+tx_bufãr
+, 
+IFM_BURST_SIZE
+);
+
+1216 
+       `¥r\9atf
+(
+buf
+, "MEMPOOL%d", 
+pÜt_id
+);
+
+1217 
+pÜt
+->
+mempoÞ
+ = 
+       `¹e_mempoÞ_ü\97\8b
+(
+buf
+,
+
+1218 
+pcÚfig
+->
+mempoÞ
+.
+poÞ_size
+,
+
+1219 
+pcÚfig
+->
+mempoÞ
+.
+bufãr_size
+,
+
+1220 
+pcÚfig
+->
+mempoÞ
+.
+ÿche_size
+,
+
+1222 
+¹e_pktmbuf_poÞ_´iv©e
+),
+
+1223 
+¹e_pktmbuf_poÞ_\9a\99
+, 
+NULL
+,
+
+1224 
+¹e_pktmbuf_\9a\99
+, 
+NULL
+, 
+sock
+, 0);
+
+1225 ià(
+pÜt
+->
+mempoÞ
+ =ð
+NULL
+) {
+
+1226 
+       `ifm_»move_pÜt_d\91a\9es
+(
+pÜt_id
+);
+
+1227 
+       `RTE_LOG
+(
+ERR
+, 
+IFM
+, "%s:\84te_mempool_create is failed for\85ort"
+
+1229 
+__FUNCTION__
+, 
+pÜt_id
+, 
+       `¹e_¡»¼Ü
+(
+¹e_\94ºo
+));
+
+1230 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+1231 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: Releasing WR\86ock2 %d\n\r",
+
+1232 
+__FUNCTION__
+, 
+__LINE__
+);
+
+1233 ià(
+USE_RTM_LOCKS
+)
+
+1234 
+       `¹m_uÆock
+();
+
+1236 
+       `¹e_rwlock_wr\99e_uÆock
+(&
+rwlock
+);
+
+1237 \15 
+IFM_FAILURE
+;
+
+1239 \12
+Äxqs
+;
+
+1240 \ f
+Äxqs
+ = 0;\82rxq < 
+pcÚfig
+->
+Äx_queue
+;\82rxqs++) {
+
+1241 
+¡©us
+ = 
+       `¹e_\91h_rx_queue_£tup
+(
+pÜt_id
+, 
+Äxqs
+,
+
+1242 
+IFM_RX_DESC_DEFAULT
+, 
+sock
+,
+
+1243 &(
+pcÚfig
+->
+rx_cÚf
+),
+
+1244 
+pÜt
+->
+mempoÞ
+);
+
+1245 ià(
+¡©us
+ < 0) {
+
+1246 
+       `ifm_»move_pÜt_d\91a\9es
+(
+pÜt_id
+);
+
+1247 
+       `RTE_LOG
+(
+ERR
+, 
+IFM
+,
+
+1250 
+__FUNCTION__
+, 
+pÜt_id
+, 
+Äxqs
+,
+
+1251 
+       `¹e_¡»¼Ü
+(
+¹e_\94ºo
+));
+
+1252 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+1253 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+,
+
+1255 
+__FUNCTION__
+, 
+__LINE__
+);
+
+1256 ià(
+USE_RTM_LOCKS
+)
+
+1257 
+       `¹m_uÆock
+();
+
+1259 
+       `¹e_rwlock_wr\99e_uÆock
+(&
+rwlock
+);
+
+1260 \15 
+IFM_FAILURE
+;
+
+1264 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+1265 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: Releasing WR\86ock2 @ %d\n\r",
+
+1266 
+__FUNCTION__
+, 
+__LINE__
+);
+
+1267 ià(
+USE_RTM_LOCKS
+)
+
+1268 
+       `¹m_uÆock
+();
+
+1270 
+       `¹e_rwlock_wr\99e_uÆock
+(&
+rwlock
+);
+
+1271 
+¡©us
+ = 
+       `¹e_\91h_dev_¡¬t
+(
+pÜt_id
+);
+
+1272 ià(
+¡©us
+ < 0) {
+
+1273 
+       `ifm_»move_pÜt_d\91a\9es
+(
+pÜt_id
+);
+
+1274 
+       `RTE_LOG
+(
+ERR
+, 
+IFM
+, "%s:\84te_eth_dev_start is failed for"
+
+1275 "\85Ü\88%u.\n\r", 
+__FUNCTION__
+, 
+pÜt_id
+);
+
+1276 \15 
+IFM_FAILURE
+;
+
+1278 
+       `¹e_d\96ay_ms
+(5000);
+
+1280 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+1281 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: Acquiring WR\86ock3 @ %d\n\r",
+
+1282 
+__FUNCTION__
+, 
+__LINE__
+);
+
+1283 ià(
+USE_RTM_LOCKS
+)
+
+1284 
+       `¹m_lock
+();
+
+1286 
+       `¹e_rwlock_wr\99e_lock
+(&
+rwlock
+);
+
+1287 
+       `¹e_\91h_maÿddr_g\91
+(
+pÜt_id
+, (\19
+\91h\94_addr
+ *)
+pÜt
+->
+maÿddr
+);
+
+1288 ià(
+pcÚfig
+->
+´omisc
+)
+
+1289 
+pÜt
+->
+´omisc
+ = 1;
+
+1290 
+       `¹e_\91h_l\9ak_g\91
+(
+pÜt_id
+, &
+l\9ak¡©us
+);
+
+1292 
+pÜt
+->
+l\9ak_du¶ex
+ = 
+l\9ak¡©us
+.link_duplex;
+
+1293 
+pÜt
+->
+l\9ak_autÚeg
+ = 
+l\9ak¡©us
+.link_autoneg;
+
+1294 
+pÜt
+->
+l\9ak_¥\93d
+ = 
+l\9ak¡©us
+.link_speed;
+
+1295 
+pÜt
+->
+adm\9a_¡©us
+ = 
+pcÚfig
+->
+¡©e
+;
+
+1298 
+       `mem£t
+(&
+dev_\9afo
+, 0, \17(dev_info));
+
+1299 
+       `¹e_\91h_dev_\9afo_g\91
+(
+pÜt_id
+, &
+dev_\9afo
+);
+
+1300 
+pÜt
+->
+m\9a_rx_bufsize
+ = 
+dev_\9afo
+.min_rx_bufsize;
+
+1301 
+pÜt
+->
+max_rx_pk\8e\92
+ = 
+dev_\9afo
+.max_rx_pktlen;
+
+1302 
+pÜt
+->
+max_rx_queues
+ = 
+dev_\9afo
+.max_rx_queues;
+
+1303 
+pÜt
+->
+max_tx_queues
+ = 
+dev_\9afo
+.max_tx_queues;
+
+1304 
+       `¹e_\91h_dev_g\91_mtu
+(
+pÜt_id
+, &(
+pÜt
+->
+mtu
+));
+
+1307 
+pÜt
+->
\8c\9bve_bulk_pkts
+ = &
+ifm_»ûive_bulk_pkts
+;
+
+1308 
+pÜt
+->
+\8cªsm\99_bulk_pkts
+ = &
+ifm_\8cªsm\99_bulk_pkts
+;
+
+1309 
+pÜt
+->
+\8cªsm\99_s\9agË_pkt
+ = &
+ifm_\8cªsm\99_s\9agË_pkt
+;
+
+1310 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+1311 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: Releasing WR3\86ock @ %d\n\r",
+
+1312 
+__FUNCTION__
+, 
+__LINE__
+);
+
+1313 ià(
+USE_RTM_LOCKS
+)
+
+1314 
+       `¹m_uÆock
+();
+
+1316 
+       `¹e_rwlock_wr\99e_uÆock
+(&
+rwlock
+);
+
+1317 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: Port %u is successfully configured.\n\r",
+
+1318 
+__FUNCTION__
+, 
+pÜt_id
+);
+
+1319 \15 
+IFM_SUCCESS
+;
+
+1320 
+       }
+}
+
+1322 \12
+       $ifm_cÚfigu»_pÜts
+(
+pÜt_cÚfig_t
+ *
+pcÚfig
+)
+
+1324 
+u\9at8_t
+pÜt_id
+;
+
+1325 \12
+¡©us
+ = 0;
+
+1326 ià(!
+ifm
+.
+ÅÜt_\9at\9flized
+) {
+
+1327 
+       `RTE_LOG
+(
+ERR
+, 
+IFM
+, "%s, Configuring\85orts failed. Zero\85orts "
+
+1328 "¬\90\9at\9flized dur\9ag PCI\85robe", 
+__FUNCTION__
+);
+
+1329 \15 
+IFM_FAILURE
+;
+
+1331 ià(
+pcÚfig
+ =ð
+NULL
+) {
+
+1332 
+       `RTE_LOG
+(
+ERR
+, 
+IFM
+, "%s, Configuring\85orts failed. "
+
+1333 "P¬am\85cÚfig i NULL\n\r", 
+__FUNCTION__
+);
+
+1334 \15 
+IFM_FAILURE
+;
+
+1338 \ f
+pÜt_id
+ = 0;\85Üt_id < 
+ifm
+.
+ÅÜt_\9at\9flized
+;\85ort_id++) {
+
+1339 ià(
+ifm_debug
+ & 
+IFM_DEBUG_CONFIG
+)
+
+1340 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "Call ifm_port_setup %u\n\r",
+
+1341 
+pÜt_id
+);
+
+1342 
+¡©us
+ =
+
+1343 
+       `ifm_pÜt_£tup
+(
+pcÚfig
+[
+pÜt_id
+].port_id, &pconfig[port_id]);
+
+1344 ià(
+¡©us
+ =ð
+IFM_SUCCESS
+)
+
+1345 
+ifm
+.
+ÅÜt_cÚfigu»d
+++;
+
+1347 ià(!
+ifm
+.
+ÅÜt_cÚfigu»d
+) {
+
+1348 
+       `RTE_LOG
+(
+ERR
+, 
+IFM
+, "%s: Zero\85orts\87re configured\n\r",
+
+1349 
+__FUNCTION__
+);
+
+1350 \15 
+IFM_FAILURE
+;
+
+1352 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: Number of\85orts sucessfully configured:"
+
+1353 " %d\n\r", 
+__FUNCTION__
+, 
+ifm
+.
+ÅÜt_cÚfigu»d
+);
+
+1354 \15 
+IFM_SUCCESS
+;
+
+1355 
+       }
+}
+
+1357 \1e
+       $´\9at_\9a\8brçû_d\91a\9es
+(\1e)
+
+1359 
+l2_phy_\9a\8brçû_t
+ *
+pÜt
+;
+
+1360 \12
+i
+ = 0;
+
+1361 \19
+sockaddr_\9a
+\9d
+;
+
+1362 
+       `´\9atf
+("\n\r");
+
+1364 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+1365 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: Acquiring RW\86ock @ %d\n\r",
+
+1366 
+__FUNCTION__
+, 
+__LINE__
+);
+
+1367 ià(
+USE_RTM_LOCKS
+)
+
+1368 
+       `¹m_lock
+();
+
+1370 
+       `¹e_rwlock_»ad_lock
+(&
+rwlock
+);
+
+1372 \ f
+i
+ = 0; i < 
+RTE_MAX_ETHPORTS
+ && 
+ifm
+.
+pÜt_li¡
+[i]; i++) {
+
+1373 
+pÜt
+ = 
+ifm
+.
+pÜt_li¡
+[
+i
+];
+
+1374 
+       `´\9atf
+(" %u", 
+pÜt
+->
+pmdid
+);
+
+1375 ià(
+pÜt
+->
+iâame
+ && 
+       `¡¾\92
+(port->ifname)) {
+
+1376 
+       `´\9atf
+(" (%s)\t", 
+pÜt
+->
+iâame
+);
+
+1378 
+       `´\9atf
+("\t\t");
+
+1379 
+       `´\9atf
+("MAC:%02x:%02x:%02x:%02x:%02x:%02x Adminstate:%s"
+
+1381 
+pÜt
+->
+maÿddr
+[0],\85ort->macaddr[1],
+
+1382 
+pÜt
+->
+maÿddr
+[2],\85ort->macaddr[3],
+
+1383 
+pÜt
+->
+maÿddr
+[4],\85ort->macaddr[5],
+
+1384 
+pÜt
+->
+adm\9a_¡©us
+ ? "UP" : "DOWN",
+
+1385 
+pÜt
+->
+l\9ak_¡©us
+ ? "UP" : "DOWN");
+
+1386 
+       `´\9atf
+("\t\t");
+
+1387 
+       `´\9atf
+("S³ed: %u, %s-du¶ex\n\r", 
+pÜt
+->
+l\9ak_¥\93d
+,
+
+1388 
+pÜt
+->
+l\9ak_du¶ex
+ ? "full" : "half");
+
+1389 
+       `´\9atf
+("\t\t");
+
+1391 ià(
+pÜt
+->
+\9dv4_li¡
+ !ð
+NULL
+) {
+
+1392 
+\9d
+.
+s\9a_addr
+.
+s_addr
+ =
+
+1393 (\1d\13)((
+\9dv4li¡_t
+ *è(
+pÜt
+->
+\9dv4_li¡
+))->
+
+1394 
+\9daddr
+;
+
+1395 
+       `´\9atf
+("IP: %s/%d", 
+       `\9a\91_Áß
+(
+\9d
+.
+s\9a_addr
+),
+
+1396 ((
+\9dv4li¡_t
+ *è(
+pÜt
+->
+\9dv4_li¡
+))->
+add¾\92
+);
+
+1398 
+       `´\9atf
+("IP: NA");
+
+1401 
+       `´\9atf
+("\r\n");
+
+1402 
+       `´\9atf
+("\t\t");
+
+1403 ià(
+pÜt
+->
+\9dv6_li¡
+ !ð
+NULL
+) {
+
+1404 
+u\9at8_t
+ *
+addr
+ =
+
+1405 ((
+\9dv6li¡_t
+ *è(
+pÜt
+->
+\9dv6_li¡
+))->
+\9daddr
+;
+
+1406 
\9atf
+
+
+1408 
+addr
+[0],\87ddr[1],\87ddr[2],\87ddr[3],\87ddr[4],
+
+1409 
+addr
+[5],\87ddr[6],\87ddr[7],\87ddr[8],\87ddr[9],
+
+1410 
+addr
+[10],\87ddr[11],\87ddr[12],\87ddr[13],\87ddr[14],
+
+1411 
+addr
+[15]);
+
+1413 
+       `´\9atf
+("IPv6: NA");
+
+1416 ià(
+pÜt
+->
+æags
+ & 
+IFM_SLAVE
+) {
+
+1417 
+       `´\9atf
+(" IFM_SLAVE ");
+
+1418 
+       `´\9atf
+(" MasterPort: %u",
+
+1419 
+pÜt
+->
+bÚd_cÚfig
+->
+bÚd_pÜtid
+);
+
+1421 ià(
+pÜt
+->
+æags
+ & 
+IFM_MASTER
+) {
+
+1422 
+       `´\9atf
+(" IFM_MASTER ");
+
+1423 
+       `´\9atf
+(" Mode: %u", 
+pÜt
+->
+bÚd_cÚfig
+->
+mode
+);
+
+1424 
+       `´\9atf
+(" Prim¬yPÜt: %u", 
+pÜt
+->
+bÚd_cÚfig
+->
+´im¬y
+);
+
+1425 
+       `´\9atf
+("\n\r");
+
+1426 
+       `´\9atf
+("\t\tSlavePortCount: %u",
+
+1427 
+pÜt
+->
+bÚd_cÚfig
+->
+¦ave_couÁ
+);
+
+1428 
+       `´\9atf
+(" SlavePorts:");
+
+1429 \12
+i
+;
+
+1430 \ f
+i
+ = 0; i < 
+pÜt
+->
+bÚd_cÚfig
+->
+¦ave_couÁ
+; i++) {
+
+1431 
+       `´\9atf
+(" %u ", 
+pÜt
+->
+bÚd_cÚfig
+->
+¦aves
+[
+i
+]);
+
+1433 
+       `´\9atf
+(" ActivePortCount: %u",
+
+1434 
+pÜt
+->
+bÚd_cÚfig
+->
+aùive_¦ave_couÁ
+);
+
+1435 
+       `´\9atf
+(" ActivePorts:");
+
+1436 \ f
+i
+ = 0; i < 
+pÜt
+->
+bÚd_cÚfig
+->
+aùive_¦ave_couÁ
+;
+
+1437 
+i
+++) {
+
+1438 
+       `´\9atf
+(" %u ",
+
+1439 
+pÜt
+->
+bÚd_cÚfig
+->
+aùive_¦aves
+[
+i
+]);
+
+1441 
+       `´\9atf
+("\n\r");
+
+1442 
+       `´\9atf
+("\t\t");
+
+1443 
+       `´\9atf
+("Link_monitor_freq: %u ms ",
+
+1444 
+pÜt
+->
+bÚd_cÚfig
+->
+\9a\8bº®_ms
+);
+
+1445 
+       `´\9atf
+(" Link_up_prop_delay: %u ms ",
+
+1446 
+pÜt
+->
+bÚd_cÚfig
+->
+l\9ak_up_d\96ay_ms
+);
+
+1447 
+       `´\9atf
+(" Link_down_prop_delay: %u ms ",
+
+1448 
+pÜt
+->
+bÚd_cÚfig
+->
+l\9ak_down_d\96ay_ms
+);
+
+1449 
+       `´\9atf
+("\n\r");
+
+1450 
+       `´\9atf
+("\t\t");
+
+1451 
+       `´\9atf
+("Xmit_policy: %u",
+
+1452 
+pÜt
+->
+bÚd_cÚfig
+->
+xm\99_pÞicy
+);
+
+1454 
+       `´\9atf
+("\n\r");
+
+1455 
+       `´\9atf
+("\t\t");
+
+1456 
+       `´\9atf
+("n_rxpkts: %" 
+PRIu64
+ " ,n_txpkts: %" PRIu64 " ,",
+
+1457 
+pÜt
+->
+n_rxpkts
+,\85Üt->
+n_txpkts
+);
+
+1458 \19
+¹e_\91h_¡©s
+\91h_¡©s
+;
+
+1459 
+       `¹e_\91h_¡©s_g\91
+(
+pÜt
+->
+pmdid
+, &
+\91h_¡©s
+);
+
+1460 
+       `´\9atf
+("pkts_\9a: %" 
+PRIu64
+ " ,", 
+\91h_¡©s
+.
+\9dack\91s
+);
+
+1461 
+       `´\9atf
+("pkts_out: %" 
+PRIu64
+ " ", 
+\91h_¡©s
+.
+Ýack\91s
+);
+
+1462 
+       `´\9atf
+("\n\r");
+
+1463 
+       `´\9atf
+("\t\t");
+
+1464 
+       `´\9atf
+("\9a_\94rs: %" 
+PRIu64
+ " ,", 
+\91h_¡©s
+.
+\9b¼Üs
+);
+
+1465 
+       `´\9atf
+("\9a_mis£d: %" 
+PRIu64
+ " ,", 
+\91h_¡©s
+.
+imis£d
+);
+
+1466 
+       `´\9atf
+("out_\94rs: %" 
+PRIu64
+ " ,", 
+\91h_¡©s
+.
+Û¼Üs
+);
+
+1467 
+       `´\9atf
+("mbuf_\94rs: %" 
+PRIu64
+ " ", 
+\91h_¡©s
+.
+rx_nombuf
+);
+
+1468 
+       `´\9atf
+("\n\r");
+
+1469 
+       `´\9atf
+("\n\r");
+
+1471 ià(
+ifm_debug
+ & 
+IFM_DEBUG_LOCKS
+)
+
+1472 
+       `RTE_LOG
+(
+INFO
+, 
+IFM
+, "%s: Releasing RW\86ock @ %d\n\r",
+
+1473 
+__FUNCTION__
+, 
+__LINE__
+);
+
+1474 ià(
+USE_RTM_LOCKS
+)
+
+1475 
+       `¹m_uÆock
+();
+
+1477 
+       `¹e_rwlock_»ad_uÆock
+(&
+rwlock
+);
+
+1478 
+       }
+}
+
+       @VIL/l2l3_stack/interface.h
+
+16 #iâdeà
+INTERFACE_H
+
+
+17 \ 1
+       #INTERFACE_H
+
+
+       )
+
+19 \ 2
+       ~<¡dio.h
+>
+
+20 \ 2
+       ~<¡dlib.h
+>
+
+21 \ 2
+       ~<¡r\9ag.h
+>
+
+22 \ 2
+       ~<¡d\9at.h
+>
+
+23 \ 2
+       ~<\9a\89y³s.h
+>
+
+24 \ 2
+       ~<sys/ty³s.h
+>
+
+25 \ 2
+       ~<sys/queue.h
+>
+
+26 \ 2
+       ~<Ãt\9a\91/\9a.h
+>
+
+27 \ 2
+       ~<£tjmp.h
+>
+
+28 \ 2
+       ~<¡d¬g.h
+>
+
+29 \ 2
+       ~<ùy³.h
+>
+
+30 \ 2
+       ~<\94ºo.h
+>
+
+31 \ 2
+       ~<g\91Ýt.h
+>
+
+32 \ 2
+       ~<sigÇl.h
+>
+
+33 \ 2
+       ~<¡dboÞ.h
+>
+
+34 \ 2
+       ~<sys/sock\91.h
+>
+
+35 \ 2
+       ~<Ãt\9a\91/\9a.h
+>
+
+36 \ 2
+       ~<¬·/\9a\91.h
+>
+
+37 \ 2
+       ~<¹e_commÚ.h
+>
+
+38 \ 2
+       ~<¹e_log.h
+>
+
+39 \ 2
+       ~<¹e_m®loc.h
+>
+
+40 \ 2
+       ~<¹e_memÜy.h
+>
+
+41 \ 2
+       ~<¹e_memýy.h
+>
+
+42 \ 2
+       ~<¹e_memzÚe.h
+>
+
+43 \ 2
+       ~<¹e_\97l.h
+>
+
+44 \ 2
+       ~<¹e_³r_lcÜe.h
+>
+
+45 \ 2
+       ~<¹e_Ïunch.h
+>
+
+46 \ 2
+       ~<¹e_©omic.h
+>
+
+47 \ 2
+       ~<¹e_cyþes.h
+>
+
+48 \ 2
+       ~<¹e_´eãtch.h
+>
+
+49 \ 2
+       ~<¹e_lcÜe.h
+>
+
+50 \ 2
+       ~<¹e_³r_lcÜe.h
+>
+
+51 \ 2
+       ~<¹e_b¿nch_´ediùiÚ.h
+>
+
+52 \ 2
+       ~<¹e_\9a\8b¼u±s.h
+>
+
+53 \ 2
+       ~<¹e_pci.h
+>
+
+54 \ 2
+       ~<¹e_¿ndom.h
+>
+
+55 \ 2
+       ~<¹e_debug.h
+>
+
+56 \ 2
+       ~<¹e_\91h\94.h
+>
+
+57 \ 2
+       ~<¹e_\91hdev.h
+>
+
+58 \ 2
+       ~<¹e_r\9ag.h
+>
+
+59 \ 2
+       ~<¹e_mempoÞ.h
+>
+
+60 \ 2
+       ~<¹e_mbuf.h
+>
+
+61 \ 2
+       ~<¹e_\91h_ù¾.h
+>
+
+62 \ 2
+       ~<¹e_\94ºo.h
+>
+
+63 \ 2
+       ~<¹e_pÜt_\91hdev.h
+>
+
+64 \ 2
+       ~<¹e_\91h_bÚd.h
+>
+
+65 \ 2
+       ~<¹e_rwlock.h
+>
+
+67 \ 1
+       #RTE_LOGTYPE_IFM
+RTE_LOGTYPE_USER1
+
+
+       )
+
+68 \ 1
+       #IFM_SUCCESS
+ 0
+
+       )
+
+69 \ 1
+       #IFM_FAILURE
+ -1
+
+       )
+
+73 \ 1
+       #IFM_ETH_LINK_HALF_DUPLEX
+ 0
+
+       )
+
+74 \ 1
+       #IFM_ETH_LINK_FULL_DUPLEX
+ 1
+
+       )
+
+75 \ 1
+       #IFM_ETH_LINK_DOWN
+ 0
+
+       )
+
+76 \ 1
+       #IFM_ETH_LINK_UP
+ 1
+
+       )
+
+77 \ 1
+       #IFM_ETH_LINK_FIXED
+ 0
+
+       )
+
+82 \ 1
+       #IFM_SLAVE
+ (1<<0)
+
+       )
+
+83 \ 1
+       #IFM_MASTER
+ (1<<1)
+
+       )
+
+84 \ 1
+       #IFM_BONDED
+ (1<<2)
+
+       )
+
+85 \ 1
+       #IFM_IPV4_ENABLED
+ (1<<3)
+
+       )
+
+86 \ 1
+       #IFM_IPV6_ENABLED
+ (1<<4)
+
+       )
+
+88 \ 1
+       #IFM_BONDING_MODE_ROUND_ROBIN
+ 0
+
+       )
+
+89 \ 1
+       #IFM_BONDING_MODE_ACTIVE_BACKUP
+ 1
+
+       )
+
+90 \ 1
+       #IFM_BONDING_MODE_BALANCE
+ 2
+
+       )
+
+91 \ 1
+       #IFM_BONDING_MODE_BROADCAST
+ 3
+
+       )
+
+92 \ 1
+       #IFM_BONDING_MODE_8023AD
+ 4
+
+       )
+
+93 \ 1
+       #IFM_BONDING_MODE_TLB
+ 5
+
+       )
+
+94 \ 1
+       #IFM_BONDING_MODE_ALB
+ 6
+
+       )
+
+96 \ 1
+       #IFM_BALANCE_XMIT_POLICY_LAYER2
+ 0
+
+       )
+
+97 \ 1
+       #IFM_BALANCE_XMIT_POLICY_LAYER23
+ 1
+
+       )
+
+98 \ 1
+       #IFM_BALANCE_XMIT_POLICY_LAYER34
+ 2
+
+       )
+
+102 \ 1
+       #IFM_QUEUE_STAT_CNTRS
+ 16
+
+       )
+
+103 \ 1
+       #IFM_TX_DEFAULT_Q
+ 0
+
+       )
+
+104 \ 1
+       #IFM_RX_DEFAULT_Q
+ 0
+
+       )
+
+105 \ 1
+       #IFM_RX_DESC_DEFAULT
+ 128
+
+       )
+
+106 \ 1
+       #IFM_TX_DESC_DEFAULT
+ 512
+
+       )
+
+107 \ 1
+       #IFM_BURST_SIZE
+ 32
+
+       )
+
+108 \ 1
+       #IFM_BURST_TX_WAIT_US
+ 1
+
+       )
+
+109 \ 1
+       #IFM_BURST_TX_RETRIES
+ 64
+
+       )
+
+110 \ 1
+       #BURST_TX_DRAIN_US
+ 100
+
+       )
+
+115 \ 1
+       #IFM_IFNAME_LEN
+ 16
+
+       )
+
+116 \ 1
+       #IFM_CLIENT_NAME
+ 20
+
+       )
+
+117 \ 1
+       #IFM_MAX_CLIENT
+ 10
+
+       )
+
+119 \ 1
+       #IFM_ETHER_ADDR_SIZE
+ 6
+
+       )
+
+120 \ 1
+       #IFM_IPV6_ADDR_SIZE
+ 16
+
+       )
+
+122 \ 1
+       #IFM_DEBUG_CONFIG
+ (1<<0)
+
+       )
+
+123 \ 1
+       #IFM_DEBUG_RXTX
+ (1<<1)
+
+       )
+
+124 \ 1
+       #IFM_DEBUG_LOCKS
+ (1<<2)
+
+       )
+
+125 \ 1
+       #IFM_DEBUG
+ (1<<4)
+
+       )
+
+126 \ 1
+       #IFM_MAX_PORTARR_SZ
+ 64
+
+       )
+
+127 \ 1
+       #IFM_MAX_PORTARR_SZ
+ 64
+
+       )
+
+132 \19
+       smempoÞ_cÚfig
+ {
+
+133 
+u\9at32_t
+       mpoÞ_size
+;
+
+134 
+u\9at32_t
+       mbufãr_size
+;
+
+136 
+u\9at32_t
+       mÿche_size
+;
+
+138 
+u\9at32_t
+       mýu_sock\91_id
+;
+
+140 } 
+       g__¹e_ÿche_®igÃd
+;
+
+147 \e\19
+       s_pÜt_cÚfig_
+ {
+
+148 
+u\9at8_t
+       mpÜt_id
+;
+
+149 \12
+       mÄx_queue
+;
+
+150 \12
+       mÁx_queue
+;
+
+151 
+u\9at32_t
+       mtx_buf_size
+;
+
+152 
+u\9at32_t
+       m¡©e
+;
+
+153 
+u\9at32_t
+       m´omisc
+;
+
+154 \19
+mempoÞ_cÚfig
+       mmempoÞ
+;
+
+156 \19
+¹e_\91h_cÚf
+       mpÜt_cÚf
+;
+
+158 \19
+¹e_\91h_rxcÚf
+       mrx_cÚf
+;
+
+160 \19
+¹e_\91h_txcÚf
+       mtx_cÚf
+;
+
+162 } 
+       tpÜt_cÚfig_t
+;
+
+169 \e\19
+       s_if_¡©s_
+ {
+
+170 
+u\9at64_t
+       mrx_Åkts
+;
+
+171 
+u\9at64_t
+       mtx_Åkts
+;
+
+172 
+u\9at64_t
+       mrx_by\8bs
+;
+
+173 
+u\9at64_t
+       mtx_by\8bs
+;
+
+174 
+u\9at64_t
+       mrx_mis£d_pkts
+;
+
+176 
+u\9at64_t
+       mrx_\94r_pkts
+;
+
+177 
+u\9at64_t
+       mrx_nobuf_ç\9e
+;
+
+178 
+u\9at64_t
+       mtx_ç\9eed_pkts
+;
+
+179 
+u\9at64_t
+       mq_rxpkts
+[
+IFM_QUEUE_STAT_CNTRS
+];
+
+180 
+u\9at64_t
+       mq_txpkts
+[
+IFM_QUEUE_STAT_CNTRS
+];
+
+181 
+u\9at64_t
+       mq_rx_by\8bs
+[
+IFM_QUEUE_STAT_CNTRS
+];
+
+183 
+u\9at64_t
+       mq_tx_by\8bs
+[
+IFM_QUEUE_STAT_CNTRS
+];
+
+185 
+u\9at64_t
+       mq_rx_pkt_drÝ
+[
+IFM_QUEUE_STAT_CNTRS
+];
+
+187 } 
+       t__¹e_ÿche_®igÃd
+       tif_¡©s
+;
+
+191 \19
+       sbÚd_pÜt
+ {
+
+192 
+u\9at8_t
+       mbÚd_pÜtid
+;
+
+194 
+u\9at8_t
+       msock\91_id
+;
+
+196 
+u\9at8_t
+       mmode
+;
+
+198 
+u\9at8_t
+       mxm\99_pÞicy
+;
+
+200 
+u\9at32_t
+       m\9a\8bº®_ms
+;
+
+202 
+u\9at32_t
+       ml\9ak_up_d\96ay_ms
+;
+
+204 
+u\9at32_t
+       ml\9ak_down_d\96ay_ms
+;
+
+206 
+u\9at8_t
+       m´im¬y
+;
+
+208 
+u\9at8_t
+       m¦aves
+[
+RTE_MAX_ETHPORTS
+];
+
+210 \12
+       m¦ave_couÁ
+;
+
+212 
+u\9at8_t
+       maùive_¦aves
+[
+RTE_MAX_ETHPORTS
+];
+
+214 \12
+       maùive_¦ave_couÁ
+;
+
+216 } 
+       g__¹e_ÿche_®igÃd
+;
+
+224 \e\19
+       s_l2_phy_\9a\8brçû_
+ {
+
+225 \19
+_l2_phy_\9a\8brçû_
+ *
+       mÃxt
+;
+
+226 
+u\9at8_t
+       mpmdid
+;
+
+227 \1d\12
+       mif_\9adex
+;
+
+228 \ 5
+       miâame
+[
+IFM_IFNAME_LEN
+];
+
+229 
+u\9at16_t
+       mmtu
+;
+
+230 
+u\9at8_t
+       mmaÿddr
+[
+IFM_ETHER_ADDR_SIZE
+];
+
+231 
+u\9at32_t
+       m´omisc
+;
+
+232 
+u\9at32_t
+       mæags
+;
+
+234 
+u\9at32_t
+       ml\9ak_¥\93d
+;
+
+235 
+u\9at16_t
+       ml\9ak_du¶ex
+:1;
+
+236 
+u\9at16_t
+       ml\9ak_autÚeg
+:1;
+
+237 
+u\9at16_t
+       ml\9ak_¡©us
+:1;
+
+238 
+u\9at16_t
+       madm\9a_¡©us
+:1;
+
+240 \19
+¹e_mempoÞ
+ *
+       mmempoÞ
+;
+
+241 
+u\9at32_t
+       mm\9a_rx_bufsize
+;
+
+242 
+u\9at32_t
+       mmax_rx_pk\8e\92
+;
+
+243 
+u\9at16_t
+       mmax_rx_queues
+;
+
+244 
+u\9at16_t
+       mmax_tx_queues
+;
+
+245 
+u\9at64_t
+       mn_rxpkts
+;
+
+246 
+u\9at64_t
+       mn_txpkts
+;
+
+247 
+if_¡©s
+       m¡©s
+;
+
+248 
+u\9at16_t
+(*
\8c\9bve_bulk_pkts
+è(
+       mu\9at8_t
+, 
+       mu\9at16_t
+, \19
+       m¹e_mbuf
+ **);
+
+250 
+u\9at16_t
+(*
+\8cªsm\99_bulk_pkts
+è(\19
+       m_l2_phy_\9a\8brçû_
+ *, \19
+       m¹e_mbuf
+ **, 
+       mu\9at64_t
+);
+
+252 \12(*
+       m\8cªsm\99_s\9agË_pkt
+è(\19
+       m_l2_phy_\9a\8brçû_
+ *, \19
+       m¹e_mbuf
+ *);
+
+254 \19
+¹e_\91h_dev_tx_bufãr
+ *
+       mtx_bufãr
+;
+
+255 
+u\9at64_t
+       mtx_buf_Ën
+;
+
+256 \1e*
+       m\9dv4_li¡
+;
+
+257 \1e*
+       m\9dv6_li¡
+;
+
+258 \19
+bÚd_pÜt
+ *
+       mbÚd_cÚfig
+;
+
+259 
+pÜt_cÚfig_t
+       mpÜt_cÚfig
+;
+
+260 } 
+       t__¹e_ÿche_®igÃd
+       tl2_phy_\9a\8brçû_t
+;
+
+266 \e\19
+       s_\9dv4li¡_
+ {
+
+267 \19
+_\9dv4li¡_
+ *
+       mÃxt
+;
+
+268 
+u\9at32_t
+       m\9daddr
+;
+
+269 \1d\12
+       madd¾\92
+;
+
+270 \1d\12
+       mmtu
+;
+
+271 
+l2_phy_\9a\8brçû_t
+ *
+       mpÜt
+;
+
+273 } 
+       t\9dv4li¡_t
+;
+
+279 \e\19
+       s_\9dv6li¡_
+ {
+
+280 \19
+_\9dv6li¡_
+ *
+       mÃxt
+;
+
+281 
+u\9at8_t
+       m\9daddr
+[
+IFM_IPV6_ADDR_SIZE
+];
+
+282 \1d\12
+       madd¾\92
+;
+
+283 \1d\12
+       mmtu
+;
+
+284 
+l2_phy_\9a\8brçû_t
+ *
+       mpÜt
+;
+
+285 } 
+       t\9dv6li¡_t
+;
+
+292 \e\19
+       s_ifm_þ\9bÁ_
+ {
+
+293 
+u\9at32_t
+       mþ\9bÁid
+;
+
+294 \1e(*
+       mcb_l\9akupd©e
+è(
+       mu\9at8_t
+, \1d\12);
+
+296 } 
+       t__¹e_ÿche_®igÃd
+       tifm_þ\9bÁ
+;
+
+302 \e\19
+       s_\9a\8brçû_ma\9a_
+ {
+
+303 
+l2_phy_\9a\8brçû_t
+ *
+       mpÜt_li¡
+[
+IFM_MAX_PORTARR_SZ
+];
+
+304 
+u\9at32_t
+       mÅÜt_cÚfigu»d
+;
+
+305 
+u\9at32_t
+       mÅÜt_\9at\9flized
+;
+
+306 
+u\9at8_t
+       mnþ\9bÁ
+;
+
+307 
+ifm_þ\9bÁ
+       mif_þ\9bÁ
+[
+IFM_MAX_CLIENT
+];
+
+308 } 
+       t__¹e_ÿche_®igÃd
+       t\9a\8brçû_ma\9a_t
+;
+
+320 \12
+ifm_cÚfigu»_pÜts
+(
+pÜt_cÚfig_t
+ *
+pcÚfig
+);
+
+333 
+l2_phy_\9a\8brçû_t
+ *
+ifm_g\91_f\9c¡_pÜt
+(\1e);
+
+347 
+l2_phy_\9a\8brçû_t
+ *
+ifm_g\91_Ãxt_pÜt
+(
+u\9at8_t
+pÜt_id
+);
+
+359 
+l2_phy_\9a\8brçû_t
+ *
+ifm_g\91_pÜt
+(
+u\9at8_t
+);
+
+371 
+l2_phy_\9a\8brçû_t
+ *
+ifm_g\91_pÜt_by_Çme
+(cڡ \ 5*
+Çme
+);
+
+380 \1e
+ifm_»move_pÜt_d\91a\9es
+(
+u\9at8_t
+pÜtid
+);
+
+390 \1e
+ifm_add_pÜt_to_pÜt_li¡
+(
+l2_phy_\9a\8brçû_t
+ *);
+
+399 \12
+is_pÜt_li¡_nuÎ
+(\1e);
+
+412 \12
+ifm_pÜt_£tup
+(
+u\9at8_t
+pÜt_id
+, 
+pÜt_cÚfig_t
+ *);
+
+421 \1e
+ifm_\9a\99
+(\1e);
+
+433 
+\9at32_t
+ifm_g\91_ÅÜts_\9a\99\9flized
+(\1e);
+
+445 
+\9at32_t
+ifm_g\91_Çùive_pÜts
+(\1e);
+
+457 
+\9at32_t
+ifm_chk_pÜt_\9dv4_\92abËd
+(
+u\9at8_t
+pÜt_id
+);
+
+469 
+\9at32_t
+ifm_chk_pÜt_\9dv6_\92abËd
+(
+u\9at8_t
+pÜt_id
+);
+
+485 
+\9at16_t
+ifm_»move_\9dv4_pÜt
+(
+u\9at8_t
+pÜt_id
+, 
+u\9at32_t
+\9daddr
+,
+
+486 
+u\9at32_t
+add¾\92
+);
+
+502 
+\9at16_t
+ifm_»move_\9dv6_pÜt
+(
+u\9at8_t
+pÜt_id
+, 
+u\9at32_t
+\9d6addr
+,
+
+503 
+u\9at32_t
+add¾\92
+);
+
+519 
+\9at16_t
+ifm_add_\9dv4_pÜt
+(
+u\9at8_t
+pÜt_id
+, 
+u\9at32_t
+\9daddr
+, u\9at32_\88
+add¾\92
+);
+
+535 
+\9at8_t
+ifm_add_\9dv6_pÜt
+(
+u\9at8_t
+pÜt_id
+, u\9at8_\88
+\9d6addr
+[], 
+u\9at32_t
+add¾\92
+);
+
+548 \12
+ifm_\8cªsm\99_s\9agË_pkt
+(
+l2_phy_\9a\8brçû_t
+ *
+pÜt
+,
+
+549 \19
+¹e_mbuf
+ *
+tx_pkts
+);
+
+564 
+u\9at16_t
+ifm_\8cªsm\99_bulk_pkts
+(
+l2_phy_\9a\8brçû_t
+ *, \19
+¹e_mbuf
+ **
+tx_pkts
+,
+
+565 
+u\9at64_t
+Åkts
+);
+
+580 
+u\9at16_t
+ifm_»ûive_bulk_pkts
+(
+u\9at8_t
+pÜt_id
+, u\9at16_\88
+qid
+,
+
+581 \19
+¹e_mbuf
+ **
+rx_pkts
+);
+
+594 \1e
+ifm_£t_pÜt_´omisc
+(
+u\9at8_t
+pÜt_id
+, u\9at8_\88
+\92abË
+);
+
+607 \1e
+ifm_£t_l2_\9a\8brçû_mtu
+(
+u\9at8_t
+pÜt_id
+, 
+u\9at16_t
+mtu
+);
+
+620 \1e
+ifm_upd©e_l\9ak¡©us
+(
+u\9at8_t
+pÜt_id
+, 
+u\9at16_t
+l\9ak¡©us
+);
+
+633 \1e
+ifm_»gi¡\94_fÜ_l\9akupd©e
+(
+u\9at32_t
\9bÁid
+,
+
+634 \1e(*
+cb_l\9akupd©e
+è(
+u\9at8_t
+, \1d\12));
+
+650 \1e
+       `lsi_ev\92t_ÿÎback
+(
+u\9at8_t
+pÜt_id
+, \f
+¹e_\91h_ev\92t_ty³
+ty³
+,
+
+651 \1e*
+·¿m
+);
+
+656 \1e
+       `´\9at_\9a\8brçû_d\91a\9es
+(\1e);
+
+667 \12
+       `ifm_bÚd_pÜt_ü\97\8b
+(cڡ \ 5*
+Çme
+, \12
+mode
+, 
+pÜt_cÚfig_t
+ *
+pÜtcÚf
+);
+
+674 \12
+       `ifm_bÚd_pÜt_d\96\91e
+(cڡ \ 5*
+Çme
+);
+
+683 \12
+       `ifm_add_¦ave_pÜt
+(
+u\9at8_t
+bÚded_pÜt_id
+, u\9at8_\88
+¦ave_pÜt_id
+);
+
+692 \12
+       `ifm_»move_¦ave_pÜt
+(
+u\9at8_t
+bÚded_pÜt_id
+, u\9at8_\88
+¦ave_pÜt_id
+);
+
+701 \12
+       `£t_bÚd_mode
+(
+u\9at8_t
+bÚded_pÜt_id
+, u\9at8_\88
+mode
+);
+
+708 \12
+       `g\91_bÚd_mode
+(
+u\9at8_t
+bÚded_pÜt_id
+);
+
+717 \12
+       `£t_bÚd_´im¬y
+(
+u\9at8_t
+bÚded_pÜt_id
+, u\9at8_\88
+¦ave_pÜt_id
+);
+
+724 \12
+       `g\91_bÚd_´im¬y_pÜt
+(
+u\9at8_t
+bÚded_pÜt_id
+);
+
+731 \12
+       `g\91_bÚd_¦ave_couÁ
+(
+u\9at8_t
+bÚded_pÜt_id
+);
+
+738 \12
+       `g\91_bÚd_aùive_¦ave_couÁ
+(
+u\9at8_t
+bÚded_pÜt_id
+);
+
+747 \12
+       `g\91_bÚd_¦aves
+(
+u\9at8_t
+bÚded_pÜt_id
+, u\9at8_\88
+¦aves
+[
+RTE_MAX_ETHPORTS
+]);
+
+756 \12
+       `g\91_bÚd_aùive_¦aves
+(
+u\9at8_t
+bÚded_pÜt_id
+,
+
+757 
+u\9at8_t
+¦aves
+[
+RTE_MAX_ETHPORTS
+]);
+
+766 \12
+       `£t_bÚd_mac_add»ss
+(
+u\9at8_t
+bÚded_pÜt_id
+, \19
+\91h\94_addr
+ *
+mac_addr
+);
+
+773 \12
+       `»£t_bÚd_mac_addr
+(
+u\9at8_t
+bÚded_pÜt_id
+);
+
+774 \12
+       `g\91_bÚd_mac
+(
+u\9at8_t
+bÚded_pÜt_id
+, \19
+\91h\94_addr
+ *
+maÿddr
+);
+
+783 \12
+       `£t_bÚd_xm\99pÞicy
+(
+u\9at8_t
+bÚded_pÜt_id
+, u\9at8_\88
+pÞicy
+);
+
+790 \12
+       `g\91_bÚd_xm\99pÞicy
+(
+u\9at8_t
+bÚded_pÜt_id
+);
+
+799 \12
+       `£t_bÚd_l\9ak_mÚt\99Ü_äequ\92cy
+(
+u\9at8_t
+bÚded_pÜt_id
+,
+
+800 
+u\9at32_t
+\9a\8bº®_ms
+);
+
+807 \12
+       `g\91_bÚd_l\9ak_mÚ\99Ü_äequ\92cy
+(
+u\9at8_t
+bÚded_pÜt_id
+);
+
+816 \12
+       `£t_bÚd_l\9akdown_d\96ay
+(
+u\9at8_t
+bÚded_pÜt_id
+, 
+u\9at32_t
+d\96ay_ms
+);
+
+823 \12
+       `g\91_bÚd_l\9ak_down_d\96ay
+(
+u\9at8_t
+bÚded_pÜt_id
+);
+
+832 \12
+       `£t_bÚd_l\9akup_d\96ay
+(
+u\9at8_t
+bÚded_pÜt_id
+, 
+u\9at32_t
+d\96ay_ms
+);
+
+839 \12
+       `g\91_bÚd_l\9ak_up_d\96ay
+(
+u\9at8_t
+bÚded_pÜt_id
+);
+
+845 \1e
+       `´\9at_¡©s
+(\1e);
+
+854 \12
+       `ifm_g\91_pÜt_\9afo
+(
+u\9at8_t
+pÜt_id
+, 
+l2_phy_\9a\8brçû_t
+ *
+pÜt_\9afo
+);
+
+863 \12
+       `ifm_g\91_Ãxt_pÜt_\9afo
+(
+u\9at8_t
+pÜt_id
+, 
+l2_phy_\9a\8brçû_t
+ *
+pÜt_\9afo
+);
+
+872 \1e
+       `cÚfig_ifm_debug
+(\12
+dbg
+, \12
+æag
+);
+
+       @VIL/l2l3_stack/l2_proto.c
+
+22 \ 2
+       ~"l2_´Ùo.h
+"
+
+24 \18\19
+´Ùo_·ck\91_ty³
+ *
+       g´Ùo_li¡
+[3];
+
+29 
+       $li¡_add_ty³
+(
+u\9at16_t
+ty³
+,
+
+30 \1e(*
+func
+è(\19
+¹e_mbuf
+ **, 
+u\9at16_t
+, 
+u\9at64_t
+,
+
+31 
+l2_phy_\9a\8brçû_t
+ *))
+
+33 ià(
+ty³
+ =ð
+ETHER_TYPE_IPv4
+) {
+
+34 
+´Ùo_li¡
+[
+IPv4_VAL
+] =
+
+35 
+       `¹e_m®loc
+(
+NULL
+, \17(\19
+´Ùo_·ck\91_ty³
+),
+
+36 
+RTE_CACHE_LINE_SIZE
+);
+
+37 
+´Ùo_li¡
+[
+IPv4_VAL
+]->
+ty³
+ =\81ype;
+
+38 
+´Ùo_li¡
+[
+IPv4_VAL
+]->
+func
+ = func;
+
+41 \vià(
+ty³
+ =ð
+ETHER_TYPE_ARP
+) {
+
+42 
+´Ùo_li¡
+[
+ARP_VAL
+] =
+
+43 
+       `¹e_m®loc
+(
+NULL
+, \17(\19
+´Ùo_·ck\91_ty³
+),
+
+44 
+RTE_CACHE_LINE_SIZE
+);
+
+45 
+´Ùo_li¡
+[
+ARP_VAL
+]->
+ty³
+ =\81ype;
+
+46 
+´Ùo_li¡
+[
+ARP_VAL
+]->
+func
+ = func;
+
+47 } \vià(
+ty³
+ =ð
+ETHER_TYPE_IPv6
+) {
+
+48 
+´Ùo_li¡
+[
+IPv6_VAL
+] =
+
+49 
+       `¹e_m®loc
+(
+NULL
+, \17(\19
+´Ùo_·ck\91_ty³
+),
+
+50 
+RTE_CACHE_LINE_SIZE
+);
+
+51 
+´Ùo_li¡
+[
+IPv6_VAL
+]->
+ty³
+ =\81ype;
+
+52 
+´Ùo_li¡
+[
+IPv6_VAL
+]->
+func
+ = func;
+
+55 
+       }
+}
+
+64 
+       $l2_check_mac
+(\19
+¹e_mbuf
+ *
+m
+[
+IFM_BURST_SIZE
+], 
+l2_phy_\9a\8brçû_t
+ *
+pÜt
+,
+
+65 
+u\9at8_t
+i
+, 
+u\9at64_t
+ *
+pkts_mask
+, u\9at64_\88*
+¬p_pkts_mask
+,
+
+66 
+u\9at64_t
+ *
+\9dv4_pkts_mask
+, u\9at64_\88*
+\9dv6_pkts_mask
+)
+
+68 \19
+\91h\94_hdr
+ *
+\91h
+=
+NULL
+;
+
+69 
+u\9at16_t
+§me_mac
+=0;
+
+70 
+u\9at16_t
+\91hty³
+ = 0;
+
+72 ià(
+m
+[
+i
+] !ð
+NULL
+) {
+
+73 
+\91h
+ = 
+       `¹e_pktmbuf_mtod
+(
+m
+[
+i
+], \19
+\91h\94_hdr
+ *);
+
+74 if(
+\91h
+)
+
+75 
+\91hty³
+ = 
+       `¹e_be_to_ýu_16
+(
+\91h
+->
+\91h\94_ty³
+);
+
+76 ià(
+\91h
+ =ð
+NULL
+) {
+
+78 
+       `´\9atf
+("l2_check_mac: Ethernet Dest Addr NULL !!!\n");
+
+81 
+\91hty³
+ = 
+       `¹e_be_to_ýu_16
+(
+\91h
+->
+\91h\94_ty³
+);
+
+82 #ià
+L2_PROTO_DBG
+
+
+83 
+       `´\9atf
+("%s => mbuf\85kt dest mac\87ddr: %x:%x:%x:%x:%x:%x\n",
+
+84 
+__FUNCTION__
+, 
+\91h
+->
+d_addr
+.
+addr_by\8bs
+[0],
+
+85 
+\91h
+->
+d_addr
+.
+addr_by\8bs
+[1],\83th->d_addr.addr_bytes[2],
+
+86 
+\91h
+->
+d_addr
+.
+addr_by\8bs
+[3],\83th->d_addr.addr_bytes[4],
+
+87 
+\91h
+->
+d_addr
+.
+addr_by\8bs
+[5]);
+
+88 
+       `´\9atf
+("% =>\85Ü\88maøaddr: %x:%x:%x:%x:%x:%x\n", 
+__FUNCTION__
+,
+
+89 
+pÜt
+->
+maÿddr
+[0],\85ort->macaddr[1],\85ort->macaddr[2],
+
+90 
+pÜt
+->
+maÿddr
+[3],\85ort->macaddr[4],\85ort->macaddr[5]);
+
+94 
+§me_mac
+ =
+
+95 (
+is_§me_\91h\94_addr
+
+
+96 (&
+\91h
+->
+d_addr
+, (\19
+\91h\94_addr
+ *)
+pÜt
+->
+maÿddr
+)
+
+98 ((
+is_brßdÿ¡_\91h\94_addr
+
+
+99 ((\19
+\91h\94_addr
+ *)&
+\91h
+->
+d_addr
+)
+
+100 && (
+\91hty³
+ =ð
+ETHER_TYPE_ARP
+)))
+
+101 || (
+\91hty³
+ =ð
+ETHER_TYPE_IPv6
+
+
+102 && 
+\91h
+->
+d_addr
+.
+addr_by\8bs
+[0] == 0x33
+
+103 && 
+\91h
+->
+d_addr
+.
+addr_by\8bs
+[1] == 0x33));
+
+105 ià(!
+§me_mac
+) {
+
+106 
+u\9at64_t
+\8bmp_mask
+ = 1LLU << 
+i
+;
+
+107 *
+pkts_mask
+ ^ð
+\8bmp_mask
+;
+
+108 
+       `¹e_pktmbuf_ä\93
+(
+m
+[
+i
+]);
+
+109 
+m
+[
+i
+] = 
+NULL
+;
+
+110 } \vià((
+\91hty³
+ =ð
+ETHER_TYPE_IPv4
+è&& 
+§me_mac
+) {
+
+111 
+u\9at64_t
+\8bmp_mask
+ = 1LLU << 
+i
+;
+
+112 *
+\9dv4_pkts_mask
+ ^ð
+\8bmp_mask
+;
+
+113 } \vià((
+\91hty³
+ =ð
+ETHER_TYPE_ARP
+è&& 
+§me_mac
+) {
+
+114 
+u\9at64_t
+\8bmp_mask
+ = 1LLU << 
+i
+;
+
+115 *
+¬p_pkts_mask
+ ^ð
+\8bmp_mask
+;
+
+116 } \vià((
+\91hty³
+ =ð
+ETHER_TYPE_IPv6
+è&& 
+§me_mac
+) {
+
+117 
+u\9at64_t
+\8bmp_mask
+ = 1LLU << 
+i
+;
+
+118 *
+\9dv6_pkts_mask
+ ^ð
+\8bmp_mask
+;
+
+121 
+       `´\9atf
+("\n%s:\87½_pkts_mask = %" 
+PRIu64
+ ", ipv4_pkts_mask = %" PRIu64
+
+122 ", ipv6_pkts_mask =%" 
+PRIu64
+ ",\85kt-type = %x, sam_mac = %d\n",
+
+123 
+__FUNCTION__
+, *
+¬p_pkts_mask
+, *
+\9dv4_pkts_mask
+, *
+\9dv6_pkts_mask
+,
+
+124 
+\91hty³
+, 
+§me_mac
+);
+
+125 
+       }
+}
+
+128 
+       $´ÙocÞ_hªdËr_»cv
+(\19
+¹e_mbuf
+ **
+pkts_bur¡
+, 
+u\9at16_t
+nb_rx
+,
+
+129 
+l2_phy_\9a\8brçû_t
+ *
+pÜt
+)
+
+131 
+u\9at8_t
+i
+;
+
+132 
+u\9at64_t
+pkts_mask
+ = 0;
+
+133 
+u\9at64_t
+¬p_pkts_mask
+ = 0;
+
+134 
+u\9at64_t
+\9dv4_pkts_mask
+ = 0;
+
+135 
+u\9at64_t
+\9dv6_pkts_mask
+ = 0;
+
+140 \ f
+i
+ = 0; i < 
+nb_rx
+; i++) {
+
+141 
+       `l2_check_mac
+(
+pkts_bur¡
+, 
+pÜt
+, 
+i
+, &
+pkts_mask
+, &
+¬p_pkts_mask
+,
+
+142 &
+\9dv4_pkts_mask
+, &
+\9dv6_pkts_mask
+);
+
+144 ià(
+nb_rx
+) {
+
+145 ià(
+¬p_pkts_mask
+) {
+
+146 
+´Ùo_li¡
+[
+ARP_VAL
+]->
+       `func
+(
+pkts_bur¡
+, 
+nb_rx
+,
+
+147 
+¬p_pkts_mask
+, 
+pÜt
+);
+
+148 
\9atf
+
+
+151 ià(
+\9dv4_pkts_mask
+) {
+
+152 
\9atf
+
+
+154 
+       `´\9atf
+("===òb_rx:%u, ipv4_pkts_mask: %lu\n\n", 
+nb_rx
+,
+
+155 
+\9dv4_pkts_mask
+);
+
+156 
+´Ùo_li¡
+[
+IPv4_VAL
+]->
+       `func
+(
+pkts_bur¡
+, 
+nb_rx
+,
+
+157 
+\9dv4_pkts_mask
+, 
+pÜt
+);
+
+159 ià(
+\9dv6_pkts_mask
+) {
+
+160 
\9atf
+
+
+162 
+       `´\9atf
+("===òb_rx:%u, ipv6_pkts_mask: %lu\n\n", 
+nb_rx
+,
+
+163 
+\9dv6_pkts_mask
+);
+
+164 
+´Ùo_li¡
+[
+IPv6_VAL
+]->
+       `func
+(
+pkts_bur¡
+, 
+nb_rx
+,
+
+165 
+\9dv6_pkts_mask
+, 
+pÜt
+);
+
+168 
+       }
+}
+
+171 \1a
+qid
+) {
+
+175 
\9atf
+
+
+177 \1f
+cur
+->
+ty³
+ !ð
+ETHER_TYPE_ARP
+ && cu¸!ð
+NULL
+) {
+
+178 
+cur
+ = cur->
+Ãxt
+;
+
+180 ià(
+cur
+ !ð
+NULL
+) {
+
+182 
\9atf
+
+
+184 
+cur
+->
+       `func
+(
+pkts_bur¡
+, 
+nb_rx
+, 
+pkts_mask
+, 
+pÜtid
+);
+
+187 
+´Ùo_li¡
+[
+ARP_VAL
+]->
+       `func
+(
+pkts_bur¡
+, 
+nb_rx
+, 
+¬p_pkts_mask
+,
+
+188 
+pÜtid
+);
+
+194 \1f
+cur
+->
+ty³
+ !ð
+ETHER_TYPE_IPv4
+ && cu¸!ð
+NULL
+) {
+
+195 
+cur
+ = cur->
+Ãxt
+;
+
+197 ià(
+cur
+ !ð
+NULL
+) {
+
+200 
+cur
+->
+       `func
+(
+pkts_bur¡
+, 
+nb_rx
+, 
+\9dv4_pkts_mask
+, 
+pÜtid
+);
+
+205 
+´Ùo_li¡
+[
+IPv4_VAL
+]->
+       `func
+(
+pkts_bur¡
+, 
+nb_rx
+, 
+\9dv4_pkts_mask
+,
+
+206 
+pÜtid
+);
+
+223 
+       `¹e_ex\99
+(
+EXIT_FAILURE
+, "Ethertype\82ot found \n");
+
+226 
+       }
+}
+
+       @VIL/l2l3_stack/l2_proto.h
+
+26 #iâdeà
+L2_PROTO_H
+
+
+27 \ 1
+       #L2_PROTO_H
+
+
+       )
+
+29 \ 2
+       ~<¡dio.h
+>
+
+30 \ 2
+       ~<¡dlib.h
+>
+
+31 \ 2
+       ~<¡r\9ag.h
+>
+
+32 \ 2
+       ~<¡d\9at.h
+>
+
+33 \ 2
+       ~<\9a\89y³s.h
+>
+
+34 \ 2
+       ~<sys/ty³s.h
+>
+
+35 \ 2
+       ~<sys/queue.h
+>
+
+36 \ 2
+       ~<Ãt\9a\91/\9a.h
+>
+
+37 \ 2
+       ~<£tjmp.h
+>
+
+38 \ 2
+       ~<¡d¬g.h
+>
+
+39 \ 2
+       ~<ùy³.h
+>
+
+40 \ 2
+       ~<\94ºo.h
+>
+
+41 \ 2
+       ~<g\91Ýt.h
+>
+
+42 \ 2
+       ~<sigÇl.h
+>
+
+43 \ 2
+       ~<¡dboÞ.h
+>
+
+45 \ 2
+       ~<¹e_commÚ.h
+>
+
+46 \ 2
+       ~<¹e_log.h
+>
+
+47 \ 2
+       ~<¹e_m®loc.h
+>
+
+48 \ 2
+       ~<¹e_memÜy.h
+>
+
+49 \ 2
+       ~<¹e_memýy.h
+>
+
+50 \ 2
+       ~<¹e_memzÚe.h
+>
+
+51 \ 2
+       ~<¹e_\97l.h
+>
+
+52 \ 2
+       ~<¹e_³r_lcÜe.h
+>
+
+53 \ 2
+       ~<¹e_Ïunch.h
+>
+
+54 \ 2
+       ~<¹e_©omic.h
+>
+
+55 \ 2
+       ~<¹e_cyþes.h
+>
+
+56 \ 2
+       ~<¹e_´eãtch.h
+>
+
+57 \ 2
+       ~<¹e_lcÜe.h
+>
+
+58 \ 2
+       ~<¹e_³r_lcÜe.h
+>
+
+59 \ 2
+       ~<¹e_b¿nch_´ediùiÚ.h
+>
+
+60 \ 2
+       ~<¹e_\9a\8b¼u±s.h
+>
+
+61 \ 2
+       ~<¹e_pci.h
+>
+
+62 \ 2
+       ~<¹e_¿ndom.h
+>
+
+63 \ 2
+       ~<¹e_debug.h
+>
+
+64 \ 2
+       ~<¹e_\91h\94.h
+>
+
+65 \ 2
+       ~<¹e_\91hdev.h
+>
+
+66 \ 2
+       ~<¹e_\9d.h
+>
+
+67 \ 2
+       ~<¹e_r\9ag.h
+>
+
+68 \ 2
+       ~<¹e_mempoÞ.h
+>
+
+69 \ 2
+       ~<¹e_mbuf.h
+>
+
+70 \ 2
+       ~<¹e_\91h_ù¾.h
+>
+
+71 \ 2
+       ~<\9a\8brçû.h
+>
+
+74 \ 1
+       #IPv4_VAL
+ 0
+
+       )
+
+75 \ 1
+       #ARP_VAL
+ 1
+
+       )
+
+76 \ 1
+       #IPv6_VAL
+ 2
+
+       )
+
+79 \ 1
+       #L2_PROTO_DBG
+ 1
+
+       )
+
+84 \19
+       s´Ùo_·ck\91_ty³
+ {
+
+85 
+u\9at16_t
+       mty³
+;
+
+86 \1e(*
+       mfunc
+è(\19
+¹e_mbuf
+ **
+       mm
+, 
+u\9at16_t
+       mnb_pkts
+, 
+u\9at64_t
+       mpkt_mask
+, 
+l2_phy_\9a\8brçû_t
+ *
+       mpÜt
+);
+
+87 } 
+       g__¹e_ÿche_®igÃd
+;
+
+98 
+li¡_add_ty³
+(
+u\9at16_t
+ty³
+,
+
+99 \1e(*
+func
+è(\19
+¹e_mbuf
+ **, 
+u\9at16_t
+, 
+u\9at64_t
+,
+
+100 
+l2_phy_\9a\8brçû_t
+ *));
+
+130 
+       `l2_check_mac
+(\19
+¹e_mbuf
+ *
+m
+[
+IFM_BURST_SIZE
+], 
+l2_phy_\9a\8brçû_t
+ *
+pÜt
+,
+
+131 
+u\9at8_t
+pos
+, 
+u\9at64_t
+ *
+pkts_mask
+, u\9at64_\88*
+¬p_pkts_mask
+,
+
+132 
+u\9at64_t
+ *
+\9dv4_pkts_mask
+, u\9at64_\88*
+\9dv6_pkts_mask
+);
+
+147 
+       `´ÙocÞ_hªdËr_»cv
+(\19
+¹e_mbuf
+ *
+m
+[
+IFM_BURST_SIZE
+], 
+u\9at16_t
+nb_rx
+,
+
+148 
+l2_phy_\9a\8brçû_t
+ *
+pÜt
+);
+
+       @VIL/l2l3_stack/l3fwd_common.h
+
+22 #iâdeà
+L3FWD_COMMON_H
+
+
+23 \ 1
+       #L3FWD_COMMON_H
+
+
+       )
+
+26 \ 2
+       ~<¡dio.h
+>
+
+27 \ 2
+       ~<¡dlib.h
+>
+
+28 \ 2
+       ~<¡d\9at.h
+>
+
+29 \ 2
+       ~<\9a\89y³s.h
+>
+
+30 \ 2
+       ~<sys/ty³s.h
+>
+
+31 \ 2
+       ~<sys/queue.h
+>
+
+32 \ 2
+       ~<sys/·¿m.h
+>
+
+33 \ 2
+       ~<¡r\9ag.h
+>
+
+34 \ 2
+       ~<¡d¬g.h
+>
+
+35 \ 2
+       ~<\94ºo.h
+>
+
+36 \ 2
+       ~<sigÇl.h
+>
+
+37 \ 2
+       ~<¡dboÞ.h
+>
+
+38 \ 2
+       ~<g\91Ýt.h
+>
+
+39 \ 2
+       ~<uni¡d.h
+>
+
+42 \ 2
+       ~<¹e_commÚ.h
+>
+
+43 \ 2
+       ~<¹e_hash.h
+>
+
+44 \ 2
+       ~<¹e_jhash.h
+>
+
+45 \ 2
+       ~<¹e_pÜt.h
+>
+
+46 \ 2
+       ~<¹e_veù.h
+>
+
+47 \ 2
+       ~<¹e_by\8bÜd\94.h
+>
+
+48 \ 2
+       ~<¹e_log.h
+>
+
+49 \ 2
+       ~<¹e_memÜy.h
+>
+
+50 \ 2
+       ~<¹e_memýy.h
+>
+
+51 \ 2
+       ~<¹e_memzÚe.h
+>
+
+52 \ 2
+       ~<¹e_\97l.h
+>
+
+53 \ 2
+       ~<¹e_³r_lcÜe.h
+>
+
+54 \ 2
+       ~<¹e_Ïunch.h
+>
+
+55 \ 2
+       ~<¹e_©omic.h
+>
+
+56 \ 2
+       ~<¹e_cyþes.h
+>
+
+57 \ 2
+       ~<¹e_´eãtch.h
+>
+
+58 \ 2
+       ~<¹e_lcÜe.h
+>
+
+59 \ 2
+       ~<¹e_³r_lcÜe.h
+>
+
+60 \ 2
+       ~<¹e_b¿nch_´ediùiÚ.h
+>
+
+61 \ 2
+       ~<¹e_\9a\8b¼u±s.h
+>
+
+62 \ 2
+       ~<¹e_pci.h
+>
+
+63 \ 2
+       ~<¹e_¿ndom.h
+>
+
+64 \ 2
+       ~<¹e_debug.h
+>
+
+65 \ 2
+       ~<¹e_\91h\94.h
+>
+
+66 \ 2
+       ~<¹e_\91hdev.h
+>
+
+67 \ 2
+       ~<¹e_r\9ag.h
+>
+
+68 \ 2
+       ~<¹e_mempoÞ.h
+>
+
+69 \ 2
+       ~<¹e_mbuf.h
+>
+
+70 \ 2
+       ~<¹e_\9d.h
+>
+
+71 \ 2
+       ~<¹e_tý.h
+>
+
+72 \ 2
+       ~<¹e_udp.h
+>
+
+73 \ 2
+       ~<¹e_\8fbË_hash.h
+>
+
+74 \ 2
+       ~<¹e_\8fbË.h
+>
+
+75 \ 2
+       ~<¹e_\8fbË_Ím.h
+>
+
+76 \ 2
+       ~<¹e_¡r\9ag_âs.h
+>
+
+77 \ 2
+       ~<¹e_ýuæags.h
+>
+
+78 \ 2
+       ~<l3fwd_Ím4.h
+>
+
+79 \ 2
+       ~<l3fwd_Ím6.h
+>
+
+80 \ 2
+       ~<¹e_\8fbË_Ím_\9dv6.h
+>
+
+85 \ 1
+       #MAX_ROUTES
+ 4
+
+       )
+
+86 \ 1
+       #L3FWD_DEBUG
+ 1
+
+       )
+
+87 \ 1
+       #MULTIPATH_FEAT
+ 1
+
+       )
+
+94 \1e
+l3fwd_\9a\99
+(\1e);
+
+99 \1e
+pÝuÏ\8b_Ím4_\8fbË_rou\8bs
+(\1e);
+
+104 \1e
+pÝuÏ\8b_Ím6_\8fbË_rou\8bs
+(\1e);
+
+109 \1e
+pÝuÏ\8b_Ím_rou\8bs
+(\1e);
+
+       @VIL/l2l3_stack/l3fwd_lpm4.c
+
+17 \ 2
+       ~"l3fwd_commÚ.h
+"
+
+18 \ 2
+       ~"\9a\8brçû.h
+"
+
+19 \ 2
+       ~"l2_´Ùo.h
+"
+
+20 \ 2
+       ~"l3fwd_Ím4.h
+"
+
+21 \ 2
+       ~"l3fwd_Ím6.h
+"
+
+22 \ 2
+       ~"lib_¬p.h
+"
+
+23 \ 2
+       ~"lib_icmpv6.h
+"
+
+24 \ 2
+       ~<\9a\89y³s.h
+>
+
+29 \1e*
+       gÍm4_\8f
+;
+
+32 \19
+¹e_hash
+ *
+       gl2_adj_hash_hªdË
+;
+
+33 \19
+¹e_hash
+ *
+       gfib_·th_hash_hªdË
+;
+
+35 
+l3_¡©s_t
+       g¡©s
+;
+
+38 
+u\9at8_t
+       gnh_l\9aks
+[
+MAX_SUPPORTED_FIB_PATHS
+][
+HASH_BUCKET_SIZE
+] =
+
+87 \ 1
+       #META_DATA_OFFSET
+ 128
+
+       )
+
+89 \ 1
+       #RTE_PKTMBUF_HEADROOM
+ 128
+
+       )
+
+90 \ 1
+       #ETHERNET_START
+ (
+META_DATA_OFFSET
+ + 
+RTE_PKTMBUF_HEADROOM
+)
+
+       )
+
+91 \ 1
+       #ETH_HDR_SIZE
+ 14
+
+       )
+
+92 \ 1
+       #IP_START
+ (
+ETHERNET_START
+ + 
+ETH_HDR_SIZE
+)
+
+       )
+
+93 \ 1
+       #TCP_START
+ (
+IP_START
+ + 20)
+
+       )
+
+95 \18\1e
+       $´\9at_pkt
+(\19
+¹e_mbuf
+ *
+pkt
+)
+
+97 \12
+i
+;
+
+98 \12
+size
+ = 14;
+
+99 
+u\9at8_t
+ *
+rd
+ = 
+       `RTE_MBUF_METADATA_UINT8_PTR
+(
+pkt
+, 
+ETHERNET_START
+);
+
+101 
+       `´\9atf
+("Meta-data:\n");
+
+102 \ f
+i
+ = 0; i < 
+size
+; i++) {
+
+103 
+       `´\9atf
+("%02x ", 
+rd
+[
+i
+]);
+
+104 ià((
+i
+ & 3) == 3)
+
+105 
+       `´\9atf
+("\n");
+
+107 
+       `´\9atf
+("\n");
+
+108 
+       `´\9atf
+("IP\87nd TCP/UDP headers:\n");
+
+109 
+rd
+ = 
+       `RTE_MBUF_METADATA_UINT8_PTR
+(
+pkt
+, 
+IP_START
+);
+
+110 \ f
+i
+ = 0; i < 40; i++) {
+
+111 
+       `´\9atf
+("%02x ", 
+rd
+[
+i
+]);
+
+112 ià((
+i
+ & 3) == 3)
+
+113 
+       `´\9atf
+("\n");
+
+116 
+       }
+}
+
+118 \18\19
+\9d_´ÙocÞ_ty³
+ *
+       g´Ùo_ty³
+[2];
+
+119 \12
+       $Ím_\9a\99
+(\1e)
+
+123 \19
+¹e_\8fbË_Ím_·¿ms
+Ím_·¿ms
+ = {
+
+124 .
+Çme
+ = "LPMv4",
+
+125 .
+n_ruËs
+ = 
+IPV4_L3FWD_LPM_MAX_RULES
+,
+
+126 .
+numb\94_tbl8s
+ = 
+IPV4_L3FWD_LPM_NUMBER_TBL8S
+,
+
+127 .
+æags
+ = 0,
+
+128 .
+\92\8cy_unique_size
+ = \17(\19
+fib_\9afo
+),
+
+129 .
+off£t
+ = 128,
+
+133 
+Ím4_\8f
+ =
+
+134 
+¹e_\8fbË_Ím_Ýs
+.
+       `f_ü\97\8b
+(&
+Ím_·¿ms
+, 
+       `¹e_sock\91_id
+(),
+
+135 \17(\19
+fib_\9afo
+));
+
+136 ià(
+Ím4_\8f
+ =ð
+NULL
+) {
+
+137 
+       `´\9atf
+("Failed\81o create LPM IPV4\81able\n");
+
+142 \19
+¹e_hash_·¿m\91\94s
+l2_adj_\9dv4_·¿ms
+ = {
+
+143 .
+Çme
+ = "l2_ADJ_HASH",
+
+144 .
+\92\8c\9bs
+ = 64,
+
+145 .
+key_Ën
+ = \17(\19
+l2_adj_key_\9dv4
+),
+
+146 .
+hash_func
+ = 
+¹e_jhash
+,
+
+147 .
+hash_func_\9a\99_v®
+ = 0,
+
+151 
+l2_adj_hash_hªdË
+ = 
+       `¹e_hash_ü\97\8b
+(&
+l2_adj_\9dv4_·¿ms
+);
+
+153 ià(
+l2_adj_hash_hªdË
+ =ð
+NULL
+) {
+
+154 
+       `´\9atf
+("L2 ADJ\84te_hash_create failed\n");
+
+157 
+       `´\9atf
+("l2_adj_hash_hªdË %p\n\n", (\1e*)
+l2_adj_hash_hªdË
+);
+
+161 \19
+¹e_hash_·¿m\91\94s
+fib_·th_\9dv4_·¿ms
+ = {
+
+162 .
+Çme
+ = "FIB_PATH_HASH",
+
+163 .
+\92\8c\9bs
+ = 64,
+
+164 .
+key_Ën
+ = \17(\19
+fib_·th_key_\9dv4
+),
+
+165 .
+hash_func
+ = 
+¹e_jhash
+,
+
+166 .
+hash_func_\9a\99_v®
+ = 0,
+
+170 
+fib_·th_hash_hªdË
+ = 
+       `¹e_hash_ü\97\8b
+(&
+fib_·th_\9dv4_·¿ms
+);
+
+172 ià(
+fib_·th_hash_hªdË
+ =ð
+NULL
+) {
+
+173 
+       `´\9atf
+("FIB\85ath\84te_hash_create failed\n");
+
+177 
+       }
+}
+
+179 \12
+       $Ím4_\8fbË_rou\8b_add
+(\19
+rout\9ag_\9afo
+ *
+d©a
+)
+
+182 \19
+rout\9ag_\9afo
+ *
+fib
+ = 
+d©a
+;
+
+183 \19
+¹e_\8fbË_Ím_key
+Ím_key
+ = {
+
+184 .
+\9d
+ = 
+fib
+->
+d¡_\9d_addr
+,
+
+185 .
+d\95th
+ = 
+fib
+->depth,
+
+187 
+u\9at8_t
+i
+;
+
+188 \18\12
+TÙ®_rou\8b_couÁ
+;
+
+189 \19
+fib_\9afo
+\92\8cy
+;
+
+190 
+\92\8cy
+.
+d¡_\9d_addr
+ = 
+       `¹e_bsw­32
+(
+fib
+->dst_ip_addr);
+
+191 
+\92\8cy
+.
+d\95th
+ = 
+fib
+->depth;
+
+192 
+\92\8cy
+.
+fib_nh_size
+ = 
+fib
+->fib_nh_size;
+
+194 #ià
+MULTIPATH_FEAT
+
+
+195 ià(
+\92\8cy
+.
+fib_nh_size
+ =ð0 ||\83Áry.fib_nh_siz\90
+MAX_FIB_PATHS
+)
+
+197 ià(
+\92\8cy
+.
+fib_nh_size
+ != 1)
+
+200 
+       `´\9atf
+("Route can't be configured!!,\83ntry.fib_nh_size = %d\n",
+
+201 
+\92\8cy
+.
+fib_nh_size
+);
+
+205 #ià
+MULTIPATH_FEAT
+
+
+206 \ f
+i
+ = 0; i < 
+\92\8cy
+.
+fib_nh_size
+; i++)
+
+208 \ f
+i
+ = 0; i < 1; i++)
+
+211 \19
+fib_·th
+ *
+fib_·th_addr
+ = 
+NULL
+;
+
+213 
+fib_·th_addr
+ =
+
+214 
+       `pÝuÏ\8b_fib_·th
+(
+fib
+->
+nh_\9d_addr
+[
+i
+], fib->
+out_pÜt
+[i]);
+
+215 ià(
+fib_·th_addr
+) {
+
+217 
+\92\8cy
+.
+·th
+[
+i
+] = 
+fib_·th_addr
+;
+
+218 
+       `´\9atf
+("Fib info for\81he Dest IP");
+
+219 
+       `´\9atf
+(" : %" 
+PRIu32
+ ".%" PRIu32 ".%" PRIu32 ".%" PRIu32
+
+220 "/%" 
+PRIu8
+
+
+222 (
+fib
+->
+d¡_\9d_addr
+ & 0xFF000000) >> 24,
+
+223 (
+fib
+->
+d¡_\9d_addr
+ & 0x00FF0000) >> 16,
+
+224 (
+fib
+->
+d¡_\9d_addr
+ & 0x0000FF00) >> 8,
+
+225 (
+fib
+->
+d¡_\9d_addr
+ & 0x000000FF), fib->
+d\95th
+,
+
+226 
+fib_·th_addr
+,
+
+227 (\1e*)
+\92\8cy
+.
+·th
+[
+i
+]->
+l2_adj_±r
+);
+
+229 
+       `´\9atf
+("Fib infØfÜ\81h\90De¡ IP :\
+%" 
+PRIu32
+ ".%" PRIu32 ".%" PRIu32 ".%" PRIu32 "/%" 
+PRIu8
+ " => fib_·th Addr: NULL \n", (
+fib
+->
+d¡_\9d_addr
+ & 0xFF000000è>> 24, (fib->d¡_\9d_add¸& 0x00FF0000è>> 16, (fib->d¡_\9d_add¸& 0x0000FF00è>> 8, (fib->d¡_\9d_add¸& 0x000000FF), fib->
+d\95th
+);
+
+231 
+\92\8cy
+.
+·th
+[
+i
+] = 
+NULL
+;
+
+235 \12
+key_found
+, 
+»t
+;
+
+236 \1e*
+\92\8cy_±r
+;
+
+237 
+»t
+ =
+
+238 
+¹e_\8fbË_Ím_Ýs
+.
+       `f_add
+(
+Ím4_\8f
+, (\1e*)&
+Ím_key
+, &
+\92\8cy
+,
+
+239 &
+key_found
+, &
+\92\8cy_±r
+);
+
+241 ià(
+»t
+ != 0) {
+
+242 
+       `´\9atf
+("Failed\81o Add IP\84oute\n");
+
+245 
+TÙ®_rou\8b_couÁ
+++;
+
+246 
+       `´\9atf
+("TÙ® Rou\8bd Added : %u, Key_found: %d\n", 
+TÙ®_rou\8b_couÁ
+,
+
+247 
+key_found
+);
+
+248 
+       `´\9atf
+("Adding Route\81o LPM\81able...\n");
+
+250 
+       `´\9atf
+("Iterate with Cuckoo Hash\81able\n");
+
+251 
+       `\99\94©e_cuckoo_hash_\8f
+();
+
+253 
+       }
+}
+
+255 \12
+       $Ím4_\8fbË_rou\8b_d\96\91e
+(
+u\9at32_t
+d¡_\9d
+, 
+u\9at8_t
+d\95th
+)
+
+258 \19
+¹e_\8fbË_Ím_key
+Ím_key
+ = {
+
+259 .
+\9d
+ = 
+d¡_\9d
+,
+
+260 .
+d\95th
+ = depth,
+
+263 \12
+key_found
+, 
+»t
+;
+
+264 \1e*
+\92\8cy
+ = 
+NULL
+;
+
+266 
+\92\8cy
+ = 
+       `¹e_zm®loc
+(
+NULL
+, 512, 
+RTE_CACHE_LINE_SIZE
+);
+
+269 
+»t
+ =
+
+270 
+¹e_\8fbË_Ím_Ýs
+.
+       `f_d\96\91e
+(
+Ím4_\8f
+, &
+Ím_key
+, &
+key_found
+, 
+\92\8cy
+);
+
+272 ià(
+»t
+) {
+
+273 
+       `´\9atf
+("Failed\81o Delete IP\84oute from LPMv4\81able\n");
+
+277 
+       `´\9atf
+("Deleted\84oute from LPM\81able (IPv4 Address = %"
+
+278 
+PRIu32
+ ".%" PRIu32 ".%" PRIu32 ".%" PRIu32
+
+279 "/%u , key_found = %d\n", (
+Ím_key
+.
+\9d
+ & 0xFF000000) >> 24,
+
+280 (
+Ím_key
+.
+\9d
+ & 0x00FF0000) >> 16, (lpm_key.ip & 0x0000FF00) >> 8,
+
+281 (
+Ím_key
+.
+\9d
+ & 0x000000FF),\86pm_key.
+d\95th
+, 
+key_found
+);
+
+284 
+       `»move_fib_l2_adj_\92\8cy
+(
+\92\8cy
+);
+
+285 
+       `¹e_ä\93
+(
+\92\8cy
+);
+
+286 
+       `´\9atf
+("Iterate with Cuckoo Hash\81able\n");
+
+287 
+       `\99\94©e_cuckoo_hash_\8f
+();
+
+289 
+       }
+}
+
+292 
+       $Ím4_\8fbË_lookup
+(\19
+¹e_mbuf
+ **
+pkts_bur¡
+, 
+u\9at16_t
+nb_pkts
+,
+
+293 
+u\9at64_t
+pkts_mask
+,
+
+294 
+l2_phy_\9a\8brçû_t
+ *
+pÜt_±r
+[
+RTE_PORT_IN_BURST_SIZE_MAX
+],
+
+295 
+u\9at64_t
+ *
+h\99_mask
+)
+
+298 \19
+rout\9ag_\8fbË_\92\8cy
+ *
+\9dv4_\92\8c\9bs
+[
+RTE_PORT_IN_BURST_SIZE_MAX
+];
+
+299 
+u\9at64_t
+lookup_h\99_mask_\9dv4
+ = 0;
+
+300 \12
+¡©us
+;
+
+301 
+u\9at64_t
+pkts_key_mask
+ = 
+pkts_mask
+;
+
+302 
+u\9at64_t
+lookup_miss_mask_\9dv4
+ = 
+pkts_mask
+;
+
+304 \18
+u\9at64_t
+£Á_couÁ
+;
+
+305 \18
+u\9at64_t
+rcvd_couÁ
+;
+
+306 
+rcvd_couÁ
+ +ð
+nb_pkts
+;
+
+307 ià(
+L3FWD_DEBUG
+) {
+
+308 
\9atf
+
+
+310 
+nb_pkts
+, 
+rcvd_couÁ
+, (\1e*)
+pkts_mask
+);
+
+312 
+u\9at32_t
+d¡_addr_off£t
+ =
+
+313 
+MBUF_HDR_ROOM
+ + 
+ETH_HDR_SIZE
+ + 
+IP_HDR_DST_ADR_OFST
+;
+
+315 \ f
+pkts_key_mask
+;) {
+
+317 
+u\9at8_t
+pos
+ = (u\9at8_tè
+       `__bu\9et\9a_ùzÎ
+(
+pkts_key_mask
+);
+
+318 
+u\9at64_t
+pkt_mask
+ = 1LLU << 
+pos
+;
+
+319 
+pkts_key_mask
+ &ð~
+pkt_mask
+;
+
+320 \19
+¹e_mbuf
+ *
+mbuf
+ = 
+pkts_bur¡
+[
+pos
+];
+
+321 
+u\9at32_t
+ *
+Ím_key
+ = 
+NULL
+;
+
+322 
+u\9at32_t
+ *
+d¡_addr
+ = 
+NULL
+;
+
+323 
+Ím_key
+ = (
+u\9at32_t
+ *è
+       `RTE_MBUF_METADATA_UINT8_PTR
+(
+mbuf
+, 128);
+
+324 
+d¡_addr
+ =
+
+325 (
+u\9at32_t
+ *è
+       `RTE_MBUF_METADATA_UINT8_PTR
+(
+mbuf
+,
+
+326 
+d¡_addr_off£t
+);
+
+327 *
+Ím_key
+ = *
+d¡_addr
+;
+
+328 ià(
+L3FWD_DEBUG
+) {
+
+330 
+       `´\9atf
+("Rcvd Pakt (IPv4 Address = %"
+
+331 
+PRIu32
+ ".%" PRIu32 ".%" PRIu32 ".%" PRIu32 ")\n",
+
+332 (
+       `¹e_ýu_to_be_32
+(*
+Ím_key
+) & 0xFF000000) >> 24,
+
+333 (
+       `¹e_ýu_to_be_32
+(*
+Ím_key
+) & 0x00FF0000) >> 16,
+
+334 (
+       `¹e_ýu_to_be_32
+(*
+Ím_key
+) & 0x0000FF00) >> 8,
+
+335 (
+       `¹e_ýu_to_be_32
+(*
+Ím_key
+) & 0x000000FF));
+
+340 ià(
+L3FWD_DEBUG
+)
+
+341 
+       `´\9atf
+("\nIPV4 Lookup Mask Before = %p\n",
+
+342 (\1e*)
+lookup_h\99_mask_\9dv4
+);
+
+343 
+¡©us
+ =
+
+344 
+¹e_\8fbË_Ím_Ýs
+.
+       `f_lookup
+(
+Ím4_\8f
+, 
+pkts_bur¡
+, 
+pkts_mask
+,
+
+345 &
+lookup_h\99_mask_\9dv4
+,
+
+346 (\1e**)
+\9dv4_\92\8c\9bs
+);
+
+348 ià(
+¡©us
+) {
+
+349 
+       `´\9atf
+("LPM Lookup failed for IP\84oute\n");
+
+353 
+lookup_miss_mask_\9dv4
+ =\86ookup_miss_mask_\9dv4 & (~
+lookup_h\99_mask_\9dv4
+);
+
+354 ià(
+L3FWD_DEBUG
+) {
+
+355 
\9atf
+
+
+357 (\1e*)
+lookup_h\99_mask_\9dv4
+,
+
+358 (\1e*)
+lookup_miss_mask_\9dv4
+);
+
+361 \ f
+lookup_miss_mask_\9dv4
+;) {
+
+363 
+u\9at8_t
+pos
+ = (u\9at8_tè
+       `__bu\9et\9a_ùzÎ
+(
+lookup_miss_mask_\9dv4
+);
+
+364 
+u\9at64_t
+pkt_mask
+ = 1LLU << 
+pos
+;
+
+365 
+lookup_miss_mask_\9dv4
+ &ð~
+pkt_mask
+;
+
+366 
+       `¹e_pktmbuf_ä\93
+(
+pkts_bur¡
+[
+pos
+]);
+
+367 
+pkts_bur¡
+[
+pos
+] = 
+NULL
+;
+
+368 
+¡©s
+.
+nb_l3_drÝ_pkt
+++;
+
+369 ià(
+L3FWD_DEBUG
+)
+
+370 
+       `´\9atf
+("\n DROP PKT IPV4 Lookup_miss_Mask = %p\n",
+
+371 (\1e*)
+lookup_miss_mask_\9dv4
+);
+
+374 *
+h\99_mask
+ = 
+lookup_h\99_mask_\9dv4
+;
+
+375 \ f
+lookup_h\99_mask_\9dv4
+;) {
+
+377 
+u\9at8_t
+pos
+ = (u\9at8_tè
+       `__bu\9et\9a_ùzÎ
+(
+lookup_h\99_mask_\9dv4
+);
+
+378 
+u\9at64_t
+pkt_mask
+ = 1LLU << 
+pos
+;
+
+379 
+lookup_h\99_mask_\9dv4
+ &ð~
+pkt_mask
+;
+
+380 \19
+¹e_mbuf
+ *
+pkt
+ = 
+pkts_bur¡
+[
+pos
+];
+
+382 \19
+fib_\9afo
+ *
+\92\8cy
+ = (\19fib_\9afØ*)
+\9dv4_\92\8c\9bs
+[
+pos
+];
+
+384 #ià
+MULTIPATH_FEAT
+
+
+386 
+u\9at8_t
+ecmp_·th
+ = 0;
+
+387 
+ecmp_·th
+ = 
+       `\9d_hash_lßd_b®ªû
+(
+pkts_bur¡
+[
+pos
+]);
+
+388 
+u\9at8_t
+£Ëùed_·th
+ = 0;
+
+389 \19
+fib_·th
+ *fib_·th = 
+NULL
+;
+
+390 ià(((
+\92\8cy
+->
+fib_nh_size
+ != 0)
+
+391 && (
+\92\8cy
+->
+fib_nh_size
+ - 1è< 
+MAX_SUPPORTED_FIB_PATHS
+)
+
+392 && ((
+ecmp_·th
+ !ð0è&& (ecmp_·th - 1è< 
+HASH_BUCKET_SIZE
+))
+
+393 
+£Ëùed_·th
+ =
+
+394 
+nh_l\9aks
+[
+\92\8cy
+->
+fib_nh_size
+ - 1][
+ecmp_·th
+ - 1];
+
+395 ià(
+£Ëùed_·th
+ < 
+MAX_FIB_PATHS
+)
+
+396 
+fib_·th
+ = 
+\92\8cy
+->
+·th
+[
+£Ëùed_·th
+];
+
+397 ià(
+L3FWD_DEBUG
+) {
+
+398 
\9atf
+
+
+400 
+\92\8cy
+->
+fib_nh_size
+, 
+ecmp_·th
+, 
+£Ëùed_·th
+);
+
+403 \19
+fib_·th
+ *fib_·th = 
+\92\8cy
+->
+·th
+[0];
+
+406 ià(
+fib_·th
+ =ð
+NULL
+) {
+
+407 
+       `¹e_pktmbuf_ä\93
+(
+pkt
+);
+
+408 
+pkts_bur¡
+[
+pos
+] = 
+NULL
+;
+
+409 
+¡©s
+.
+nb_l3_drÝ_pkt
+++;
+
+410 *
+h\99_mask
+ &ð~
+pkt_mask
+;
+
+411 ià(
+L3FWD_DEBUG
+)
+
+412 
\9atf
+
+
+417 ià(
+fib_·th
+->
+l2_adj_±r
+->
+æags
+ =ð
+L2_ADJ_UNRESOLVED
+) {
+
+418 ià(
+fib_·th
+->
+l2_adj_±r
+->
+phy_pÜt
+->
+\9dv4_li¡
+ !ð
+NULL
+)
+
+419 
+       `»que¡_¬p
+(
+fib_·th
+->
+l2_adj_±r
+->
+phy_pÜt
+->
+
+420 
+pmdid
+, 
+fib_·th
+->
+nh_\9d
+);
+
+422 
+       `¹e_pktmbuf_ä\93
+(
+pkts_bur¡
+[
+pos
+]);
+
+423 
+pkts_bur¡
+[
+pos
+] = 
+NULL
+;
+
+424 *
+h\99_mask
+ &ð~
+pkt_mask
+;
+
+425 ià(
+L3FWD_DEBUG
+)
+
+426 
\9atf
+
+
+432 
+u\9at8_t
+ *
+\91h_de¡
+ =
+
+433 
+       `RTE_MBUF_METADATA_UINT8_PTR
+(
+pkt
+, 
+MBUF_HDR_ROOM
+);
+
+434 
+u\9at8_t
+ *
+\91h_¤c
+ =
+
+435 
+       `RTE_MBUF_METADATA_UINT8_PTR
+(
+pkt
+, 
+MBUF_HDR_ROOM
+ + 6);
+
+436 ià(
+L3FWD_DEBUG
+) {
+
+437 
\9atf
+
+
+440 
+\91h_de¡
+[0],\83th_de¡[1],\83th_de¡[2],\83th_de¡[3],\83th_de¡[4],\83th_de¡[5], 
+\91h_¤c
+[0],\83th_src[1],
+
+441 
+\91h_¤c
+[2],\83th_src[3],\83th_src[4],\83th_src[5]);
+
+444 
+       `memýy
+(
+\91h_de¡
+, 
+fib_·th
+->
+l2_adj_±r
+->
+l2_¡r\9ag
+, \17(\19
+\91h\94_addr
+) * 2);
+
+445 ià(
+L3FWD_DEBUG
+) {
+
+446 \12
+k
+ = 0;
+
+447 \ f
+k
+ = 0; k < 14; k++) {
+
+448 
+       `´\9atf
+("%02x ",
+
+449 
+fib_·th
+->
+l2_adj_±r
+->
+l2_¡r\9ag
+[
+k
+]);
+
+450 
+       `´\9atf
+("\n");
+
+452 
\9atf
+
+
+453 ("MAC AFTER DST MAC %02x:%02x:%02x:%02x:%02x:%02x, \
+ MAC %02x:%02x:%02x:%02x:%02x:%02x\n", 
+\91h_de¡
+[0],\83th_de¡[1],\83th_de¡[2],\83th_de¡[3],\83th_de¡[4],\83th_de¡[5], 
+\91h_¤c
+[0],\83th_src[1],\83th_src[2],\83th_src[3],\83th_src[4],\83th_src[5]);
+
+456 
+pÜt_±r
+[
+pos
+] = 
+fib_·th
+->
+l2_adj_±r
+->
+phy_pÜt
+;
+
+457 ià(
+L3FWD_DEBUG
+) {
+
+458 
+       `´\9atf
+("l3fwd_lookup API!!!!\n");
+
+462 
+£Á_couÁ
+++;
+
+463 
+¡©s
+.
+nb_tx_l3_pkt
+++;
+
+464 ià(
+L3FWD_DEBUG
+)
+
+465 
\9atf
+
+
+467 
+fib_·th
+->
+out_pÜt
+, 
+£Á_couÁ
+);
+
+470 
+       }
+}
+
+472 \12
+       $is_v®id_\9dv4_pkt
+(\19
+\9dv4_hdr
+ *
+pkt
+, 
+u\9at32_t
+l\9ak_Ën
+)
+
+474 ià(
+l\9ak_Ën
+ < \17(\19
+\9dv4_hdr
+))
+
+476 ià(((
+pkt
+->
+v\94siÚ_ihl
+) >> 4) != 4)
+
+478 ià((
+pkt
+->
+v\94siÚ_ihl
+ & 0xf) < 5)
+
+480 ià(
+       `¹e_ýu_to_be_16
+(
+pkt
+->
+tÙ®_Ëngth
+è< \17(\19
+\9dv4_hdr
+))
+
+483 
+       }
+}
+
+486 
+       $g\91_de¡_mac_fÜ_ÃxthÝ
+(
+u\9at32_t
+Ãxt_hÝ_\9d
+,
+
+487 
+u\9at8_t
+out_phy_pÜt
+, \19
+\91h\94_addr
+ *
+hw_addr
+)
+
+489 \19
+¬p_\92\8cy_d©a
+ *
+¬p_d©a
+ = 
+NULL
+;
+
+490 \19
+¬p_key_\9dv4
+¬p_key
+;
+
+491 
+¬p_key
+.
+pÜt_id
+ = 
+out_phy_pÜt
+;
+
+492 
+¬p_key
+.
+\9d
+ = 
+Ãxt_hÝ_\9d
+;
+
+494 
+¬p_d©a
+ = 
+       `»\8c\9bve_¬p_\92\8cy
+(
+¬p_key
+);
+
+495 ià(
+¬p_d©a
+ =ð
+NULL
+) {
+
+496 
+       `´\9atf
+("ARP\83ntry is\82ot found for ip %x,\85ort %d\n",
+
+497 
+Ãxt_hÝ_\9d
+, 
+out_phy_pÜt
+);
+
+500 
+       `\91h\94_addr_cÝy
+(&
+¬p_d©a
+->
+\91h_addr
+, 
+hw_addr
+);
+
+502 
+       }
+}
+
+504 \19
+l2_adj_\92\8cy
+ *
+       $»\8c\9bve_l2_adj_\92\8cy
+(\19
+l2_adj_key_\9dv4
+l2_adj_key
+)
+
+506 \19
+l2_adj_\92\8cy
+ *
+»t_l2_adj_d©a
+ = 
+NULL
+;
+
+507 
+l2_adj_key
+.
+f\9eËr1
+ = 0;
+
+508 
+l2_adj_key
+.
+f\9eËr2
+ = 0;
+
+509 
+l2_adj_key
+.
+f\9eËr3
+ = 0;
+
+511 \12
+»t
+ =
+
+512 
+       `¹e_hash_lookup_d©a
+(
+l2_adj_hash_hªdË
+, &
+l2_adj_key
+,
+
+513 (\1e**)&
+»t_l2_adj_d©a
+);
+
+514 ià(
+»t
+ < 0) {
+
+515 #ifdeà
+L2L3_DEBUG
+
+
+516 
\9atf
+
+
+518 
+»t
+, 
+EINVAL
+, 
+ENOENT
+);
+
+520 \15 
+NULL
+;
+
+522 #ifdeà
+L2L3_DEBUG
+
+
+523 
\9atf
+
+
+525 
+»t
+, 
+EINVAL
+, 
+ENOENT
+);
+
+527 \15 
+»t_l2_adj_d©a
+;
+
+529 
+       }
+}
+
+531 \1e
+       $»move_fib_l2_adj_\92\8cy
+(\1e*
+\92\8cy
+)
+
+533 \19
+fib_\9afo
+\92\8cy1
+;
+
+534 
+       `memýy
+(&
+\92\8cy1
+, 
+\92\8cy
+, \17(\19
+fib_\9afo
+));
+
+536 \19
+fib_·th
+ *
+fib_·th_addr
+ = 
+\92\8cy1
+.
+·th
+[0];
+
+537 ià(
+fib_·th_addr
+->
+»fcouÁ
+ > 1) {
+
+538 
\9atf
+
+
+540 
+fib_·th_addr
+->
+nh_\9d
+, fib_·th_addr->
+out_pÜt
+,
+
+541 
+fib_·th_addr
+->
+»fcouÁ
+);
+
+542 
+fib_·th_addr
+->
+»fcouÁ
+--;
+
+543 
+       `´\9atf
+("AFTER fib_path\83ntry,\82h_ip %x,\85ort %d,\84efcount %d\n",
+
+544 
+fib_·th_addr
+->
+nh_\9d
+, fib_·th_addr->
+out_pÜt
+,
+
+545 
+fib_·th_addr
+->
+»fcouÁ
+);
+
+549 \19
+l2_adj_\92\8cy
+ *
+adj_addr
+ = 
+NULL
+;
+
+550 
+adj_addr
+ = 
+fib_·th_addr
+->
+l2_adj_±r
+;
+
+552 ià(
+adj_addr
+ !ð
+NULL
+) {
+
+554 \19
+l2_adj_key_\9dv4
+l2_adj_key
+ = {
+
+555 .
+Next_hÝ_\9d
+ = 
+fib_·th_addr
+->
+nh_\9d
+,
+
+556 .
+out_pÜt_id
+ = 
+fib_·th_addr
+->
+out_pÜt
+,
+
+558 #ifdeà
+L3FWD_DEBUG
+
+
+559 
\9atf
+
+
+561 
+l2_adj_key
+.
+Next_hÝ_\9d
+,\862_adj_key.
+out_pÜt_id
+,
+
+562 
+adj_addr
+->
+»fcouÁ
+);
+
+565 
+       `¹e_hash_d\96_key
+(
+l2_adj_hash_hªdË
+, &
+l2_adj_key
+);
+
+566 
+       `¹e_ä\93
+(
+adj_addr
+);
+
+567 
+adj_addr
+ = 
+NULL
+;
+
+570 \19
+fib_·th_key_\9dv4
+·th_key
+ = {
+
+571 .
+nh_\9d
+ = 
+fib_·th_addr
+->nh_ip,
+
+572 .
+out_pÜt
+ = 
+fib_·th_addr
+->out_port,
+
+575 
\9atf
+
+
+577 
+fib_·th_addr
+->
+nh_\9d
+, fib_·th_addr->
+out_pÜt
+,
+
+578 
+fib_·th_addr
+->
+»fcouÁ
+);
+
+579 
+       `¹e_hash_d\96_key
+(
+fib_·th_hash_hªdË
+, &
+·th_key
+);
+
+580 
+       `¹e_ä\93
+(
+fib_·th_addr
+);
+
+581 
+fib_·th_addr
+ = 
+NULL
+;
+
+583 
+       }
+}
+
+585 \19
+l2_adj_\92\8cy
+ *
+       $pÝuÏ\8b_l2_adj
+(
+u\9at32_t
+\9daddr
+, 
+u\9at8_t
+pÜtid
+)
+
+588 \19
+l2_adj_key_\9dv4
+l2_adj_key
+;
+
+589 
+l2_adj_key
+.
+out_pÜt_id
+ = 
+pÜtid
+;
+
+590 
+l2_adj_key
+.
+Next_hÝ_\9d
+ = 
+\9daddr
+;
+
+591 
+l2_adj_key
+.
+f\9eËr1
+ = 0;
+
+592 
+l2_adj_key
+.
+f\9eËr2
+ = 0;
+
+593 
+l2_adj_key
+.
+f\9eËr3
+ = 0;
+
+595 \19
+\91h\94_addr
+\91h_d¡
+;
+
+596 \19
+l2_adj_\92\8cy
+ *
+adj_d©a
+ = 
+NULL
+;
+
+599 
+adj_d©a
+ = 
+       `»\8c\9bve_l2_adj_\92\8cy
+(
+l2_adj_key
+);
+
+601 ià(
+adj_d©a
+) {
+
+603 
\9atf
+
+
+605 
+l2_adj_key
+.
+Next_hÝ_\9d
+,\862_adj_key.
+out_pÜt_id
+,
+
+606 
+adj_d©a
+->
+»fcouÁ
+,\87dj_data);
+
+607 
+       `\91h\94_addr_cÝy
+(&
+adj_d©a
+->
+\91h_addr
+, &
+\91h_d¡
+);
+
+608 
+adj_d©a
+->
+»fcouÁ
+++;
+
+609 
\9atf
+
+
+611 
+l2_adj_key
+.
+Next_hÝ_\9d
+,\862_adj_key.
+out_pÜt_id
+,
+
+612 
+adj_d©a
+->
+»fcouÁ
+,\87dj_data);
+
+613 \15 
+adj_d©a
+;
+
+616 \19
+\91h\94_addr
+\91h_¤c
+;
+
+617 
+l2_phy_\9a\8brçû_t
+ *
+pÜt
+;
+
+619 
+pÜt
+ = 
+       `ifm_g\91_pÜt
+(
+pÜtid
+);
+
+621 ià(
+pÜt
+ !ð
+NULL
+) {
+
+622 
+       `memýy
+(&
+\91h_¤c
+, &
+pÜt
+->
+maÿddr
+, \17(\19
+\91h\94_addr
+));
+
+623 \1d\ 5*
+p
+ = (\1d\ 5*)
+\91h_¤c
+.
+addr_by\8bs
+;
+
+624 
+       `´\9atf
+("S-MAC %x:%x:%x:%x:%x:%x\n\r", 
+p
+[0],\85[1],\85[2],\85[3],
+
+625 
+p
+[4],\85[5]);
+
+627 
+u\9at32_t
+size
+ =
+
+628 
+       `RTE_CACHE_LINE_ROUNDUP
+(\17(\19
+l2_adj_\92\8cy
+));
+
+629 
+adj_d©a
+ = 
+       `¹e_zm®loc
+(
+NULL
+, 
+size
+, 
+RTE_CACHE_LINE_SIZE
+);
+
+630 ià(
+adj_d©a
+ =ð
+NULL
+) {
+
+631 
+       `´\9atf
+("L2 Adjacency memory\87llocation failed !\n");
+
+632 \15 
+NULL
+;
+
+635 
+adj_d©a
+->
+out_pÜt_id
+ = 
+pÜtid
+;
+
+636 
+adj_d©a
+->
+Next_hÝ_\9d
+ = 
+\9daddr
+;
+
+637 
+adj_d©a
+->
+»fcouÁ
+++;
+
+639 
+adj_d©a
+->
+phy_pÜt
+ = 
+pÜt
+;
+
+640 
+       `mem£t
+(&
+adj_d©a
+->
+\91h_addr
+, 0, \17(\19
+\91h\94_addr
+));
+
+641 
+       `mem£t
+(&
+adj_d©a
+->
+l2_¡r\9ag
+, 0, 256);
+
+644 
+       `¹e_hash_add_key_d©a
+(
+l2_adj_hash_hªdË
+, &
+l2_adj_key
+,
+
+645 
+adj_d©a
+);
+
+646 #ifdeà
+L2L3_DEBUG
+
+
+647 
\9atf
+
+
+649 
+adj_d©a
+);
+
+652 #ifdeà
+L2L3_DEBUG
+
+
+653 
+       `´\9atf
+("\ÀPORT %u IS DOWN...\n", 
+pÜtid
+);
+
+655 \15 
+NULL
+;
+
+658 ià(
+       `g\91_de¡_mac_fÜ_ÃxthÝ
+(
+\9daddr
+, 
+pÜtid
+, &
+\91h_d¡
+)) {
+
+659 \1d\ 5*
+p
+ = (\1d\ 5*)
+\91h_d¡
+.
+addr_by\8bs
+;
+
+660 
\9atf
+
+
+662 
+p
+[0],\85[1],\85[2],\85[3],\85[4],\85[5]);
+
+664 
+       `memýy
+(
+adj_d©a
+->
+l2_¡r\9ag
+, &
+\91h_d¡
+, \17(\19
+\91h\94_addr
+));
+
+665 
+       `memýy
+(&
+adj_d©a
+->
+l2_¡r\9ag
+[6], &
+\91h_¤c
+,
+
+666 \17(\19
+\91h\94_addr
+));
+
+669 
+       `\91h\94_addr_cÝy
+(&
+\91h_d¡
+, &
+adj_d©a
+->
+\91h_addr
+);
+
+670 
+adj_d©a
+->
+æags
+ = 
+L2_ADJ_RESOLVED
+;
+
+672 
+adj_d©a
+->
+æags
+ = 
+L2_ADJ_UNRESOLVED
+;
+
+673 
\9atf
+
+
+676 \15 
+adj_d©a
+;
+
+677 
+       }
+}
+
+679 \19
+fib_·th
+ *
+       $pÝuÏ\8b_fib_·th
+(
+u\9at32_t
+nh_\9d
+, 
+u\9at8_t
+pÜtid
+)
+
+682 \19
+fib_·th_key_\9dv4
+·th_key
+;
+
+683 
+·th_key
+.
+out_pÜt
+ = 
+pÜtid
+;
+
+684 
+·th_key
+.
+nh_\9d
+ =\82h_ip;
+
+685 
+·th_key
+.
+f\9eËr1
+ = 0;
+
+686 
+·th_key
+.
+f\9eËr2
+ = 0;
+
+687 
+·th_key
+.
+f\9eËr3
+ = 0;
+
+689 \19
+fib_·th
+ *
+fib_d©a
+ = 
+NULL
+;
+
+692 
+fib_d©a
+ = 
+       `»\8c\9bve_fib_·th_\92\8cy
+(
+·th_key
+);
+
+694 ià(
+fib_d©a
+) {
+
+697 
\9atf
+
+
+699 
+fib_d©a
+->
+nh_\9d
+, fib_d©a->
+out_pÜt
+, fib_d©a->
+»fcouÁ
+,
+
+700 
+fib_d©a
+);
+
+701 
+fib_d©a
+->
+»fcouÁ
+++;
+
+702 
+fib_d©a
+->
+l2_adj_±r
+->
+»fcouÁ
+++;
+
+703 
\9atf
+
+
+705 
+fib_d©a
+->
+nh_\9d
+, fib_d©a->
+out_pÜt
+, fib_d©a->
+»fcouÁ
+);
+
+706 \15 
+fib_d©a
+;
+
+708 
+       `´\9atf
+("fib_path\83ntry Doesn't Exists.......\n");
+
+711 
+fib_d©a
+ = 
+NULL
+;
+
+712 \19
+l2_adj_\92\8cy
+ *
+l2_adj_±r
+ = 
+NULL
+;
+
+713 
+l2_adj_±r
+ = 
+       `pÝuÏ\8b_l2_adj
+(
+nh_\9d
+, 
+pÜtid
+);
+
+715 ià(
+l2_adj_±r
+) {
+
+717 
+u\9at32_t
+size
+ = 
+       `RTE_CACHE_LINE_ROUNDUP
+(\17(\19
+fib_·th
+));
+
+718 
+fib_d©a
+ = 
+       `¹e_zm®loc
+(
+NULL
+, 
+size
+, 
+RTE_CACHE_LINE_SIZE
+);
+
+720 
+fib_d©a
+->
+out_pÜt
+ = 
+pÜtid
+;
+
+721 
+fib_d©a
+->
+nh_\9d
+ =\82h_ip;
+
+722 
+fib_d©a
+->
+»fcouÁ
+++;
+
+723 
+fib_d©a
+->
+l2_adj_±r
+ =\862_adj_ptr;
+
+725 
+       `´\9atf
+("%s: g\91\85Ü\88d\91a\9e %u %d\n\r", 
+__FUNCTION__
+, 
+pÜtid
+,
+
+726 
+__LINE__
+);
+
+728 \12
+¡©us
+;
+
+729 
+¡©us
+ =
+
+730 
+       `¹e_hash_add_key_d©a
+(
+fib_·th_hash_hªdË
+, &
+·th_key
+,
+
+731 
+fib_d©a
+);
+
+732 ià(
+¡©us
+) {
+
+733 
\9atf
+
+
+735 
+fib_d©a
+->
+nh_\9d
+, fib_d©a->
+out_pÜt
+,
+
+736 
+fib_d©a
+->
+»fcouÁ
+);
+
+738 
+       `¹e_ä\93
+(
+fib_d©a
+);
+
+740 
\9atf
+
+
+742 
+fib_d©a
+->
+nh_\9d
+, fib_d©a->
+out_pÜt
+,
+
+743 
+fib_d©a
+->
+»fcouÁ
+);
+
+744 
\9atf
+
+
+746 
+l2_adj_±r
+, 
+fib_d©a
+, fib_data->l2_adj_ptr);
+
+747 
\9atf
+
+
+749 
+l2_adj_±r
+, 
+fib_d©a
+);
+
+750 \15 
+fib_d©a
+;
+
+753 
\9atf
+
+
+756 \15 
+NULL
+;
+
+757 
+       }
+}
+
+759 \19
+fib_·th
+ *
+       $»\8c\9bve_fib_·th_\92\8cy
+(\19
+fib_·th_key_\9dv4
+·th_key
+)
+
+761 
+       `´\9atf
+("FIB PATH fÜ NExtHOP IP : %x,\85Ü\88:%u\n", 
+·th_key
+.
+nh_\9d
+,
+
+762 
+·th_key
+.
+out_pÜt
+);
+
+764 \19
+fib_·th
+ *
+»t_fib_·th_d©a
+ = 
+NULL
+;
+
+765 \12
+»t
+ =
+
+766 
+       `¹e_hash_lookup_d©a
+(
+fib_·th_hash_hªdË
+, &
+·th_key
+,
+
+767 (\1e**)&
+»t_fib_·th_d©a
+);
+
+768 ià(
+»t
+ < 0) {
+
+769 
\9atf
+
+
+771 
+»t
+, 
+EINVAL
+, 
+ENOENT
+);
+
+772 \15 
+NULL
+;
+
+774 
+       `´\9atf
+("FIB PATH ALREADY Exists for NExtHOP IP: %x,\85ort: %u\n",
+
+775 
+·th_key
+.
+nh_\9d
+,\85©h_key.
+out_pÜt
+);
+
+776 \15 
+»t_fib_·th_d©a
+;
+
+778 
+       }
+}
+
+780 \1e
+       $\99\94©e_cuckoo_hash_\8f
+(\1e)
+
+782 cڡ \1e*
+Ãxt_key
+;
+
+783 \1e*
+Ãxt_d©a
+;
+
+784 
+u\9at32_t
+\99\94
+ = 0;
+
+786 
+       `´\9atf
+("\n\t\t\t FIB_path Cache\81able....");
+
+787 
\9atf
+
+
+789 
+       `´\9atf
+("\n\tNextHop IP Port Refcount\862_adj_ptr_addrress\n");
+
+790 
\9atf
+
+
+793 \1f
+¹e_hash_\99\94©e
+
+
+794 (
+fib_·th_hash_hªdË
+, &
+Ãxt_key
+, &
+Ãxt_d©a
+, &
+\99\94
+) >= 0) {
+
+795 \19
+fib_·th
+ *
+tmp_d©a
+ = (\19fib_·th *)
+Ãxt_d©a
+;
+
+796 \19
+fib_·th_key_\9dv4
+tmp_key
+;
+
+797 
+       `memýy
+(&
+tmp_key
+, 
+Ãxt_key
+, \17(tmp_key));
+
+798 
+       `´\9atf
+("\\88%" 
+PRIu32
+ ".%" PRIu32 ".%" PRIu32 ".%" PRIu32
+
+800 (
+tmp_d©a
+->
+nh_\9d
+ & 0xFF000000) >> 24,
+
+801 (
+tmp_d©a
+->
+nh_\9d
+ & 0x00FF0000) >> 16,
+
+802 (
+tmp_d©a
+->
+nh_\9d
+ & 0x0000FF00) >> 8,
+
+803 (
+tmp_d©a
+->
+nh_\9d
+ & 0x000000FF),\81mp_d©a->
+out_pÜt
+,
+
+804 
+tmp_d©a
+->
+»fcouÁ
+,\81mp_d©a->
+l2_adj_±r
+);
+
+807 
+\99\94
+ = 0;
+
+809 
+       `´\9atf
+("\n\t\t\t L2 ADJ Cache\81able.....");
+
+810 
\9atf
+
+
+812 
\9atf
+
+
+814 
\9atf
+
+
+817 \1f
+¹e_hash_\99\94©e
+
+
+818 (
+l2_adj_hash_hªdË
+, &
+Ãxt_key
+, &
+Ãxt_d©a
+, &
+\99\94
+) >= 0) {
+
+819 \19
+l2_adj_\92\8cy
+ *
+l2_d©a
+ = (\19l2_adj_\92\8cy *)
+Ãxt_d©a
+;
+
+820 \19
+l2_adj_key_\9dv4
+l2_key
+;
+
+821 
+       `memýy
+(&
+l2_key
+, 
+Ãxt_key
+, \17(l2_key));
+
+822 
+       `´\9atf
+("\\88%" 
+PRIu32
+ ".%" PRIu32 ".%" PRIu32 ".%" PRIu32
+
+824 (
+l2_d©a
+->
+Next_hÝ_\9d
+ & 0xFF000000) >> 24,
+
+825 (
+l2_d©a
+->
+Next_hÝ_\9d
+ & 0x00FF0000) >> 16,
+
+826 (
+l2_d©a
+->
+Next_hÝ_\9d
+ & 0x0000FF00) >> 8,
+
+827 (
+l2_d©a
+->
+Next_hÝ_\9d
+ & 0x000000FF),
+
+828 
+l2_d©a
+->
+out_pÜt_id
+,\862_d©a->
+l2_¡r\9ag
+[0],
+
+829 
+l2_d©a
+->
+l2_¡r\9ag
+[1],\862_data->l2_string[2],
+
+830 
+l2_d©a
+->
+l2_¡r\9ag
+[3],\862_data->l2_string[4],
+
+831 
+l2_d©a
+->
+l2_¡r\9ag
+[5],\862_data->l2_string[6],
+
+832 
+l2_d©a
+->
+l2_¡r\9ag
+[7],\862_data->l2_string[8],
+
+833 
+l2_d©a
+->
+l2_¡r\9ag
+[9],\862_data->l2_string[10],
+
+834 
+l2_d©a
+->
+l2_¡r\9ag
+[11],\862_d©a->
+phy_pÜt
+);
+
+836 
+       }
+}
+
+838 \1e
+       $´\9at_l3_¡©s
+(\1e)
+
+840 
+       `´\9atf
+("==============================================\n");
+
+841 
+       `´\9atf
+("\t\t L3 STATISTICS \t\n");
+
+842 
+       `´\9atf
+("==============================================\n");
+
+843 
+       `´\9atf
+(" Num oàReûived L3 Pkt  : %lu\n", 
+¡©s
+.
+nb_rx_l3_pkt
+);
+
+844 
+       `´\9atf
+(" Num oàDrݳd L3 Pkt  : %lu\n", 
+¡©s
+.
+nb_l3_drÝ_pkt
+);
+
+845 
+       `´\9atf
+(" Num oàT¿nsm\99\8bd L3 Pkt  : %lu\n", 
+¡©s
+.
+nb_tx_l3_pkt
+);
+
+846 
+       `´\9atf
+(" Num oàICMP Pkt Rcvd\87\88L3 : %lu\n", 
+¡©s
+.
+nb_rx_l3_icmp_pkt
+);
+
+847 
+       `´\9atf
+(" Num oàICMP Pkt Tx\81ØICMP : %lu\n", 
+¡©s
+.
+nb_tx_l3_icmp_pkt
+);
+
+848 
+¡©s
+.
+tٮ_nb_rx_l3_pkt
+ = s\8fts.
+nb_rx_l3_icmp_pkt
+ + s\8fts.
+nb_rx_l3_pkt
+;
+
+849 
+¡©s
+.
+tٮ_nb_tx_l3_pkt
+ = s\8fts.
+nb_tx_l3_icmp_pkt
+ + s\8fts.
+nb_tx_l3_pkt
+;
+
+850 
+       `´\9atf
+(" Total Num of Rcvd\85kts\87t L3: %lu\n",
+
+851 
+¡©s
+.
+tٮ_nb_rx_l3_pkt
+);
+
+852 
+       `´\9atf
+(" Total Num of Sent\85kts\87t L3: %lu\n",
+
+853 
+¡©s
+.
+tٮ_nb_tx_l3_pkt
+);
+
+854 
+       }
+}
+
+857 
+       $\9d_loÿl_·ck\91s_´oûss
+(\19
+¹e_mbuf
+ **
+pkt_bur¡
+, 
+u\9at16_t
+nb_rx
+,
+
+858 
+u\9at64_t
+icmp_pkt_mask
+, 
+l2_phy_\9a\8brçû_t
+ *
+pÜt
+)
+
+860 
+       `´oûss_¬picmp_pkt_·r£
+(
+pkt_bur¡
+, 
+nb_rx
+, 
+icmp_pkt_mask
+, 
+pÜt
+);
+
+861 
+       }
+}
+
+864 
+       $\9d_fÜw¬d_d\96iv\94
+(\19
+¹e_mbuf
+ **
+pkt_bur¡
+, 
+u\9at16_t
+nb_pkts
+,
+
+865 
+u\9at64_t
+\9dv4_fÜw¬d_pkts_mask
+, 
+l2_phy_\9a\8brçû_t
+ *
+pÜt
+)
+
+867 ià(
+L3FWD_DEBUG
+) {
+
+868 
\9atf
+
+
+870 
+nb_pkts
+, 
+pÜt
+->
+pmdid
+);
+
+872 
+u\9at64_t
+pkts_fÜ_´oûss
+ = 
+\9dv4_fÜw¬d_pkts_mask
+;
+
+874 \19
+\9dv4_hdr
+ *ipv4_hdr;
+
+875 
+l2_phy_\9a\8brçû_t
+ *
+pÜt_±r
+[
+RTE_PORT_IN_BURST_SIZE_MAX
+];
+
+876 
+u\9at64_t
+h\99_mask
+ = 0;
+
+878 \ f
+pkts_fÜ_´oûss
+;) {
+
+880 
+u\9at8_t
+pos
+ = (u\9at8_tè
+       `__bu\9et\9a_ùzÎ
+(
+pkts_fÜ_´oûss
+);
+
+881 
+u\9at64_t
+pkt_mask
+ = 1LLU << 
+pos
+;
+
+882 
+pkts_fÜ_´oûss
+ &ð~
+pkt_mask
+;
+
+883 
+\9dv4_hdr
+ =
+
+884 
+       `¹e_pktmbuf_mtod_off£t
+(
+pkt_bur¡
+[
+pos
+], \19
+\9dv4_hdr
+ *,
+
+885 \17(\19
+\91h\94_hdr
+));
+
+887 ià(
+       `is_v®id_\9dv4_pkt
+(
+\9dv4_hdr
+, 
+pkt_bur¡
+[
+pos
+]->
+pkt_Ën
+) < 0) {
+
+888 
+       `¹e_pktmbuf_ä\93
+(
+pkt_bur¡
+[
+pos
+]);
+
+889 
+pkt_bur¡
+[
+pos
+] = 
+NULL
+;
+
+890 
+\9dv4_fÜw¬d_pkts_mask
+ &ð~(1LLU << 
+pos
+);
+
+891 
+nb_pkts
+--;
+
+892 
+¡©s
+.
+nb_l3_drÝ_pkt
+++;
+
+896 ià(
+L3FWD_DEBUG
+) {
+
+897 
\9atf
+
+
+899 
+nb_pkts
+, 
+\9dv4_fÜw¬d_pkts_mask
+);
+
+903 
+       `Ím4_\8fbË_lookup
+(
+pkt_bur¡
+, 
+nb_pkts
+, 
+\9dv4_fÜw¬d_pkts_mask
+, 
+pÜt_±r
+,
+
+904 &
+h\99_mask
+);
+
+906 \ f
+h\99_mask
+;) {
+
+908 
+u\9at8_t
+pos
+ = (u\9at8_tè
+       `__bu\9et\9a_ùzÎ
+(
+h\99_mask
+);
+
+909 
+u\9at64_t
+pkt_mask
+ = 1LLU << 
+pos
+;
+
+910 
+h\99_mask
+ &ð~
+pkt_mask
+;
+
+912 
+pÜt_±r
+[
+pos
+]->
+       `\8cªsm\99_s\9agË_pkt
+(port_ptr[pos],
+
+913 
+pkt_bur¡
+[
+pos
+]);
+
+916 
+       }
+}
+
+919 
+       $l3_´ÙocÞ_ty³_add
+(
+u\9at8_t
+´ÙocÞ_ty³
+,
+
+920 \1e(*
+func
+è(\19
+¹e_mbuf
+ **, 
+u\9at16_t
+, 
+u\9at64_t
+,
+
+921 
+l2_phy_\9a\8brçû_t
+ *
+pÜt
+))
+
+923 \1a
+´ÙocÞ_ty³
+) {
+
+924 \ 4
+IPPROTO_ICMP
+:
+
+925 
+´Ùo_ty³
+[
+IP_LOCAL
+] =
+
+926 
+       `¹e_m®loc
+(
+NULL
+, \17(\19
+\9d_´ÙocÞ_ty³
+),
+
+927 
+RTE_CACHE_LINE_SIZE
+);
+
+928 
+´Ùo_ty³
+[
+IP_LOCAL
+]->
+´ÙocÞ_ty³
+ =\85rotocol_type;
+
+929 
+´Ùo_ty³
+[
+IP_LOCAL
+]->
+func
+ = func;
+
+932 \ 4
+IPPROTO_TCP
+:
+
+933 \ 4
+IPPROTO_UDP
+:
+
+934 
+´Ùo_ty³
+[
+IP_REMOTE
+] =
+
+935 
+       `¹e_m®loc
+(
+NULL
+, \17(\19
+\9d_´ÙocÞ_ty³
+),
+
+936 
+RTE_CACHE_LINE_SIZE
+);
+
+937 
+´Ùo_ty³
+[
+IP_REMOTE
+]->
+´ÙocÞ_ty³
+ =\85rotocol_type;
+
+938 
+´Ùo_ty³
+[
+IP_REMOTE
+]->
+func
+ = func;
+
+943 
+       }
+}
+
+945 \1e
+       $l3fwd_rx_\9dv4_·ck\91s
+(\19
+¹e_mbuf
+ **
+m
+, 
+u\9at16_t
+nb_pkts
+,
+
+946 
+u\9at64_t
+v®id_pkts_mask
+, 
+l2_phy_\9a\8brçû_t
+ *
+pÜt
+)
+
+948 ià(
+L3FWD_DEBUG
+) {
+
+949 
\9atf
+
+
+951 
+nb_pkts
+, 
+pÜt
+->
+pmdid
+);
+
+953 
+u\9at64_t
+pkts_fÜ_´oûss
+ = 
+v®id_pkts_mask
+;
+
+955 \19
+\9dv4_hdr
+ *ipv4_hdr;
+
+956 
+u\9at32_t
+cÚfigu»_pÜt_\9d
+ = 0;
+
+957 
+u\9at64_t
+icmp_pkts_mask
+ = 
+       `RTE_LEN2MASK
+(
+nb_pkts
+, uint64_t);
+
+958 
+u\9at64_t
+\9dv4_fÜw¬d_pkts_mask
+ = 
+       `RTE_LEN2MASK
+(
+nb_pkts
+, uint64_t);
+
+959 
+u\9at16_t
+nb_icmp_pkt
+ = 0;
+
+960 
+u\9at16_t
+nb_l3_pkt
+ = 0;
+
+962 ià(
+pÜt
+->
+\9dv4_li¡
+ !ð
+NULL
+)
+
+963 
+cÚfigu»_pÜt_\9d
+ =
+
+964 (
+u\9at32_t
+è(((
+\9dv4li¡_t
+ *è(
+pÜt
+->
+\9dv4_li¡
+))->
+\9daddr
+);
+
+966 \ f
+pkts_fÜ_´oûss
+;) {
+
+968 
+u\9at8_t
+pos
+ = (u\9at8_tè
+       `__bu\9et\9a_ùzÎ
+(
+pkts_fÜ_´oûss
+);
+
+969 
+u\9at64_t
+pkt_mask
+ = 1LLU << 
+pos
+;
+
+970 
+pkts_fÜ_´oûss
+ &ð~
+pkt_mask
+;
+
+971 
+\9dv4_hdr
+ =
+
+972 
+       `¹e_pktmbuf_mtod_off£t
+(
+m
+[
+pos
+], \19
+\9dv4_hdr
+ *,
+
+973 \17(\19
+\91h\94_hdr
+));
+
+975 ià((
+\9dv4_hdr
+->
+Ãxt_´Ùo_id
+ =ð
+IPPROTO_ICMP
+)
+
+976 && (
+\9dv4_hdr
+->
+d¡_addr
+ =ð
+cÚfigu»_pÜt_\9d
+)) {
+
+977 
+\9dv4_fÜw¬d_pkts_mask
+ &ð~
+pkt_mask
+;
+
+978 
+¡©s
+.
+nb_rx_l3_icmp_pkt
+++;
+
+979 
+nb_icmp_pkt
+++;
+
+981 
+icmp_pkts_mask
+ &ð~
+pkt_mask
+;
+
+982 
+¡©s
+.
+nb_rx_l3_pkt
+++;
+
+983 
+nb_l3_pkt
+++;
+
+987 ià(
+icmp_pkts_mask
+) {
+
+988 ià(
+L3FWD_DEBUG
+)
+
+989 
\9atf
+
+
+991 
+´Ùo_ty³
+[
+IP_LOCAL
+]->
+       `func
+(
+m
+, 
+nb_icmp_pkt
+, 
+icmp_pkts_mask
+,
+
+992 
+pÜt
+);
+
+995 ià(
+\9dv4_fÜw¬d_pkts_mask
+) {
+
+996 ià(
+L3FWD_DEBUG
+)
+
+997 
\9atf
+
+
+999 
+´Ùo_ty³
+[
+IP_REMOTE
+]->
+       `func
+(
+m
+, 
+nb_l3_pkt
+,
+
+1000 
+\9dv4_fÜw¬d_pkts_mask
+, 
+pÜt
+);
+
+1002 
+       }
+}
+
+1005 
+       $»sÞve_l2_adj
+(
+u\9at32_t
+ÃxthÝ_\9d
+, 
+u\9at8_t
+out_pÜt_id
+,
+
+1006 cڡ \19
+\91h\94_addr
+ *
+hw_addr
+)
+
+1008 \19
+l2_adj_key_\9dv4
+l2_adj_key
+ = {
+
+1009 .
+Next_hÝ_\9d
+ = 
+ÃxthÝ_\9d
+,
+
+1010 .
+out_pÜt_id
+ = out_port_id,
+
+1014 \19
+l2_adj_\92\8cy
+ *
+adj_d©a
+ = 
+       `»\8c\9bve_l2_adj_\92\8cy
+(
+l2_adj_key
+);
+
+1016 ià(
+adj_d©a
+) {
+
+1018 
\9atf
+
+
+1020 
+l2_adj_key
+.
+Next_hÝ_\9d
+,\862_adj_key.
+out_pÜt_id
+,
+
+1021 
+adj_d©a
+->
+»fcouÁ
+,\87dj_data);
+
+1023 ià(
+adj_d©a
+->
+æags
+ =ð
+L2_ADJ_UNRESOLVED
+
+
+1024 || 
+       `memcmp
+(
+hw_addr
+, &
+adj_d©a
+->
+\91h_addr
+,
+
+1025 \17(\19
+\91h\94_addr
+))) {
+
+1026 
+       `memýy
+(
+adj_d©a
+->
+l2_¡r\9ag
+, 
+hw_addr
+, \17(\19
+\91h\94_addr
+));
+
+1027 
+       `memýy
+(&
+adj_d©a
+->
+l2_¡r\9ag
+[6],
+
+1028 &
+adj_d©a
+->
+phy_pÜt
+->
+maÿddr
+,
+
+1029 \17(\19
+\91h\94_addr
+));
+
+1032 
+       `\91h\94_addr_cÝy
+(
+hw_addr
+, &
+adj_d©a
+->
+\91h_addr
+);
+
+1033 
+adj_d©a
+->
+æags
+ = 
+L2_ADJ_RESOLVED
+;
+
+1039 
+l2_phy_\9a\8brçû_t
+ *
+pÜt
+;
+
+1040 
+pÜt
+ = 
+       `ifm_g\91_pÜt
+(
+out_pÜt_id
+);
+
+1041 ià(
+pÜt
+ !ð
+NULL
+) {
+
+1043 
+u\9at32_t
+size
+ =
+
+1044 
+       `RTE_CACHE_LINE_ROUNDUP
+(\17(\19
+l2_adj_\92\8cy
+));
+
+1045 
+adj_d©a
+ = 
+       `¹e_zm®loc
+(
+NULL
+, 
+size
+, 
+RTE_CACHE_LINE_SIZE
+);
+
+1046 ià(
+adj_d©a
+ =ð
+NULL
+) {
+
+1047 
+       `´\9atf
+("L2 Adjacency memory\87llocation failed !\n");
+
+1051 
+adj_d©a
+->
+out_pÜt_id
+ = out_port_id;
+
+1052 
+adj_d©a
+->
+Next_hÝ_\9d
+ = 
+ÃxthÝ_\9d
+;
+
+1053 
+adj_d©a
+->
+phy_pÜt
+ = 
+pÜt
+;
+
+1055 
+       `memýy
+(
+adj_d©a
+->
+l2_¡r\9ag
+, 
+hw_addr
+, \17(\19
+\91h\94_addr
+));
+
+1056 
+       `memýy
+(&
+adj_d©a
+->
+l2_¡r\9ag
+[6], &adj_d©a->
+phy_pÜt
+->
+maÿddr
+,
+
+1057 \17(\19
+\91h\94_addr
+));
+
+1060 
+       `\91h\94_addr_cÝy
+(
+hw_addr
+, &
+adj_d©a
+->
+\91h_addr
+);
+
+1061 
+adj_d©a
+->
+æags
+ = 
+L2_ADJ_RESOLVED
+;
+
+1063 
+       `¹e_hash_add_key_d©a
+(
+l2_adj_hash_hªdË
+, &
+l2_adj_key
+,
+
+1064 
+adj_d©a
+);
+
+1065 
\9atf
+
+
+1067 
+adj_d©a
+);
+
+1069 
+       `´\9atf
+("PORT:%u IS DOWN...\n", 
+out_pÜt_id
+);
+
+1072 
+       }
+}
+
+1074 
+u\9at8_t
+       $\9d_hash_lßd_b®ªû
+(\19
+¹e_mbuf
+ *
+mbuf
+)
+
+1076 
+u\9at32_t
+¤c_addr_off£t
+ =
+
+1077 
+MBUF_HDR_ROOM
+ + 
+ETH_HDR_SIZE
+ + 
+IP_HDR_SRC_ADR_OFST
+;
+
+1078 
+u\9at32_t
+d¡_addr_off£t
+ =
+
+1079 
+MBUF_HDR_ROOM
+ + 
+ETH_HDR_SIZE
+ + 
+IP_HDR_DST_ADR_OFST
+;
+
+1080 
+u\9at32_t
+ *
+d¡_addr
+ = 
+NULL
+;
+
+1081 
+u\9at32_t
+ *
+¤c_addr
+ = 
+NULL
+;
+
+1082 
+¤c_addr
+ =
+
+1083 (
+u\9at32_t
+ *è
+       `RTE_MBUF_METADATA_UINT8_PTR
+(
+mbuf
+, 
+¤c_addr_off£t
+);
+
+1084 
+d¡_addr
+ =
+
+1085 (
+u\9at32_t
+ *è
+       `RTE_MBUF_METADATA_UINT8_PTR
+(
+mbuf
+, 
+d¡_addr_off£t
+);
+
+1087 
+u\9at32_t
+hash_key1
+ = *
+¤c_addr
+;
+
+1088 
+u\9at32_t
+hash_key2
+ = *
+d¡_addr
+;
+
+1090 
+hash_key1
+ = hash_key1 ^ 
+hash_key2
+;
+
+1091 
+hash_key2
+ = 
+hash_key1
+;
+
+1093 
+hash_key1
+ = 
+       `rÙr32
+(hash_key1, 16);
+
+1094 
+hash_key1
+ = hash_key1 ^ 
+hash_key2
+;
+
+1096 
+hash_key2
+ = 
+hash_key1
+;
+
+1098 
+hash_key1
+ = 
+       `rÙr32
+(hash_key1, 8);
+
+1099 
+hash_key1
+ = hash_key1 ^ 
+hash_key2
+;
+
+1101 
+hash_key1
+ = hash_key1 & (
+HASH_BUCKET_SIZE
+ - 1);
+
+1102 ià(
+L3FWD_DEBUG
+)
+
+1103 
+       `´\9atf
+("Hash ResuÉ_key: %d, \n", 
+hash_key1
+);
+
+1104 \15 
+hash_key1
+;
+
+1105 
+       }
+}
+
+1107 
+u\9at32_t
+       $rÙr32
+(
+u\9at32_t
+v®ue
+, \1d\12
+couÁ
+)
+
+1109 cڡ \1d\12
+mask
+ = (
+CHAR_BIT
+ * \17(
+v®ue
+) - 1);
+
+1110 
+couÁ
+ &ð
+mask
+;
+
+1111 \15 (
+v®ue
+ >> 
+couÁ
+è| (v®u\90<< ((-couÁè& 
+mask
+));
+
+1112 
+       }
+}
+
+1115 
+       $\9d_loÿl_out_d\96iv\94
+(\19
+¹e_mbuf
+ **
+pkt_bur¡
+, 
+u\9at16_t
+nb_rx
+,
+
+1116 
+u\9at64_t
+\9dv4_pkts_mask
+, 
+l2_phy_\9a\8brçû_t
+ *
+pÜt
+)
+
+1118 
+       `\9d_fÜw¬d_d\96iv\94
+(
+pkt_bur¡
+, 
+nb_rx
+, 
+\9dv4_pkts_mask
+, 
+pÜt
+);
+
+1119 
+       }
+}
+
+       @VIL/l2l3_stack/l3fwd_lpm4.h
+
+21 #iâdeà
+L3FWD_LPM_H
+
+
+22 \ 1
+       #L3FWD_LPM_H
+
+
+       )
+
+24 \ 2
+       ~<¡dio.h
+>
+
+25 \ 2
+       ~<¡dlib.h
+>
+
+26 \ 2
+       ~<¡d\9at.h
+>
+
+27 \ 2
+       ~<\9a\89y³s.h
+>
+
+28 \ 2
+       ~<sys/ty³s.h
+>
+
+29 \ 2
+       ~<¡r\9ag.h
+>
+
+30 \ 2
+       ~<sys/queue.h
+>
+
+31 \ 2
+       ~<¡d¬g.h
+>
+
+32 \ 2
+       ~<\94ºo.h
+>
+
+33 \ 2
+       ~<g\91Ýt.h
+>
+
+34 \ 2
+       ~<¡dboÞ.h
+>
+
+36 \ 2
+       ~<¹e_debug.h
+>
+
+37 \ 2
+       ~<¹e_memÜy.h
+>
+
+38 \ 2
+       ~<¹e_\91h\94.h
+>
+
+39 \ 2
+       ~<¹e_\91hdev.h
+>
+
+40 \ 2
+       ~<¹e_r\9ag.h
+>
+
+41 \ 2
+       ~<¹e_mempoÞ.h
+>
+
+42 \ 2
+       ~<¹e_cyþes.h
+>
+
+43 \ 2
+       ~<¹e_mbuf.h
+>
+
+44 \ 2
+       ~<¹e_\9d.h
+>
+
+45 \ 2
+       ~<¹e_tý.h
+>
+
+46 \ 2
+       ~<¹e_udp.h
+>
+
+47 \ 2
+       ~<¹e_Ím.h
+>
+
+48 \ 2
+       ~<¹e_Ím6.h
+>
+
+49 \ 2
+       ~"l3fwd_commÚ.h
+"
+
+50 \ 2
+       ~"l3fwd_Ím6.h
+"
+
+51 \ 2
+       ~"\9a\8brçû.h
+"
+
+57 \ 1
+       #MBUF_HDR_ROOM
+ 256
+
+       )
+
+60 \ 1
+       #ETH_HDR_SIZE
+ 14
+
+       )
+
+61 \ 1
+       #IP_HDR_SIZE
+ 20
+
+       )
+
+62 \ 1
+       #IP_HDR_DST_ADR_OFST
+ 16
+
+       )
+
+63 \ 1
+       #IP_HDR_SRC_ADR_OFST
+ 12
+
+       )
+
+66 \ 1
+       #IPV4_L3FWD_LPM_MAX_RULES
+ 256
+
+       )
+
+67 \ 1
+       #IPV4_L3FWD_LPM_NUMBER_TBL8S
+ (1 << 8è
+
+       )
+
+68 \ 1
+       #MAX_FIB_PATHS
+ 8
+
+       )
+
+69 \ 1
+       #IP_LOCAL
+ 0
+
+       )
+
+70 \ 1
+       #IP_REMOTE
+ 1
+
+       )
+
+73 \ 1
+       #MAX_SUPPORTED_FIB_PATHS
+ 8
+
+       )
+
+74 \ 1
+       #HASH_BUCKET_SIZE
+ 64
+
+       )
+
+77 \ 1
+       #L2_ADJ_RESOLVED
+ 0x00
+
+       )
+
+78 \ 1
+       #L2_ADJ_UNRESOLVED
+ 0x01
+
+       )
+
+83 \19
+       srout\9ag_\9afo
+ {
+
+84 
+u\9at32_t
+       md¡_\9d_addr
+;
+
+85 
+u\9at8_t
+       md\95th
+;
+
+86 
+u\9at32_t
+       mm\91ric
+;
+
+87 
+u\9at32_t
+       mfib_nh_size
+;
+
+88 
+u\9at32_t
+       mnh_\9d_addr
+[
+MAX_FIB_PATHS
+];
+
+89 
+u\9at8_t
+       mout_pÜt
+[
+MAX_FIB_PATHS
+];
+
+90 } 
+       g__¹e_ÿche_®igÃd
+;
+
+96 \19
+       sfib_·th
+ {
+
+97 
+u\9at32_t
+       mnh_\9d
+;
+
+98 
+u\9at8_t
+       mout_pÜt
+;
+
+99 
+u\9at32_t
+       m»fcouÁ
+;
+
+100 \19
+l2_adj_\92\8cy
+ *
+       ml2_adj_±r
+;
+
+101 } 
+       g__¹e_ÿche_®igÃd
+;
+
+107 \19
+       sfib_\9afo
+ {
+
+108 
+u\9at32_t
+       md¡_\9d_addr
+;
+
+109 
+u\9at32_t
+       mm\91ric
+;
+
+110 
+u\9at32_t
+       mfib_nh_size
+;
+
+111 
+u\9at8_t
+       md\95th
+;
+
+112 \19
+fib_·th
+ *
+       m·th
+[
+MAX_FIB_PATHS
+];
+
+113 } 
+       g__¹e_ÿche_®igÃd
+;
+
+118 \19
+       sl2_adj_\92\8cy
+ {
+
+119 \19
+\91h\94_addr
+       m\91h_addr
+;
+
+120 
+u\9at32_t
+       mNext_hÝ_\9d
+;
+
+121 
+u\9at8_t
+       mout_pÜt_id
+;
+
+122 
+u\9at32_t
+       m»fcouÁ
+;
+
+123 
+u\9at8_t
+       ml2_¡r\9ag
+[256];
+
+124 
+l2_phy_\9a\8brçû_t
+ *
+       mphy_pÜt
+;
+
+125 
+u\9at8_t
+       mæags
+;
+
+126 } 
+       g__¹e_ÿche_®igÃd
+;
+
+131 \19
+       sfib_·th_key_\9dv4
+ {
+
+132 
+u\9at32_t
+       mnh_\9d
+;
+
+133 
+u\9at8_t
+       mout_pÜt
+;
+
+134 
+u\9at8_t
+       mf\9eËr1
+;
+
+135 
+u\9at8_t
+       mf\9eËr2
+;
+
+136 
+u\9at8_t
+       mf\9eËr3
+;
+
+142 \19
+       sl2_adj_key_\9dv4
+ {
+
+143 
+u\9at32_t
+       mNext_hÝ_\9d
+;
+
+144 
+u\9at8_t
+       mout_pÜt_id
+;
+
+145 
+u\9at8_t
+       mf\9eËr1
+;
+
+146 
+u\9at8_t
+       mf\9eËr2
+;
+
+147 
+u\9at8_t
+       mf\9eËr3
+;
+
+153 \19
+       srout\9ag_\8fbË_\92\8cy
+ {
+
+154 
+u\9at32_t
+       m\9d
+;
+
+155 
+u\9at8_t
+       mpÜt_id
+;
+
+156 \19
+l2_adj_\92\8cy
+ *
+       ml2_adj_±r
+;
+
+157 } 
+       g__¹e_ÿche_®igÃd
+;
+
+162 \e\19
+       sl3fwd_¡©s
+ {
+
+163 
+u\9at64_t
+       mnb_rx_l3_pkt
+;
+
+164 
+u\9at64_t
+       mnb_tx_l3_pkt
+;
+
+165 
+u\9at64_t
+       mnb_rx_l3_icmp_pkt
+;
+
+167 
+u\9at64_t
+       mnb_tx_l3_icmp_pkt
+;
+
+169 
+u\9at64_t
+       mnb_l3_drÝ_pkt
+;
+
+170 
+u\9at64_t
+       mtٮ_nb_rx_l3_pkt
+;
+
+172 
+u\9at64_t
+       mtٮ_nb_tx_l3_pkt
+;
+
+174 } 
+       tl3_¡©s_t
+;
+
+176 \19
+       s\9d_´ÙocÞ_ty³
+ {
+
+177 
+u\9at8_t
+       m´ÙocÞ_ty³
+;
+
+178 \1e(*
+       mfunc
+è(\19
+       m¹e_mbuf
+ **, 
+       mu\9at16_t
+, 
+       mu\9at64_t
+,
+
+179 
+       ml2_phy_\9a\8brçû_t
+ *);
+
+180 } 
+       g__¹e_ÿche_®igÃd
+;
+
+189 \12
+Ím_\9a\99
+(\1e);
+
+198 \12
+Ím4_\8fbË_rou\8b_add
+(\19
+rout\9ag_\9afo
+ *
+\9aput_¬¿y
+);
+
+209 \12
+Ím4_\8fbË_rou\8b_d\96\91e
+(
+u\9at32_t
+\9d
+, 
+u\9at8_t
+d\95th
+);
+
+222 \12
+Ím4_\8fbË_lookup
+(\19
+¹e_mbuf
+ **
+pkts_bur¡
+, 
+u\9at16_t
+nb_pkts
+,
+
+223 
+u\9at64_t
+v®id_pkts_mask
+,
+
+224 
+l2_phy_\9a\8brçû_t
+ *
+pÜt
+[
+RTE_PORT_IN_BURST_SIZE_MAX
+],
+
+225 
+u\9at64_t
+ *
+h\99_mask
+);
+
+236 \12
+is_v®id_\9dv4_pkt
+(\19
+\9dv4_hdr
+ *
+pkt
+, 
+u\9at32_t
+l\9ak_Ën
+);
+
+251 \1e
+l3fwd_rx_\9dv4_·ck\91s
+(\19
+¹e_mbuf
+ **
+m
+, 
+u\9at16_t
+nb_pkts
+,
+
+252 
+u\9at64_t
+pkt_mask
+, 
+l2_phy_\9a\8brçû_t
+ *
+pÜt
+);
+
+265 \12
+g\91_de¡_mac_fÜ_ÃxthÝ
+(
+u\9at32_t
+Ãxt_hÝ_\9d
+,
+
+266 
+u\9at8_t
+out_phy_pÜt
+, \19
+\91h\94_addr
+ *
+hw_addr
+);
+
+276 \19
+l2_adj_\92\8cy
+ *
\8c\9bve_l2_adj_\92\8cy
+(\19
+l2_adj_key_\9dv4
+l2_adj_key
+);
+
+288 \19
+l2_adj_\92\8cy
+ *
+pÝuÏ\8b_l2_adj
+(
+u\9at32_t
+\9daddr
+, 
+u\9at8_t
+pÜtid
+);
+
+299 \19
+fib_·th
+ *
+pÝuÏ\8b_fib_·th
+(
+u\9at32_t
+nh_\9d
+, 
+u\9at8_t
+pÜtid
+);
+
+310 \19
+fib_·th
+ *
\8c\9bve_fib_·th_\92\8cy
+(\19
+fib_·th_key_\9dv4
+·th_key
+);
+
+317 \1e
+»move_fib_l2_adj_\92\8cy
+(\1e*);
+
+324 \1e
+\99\94©e_cuckoo_hash_\8f
+(\1e);
+
+331 \1e
\9at_l3_¡©s
+(\1e);
+
+341 
+u\9at8_t
+\9d_hash_lßd_b®ªû
+(\19
+¹e_mbuf
+ *
+mbuf
+);
+
+353 
+u\9at32_t
+rÙr32
+(u\9at32_\88
+v®ue
+, \1d\12
+couÁ
+);
+
+356 
+»sÞve_l2_adj
+(
+u\9at32_t
+ÃxthÝ_\9d
+, 
+u\9at8_t
+out_pÜt_id
+,
+
+357 cڡ \19
+\91h\94_addr
+ *
+hw_addr
+);
+
+360 
+l3_´ÙocÞ_ty³_add
+(
+u\9at8_t
+´ÙocÞ_ty³
+,
+
+361 \1e(*
+func
+è(\19
+¹e_mbuf
+ **, 
+u\9at16_t
+, 
+u\9at64_t
+,
+
+362 
+l2_phy_\9a\8brçû_t
+ *));
+
+365 
+       `\9d_loÿl_·ck\91s_´oûss
+(\19
+¹e_mbuf
+ **, 
+u\9at16_t
+, 
+u\9at64_t
+,
+
+366 
+l2_phy_\9a\8brçû_t
+ *);
+
+367 \1e
+       `\9d_loÿl_out_d\96iv\94
+(\19
+¹e_mbuf
+ **, 
+u\9at16_t
+, 
+u\9at64_t
+,
+
+368 
+l2_phy_\9a\8brçû_t
+ *);
+
+371 
+       `\9d_fÜw¬d_d\96iv\94
+(\19
+¹e_mbuf
+ **, 
+u\9at16_t
+, 
+u\9at64_t
+,
+
+372 
+l2_phy_\9a\8brçû_t
+ *);
+
+       @VIL/l2l3_stack/l3fwd_lpm6.c
+
+17 \ 2
+       ~"l3fwd_commÚ.h
+"
+
+18 \ 2
+       ~"l3fwd_Ím4.h
+"
+
+19 \ 2
+       ~"l3fwd_Ím6.h
+"
+
+20 \ 2
+       ~"l3fwd_commÚ.h
+"
+
+21 \ 2
+       ~"\9a\8brçû.h
+"
+
+22 \ 2
+       ~"l2_´Ùo.h
+"
+
+23 \ 2
+       ~"lib_¬p.h
+"
+
+24 \ 2
+       ~"lib_icmpv6.h
+"
+
+29 \1e*
+       gÍm6_\8f
+;
+
+30 \19
+¹e_hash
+ *
+       gl2_adj_\9dv6_hash_hªdË
+;
+
+31 \19
+¹e_hash
+ *
+       gfib_·th_\9dv6_hash_hªdË
+;
+
+32 \r
+u\9at8_t
+nh_l\9aks
+[
+MAX_SUPPORTED_FIB_PATHS
+][
+HASH_BUCKET_SIZE
+];
+
+33 \r
+l3_¡©s_t
+¡©s
+;
+
+35 \18\19
+\9dv6_´ÙocÞ_ty³
+ *
+       g´Ùo_ty³
+[2];
+
+37 \12
+       $Ím6_\9a\99
+(\1e)
+
+42 \19
+¹e_\8fbË_Ím_\9dv6_·¿ms
+Ím6_·¿ms
+ = {
+
+43 .
+Çme
+ = "LPMv6",
+
+44 .
+n_ruËs
+ = 
+IPV6_L3FWD_LPM_MAX_RULES
+,
+
+45 .
+numb\94_tbl8s
+ = 
+IPV6_L3FWD_LPM_NUMBER_TBL8S
+,
+
+46 .
+\92\8cy_unique_size
+ = \17(\19
+\9dv6_fib_\9afo
+),
+
+47 .
+off£t
+ = 128,
+
+51 
+Ím6_\8f
+ =
+
+52 
+¹e_\8fbË_Ím_\9dv6_Ýs
+.
+       `f_ü\97\8b
+(&
+Ím6_·¿ms
+, 
+       `¹e_sock\91_id
+(),
+
+53 \17(\19
+\9dv6_fib_\9afo
+));
+
+54 ià(
+Ím6_\8f
+ =ð
+NULL
+) {
+
+55 
+       `´\9atf
+("Failed\81o create LPM IPV6\81able\n");
+
+60 \19
+¹e_hash_·¿m\91\94s
+l2_adj_\9dv6_·¿ms
+ = {
+
+61 .
+Çme
+ = "l2_ADJ_IPV6_HASH",
+
+62 .
+\92\8c\9bs
+ = 64,
+
+63 .
+key_Ën
+ = \17(\19
+l2_adj_key_\9dv6
+),
+
+64 .
+hash_func
+ = 
+¹e_jhash
+,
+
+65 .
+hash_func_\9a\99_v®
+ = 0,
+
+68 
+l2_adj_\9dv6_hash_hªdË
+ = 
+       `¹e_hash_ü\97\8b
+(&
+l2_adj_\9dv6_·¿ms
+);
+
+69 ià(
+l2_adj_\9dv6_hash_hªdË
+ =ð
+NULL
+) {
+
+70 
+       `´\9atf
+("ND for IPV6\84te_hash_create failed.\n");
+
+73 
+       `´\9atf
+("ND IPV6_hash_handle %p\n\n",
+
+74 (\1e*)
+l2_adj_\9dv6_hash_hªdË
+);
+
+78 \19
+¹e_hash_·¿m\91\94s
+fib_·th_\9dv6_·¿ms
+ = {
+
+79 .
+Çme
+ = "FIB_PATH_IPV6_HASH",
+
+80 .
+\92\8c\9bs
+ = 64,
+
+81 .
+key_Ën
+ = \17(\19
+fib_·th_key_\9dv6
+),
+
+82 .
+hash_func
+ = 
+¹e_jhash
+,
+
+83 .
+hash_func_\9a\99_v®
+ = 0,
+
+84 .
+ex\8ca_æag
+ = 1,
+
+88 
+fib_·th_\9dv6_hash_hªdË
+ = 
+       `¹e_hash_ü\97\8b
+(&
+fib_·th_\9dv6_·¿ms
+);
+
+90 ià(
+fib_·th_\9dv6_hash_hªdË
+ =ð
+NULL
+) {
+
+91 
+       `´\9atf
+("FIB\85ath\84te_hash_create failed\n");
+
+95 
+       }
+}
+
+97 \12
+       $Ím6_\8fbË_rou\8b_add
+(\19
+\9dv6_rout\9ag_\9afo
+ *
+d©a
+)
+
+100 \19
+\9dv6_rout\9ag_\9afo
+ *
+fib
+ = 
+d©a
+;
+
+102 \19
+¹e_\8fbË_Ím_\9dv6_key
+Ím6_key
+;
+
+103 
+u\9at8_t
+i
+;
+
+104 \ f
+i
+ = 0; i < 16; i++) {
+
+105 
+Ím6_key
+.
+\9d
+[
+i
+] = 
+fib
+->
+d¡_\9dv6
+[i];
+
+107 
+Ím6_key
+.
+d\95th
+ = 
+fib
+->depth;
+
+109 \18\12
+TÙ®_rou\8b_couÁ
+;
+
+110 \19
+\9dv6_fib_\9afo
+\92\8cy
+;
+
+111 \ f
+i
+ = 0; i < 16; i++) {
+
+112 
+\92\8cy
+.
+d¡_\9dv6
+[
+i
+] = 
+fib
+->dst_ipv6[i];
+
+114 
+\92\8cy
+.
+d\95th
+ = 
+fib
+->depth;
+
+115 
+\92\8cy
+.
+fib_nh_size
+ = 
+fib
+->fib_nh_size;
+
+117 #ià
+MULTIPATH_FEAT
+
+
+118 ià(
+\92\8cy
+.
+fib_nh_size
+ =ð0 ||\83Áry.fib_nh_siz\90
+MAX_FIB_PATHS
+)
+
+120 ià(
+\92\8cy
+.
+fib_nh_size
+ != 1)
+
+123 
\9atf
+
+
+125 
+\92\8cy
+.
+fib_nh_size
+);
+
+130 #ià
+MULTIPATH_FEAT
+
+
+131 \ f
+i
+ = 0; i < 
+\92\8cy
+.
+fib_nh_size
+; i++)
+
+133 \ f
+i
+ = 0; i < 1; i++)
+
+136 \19
+\9dv6_fib_·th
+ *
+\9dv6_fib_·th_addr
+ = 
+NULL
+;
+
+137 
+\9dv6_fib_·th_addr
+ =
+
+138 
+       `pÝuÏ\8b_\9dv6_fib_·th
+(
+fib
+->
+nh_\9dv6
+[
+i
+], fib->
+out_pÜt
+[i]);
+
+140 ià(
+\9dv6_fib_·th_addr
+) {
+
+141 
+\92\8cy
+.
+·th
+[
+i
+] = 
+\9dv6_fib_·th_addr
+;
+
+142 
+       `´\9atf
+("Fib\85ath for IPv6 destination = "
+
+145 
+Ím6_key
+.
+\9d
+[0],\86pm6_key.ip[1],\86pm6_key.ip[2],
+
+146 
+Ím6_key
+.
+\9d
+[3],\86pm6_key.ip[4],\86pm6_key.ip[5],
+
+147 
+Ím6_key
+.
+\9d
+[6],\86pm6_key.ip[7],\86pm6_key.ip[8],
+
+148 
+Ím6_key
+.
+\9d
+[9],\86pm6_key.ip[10],\86pm6_key.ip[11],
+
+149 
+Ím6_key
+.
+\9d
+[12],\86pm6_key.ip[13],
+
+150 
+Ím6_key
+.
+\9d
+[14],\86pm6_key.\9d[15], 
+fib
+->
+d\95th
+,
+
+151 
+\9dv6_fib_·th_addr
+,
+
+152 (\1e*)
+\92\8cy
+.
+·th
+[
+i
+]->
+l2_adj_\9dv6_±r
+);
+
+154 
+       `´\9atf
+("Fib\85ath for IPv6 destination = "
+
+157 
+Ím6_key
+.
+\9d
+[0],\86pm6_key.ip[1],\86pm6_key.ip[2],
+
+158 
+Ím6_key
+.
+\9d
+[3],\86pm6_key.ip[4],\86pm6_key.ip[5],
+
+159 
+Ím6_key
+.
+\9d
+[6],\86pm6_key.ip[7],\86pm6_key.ip[8],
+
+160 
+Ím6_key
+.
+\9d
+[9],\86pm6_key.ip[10],\86pm6_key.ip[11],
+
+161 
+Ím6_key
+.
+\9d
+[12],\86pm6_key.ip[13],
+
+162 
+Ím6_key
+.
+\9d
+[14],\86pm6_key.\9d[15], 
+fib
+->
+d\95th
+);
+
+163 
+\92\8cy
+.
+·th
+[
+i
+] = 
+NULL
+;
+
+167 \12
+key_found
+, 
+»t
+;
+
+168 \1e*
+\92\8cy_±r
+;
+
+171 
+       `´\9atf
+("%s, L\9a\90%u \n", 
+__FUNCTION__
+, 
+__LINE__
+);
+
+173 
+»t
+ =
+
+174 
+¹e_\8fbË_Ím_\9dv6_Ýs
+.
+       `f_add
+(
+Ím6_\8f
+, (\1e*)&
+Ím6_key
+, &
+\92\8cy
+,
+
+175 &
+key_found
+, &
+\92\8cy_±r
+);
+
+176 
+       `´\9atf
+("%s, L\9a\90%u \n", 
+__FUNCTION__
+, 
+__LINE__
+);
+
+178 ià(
+»t
+) {
+
+179 
+       `´\9atf
+("Failed\81o Add IP\84oute in LPMv6\n");
+
+182 
+       `´\9atf
+("Added\84oute\81o IPv6 LPM\81able (IPv6 destination = "
+
+185 
+Ím6_key
+.
+\9d
+[0],\86pm6_key.ip[1],\86pm6_key.ip[2],\86pm6_key.ip[3],
+
+186 
+Ím6_key
+.
+\9d
+[4],\86pm6_key.ip[5],\86pm6_key.ip[6],\86pm6_key.ip[7],
+
+187 
+Ím6_key
+.
+\9d
+[8],\86pm6_key.ip[9],\86pm6_key.ip[10],\86pm6_key.ip[11],
+
+188 
+Ím6_key
+.
+\9d
+[12],\86pm6_key.ip[13],\86pm6_key.ip[14],
+
+189 
+Ím6_key
+.
+\9d
+[15], 
+fib
+->
+d\95th
+);
+
+191 
+TÙ®_rou\8b_couÁ
+++;
+
+192 
+       `´\9atf
+("TÙ® Rou\8bd Added : %u, Key_found: %d\n", 
+TÙ®_rou\8b_couÁ
+,
+
+193 
+key_found
+);
+
+195 ià(
+TÙ®_rou\8b_couÁ
+ == 2)
+
+196 
+       `\9dv6_\99\94©e__hash_\8f
+();
+
+199 
+       }
+}
+
+202 
+       $Ím6_\8fbË_rou\8b_d\96\91e
+(
+u\9at8_t
+d¡_\9dv6
+[
+RTE_LPM_IPV6_ADDR_SIZE
+], u\9at8_\88
+d\95th
+)
+
+206 \19
+¹e_\8fbË_Ím_\9dv6_key
+Ím6_key
+;
+
+207 
+       `memýy
+(&
+Ím6_key
+.
+\9d
+, &
+d¡_\9dv6
+, \17(
+RTE_LPM_IPV6_ADDR_SIZE
+));
+
+208 
+Ím6_key
+.
+d\95th
+ = depth;
+
+209 \12
+key_found
+, 
+»t
+;
+
+210 \ 5*
+\92\8cy
+ = 
+NULL
+;
+
+211 
+\92\8cy
+ = 
+       `¹e_zm®loc
+(
+NULL
+, 512, 
+RTE_CACHE_LINE_SIZE
+);
+
+213 
+»t
+ =
+
+214 
+¹e_\8fbË_Ím_\9dv6_Ýs
+.
+       `f_d\96\91e
+(
+Ím6_\8f
+, &
+Ím6_key
+, &
+key_found
+,
+
+215 
+\92\8cy
+);
+
+217 ià(
+»t
+) {
+
+218 
+       `´\9atf
+("Failed\81o Delete IP\84oute from LPMv6\81able\n");
+
+222 
+       `´\9atf
+("Deleted\84oute from IPv6 LPM\81able (IPv6 destination = "
+
+225 
+Ím6_key
+.
+\9d
+[0],\86pm6_key.ip[1],\86pm6_key.ip[2],\86pm6_key.ip[3],
+
+226 
+Ím6_key
+.
+\9d
+[4],\86pm6_key.ip[5],\86pm6_key.ip[6],\86pm6_key.ip[7],
+
+227 
+Ím6_key
+.
+\9d
+[8],\86pm6_key.ip[9],\86pm6_key.ip[10],\86pm6_key.ip[11],
+
+228 
+Ím6_key
+.
+\9d
+[12],\86pm6_key.ip[13],\86pm6_key.ip[14],
+
+229 
+Ím6_key
+.
+\9d
+[15],\86pm6_key.
+d\95th
+, 
+key_found
+);
+
+232 
+       `»move_\9dv6_fib_l2_adj_\92\8cy
+(
+\92\8cy
+);
+
+233 
+       `¹e_ä\93
+(
+\92\8cy
+);
+
+235 
+       }
+}
+
+238 
+       $Ím6_\8fbË_lookup
+(\19
+¹e_mbuf
+ **
+pkts_bur¡
+,
+
+239 
+u\9at16_t
+nb_pkts
+,
+
+240 
+u\9at64_t
+pkts_mask
+,
+
+241 
+l2_phy_\9a\8brçû_t
+ *
+pÜt_±r
+[
+RTE_PORT_IN_BURST_SIZE_MAX
+],
+
+242 
+u\9at64_t
+ *
+h\99_mask
+)
+
+244 \19
+\9dv6_rout\9ag_\8fbË_\92\8cy
+
+
+245 *
+\9dv6_\92\8c\9bs
+[
+RTE_PORT_IN_BURST_SIZE_MAX
+];
+
+246 
+u\9at64_t
+lookup_h\99_mask_\9dv6
+ = 0;
+
+247 \12
+¡©us
+;
+
+248 
+u\9at64_t
+lookup_miss_mask
+ = 
+pkts_mask
+;
+
+250 
+u\9at32_t
+d¡_addr_off£t
+ =
+
+251 
+MBUF_HDR_ROOM
+ + 
+ETH_HDR_SIZE
+ + 
+IP_HDR_DST_ADR_OFST_IPV6
+;
+
+252 
+u\9at64_t
+pkts_key_mask
+ = 
+pkts_mask
+;
+
+255 \ f
+pkts_key_mask
+;) {
+
+257 
+u\9at8_t
+pos
+ = (u\9at8_tè
+       `__bu\9et\9a_ùzÎ
+(
+pkts_key_mask
+);
+
+258 
+u\9at64_t
+pkt_mask
+ = 1LLU << 
+pos
+;
+
+259 
+pkts_key_mask
+ &ð~
+pkt_mask
+;
+
+261 
+u\9at8_t
+ *
+Ím6_key
+;
+
+262 
+u\9at8_t
+d¡_addr
+[
+RTE_LPM_IPV6_ADDR_SIZE
+];
+
+263 
+       `memýy
+(
+d¡_addr
+,
+
+264 (
+u\9at8_t
+ *è
+       `RTE_MBUF_METADATA_UINT32_PTR
+(
+pkts_bur¡
+[
+pos
+],
+
+265 
+d¡_addr_off£t
+),
+
+266 
+RTE_LPM_IPV6_ADDR_SIZE
+);
+
+267 
+Ím6_key
+ =
+
+268 (
+u\9at8_t
+ *è
+       `RTE_MBUF_METADATA_UINT8_PTR
+(
+pkts_bur¡
+[
+pos
+],
+
+270 
+       `memýy
+(
+Ím6_key
+, 
+d¡_addr
+, 
+RTE_LPM_IPV6_ADDR_SIZE
+);
+
+273 
+       `´\9atf
+(" IPV6 Lookup Mask Before = %p,\82b_pkts :%u\n",
+
+274 (\1e*)
+pkts_mask
+, 
+nb_pkts
+);
+
+275 
+¡©us
+ =
+
+276 
+¹e_\8fbË_Ím_Ýs
+.
+       `f_lookup
+(
+Ím6_\8f
+, 
+pkts_bur¡
+, 
+pkts_mask
+,
+
+277 &
+lookup_h\99_mask_\9dv6
+,
+
+278 (\1e**)
+\9dv6_\92\8c\9bs
+);
+
+279 ià(
+¡©us
+) {
+
+280 
+       `´\9atf
+("LPM Lookup failed for IP\84oute\n");
+
+283 
+       `´\9atf
+(" IPV6 Looku°Mask Aá\94 = %p\n", (\1e*)
+lookup_h\99_mask_\9dv6
+);
+
+284 
+lookup_miss_mask
+ =\86ookup_miss_mask & (~
+lookup_h\99_mask_\9dv6
+);
+
+285 ià(
+L3FWD_DEBUG
+) {
+
+286 
+       `´\9atf
+("AFTER\86ookup_hit_mask = %p,\86ookup_miss_mask =%p\n",
+
+287 (\1e*)
+lookup_h\99_mask_\9dv6
+, (\1e*)
+lookup_miss_mask
+);
+
+290 \ f
+lookup_miss_mask
+;) {
+
+292 
+u\9at8_t
+pos
+ = (u\9at8_tè
+       `__bu\9et\9a_ùzÎ
+(
+lookup_miss_mask
+);
+
+293 
+u\9at64_t
+pkt_mask
+ = 1LLU << 
+pos
+;
+
+294 
+lookup_miss_mask
+ &ð~
+pkt_mask
+;
+
+295 
+       `¹e_pktmbuf_ä\93
+(
+pkts_bur¡
+[
+pos
+]);
+
+296 
+pkts_bur¡
+[
+pos
+] = 
+NULL
+;
+
+297 ià(
+L3FWD_DEBUG
+)
+
+298 
+       `´\9atf
+("\n DROP PKT IPV4 Lookup_miss_Mask = %p\n",
+
+299 (\1e*)
+lookup_miss_mask
+);
+
+302 *
+h\99_mask
+ = 
+lookup_h\99_mask_\9dv6
+;
+
+303 \ f
+lookup_h\99_mask_\9dv6
+;) {
+
+304 
+u\9at8_t
+pos
+ = (u\9at8_tè
+       `__bu\9et\9a_ùzÎ
+(
+lookup_h\99_mask_\9dv6
+);
+
+305 
+u\9at64_t
+pkt_mask
+ = 1LLU << 
+pos
+;
+
+306 
+lookup_h\99_mask_\9dv6
+ &ð~
+pkt_mask
+;
+
+307 \19
+¹e_mbuf
+ *
+pkt
+ = 
+pkts_bur¡
+[
+pos
+];
+
+309 \19
+\9dv6_fib_\9afo
+ *
+\92\8cy
+ =
+
+310 (\19
+\9dv6_fib_\9afo
+ *)
+\9dv6_\92\8c\9bs
+[
+pos
+];
+
+312 #ià
+MULTIPATH_FEAT
+
+
+314 
+u\9at8_t
+ecmp_·th
+ = 
+       `\9dv6_hash_lßd_b®ªû
+(
+pkts_bur¡
+[
+pos
+]);
+
+315 
+u\9at8_t
+£Ëùed_·th
+ = 0;
+
+316 \19
+\9dv6_fib_·th
+ *
+fib_·th
+ = 
+NULL
+;
+
+317 ià(((
+\92\8cy
+->
+fib_nh_size
+ != 0)
+
+318 && (
+\92\8cy
+->
+fib_nh_size
+ - 1è< 
+MAX_SUPPORTED_FIB_PATHS
+)
+
+319 && ((
+ecmp_·th
+ !ð0è&& (ecmp_·th - 1è< 
+HASH_BUCKET_SIZE
+))
+
+320 
+£Ëùed_·th
+ =
+
+321 
+nh_l\9aks
+[
+\92\8cy
+->
+fib_nh_size
+ - 1][
+ecmp_·th
+ - 1];
+
+322 ià(
+£Ëùed_·th
+ < 
+MAX_FIB_PATHS
+)
+
+323 
+fib_·th
+ = 
+\92\8cy
+->
+·th
+[
+£Ëùed_·th
+];
+
+324 
\9atf
+
+
+326 
+\92\8cy
+->
+fib_nh_size
+, 
+ecmp_·th
+, 
+£Ëùed_·th
+);
+
+328 \19
+\9dv6_fib_·th
+ *
+fib_·th
+ = 
+\92\8cy
+->
+·th
+[0];
+
+330 ià(
+fib_·th
+ =ð
+NULL
+) {
+
+331 
+       `´\9atf
+("Fib_path is NULL, ND has\82ot\84esolved\n");
+
+332 
+       `¹e_pktmbuf_ä\93
+(
+pkt
+);
+
+333 
+pkts_bur¡
+[
+pos
+] = 
+NULL
+;
+
+334 
+¡©s
+.
+nb_l3_drÝ_pkt
+++;
+
+335 *
+h\99_mask
+ &ð~
+pkt_mask
+;
+
+336 
\9atf
+
+
+341 ià(
+fib_·th
+->
+l2_adj_\9dv6_±r
+->
+æags
+ =ð
+L2_ADJ_UNRESOLVED
+) {
+
+342 
+       `¹e_pktmbuf_ä\93
+(
+pkts_bur¡
+[
+pos
+]);
+
+343 
+pkts_bur¡
+[
+pos
+] = 
+NULL
+;
+
+344 *
+h\99_mask
+ &ð~
+pkt_mask
+;
+
+345 ià(
+L3FWD_DEBUG
+)
+
+346 
\9atf
+
+
+351 
+u\9at8_t
+ *
+\91h_de¡
+ =
+
+352 
+       `RTE_MBUF_METADATA_UINT8_PTR
+(
+pkt
+, 
+MBUF_HDR_ROOM
+);
+
+353 
+u\9at8_t
+ *
+\91h_¤c
+ =
+
+354 
+       `RTE_MBUF_METADATA_UINT8_PTR
+(
+pkt
+, 
+MBUF_HDR_ROOM
+ + 6);
+
+355 ià(
+L3FWD_DEBUG
+) {
+
+356 
\9atf
+
+
+361 
+\91h_de¡
+[0],\83th_dest[1],\83th_dest[2],
+
+362 
+\91h_de¡
+[3],
+
+363 
+\91h_de¡
+[4],\83th_de¡[5], 
+\91h_¤c
+[0],
+
+364 
+\91h_¤c
+[1],
+
+365 
+\91h_¤c
+[2],\83th_src[3],
+
+366 
+\91h_¤c
+[4],\83th_src[5]);
+
+370 
+       `memýy
+(
+\91h_de¡
+, 
+fib_·th
+->
+l2_adj_\9dv6_±r
+->
+l2_¡r\9ag
+,
+
+371 \17(\19
+\91h\94_addr
+) * 2 + 2);
+
+373 ià(
+L3FWD_DEBUG
+) {
+
+374 
\9atf
+
+
+377 "%02x:%02x\n", 
+\91h_de¡
+[0],
+
+378 
+\91h_de¡
+[1],\83th_dest[2],\83th_dest[3],
+
+379 
+\91h_de¡
+[4],
+
+380 
+\91h_de¡
+[5], 
+\91h_¤c
+[0],\83th_src[1],
+
+381 
+\91h_¤c
+[2],
+
+382 
+\91h_¤c
+[3],\83th_src[4],\83th_src[5]);
+
+384 
+pÜt_±r
+[
+pos
+] = 
+fib_·th
+->
+l2_adj_\9dv6_±r
+->
+phy_pÜt
+;
+
+387 ià(
+L3FWD_DEBUG
+)
+
+388 
+       `´\9atf
+("Successfully sent\81o\85ort %u \n\r",
+
+389 
+fib_·th
+->
+out_pÜt
+);
+
+392 
+       }
+}
+
+394 \1e
+       $l3fwd_rx_\9dv6_·ck\91s
+(\19
+¹e_mbuf
+ **
+m
+, 
+u\9at16_t
+nb_pkts
+,
+
+395 
+u\9at64_t
+v®id_pkts_mask
+, 
+l2_phy_\9a\8brçû_t
+ *
+pÜt
+)
+
+397 ià(!
+pÜt
+)
+
+399 ià(
+L3FWD_DEBUG
+) {
+
+400 
\9atf
+
+
+402 
+PRIu64
+ "\n", 
+nb_pkts
+, 
+pÜt
+->
+pmdid
+, 
+v®id_pkts_mask
+);
+
+404 
+u\9at64_t
+pkts_fÜ_´oûss
+ = 
+v®id_pkts_mask
+;
+
+406 \19
+\9dv6_hdr
+ *ipv6_hdr;
+
+408 
+u\9at64_t
+icmp_pkts_mask
+ = 
+v®id_pkts_mask
+;
+
+409 
+u\9at64_t
+\9dv6_fÜw¬d_pkts_mask
+ = 
+v®id_pkts_mask
+;
+
+410 
+u\9at16_t
+nb_icmpv6_pkt
+ = 0;
+
+411 
+u\9at16_t
+nb_l3_pkt
+ = 0;
+
+413 
+u\9at8_t
+cÚfigu»d_pÜt_\9dv6
+[
+RTE_LPM_IPV6_ADDR_SIZE
+] = { 0 };
+
+414 
+\9at8_t
+sÞic\99ed_node_muÉiÿ¡_addr
+[
+RTE_LPM_IPV6_ADDR_SIZE
+] = {
+
+417 
+u\9at8_t
+de¡_\9dv6_addr
+[
+RTE_LPM_IPV6_ADDR_SIZE
+];
+
+419 
+       `mem£t
+(
+de¡_\9dv6_addr
+, 0, 
+RTE_LPM_IPV6_ADDR_SIZE
+);
+
+421 
+       `´\9atf
+("\n% : LINE # %u\n", 
+__FUNCTION__
+, 
+__LINE__
+);
+
+422 \12
+ii
+;
+
+423 ià(
+pÜt
+->
+\9dv6_li¡
+ !ð
+NULL
+) {
+
+424 \ f
+ii
+ = 0; ii < 16; ii += 1) {
+
+425 
+cÚfigu»d_pÜt_\9dv6
+[
+ii
+] =
+
+426 ((
+\9dv6li¡_t
+ *è(
+pÜt
+->
+\9dv6_li¡
+))->
+\9daddr
+[
+ii
+];
+
+431 \ f
+ii
+ = 0; ii < 16; ii += 2) {
+
+432 ià(
+pÜt
+ &&\85Üt->
+\9dv6_li¡
+)
+
+433 
+       `´\9atf
+("%02X%02X ",
+
+434 ((
+\9dv6li¡_t
+ *è(
+pÜt
+->
+\9dv6_li¡
+))->
+\9daddr
+[
+ii
+],
+
+435 ((
+\9dv6li¡_t
+ *è(
+pÜt
+->
+\9dv6_li¡
+))->
+\9daddr
+[
+ii
+ +
+
+439 
+       `´\9atf
+("\n% : LINE # %u\n", 
+__FUNCTION__
+, 
+__LINE__
+);
+
+440 \ f
+ii
+ = 0; ii < 16; ii += 2) {
+
+441 
+       `´\9atf
+("%02X%02X ", 
+cÚfigu»d_pÜt_\9dv6
+[
+ii
+],
+
+442 
+cÚfigu»d_pÜt_\9dv6
+[
+ii
+ + 1]);
+
+445 \ f
+pkts_fÜ_´oûss
+;) {
+
+447 
+       `´\9atf
+("\n% : LINE # %u\n", 
+__FUNCTION__
+, 
+__LINE__
+);
+
+448 
+u\9at8_t
+pos
+ = (u\9at8_tè
+       `__bu\9et\9a_ùzÎ
+(
+pkts_fÜ_´oûss
+);
+
+449 
+u\9at64_t
+pkt_mask
+ = 1LLU << 
+pos
+;
+
+450 
+pkts_fÜ_´oûss
+ &ð~
+pkt_mask
+;
+
+453 
+       `´\9atf
+("\n% : LINE #%u, POS%u\n", 
+__FUNCTION__
+, 
+__LINE__
+,
+
+454 
+pos
+);
+
+456 ià(
+m
+[
+pos
+] =ð
+NULL
+) {
+
+457 
+       `´\9atf
+("\n%s : M_POS IS NULLLLLLL, LINE: %u\n",
+
+458 
+__FUNCTION__
+, 
+__LINE__
+);
+
+461 
+\9dv6_hdr
+ =
+
+462 
+       `¹e_pktmbuf_mtod_off£t
+(
+m
+[
+pos
+], \19
+\9dv6_hdr
+ *,
+
+463 \17(\19
+\91h\94_hdr
+));
+
+464 
+       `´\9atf
+("\n% : LINE # %u\n", 
+__FUNCTION__
+, 
+__LINE__
+);
+
+465 \ f
+ii
+ = 0; ii < 13; ii += 1) {
+
+466 
+de¡_\9dv6_addr
+[
+ii
+] = 
+\9dv6_hdr
+->
+d¡_addr
+[ii];
+
+469 
+       `´\9atf
+("\n");
+
+470 
+       `´\9atf
+("\n% : LINE # %u\n", 
+__FUNCTION__
+, 
+__LINE__
+);
+
+471 \ f
+ii
+ = 0; ii < 16; ii += 2) {
+
+472 
+       `´\9atf
+("%02X%02X ", 
+\9dv6_hdr
+->
+d¡_addr
+[
+ii
+],
+
+473 
+\9dv6_hdr
+->
+d¡_addr
+[
+ii
+ + 1]);
+
+475 
+       `´\9atf
+("\n");
+
+476 
+       `´\9atf
+("\n% : LINE # %u\n", 
+__FUNCTION__
+, 
+__LINE__
+);
+
+477 \ f
+ii
+ = 0; ii < 16; ii += 2) {
+
+478 
+       `´\9atf
+("%02X%02X ", 
+de¡_\9dv6_addr
+[
+ii
+],
+
+479 
+de¡_\9dv6_addr
+[
+ii
+ + 1]);
+
+482 
+       `´\9atf
+("\n% : LINE # %u", 
+__FUNCTION__
+, 
+__LINE__
+);
+
+483 ià((
+\9dv6_hdr
+->
+´Ùo
+ =ð
+IPPROTO_ICMPV6
+) &&
+
+484 (!
+memcmp
+
+
+485 (&
+\9dv6_hdr
+->
+d¡_addr
+, &
+cÚfigu»d_pÜt_\9dv6
+[0],
+
+486 
+RTE_LPM_IPV6_ADDR_SIZE
+)
+
+487 || !
+       `memcmp
+(&
+de¡_\9dv6_addr
+[0],
+
+488 &
+sÞic\99ed_node_muÉiÿ¡_addr
+[0],
+
+489 
+RTE_LPM_IPV6_ADDR_SIZE
+))) {
+
+490 
+\9dv6_fÜw¬d_pkts_mask
+ &ð~
+pkt_mask
+;
+
+491 
+¡©s
+.
+nb_rx_l3_icmp_pkt
+++;
+
+492 
+nb_icmpv6_pkt
+++;
+
+494 
+icmp_pkts_mask
+ &ð~
+pkt_mask
+;
+
+495 
+¡©s
+.
+nb_rx_l3_pkt
+++;
+
+496 
+nb_l3_pkt
+++;
+
+500 ià(
+icmp_pkts_mask
+) {
+
+501 ià(
+L3FWD_DEBUG
+)
+
+502 
\9atf
+
+
+504 
+´Ùo_ty³
+[
+IP_LOCAL
+]->
+       `func
+(
+m
+, 
+nb_icmpv6_pkt
+, 
+icmp_pkts_mask
+,
+
+505 
+pÜt
+);
+
+508 ià(
+\9dv6_fÜw¬d_pkts_mask
+) {
+
+509 ià(
+L3FWD_DEBUG
+)
+
+510 
\9atf
+
+
+512 
+´Ùo_ty³
+[
+IP_REMOTE
+]->
+       `func
+(
+m
+, 
+nb_l3_pkt
+,
+
+513 
+\9dv6_fÜw¬d_pkts_mask
+, 
+pÜt
+);
+
+515 
+       }
+}
+
+517 \19
+\9dv6_fib_·th
+ *
+       $pÝuÏ\8b_\9dv6_fib_·th
+(
+u\9at8_t
+
+
+518 
+nh_\9dv6
+[
+RTE_LPM_IPV6_ADDR_SIZE
+],
+
+519 
+u\9at8_t
+pÜtid
+)
+
+522 \19
+fib_·th_key_\9dv6
+·th_key
+;
+
+523 
+u\9at8_t
+i
+;
+
+524 \ f
+i
+ = 0; i < 16; i++) {
+
+525 
+·th_key
+.
+nh_\9dv6
+[
+i
+] =\82h_ipv6[i];
+
+527 
+·th_key
+.
+out_pÜt
+ = 
+pÜtid
+;
+
+528 
+·th_key
+.
+f\9eËr1
+ = 0;
+
+529 
+·th_key
+.
+f\9eËr2
+ = 0;
+
+530 
+·th_key
+.
+f\9eËr3
+ = 0;
+
+532 \19
+\9dv6_fib_·th
+ *
+fib_d©a
+ = 
+NULL
+;
+
+534 
+fib_d©a
+ = 
+       `»\8c\9bve_\9dv6_fib_·th_\92\8cy
+(
+·th_key
+);
+
+536 ià(
+fib_d©a
+) {
+
+538 
+       `´\9atf
+(" Fib\85ath\83ntry\83xists for IPv6 destination = "
+
+541 
+nh_\9dv6
+[0],\82h_ipv6[1],\82h_ipv6[2],\82h_ipv6[3],
+
+542 
+nh_\9dv6
+[4],\82h_ipv6[5],\82h_ipv6[6],\82h_ipv6[7],
+
+543 
+nh_\9dv6
+[8],\82h_ipv6[9],\82h_ipv6[10],\82h_ipv6[11],
+
+544 
+nh_\9dv6
+[12],\82h_ipv6[13],\82h_ipv6[14],\82h_ipv6[15],
+
+545 
+pÜtid
+);
+
+547 
+fib_d©a
+->
+»fcouÁ
+++;
+
+548 \15 
+fib_d©a
+;
+
+550 
+       `´\9atf
+("IPv6 fib_path\83ntry Doesn't Exists.......\n");
+
+554 
+fib_d©a
+ = 
+NULL
+;
+
+555 \19
+l2_adj_\9dv6_\92\8cy
+ *
+l2_adj_±r
+ = 
+NULL
+;
+
+556 
+l2_adj_±r
+ = 
+       `pÝuÏ\8b_\9dv6_l2_adj
+(
+nh_\9dv6
+, 
+pÜtid
+);
+
+558 ià(
+l2_adj_±r
+) {
+
+560 
+u\9at32_t
+size
+ =
+
+561 
+       `RTE_CACHE_LINE_ROUNDUP
+(\17(\19
+\9dv6_fib_·th
+));
+
+562 
+fib_d©a
+ = 
+       `¹e_zm®loc
+(
+NULL
+, 
+size
+, 
+RTE_CACHE_LINE_SIZE
+);
+
+564 \ f
+i
+ = 0; i < 16; i++) {
+
+565 
+fib_d©a
+->
+nh_\9dv6
+[
+i
+] =\82h_ipv6[i];
+
+567 
+fib_d©a
+->
+out_pÜt
+ = 
+pÜtid
+;
+
+570 
+fib_d©a
+->
+»fcouÁ
+++;
+
+571 
+fib_d©a
+->
+l2_adj_\9dv6_±r
+ = 
+l2_adj_±r
+;
+
+574 
+       `¹e_hash_add_key_d©a
+(
+fib_·th_\9dv6_hash_hªdË
+, &
+·th_key
+,
+
+575 
+fib_d©a
+);
+
+576 
\9atf
+
+
+578 
+l2_adj_±r
+, 
+fib_d©a
+);
+
+579 \15 
+fib_d©a
+;
+
+581 
\9atf
+
+
+584 \15 
+NULL
+;
+
+586 
+       }
+}
+
+588 \19
+l2_adj_\9dv6_\92\8cy
+ *
+       $pÝuÏ\8b_\9dv6_l2_adj
+(
+u\9at8_t
+
+
+589 
+nh_\9dv6
+[
+RTE_LPM_IPV6_ADDR_SIZE
+],
+
+590 
+u\9at8_t
+pÜtid
+)
+
+593 \19
+l2_adj_key_\9dv6
+l2_adj_key
+;
+
+594 
+u\9at8_t
+i
+;
+
+595 \ f
+i
+ = 0; i < 16; i++) {
+
+596 
+l2_adj_key
+.
+nh_\9dv6
+[
+i
+] =\82h_ipv6[i];
+
+598 
+l2_adj_key
+.
+out_pÜt_id
+ = 
+pÜtid
+;
+
+599 
+l2_adj_key
+.
+f\9eËr1
+ = 0;
+
+600 
+l2_adj_key
+.
+f\9eËr2
+ = 0;
+
+601 
+l2_adj_key
+.
+f\9eËr3
+ = 0;
+
+603 \19
+l2_adj_\9dv6_\92\8cy
+ *
+adj_d©a
+ = 
+NULL
+;
+
+604 \19
+\91h\94_addr
+\91h_d¡
+;
+
+606 
+adj_d©a
+ = 
+       `»\8c\9bve_\9dv6_l2_adj_\92\8cy
+(
+l2_adj_key
+);
+
+608 ià(
+adj_d©a
+) {
+
+610 
+       `´\9atf
+("ipv6_l2_adj_entry\83xists for Next Hop IPv6 = "
+
+613 
+nh_\9dv6
+[0],\82h_ipv6[1],\82h_ipv6[2],\82h_ipv6[3],
+
+614 
+nh_\9dv6
+[4],\82h_ipv6[5],\82h_ipv6[6],\82h_ipv6[7],
+
+615 
+nh_\9dv6
+[8],\82h_ipv6[9],\82h_ipv6[10],\82h_ipv6[11],
+
+616 
+nh_\9dv6
+[12],\82h_ipv6[13],\82h_ipv6[14],\82h_ipv6[15],
+
+617 
+pÜtid
+);
+
+619 
+       `\91h\94_addr_cÝy
+(&
+adj_d©a
+->
+\91h_addr
+, &
+\91h_d¡
+);
+
+620 
+adj_d©a
+->
+»fcouÁ
+++;
+
+621 \15 
+adj_d©a
+;
+
+624 \19
+\91h\94_addr
+\91h_¤c
+;
+
+625 
+u\9at16_t
+\91h\94_ty³
+ = 0x086DD;
+
+626 
+l2_phy_\9a\8brçû_t
+ *
+pÜt
+;
+
+627 
+pÜt
+ = 
+       `ifm_g\91_pÜt
+(
+pÜtid
+);
+
+628 ià(
+pÜt
+ =ð
+NULL
+) {
+
+629 
+       `´\9atf
+("PORT %u IS DOWN.. UÇbË\81Ø´oûs !\n", 
+pÜtid
+);
+
+630 \15 
+NULL
+;
+
+633 
+       `memýy
+(&
+\91h_¤c
+, &
+pÜt
+->
+maÿddr
+, \17(\19
+\91h\94_addr
+));
+
+634 
+u\9at32_t
+size
+ = 
+       `RTE_CACHE_LINE_ROUNDUP
+(\17(\19
+l2_adj_\92\8cy
+));
+
+635 
+adj_d©a
+ = 
+       `¹e_zm®loc
+(
+NULL
+, 
+size
+, 
+RTE_CACHE_LINE_SIZE
+);
+
+636 ià(
+adj_d©a
+ =ð
+NULL
+) {
+
+637 
+       `´\9atf
+("L2 Adjacency memory\87llocation failed !\n");
+
+638 \15 
+NULL
+;
+
+641 
+adj_d©a
+->
+out_pÜt_id
+ = 
+pÜtid
+;
+
+643 \ f
+i
+ = 0; i < 16; i++) {
+
+644 
+adj_d©a
+->
+nh_\9dv6
+[
+i
+] =\82h_ipv6[i];
+
+646 
+adj_d©a
+->
+»fcouÁ
+++;
+
+647 
+adj_d©a
+->
+phy_pÜt
+ = 
+pÜt
+;
+
+649 
+       `¹e_hash_add_key_d©a
+(
+l2_adj_\9dv6_hash_hªdË
+, &
+l2_adj_key
+, 
+adj_d©a
+);
+
+652 ià(
+       `g\91_de¡_mac_fÜ_ÃxthÝ_\9dv6
+(
+nh_\9dv6
+, 
+pÜtid
+, &
+\91h_d¡
+)) {
+
+654 
+       `\91h\94_addr_cÝy
+(&
+\91h_d¡
+, &
+adj_d©a
+->
+\91h_addr
+);
+
+657 
+       `memýy
+(&
+adj_d©a
+->
+l2_¡r\9ag
+, &
+\91h_d¡
+,
+
+658 \17(\19
+\91h\94_addr
+));
+
+659 
+       `memýy
+(&
+adj_d©a
+->
+l2_¡r\9ag
+[6], &
+\91h_¤c
+,
+
+660 \17(\19
+\91h\94_addr
+));
+
+661 
+       `memýy
+(&
+adj_d©a
+->
+l2_¡r\9ag
+[12], &
+\91h\94_ty³
+, 2);
+
+663 
+adj_d©a
+->
+æags
+ = 
+L2_ADJ_RESOLVED
+;
+
+664 
\9atf
+
+
+666 
+adj_d©a
+);
+
+668 \15 
+adj_d©a
+;
+
+670 
+adj_d©a
+->
+æags
+ = 
+L2_ADJ_UNRESOLVED
+;
+
+671 
\9atf
+
+
+674 \15 
+NULL
+;
+
+675 
+       }
+}
+
+677 \19
+l2_adj_\9dv6_\92\8cy
+ *
+       $»\8c\9bve_\9dv6_l2_adj_\92\8cy
+(\19
+l2_adj_key_\9dv6
+
+
+678 
+l2_adj_key
+)
+
+680 \19
+l2_adj_\9dv6_\92\8cy
+ *
+»t_l2_adj_d©a
+ = 
+NULL
+;
+
+682 \12
+»t
+ =
+
+683 
+       `¹e_hash_lookup_d©a
+(
+l2_adj_\9dv6_hash_hªdË
+, &
+l2_adj_key
+,
+
+684 (\1e**)&
+»t_l2_adj_d©a
+);
+
+685 ià(
+»t
+ < 0) {
+
+686 
\9atf
+
+
+688 
+»t
+, 
+EINVAL
+, 
+ENOENT
+);
+
+690 
+       `´\9atf
+("L2 Adj hash\86ookup Successful..!!!\n");
+
+691 \15 
+»t_l2_adj_d©a
+;
+
+693 \15 
+NULL
+;
+
+694 
+       }
+}
+
+696 \12
+       $g\91_de¡_mac_fÜ_ÃxthÝ_\9dv6
+(
+u\9at8_t
+nh_\9dv6
+[
+RTE_LPM_IPV6_ADDR_SIZE
+],
+
+697 
+u\9at32_t
+out_phy_pÜt
+,
+
+698 \19
+\91h\94_addr
+ *
+hw_addr
+)
+
+700 \19
+nd_\92\8cy_d©a
+ *
+nd_d©a
+ = 
+NULL
+;
+
+701 \19
+nd_key_\9dv6
+tmp_nd_key
+;
+
+702 
+u\9at8_t
+i
+;
+
+703 \ f
+i
+ = 0; i < 16; i++) {
+
+704 
+tmp_nd_key
+.
+\9dv6
+[
+i
+] = 
+nh_\9dv6
+[i];
+
+706 
+tmp_nd_key
+.
+pÜt_id
+ = 
+out_phy_pÜt
+;
+
+708 
+nd_d©a
+ = 
+       `»\8c\9bve_nd_\92\8cy
+(
+tmp_nd_key
+);
+
+709 ià(
+nd_d©a
+ =ð
+NULL
+) {
+
+710 
+       `´\9atf
+("ND\83ntry is\82ot found\n");
+
+713 
+       `\91h\94_addr_cÝy
+(&
+nd_d©a
+->
+\91h_addr
+, 
+hw_addr
+);
+
+716 
+       }
+}
+
+718 \19
+\9dv6_fib_·th
+ *
+       $»\8c\9bve_\9dv6_fib_·th_\92\8cy
+(\19
+fib_·th_key_\9dv6
+
+
+719 
+·th_key
+)
+
+722 \19
+\9dv6_fib_·th
+ *
+»t_fib_·th_d©a
+ = 
+NULL
+;
+
+723 \12
+»t
+ =
+
+724 
+       `¹e_hash_lookup_d©a
+(
+fib_·th_\9dv6_hash_hªdË
+, &
+·th_key
+,
+
+725 (\1e**)&
+»t_fib_·th_d©a
+);
+
+726 ià(
+»t
+ < 0) {
+
+727 
\9atf
+
+
+729 
+»t
+, 
+EINVAL
+, 
+ENOENT
+);
+
+730 \15 
+NULL
+;
+
+732 \15 
+»t_fib_·th_d©a
+;
+
+734 
+       }
+}
+
+736 \1e
+       $»move_\9dv6_fib_l2_adj_\92\8cy
+(\1e*
+\92\8cy
+)
+
+738 \19
+\9dv6_fib_\9afo
+\92\8cy1
+;
+
+739 
+       `memýy
+(&
+\92\8cy1
+, 
+\92\8cy
+, \17(\19
+\9dv6_fib_\9afo
+));
+
+741 \19
+\9dv6_fib_·th
+ *
+fib_·th_addr
+ = 
+\92\8cy1
+.
+·th
+[0];
+
+742 ià(
+fib_·th_addr
+->
+»fcouÁ
+ > 1) {
+
+743 
+       `´\9atf
+("BEFORE fib_path\83ntry is\82ot Removed!\82h_iPv6 = "
+
+746 
+fib_·th_addr
+->
+nh_\9dv6
+[0], fib_path_addr->nh_ipv6[1],
+
+747 
+fib_·th_addr
+->
+nh_\9dv6
+[2], fib_path_addr->nh_ipv6[3],
+
+748 
+fib_·th_addr
+->
+nh_\9dv6
+[4], fib_path_addr->nh_ipv6[5],
+
+749 
+fib_·th_addr
+->
+nh_\9dv6
+[6], fib_path_addr->nh_ipv6[7],
+
+750 
+fib_·th_addr
+->
+nh_\9dv6
+[8], fib_path_addr->nh_ipv6[9],
+
+751 
+fib_·th_addr
+->
+nh_\9dv6
+[10], fib_path_addr->nh_ipv6[11],
+
+752 
+fib_·th_addr
+->
+nh_\9dv6
+[12], fib_path_addr->nh_ipv6[13],
+
+753 
+fib_·th_addr
+->
+nh_\9dv6
+[14], fib_path_addr->nh_ipv6[15],
+
+754 
+fib_·th_addr
+->
+out_pÜt
+, fib_·th_addr->
+»fcouÁ
+);
+
+755 
+fib_·th_addr
+->
+»fcouÁ
+--;
+
+756 
+       `´\9atf
+("AFTER fib_path\83ntry is\82ot Removed!\82h_iPv6 = "
+
+759 
+fib_·th_addr
+->
+nh_\9dv6
+[0], fib_path_addr->nh_ipv6[1],
+
+760 
+fib_·th_addr
+->
+nh_\9dv6
+[2], fib_path_addr->nh_ipv6[3],
+
+761 
+fib_·th_addr
+->
+nh_\9dv6
+[4], fib_path_addr->nh_ipv6[5],
+
+762 
+fib_·th_addr
+->
+nh_\9dv6
+[6], fib_path_addr->nh_ipv6[7],
+
+763 
+fib_·th_addr
+->
+nh_\9dv6
+[8], fib_path_addr->nh_ipv6[9],
+
+764 
+fib_·th_addr
+->
+nh_\9dv6
+[10], fib_path_addr->nh_ipv6[11],
+
+765 
+fib_·th_addr
+->
+nh_\9dv6
+[12], fib_path_addr->nh_ipv6[13],
+
+766 
+fib_·th_addr
+->
+nh_\9dv6
+[14], fib_path_addr->nh_ipv6[15],
+
+767 
+fib_·th_addr
+->
+out_pÜt
+, fib_·th_addr->
+»fcouÁ
+);
+
+770 \19
+l2_adj_\9dv6_\92\8cy
+ *
+adj_addr
+ = 
+NULL
+;
+
+771 
+adj_addr
+ = 
+fib_·th_addr
+->
+l2_adj_\9dv6_±r
+;
+
+773 ià(
+adj_addr
+ !ð
+NULL
+) {
+
+774 
+       `´\9atf
+("%s: CHECK %d\n\r", 
+__FUNCTION__
+, 
+__LINE__
+);
+
+775 \19
+l2_adj_key_\9dv6
+l2_adj_key
+;
+
+776 
+       `memýy
+(&
+l2_adj_key
+.
+nh_\9dv6
+, 
+fib_·th_addr
+->nh_ipv6,
+
+777 
+RTE_LPM_IPV6_ADDR_SIZE
+);
+
+778 
+l2_adj_key
+.
+out_pÜt_id
+ =
+
+779 
+fib_·th_addr
+->
+out_pÜt
+,
+
+780 
+       `¹e_hash_d\96_key
+(
+l2_adj_\9dv6_hash_hªdË
+,
+
+781 &
+l2_adj_key
+);
+
+782 
+       `¹e_ä\93
+(
+adj_addr
+);
+
+783 
+adj_addr
+ = 
+NULL
+;
+
+786 \19
+fib_·th_key_\9dv6
+·th_key
+;
+
+787 
+       `memýy
+(&
+·th_key
+.
+nh_\9dv6
+, 
+fib_·th_addr
+->nh_ipv6,
+
+788 
+RTE_LPM_IPV6_ADDR_SIZE
+);
+
+789 
+·th_key
+.
+out_pÜt
+ = 
+fib_·th_addr
+->out_port;
+
+790 
+       `¹e_hash_d\96_key
+(
+fib_·th_\9dv6_hash_hªdË
+, &
+·th_key
+);
+
+791 
+       `¹e_ä\93
+(
+fib_·th_addr
+);
+
+792 
+fib_·th_addr
+ = 
+NULL
+;
+
+794 
+       }
+}
+
+796 \12
+       $is_v®id_\9dv6_pkt
+(\19
+\9dv6_hdr
+ *
+pkt
+, 
+u\9at32_t
+l\9ak_Ën
+)
+
+798 ià(
+l\9ak_Ën
+ < \17(\19
+\9dv4_hdr
+))
+
+800 ià(
+       `¹e_ýu_to_be_16
+(
+pkt
+->
+·ylßd_Ën
+è< \17(\19
+\9dv6_hdr
+))
+
+804 
+       }
+}
+
+807 
+       $\9dv6_l3_´ÙocÞ_ty³_add
+(
+u\9at8_t
+´ÙocÞ_ty³
+,
+
+808 \1e(*
+func
+è(\19
+¹e_mbuf
+ **, 
+u\9at16_t
+, 
+u\9at64_t
+,
+
+809 
+l2_phy_\9a\8brçû_t
+ *))
+
+811 \1a
+´ÙocÞ_ty³
+) {
+
+812 \ 4
+IPPROTO_ICMPV6
+:
+
+813 
+´Ùo_ty³
+[
+IP_LOCAL
+] =
+
+814 
+       `¹e_m®loc
+(
+NULL
+, \17(\19
+\9d_´ÙocÞ_ty³
+),
+
+815 
+RTE_CACHE_LINE_SIZE
+);
+
+816 
+´Ùo_ty³
+[
+IP_LOCAL
+]->
+´ÙocÞ_ty³
+ =\85rotocol_type;
+
+817 
+´Ùo_ty³
+[
+IP_LOCAL
+]->
+func
+ = func;
+
+820 \ 4
+IPPROTO_TCP
+:
+
+821 \ 4
+IPPROTO_UDP
+:
+
+822 
+´Ùo_ty³
+[
+IP_REMOTE
+] =
+
+823 
+       `¹e_m®loc
+(
+NULL
+, \17(\19
+\9d_´ÙocÞ_ty³
+),
+
+824 
+RTE_CACHE_LINE_SIZE
+);
+
+825 
+´Ùo_ty³
+[
+IP_REMOTE
+]->
+´ÙocÞ_ty³
+ =\85rotocol_type;
+
+826 
+´Ùo_ty³
+[
+IP_REMOTE
+]->
+func
+ = func;
+
+829 
+       }
+}
+
+832 
+       $\9dv6_loÿl_d\96iv\94
+(\19
+¹e_mbuf
+ **
+pkt_bur¡
+, 
+__¹e_unu£d
+u\9at16_t
+nb_rx
+,
+
+833 
+u\9at64_t
+icmp_pkt_mask
+, 
+l2_phy_\9a\8brçû_t
+ *
+pÜt
+)
+
+835 \ f
+icmp_pkt_mask
+;) {
+
+837 
+u\9at8_t
+pos
+ = (u\9at8_tè
+       `__bu\9et\9a_ùzÎ
+(
+icmp_pkt_mask
+);
+
+838 
+u\9at64_t
+pkt_mask
+ = 1LLU << 
+pos
+;
+
+839 
+icmp_pkt_mask
+ &ð~
+pkt_mask
+;
+
+841 
+       `´oûss_icmpv6_pkt
+(
+pkt_bur¡
+[
+pos
+], 
+pÜt
+);
+
+843 
+       }
+}
+
+846 
+       $\9dv6_fÜw¬d_d\96iv\94
+(\19
+¹e_mbuf
+ **
+pkt_bur¡
+, 
+u\9at16_t
+nb_pkts
+,
+
+847 
+u\9at64_t
+\9dv6_fÜw¬d_pkts_mask
+, 
+l2_phy_\9a\8brçû_t
+ *
+pÜt
+)
+
+849 ià(
+L3FWD_DEBUG
+) {
+
+850 
\9atf
+
+
+852 
+nb_pkts
+, 
+pÜt
+->
+pmdid
+);
+
+854 
+u\9at64_t
+pkts_fÜ_´oûss
+ = 
+\9dv6_fÜw¬d_pkts_mask
+;
+
+856 \19
+\9dv6_hdr
+ *ipv6_hdr;
+
+857 
+l2_phy_\9a\8brçû_t
+ *
+pÜt_±r
+[
+RTE_PORT_IN_BURST_SIZE_MAX
+];
+
+858 
+u\9at64_t
+h\99_mask
+ = 0;
+
+860 \ f
+pkts_fÜ_´oûss
+;) {
+
+862 
+u\9at8_t
+pos
+ = (u\9at8_tè
+       `__bu\9et\9a_ùzÎ
+(
+pkts_fÜ_´oûss
+);
+
+863 
+u\9at64_t
+pkt_mask
+ = 1LLU << 
+pos
+;
+
+864 
+pkts_fÜ_´oûss
+ &ð~
+pkt_mask
+;
+
+865 
+\9dv6_hdr
+ =
+
+866 
+       `¹e_pktmbuf_mtod_off£t
+(
+pkt_bur¡
+[
+pos
+], \19
+\9dv6_hdr
+ *,
+
+867 \17(\19
+\91h\94_hdr
+));
+
+870 ià(
+       `is_v®id_\9dv6_pkt
+(
+\9dv6_hdr
+, 
+pkt_bur¡
+[
+pos
+]->
+pkt_Ën
+) < 0) {
+
+871 
+       `¹e_pktmbuf_ä\93
+(
+pkt_bur¡
+[
+pos
+]);
+
+872 
+pkt_bur¡
+[
+pos
+] = 
+NULL
+;
+
+873 
+\9dv6_fÜw¬d_pkts_mask
+ &ð~(1LLU << 
+pos
+);
+
+874 
+nb_pkts
+--;
+
+875 
+¡©s
+.
+nb_l3_drÝ_pkt
+++;
+
+879 ià(
+L3FWD_DEBUG
+) {
+
+880 
\9atf
+
+
+882 
+nb_pkts
+, 
+\9dv6_fÜw¬d_pkts_mask
+);
+
+886 
+       `Ím6_\8fbË_lookup
+(
+pkt_bur¡
+, 
+nb_pkts
+, 
+\9dv6_fÜw¬d_pkts_mask
+, 
+pÜt_±r
+,
+
+887 &
+h\99_mask
+);
+
+888 
+       }
+}
+
+890 
+u\9at8_t
+       $\9dv6_hash_lßd_b®ªû
+(\19
+¹e_mbuf
+ *
+mbuf
+)
+
+892 
+u\9at32_t
+¤c_addr_off£t
+ =
+
+893 
+MBUF_HDR_ROOM
+ + 
+ETH_HDR_SIZE
+ + 
+IP_HDR_SRC_ADR_OFST_IPV6
+;
+
+894 
+u\9at32_t
+d¡_addr_off£t
+ =
+
+895 
+MBUF_HDR_ROOM
+ + 
+ETH_HDR_SIZE
+ + 
+IP_HDR_DST_ADR_OFST_IPV6
+;
+
+896 
+u\9at8_t
+¤c_addr
+[
+RTE_LPM_IPV6_ADDR_SIZE
+];
+
+897 
+u\9at8_t
+d¡_addr
+[
+RTE_LPM_IPV6_ADDR_SIZE
+];
+
+899 
+       `memýy
+(&
+¤c_addr
+,
+
+900 (
+u\9at8_t
+ *è
+       `RTE_MBUF_METADATA_UINT32_PTR
+(
+mbuf
+, 
+¤c_addr_off£t
+),
+
+901 
+RTE_LPM_IPV6_ADDR_SIZE
+);
+
+902 
+       `memýy
+(&
+d¡_addr
+,
+
+903 (
+u\9at8_t
+ *è
+       `RTE_MBUF_METADATA_UINT32_PTR
+(
+mbuf
+, 
+d¡_addr_off£t
+),
+
+904 
+RTE_LPM_IPV6_ADDR_SIZE
+);
+
+905 
+u\9at32_t
+hash_key1
+ = 0;
+
+906 
+u\9at32_t
+hash_key2
+ = 0;
+
+907 
+u\9at8_t
+i
+;
+
+908 \ f
+i
+ = 0; i < 
+RTE_LPM_IPV6_ADDR_SIZE
+; i++) {
+
+909 
+hash_key1
+ +ð
+¤c_addr
+[
+i
+];
+
+910 
+hash_key2
+ +ð
+d¡_addr
+[
+i
+];
+
+912 
+hash_key1
+ = hash_key1 ^ 
+hash_key2
+;
+
+913 
+hash_key2
+ = 
+hash_key1
+;
+
+914 
+hash_key1
+ = 
+       `rÙr32
+(hash_key1, 
+RTE_LPM_IPV6_ADDR_SIZE
+);
+
+915 
+hash_key1
+ = hash_key1 ^ 
+hash_key2
+;
+
+917 
+hash_key2
+ = 
+hash_key1
+;
+
+919 
+hash_key1
+ = 
+       `rÙr32
+(hash_key1, 8);
+
+920 
+hash_key1
+ = hash_key1 ^ 
+hash_key2
+;
+
+922 
+hash_key1
+ = hash_key1 & (
+HASH_BUCKET_SIZE
+ - 1);
+
+923 ià(
+L3FWD_DEBUG
+)
+
+924 
+       `´\9atf
+("Hash ResuÉ_key: %d, \n", 
+hash_key1
+);
+
+925 \15 
+hash_key1
+;
+
+926 
+       }
+}
+
+929 
+       $»sÞve_\9dv6_l2_adj
+(
+u\9at8_t
+nh_\9dv6
+[
+RTE_LPM_IPV6_ADDR_SIZE
+], u\9at8_\88
+pÜtid
+,
+
+930 \19
+\91h\94_addr
+ *
+hw_addr
+)
+
+932 \19
+l2_adj_\9dv6_\92\8cy
+ *
+adj_d©a
+ = 
+NULL
+;
+
+933 \19
+\91h\94_addr
+\91h_d¡
+;
+
+934 
+u\9at16_t
+\91h\94_ty³
+ = 0x086DD;
+
+936 \19
+l2_adj_key_\9dv6
+l2_adj_key
+;
+
+937 
+       `memýy
+(&
+l2_adj_key
+.
+nh_\9dv6
+, &nh_\9dv6, 
+RTE_LPM_IPV6_ADDR_SIZE
+);
+
+938 
+l2_adj_key
+.
+out_pÜt_id
+ = 
+pÜtid
+;
+
+940 
+adj_d©a
+ = 
+       `»\8c\9bve_\9dv6_l2_adj_\92\8cy
+(
+l2_adj_key
+);
+
+941 ià(
+adj_d©a
+) {
+
+942 ià(
+adj_d©a
+->
+æags
+ =ð
+L2_ADJ_UNRESOLVED
+
+
+943 || 
+       `memcmp
+(&
+adj_d©a
+->
+\91h_addr
+, 
+hw_addr
+, 6)) {
+
+944 
+       `\91h\94_addr_cÝy
+(
+hw_addr
+, &
+adj_d©a
+->
+\91h_addr
+);
+
+947 
+       `memýy
+(&
+adj_d©a
+->
+l2_¡r\9ag
+, 
+hw_addr
+,
+
+948 \17(\19
+\91h\94_addr
+));
+
+949 
+       `memýy
+(&
+adj_d©a
+->
+l2_¡r\9ag
+[6],
+
+950 &
+adj_d©a
+->
+phy_pÜt
+->
+maÿddr
+,
+
+951 \17(\19
+\91h\94_addr
+));
+
+952 
+       `memýy
+(&
+adj_d©a
+->
+l2_¡r\9ag
+[12], &
+\91h\94_ty³
+, 2);
+
+954 
+adj_d©a
+->
+æags
+ = 
+L2_ADJ_RESOLVED
+;
+
+960 
+l2_phy_\9a\8brçû_t
+ *
+pÜt
+;
+
+961 
+pÜt
+ = 
+       `ifm_g\91_pÜt
+(
+pÜtid
+);
+
+962 ià(
+pÜt
+ =ð
+NULL
+) {
+
+963 
+       `´\9atf
+("PORT %u IS DOWN..! UÇbË\81ØProûss\n", 
+pÜtid
+);
+
+966 
+u\9at32_t
+size
+ = 
+       `RTE_CACHE_LINE_ROUNDUP
+(\17(\19
+l2_adj_\92\8cy
+));
+
+967 
+adj_d©a
+ = 
+       `¹e_zm®loc
+(
+NULL
+, 
+size
+, 
+RTE_CACHE_LINE_SIZE
+);
+
+968 ià(
+adj_d©a
+ =ð
+NULL
+) {
+
+969 
+       `´\9atf
+("L2 Adjacency memory\87llocation failed !\n");
+
+973 
+adj_d©a
+->
+out_pÜt_id
+ = 
+pÜtid
+;
+
+974 
+       `memýy
+(
+adj_d©a
+->
+nh_\9dv6
+, &nh_\9dv6, 
+RTE_LPM_IPV6_ADDR_SIZE
+);
+
+976 
+adj_d©a
+->
+phy_pÜt
+ = 
+pÜt
+;
+
+978 
+       `\91h\94_addr_cÝy
+(&
+\91h_d¡
+, &
+adj_d©a
+->
+\91h_addr
+);
+
+981 
+       `memýy
+(&
+adj_d©a
+->
+l2_¡r\9ag
+, 
+hw_addr
+, \17(\19
+\91h\94_addr
+));
+
+982 
+       `memýy
+(&
+adj_d©a
+->
+l2_¡r\9ag
+[6], &
+pÜt
+->
+maÿddr
+,
+
+983 \17(\19
+\91h\94_addr
+));
+
+984 
+       `memýy
+(&
+adj_d©a
+->
+l2_¡r\9ag
+[12], &
+\91h\94_ty³
+, 2);
+
+986 
+adj_d©a
+->
+æags
+ = 
+L2_ADJ_RESOLVED
+;
+
+989 
+       `¹e_hash_add_key_d©a
+(
+l2_adj_\9dv6_hash_hªdË
+, &
+l2_adj_key
+, 
+adj_d©a
+);
+
+991 
+       `´\9atf
+(" ND\84esolution successful\87nd stored in ipv6_l2_adj_entry %p\n",
+
+992 
+adj_d©a
+);
+
+993 
+       }
+}
+
+995 \1e
+       $\9dv6_\99\94©e__hash_\8f
+(\1e)
+
+997 cڡ \1e*
+Ãxt_key
+;
+
+998 \1e*
+Ãxt_d©a
+;
+
+999 
+u\9at32_t
+\99\94
+ = 0;
+
+1000 
+u\9at8_t
+ii
+;
+
+1001 
+       `´\9atf
+("\n\t\t\t IPv6 FIB_path Cache\81able....");
+
+1002 
\9atf
+
+
+1004 
\9atf
+
+
+1006 
\9atf
+
+
+1009 \1f
+¹e_hash_\99\94©e
+
+
+1010 (
+fib_·th_\9dv6_hash_hªdË
+, &
+Ãxt_key
+, &
+Ãxt_d©a
+, &
+\99\94
+) >= 0) {
+
+1011 \19
+\9dv6_fib_·th
+ *
+tmp_d©a
+ =
+
+1012 (\19
+\9dv6_fib_·th
+ *)
+Ãxt_d©a
+;
+
+1013 \19
+fib_·th_key_\9dv6
+tmp_key
+;
+
+1014 
+       `memýy
+(&
+tmp_key
+, 
+Ãxt_key
+, \17(tmp_key));
+
+1015 \ f
+ii
+ = 0; ii < 16; ii += 2) {
+
+1016 
+       `´\9atf
+("%02X%02X ", 
+tmp_d©a
+->
+nh_\9dv6
+[
+ii
+],
+
+1017 
+tmp_d©a
+->
+nh_\9dv6
+[
+ii
+ + 1]);
+
+1019 
+       `´\9atf
+(" \\88%u \\88%u \\88%p\n", 
+tmp_d©a
+->
+out_pÜt
+,
+
+1020 
+tmp_d©a
+->
+»fcouÁ
+,\81mp_d©a->
+l2_adj_\9dv6_±r
+);
+
+1024 
+\99\94
+ = 0;
+
+1026 
+       `´\9atf
+("\n\t\t\t L2 ADJ Cache\81able.....");
+
+1027 
\9atf
+
+
+1029 
\9atf
+
+
+1031 
\9atf
+
+
+1033 \1f
+¹e_hash_\99\94©e
+
+
+1034 (
+l2_adj_\9dv6_hash_hªdË
+, &
+Ãxt_key
+, &
+Ãxt_d©a
+, &
+\99\94
+) >= 0) {
+
+1035 \19
+l2_adj_\9dv6_\92\8cy
+ *
+l2_d©a
+ =
+
+1036 (\19
+l2_adj_\9dv6_\92\8cy
+ *)
+Ãxt_d©a
+;
+
+1037 \19
+l2_adj_key_\9dv6
+l2_key
+;
+
+1038 
+       `memýy
+(&
+l2_key
+, 
+Ãxt_key
+, \17(l2_key));
+
+1039 \ f
+ii
+ = 0; ii < 16; ii += 2) {
+
+1040 
+       `´\9atf
+("%02X%02X ", 
+l2_d©a
+->
+nh_\9dv6
+[
+ii
+],
+
+1041 
+l2_d©a
+->
+nh_\9dv6
+[
+ii
+ + 1]);
+
+1043 
+       `´\9atf
+(" \t%u\t%x:%x:%x:%x:%x:%x:%x:%x:%x:%x:%x:%x\t%p\n",
+
+1044 
+l2_d©a
+->
+out_pÜt_id
+,
+
+1045 
+l2_d©a
+->
+l2_¡r\9ag
+[0],
+
+1046 
+l2_d©a
+->
+l2_¡r\9ag
+[1],
+
+1047 
+l2_d©a
+->
+l2_¡r\9ag
+[2],
+
+1048 
+l2_d©a
+->
+l2_¡r\9ag
+[3],
+
+1049 
+l2_d©a
+->
+l2_¡r\9ag
+[4],
+
+1050 
+l2_d©a
+->
+l2_¡r\9ag
+[5],
+
+1051 
+l2_d©a
+->
+l2_¡r\9ag
+[6],
+
+1052 
+l2_d©a
+->
+l2_¡r\9ag
+[7],
+
+1053 
+l2_d©a
+->
+l2_¡r\9ag
+[8],
+
+1054 
+l2_d©a
+->
+l2_¡r\9ag
+[9],
+
+1055 
+l2_d©a
+->
+l2_¡r\9ag
+[10],
+
+1056 
+l2_d©a
+->
+l2_¡r\9ag
+[11],\862_d©a->
+phy_pÜt
+);
+
+1058 
+       }
+}
+
+       @VIL/l2l3_stack/l3fwd_lpm6.h
+
+22 #iâdeà
+L3FWD_LPM6_H
+
+
+23 \ 1
+       #L3FWD_LPM6_H
+
+
+       )
+
+25 \ 2
+       ~<¡dio.h
+>
+
+26 \ 2
+       ~<¡dlib.h
+>
+
+27 \ 2
+       ~<¡d\9at.h
+>
+
+28 \ 2
+       ~<\9a\89y³s.h
+>
+
+29 \ 2
+       ~<sys/ty³s.h
+>
+
+30 \ 2
+       ~<¡r\9ag.h
+>
+
+31 \ 2
+       ~<sys/queue.h
+>
+
+32 \ 2
+       ~<¡d¬g.h
+>
+
+33 \ 2
+       ~<\94ºo.h
+>
+
+34 \ 2
+       ~<g\91Ýt.h
+>
+
+35 \ 2
+       ~<¡dboÞ.h
+>
+
+37 \ 2
+       ~<¹e_debug.h
+>
+
+38 \ 2
+       ~<¹e_\91h\94.h
+>
+
+39 \ 2
+       ~<¹e_\91hdev.h
+>
+
+40 \ 2
+       ~<¹e_r\9ag.h
+>
+
+41 \ 2
+       ~<¹e_mempoÞ.h
+>
+
+42 \ 2
+       ~<¹e_cyþes.h
+>
+
+43 \ 2
+       ~<¹e_mbuf.h
+>
+
+44 \ 2
+       ~<¹e_\9d.h
+>
+
+45 \ 2
+       ~<¹e_tý.h
+>
+
+46 \ 2
+       ~<¹e_udp.h
+>
+
+47 \ 2
+       ~<¹e_Ím.h
+>
+
+48 \ 2
+       ~<¹e_Ím6.h
+>
+
+49 \ 2
+       ~<¹e_\8fbË_Ím_\9dv6.h
+>
+
+50 \ 2
+       ~"l3fwd_commÚ.h
+"
+
+51 \ 2
+       ~"l3fwd_Ím4.h
+"
+
+52 \ 2
+       ~"\9a\8brçû.h
+"
+
+58 \ 1
+       #MBUF_HDR_ROOM
+ 256
+
+       )
+
+60 \ 1
+       #IP_HDR_SIZE_IPV6
+ 40
+
+       )
+
+61 \ 1
+       #IP_HDR_SRC_ADR_OFST_IPV6
+ 8
+
+       )
+
+62 \ 1
+       #IP_HDR_DST_ADR_OFST_IPV6
+ 24
+
+       )
+
+65 \ 1
+       #IPV6_L3FWD_LPM_MAX_RULES
+ 1024
+
+       )
+
+66 \ 1
+       #IPV6_L3FWD_LPM_NUMBER_TBL8S
+ (1 << 16è
+
+       )
+
+68 \ 1
+       #MAX_FIB_PATHS
+ 8
+
+       )
+
+74 \19
+       s\9dv6_rout\9ag_\9afo
+ {
+
+75 
+u\9at8_t
+       md¡_\9dv6
+[
+RTE_LPM_IPV6_ADDR_SIZE
+];
+
+76 
+u\9at8_t
+       md\95th
+;
+
+77 
+u\9at32_t
+       mm\91ric
+;
+
+78 
+u\9at32_t
+       mfib_nh_size
+;
+
+79 
+u\9at8_t
+       mnh_\9dv6
+[
+MAX_FIB_PATHS
+][
+RTE_LPM_IPV6_ADDR_SIZE
+];
+
+80 
+u\9at8_t
+       mout_pÜt
+[
+MAX_FIB_PATHS
+];
+
+81 } 
+       g__¹e_ÿche_®igÃd
+;
+
+87 \19
+       s\9dv6_fib_·th
+ {
+
+88 
+u\9at8_t
+       mnh_\9dv6
+[
+RTE_LPM_IPV6_ADDR_SIZE
+];
+
+89 
+u\9at32_t
+       m»fcouÁ
+;
+
+90 
+u\9at8_t
+       mout_pÜt
+;
+
+91 \19
+l2_adj_\9dv6_\92\8cy
+ *
+       ml2_adj_\9dv6_±r
+;
+
+92 } 
+       g__¹e_ÿche_®igÃd
+;
+
+98 \19
+       s\9dv6_fib_\9afo
+ {
+
+99 
+u\9at8_t
+       md¡_\9dv6
+[
+RTE_LPM_IPV6_ADDR_SIZE
+];
+
+100 
+u\9at8_t
+       md\95th
+;
+
+101 
+u\9at32_t
+       mm\91ric
+;
+
+102 
+u\9at32_t
+       mfib_nh_size
+;
+
+103 \19
+\9dv6_fib_·th
+ *
+       m·th
+[
+MAX_FIB_PATHS
+];
+
+104 } 
+       g__¹e_ÿche_®igÃd
+;
+
+109 \19
+       sl2_adj_\9dv6_\92\8cy
+ {
+
+110 \19
+\91h\94_addr
+       m\91h_addr
+;
+
+111 
+u\9at8_t
+       mout_pÜt_id
+;
+
+112 
+u\9at8_t
+       mnh_\9dv6
+[
+RTE_LPM_IPV6_ADDR_SIZE
+];
+
+113 
+u\9at32_t
+       m»fcouÁ
+;
+
+114 
+u\9at8_t
+       ml2_¡r\9ag
+[256];
+
+115 
+l2_phy_\9a\8brçû_t
+ *
+       mphy_pÜt
+;
+
+116 
+u\9at8_t
+       mæags
+;
+
+117 } 
+       g__¹e_ÿche_®igÃd
+;
+
+122 \19
+       sl2_adj_key_\9dv6
+ {
+
+125 
+u\9at8_t
+       mnh_\9dv6
+[
+RTE_LPM_IPV6_ADDR_SIZE
+];
+
+126 
+u\9at8_t
+       mout_pÜt_id
+;
+
+127 
+u\9at8_t
+       mf\9eËr1
+;
+
+128 
+u\9at8_t
+       mf\9eËr2
+;
+
+129 
+u\9at8_t
+       mf\9eËr3
+;
+
+135 \19
+       sfib_·th_key_\9dv6
+ {
+
+138 
+u\9at8_t
+       mnh_\9dv6
+[
+RTE_LPM_IPV6_ADDR_SIZE
+];
+
+139 
+u\9at8_t
+       mout_pÜt
+;
+
+140 
+u\9at8_t
+       mf\9eËr1
+;
+
+141 
+u\9at8_t
+       mf\9eËr2
+;
+
+142 
+u\9at8_t
+       mf\9eËr3
+;
+
+145 \19
+       s\9dv6_´ÙocÞ_ty³
+ {
+
+146 
+u\9at8_t
+       m´ÙocÞ_ty³
+;
+
+147 \1e(*
+       mfunc
+è(\19
+       m¹e_mbuf
+ **, 
+       mu\9at16_t
+, 
+       mu\9at64_t
+,
+
+148 
+       ml2_phy_\9a\8brçû_t
+ *);
+
+149 } 
+       g__¹e_ÿche_®igÃd
+;
+
+157 \12
+Ím6_\9a\99
+(\1e);
+
+166 \12
+Ím6_\8fbË_rou\8b_add
+(\19
+\9dv6_rout\9ag_\9afo
+ *
+d©a
+);
+
+177 \12
+Ím6_\8fbË_rou\8b_d\96\91e
+(
+u\9at8_t
+d¡_\9dv6
+[
+RTE_LPM_IPV6_ADDR_SIZE
+],
+
+178 
+u\9at8_t
+d\95th
+);
+
+191 \12
+Ím6_\8fbË_lookup
+(\19
+¹e_mbuf
+ **
+pkts_bur¡
+, 
+u\9at16_t
+nb_pkts
+,
+
+192 
+u\9at64_t
+pkts_mask
+,
+
+193 
+l2_phy_\9a\8brçû_t
+ *
+pÜt_±r
+[
+RTE_PORT_IN_BURST_SIZE_MAX
+],
+
+194 
+u\9at64_t
+ *
+h\99_mask
+);
+
+209 \1e
+l3fwd_rx_\9dv6_·ck\91s
+(\19
+¹e_mbuf
+ **
+m
+, 
+u\9at16_t
+nb_pkts
+,
+
+210 
+u\9at64_t
+v®id_pkts_mask
+,
+
+211 
+l2_phy_\9a\8brçû_t
+ *
+\9a_pÜt
+);
+
+222 \19
+\9dv6_fib_·th
+ *
+pÝuÏ\8b_\9dv6_fib_·th
+(
+u\9at8_t
+
+
+223 
+nh_\9dv6
+[
+RTE_LPM_IPV6_ADDR_SIZE
+],
+
+224 
+u\9at8_t
+out_pÜt
+);
+
+234 \19
+\9dv6_fib_·th
+ *
\8c\9bve_\9dv6_fib_·th_\92\8cy
+(\19
+fib_·th_key_\9dv6
+
+
+235 
+·th_key
+);
+
+245 \19
+l2_adj_\9dv6_\92\8cy
+ *
\8c\9bve_\9dv6_l2_adj_\92\8cy
+(\19
+l2_adj_key_\9dv6
+
+
+246 
+l2_adj_key
+);
+
+257 \19
+l2_adj_\9dv6_\92\8cy
+ *
+pÝuÏ\8b_\9dv6_l2_adj
+(
+u\9at8_t
+
+
+258 
+nh_\9d
+[
+RTE_LPM_IPV6_ADDR_SIZE
+],
+
+259 
+u\9at8_t
+pÜtid
+);
+
+272 \12
+g\91_de¡_mac_fÜ_ÃxthÝ_\9dv6
+(
+u\9at8_t
+nh_\9dv6
+[
+RTE_LPM_IPV6_ADDR_SIZE
+],
+
+273 
+u\9at32_t
+out_phy_pÜt
+,
+
+274 \19
+\91h\94_addr
+ *
+hw_addr
+);
+
+281 \1e
+»move_\9dv6_fib_l2_adj_\92\8cy
+(\1e*
+\92\8cy
+);
+
+284 
+\9dv6_l3_´ÙocÞ_ty³_add
+(
+u\9at8_t
+´ÙocÞ_ty³
+,
+
+285 \1e(*
+func
+è(\19
+¹e_mbuf
+ **, 
+u\9at16_t
+, 
+u\9at64_t
+,
+
+286 
+l2_phy_\9a\8brçû_t
+ *));
+
+289 
+       `\9dv6_loÿl_d\96iv\94
+(\19
+¹e_mbuf
+ **, 
+u\9at16_t
+, 
+u\9at64_t
+,
+
+290 
+l2_phy_\9a\8brçû_t
+ *);
+
+293 
+       `\9dv6_fÜw¬d_d\96iv\94
+(\19
+¹e_mbuf
+ **, 
+u\9at16_t
+, 
+u\9at64_t
+,
+
+294 
+l2_phy_\9a\8brçû_t
+ *);
+
+296 \12
+       `is_v®id_\9dv6_pkt
+(\19
+\9dv6_hdr
+ *
+pkt
+, 
+u\9at32_t
+l\9ak_Ën
+);
+
+297 
+u\9at8_t
+       `\9dv6_hash_lßd_b®ªû
+(\19
+¹e_mbuf
+ *
+mbuf
+);
+
+311 \1e
+       `»sÞve_\9dv6_l2_adj
+(
+u\9at8_t
+nh_\9d
+[
+RTE_LPM_IPV6_ADDR_SIZE
+], u\9at8_\88
+pÜtid
+,
+
+312 \19
+\91h\94_addr
+ *
+hw_addr
+);
+
+314 \1e
+       `\9dv6_\99\94©e__hash_\8f
+(\1e);
+
+       @VIL/l2l3_stack/l3fwd_main.c
+
+24 \ 2
+       ~"l3fwd_commÚ.h
+"
+
+25 \ 2
+       ~"l2_´Ùo.h
+"
+
+26 \ 2
+       ~"l3fwd_Ím4.h
+"
+
+27 \ 2
+       ~"l3fwd_Ím6.h
+"
+
+28 \ 2
+       ~"\9a\8brçû.h
+"
+
+29 \ 2
+       ~"lib_¬p.h
+"
+
+30 \ 2
+       ~"lib_icmpv6.h
+"
+
+32 \19
+rout\9ag_\9afo
+       g\9aput_¬¿y
+[] = {
+
+33 #ià
+MULTIPATH_FEAT
+
+
+34 {
+IPv4
+(30, 12, 0, 1), 24, 0, 4,
+
+35 {
+IPv4
+(192, 168, 0, 2), IPv4(1, 1, 1, 7), IPv4(120, 0, 0, 2),
+
+36 
+IPv4
+(30, 40, 50, 60)}, {1, 1, 1, 1} },
+
+38 {
+IPv4
+(40, 12, 0, 1), 24, 0, 4,
+
+39 {
+IPv4
+(192, 168, 0, 2), IPv4(1, 1, 1, 7), IPv4(120, 0, 0, 2),
+
+40 
+IPv4
+(30, 40, 50, 60)}, {1, 1, 1, 1} },
+
+42 {
+IPv4
+(50, 12, 0, 1), 24, 0, 4,
+
+43 {
+IPv4
+(192, 168, 0, 2), IPv4(1, 1, 1, 7), IPv4(120, 0, 0, 2),
+
+44 
+IPv4
+(30, 40, 50, 60)}, {1, 1, 1, 1} },
+
+46 {
+IPv4
+(60, 12, 0, 1), 24, 0, 4,
+
+47 {
+IPv4
+(192, 168, 0, 2), IPv4(1, 1, 1, 7), IPv4(120, 0, 0, 2),
+
+48 
+IPv4
+(30, 40, 50, 60)}, {1, 1, 1, 1} },
+
+50 {
+IPv4
+(100, 100, 100, 100), 24, 0, 2,
+
+51 {
+IPv4
+(120, 0, 0, 2), IPv4(120, 0, 0, 2)}, {1, 1} },
+
+53 {
+IPv4
+(200, 100, 100, 100), 24, 0, 2,
+
+54 {
+IPv4
+(80, 0, 0, 2), IPv4(80, 40, 50, 60)}, {1, 1} },
+
+56 {
+IPv4
+(30, 12, 0, 1), 24, 0, 1,
+
+57 {
+IPv4
+(192, 168, 0, 2)}, {1} },
+
+59 {
+IPv4
+(20, 12, 0, 1), 24, 0, 1,
+
+60 {
+IPv4
+(120, 0, 0, 2)}, {1} },
+
+64 \19
+\9dv6_rout\9ag_\9afo
+       g\9dv6_\9aput_¬¿y
+[] = {
+
+81 \1e
+       $l3fwd_\9a\99
+(\1e)
+
+83 
+       `´\9atf
+(" *********** L3 Initialization START ************\n");
+
+84 ià(
+       `Ím_\9a\99
+() == 0) {
+
+85 
+       `¹e_ex\99
+(
+EXIT_FAILURE
+, "L3 Initialization IPv4 Failed\n");
+
+87 ià(
+       `Ím6_\9a\99
+() == 0) {
+
+88 
+       `¹e_ex\99
+(
+EXIT_FAILURE
+, "L3 Initialization for IPV6 Failed\n");
+
+91 
+       `li¡_add_ty³
+(
+ETHER_TYPE_IPv4
+, 
+l3fwd_rx_\9dv4_·ck\91s
+);
+
+92 
+       `li¡_add_ty³
+(
+ETHER_TYPE_IPv6
+, 
+l3fwd_rx_\9dv6_·ck\91s
+);
+
+94 
+       `l3_´ÙocÞ_ty³_add
+(
+IPPROTO_ICMP
+, 
+\9d_loÿl_·ck\91s_´oûss
+);
+
+95 
+       `l3_´ÙocÞ_ty³_add
+(
+IPPROTO_TCP
+, 
+\9d_fÜw¬d_d\96iv\94
+);
+
+96 
+       `l3_´ÙocÞ_ty³_add
+(
+IPPROTO_UDP
+, 
+\9d_fÜw¬d_d\96iv\94
+);
+
+98 
+       `\9dv6_l3_´ÙocÞ_ty³_add
+(
+IPPROTO_ICMPV6
+, 
+\9dv6_loÿl_d\96iv\94
+);
+
+99 
+       `\9dv6_l3_´ÙocÞ_ty³_add
+(
+IPPROTO_TCP
+, 
+\9dv6_fÜw¬d_d\96iv\94
+);
+
+100 
+       `\9dv6_l3_´ÙocÞ_ty³_add
+(
+IPPROTO_UDP
+, 
+\9dv6_fÜw¬d_d\96iv\94
+);
+
+102 
+       }
+}
+
+104 \1e
+       $pÝuÏ\8b_Ím_rou\8bs
+(\1e)
+
+106 
+       `pÝuÏ\8b_Ím4_\8fbË_rou\8bs
+();
+
+108 
+       }
+}
+
+110 \1e
+       $pÝuÏ\8b_Ím4_\8fbË_rou\8bs
+(\1e)
+
+112 
+u\9at8_t
+i
+;
+
+113 
\9atf
+
+
+115 \ f
+i
+ = 0; i < 
+MAX_ROUTES
+; i++) {
+
+116 ià(
+       `Ím4_\8fbË_rou\8b_add
+(&
+\9aput_¬¿y
+[
+i
+])) {
+
+118 
+       `´\9atf
+("TÙ®\84ou\8b Added# %d\n", 
+i
+ + 1);
+
+120 
+       `¹e_ex\99
+(
+EXIT_FAILURE
+,
+
+122 
+i
+);
+
+125 
\9atf
+
+
+127 
+       }
+}
+
+129 \1e
+       $pÝuÏ\8b_Ím6_\8fbË_rou\8bs
+(\1e)
+
+131 
+u\9at8_t
+i
+;
+
+132 
\9atf
+
+
+134 \ f
+i
+ = 0; i < 2; i++) {
+
+135 ià(
+       `Ím6_\8fbË_rou\8b_add
+(&
+\9dv6_\9aput_¬¿y
+[
+i
+])) {
+
+137 
+       `´\9atf
+("Added\84ou\8b # %d\n", 
+i
+);
+
+139 
+       `¹e_ex\99
+(
+EXIT_FAILURE
+,
+
+141 
+i
+);
+
+144 
+       `´\9atf
+(" *********** L3 IPV6 Route Initialization END ************\n");
+
+145 
+       }
+}
+
+       @VIL/l2l3_stack/lib_arp.c
+
+17 \ 2
+       ~<exec\9afo.h
+>
+
+18 \ 2
+       ~<¡dio.h
+>
+
+19 \ 2
+       ~<¡dlib.h
+>
+
+20 \ 2
+       ~<¡d\9at.h
+>
+
+21 \ 2
+       ~<¡r\9ag.h
+>
+
+22 \ 2
+       ~<uni¡d.h
+>
+
+23 \ 2
+       ~<¹e_commÚ.h
+>
+
+24 \ 2
+       ~<¹e_m®loc.h
+>
+
+25 \ 2
+       ~<¹e_\9d.h
+>
+
+26 \ 2
+       ~<¹e_by\8bÜd\94.h
+>
+
+27 \ 2
+       ~<¹e_log.h
+>
+
+28 \ 2
+       ~<¹e_\8fbË_Ím.h
+>
+
+29 \ 2
+       ~<¹e_\8fbË_hash.h
+>
+
+30 \ 2
+       ~<¹e_p\9d\96\9ae.h
+>
+
+31 \ 2
+       ~<¹e_¬p.h
+>
+
+32 \ 2
+       ~<¹e_icmp.h
+>
+
+33 \ 2
+       ~<¹e_hash.h
+>
+
+34 \ 2
+       ~<¹e_jhash.h
+>
+
+35 \ 2
+       ~<¹e_cyþes.h
+>
+
+36 \ 2
+       ~<¹e_tim\94.h
+>
+
+37 \ 2
+       ~"\9a\8brçû.h
+"
+
+38 \ 2
+       ~"l2_´Ùo.h
+"
+
+39 \ 2
+       ~"lib_¬p.h
+"
+
+40 \ 2
+       ~"l3fwd_Ím4.h
+"
+
+41 \ 2
+       ~"vnf_commÚ.h
+"
+
+43 #ià(
+RTE_BYTE_ORDER
+ =ð
+RTE_LITTLE_ENDIAN
+)
+
+44 \ 1
+       #CHECK_ENDIAN_16
+(
+x
+       `¹e_be_to_ýu_16
+(x)
+
+       )
+
+45 \ 1
+       #CHECK_ENDIAN_32
+(
+x
+       `¹e_be_to_ýu_32
+(x)
+
+       )
+
+47 \ 1
+       #CHECK_ENDIAN_16
+(
+x
+è(x)
+
+       )
+
+48 \ 1
+       #CHECK_ENDIAN_32
+(
+x
+è(x)
+
+       )
+
+51 \ 1
+       #NB_ARPICMP_MBUF
+ 64
+
+       )
+
+52 \ 1
+       #NB_NDICMP_MBUF
+ 64
+
+       )
+
+53 \ 1
+       #IP_VERSION_4
+ 0x40
+
+       )
+
+54 \ 1
+       #IP_HDRLEN
+ 0x05
+
+       )
+
+55 \ 1
+       #IP_VHL_DEF
+ (
+IP_VERSION_4
+ | 
+IP_HDRLEN
+)
+
+       )
+
+57 \ 1
+       #is_muÉiÿ¡_\9dv4_addr
+(
+\9dv4_addr
+) \
+
+58 (((
+       `¹e_be_to_ýu_32
+((
+\9dv4_addr
+)è>> 24è& 0x000000FFè=ð0xE0)
+
+       )
+
+60 \r
+u\9at8_t
+´v_\9a_pÜt_a
+[
+PIPELINE_MAX_PORT_IN
+];
+
+61 \r
+u\9at32_t
+tim\94_lcÜe
+;
+
+62 
+u\9at32_t
+       g¬p_timeout
+ = 
+ARP_TIMER_EXPIRY
+;
+
+65 \ 1
+       #INADDRSZ
+ 4
+
+       )
+
+66 \ 1
+       #IN6ADDRSZ
+ 16
+
+       )
+
+67 \18\12
+my_\9a\91_±Ú_\9dv6
+(\12
+af
+, cڡ \ 5*
+¤c
+, \1e*
+d¡
+);
+
+68 \18\12
+\9a\91_±Ú_\9dv6
+(cڡ \ 5*
+¤c
+, \1d\ 5*
+d¡
+);
+
+69 \18\12
+\9a\91_±Ú_\9dv4
+(cڡ \ 5*
+¤c
+, \1d\ 5*
+d¡
+);
+
+70 \r\1e
+cÚv\94t_´efixËn_to_Ãtmask_\9dv6
+(
+u\9at32_t
+d\95th
+,
+
+71 
+u\9at8_t
+Ãtmask_\9dv6
+[]);
+
+73 
+u\9at8_t
+       gvnf_commÚ_¬p_lib_\9a\99
+;
+
+74 
+u\9at8_t
+       gvnf_commÚ_nd_lib_\9a\99
+;
+
+75 
+u\9at8_t
+       glßdb_p\9d\96\9ae_couÁ
+;
+
+77 
+u\9at32_t
+       gARPICMP_DEBUG
+;
+
+78 
+u\9at32_t
+       gNDIPV6_DEBUG
+;
+
+80 
+u\9at32_t
+       g¬p_rou\8b_tbl_\9adex
+;
+
+81 
+u\9at32_t
+       gnd_rou\8b_tbl_\9adex
+;
+
+82 
+u\9at32_t
+       gl\9ak_hw_addr_¬¿y_idx
+;
+
+84 
+u\9at32_t
+       glib_¬p_g\91_mac_»q
+;
+
+85 
+u\9at32_t
+       glib_¬p_nh_found
+;
+
+86 
+u\9at32_t
+       glib_¬p_no_nh_found
+;
+
+87 
+u\9at32_t
+       glib_¬p_¬p_\92\8cy_found
+;
+
+88 
+u\9at32_t
+       glib_¬p_no_¬p_\92\8cy_found
+;
+
+89 
+u\9at32_t
+       glib_¬p_pÝuÏ\8b_ÿÎed
+;
+
+90 
+u\9at32_t
+       glib_¬p_d\96\91e_ÿÎed
+;
+
+91 
+u\9at32_t
+       glib_¬p_du¶iÿ\8b_found
+;
+
+93 
+u\9at32_t
+       glib_nd_g\91_mac_»q
+;
+
+94 
+u\9at32_t
+       glib_nd_nh_found
+;
+
+95 
+u\9at32_t
+       glib_nd_no_nh_found
+;
+
+96 
+u\9at32_t
+       glib_nd_nd_\92\8cy_found
+;
+
+97 
+u\9at32_t
+       glib_nd_no_¬p_\92\8cy_found
+;
+
+98 
+u\9at32_t
+       glib_nd_pÝuÏ\8b_ÿÎed
+;
+
+99 
+u\9at32_t
+       glib_nd_d\96\91e_ÿÎed
+;
+
+100 
+u\9at32_t
+       glib_nd_du¶iÿ\8b_found
+;
+
+101 \19
+¹e_mempoÞ
+ *
+       glib_¬p_pktmbuf_tx_poÞ
+;
+
+102 \19
+¹e_mempoÞ
+ *
+       glib_nd_pktmbuf_tx_poÞ
+;
+
+104 \19
+¹e_mbuf
+ *
+       glib_¬p_pkt
+;
+
+105 \19
+¹e_mbuf
+ *
+       glib_nd_pkt
+;
+
+107 
+u\9at8_t
+       gdeçuÉ_\91h\94_addr
+[6] = { 0, 0, 0, 0, 1, 1 };
+
+108 
+u\9at8_t
+       gdeçuÉ_\9d
+[4] = { 0, 0, 1, 1 };
+
+110 \18\19
+¹e_hash_·¿m\91\94s
+       g¬p_hash_·¿ms
+ = {
+
+111 .
+Çme
+ = "ARP",
+
+112 .
+       g\92\8c\9bs
+ = 64,
+
+113 .
+       g»£rved
+ = 0,
+
+114 .
+       gkey_Ën
+ = \17(\19
+¬p_key_\9dv4
+),
+
+115 .
+       ghash_func
+ = 
+¹e_jhash
+,
+
+116 .
+       ghash_func_\9a\99_v®
+ = 0,
+
+119 \18\19
+¹e_hash_·¿m\91\94s
+       gnd_hash_·¿ms
+ = {
+
+120 .
+Çme
+ = "ND",
+
+121 .
+       g\92\8c\9bs
+ = 64,
+
+122 .
+       g»£rved
+ = 0,
+
+123 .
+       gkey_Ën
+ = \17(\19
+nd_key_\9dv6
+),
+
+124 .
+       ghash_func
+ = 
+¹e_jhash
+,
+
+125 .
+       ghash_func_\9a\99_v®
+ = 0,
+
+128 \19
+¹e_hash
+ *
+       g¬p_hash_hªdË
+;
+
+129 \19
+¹e_hash
+ *
+       gnd_hash_hªdË
+;
+
+131 \1e
\9at_pkt1
+(\19
+¹e_mbuf
+ *
+pkt
+);
+
+133 \19
+­p_·¿ms
+ *
+       gmyAµ
+;
+
+134 \19
+¹e_p\9d\96\9ae
+ *
+       gmyP
+;
+
+135 
+u\9at8_t
+       gnum_vnf_th»ads
+;
+
+140 \19
+       s¬p_pÜt_add»ss
+ {
+
+141 
+u\9at32_t
+       m\9d
+;
+
+142 
+u\9at8_t
+       mmac_addr
+[6];
+
+145 \19
+¬p_pÜt_add»ss
+       g¬p_pÜt_add»s£s
+[
+RTE_MAX_ETHPORTS
+];
+
+146 \19
+¹e_mempoÞ
+ *
+       gtim\94_mempoÞ_¬p
+;
+
+148 \12
+       gtim\94_objs_mempoÞ_couÁ
+ = 70000;
+
+150 \ 1
+       #MAX_NUM_ARP_ENTRIES
+ 64
+
+       )
+
+151 \ 1
+       #MAX_NUM_ND_ENTRIES
+ 64
+
+       )
+
+153 
+u\9at32_t
+g\91_nh
+(uint32_t, uint32_t *);
+
+154 \1e
+g\91_nh_\9dv6
+(
+u\9at8_t
+\9dv6
+[], 
+u\9at32_t
+ *
+pÜt
+, u\9at8_\88
+nh\9dv6
+[]);
+
+156 \ 1
+       #MAX_ARP_DATA_ENTRY_TABLE
+ 7
+
+       )
+
+158 \19
+\8fbË_¬p_\92\8cy_d©a
+       g¬p_\92\8cy_d©a_\8f
+[
+MAX_ARP_DATA_ENTRY_TABLE
+] = {
+
+159 {{0, 0, 0, 0, 0, 1}, 1, 
+INCOMPLETE
+, 
+IPv4
+(192, 168, 0, 2)},
+
+160 {{0, 0, 0, 0, 0, 2}, 0, 
+INCOMPLETE
+, 
+IPv4
+(192, 168, 0, 3)},
+
+161 {{0, 0, 0, 0, 0, 1}, 1, 
+INCOMPLETE
+, 
+IPv4
+(30, 40, 50, 60)},
+
+162 {{0, 0, 0, 0, 0, 1}, 1, 
+INCOMPLETE
+, 
+IPv4
+(120, 0, 0, 2)},
+
+163 {{0, 0, 0, 0, 0, 4}, 3, 
+INCOMPLETE
+, 
+IPv4
+(1, 1, 1, 4)},
+
+164 {{0, 0, 0, 0, 0, 5}, 4, 
+INCOMPLETE
+, 
+IPv4
+(1, 1, 1, 5)},
+
+165 {{0, 0, 0, 0, 0, 6}, 1, 
+INCOMPLETE
+, 
+IPv4
+(1, 1, 1, 7)},
+
+168 \ 1
+       #MAX_ND_DATA_ENTRY_TABLE
+ 7
+
+       )
+
+169 \19
+\8fbË_nd_\92\8cy_d©a
+       gnd_\92\8cy_d©a_\8f
+[
+MAX_ND_DATA_ENTRY_TABLE
+] = {
+
+170 {{0, 0, 0, 0, 0, 8}, 1, 
+INCOMPLETE
+,
+
+173 {{0, 0, 0, 0, 0, 9}, 1, 
+INCOMPLETE
+,
+
+175 {{0, 0, 0, 0, 0, 10}, 2, 
+INCOMPLETE
+,
+
+177 {{0, 0, 0, 0, 0, 11}, 3, 
+INCOMPLETE
+,
+
+179 {{0, 0, 0, 0, 0, 12}, 4, 
+INCOMPLETE
+,
+
+181 {{0, 0, 0, 0, 0, 13}, 5, 
+INCOMPLETE
+,
+
+183 {{0, 0, 0, 0, 0, 14}, 6, 
+INCOMPLETE
+,
+
+187 \19
+lib_nd_rou\8b_\8fbË_\92\8cy
+       glib_nd_rou\8b_\8f
+[
+MAX_ND_RT_ENTRY
+] = {
+
+222 \19
+lib_¬p_rou\8b_\8fbË_\92\8cy
+       glib_¬p_rou\8b_\8f
+[
+MAX_ARP_RT_ENTRY
+] = {
+
+241 \1e
\9at_\8c
+(\1e);
+
+244 \1e
+       $´\9at_\8c
+(\1e)
+
+246 \1e*
+¬¿y
+[10];
+
+247 
+size_t
+size
+;
+
+248 \ 5**
+¡r\9ags
+;
+
+249 
+size_t
+i
+;
+
+251 
+size
+ = 
+       `back\8c
+(
+¬¿y
+, 10);
+
+252 
+¡r\9ags
+ = 
+       `back\8caû_symbÞs
+(
+¬¿y
+, 
+size
+);
+
+254 
+       `RTE_LOG
+(
+INFO
+, 
+LIBARP
+, "Ob\8f\9aed %zd s\8fck f¿mes.\n", 
+size
+);
+
+256 \ f
+i
+ = 0; i < 
+size
+; i++)
+
+257 
+       `RTE_LOG
+(
+INFO
+, 
+LIBARP
+, "%s\n", 
+¡r\9ags
+[
+i
+]);
+
+259 
+       `ä\93
+(
+¡r\9ags
+);
+
+260 
+       }
+}
+
+262 
+u\9at32_t
+       $g\91_nh
+(
+u\9at32_t
+\9d
+, u\9at32_\88*
+pÜt
+)
+
+264 \12
+i
+ = 0;
+
+265 \ f
+i
+ = 0; i < 
+MAX_ARP_RT_ENTRY
+; i++) {
+
+266 ià(((
+lib_¬p_rou\8b_\8f
+[
+i
+].
+
+267 
+\9d
+ & 
+lib_¬p_rou\8b_\8f
+[
+i
+].
+mask
+) ==
+
+268 (
+\9d
+ & 
+lib_¬p_rou\8b_\8f
+[
+i
+].
+mask
+))) {
+
+270 *
+pÜt
+ = 
+lib_¬p_rou\8b_\8f
+[
+i
+].port;
+
+271 
+lib_¬p_nh_found
+++;
+
+272 \15 
+lib_¬p_rou\8b_\8f
+[
+i
+].
+nh
+;
+
+274 ià(
+ARPICMP_DEBUG
+)
+
+275 
+       `´\9atf
+("No\82h match ip 0x%x,\85ort %u,\81_ip "
+
+277 
+\9d
+, *
+pÜt
+, 
+lib_¬p_rou\8b_\8f
+[
+i
+].ip,
+
+278 
+lib_¬p_rou\8b_\8f
+[
+i
+].
+pÜt
+,
+
+279 
+lib_¬p_rou\8b_\8f
+[
+i
+].
+mask
+,
+
+280 (
+lib_¬p_rou\8b_\8f
+[
+i
+].
+\9d
+ &
+
+281 
+lib_¬p_rou\8b_\8f
+[
+i
+].
+mask
+),
+
+282 (
+\9d
+ & 
+lib_¬p_rou\8b_\8f
+[
+i
+].
+mask
+));
+
+284 ià(
+ARPICMP_DEBUG
+)
+
+285 
+       `´\9atf
+("NØNH - i°0x%x,\85Ü\88%u\n", 
+\9d
+, *
+pÜt
+);
+
+286 
+lib_¬p_no_nh_found
+++;
+
+288 
+       }
+}
+
+291 \1e
+       $g\91_nh_\9dv6
+(
+u\9at8_t
+\9dv6
+[], 
+u\9at32_t
+ *
+pÜt
+, u\9at8_\88
+nh\9dv6
+[])
+
+293 \12
+i
+ = 0;
+
+294 
+u\9at8_t
+Ãtmask_\9dv6
+[16], 
+Ãt\9d_nd
+[16], 
+Ãt\9d_\9a
+[16];
+
+295 
+u\9at8_t
+k
+ = 0, 
+l
+ = 0, 
+d\95thæags
+ = 0, 
+d\95thæags1
+ = 0;
+
+296 
+       `mem£t
+(
+Ãtmask_\9dv6
+, 0, \17(netmask_ipv6));
+
+297 
+       `mem£t
+(
+Ãt\9d_nd
+, 0, \17(netip_nd));
+
+298 
+       `mem£t
+(
+Ãt\9d_\9a
+, 0, \17(netip_in));
+
+299 ià(!
+\9dv6
+)
+
+301 \ f
+i
+ = 0; i < 
+MAX_ARP_RT_ENTRY
+; i++) {
+
+303 
+       `cÚv\94t_´efixËn_to_Ãtmask_\9dv6
+(
+lib_nd_rou\8b_\8f
+[
+i
+].
+d\95th
+,
+
+304 
+Ãtmask_\9dv6
+);
+
+306 \ f
+k
+ = 0; k < 16; k++) {
+
+307 ià(
+lib_nd_rou\8b_\8f
+[
+i
+].
+\9dv6
+[
+k
+] & 
+Ãtmask_\9dv6
+[k]) {
+
+308 
+d\95thæags
+++;
+
+309 
+Ãt\9d_nd
+[
+k
+] = 
+lib_nd_rou\8b_\8f
+[
+i
+].
+\9dv6
+[k];
+
+313 \ f
+l
+ = 0;\86 < 16;\86++) {
+
+314 ià(
+\9dv6
+[
+l
+] & 
+Ãtmask_\9dv6
+[l]) {
+
+315 
+d\95thæags1
+++;
+
+316 
+Ãt\9d_\9a
+[
+l
+] = 
+\9dv6
+[l];
+
+319 \12
+j
+ = 0;
+
+320 ià((
+d\95thæags
+ =ð
+d\95thæags1
+)
+
+321 && (
+       `memcmp
+(
+Ãt\9d_nd
+, 
+Ãt\9d_\9a
+, \17(netip_nd)) == 0)) {
+
+323 *
+pÜt
+ = 
+lib_nd_rou\8b_\8f
+[
+i
+].port;
+
+324 
+lib_nd_nh_found
+++;
+
+326 \ f
+j
+ = 0; j < 16; j++)
+
+327 
+nh\9dv6
+[
+j
+] = 
+lib_nd_rou\8b_\8f
+[
+i
+].nhipv6[j];
+
+332 ià(
+NDIPV6_DEBUG
+)
+
+333 
+       `´\9atf
+("No\82h match\n");
+
+334 
+d\95thæags
+ = 0;
+
+335 
+d\95thæags1
+ = 0;
+
+337 ià(
+NDIPV6_DEBUG
+)
+
+338 
+       `´\9atf
+("NØNH - i°0x%x,\85Ü\88%u\n", 
+\9dv6
+[0], *
+pÜt
+);
+
+339 
+lib_nd_no_nh_found
+++;
+
+340 
+       }
+}
+
+343 \12
+       $g\91_de¡_mac_addr_pÜt
+(cڡ 
+u\9at32_t
+\9daddr
+,
+
+344 
+u\9at32_t
+ *
+phy_pÜt
+, \19
+\91h\94_addr
+ *
+hw_addr
+)
+
+346 
+lib_¬p_g\91_mac_»q
+++;
+
+347 
+u\9at32_t
+nh\9d
+ = 0;
+
+349 
+nh\9d
+ = 
+       `g\91_nh
+(
+\9daddr
+, 
+phy_pÜt
+);
+
+350 ià(
+nh\9d
+ == 0) {
+
+351 ià(
+ARPICMP_DEBUG
+)
+
+352 
+       `´\9atf
+("ARPICMP\82o\82h found for ip %x,\85ort %d\n",
+
+353 
+\9daddr
+, *
+phy_pÜt
+);
+
+355 \15 
+NH_NOT_FOUND
+;
+
+358 \19
+¬p_\92\8cy_d©a
+ *
+»t_¬p_d©a
+ = 
+NULL
+;
+
+359 \19
+¬p_key_\9dv4
+tmp_¬p_key
+;
+
+360 
+tmp_¬p_key
+.
+pÜt_id
+ = *
+phy_pÜt
+;
+
+361 
+tmp_¬p_key
+.
+\9d
+ = 
+nh\9d
+;
+
+363 ià(
+ARPICMP_DEBUG
+)
+
+364 
+       `´\9atf
+("%s:\82h\9d: %x,\85hypÜt: %d\n", 
+__FUNCTION__
+, 
+nh\9d
+,
+
+365 *
+phy_pÜt
+);
+
+367 
+»t_¬p_d©a
+ = 
+       `»\8c\9bve_¬p_\92\8cy
+(
+tmp_¬p_key
+);
+
+368 ià(
+»t_¬p_d©a
+ =ð
+NULL
+) {
+
+369 ià(
+ARPICMP_DEBUG
+) {
+
+370 
\9atf
+
+
+372 
+\9daddr
+, *
+phy_pÜt
+);
+
+373 
+       `´\9at_¬p_\8f
+();
+
+375 ià(
+nh\9d
+ != 0) {
+
+376 ià(
+ARPICMP_DEBUG
+)
+
+377 
+       `´\9atf
+("CG-NAPT\84equesting ARP for ip %x, "
+
+378 "p܈%d\n", 
+nh\9d
+, *
+phy_pÜt
+);
+
+379 
+       `»que¡_¬p
+(*
+phy_pÜt
+, 
+nh\9d
+);
+
+382 
+lib_¬p_no_¬p_\92\8cy_found
+++;
+
+383 \15 
+ARP_NOT_FOUND
+;
+
+385 
+       `\91h\94_addr_cÝy
+(&
+»t_¬p_d©a
+->
+\91h_addr
+, 
+hw_addr
+);
+
+386 
+lib_¬p_¬p_\92\8cy_found
+++;
+
+387 ià(
+ARPICMP_DEBUG
+)
+
+388 
+       `´\9atf
+("%s: ARPICMP hwadd¸found\n", 
+__FUNCTION__
+);
+
+389 \15 
+ARP_FOUND
+;
+
+390 
+       }
+}
+
+392 \12
+       $g\91_de¡_mac_add»ss
+(cڡ 
+u\9at32_t
+\9daddr
+, u\9at32_\88*
+phy_pÜt
+,
+
+393 \19
+\91h\94_addr
+ *
+hw_addr
+, 
+u\9at32_t
+ *
+nh\9d
+)
+
+395 
+lib_¬p_g\91_mac_»q
+++;
+
+397 *
+nh\9d
+ = 
+       `g\91_nh
+(
+\9daddr
+, 
+phy_pÜt
+);
+
+398 ià(*
+nh\9d
+ == 0) {
+
+399 ià(
+ARPICMP_DEBUG
+ && 
+\9daddr
+)
+
+400 
+       `RTE_LOG
+(
+INFO
+, 
+LIBARP
+,
+
+402 
+\9daddr
+, *
+phy_pÜt
+);
+
+406 \19
+¬p_\92\8cy_d©a
+ *
+»t_¬p_d©a
+ = 
+NULL
+;
+
+407 \19
+¬p_key_\9dv4
+tmp_¬p_key
+;
+
+408 
+tmp_¬p_key
+.
+pÜt_id
+ = *
+phy_pÜt
+;
+
+409 
+tmp_¬p_key
+.
+\9d
+ = *
+nh\9d
+;
+
+411 
+»t_¬p_d©a
+ = 
+       `»\8c\9bve_¬p_\92\8cy
+(
+tmp_¬p_key
+);
+
+412 ià(
+»t_¬p_d©a
+ =ð
+NULL
+) {
+
+413 ià(
+ARPICMP_DEBUG
+ && 
+\9daddr
+) {
+
+414 
+       `RTE_LOG
+(
+INFO
+, 
+LIBARP
+,
+
+416 
+\9daddr
+, *
+phy_pÜt
+);
+
+417 
+       `´\9at_¬p_\8f
+();
+
+419 
+lib_¬p_no_¬p_\92\8cy_found
+++;
+
+422 
+       `\91h\94_addr_cÝy
+(&
+»t_¬p_d©a
+->
+\91h_addr
+, 
+hw_addr
+);
+
+423 
+lib_¬p_¬p_\92\8cy_found
+++;
+
+426 
+       }
+}
+
+428 \12
+       $g\91_de¡_mac_addr
+(cڡ 
+u\9at32_t
+\9daddr
+,
+
+429 
+u\9at32_t
+ *
+phy_pÜt
+, \19
+\91h\94_addr
+ *
+hw_addr
+)
+
+431 
+lib_¬p_g\91_mac_»q
+++;
+
+432 
+u\9at32_t
+nh\9d
+ = 0;
+
+434 
+nh\9d
+ = 
+       `g\91_nh
+(
+\9daddr
+, 
+phy_pÜt
+);
+
+435 ià(
+nh\9d
+ == 0) {
+
+436 ià(
+ARPICMP_DEBUG
+ && 
+\9daddr
+)
+
+437 
+       `RTE_LOG
+(
+INFO
+, 
+LIBARP
+,
+
+439 
+\9daddr
+, *
+phy_pÜt
+);
+
+443 \19
+¬p_\92\8cy_d©a
+ *
+»t_¬p_d©a
+ = 
+NULL
+;
+
+444 \19
+¬p_key_\9dv4
+tmp_¬p_key
+;
+
+445 
+tmp_¬p_key
+.
+pÜt_id
+ = *
+phy_pÜt
+;
+
+446 
+tmp_¬p_key
+.
+\9d
+ = 
+nh\9d
+;
+
+448 
+»t_¬p_d©a
+ = 
+       `»\8c\9bve_¬p_\92\8cy
+(
+tmp_¬p_key
+);
+
+449 ià(
+»t_¬p_d©a
+ =ð
+NULL
+) {
+
+450 ià(
+ARPICMP_DEBUG
+ && 
+\9daddr
+) {
+
+451 
\9atf
+
+
+453 
+\9daddr
+, *
+phy_pÜt
+);
+
+454 
+       `´\9at_¬p_\8f
+();
+
+457 ià(
+nh\9d
+ != 0) {
+
+458 ià(
+ARPICMP_DEBUG
+ > 4)
+
+459 
\9atf
+
+
+461 
+nh\9d
+, *
+phy_pÜt
+);
+
+462 ià(
+       `ifm_chk_pÜt_\9dv4_\92abËd
+(*
+phy_pÜt
+)) {
+
+463 
+       `»que¡_¬p
+(*
+phy_pÜt
+, 
+nh\9d
+);
+
+465 ià(
+ARPICMP_DEBUG
+)
+
+466 
+       `RTE_LOG
+(
+INFO
+, 
+LIBARP
+,
+
+468 
+__FUNCTION__
+, *
+phy_pÜt
+);
+
+472 
+lib_¬p_no_¬p_\92\8cy_found
+++;
+
+475 
+       `\91h\94_addr_cÝy
+(&
+»t_¬p_d©a
+->
+\91h_addr
+, 
+hw_addr
+);
+
+476 
+lib_¬p_¬p_\92\8cy_found
+++;
+
+478 
+       }
+}
+
+480 \12
+       $g\91_de¡_mac_add»ss_\9dv6_pÜt
+(
+u\9at8_t
+\9dv6addr
+[], 
+u\9at32_t
+ *
+phy_pÜt
+,
+
+481 \19
+\91h\94_addr
+ *
+hw_addr
+, 
+u\9at8_t
+nh\9dv6
+[])
+
+483 \12
+i
+ = 0, 
+j
+ = 0, 
+æag
+ = 0;
+
+484 
+lib_nd_g\91_mac_»q
+++;
+
+486 
+       `g\91_nh_\9dv6
+(
+\9dv6addr
+, 
+phy_pÜt
+, 
+nh\9dv6
+);
+
+487 \ f
+j
+ = 0; j < 16; j++) {
+
+488 ià(
+nh\9dv6
+[
+j
+])
+
+489 
+æag
+++;
+
+491 ià(
+æag
+ == 0) {
+
+492 ià(
+NDIPV6_DEBUG
+)
+
+493 
+       `´\9atf
+("NDIPV6\82o\82h found for ipv6 "
+
+496 
+\9dv6addr
+[0], ipv6addr[1], ipv6addr[2],
+
+497 
+\9dv6addr
+[3], ipv6addr[4], ipv6addr[5],
+
+498 
+\9dv6addr
+[6], ipv6addr[7], ipv6addr[8],
+
+499 
+\9dv6addr
+[9], ipv6addr[10], ipv6addr[11],
+
+500 
+\9dv6addr
+[12], ipv6addr[13], ipv6addr[14],
+
+501 
+\9dv6addr
+[15], *
+phy_pÜt
+);
+
+505 \19
+nd_\92\8cy_d©a
+ *
+»t_nd_d©a
+ = 
+NULL
+;
+
+506 \19
+nd_key_\9dv6
+tmp_nd_key
+;
+
+507 
+tmp_nd_key
+.
+pÜt_id
+ = *
+phy_pÜt
+;
+
+509 \ f
+i
+ = 0; i < 16; i++)
+
+510 
+tmp_nd_key
+.
+\9dv6
+[
+i
+] = 
+nh\9dv6
+[i];
+
+512 
+»t_nd_d©a
+ = 
+       `»\8c\9bve_nd_\92\8cy
+(
+tmp_nd_key
+);
+
+513 ià(
+»t_nd_d©a
+ =ð
+NULL
+) {
+
+514 ià(
+NDIPV6_DEBUG
+) {
+
+515 
+       `´\9atf
+("NDIPV6\82o\82d\83ntry found for ip %x,\85ort %d\n",
+
+516 
+\9dv6addr
+[0], *
+phy_pÜt
+);
+
+518 
+lib_nd_no_¬p_\92\8cy_found
+++;
+
+521 
+       `\91h\94_addr_cÝy
+(&
+»t_nd_d©a
+->
+\91h_addr
+, 
+hw_addr
+);
+
+522 
+lib_nd_nd_\92\8cy_found
+++;
+
+524 
+       }
+}
+
+526 \12
+       $g\91_de¡_mac_add»ss_\9dv6
+(
+u\9at8_t
+\9dv6addr
+[], 
+u\9at32_t
+ *
+phy_pÜt
+,
+
+527 \19
+\91h\94_addr
+ *
+hw_addr
+, 
+u\9at8_t
+nh\9dv6
+[])
+
+529 \12
+i
+ = 0, 
+j
+ = 0, 
+æag
+ = 0;
+
+530 
+lib_nd_g\91_mac_»q
+++;
+
+532 
+       `g\91_nh_\9dv6
+(
+\9dv6addr
+, 
+phy_pÜt
+, 
+nh\9dv6
+);
+
+533 \ f
+j
+ = 0; j < 16; j++) {
+
+534 ià(
+nh\9dv6
+[
+j
+]) {
+
+535 
+æag
+++;
+
+538 ià(
+æag
+ == 0) {
+
+539 ià(
+NDIPV6_DEBUG
+ && 
+\9dv6addr
+)
+
+540 
+       `RTE_LOG
+(
+INFO
+, 
+LIBARP
+,
+
+542 
+\9dv6addr
+[0], *
+phy_pÜt
+);
+
+546 \19
+nd_\92\8cy_d©a
+ *
+»t_nd_d©a
+ = 
+NULL
+;
+
+547 \19
+nd_key_\9dv6
+tmp_nd_key
+;
+
+548 
+tmp_nd_key
+.
+pÜt_id
+ = *
+phy_pÜt
+;
+
+550 \ f
+i
+ = 0; i < 16; i++) {
+
+551 
+tmp_nd_key
+.
+\9dv6
+[
+i
+] = 
+nh\9dv6
+[i];
+
+554 
+»t_nd_d©a
+ = 
+       `»\8c\9bve_nd_\92\8cy
+(
+tmp_nd_key
+);
+
+555 ià(
+»t_nd_d©a
+ =ð
+NULL
+) {
+
+556 ià(
+NDIPV6_DEBUG
+ && 
+\9dv6addr
+) {
+
+557 
+       `RTE_LOG
+(
+INFO
+, 
+LIBARP
+,
+
+559 
+\9dv6addr
+[0], *
+phy_pÜt
+);
+
+561 ià(
+æag
+ != 0) {
+
+562 ià(
+ARPICMP_DEBUG
+ > 4)
+
+563 
\9atf
+
+
+565 *
+phy_pÜt
+);
+
+566 
+       `»que¡_nd
+(&
+nh\9dv6
+[0], 
+       `ifm_g\91_pÜt
+(*
+phy_pÜt
+));
+
+570 
+lib_nd_no_¬p_\92\8cy_found
+++;
+
+573 
+       `\91h\94_addr_cÝy
+(&
+»t_nd_d©a
+->
+\91h_addr
+, 
+hw_addr
+);
+
+574 
+lib_nd_nd_\92\8cy_found
+++;
+
+576 
+       }
+}
+
+582 \19
+       slib_¬p_¬p_\8fbË_\92\8cy
+ {
+
+583 \19
+¹e_p\9d\96\9ae_\8fbË_\92\8cy
+       mh\97d
+;
+
+584 
+u\9at64_t
+       mmaÿddr
+;
+
+587 \18cڡ \ 5*
+       $¬p_Ý_Çme
+(
+u\9at16_t
+¬p_Ý
+)
+
+589 \1a
+       `CHECK_ENDIAN_16
+(
+¬p_Ý
+)) {
+
+590 \ 4(
+ARP_OP_REQUEST
+):
+
+592 \ 4(
+ARP_OP_REPLY
+):
+
+594 \ 4(
+ARP_OP_REVREQUEST
+):
+
+596 \ 4(
+ARP_OP_REVREPLY
+):
+
+598 \ 4(
+ARP_OP_INVREQUEST
+):
+
+600 \ 4(
+ARP_OP_INVREPLY
+):
+
+606 
+       }
+}
+
+608 \18\1e
+       $´\9at_icmp_·ck\91
+(\19
+icmp_hdr
+ *
+icmp_h
+)
+
+610 
+       `RTE_LOG
+(
+INFO
+, 
+LIBARP
+, " ICMP:\81ype=%d (%s) code=%d id=%d seqnum=%d\n",
+
+611 
+icmp_h
+->
+icmp_ty³
+,
+
+612 (
+icmp_h
+->
+icmp_ty³
+ =ð
+IP_ICMP_ECHO_REPLY
+ ? "Reply" :
+
+613 (
+icmp_h
+->
+icmp_ty³
+ ==
+
+614 
+IP_ICMP_ECHO_REQUEST
+ ? "Reqest" : "Undef")),
+
+615 
+icmp_h
+->
+icmp_code
+, 
+       `CHECK_ENDIAN_16
+(icmp_h->
+icmp_id\92t
+),
+
+616 
+       `CHECK_ENDIAN_16
+(
+icmp_h
+->
+icmp_£q_nb
+));
+
+617 
+       }
+}
+
+619 \18\1e
+       $´\9at_\9dv4_h
+(\19
+\9dv4_hdr
+ *
+\9d_h
+)
+
+621 \19
+icmp_hdr
+ *
+icmp_h
+ =
+
+622 (\19
+icmp_hdr
+ *)((\ 5*)
+\9d_h
+ + \17(\19
+\9dv4_hdr
+));
+
+623 
+       `RTE_LOG
+(
+INFO
+, 
+LIBARP
+, " IPv4: Version=%d HLEN=%d Type=%d Length=%d\n",
+
+624 (
+\9d_h
+->
+v\94siÚ_ihl
+ & 0xf0) >> 4, (ip_h->version_ihl & 0x0f),
+
+625 
+\9d_h
+->
+ty³_of_£rviû
+, 
+       `¹e_ýu_to_be_16
+(\9d_h->
+tÙ®_Ëngth
+));
+
+626 ià(
+\9d_h
+->
+Ãxt_´Ùo_id
+ =ð
+IPPROTO_ICMP
+) {
+
+627 
+       `´\9at_icmp_·ck\91
+(
+icmp_h
+);
+
+629 
+       }
+}
+
+631 \18\1e
+       $´\9at_¬p_·ck\91
+(\19
+¬p_hdr
+ *
+¬p_h
+)
+
+633 
+       `RTE_LOG
+(
+INFO
+, 
+LIBARP
+, " ARP: hrd=%d\85roto=0x%04x hln=%d "
+
+635 
+       `CHECK_ENDIAN_16
+(
+¬p_h
+->
+¬p_hrd
+),
+
+636 
+       `CHECK_ENDIAN_16
+(
+¬p_h
+->
+¬p_´o
+),\87½_h->
+¬p_hÊ
+,
+
+637 
+¬p_h
+->
+¬p_¶n
+, 
+       `CHECK_ENDIAN_16
+׽_h->
+¬p_Ý
+),
+
+638 
+       `¬p_Ý_Çme
+(
+¬p_h
+->
+¬p_Ý
+));
+
+640 ià(
+       `CHECK_ENDIAN_16
+(
+¬p_h
+->
+¬p_hrd
+è!ð
+ARP_HRD_ETHER
+) {
+
+641 
+       `RTE_LOG
+(
+INFO
+, 
+LIBARP
+,
+
+643 (
+¬p_h
+->
+¬p_hrd
+));
+
+644 } \vià(
+       `CHECK_ENDIAN_16
+(
+¬p_h
+->
+¬p_´o
+è!ð
+ETHER_TYPE_IPv4
+) {
+
+645 
+       `RTE_LOG
+(
+INFO
+, 
+LIBARP
+,
+
+647 (
+¬p_h
+->
+¬p_´o
+));
+
+648 } \vià(
+¬p_h
+->
+¬p_hÊ
+ != 6) {
+
+649 
+       `RTE_LOG
+(
+INFO
+, 
+LIBARP
+,
+
+651 
+¬p_h
+->
+¬p_hÊ
+);
+
+652 } \vià(
+¬p_h
+->
+¬p_¶n
+ != 4) {
+
+653 
+       `RTE_LOG
+(
+INFO
+, 
+LIBARP
+,
+
+655 
+¬p_h
+->
+¬p_¶n
+);
+
+657 
+       `RTE_LOG
+(
+INFO
+, 
+LIBARP
+,
+
+659 
+¬p_h
+->
+¬p_d©a
+.
+¬p_sha
+.
+addr_by\8bs
+[0],
+
+660 
+¬p_h
+->
+¬p_d©a
+.
+¬p_sha
+.
+addr_by\8bs
+[1],
+
+661 
+¬p_h
+->
+¬p_d©a
+.
+¬p_sha
+.
+addr_by\8bs
+[2],
+
+662 
+¬p_h
+->
+¬p_d©a
+.
+¬p_sha
+.
+addr_by\8bs
+[3],
+
+663 
+¬p_h
+->
+¬p_d©a
+.
+¬p_sha
+.
+addr_by\8bs
+[4],
+
+664 
+¬p_h
+->
+¬p_d©a
+.
+¬p_sha
+.
+addr_by\8bs
+[5]);
+
+665 
+       `RTE_LOG
+(
+INFO
+, 
+LIBARP
+, " sip=%d.%d.%d.%d\n",
+
+666 (
+       `CHECK_ENDIAN_32
+(
+¬p_h
+->
+¬p_d©a
+.
+¬p_s\9d
+) >> 24) & 0xFF,
+
+667 (
+       `CHECK_ENDIAN_32
+(
+¬p_h
+->
+¬p_d©a
+.
+¬p_s\9d
+) >> 16) & 0xFF,
+
+668 (
+       `CHECK_ENDIAN_32
+(
+¬p_h
+->
+¬p_d©a
+.
+¬p_s\9d
+) >> 8) & 0xFF,
+
+669 
+       `CHECK_ENDIAN_32
+(
+¬p_h
+->
+¬p_d©a
+.
+¬p_s\9d
+) & 0xFF);
+
+670 
+       `RTE_LOG
+(
+INFO
+, 
+LIBARP
+,
+
+672 
+¬p_h
+->
+¬p_d©a
+.
+¬p_tha
+.
+addr_by\8bs
+[0],
+
+673 
+¬p_h
+->
+¬p_d©a
+.
+¬p_tha
+.
+addr_by\8bs
+[1],
+
+674 
+¬p_h
+->
+¬p_d©a
+.
+¬p_tha
+.
+addr_by\8bs
+[2],
+
+675 
+¬p_h
+->
+¬p_d©a
+.
+¬p_tha
+.
+addr_by\8bs
+[3],
+
+676 
+¬p_h
+->
+¬p_d©a
+.
+¬p_tha
+.
+addr_by\8bs
+[4],
+
+677 
+¬p_h
+->
+¬p_d©a
+.
+¬p_tha
+.
+addr_by\8bs
+[5]);
+
+678 
+       `RTE_LOG
+(
+INFO
+, 
+LIBARP
+, "\81ip=%d.%d.%d.%d\n",
+
+679 (
+       `CHECK_ENDIAN_32
+(
+¬p_h
+->
+¬p_d©a
+.
+¬p_t\9d
+) >> 24) & 0xFF,
+
+680 (
+       `CHECK_ENDIAN_32
+(
+¬p_h
+->
+¬p_d©a
+.
+¬p_t\9d
+) >> 16) & 0xFF,
+
+681 (
+       `CHECK_ENDIAN_32
+(
+¬p_h
+->
+¬p_d©a
+.
+¬p_t\9d
+) >> 8) & 0xFF,
+
+682 
+       `CHECK_ENDIAN_32
+(
+¬p_h
+->
+¬p_d©a
+.
+¬p_t\9d
+) & 0xFF);
+
+684 
+       }
+}
+
+686 \18\1e
+       $´\9at_\91h
+(\19
+\91h\94_hdr
+ *
+\91h_h
+)
+
+688 
+       `RTE_LOG
+(
+INFO
+, 
+LIBARP
+, " ETH: src=%02X:%02X:%02X:%02X:%02X:%02X",
+
+689 
+\91h_h
+->
+s_addr
+.
+addr_by\8bs
+[0],
+
+690 
+\91h_h
+->
+s_addr
+.
+addr_by\8bs
+[1],
+
+691 
+\91h_h
+->
+s_addr
+.
+addr_by\8bs
+[2],
+
+692 
+\91h_h
+->
+s_addr
+.
+addr_by\8bs
+[3],
+
+693 
+\91h_h
+->
+s_addr
+.
+addr_by\8bs
+[4],\83th_h->s_addr.addr_bytes[5]);
+
+694 
+       `RTE_LOG
+(
+INFO
+, 
+LIBARP
+, " dst=%02X:%02X:%02X:%02X:%02X:%02X\n",
+
+695 
+\91h_h
+->
+d_addr
+.
+addr_by\8bs
+[0],
+
+696 
+\91h_h
+->
+d_addr
+.
+addr_by\8bs
+[1],
+
+697 
+\91h_h
+->
+d_addr
+.
+addr_by\8bs
+[2],
+
+698 
+\91h_h
+->
+d_addr
+.
+addr_by\8bs
+[3],
+
+699 
+\91h_h
+->
+d_addr
+.
+addr_by\8bs
+[4],\83th_h->d_addr.addr_bytes[5]);
+
+701 
+       }
+}
+
+704 
+       $´\9at_mbuf
+(cڡ \ 5*
+rx_tx
+, 
+u\9at8_t
+pÜtid
+, \19
+¹e_mbuf
+ *
+mbuf
+,
+
+705 \1d
+l\9ae
+)
+
+707 \19
+\91h\94_hdr
+ *
+\91h_h
+ = 
+       `¹e_pktmbuf_mtod
+(
+mbuf
+, \19ether_hdr *);
+
+708 \19
+¬p_hdr
+ *
+¬p_h
+ =
+
+709 (\19
+¬p_hdr
+ *)((\ 5*)
+\91h_h
+ + \17(\19
+\91h\94_hdr
+));
+
+710 \19
+\9dv4_hdr
+ *
+\9dv4_h
+ =
+
+711 (\19
+\9dv4_hdr
+ *)((\ 5*)
+\91h_h
+ + \17(\19
+\91h\94_hdr
+));
+
+713 
+       `RTE_LOG
+(
+INFO
+, 
+LIBARP
+, "%s(%d): on\85ort %d\85kt-len=%u\82b-segs=%u\n",
+
+714 
+rx_tx
+, 
+l\9ae
+, 
+pÜtid
+, 
+mbuf
+->
+pkt_Ën
+, mbuf->
+nb_£gs
+);
+
+715 
+       `´\9at_\91h
+(
+\91h_h
+);
+
+716 \1a
+       `¹e_ýu_to_be_16
+(
+\91h_h
+->
+\91h\94_ty³
+)) {
+
+717 \ 4
+ETHER_TYPE_IPv4
+:
+
+718 
+       `´\9at_\9dv4_h
+(
+\9dv4_h
+);
+
+720 \ 4
+ETHER_TYPE_ARP
+:
+
+721 
+       `´\9at_¬p_·ck\91
+(
+¬p_h
+);
+
+724 
+       `RTE_LOG
+(
+INFO
+, 
+LIBARP
+, " unknown\85acket\81ype\n");
+
+727 
+       `fæush
+(
+¡dout
+);
+
+728 
+       }
+}
+
+730 \19
+¬p_\92\8cy_d©a
+ *
+       $»\8c\9bve_¬p_\92\8cy
+(\19
+¬p_key_\9dv4
+¬p_key
+)
+
+732 \19
+¬p_\92\8cy_d©a
+ *
+»t_¬p_d©a
+ = 
+NULL
+;
+
+733 
+¬p_key
+.
+f\9eËr1
+ = 0;
+
+734 
+¬p_key
+.
+f\9eËr2
+ = 0;
+
+735 
+¬p_key
+.
+f\9eËr3
+ = 0;
+
+737 \12
+»t
+ = 
+       `¹e_hash_lookup_d©a
+(
+¬p_hash_hªdË
+, &
+¬p_key
+,
+
+738 (\1e**)&
+»t_¬p_d©a
+);
+
+739 ià(
+»t
+ < 0) {
+
+743 ià(
+»t_¬p_d©a
+->
+mode
+ =ð
+DYNAMIC_ARP
+) {
+
+744 \19
+¬p_tim\94_key
+ÿÎback_key
+;
+
+745 
+ÿÎback_key
+.
+pÜt_id
+ = 
+»t_¬p_d©a
+->
+pÜt
+;
+
+746 
+ÿÎback_key
+.
+\9d
+ = 
+»t_¬p_d©a
+->ip;
+
+748 ià(
+       `¹e_tim\94_»£t
+(
+»t_¬p_d©a
+->
+tim\94
+,
+
+749 (
+¬p_timeout
+ * 
+       `¹e_g\91_tsc_hz
+()),
+
+750 
+SINGLE
+, 
+tim\94_lcÜe
+,
+
+751 
+¬p_tim\94_ÿÎback
+,
+
+752 &
+ÿÎback_key
+) < 0)
+
+753 ià(
+ARPICMP_DEBUG
+)
+
+754 
+       `RTE_LOG
+(
+INFO
+, 
+LIBARP
+,
+
+758 \15 
+»t_¬p_d©a
+;
+
+761 \15 
+NULL
+;
+
+762 
+       }
+}
+
+764 \19
+nd_\92\8cy_d©a
+ *
+       $»\8c\9bve_nd_\92\8cy
+(\19
+nd_key_\9dv6
+nd_key
+)
+
+766 \19
+nd_\92\8cy_d©a
+ *
+»t_nd_d©a
+ = 
+NULL
+;
+
+767 
+nd_key
+.
+f\9eËr1
+ = 0;
+
+768 
+nd_key
+.
+f\9eËr2
+ = 0;
+
+769 
+nd_key
+.
+f\9eËr3
+ = 0;
+
+770 \12
+i
+ = 0;
+
+773 \12
+»t
+ = 
+       `¹e_hash_lookup_d©a
+(
+nd_hash_hªdË
+, &
+nd_key
+,
+
+774 (\1e**)&
+»t_nd_d©a
+);
+
+775 ià(
+»t
+ < 0) {
+
+779 ià(
+»t_nd_d©a
+->
+mode
+ =ð
+DYNAMIC_ND
+) {
+
+780 \19
+nd_tim\94_key
+ÿÎback_key
+;
+
+781 
+ÿÎback_key
+.
+pÜt_id
+ = 
+»t_nd_d©a
+->
+pÜt
+;
+
+783 \ f
+i
+ = 0; i < 
+ND_IPV6_ADDR_SIZE
+; i++) {
+
+784 
+ÿÎback_key
+.
+\9dv6
+[
+i
+] = 
+»t_nd_d©a
+->ipv6[i];
+
+788 ià(
+¹e_tim\94_»£t
+
+
+789 (
+»t_nd_d©a
+->
+tim\94
+,
+
+790 (
+¬p_timeout
+ * 
+       `¹e_g\91_tsc_hz
+()), 
+SINGLE
+,
+
+791 
+tim\94_lcÜe
+, 
+nd_tim\94_ÿÎback
+, &
+ÿÎback_key
+) < 0)
+
+792 ià(
+ARPICMP_DEBUG
+)
+
+793 
+       `RTE_LOG
+(
+INFO
+, 
+LIBARP
+,
+
+796 \15 
+»t_nd_d©a
+;
+
+799 \15 
+NULL
+;
+
+800 
+       }
+}
+
+802 \1e
+       $´\9at_¬p_\8f
+(\1e)
+
+804 cڡ \1e*
+Ãxt_key
+;
+
+805 \1e*
+Ãxt_d©a
+;
+
+806 
+u\9at32_t
+\99\94
+ = 0;
+
+808 
\9atf
+
+
+810 
\9atf
+
+
+812 
+       `´\9atf
+("\tport hw\87ddr status ip\87ddr\n");
+
+813 
\9atf
+
+
+816 \1f
+       `¹e_hash_\99\94©e
+(
+¬p_hash_hªdË
+, &
+Ãxt_key
+, &
+Ãxt_d©a
+, &
+\99\94
+)
+
+819 \19
+¬p_\92\8cy_d©a
+ *
+tmp_¬p_d©a
+ =
+
+820 (\19
+¬p_\92\8cy_d©a
+ *)
+Ãxt_d©a
+;
+
+821 \19
+¬p_key_\9dv4
+tmp_¬p_key
+;
+
+822 
+       `memýy
+(&
+tmp_¬p_key
+, 
+Ãxt_key
+, \17(\19
+¬p_key_\9dv4
+));
+
+823 
\9atf
+
+
+825 
+tmp_¬p_d©a
+->
+pÜt
+,\81mp_¬p_d©a->
+\91h_addr
+.
+addr_by\8bs
+[0],
+
+826 
+tmp_¬p_d©a
+->
+\91h_addr
+.
+addr_by\8bs
+[1],
+
+827 
+tmp_¬p_d©a
+->
+\91h_addr
+.
+addr_by\8bs
+[2],
+
+828 
+tmp_¬p_d©a
+->
+\91h_addr
+.
+addr_by\8bs
+[3],
+
+829 
+tmp_¬p_d©a
+->
+\91h_addr
+.
+addr_by\8bs
+[4],
+
+830 
+tmp_¬p_d©a
+->
+\91h_addr
+.
+addr_by\8bs
+[5],
+
+831 
+tmp_¬p_d©a
+->
+¡©us
+ ==
+
+832 
+COMPLETE
+ ? "COMPLETE" : "INCOMPLETE",
+
+833 (
+tmp_¬p_d©a
+->
+\9d
+ >> 24),
+
+834 ((
+tmp_¬p_d©a
+->
+\9d
+ & 0x00ff0000) >> 16),
+
+835 ((
+tmp_¬p_d©a
+->
+\9d
+ & 0x0000ff00) >> 8),
+
+836 ((
+tmp_¬p_d©a
+->
+\9d
+ & 0x000000ff)));
+
+839 
+u\9at32_t
+i
+ = 0;
+
+840 
+       `´\9atf
+("\nARP\84out\9ag\81abË ha %d\83Ár\9bs\n", 
+¬p_rou\8b_tbl_\9adex
+);
+
+841 
+       `´\9atf
+("\nIP_Address Mask Port NH_IP_Address\n");
+
+842 \ f
+i
+ = 0; i < 
+¬p_rou\8b_tbl_\9adex
+; i++) {
+
+843 
+       `´\9atf
+("0x%x 0x%x %d 0x%x\n",
+
+844 
+lib_¬p_rou\8b_\8f
+[
+i
+].
+\9d
+,
+
+845 
+lib_¬p_rou\8b_\8f
+[
+i
+].
+mask
+,
+
+846 
+lib_¬p_rou\8b_\8f
+[
+i
+].
+pÜt
+,\86ib_¬p_rou\8b_\8fbË[i].
+nh
+);
+
+849 
\9atf
+
+
+851 
+lib_¬p_g\91_mac_»q
+, 
+lib_¬p_nh_found
+, 
+lib_¬p_no_nh_found
+,
+
+852 
+lib_¬p_¬p_\92\8cy_found
+, 
+lib_¬p_no_¬p_\92\8cy_found
+,
+
+853 
+lib_¬p_pÝuÏ\8b_ÿÎed
+, 
+lib_¬p_d\96\91e_ÿÎed
+,
+
+854 
+lib_¬p_du¶iÿ\8b_found
+);
+
+856 
+       `´\9atf
+("ARP\81abË key\86\92 i %lu\n", \17(\19
+¬p_key_\9dv4
+));
+
+857 
+       }
+}
+
+860 \1e
+       $´\9at_nd_\8f
+(\1e)
+
+862 cڡ \1e*
+Ãxt_key
+;
+
+863 \1e*
+Ãxt_d©a
+;
+
+864 
+u\9at32_t
+\99\94
+ = 0;
+
+865 
+u\9at8_t
+ii
+ = 0, 
+j
+ = 0, 
+k
+ = 0;
+
+866 
\9atf
+
+
+868 
+       `´\9atf
+("\tport hw\87ddr status ip\87ddr\n");
+
+870 
\9atf
+
+
+872 \1f
+       `¹e_hash_\99\94©e
+(
+nd_hash_hªdË
+, &
+Ãxt_key
+, &
+Ãxt_d©a
+, &
+\99\94
+) >=
+
+875 \19
+nd_\92\8cy_d©a
+ *
+tmp_nd_d©a
+ =
+
+876 (\19
+nd_\92\8cy_d©a
+ *)
+Ãxt_d©a
+;
+
+877 \19
+nd_key_\9dv6
+tmp_nd_key
+;
+
+878 
+       `memýy
+(&
+tmp_nd_key
+, 
+Ãxt_key
+, \17(\19
+nd_key_\9dv6
+));
+
+879 
+       `´\9atf
+("\t%4d %02X:%02X:%02X:%02X:%02X:%02X %10s\n",
+
+880 
+tmp_nd_d©a
+->
+pÜt
+,
+
+881 
+tmp_nd_d©a
+->
+\91h_addr
+.
+addr_by\8bs
+[0],
+
+882 
+tmp_nd_d©a
+->
+\91h_addr
+.
+addr_by\8bs
+[1],
+
+883 
+tmp_nd_d©a
+->
+\91h_addr
+.
+addr_by\8bs
+[2],
+
+884 
+tmp_nd_d©a
+->
+\91h_addr
+.
+addr_by\8bs
+[3],
+
+885 
+tmp_nd_d©a
+->
+\91h_addr
+.
+addr_by\8bs
+[4],
+
+886 
+tmp_nd_d©a
+->
+\91h_addr
+.
+addr_by\8bs
+[5],
+
+887 
+tmp_nd_d©a
+->
+¡©us
+ ==
+
+888 
+COMPLETE
+ ? "COMPLETE" : "INCOMPLETE");
+
+889 
+       `´\9atf
+("\t\t\t\t\t\t");
+
+890 \ f
+ii
+ = 0; i\98
+ND_IPV6_ADDR_SIZE
+; ii += 2) {
+
+891 
+       `´\9atf
+("%02X%02X ", 
+tmp_nd_d©a
+->
+\9dv6
+[
+ii
+],
+
+892 
+tmp_nd_d©a
+->
+\9dv6
+[
+ii
+ + 1]);
+
+894 
+       `´\9atf
+("\n");
+
+897 
+u\9at32_t
+i
+ = 0;
+
+898 
+       `´\9atf
+("\n\nND IPV6\84outing\81able has %d\83ntries\n",
+
+899 
+nd_rou\8b_tbl_\9adex
+);
+
+900 
\9atf
+
+
+902 \ f
+i
+ = 0; i < 
+nd_rou\8b_tbl_\9adex
+; i++) {
+
+903 
+       `´\9atf
+("\n");
+
+905 \ f
+j
+ = 0; j < 
+ND_IPV6_ADDR_SIZE
+; j += 2) {
+
+906 
+       `RTE_LOG
+(
+INFO
+, 
+LIBARP
+, "%02X%02X ",
+
+907 
+lib_nd_rou\8b_\8f
+[
+i
+].
+\9dv6
+[
+j
+],
+
+908 
+lib_nd_rou\8b_\8f
+[
+i
+].
+\9dv6
+[
+j
+ + 1]);
+
+911 
\9atf
+
+
+913 
+lib_nd_rou\8b_\8f
+[
+i
+].
+d\95th
+,\86ib_nd_rou\8b_\8fbË[i].
+pÜt
+);
+
+914 
+       `´\9atf
+("\t\t\t\t\t\t\t\t\t");
+
+915 \ f
+k
+ = 0; k < 
+ND_IPV6_ADDR_SIZE
+; k += 2) {
+
+916 
+       `´\9atf
+("%02X%02X ", 
+lib_nd_rou\8b_\8f
+[
+i
+].
+nh\9dv6
+[
+k
+],
+
+917 
+lib_nd_rou\8b_\8f
+[
+i
+].
+\9dv6
+[
+k
+ + 1]);
+
+920 
\9atf
+
+
+922 
+lib_nd_g\91_mac_»q
+, 
+lib_nd_nh_found
+, 
+lib_nd_no_nh_found
+,
+
+923 
+lib_nd_nd_\92\8cy_found
+, 
+lib_nd_no_¬p_\92\8cy_found
+,
+
+924 
+lib_nd_pÝuÏ\8b_ÿÎed
+, 
+lib_nd_d\96\91e_ÿÎed
+,
+
+925 
+lib_nd_du¶iÿ\8b_found
+);
+
+926 
+       `´\9atf
+("ND\81abË key\86\92 i %lu\n\n", \17(\19
+nd_key_\9dv6
+));
+
+927 
+       }
+}
+
+929 \1e
+       $»move_¬p_\92\8cy
+(
+u\9at32_t
+\9daddr
+, 
+u\9at8_t
+pÜtid
+, \1e*
+¬g
+)
+
+932 \19
+¬p_key_\9dv4
+¬p_key
+;
+
+933 
+¬p_key
+.
+pÜt_id
+ = 
+pÜtid
+;
+
+934 
+¬p_key
+.
+\9d
+ = 
+\9daddr
+;
+
+935 
+¬p_key
+.
+f\9eËr1
+ = 0;
+
+936 
+¬p_key
+.
+f\9eËr2
+ = 0;
+
+937 
+¬p_key
+.
+f\9eËr3
+ = 0;
+
+939 
+lib_¬p_d\96\91e_ÿÎed
+++;
+
+941 \19
+¬p_\92\8cy_d©a
+ *
+»t_¬p_d©a
+ = 
+NULL
+;
+
+943 \12
+»t
+ = 
+       `¹e_hash_lookup_d©a
+(
+¬p_hash_hªdË
+, &
+¬p_key
+,
+
+944 (\1e**)&
+»t_¬p_d©a
+);
+
+945 ià(
+»t
+ < 0) {
+
+949 ià(
+»t_¬p_d©a
+->
+mode
+ =ð
+DYNAMIC_ARP
+) {
+
+950 ià(
+»t_¬p_d©a
+->
\8cy_couÁ
+ == 3) {
+
+951 
+       `¹e_tim\94_¡Ý
+(
+»t_¬p_d©a
+->
+tim\94
+);
+
+952 
+       `¹e_ä\93
+(
+»t_¬p_d©a
+->
+tim\94_key
+);
+
+953 ià(
+ARPICMP_DEBUG
+) {
+
+954 
+       `RTE_LOG
+(
+INFO
+, 
+LIBARP
+,
+
+956 (
+¬p_key
+.
+\9d
+ >> 24),
+
+957 ((
+¬p_key
+.
+\9d
+ & 0x00ff0000) >>
+
+959 ((
+¬p_key
+.
+\9d
+ & 0x0000ff00) >>
+
+961 ((
+¬p_key
+.
+\9d
+ & 0x000000ff)),
+
+962 
+¬p_key
+.
+pÜt_id
+);
+
+964 
+       `¹e_hash_d\96_key
+(
+¬p_hash_hªdË
+, &
+¬p_key
+);
+
+967 
+»t_¬p_d©a
+->
\8cy_couÁ
+++;
+
+968 ià(
+ARPICMP_DEBUG
+)
+
+969 
+       `RTE_LOG
+(
+INFO
+, 
+LIBARP
+,
+
+971 
+»t_¬p_d©a
+->
\8cy_couÁ
+);
+
+973 ià(
+ARPICMP_DEBUG
+)
+
+974 
+       `RTE_LOG
+(
+INFO
+, 
+LIBARP
+,
+
+976 
+ARP_TIMER_EXPIRY
+);
+
+977 ià(
+ifm_chk_pÜt_\9dv4_\92abËd
+
+
+978 (
+»t_¬p_d©a
+->
+pÜt
+)) {
+
+979 
+       `»que¡_¬p
+(
+»t_¬p_d©a
+->
+pÜt
+,
+
+980 
+»t_¬p_d©a
+->
+\9d
+);
+
+982 ià(
+ARPICMP_DEBUG
+)
+
+983 
+       `RTE_LOG
+(
+INFO
+, 
+LIBARP
+,
+
+985 
+__FUNCTION__
+,
+
+986 
+»t_¬p_d©a
+->
+pÜt
+);
+
+988 ià(
+       `¹e_tim\94_»£t
+(
+»t_¬p_d©a
+->
+tim\94
+,
+
+989 (
+¬p_timeout
+ *
+
+990 
+       `¹e_g\91_tsc_hz
+()), 
+SINGLE
+,
+
+991 
+tim\94_lcÜe
+,
+
+992 
+¬p_tim\94_ÿÎback
+,
+
+993 
+¬g
+) < 0)
+
+994 ià(
+ARPICMP_DEBUG
+)
+
+995 
+       `RTE_LOG
+(
+INFO
+, 
+LIBARP
+,
+
+1000 
+       `¹e_hash_d\96_key
+(
+¬p_hash_hªdË
+, &
+¬p_key
+);
+
+1003 
+       }
+}
+
+1006 \1e
+       $»move_nd_\92\8cy_\9dv6
+(
+u\9at8_t
+\9dv6addr
+[], u\9at8_\88
+pÜtid
+)
+
+1008 \12
+i
+ = 0;
+
+1009 \19
+nd_\92\8cy_d©a
+ *
+»t_nd_d©a
+ = 
+NULL
+;
+
+1010 \19
+nd_key_\9dv6
+nd_key
+;
+
+1011 
+nd_key
+.
+pÜt_id
+ = 
+pÜtid
+;
+
+1013 \ f
+i
+ = 0; i < 
+ND_IPV6_ADDR_SIZE
+; i++) {
+
+1014 
+nd_key
+.
+\9dv6
+[
+i
+] = 
+\9dv6addr
+[i];
+
+1017 
+nd_key
+.
+f\9eËr1
+ = 0;
+
+1018 
+nd_key
+.
+f\9eËr2
+ = 0;
+
+1019 
+nd_key
+.
+f\9eËr3
+ = 0;
+
+1021 
+lib_nd_d\96\91e_ÿÎed
+++;
+
+1023 ià(
+NDIPV6_DEBUG
+) {
+
+1024 
+       `RTE_LOG
+(
+INFO
+, 
+LIBARP
+,
+
+1026 
+nd_key
+.
+pÜt_id
+);
+
+1027 \ f
+i
+ = 0; i < 
+ND_IPV6_ADDR_SIZE
+; i += 2) {
+
+1028 
+       `RTE_LOG
+(
+INFO
+, 
+LIBARP
+, "%02X%02X ", 
+nd_key
+.
+\9dv6
+[
+i
+],
+
+1029 
+nd_key
+.
+\9dv6
+[
+i
+ + 1]);
+
+1032 \19
+nd_tim\94_key
+ÿÎback_key
+;
+
+1033 
+ÿÎback_key
+.
+pÜt_id
+ = 
+pÜtid
+;
+
+1035 \ f
+i
+ = 0; i < 
+ND_IPV6_ADDR_SIZE
+; i++) {
+
+1036 
+ÿÎback_key
+.
+\9dv6
+[
+i
+] = 
+\9dv6addr
+[i];
+
+1039 \12
+»t
+ = 
+       `¹e_hash_lookup_d©a
+(
+¬p_hash_hªdË
+, &
+ÿÎback_key
+,
+
+1040 (\1e**)&
+»t_nd_d©a
+);
+
+1041 ià(
+»t
+ < 0) {
+
+1044 ià(
+»t_nd_d©a
+->
+mode
+ =ð
+DYNAMIC_ND
+) {
+
+1045 
+       `¹e_tim\94_¡Ý
+(
+»t_nd_d©a
+->
+tim\94
+);
+
+1046 
+       `¹e_ä\93
+(
+»t_nd_d©a
+->
+tim\94
+);
+
+1049 
+       `¹e_hash_d\96_key
+(
+nd_hash_hªdË
+, &
+nd_key
+);
+
+1050 
+       }
+}
+
+1053 
+       $pÝuÏ\8b_¬p_\92\8cy
+(cڡ \19
+\91h\94_addr
+ *
+hw_addr
+, 
+u\9at32_t
+\9daddr
+,
+
+1054 
+u\9at8_t
+pÜtid
+, u\9at8_\88
+mode
+)
+
+1056 \19
+¬p_key_\9dv4
+¬p_key
+;
+
+1057 
+¬p_key
+.
+pÜt_id
+ = 
+pÜtid
+;
+
+1058 
+¬p_key
+.
+\9d
+ = 
+\9daddr
+;
+
+1059 
+¬p_key
+.
+f\9eËr1
+ = 0;
+
+1060 
+¬p_key
+.
+f\9eËr2
+ = 0;
+
+1061 
+¬p_key
+.
+f\9eËr3
+ = 0;
+
+1063 
+lib_¬p_pÝuÏ\8b_ÿÎed
+++;
+
+1065 ià(
+ARPICMP_DEBUG
+)
+
+1066 
+       `RTE_LOG
+(
+INFO
+, 
+LIBARP
+, "populate_arp_entry ip %x,\85ort %d\n",
+
+1067 
+¬p_key
+.
+\9d
+,\87½_key.
+pÜt_id
+);
+
+1069 \19
+¬p_\92\8cy_d©a
+ *
+Ãw_¬p_d©a
+ = 
+       `»\8c\9bve_¬p_\92\8cy
+(
+¬p_key
+);
+
+1070 ià(
+Ãw_¬p_d©a
+ && (Òew_¬p_d©a->
+mode
+ =ð
+STATIC_ARP
+
+
+1071 && 
+mode
+ =ð
+DYNAMIC_ARP
+è|| (
+Ãw_¬p_d©a
+->mode == DYNAMIC_ARP
+
+1072 && 
+mode
+ =ð
+STATIC_ARP
+))) {
+
+1073 ià(
+ARPICMP_DEBUG
+)
+
+1074 
+       `RTE_LOG
+(
+INFO
+, 
+LIBARP
+,"populate_arp_entry: ARP\83ntry\87lready\83xists(%d %d)\n",
+
+1075 
+Ãw_¬p_d©a
+->
+mode
+, mode);
+
+1080 ià(
+mode
+ =ð
+DYNAMIC_ARP
+) {
+
+1081 ià(
+Ãw_¬p_d©a
+
+
+1082 && 
+       `is_§me_\91h\94_addr
+(&
+Ãw_¬p_d©a
+->
+\91h_addr
+, 
+hw_addr
+)) {
+
+1083 ià(
+ARPICMP_DEBUG
+) {
+
+1084 
+       `RTE_LOG
+(
+INFO
+, 
+LIBARP
+,
+
+1086 (
+¬p_key
+.
+\9d
+ >> 24),
+
+1087 ((
+¬p_key
+.
+\9d
+ & 0x00ff0000) >> 16),
+
+1088 ((
+¬p_key
+.
+\9d
+ & 0x0000ff00) >> 8),
+
+1089 ((
+¬p_key
+.
+\9d
+ & 0x000000ff)),
+
+1090 
+¬p_key
+.
+pÜt_id
+);
+
+1092 
+lib_¬p_du¶iÿ\8b_found
+++;
+
+1093 
+Ãw_¬p_d©a
+->
\8cy_couÁ
+ = 0;
+
+1094 ià(
+       `¹e_tim\94_»£t
+(
+Ãw_¬p_d©a
+->
+tim\94
+,
+
+1095 (
+¬p_timeout
+ * 
+       `¹e_g\91_tsc_hz
+()),
+
+1096 
+SINGLE
+, 
+tim\94_lcÜe
+,
+
+1097 
+¬p_tim\94_ÿÎback
+,
+
+1098 
+Ãw_¬p_d©a
+->
+tim\94_key
+) < 0)
+
+1099 ià(
+ARPICMP_DEBUG
+)
+
+1100 
+       `RTE_LOG
+(
+INFO
+, 
+LIBARP
+,
+
+1105 
+u\9at32_t
+size
+ =
+
+1106 
+       `RTE_CACHE_LINE_ROUNDUP
+(\17(\19
+¬p_\92\8cy_d©a
+));
+
+1107 
+Ãw_¬p_d©a
+ = 
+       `¹e_zm®loc
+(
+NULL
+, 
+size
+, 
+RTE_CACHE_LINE_SIZE
+);
+
+1108 
+Ãw_¬p_d©a
+->
+\91h_addr
+ = *
+hw_addr
+;
+
+1109 
+Ãw_¬p_d©a
+->
+¡©us
+ = 
+COMPLETE
+;
+
+1110 
+Ãw_¬p_d©a
+->
+pÜt
+ = 
+pÜtid
+;
+
+1111 
+Ãw_¬p_d©a
+->
+\9d
+ = 
+\9daddr
+;
+
+1112 
+Ãw_¬p_d©a
+->
+mode
+ = mode;
+
+1113 ià(
+¹e_mempoÞ_g\91
+
+
+1114 (
+tim\94_mempoÞ_¬p
+, (\1e**)&(
+Ãw_¬p_d©a
+->
+tim\94
+)) < 0) {
+
+1115 
+       `RTE_LOG
+(
+INFO
+, 
+LIBARP
+,
+
+1120 
+       `¹e_hash_add_key_d©a
+(
+¬p_hash_hªdË
+, &
+¬p_key
+, 
+Ãw_¬p_d©a
+);
+
+1121 ià(
+ARPICMP_DEBUG
+) {
+
+1122 
+       `RTE_LOG
+(
+INFO
+, 
+LIBARP
+,
+
+1124 (
+¬p_key
+.
+\9d
+ >> 24),
+
+1125 ((
+¬p_key
+.
+\9d
+ & 0x00ff0000) >> 16),
+
+1126 ((
+¬p_key
+.
+\9d
+ & 0x0000ff00) >> 8),
+
+1127 ((
+¬p_key
+.
+\9d
+ & 0x000000ff)),\87½_key.
+pÜt_id
+);
+
+1130 
+       `»sÞve_l2_adj
+(
+\9daddr
+, 
+pÜtid
+, 
+hw_addr
+);
+
+1132 
+       `¹e_tim\94_\9a\99
+(
+Ãw_¬p_d©a
+->
+tim\94
+);
+
+1133 \19
+¬p_tim\94_key
+ *
+ÿÎback_key
+ =
+
+1134 (\19
+¬p_tim\94_key
+ *)
+       `¹e_m®loc
+(
+NULL
+,
+
+1136 
+¬p_tim\94_key
+ *),
+
+1137 
+RTE_CACHE_LINE_SIZE
+);
+
+1138 
+ÿÎback_key
+->
+pÜt_id
+ = 
+pÜtid
+;
+
+1139 
+ÿÎback_key
+->
+\9d
+ = 
+\9daddr
+;
+
+1141 ià(
+ARPICMP_DEBUG
+)
+
+1142 
+       `RTE_LOG
+(
+INFO
+, 
+LIBARP
+, "TIMER STARTED FOR %u seconds\n",
+
+1143 
+ARP_TIMER_EXPIRY
+);
+
+1144 ià(
+¹e_tim\94_»£t
+
+
+1145 (
+Ãw_¬p_d©a
+->
+tim\94
+, (
+¬p_timeout
+ * 
+       `¹e_g\91_tsc_hz
+()),
+
+1146 
+SINGLE
+, 
+tim\94_lcÜe
+, 
+¬p_tim\94_ÿÎback
+, 
+ÿÎback_key
+) < 0)
+
+1147 ià(
+ARPICMP_DEBUG
+)
+
+1148 
+       `RTE_LOG
+(
+INFO
+, 
+LIBARP
+,
+
+1151 
+Ãw_¬p_d©a
+->
+tim\94_key
+ = 
+ÿÎback_key
+;
+
+1153 ià(
+Ãw_¬p_d©a
+
+
+1154 && 
+       `is_§me_\91h\94_addr
+(&
+Ãw_¬p_d©a
+->
+\91h_addr
+, 
+hw_addr
+)) {
+
+1155 ià(
+ARPICMP_DEBUG
+) {
+
+1156 
+       `RTE_LOG
+(
+INFO
+, 
+LIBARP
+,
+
+1158 (
+¬p_key
+.
+\9d
+ >> 24),
+
+1159 ((
+¬p_key
+.
+\9d
+ & 0x00ff0000) >> 16),
+
+1160 ((
+¬p_key
+.
+\9d
+ & 0x0000ff00) >> 8),
+
+1161 ((
+¬p_key
+.
+\9d
+ & 0x000000ff)),
+
+1162 
+¬p_key
+.
+pÜt_id
+);
+
+1164 
+lib_¬p_du¶iÿ\8b_found
+++;
+
+1166 
+u\9at32_t
+size
+ =
+
+1167 
+       `RTE_CACHE_LINE_ROUNDUP
+(\17
+
+1168 (\19
+¬p_\92\8cy_d©a
+));
+
+1169 
+Ãw_¬p_d©a
+ =
+
+1170 
+       `¹e_zm®loc
+(
+NULL
+, 
+size
+, 
+RTE_CACHE_LINE_SIZE
+);
+
+1171 
+Ãw_¬p_d©a
+->
+\91h_addr
+ = *
+hw_addr
+;
+
+1172 
+Ãw_¬p_d©a
+->
+¡©us
+ = 
+COMPLETE
+;
+
+1173 
+Ãw_¬p_d©a
+->
+pÜt
+ = 
+pÜtid
+;
+
+1174 
+Ãw_¬p_d©a
+->
+\9d
+ = 
+\9daddr
+;
+
+1175 
+Ãw_¬p_d©a
+->
+mode
+ = mode;
+
+1177 
+       `¹e_hash_add_key_d©a
+(
+¬p_hash_hªdË
+, &
+¬p_key
+,
+
+1178 
+Ãw_¬p_d©a
+);
+
+1179 ià(
+ARPICMP_DEBUG
+) {
+
+1180 
+       `RTE_LOG
+(
+INFO
+, 
+LIBARP
+,
+
+1182 (
+¬p_key
+.
+\9d
+ >> 24),
+
+1183 ((
+¬p_key
+.
+\9d
+ & 0x00ff0000) >> 16),
+
+1184 ((
+¬p_key
+.
+\9d
+ & 0x0000ff00) >> 8),
+
+1185 ((
+¬p_key
+.
+\9d
+ & 0x000000ff)),
+
+1186 
+¬p_key
+.
+pÜt_id
+);
+
+1189 
+       `»sÞve_l2_adj
+(
+\9daddr
+, 
+pÜtid
+, 
+hw_addr
+);
+
+1192 ià(
+ARPICMP_DEBUG
+) {
+
+1194 
+       `RTE_LOG
+(
+INFO
+, 
+LIBARP
+,
+
+1196 
+Ãw_¬p_d©a
+->
+\91h_addr
+.
+addr_by\8bs
+[0],
+
+1197 
+Ãw_¬p_d©a
+->
+\91h_addr
+.
+addr_by\8bs
+[1],
+
+1198 
+Ãw_¬p_d©a
+->
+\91h_addr
+.
+addr_by\8bs
+[2],
+
+1199 
+Ãw_¬p_d©a
+->
+\91h_addr
+.
+addr_by\8bs
+[3],
+
+1200 
+Ãw_¬p_d©a
+->
+\91h_addr
+.
+addr_by\8bs
+[4],
+
+1201 
+Ãw_¬p_d©a
+->
+\91h_addr
+.
+addr_by\8bs
+[5],
+
+1202 (
+¬p_key
+.
+\9d
+ >> 24), ((arp_key.ip & 0x00ff0000) >> 16),
+
+1203 ((
+¬p_key
+.
+\9d
+ & 0x0000ff00) >> 8),
+
+1204 ((
+¬p_key
+.
+\9d
+ & 0x000000ff)), 
+pÜtid
+);
+
+1205 
+       `puts
+("");
+
+1207 
+       }
+}
+
+1216 \1e
+       $pÝuÏ\8b_nd_\92\8cy
+(cڡ \19
+\91h\94_addr
+ *
+hw_addr
+, 
+u\9at8_t
+\9dv6
+[],
+
+1217 
+u\9at8_t
+pÜtid
+, u\9at8_\88
+mode
+)
+
+1222 
+u\9at8_t
+i
+;
+
+1223 \19
+nd_key_\9dv6
+nd_key
+;
+
+1224 
+nd_key
+.
+pÜt_id
+ = 
+pÜtid
+;
+
+1226 \ f
+i
+ = 0; i < 
+ND_IPV6_ADDR_SIZE
+; i++)
+
+1227 
+nd_key
+.
+\9dv6
+[
+i
+] = ipv6[i];
+
+1230 
+nd_key
+.
+f\9eËr1
+ = 0;
+
+1231 
+nd_key
+.
+f\9eËr2
+ = 0;
+
+1232 
+nd_key
+.
+f\9eËr3
+ = 0;
+
+1234 
+lib_nd_pÝuÏ\8b_ÿÎed
+++;
+
+1237 \19
+nd_\92\8cy_d©a
+ *
+Ãw_nd_d©a
+ = 
+       `»\8c\9bve_nd_\92\8cy
+(
+nd_key
+);
+
+1239 ià(
+mode
+ =ð
+DYNAMIC_ND
+) {
+
+1240 ià(
+Ãw_nd_d©a
+
+
+1241 && 
+       `is_§me_\91h\94_addr
+(&
+Ãw_nd_d©a
+->
+\91h_addr
+, 
+hw_addr
+)) {
+
+1243 ià(
+NDIPV6_DEBUG
+) {
+
+1244 
+       `RTE_LOG
+(
+INFO
+, 
+LIBARP
+,
+
+1246 
+nd_key
+.
+pÜt_id
+);
+
+1247 \ f
+i
+ = 0; i < 
+ND_IPV6_ADDR_SIZE
+; i += 2) {
+
+1249 
+       `RTE_LOG
+(
+INFO
+, 
+LIBARP
+, "%02X%02X ",
+
+1250 
+nd_key
+.
+\9dv6
+[
+i
+],
+
+1251 
+nd_key
+.
+\9dv6
+[
+i
+ + 1]);
+
+1255 
+lib_nd_du¶iÿ\8b_found
+++;
+
+1256 
+       `RTE_LOG
+(
+INFO
+, 
+LIBARP
+, "nd_entry\83xists\n");
+
+1259 
+u\9at32_t
+size
+ =
+
+1260 
+       `RTE_CACHE_LINE_ROUNDUP
+(\17(\19
+nd_\92\8cy_d©a
+));
+
+1261 
+Ãw_nd_d©a
+ = 
+       `¹e_zm®loc
+(
+NULL
+, 
+size
+, 
+RTE_CACHE_LINE_SIZE
+);
+
+1264 
+Ãw_nd_d©a
+->
+\91h_addr
+ = *
+hw_addr
+;
+
+1265 
+Ãw_nd_d©a
+->
+¡©us
+ = 
+COMPLETE
+;
+
+1266 
+Ãw_nd_d©a
+->
+pÜt
+ = 
+pÜtid
+;
+
+1267 
+Ãw_nd_d©a
+->
+mode
+ = mode;
+
+1268 ià(
+¹e_mempoÞ_g\91
+
+
+1269 (
+tim\94_mempoÞ_¬p
+, (\1e**)&(
+Ãw_nd_d©a
+->
+tim\94
+)) < 0) {
+
+1270 
+       `RTE_LOG
+(
+INFO
+, 
+LIBARP
+,
+
+1275 ià(
+NDIPV6_DEBUG
+)
+
+1276 
+       `RTE_LOG
+(
+INFO
+, 
+LIBARP
+, "populate_nd_entry ipv6=");
+
+1278 \ f
+i
+ = 0; i < 
+ND_IPV6_ADDR_SIZE
+; i++) {
+
+1279 
+Ãw_nd_d©a
+->
+\9dv6
+[
+i
+] = ipv6[i];
+
+1282 ià(
+NDIPV6_DEBUG
+) {
+
+1283 \ f
+i
+ = 0; i < 
+ND_IPV6_ADDR_SIZE
+; i += 2) {
+
+1285 
+       `RTE_LOG
+(
+INFO
+, 
+LIBARP
+, "%02X%02X ",
+
+1286 
+Ãw_nd_d©a
+->
+\9dv6
+[
+i
+],
+
+1287 
+Ãw_nd_d©a
+->
+\9dv6
+[
+i
+ + 1]);
+
+1292 
+       `¹e_hash_add_key_d©a
+(
+nd_hash_hªdË
+, &
+nd_key
+, 
+Ãw_nd_d©a
+);
+
+1296 
+       `¹e_tim\94_\9a\99
+(
+Ãw_nd_d©a
+->
+tim\94
+);
+
+1297 \19
+nd_tim\94_key
+ *
+ÿÎback_key
+ =
+
+1298 (\19
+nd_tim\94_key
+ *)
+       `¹e_m®loc
+(
+NULL
+,
+
+1299 \17(\19
+nd_tim\94_key
+
+
+1301 
+RTE_CACHE_LINE_SIZE
+);
+
+1302 
+ÿÎback_key
+->
+pÜt_id
+ = 
+pÜtid
+;
+
+1304 \ f
+i
+ = 0; i < 
+ND_IPV6_ADDR_SIZE
+; i++) {
+
+1305 
+ÿÎback_key
+->
+\9dv6
+[
+i
+] = ipv6[i];
+
+1307 ià(
+¹e_tim\94_»£t
+
+
+1308 (
+Ãw_nd_d©a
+->
+tim\94
+, (
+¬p_timeout
+ * 
+       `¹e_g\91_tsc_hz
+()),
+
+1309 
+SINGLE
+, 
+tim\94_lcÜe
+, 
+nd_tim\94_ÿÎback
+, 
+ÿÎback_key
+) < 0)
+
+1310 
+       `RTE_LOG
+(
+INFO
+, 
+LIBARP
+, "Err : Timer\87lready\84unning\n");
+
+1312 ià(
+Ãw_nd_d©a
+
+
+1313 && 
+       `is_§me_\91h\94_addr
+(&
+Ãw_nd_d©a
+->
+\91h_addr
+, 
+hw_addr
+)) {
+
+1314 ià(
+NDIPV6_DEBUG
+) {
+
+1315 
+       `RTE_LOG
+(
+INFO
+, 
+LIBARP
+,
+
+1317 
+nd_key
+.
+pÜt_id
+);
+
+1318 \ f
+i
+ = 0; i < 
+ND_IPV6_ADDR_SIZE
+; i += 2) {
+
+1320 
+       `RTE_LOG
+(
+INFO
+, 
+LIBARP
+, "%02X%02X ",
+
+1321 
+nd_key
+.
+\9dv6
+[
+i
+],
+
+1322 
+nd_key
+.
+\9dv6
+[
+i
+ + 1]);
+
+1326 
+lib_nd_du¶iÿ\8b_found
+++;
+
+1328 
+u\9at32_t
+size
+ =
+
+1329 
+       `RTE_CACHE_LINE_ROUNDUP
+(\17
+
+1330 (\19
+nd_\92\8cy_d©a
+));
+
+1331 
+Ãw_nd_d©a
+ =
+
+1332 
+       `¹e_zm®loc
+(
+NULL
+, 
+size
+, 
+RTE_CACHE_LINE_SIZE
+);
+
+1335 
+Ãw_nd_d©a
+->
+\91h_addr
+ = *
+hw_addr
+;
+
+1336 
+Ãw_nd_d©a
+->
+¡©us
+ = 
+COMPLETE
+;
+
+1337 
+Ãw_nd_d©a
+->
+pÜt
+ = 
+pÜtid
+;
+
+1338 
+Ãw_nd_d©a
+->
+mode
+ = mode;
+
+1339 \ f
+i
+ = 0; i < 
+ND_IPV6_ADDR_SIZE
+; i++) {
+
+1340 
+Ãw_nd_d©a
+->
+\9dv6
+[
+i
+] = ipv6[i];
+
+1344 
+       `¹e_hash_add_key_d©a
+(
+nd_hash_hªdË
+, &
+nd_key
+,
+
+1345 
+Ãw_nd_d©a
+);
+
+1349 ià(
+NDIPV6_DEBUG
+)
+
+1350 
\9atf
+
+
+1355 
\9atf
+
+
+1357 
+Ãw_nd_d©a
+->
+\91h_addr
+.
+addr_by\8bs
+[0],
+
+1358 
+Ãw_nd_d©a
+->
+\91h_addr
+.
+addr_by\8bs
+[1],
+
+1359 
+Ãw_nd_d©a
+->
+\91h_addr
+.
+addr_by\8bs
+[2],
+
+1360 
+Ãw_nd_d©a
+->
+\91h_addr
+.
+addr_by\8bs
+[3],
+
+1361 
+Ãw_nd_d©a
+->
+\91h_addr
+.
+addr_by\8bs
+[4],
+
+1362 
+Ãw_nd_d©a
+->
+\91h_addr
+.
+addr_by\8bs
+[5], 
+pÜtid
+);
+
+1363 
+       `RTE_LOG
+(
+INFO
+, 
+LIBARP
+, "\tipv6=");
+
+1364 \ f
+i
+ = 0; i < 
+ND_IPV6_ADDR_SIZE
+; i += 2) {
+
+1365 
+Ãw_nd_d©a
+->
+\9dv6
+[
+i
+] = ipv6[i];
+
+1366 
+       `RTE_LOG
+(
+INFO
+, 
+LIBARP
+, "%02X%02X ", 
+Ãw_nd_d©a
+->
+\9dv6
+[
+i
+],
+
+1367 
+Ãw_nd_d©a
+->
+\9dv6
+[
+i
+ + 1]);
+
+1370 
+       `RTE_LOG
+(
+INFO
+, 
+LIBARP
+, "\n");
+
+1372 
+       `puts
+("");
+
+1374 
+       }
+}
+
+1376 \1e
+       $´\9at_pkt1
+(\19
+¹e_mbuf
+ *
+pkt
+)
+
+1378 
+u\9at8_t
+ *
+rd
+ = 
+       `RTE_MBUF_METADATA_UINT8_PTR
+(
+pkt
+, 0);
+
+1379 \12
+i
+ = 0, 
+j
+ = 0;
+
+1380 
+       `RTE_LOG
+(
+INFO
+, 
+LIBARP
+, "\nPacket Contents...\n");
+
+1381 \ f
+i
+ = 0; i < 20; i++) {
+
+1382 \ f
+j
+ = 0; j < 20; j++)
+
+1383 
+       `RTE_LOG
+(
+INFO
+, 
+LIBARP
+, "%02x ", 
+rd
+[(20 * 
+i
+è+ 
+j
+]);
+
+1384 
+       `RTE_LOG
+(
+INFO
+, 
+LIBARP
+, "\n");
+
+1386 
+       }
+}
+
+1388 \19
+\91h\94_addr
+       gbrßdÿ¡_\91h\94_addr
+ = {
+
+1389 .
+addr_by\8bs
+[0] = 0xFF,
+
+1390 .
+       gaddr_by\8bs
+[1] = 0xFF,
+
+1391 .
+       gaddr_by\8bs
+[2] = 0xFF,
+
+1392 .
+       gaddr_by\8bs
+[3] = 0xFF,
+
+1393 .
+       gaddr_by\8bs
+[4] = 0xFF,
+
+1394 .
+       gaddr_by\8bs
+[5] = 0xFF,
+
+1397 \18cڡ \19
+\91h\94_addr
+       gnuÎ_\91h\94_addr
+ = {
+
+1398 .
+addr_by\8bs
+[0] = 0x00,
+
+1399 .
+       gaddr_by\8bs
+[1] = 0x00,
+
+1400 .
+       gaddr_by\8bs
+[2] = 0x00,
+
+1401 .
+       gaddr_by\8bs
+[3] = 0x00,
+
+1402 .
+       gaddr_by\8bs
+[4] = 0x00,
+
+1403 .
+       gaddr_by\8bs
+[5] = 0x00,
+
+1406 \ 1
+       #MAX_NUM_MAC_ADDRESS
+ 16
+
+       )
+
+1407 \19
+\91h\94_addr
+       gl\9ak_hw_addr
+[
+MAX_NUM_MAC_ADDRESS
+] = {
+
+1408 {.
+addr_by\8bs
+ = {0x90, 0xe2, 0xba, 0x54, 0x67, 0xc8} },
+
+1409 {.
+       gaddr_by\8bs
+ = {0x90, 0xe2, 0xba, 0x54, 0x67, 0xc9} },
+
+1410 {.
+       gaddr_by\8bs
+ = {0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11} },
+
+1411 {.
+       gaddr_by\8bs
+ = {0x12, 0x13, 0x14, 0x15, 0x16, 0x17} },
+
+1412 {.
+       gaddr_by\8bs
+ = {0x22, 0x33, 0x44, 0x55, 0x66, 0x77} },
+
+1413 {.
+       gaddr_by\8bs
+ = {0x12, 0x13, 0x14, 0x15, 0x16, 0x17} },
+
+1414 {.
+       gaddr_by\8bs
+ = {0x22, 0x33, 0x44, 0x55, 0x66, 0x77} },
+
+1415 {.
+       gaddr_by\8bs
+ = {0x90, 0xe2, 0xba, 0x54, 0x67, 0xc9} },
+
+1416 {.
+       gaddr_by\8bs
+ = {0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11} },
+
+1417 {.
+       gaddr_by\8bs
+ = {0x12, 0x13, 0x14, 0x15, 0x16, 0x17} },
+
+1418 {.
+       gaddr_by\8bs
+ = {0x22, 0x33, 0x44, 0x55, 0x66, 0x77} },
+
+1419 {.
+       gaddr_by\8bs
+ = {0x12, 0x13, 0x14, 0x15, 0x16, 0x17} },
+
+1420 {.
+       gaddr_by\8bs
+ = {0x22, 0x33, 0x44, 0x55, 0x66, 0x77} },
+
+1421 {.
+       gaddr_by\8bs
+ = {0x12, 0x13, 0x14, 0x15, 0x16, 0x17} },
+
+1422 {.
+       gaddr_by\8bs
+ = {0x22, 0x33, 0x44, 0x55, 0x66, 0x77} },
+
+1423 {.
+       gaddr_by\8bs
+ = {0x18, 0x19, 0x1a, 0x1b, 0xcd, 0xef} }
+
+1426 \19
+\91h\94_addr
+ *
+       $g\91_l\9ak_hw_addr
+(
+u\9at8_t
+out_pÜt
+)
+
+1428 \15 &
+l\9ak_hw_addr
+[
+out_pÜt
+];
+
+1429 
+       }
+}
+
+1431 \1e
+       $»que¡_¬p
+(
+u\9at8_t
+pÜt_id
+, 
+u\9at32_t
+\9d
+)
+
+1434 \19
+\91h\94_hdr
+ *
+\91h_h
+;
+
+1435 \19
+¬p_hdr
+ *
+¬p_h
+;
+
+1437 
+l2_phy_\9a\8brçû_t
+ *
+l\9ak
+;
+
+1438 
+l\9ak
+ = 
+       `ifm_g\91_pÜt
+(
+pÜt_id
+);
+
+1439 \19
+¹e_mbuf
+ *
+¬p_pkt
+ = 
+lib_¬p_pkt
+;
+
+1441 ià(
+¬p_pkt
+ =ð
+NULL
+) {
+
+1442 ià(
+ARPICMP_DEBUG
+)
+
+1443 
+       `RTE_LOG
+(
+INFO
+, 
+LIBARP
+,
+
+1448 
+\91h_h
+ = 
+       `¹e_pktmbuf_mtod
+(
+¬p_pkt
+, \19
+\91h\94_hdr
+ *);
+
+1450 
+       `\91h\94_addr_cÝy
+(&
+brßdÿ¡_\91h\94_addr
+, &
+\91h_h
+->
+d_addr
+);
+
+1451 
+       `\91h\94_addr_cÝy
+((\19
+\91h\94_addr
+ *)
+
+1452 &
+l\9ak
+->
+maÿddr
+[0], &
+\91h_h
+->
+s_addr
+);
+
+1453 
+\91h_h
+->
+\91h\94_ty³
+ = 
+       `CHECK_ENDIAN_16
+(
+ETHER_TYPE_ARP
+);
+
+1455 
+¬p_h
+ = (\19
+¬p_hdr
+ *)((\ 5*)
+\91h_h
+ + \17(\19
+\91h\94_hdr
+));
+
+1456 
+¬p_h
+->
+¬p_hrd
+ = 
+       `CHECK_ENDIAN_16
+(
+ARP_HRD_ETHER
+);
+
+1457 
+¬p_h
+->
+¬p_´o
+ = 
+       `CHECK_ENDIAN_16
+(
+ETHER_TYPE_IPv4
+);
+
+1458 
+¬p_h
+->
+¬p_hÊ
+ = 
+ETHER_ADDR_LEN
+;
+
+1459 
+¬p_h
+->
+¬p_¶n
+ = \17(
+u\9at32_t
+);
+
+1460 
+¬p_h
+->
+¬p_Ý
+ = 
+       `CHECK_ENDIAN_16
+(
+ARP_OP_REQUEST
+);
+
+1462 
+       `\91h\94_addr_cÝy
+((\19
+\91h\94_addr
+ *)
+
+1463 &
+l\9ak
+->
+maÿddr
+[0], &
+¬p_h
+->
+¬p_d©a
+.
+¬p_sha
+);
+
+1464 ià(
+l\9ak
+ &&\86\9ak->
+\9dv4_li¡
+) {
+
+1465 
+¬p_h
+->
+¬p_d©a
+.
+¬p_s\9d
+ =
+
+1466 (((
+\9dv4li¡_t
+ *è(
+l\9ak
+->
+\9dv4_li¡
+))->
+\9daddr
+);
+
+1468 
+       `\91h\94_addr_cÝy
+(&
+nuÎ_\91h\94_addr
+, &
+¬p_h
+->
+¬p_d©a
+.
+¬p_tha
+);
+
+1469 
+¬p_h
+->
+¬p_d©a
+.
+¬p_t\9d
+ = 
+       `¹e_ýu_to_be_32
+(
+\9d
+);
+
+1470 ià(
+ARPICMP_DEBUG
+)
+
+1471 
+       `RTE_LOG
+(
+INFO
+, 
+LIBARP
+, "arp\81ip:%x\87rp sip :%x\n",
+
+1472 
+¬p_h
+->
+¬p_d©a
+.
+¬p_t\9d
+,\87½_h->¬p_d©a.
+¬p_s\9d
+);
+
+1474 
+¬p_pkt
+->
+pkt_Ën
+ = 42;
+
+1475 
+¬p_pkt
+->
+d©a_Ën
+ = 42;
+
+1477 ià(
+ARPICMP_DEBUG
+) {
+
+1478 
+       `RTE_LOG
+(
+INFO
+, 
+LIBARP
+, "Sending\87rp\84equest\n");
+
+1479 
+       `´\9at_mbuf
+("TX", 
+pÜt_id
+, 
+¬p_pkt
+, 
+__LINE__
+);
+
+1481 ià(
+l\9ak
+)
+
+1482 
+l\9ak
+->
+       `\8cªsm\99_s\9agË_pkt
+֚k, 
+¬p_pkt
+);
+
+1483 
+       }
+}
+
+1485 \19
+¹e_mbuf
+ *
+       $»que¡_echo
+(
+u\9at32_t
+pÜt_id
+, u\9at32_\88
+\9d
+)
+
+1487 \19
+\91h\94_hdr
+ *
+\91h_h
+;
+
+1488 \19
+\9dv4_hdr
+ *
+\9d_h
+;
+
+1489 \19
+icmp_hdr
+ *
+icmp_h
+;
+
+1490 
+l2_phy_\9a\8brçû_t
+ *
+pÜt
+ = 
+       `ifm_g\91_pÜt
+(
+pÜt_id
+);
+
+1492 \19
+¹e_mbuf
+ *
+icmp_pkt
+ = 
+lib_¬p_pkt
+;
+
+1493 ià(
+icmp_pkt
+ =ð
+NULL
+) {
+
+1494 ià(
+ARPICMP_DEBUG
+)
+
+1495 
+       `RTE_LOG
+(
+INFO
+, 
+LIBARP
+,
+
+1497 \15 
+NULL
+;
+
+1500 
+\91h_h
+ = 
+       `¹e_pktmbuf_mtod
+(
+icmp_pkt
+, \19
+\91h\94_hdr
+ *);
+
+1502 
+\9d_h
+ = (\19
+\9dv4_hdr
+ *)((\ 5*)
+\91h_h
+ + \17(\19
+\91h\94_hdr
+));
+
+1503 
+icmp_h
+ = (\19
+icmp_hdr
+ *)((\ 5*)
+\9d_h
+ + \17(\19
+\9dv4_hdr
+));
+
+1505 
+\9d_h
+->
+v\94siÚ_ihl
+ = 
+IP_VHL_DEF
+;
+
+1506 
+\9d_h
+->
+ty³_of_£rviû
+ = 0;
+
+1507 
+\9d_h
+->
+tÙ®_Ëngth
+ =
+
+1508 
+       `¹e_ýu_to_be_16
+(\17(\19
+\9dv4_hdr
+è+ \17(\19
+icmp_hdr
+));
+
+1509 
+\9d_h
+->
+·ck\91_id
+ = 0xaabb;
+
+1510 
+\9d_h
+->
+äagm\92t_off£t
+ = 0x0000;
+
+1511 
+\9d_h
+->
+time_to_live
+ = 64;
+
+1512 
+\9d_h
+->
+Ãxt_´Ùo_id
+ = 
+IPPROTO_ICMP
+;
+
+1513 ià(
+pÜt
+ &&\85Üt->
+\9dv4_li¡
+)
+
+1514 
+\9d_h
+->
+¤c_addr
+ =
+
+1515 
+       `¹e_ýu_to_be_32
+(((
+\9dv4li¡_t
+ *è
+pÜt
+->
+\9dv4_li¡
+)->
+\9daddr
+);
+
+1516 
+\9d_h
+->
+d¡_addr
+ = 
+       `¹e_ýu_to_be_32
+(
+\9d
+);
+
+1518 
+\9d_h
+->
+hdr_checksum
+ = 0;
+
+1519 
+\9d_h
+->
+hdr_checksum
+ = 
+       `¹e_\9dv4_cksum
+(ip_h);
+
+1521 
+icmp_h
+->
+icmp_ty³
+ = 
+IP_ICMP_ECHO_REQUEST
+;
+
+1522 
+icmp_h
+->
+icmp_code
+ = 0;
+
+1523 
+icmp_h
+->
+icmp_id\92t
+ = 0xdead;
+
+1524 
+icmp_h
+->
+icmp_£q_nb
+ = 0xbeef;
+
+1526 
+icmp_h
+->
+icmp_cksum
+ = ~
+       `¹e_¿w_cksum
+(icmp_h, \17(\19
+icmp_hdr
+));
+
+1528 
+icmp_pkt
+->
+pkt_Ën
+ =
+
+1529 \17(\19
+\91h\94_hdr
+è+ \17(\19
+\9dv4_hdr
+) +
+
+1530 \17(\19
+icmp_hdr
+);
+
+1531 
+icmp_pkt
+->
+d©a_Ën
+ = icmp_pkt->
+pkt_Ën
+;
+
+1533 
+       `´\9at_mbuf
+("TX", 0, 
+icmp_pkt
+, 
+__LINE__
+);
+
+1535 \15 
+icmp_pkt
+;
+
+1536 
+       }
+}
+
+1543 \19
+¹e_mbuf
+ *
+       $£nd_icmp_de¡_uÄ\97chabË_msg
+(
+u\9at32_t
+¤c_\9d
+,
+
+1544 
+u\9at32_t
+de¡_\9d
+)
+
+1546 \19
+\91h\94_hdr
+ *
+\91h_h
+;
+
+1547 \19
+\9dv4_hdr
+ *
+\9d_h
+;
+
+1548 \19
+icmp_hdr
+ *
+icmp_h
+;
+
+1549 \19
+¹e_mbuf
+ *
+icmp_pkt
+ = 
+lib_¬p_pkt
+;
+
+1551 ià(
+icmp_pkt
+ =ð
+NULL
+) {
+
+1552 ià(
+ARPICMP_DEBUG
+)
+
+1553 
+       `RTE_LOG
+(
+INFO
+, 
+LIBARP
+,
+
+1555 \15 
+NULL
+;
+
+1558 
+\91h_h
+ = 
+       `¹e_pktmbuf_mtod
+(
+icmp_pkt
+, \19
+\91h\94_hdr
+ *);
+
+1559 
+\9d_h
+ = (\19
+\9dv4_hdr
+ *)((\ 5*)
+\91h_h
+ + \17(\19
+\91h\94_hdr
+));
+
+1560 
+icmp_h
+ = (\19
+icmp_hdr
+ *)((\ 5*)
+\9d_h
+ + \17(\19
+\9dv4_hdr
+));
+
+1562 
+\9d_h
+->
+v\94siÚ_ihl
+ = 
+IP_VHL_DEF
+;
+
+1563 
+\9d_h
+->
+ty³_of_£rviû
+ = 0;
+
+1564 
+\9d_h
+->
+tÙ®_Ëngth
+ =
+
+1565 
+       `¹e_ýu_to_be_16
+(\17(\19
+\9dv4_hdr
+è+ \17(\19
+icmp_hdr
+));
+
+1566 
+\9d_h
+->
+·ck\91_id
+ = 0xaabb;
+
+1567 
+\9d_h
+->
+äagm\92t_off£t
+ = 0x0000;
+
+1568 
+\9d_h
+->
+time_to_live
+ = 64;
+
+1569 
+\9d_h
+->
+Ãxt_´Ùo_id
+ = 1;
+
+1571 
+\9d_h
+->
+d¡_addr
+ = 
+       `¹e_bsw­32
+(
+de¡_\9d
+);
+
+1572 
+\9d_h
+->
+¤c_addr
+ = 
+       `¹e_bsw­32
+(
+¤c_\9d
+);
+
+1574 
+\9d_h
+->
+hdr_checksum
+ = 0;
+
+1575 
+\9d_h
+->
+hdr_checksum
+ = 
+       `¹e_\9dv4_cksum
+(ip_h);
+
+1577 
+icmp_h
+->
+icmp_ty³
+ = 3;
+
+1578 
+icmp_h
+->
+icmp_code
+ = 13;
+
+1580 
+icmp_h
+->
+icmp_cksum
+ = ~
+       `¹e_¿w_cksum
+(icmp_h, \17(\19
+icmp_hdr
+));
+
+1582 
+icmp_pkt
+->
+pkt_Ën
+ = \17(\19
+\91h\94_hdr
+è+ \17(\19
+\9dv4_hdr
+) +
+
+1583 \17(\19
+icmp_hdr
+);
+
+1584 
+icmp_pkt
+->
+d©a_Ën
+ = icmp_pkt->
+pkt_Ën
+;
+
+1586 \15 
+icmp_pkt
+;
+
+1587 
+       }
+}
+
+1590 
+       $´oûss_¬picmp_pkt_·r£
+(\19
+¹e_mbuf
+ **
+pkt
+, 
+u\9at16_t
+pkt_num
+,
+
+1591 
+u\9at64_t
+pkt_mask
+, 
+l2_phy_\9a\8brçû_t
+ *
+pÜt
+)
+
+1593 
+       `RTE_SET_USED
+(
+pkt_num
+);
+
+1594 ià(
+ARPICMP_DEBUG
+)
+
+1595 
+       `RTE_LOG
+(
+INFO
+, 
+LIBARP
+,
+
+1597 ià(
+pkt_mask
+) {
+
+1598 ià(
+ARPICMP_DEBUG
+)
+
+1599 
+       `RTE_LOG
+(
+INFO
+, 
+LIBARP
+,
+
+1603 
+u\9at64_t
+pkts_fÜ_´oûss
+ = 
+pkt_mask
+;
+
+1604 \ f
+pkts_fÜ_´oûss
+;) {
+
+1606 
+u\9at8_t
+pos
+ = (u\9at8_tè
+       `__bu\9et\9a_ùzÎ
+(
+pkts_fÜ_´oûss
+);
+
+1607 
+u\9at64_t
+pkts_mask
+ = 1LLU << 
+pos
+;
+
+1608 
+pkts_fÜ_´oûss
+ &ð~
+pkts_mask
+;
+
+1609 
+       `´oûss_¬picmp_pkt
+(
+pkt
+[
+pos
+], 
+pÜt
+);
+
+1612 
+       }
+}
+
+1614 \1e
+       $´oûss_¬picmp_pkt
+(\19
+¹e_mbuf
+ *
+pkt
+, 
+l2_phy_\9a\8brçû_t
+ *
+pÜt
+)
+
+1616 
+u\9at8_t
+\9a_pÜt_id
+ = 
+pkt
+->
+pÜt
+;
+
+1617 \19
+\91h\94_hdr
+ *
+\91h_h
+;
+
+1618 \19
+¬p_hdr
+ *
+¬p_h
+;
+
+1619 \19
+\9dv4_hdr
+ *
+\9d_h
+;
+
+1620 \19
+icmp_hdr
+ *
+icmp_h
+;
+
+1622 
+u\9at32_t
+cksum
+;
+
+1623 
+u\9at32_t
+\9d_addr
+;
+
+1625 
+u\9at32_t
+»q_t\9d
+;
+
+1627 
+\91h_h
+ = 
+       `¹e_pktmbuf_mtod
+(
+pkt
+, \19
+\91h\94_hdr
+ *);
+
+1629 ià(
+\91h_h
+->
+\91h\94_ty³
+ =ð
+       `¹e_ýu_to_be_16
+(
+ETHER_TYPE_ARP
+)) {
+
+1630 ià(
+ARPICMP_DEBUG
+)
+
+1631 
+       `RTE_LOG
+(
+INFO
+, 
+LIBARP
+, "%s,\85ortid %u. Line %d\n\r",
+
+1632 
+__FUNCTION__
+, 
+pÜt
+->
+pmdid
+, 
+__LINE__
+);
+
+1633 
+¬p_h
+ =
+
+1634 (\19
+¬p_hdr
+ *)((\ 5*)
+\91h_h
+ +
+
+1635 \17(\19
+\91h\94_hdr
+));
+
+1636 ià(
+       `CHECK_ENDIAN_16
+(
+¬p_h
+->
+¬p_hrd
+è!ð
+ARP_HRD_ETHER
+)
+
+1637 
+       `RTE_LOG
+(
+INFO
+, 
+LIBARP
+,
+
+1639 \vià(
+       `CHECK_ENDIAN_16
+(
+¬p_h
+->
+¬p_´o
+è!ð
+ETHER_TYPE_IPv4
+)
+
+1640 
+       `RTE_LOG
+(
+INFO
+, 
+LIBARP
+,
+
+1642 \vià(
+¬p_h
+->
+¬p_hÊ
+ != 6)
+
+1643 
+       `RTE_LOG
+(
+INFO
+, 
+LIBARP
+,
+
+1645 \vià(
+¬p_h
+->
+¬p_¶n
+ != 4)
+
+1646 
+       `RTE_LOG
+(
+INFO
+, 
+LIBARP
+,
+
+1649 ià(
+pÜt
+->
+\9dv4_li¡
+ =ð
+NULL
+) {
+
+1650 
+       `RTE_LOG
+(
+INFO
+, 
+LIBARP
+,
+
+1655 ià(
+¬p_h
+->
+¬p_d©a
+.
+¬p_t\9d
+ !=
+
+1656 ((
+\9dv4li¡_t
+ *è(
+pÜt
+->
+\9dv4_li¡
+))->
+\9daddr
+) {
+
+1657 ià(
+¬p_h
+->
+¬p_d©a
+.
+¬p_t\9d
+ =ð¬p_h->¬p_d©a.
+¬p_s\9d
+) {
+
+1658 
+       `pÝuÏ\8b_¬p_\92\8cy
+(
+
+1659 (\19
+\91h\94_addr
+ *)&
+¬p_h
+->
+¬p_d©a
+.
+¬p_sha
+,
+
+1660 
+       `¹e_ýu_to_be_32
+(
+¬p_h
+->
+¬p_d©a
+.
+¬p_s\9d
+),
+
+1661 
+\9a_pÜt_id
+,
+
+1662 
+DYNAMIC_ARP
+);
+
+1665 
+       `RTE_LOG
+(
+INFO
+, 
+LIBARP
+,"ARP\84equested IP\87ddress mismatches interface IP - discarding\n");
+
+1670 \vià(
+¬p_h
+->
+¬p_Ý
+ ==
+
+1671 
+       `¹e_ýu_to_be_16
+(
+ARP_OP_REQUEST
+)) {
+
+1672 ià(
+ARPICMP_DEBUG
+) {
+
+1673 
+       `RTE_LOG
+(
+INFO
+, 
+LIBARP
+,
+
+1675 
+__FUNCTION__
+, 
+pÜt
+->
+pmdid
+,
+
+1676 
+__LINE__
+);
+
+1678 
+       `RTE_LOG
+(
+INFO
+, 
+LIBARP
+,
+
+1680 
+¬p_h
+->
+¬p_Ý
+,
+
+1681 
+¹e_ýu_to_be_16
+
+
+1682 (
+ARP_OP_REQUEST
+));
+
+1683 
+       `´\9at_mbuf
+("RX", 
+\9a_pÜt_id
+, 
+pkt
+,
+
+1684 
+__LINE__
+);
+
+1687 
+       `pÝuÏ\8b_¬p_\92\8cy
+((\19
+\91h\94_addr
+ *)
+
+1688 &
+¬p_h
+->
+¬p_d©a
+.
+¬p_sha
+,
+
+1689 
+¹e_ýu_to_be_32
+
+
+1690 (
+¬p_h
+->
+¬p_d©a
+.
+¬p_s\9d
+),
+
+1691 
+\9a_pÜt_id
+, 
+DYNAMIC_ARP
+);
+
+1694 
+»q_t\9d
+ = 
+¬p_h
+->
+¬p_d©a
+.
+¬p_t\9d
+;
+
+1695 
+       `\91h\94_addr_cÝy
+(&
+\91h_h
+->
+s_addr
+, &\91h_h->
+d_addr
+);
+
+1696 
+       `\91h\94_addr_cÝy
+((\19
+\91h\94_addr
+ *)&
+pÜt
+->
+maÿddr
+[0], &
+\91h_h
+->
+s_addr
+);
+
+1697 
+¬p_h
+->
+¬p_Ý
+ = 
+       `¹e_ýu_to_be_16
+(
+ARP_OP_REPLY
+);
+
+1698 
+       `\91h\94_addr_cÝy
+(&
+\91h_h
+->
+s_addr
+,
+
+1699 &
+¬p_h
+->
+¬p_d©a
+.
+¬p_sha
+);
+
+1700 
+¬p_h
+->
+¬p_d©a
+.
+¬p_t\9d
+ =
+
+1701 
+¬p_h
+->
+¬p_d©a
+.
+¬p_s\9d
+;
+
+1702 
+¬p_h
+->
+¬p_d©a
+.
+¬p_s\9d
+ = 
+»q_t\9d
+;
+
+1703 
+       `\91h\94_addr_cÝy
+(&
+\91h_h
+->
+d_addr
+,
+
+1704 &
+¬p_h
+->
+¬p_d©a
+.
+¬p_tha
+);
+
+1706 ià(
+ARPICMP_DEBUG
+)
+
+1707 
+       `´\9at_mbuf
+("TX ARP REPLY PKT",
+
+1708 
+pÜt
+->
+pmdid
+, 
+pkt
+, 
+__LINE__
+);
+
+1709 
+pÜt
+->
+       `\8cªsm\99_bulk_pkts
+ÕÜt, &
+pkt
+, 1);
+
+1710 ià(
+ARPICMP_DEBUG
+)
+
+1711 
+       `´\9at_mbuf
+("TX", 
+pÜt
+->
+pmdid
+, 
+pkt
+,
+
+1712 
+__LINE__
+);
+
+1715 } \vià(
+¬p_h
+->
+¬p_Ý
+ ==
+
+1716 
+       `¹e_ýu_to_be_16
+(
+ARP_OP_REPLY
+)) {
+
+1717 ià(
+ARPICMP_DEBUG
+) {
+
+1718 
+       `RTE_LOG
+(
+INFO
+, 
+LIBARP
+,
+
+1720 
+       `´\9at_mbuf
+("RX", 
+pÜt
+->
+pmdid
+, 
+pkt
+,
+
+1721 
+__LINE__
+);
+
+1723 
+       `pÝuÏ\8b_¬p_\92\8cy
+((\19
+\91h\94_addr
+ *)
+
+1724 &
+¬p_h
+->
+¬p_d©a
+.
+¬p_sha
+,
+
+1725 
+       `¹e_bsw­32
+(
+¬p_h
+->
+
+1726 
+¬p_d©a
+.
+¬p_s\9d
+),
+
+1727 
+\9a_pÜt_id
+, 
+DYNAMIC_ARP
+);
+
+1731 ià(
+ARPICMP_DEBUG
+)
+
+1732 
+       `RTE_LOG
+(
+INFO
+, 
+LIBARP
+,
+
+1734 
+¬p_h
+->
+¬p_Ý
+);
+
+1738 
+       `¹e_pktmbuf_ä\93
+(
+pkt
+);
+
+1740 
+\9d_h
+ =
+
+1741 (\19
+\9dv4_hdr
+ *)((\ 5*)
+\91h_h
+ +
+
+1742 \17(\19
+\91h\94_hdr
+));
+
+1743 
+icmp_h
+ =
+
+1744 (\19
+icmp_hdr
+ *)((\ 5*)
+\9d_h
+ + \17(\19
+\9dv4_hdr
+));
+
+1746 ià(
+\91h_h
+->
+\91h\94_ty³
+ =ð
+       `¹e_ýu_to_be_16
+(
+ETHER_TYPE_IPv4
+)) {
+
+1748 ià(
+\9d_h
+->
+Ãxt_´Ùo_id
+ !ð
+IPPROTO_ICMP
+) {
+
+1749 ià(
+ARPICMP_DEBUG
+) {
+
+1750 
+       `RTE_LOG
+(
+INFO
+, 
+LIBARP
+,
+
+1753 } \vià((
+\9d_h
+->
+v\94siÚ_ihl
+ & 0xf0è!ð
+IP_VERSION_4
+) {
+
+1754 ià(
+ARPICMP_DEBUG
+) {
+
+1755 
+       `RTE_LOG
+(
+INFO
+, 
+LIBARP
+,
+
+1758 } \vià((
+\9d_h
+->
+v\94siÚ_ihl
+ & 0x0fè!ð
+IP_HDRLEN
+) {
+
+1759 ià(
+ARPICMP_DEBUG
+) {
+
+1760 
+       `RTE_LOG
+(
+INFO
+, 
+LIBARP
+,
+
+1764 ià(
+icmp_h
+->
+icmp_ty³
+ =ð
+IP_ICMP_ECHO_REQUEST
+
+
+1765 && 
+icmp_h
+->
+icmp_code
+ == 0) {
+
+1766 ià(
+ARPICMP_DEBUG
+)
+
+1767 
+       `´\9at_mbuf
+("RX", 
+\9a_pÜt_id
+,
+
+1768 
+pkt
+, 
+__LINE__
+);
+
+1770 
+\9d_addr
+ = 
+\9d_h
+->
+¤c_addr
+;
+
+1771 
+       `\91h\94_addr_cÝy
+(&
+\91h_h
+->
+s_addr
+,
+
+1772 &
+\91h_h
+->
+d_addr
+);
+
+1773 
+       `\91h\94_addr_cÝy
+((\19
+\91h\94_addr
+ *)
+
+1774 &
+pÜt
+->
+maÿddr
+[0],
+
+1775 &
+\91h_h
+->
+s_addr
+);
+
+1776 ià(
+ARPICMP_DEBUG
+)
+
+1777 
+       `RTE_LOG
+(
+INFO
+, 
+LIBARP
+,
+
+1779 
+__FUNCTION__
+,
+
+1780 
+pÜt
+->
+pmdid
+, 
+__LINE__
+);
+
+1782 ià(
+is_muÉiÿ¡_\9dv4_addr
+
+
+1783 (
+\9d_h
+->
+d¡_addr
+)) {
+
+1784 
+u\9at32_t
+\9d_¤c
+;
+
+1786 
+\9d_¤c
+ =
+
+1787 
+       `¹e_be_to_ýu_32
+(
+\9d_addr
+);
+
+1788 ià((
+\9d_¤c
+ & 0x00000003) == 1)
+
+1789 
+\9d_¤c
+ =
+
+1790 (
+\9d_¤c
+ &
+
+1794 
+\9d_¤c
+ =
+
+1795 (
+\9d_¤c
+ &
+
+1798 
+\9d_h
+->
+¤c_addr
+ =
+
+1799 
+       `¹e_ýu_to_be_32
+(
+\9d_¤c
+);
+
+1800 
+\9d_h
+->
+d¡_addr
+ = 
+\9d_addr
+;
+
+1802 
+\9d_h
+->
+hdr_checksum
+ = 0;
+
+1803 
+\9d_h
+->
+hdr_checksum
+ =
+
+1804 ~
+       `¹e_¿w_cksum
+(
+\9d_h
+,
+
+1806 
+\9dv4_hdr
+));
+
+1808 ià(
+ARPICMP_DEBUG
+)
+
+1809 
+       `RTE_LOG
+(
+INFO
+, 
+LIBARP
+,
+
+1811 
+__FUNCTION__
+,
+
+1812 
+pÜt
+->
+pmdid
+,
+
+1813 
+__LINE__
+);
+
+1814 
+\9d_h
+->
+¤c_addr
+ = ip_h->
+d¡_addr
+;
+
+1815 
+\9d_h
+->
+d¡_addr
+ = 
+\9d_addr
+;
+
+1818 
+icmp_h
+->
+icmp_ty³
+ = 
+IP_ICMP_ECHO_REPLY
+;
+
+1819 
+cksum
+ = ~
+icmp_h
+->
+icmp_cksum
+ & 0xffff;
+
+1820 
+cksum
+ +=
+
+1821 ~
+       `htÚs
+(
+IP_ICMP_ECHO_REQUEST
+ << 8) &
+
+1823 
+cksum
+ +ð
+       `htÚs
+(
+IP_ICMP_ECHO_REPLY
+ << 8);
+
+1824 
+cksum
+ =
+
+1825 (
+cksum
+ & 0xffff) + (cksum >> 16);
+
+1826 
+cksum
+ =
+
+1827 (
+cksum
+ & 0xffff) + (cksum >> 16);
+
+1828 
+icmp_h
+->
+icmp_cksum
+ = ~
+cksum
+;
+
+1830 ià(
+ARPICMP_DEBUG
+)
+
+1831 
\9at_mbuf
+
+
+1833 
+\9a_pÜt_id
+, 
+pkt
+, 
+__LINE__
+);
+
+1834 
+pÜt
+->
+       `\8cªsm\99_bulk_pkts
+ÕÜt, &
+pkt
+, 1);
+
+1835 ià(
+ARPICMP_DEBUG
+)
+
+1836 
+       `´\9at_mbuf
+("TX", 
+pÜt
+->
+pmdid
+,
+
+1837 
+pkt
+, 
+__LINE__
+);
+
+1840 } \vià(
+icmp_h
+->
+icmp_ty³
+ ==
+
+1841 
+IP_ICMP_ECHO_REPLY
+
+
+1842 && 
+icmp_h
+->
+icmp_code
+ == 0) {
+
+1843 ià(
+ARPICMP_DEBUG
+)
+
+1844 
+       `´\9at_mbuf
+("RX", 
+\9a_pÜt_id
+,
+
+1845 
+pkt
+, 
+__LINE__
+);
+
+1847 \19
+¬p_key_\9dv4
+¬p_key
+;
+
+1848 
+¬p_key
+.
+pÜt_id
+ = 
+\9a_pÜt_id
+;
+
+1849 
+¬p_key
+.
+\9d
+ =
+
+1850 
+       `¹e_bsw­32
+(
+\9d_h
+->
+¤c_addr
+);
+
+1851 
+¬p_key
+.
+f\9eËr1
+ = 0;
+
+1852 
+¬p_key
+.
+f\9eËr2
+ = 0;
+
+1853 
+¬p_key
+.
+f\9eËr3
+ = 0;
+
+1855 \19
+¬p_\92\8cy_d©a
+ *
+¬p_\92\8cy
+ =
+
+1856 
+       `»\8c\9bve_¬p_\92\8cy
+(
+¬p_key
+);
+
+1857 ià(
+¬p_\92\8cy
+ =ð
+NULL
+) {
+
+1858 ià(
+ARPICMP_DEBUG
+)
+
+1859 
+       `RTE_LOG
+(
+INFO
+, 
+LIBARP
+,
+
+1861 
+¬p_key
+.
+\9d
+,
+
+1862 
+¬p_key
+.
+pÜt_id
+);
+
+1865 
+¬p_\92\8cy
+->
+¡©us
+ = 
+COMPLETE
+;
+
+1870 
+       `¹e_pktmbuf_ä\93
+(
+pkt
+);
+
+1872 
+       }
+}
+
+1885 \18\12
+       $my_\9a\91_±Ú_\9dv6
+(\12
+af
+, cڡ \ 5*
+¤c
+, \1e*
+d¡
+)
+
+1887 \1a
+af
+) {
+
+1888 \ 4
+AF_INET
+:
+
+1889 \15 
+       `\9a\91_±Ú_\9dv4
+(
+¤c
+, 
+d¡
+);
+
+1890 \ 4
+AF_INET6
+:
+
+1891 \15 
+       `\9a\91_±Ú_\9dv6
+(
+¤c
+, 
+d¡
+);
+
+1893 
+\94ºo
+ = 
+EAFNOSUPPORT
+;
+
+1897 
+       }
+}
+
+1909 \18\12
+       $\9a\91_±Ú_\9dv4
+(cڡ \ 5*
+¤c
+, \1d\ 5*
+d¡
+)
+
+1911 \18cڡ \ 5
+dig\99s
+[] = "0123456789";
+
+1912 \12
+§w_dig\99
+, 
+où\91s
+, 
+ch
+;
+
+1913 \1d\ 5
+tmp
+[
+INADDRSZ
+], *
+\8d
+;
+
+1915 
+§w_dig\99
+ = 0;
+
+1916 
+où\91s
+ = 0;
+
+1917 *(
+\8d
+ = 
+tmp
+) = 0;
+
+1918 \1f(
+ch
+ = *
+¤c
+++) != '\0') {
+
+1919 cڡ \ 5*
+pch
+;
+
+1921 
+pch
+ = 
+       `¡rchr
+(
+dig\99s
+, 
+ch
+);
+
+1922 ià(
+pch
+ !ð
+NULL
+) {
+
+1923 \1d\12
+Ãw
+ = *
+\8d
+ * 10 + (
+pch
+ - 
+dig\99s
+);
+
+1925 ià(
+Ãw
+ > 255)
+
+1927 ià(!
+§w_dig\99
+) {
+
+1928 ià(++
+où\91s
+ > 4)
+
+1930 
+§w_dig\99
+ = 1;
+
+1932 *
+\8d
+ = (\1d\ 5)
+Ãw
+;
+
+1933 } \vià(
+ch
+ =ð'.' && 
+§w_dig\99
+) {
+
+1934 ià(
+où\91s
+ == 4)
+
+1936 *++
+\8d
+ = 0;
+
+1937 
+§w_dig\99
+ = 0;
+
+1941 ià(
+où\91s
+ < 4)
+
+1944 
+       `memýy
+(
+d¡
+, 
+tmp
+, 
+INADDRSZ
+);
+
+1946 
+       }
+}
+
+1961 \18\12
+       $\9a\91_±Ú_\9dv6
+(cڡ \ 5*
+¤c
+, \1d\ 5*
+d¡
+)
+
+1963 \18cڡ \ 5
+xdig\99s_l
+[] = "0123456789abcdef",
+
+1964 
+xdig\99s_u
+[] = "0123456789ABCDEF";
+
+1965 \1d\ 5
+tmp
+[
+IN6ADDRSZ
+], *
+\8d
+ = 0, *
+\92dp
+ = 0, *
+cÞÚp
+ = 0;
+
+1966 cڡ \ 5*
+xdig\99s
+ = 0, *
+cu¹ok
+ = 0;
+
+1967 \12
+ch
+ = 0, 
+§w_xdig\99
+ = 0, 
+couÁ_xdig\99
+ = 0;
+
+1968 \1d\12
+v®
+ = 0;
+
+1969 \1d\12
+dbloù_couÁ
+ = 0;
+
+1971 
+       `mem£t
+((
+\8d
+ = 
+tmp
+), '\0', 
+IN6ADDRSZ
+);
+
+1972 
+\92dp
+ = 
+\8d
+ + 
+IN6ADDRSZ
+;
+
+1973 
+cÞÚp
+ = 
+NULL
+;
+
+1975 ià(*
+¤c
+ == ':')
+
+1976 ià(*++
+¤c
+ != ':')
+
+1978 
+cu¹ok
+ = 
+¤c
+;
+
+1979 
+§w_xdig\99
+ = 
+couÁ_xdig\99
+ = 0;
+
+1980 
+v®
+ = 0;
+
+1982 \1f(
+ch
+ = *
+¤c
+++) != '\0') {
+
+1983 cڡ \ 5*
+pch
+;
+
+1985 
+pch
+ = 
+       `¡rchr
+((
+xdig\99s
+ = 
+xdig\99s_l
+), 
+ch
+);
+
+1986 ià(
+pch
+ =ð
+NULL
+)
+
+1987 
+pch
+ = 
+       `¡rchr
+((
+xdig\99s
+ = 
+xdig\99s_u
+), 
+ch
+);
+
+1988 ià(
+pch
+ !ð
+NULL
+) {
+
+1989 ià(
+couÁ_xdig\99
+ >= 4)
+
+1991 
+v®
+ <<= 4;
+
+1992 
+v®
+ |ð(
+pch
+ - 
+xdig\99s
+);
+
+1993 ià(
+v®
+ > 0xffff)
+
+1995 
+§w_xdig\99
+ = 1;
+
+1996 
+couÁ_xdig\99
+++;
+
+1999 ià(
+ch
+ == ':') {
+
+2000 
+cu¹ok
+ = 
+¤c
+;
+
+2001 ià(!
+§w_xdig\99
+) {
+
+2002 ià(
+cÞÚp
+)
+
+2004 
+cÞÚp
+ = 
+\8d
+;
+
+2006 } \vià(*
+¤c
+ == '\0') {
+
+2009 ià(
+\8d
+ + \17(
+\9at16_t
+è> 
+\92dp
+)
+
+2011 *
+\8d
+++ = (\1d\ 5)((
+v®
+ >> 8) & 0xff);
+
+2012 *
+\8d
+++ = (\1d\ 5)(
+v®
+ & 0xff);
+
+2013 
+§w_xdig\99
+ = 0;
+
+2014 
+couÁ_xdig\99
+ = 0;
+
+2015 
+v®
+ = 0;
+
+2016 
+dbloù_couÁ
+++;
+
+2019 ià(
+ch
+ =ð'.' && ((
+\8d
+ + 
+INADDRSZ
+è<ð
+\92dp
+) &&
+
+2020 
+       `\9a\91_±Ú_\9dv4
+(
+cu¹ok
+, 
+\8d
+) > 0) {
+
+2021 
+\8d
+ +ð
+INADDRSZ
+;
+
+2022 
+§w_xdig\99
+ = 0;
+
+2023 
+dbloù_couÁ
+ += 2;
+
+2028 ià(
+§w_xdig\99
+) {
+
+2029 ià(
+\8d
+ + \17(
+\9at16_t
+è> 
+\92dp
+)
+
+2031 *
+\8d
+++ = (\1d\ 5)((
+v®
+ >> 8) & 0xff);
+
+2032 *
+\8d
+++ = (\1d\ 5)(
+v®
+ & 0xff);
+
+2033 
+dbloù_couÁ
+++;
+
+2035 ià(
+cÞÚp
+ !ð
+NULL
+) {
+
+2037 ià(
+dbloù_couÁ
+ == 8)
+
+2044 cڡ \12
+n
+ = 
+\8d
+ - 
+cÞÚp
+;
+
+2045 \12
+i
+;
+
+2047 \ f
+i
+ = 1; i <ð
+n
+; i++) {
+
+2048 
+\92dp
+[-
+i
+] = 
+cÞÚp
+[
+n
+ - i];
+
+2049 
+cÞÚp
+[
+n
+ - 
+i
+] = 0;
+
+2051 
+\8d
+ = 
+\92dp
+;
+
+2053 ià(
+\8d
+ !ð
+\92dp
+)
+
+2055 
+       `memýy
+(
+d¡
+, 
+tmp
+, 
+IN6ADDRSZ
+);
+
+2057 
+       }
+}
+
+2059 \18\12
+       $¬p_·r£_¬gs
+(\19
+p\9d\96\9ae_·¿ms
+ *
+·¿ms
+)
+
+2061 
+u\9at32_t
+¬p_rou\8b_tbl_´e£Á
+ = 0;
+
+2062 
+u\9at32_t
+nd_rou\8b_tbl_´e£Á
+ = 0;
+
+2063 
+u\9at32_t
+pÜts_mac_li¡_´e£Á
+ = 0;
+
+2064 
+u\9at32_t
+numArg
+;
+
+2065 
+u\9at32_t
+n_vnf_th»ads_´e£Á
+ = 0;
+
+2067 
+u\9at32_t
+pktq_\9a_´v_´e£Á
+ = 0;
+
+2068 
+u\9at32_t
+´v_to_pub_m­_´e£Á
+ = 0;
+
+2070 
+u\9at8_t
+n_´v_\9a_pÜt
+ = 0;
+
+2071 \12
+i
+;
+
+2072 \ f
+i
+ = 0; i < 
+PIPELINE_MAX_PORT_IN
+; i++) {
+
+2073 
+\9a_pÜt_d\9c_a
+[
+i
+] = 0;
+
+2074 
+´v_to_pub_m­
+[
+i
+] = 0xff;
+
+2075 
+pub_to_´v_m­
+[
+i
+] = 0xff;
+
+2078 
+       `RTE_SET_USED
+(
+pÜts_mac_li¡_´e£Á
+);
+
+2079 
+       `RTE_SET_USED
+(
+nd_rou\8b_tbl_´e£Á
+);
+
+2080 
+       `RTE_SET_USED
+(
+¬p_rou\8b_tbl_´e£Á
+);
+
+2081 \ f
+numArg
+ = 0;\82umArg < 
+·¿ms
+->
+n_¬gs
+;\82umArg++) {
+
+2082 \ 5*
+¬g_Çme
+ = 
+·¿ms
+->
+¬gs_Çme
+[
+numArg
+];
+
+2083 \ 5*
+¬g_v®ue
+ = 
+·¿ms
+->
+¬gs_v®ue
+[
+numArg
+];
+
+2086 ià(
+       `¡rcmp
+(
+¬g_Çme
+, "arp_timer_expiry") == 0) {
+
+2087 
+¬p_timeout
+ = 
+       `©oi
+(
+¬g_v®ue
+);
+
+2091 ià(
+       `¡rcmp
+(
+¬g_Çme
+, "pktq_in_prv") == 0) {
+
+2092 ià(
+pktq_\9a_´v_´e£Á
+) {
+
+2093 
\9atf
+
+
+2097 
+pktq_\9a_´v_´e£Á
+ = 1;
+
+2099 \12
+rxpÜt
+ = 0, 
+j
+ = 0;
+
+2100 \ 5
+phy_pÜt_num
+[5];
+
+2101 \ 5*
+tok\92
+ = 
+       `¡¹ok
+(
+¬g_v®ue
+, "RXQ");
+
+2102 \1f
+tok\92
+) {
+
+2103 
+j
+ = 0;
+
+2104 \1f(
+j
+ < 4è&& (
+tok\92
+[j] != '.')) {
+
+2105 
+phy_pÜt_num
+[
+j
+] = 
+tok\92
+[j];
+
+2106 
+j
+++;
+
+2108 
+phy_pÜt_num
+[
+j
+] = '\0';
+
+2109 
+rxpÜt
+ = 
+       `©oi
+(
+phy_pÜt_num
+);
+
+2110 
+´v_\9a_pÜt_a
+[
+n_´v_\9a_pÜt
+++] = 
+rxpÜt
+;
+
+2111 ià(
+rxpÜt
+ < 0)
+
+2112 
+rxpÜt
+ = 0;
+
+2113 
\9atf
+
+
+2115 
+tok\92
+, 
+phy_pÜt_num
+, 
+rxpÜt
+);
+
+2116 
+´v_\9a_pÜt_a
+[
+n_´v_\9a_pÜt
+++] = 
+rxpÜt
+;
+
+2117 if(
+rxpÜt
+ < 
+PIPELINE_MAX_PORT_IN
+)
+
+2118 
+\9a_pÜt_d\9c_a
+[
+rxpÜt
+] = 1;
+
+2119 
+tok\92
+ = 
+       `¡¹ok
+(
+NULL
+, "RXQ");
+
+2122 ià(
+n_´v_\9a_pÜt
+ == 0) {
+
+2123 
\9atf
+
+
+2131 ià(
+       `¡rcmp
+(
+¬g_Çme
+, "prv_to_pub_map") == 0) {
+
+2132 ià(
+´v_to_pub_m­_´e£Á
+) {
+
+2133 
\9atf
+
+
+2137 
+´v_to_pub_m­_´e£Á
+ = 1;
+
+2139 \12
+rxpÜt
+ = 0, 
+txpÜt
+ = 0, 
+j
+ = 0, 
+k
+ = 0;
+
+2140 \ 5
+rx_phy_pÜt_num
+[5];
+
+2141 \ 5
+tx_phy_pÜt_num
+[5];
+
+2142 \ 5*
+tok\92
+ = 
+       `¡¹ok
+(
+¬g_v®ue
+, "(");
+
+2143 \1f
+tok\92
+) {
+
+2144 
+j
+ = 0;
+
+2145 \1f(
+j
+ < 4è&& (
+tok\92
+[j] != ',')) {
+
+2146 
+rx_phy_pÜt_num
+[
+j
+] = 
+tok\92
+[j];
+
+2147 
+j
+++;
+
+2149 
+rx_phy_pÜt_num
+[
+j
+] = '\0';
+
+2150 
+rxpÜt
+ = 
+       `©oi
+(
+rx_phy_pÜt_num
+);
+
+2151 ià(
+rxpÜt
+ < 0)
+
+2152 
+rxpÜt
+ = 0;
+
+2154 
+j
+++;
+
+2155 
+k
+ = 0;
+
+2156 \1f(
+k
+ < 4è&& (
+tok\92
+[
+j
+ + k] != ')')) {
+
+2157 
+tx_phy_pÜt_num
+[
+k
+] = 
+tok\92
+[
+j
+ + k];
+
+2158 
+k
+++;
+
+2160 
+tx_phy_pÜt_num
+[
+k
+] = '\0';
+
+2161 
+txpÜt
+ = 
+       `©oi
+(
+tx_phy_pÜt_num
+);
+
+2162 ià(
+txpÜt
+ < 0)
+
+2163 
+txpÜt
+ = 0;
+
+2165 
+       `RTE_LOG
+(
+INFO
+, 
+LIBARP
+, "token: %s,"
+
+2168 
+tok\92
+, 
+rx_phy_pÜt_num
+, 
+rxpÜt
+,
+
+2169 
+tx_phy_pÜt_num
+, 
+txpÜt
+);
+
+2171 ià((
+rxpÜt
+ >ð
+PIPELINE_MAX_PORT_IN
+) ||
+
+2172 (
+txpÜt
+ >ð
+PIPELINE_MAX_PORT_IN
+) ||
+
+2173 (
+\9a_pÜt_d\9c_a
+[
+rxpÜt
+] != 1)) {
+
+2174 
\9atf
+
+
+2176 
+rxpÜt
+, 
+txpÜt
+,
+
+2177 
+\9a_pÜt_d\9c_a
+[
+rxpÜt
+]);
+
+2181 
+´v_to_pub_m­
+[
+rxpÜt
+] = 
+txpÜt
+;
+
+2182 
+pub_to_´v_m­
+[
+txpÜt
+] = 
+rxpÜt
+;
+
+2183 
+tok\92
+ = 
+       `¡¹ok
+(
+NULL
+, "(");
+
+2189 ià(
+       `¡rcmp
+(
+¬g_Çme
+, "n_vnf_threads") == 0) {
+
+2190 ià(
+n_vnf_th»ads_´e£Á
+)
+
+2192 
+n_vnf_th»ads_´e£Á
+ = 1;
+
+2193 
+       `\8cim
+(
+¬g_v®ue
+);
+
+2194 
+num_vnf_th»ads
+ = 
+       `©oi
+(
+¬g_v®ue
+);
+
+2195 ià(
+num_vnf_th»ads
+ <= 0) {
+
+2196 
+       `RTE_LOG
+(
+INFO
+, 
+LIBARP
+,
+
+2200 
+       `RTE_LOG
+(
+INFO
+, 
+LIBARP
+, "n_vnf_threads: 0x%x\n",
+
+2201 
+num_vnf_th»ads
+);
+
+2205 ià(
+       `¡rcmp
+(
+¬g_Çme
+, "lib_arp_debug") == 0) {
+
+2206 
+ARPICMP_DEBUG
+ = 
+       `©oi
+(
+¬g_v®ue
+);
+
+2212 ià(
+       `¡rcmp
+(
+¬g_Çme
+, "ports_mac_list") == 0) {
+
+2213 
+pÜts_mac_li¡_´e£Á
+ = 1;
+
+2215 
+u\9at32_t
+i
+ = 0, 
+j
+ = 0, 
+k
+ = 0, 
+MAC_NUM_BYTES
+ = 6;
+
+2217 \ 5
+by\8bS\8c
+[
+MAC_NUM_BYTES
+][3];
+
+2218 
+u\9at32_t
+by\8b
+[
+MAC_NUM_BYTES
+];
+
+2220 \ 5*
+tok\92
+ = 
+       `¡¹ok
+(
+¬g_v®ue
+, " ");
+
+2221 \1f
+tok\92
+) {
+
+2222 
+k
+ = 0;
+
+2223 \ f
+i
+ = 0; i < 
+MAC_NUM_BYTES
+; i++) {
+
+2224 \ f
+j
+ = 0; j < 2; j++) {
+
+2225 
+by\8bS\8c
+[
+i
+][
+j
+] = 
+tok\92
+[
+k
+++];
+
+2227 
+by\8bS\8c
+[
+i
+][
+j
+] = '\0';
+
+2228 
+k
+++;
+
+2231 \ f
+i
+ = 0; i < 
+MAC_NUM_BYTES
+; i++) {
+
+2232 
+by\8b
+[
+i
+] = 
+       `¡¹oul
+(
+by\8bS\8c
+[i], 
+NULL
+, 16);
+
+2235 ià(
+ARPICMP_DEBUG
+) {
+
+2236 
+       `RTE_LOG
+(
+INFO
+, 
+LIBARP
+, "token: %s",
+
+2237 
+tok\92
+);
+
+2238 \ f
+i
+ = 0; i < 
+MAC_NUM_BYTES
+; i++)
+
+2239 
+       `RTE_LOG
+(
+INFO
+, 
+LIBARP
+,
+
+2240 ", by\8b[%u] %u", 
+i
+,
+
+2241 
+by\8b
+[
+i
+]);
+
+2242 
+       `RTE_LOG
+(
+INFO
+, 
+LIBARP
+, "\n");
+
+2245 \ f
+i
+ = 0; i < 
+MAC_NUM_BYTES
+; i++)
+
+2246 
+l\9ak_hw_addr
+
+
+2247 [
+l\9ak_hw_addr_¬¿y_idx
+].
+addr_by\8bs
+
+
+2248 [
+i
+] = 
+by\8b
+[i];
+
+2250 
+l\9ak_hw_addr_¬¿y_idx
+++;
+
+2251 
+tok\92
+ = 
+       `¡¹ok
+(
+NULL
+, " ");
+
+2258 ià(
+       `¡rcmp
+(
+¬g_Çme
+, "arp_route_tbl") == 0) {
+
+2259 
+¬p_rou\8b_tbl_´e£Á
+ = 1;
+
+2261 
+u\9at32_t
+de¡_\9d
+ = 0, 
+mask
+ = 0, 
+tx_pÜt
+ = 0, 
+nh_\9d
+ =
+
+2262 0, 
+i
+ = 0, 
+j
+ = 0, 
+k
+ = 0, 
+l
+ = 0;
+
+2263 
+u\9at32_t
+¬p_rou\8b_tbl_¡r_max_Ën
+ = 10;
+
+2264 \ 5
+de¡_\9d_¡r
+[
+¬p_rou\8b_tbl_¡r_max_Ën
+];
+
+2265 \ 5
+mask_¡r
+[
+¬p_rou\8b_tbl_¡r_max_Ën
+];
+
+2266 \ 5
+tx_pÜt_¡r
+[
+¬p_rou\8b_tbl_¡r_max_Ën
+];
+
+2267 \ 5
+nh_\9d_¡r
+[
+¬p_rou\8b_tbl_¡r_max_Ën
+];
+
+2268 \ 5*
+tok\92
+ = 
+       `¡¹ok
+(
+¬g_v®ue
+, "(");
+
+2269 \1f
+tok\92
+) {
+
+2270 
+i
+ = 0;
+
+2271 \1f(
+i
+ < (
+¬p_rou\8b_tbl_¡r_max_Ën
+ - 1))
+
+2272 && (
+tok\92
+[
+i
+] != ',')) {
+
+2273 
+de¡_\9d_¡r
+[
+i
+] = 
+tok\92
+[i];
+
+2274 
+i
+++;
+
+2276 
+de¡_\9d_¡r
+[
+i
+] = '\0';
+
+2277 
+de¡_\9d
+ = 
+       `¡¹oul
+(
+de¡_\9d_¡r
+, 
+NULL
+, 16);
+
+2279 
+i
+++;
+
+2280 
+j
+ = 0;
+
+2281 \1f(
+j
+ < (
+¬p_rou\8b_tbl_¡r_max_Ën
+ - 1))
+
+2282 && (
+tok\92
+[
+i
+ + 
+j
+] != ',')) {
+
+2283 
+mask_¡r
+[
+j
+] = 
+tok\92
+[
+i
+ + j];
+
+2284 
+j
+++;
+
+2286 
+mask_¡r
+[
+j
+] = '\0';
+
+2287 
+mask
+ = 
+       `¡¹oul
+(
+mask_¡r
+, 
+NULL
+, 16);
+
+2289 
+j
+++;
+
+2290 
+k
+ = 0;
+
+2291 \1f(
+k
+ < (
+¬p_rou\8b_tbl_¡r_max_Ën
+ - 1))
+
+2292 && (
+tok\92
+[
+i
+ + 
+j
+ + 
+k
+] != ',')) {
+
+2293 
+tx_pÜt_¡r
+[
+k
+] = 
+tok\92
+[
+i
+ + 
+j
+ + k];
+
+2294 
+k
+++;
+
+2296 
+tx_pÜt_¡r
+[
+k
+] = '\0';
+
+2297 
+tx_pÜt
+ = 
+       `¡¹oul
+(
+tx_pÜt_¡r
+, 
+NULL
+, 16);
+
+2299 
+k
+++;
+
+2300 
+l
+ = 0;
+
+2301 \1f(
+l
+ < (
+¬p_rou\8b_tbl_¡r_max_Ën
+ - 1))
+
+2302 && (
+tok\92
+[
+i
+ + 
+j
+ + 
+k
+ + 
+l
+] != ')')) {
+
+2303 
+nh_\9d_¡r
+[
+l
+] = 
+tok\92
+[
+i
+ + 
+j
+ + 
+k
+ +\86];
+
+2304 
+l
+++;
+
+2306 
+nh_\9d_¡r
+[
+l
+] = '\0';
+
+2307 
+nh_\9d
+ = 
+       `¡¹oul
+(
+nh_\9d_¡r
+, 
+NULL
+, 16);
+
+2310 
+       `RTE_LOG
+(
+INFO
+, 
+LIBARP
+, "token: %s, "
+
+2315 
+tok\92
+, 
+de¡_\9d_¡r
+, 
+de¡_\9d
+,
+
+2316 
+mask_¡r
+, 
+mask
+, 
+tx_pÜt_¡r
+,
+
+2317 
+tx_pÜt
+, 
+nh_\9d_¡r
+, 
+nh_\9d
+);
+
+2328 
+lib_¬p_rou\8b_\8f
+[
+¬p_rou\8b_tbl_\9adex
+].
+\9d
+ =
+
+2329 
+de¡_\9d
+;
+
+2330 
+lib_¬p_rou\8b_\8f
+[
+¬p_rou\8b_tbl_\9adex
+].
+mask
+ =
+
+2331 
+mask
+;
+
+2332 
+lib_¬p_rou\8b_\8f
+[
+¬p_rou\8b_tbl_\9adex
+].
+pÜt
+ =
+
+2333 
+tx_pÜt
+;
+
+2334 
+lib_¬p_rou\8b_\8f
+[
+¬p_rou\8b_tbl_\9adex
+].
+nh
+ =
+
+2335 
+nh_\9d
+;
+
+2336 
+¬p_rou\8b_tbl_\9adex
+++;
+
+2337 
+tok\92
+ = 
+       `¡¹ok
+(
+NULL
+, "(");
+
+2344 ià(
+       `¡rcmp
+(
+¬g_Çme
+, "nd_route_tbl") == 0) {
+
+2345 
+nd_rou\8b_tbl_´e£Á
+ = 1;
+
+2347 
+u\9at8_t
+de¡_\9dv6
+[16], 
+d\95th
+ = 0, 
+tx_pÜt
+ =
+
+2348 0, 
+nh_\9dv6
+[16], 
+i
+ = 0, 
+j
+ = 0, 
+k
+ = 0, 
+l
+ = 0;
+
+2349 
+u\9at8_t
+nd_rou\8b_tbl_¡r_max_Ën
+ = 128;
+
+2350 \ 5
+de¡_\9dv6_¡r
+[
+nd_rou\8b_tbl_¡r_max_Ën
+];
+
+2351 \ 5
+d\95th_¡r
+[
+nd_rou\8b_tbl_¡r_max_Ën
+];
+
+2352 \ 5
+tx_pÜt_¡r
+[
+nd_rou\8b_tbl_¡r_max_Ën
+];
+
+2353 \ 5
+nh_\9dv6_¡r
+[
+nd_rou\8b_tbl_¡r_max_Ën
+];
+
+2354 \ 5*
+tok\92
+ = 
+       `¡¹ok
+(
+¬g_v®ue
+, "(");
+
+2355 \1f
+tok\92
+) {
+
+2356 
+i
+ = 0;
+
+2357 \1f(
+i
+ < (
+nd_rou\8b_tbl_¡r_max_Ën
+ - 1))
+
+2358 && (
+tok\92
+[
+i
+] != ',')) {
+
+2359 
+de¡_\9dv6_¡r
+[
+i
+] = 
+tok\92
+[i];
+
+2360 
+i
+++;
+
+2362 
+de¡_\9dv6_¡r
+[
+i
+] = '\0';
+
+2363 
+       `my_\9a\91_±Ú_\9dv6
+(
+AF_INET6
+, 
+de¡_\9dv6_¡r
+,
+
+2364 &
+de¡_\9dv6
+);
+
+2366 
+i
+++;
+
+2367 
+j
+ = 0;
+
+2368 \1f(
+j
+ < (
+nd_rou\8b_tbl_¡r_max_Ën
+ - 1))
+
+2369 && (
+tok\92
+[
+i
+ + 
+j
+] != ',')) {
+
+2370 
+d\95th_¡r
+[
+j
+] = 
+tok\92
+[
+i
+ + j];
+
+2371 
+j
+++;
+
+2373 
+d\95th_¡r
+[
+j
+] = '\0';
+
+2375 \12
+s
+;
+
+2376 \ f
+s
+ = 0; 
+d\95th_¡r
+[s] != '\0'; ++s)
+
+2377 
+d\95th
+ = d\95th * 10 + 
+d\95th_¡r
+[
+s
+] - '0';
+
+2379 
+j
+++;
+
+2380 
+k
+ = 0;
+
+2381 \1f(
+k
+ < (
+nd_rou\8b_tbl_¡r_max_Ën
+ - 1))
+
+2382 && (
+tok\92
+[
+i
+ + 
+j
+ + 
+k
+] != ',')) {
+
+2383 
+tx_pÜt_¡r
+[
+k
+] = 
+tok\92
+[
+i
+ + 
+j
+ + k];
+
+2384 
+k
+++;
+
+2386 
+tx_pÜt_¡r
+[
+k
+] = '\0';
+
+2387 
+tx_pÜt
+ = 
+       `¡¹oul
+(
+tx_pÜt_¡r
+, 
+NULL
+, 16);
+
+2389 
+k
+++;
+
+2390 
+l
+ = 0;
+
+2391 \1f(
+l
+ < (
+nd_rou\8b_tbl_¡r_max_Ën
+ - 1))
+
+2392 && (
+tok\92
+[
+i
+ + 
+j
+ + 
+k
+ + 
+l
+] != ')')) {
+
+2393 
+nh_\9dv6_¡r
+[
+l
+] = 
+tok\92
+[
+i
+ + 
+j
+ + 
+k
+ +\86];
+
+2394 
+l
+++;
+
+2396 
+nh_\9dv6_¡r
+[
+l
+] = '\0';
+
+2397 
+       `my_\9a\91_±Ú_\9dv6
+(
+AF_INET6
+, 
+nh_\9dv6_¡r
+,
+
+2398 &
+nh_\9dv6
+);
+
+2401 \ f
+i
+ = 0; i < 16; i++) {
+
+2402 
+lib_nd_rou\8b_\8f
+
+
+2403 [
+nd_rou\8b_tbl_\9adex
+].
+\9dv6
+[
+i
+] =
+
+2404 
+de¡_\9dv6
+[
+i
+];
+
+2405 
+lib_nd_rou\8b_\8f
+
+
+2406 [
+nd_rou\8b_tbl_\9adex
+].
+nh\9dv6
+[
+i
+] =
+
+2407 
+nh_\9dv6
+[
+i
+];
+
+2409 
+lib_nd_rou\8b_\8f
+[
+nd_rou\8b_tbl_\9adex
+].
+d\95th
+ =
+
+2410 
+d\95th
+;
+
+2411 
+lib_nd_rou\8b_\8f
+[
+nd_rou\8b_tbl_\9adex
+].
+pÜt
+ =
+
+2412 
+tx_pÜt
+;
+
+2414 
+nd_rou\8b_tbl_\9adex
+++;
+
+2415 
+tok\92
+ = 
+       `¡¹ok
+(
+NULL
+, "(");
+
+2434 
+       }
+}
+
+2436 \1e
+       $lib_¬p_\9a\99
+(\19
+p\9d\96\9ae_·¿ms
+ *
+·¿ms
+,
+
+2437 
+__¹e_unu£d
\19
+­p_·¿ms
+ *
+­p
+)
+
+2440 
+       `RTE_LOG
+(
+INFO
+, 
+LIBARP
+, "ARP initialization ...\n");
+
+2443 ià(
+       `¬p_·r£_¬gs
+(
+·¿ms
+)) {
+
+2444 
+       `RTE_LOG
+(
+INFO
+, 
+LIBARP
+, "arp_parse_args failed ...\n");
+
+2449 
+lib_¬p_pktmbuf_tx_poÞ
+ =
+
+2450 
+       `¹e_pktmbuf_poÞ_ü\97\8b
+("lib_¬p_mbuf_tx_poÞ", 
+NB_ARPICMP_MBUF
+, 32,
+
+2451 0, 
+RTE_MBUF_DEFAULT_BUF_SIZE
+,
+
+2452 
+       `¹e_sock\91_id
+());
+
+2454 ià(
+lib_¬p_pktmbuf_tx_poÞ
+ =ð
+NULL
+) {
+
+2455 
+       `RTE_LOG
+(
+INFO
+, 
+LIBARP
+, "ARP mbuf\85ool create failed.\n");
+
+2459 
+lib_¬p_pkt
+ = 
+       `¹e_pktmbuf_®loc
+(
+lib_¬p_pktmbuf_tx_poÞ
+);
+
+2460 ià(
+lib_¬p_pkt
+ =ð
+NULL
+) {
+
+2461 
+       `RTE_LOG
+(
+INFO
+, 
+LIBARP
+, "ARP\86ib_arp_pkt\87lloc failed.\n");
+
+2465 
+¬p_hash_·¿ms
+.
+sock\91_id
+ = 
+       `¹e_sock\91_id
+();
+
+2466 
+¬p_hash_·¿ms
+.
+\92\8c\9bs
+ = 
+MAX_NUM_ARP_ENTRIES
+;
+
+2467 
+¬p_hash_·¿ms
+.
+key_Ën
+ = \17(\19
+¬p_key_\9dv4
+);
+
+2468 
+¬p_hash_hªdË
+ = 
+       `¹e_hash_ü\97\8b
+(&
+¬p_hash_·¿ms
+);
+
+2470 ià(
+¬p_hash_hªdË
+ =ð
+NULL
+) {
+
+2471 
+       `RTE_LOG
+(
+INFO
+, 
+LIBARP
+,
+
+2473 
+¬p_hash_·¿ms
+.
+sock\91_id
+);
+
+2475 
+       `RTE_LOG
+(
+INFO
+, 
+LIBARP
+, "arp_hash_handle %p\n\n",
+
+2476 (\1e*)
+¬p_hash_hªdË
+);
+
+2481 
+tim\94_mempoÞ_¬p
+ = 
+       `¹e_mempoÞ_ü\97\8b
+("timer_mempool_arp",
+
+2482 
+tim\94_objs_mempoÞ_couÁ
+,
+
+2483 \17(\19
+¹e_tim\94
+),
+
+2485 
+NULL
+, NULL,
+
+2486 
+NULL
+, NULL, 
+       `¹e_sock\91_id
+(), 0);
+
+2487 ià(
+tim\94_mempoÞ_¬p
+ =ð
+NULL
+) {
+
+2488 
+       `¹e_·nic
+("timer_mempool create\83rror\n");
+
+2490 
+       `¹e_tim\94_subsy¡em_\9a\99
+();
+
+2491 
+       `li¡_add_ty³
+(
+ETHER_TYPE_ARP
+, 
+´oûss_¬picmp_pkt_·r£
+);
+
+2494 
+nd_hash_·¿ms
+.
+sock\91_id
+ = 
+       `¹e_sock\91_id
+();
+
+2495 
+nd_hash_·¿ms
+.
+\92\8c\9bs
+ = 
+MAX_NUM_ND_ENTRIES
+;
+
+2496 
+nd_hash_·¿ms
+.
+key_Ën
+ = \17(\19
+nd_key_\9dv6
+);
+
+2497 
+nd_hash_hªdË
+ = 
+       `¹e_hash_ü\97\8b
+(&
+nd_hash_·¿ms
+);
+
+2498 ià(
+nd_hash_hªdË
+ =ð
+NULL
+) {
+
+2499 
+       `RTE_LOG
+(
+INFO
+, 
+LIBARP
+,
+
+2501 
+nd_hash_·¿ms
+.
+sock\91_id
+);
+
+2503 
+       `RTE_LOG
+(
+INFO
+, 
+LIBARP
+, "nd_hash_handle %p\n\n",
+
+2504 (\1e*)
+nd_hash_hªdË
+);
+
+2508 
+       }
+}
+
+2510 \1e
+       $¬p_tim\94_ÿÎback
+(\19
+¹e_tim\94
+ *
+tim\94
+, \1e*
+¬g
+)
+
+2512 \19
+¬p_tim\94_key
+ *
+»move_key
+ = (\19¬p_tim\94_key *)
+¬g
+;
+
+2513 ià(
+ARPICMP_DEBUG
+)
+
+2514 
+       `RTE_LOG
+(
+INFO
+, 
+LIBARP
+, "ARP TIMER callback :\83xpire :%d\n",
+
+2515 (\12)
+tim\94
+->
+exp\9ce
+);
+
+2516 ià(
+ARPICMP_DEBUG
+)
+
+2517 
+       `RTE_LOG
+(
+INFO
+, 
+LIBARP
+,
+
+2519 (
+»move_key
+->
+\9d
+ >> 24),
+
+2520 ((
+»move_key
+->
+\9d
+ & 0x00ff0000) >> 16),
+
+2521 ((
+»move_key
+->
+\9d
+ & 0x0000ff00) >> 8),
+
+2522 ((
+»move_key
+->
+\9d
+ & 0x000000ff)),\84emove_key->
+pÜt_id
+);
+
+2523 
+       `»move_¬p_\92\8cy
+((
+u\9at32_t
+»move_key
+->
+\9d
+,
+
+2524 (
+u\9at8_t
+»move_key
+->
+pÜt_id
+, 
+¬g
+);
+
+2526 
+       }
+}
+
+2528 \1e
+       $nd_tim\94_ÿÎback
+(\19
+¹e_tim\94
+ *
+tim\94
+, \1e*
+¬g
+)
+
+2530 \19
+nd_tim\94_key
+ *
+»move_key
+ = (\19nd_tim\94_key *)
+¬g
+;
+
+2531 ià(
+ARPICMP_DEBUG
+)
+
+2532 
+       `RTE_LOG
+(
+INFO
+, 
+LIBARP
+, "nd\81ime callback :\83xpire :%d\n",
+
+2533 (\12)
+tim\94
+->
+exp\9ce
+);
+
+2534 
+       `»move_nd_\92\8cy_\9dv6
+(
+»move_key
+->
+\9dv6
+,\84emove_key->
+pÜt_id
+);
+
+2536 
+       }
+}
+
+2538 \1e
+       $ü\97\8b_¬p_\8f
+(\1e)
+
+2541 \12
+i
+;
+
+2542 \ f
+i
+ = 0; i < 
+MAX_ARP_DATA_ENTRY_TABLE
+; i++) {
+
+2543 
+       `pÝuÏ\8b_¬p_\92\8cy
+((cڡ \19
+\91h\94_addr
+ *)
+
+2544 &
+¬p_\92\8cy_d©a_\8f
+[
+i
+].
+\91h_addr
+,
+
+2545 
+¬p_\92\8cy_d©a_\8f
+[
+i
+].
+\9d
+,
+
+2546 (
+u\9at8_t
+¬p_\92\8cy_d©a_\8f
+[
+i
+].
+pÜt
+,
+
+2547 
+STATIC_ARP
+);
+
+2549 
+       `´\9at_¬p_\8f
+();
+
+2551 
+       }
+}
+
+2553 \1e
+       $ü\97\8b_nd_\8f
+(\1e)
+
+2556 \12
+i
+;
+
+2557 \ f
+i
+ = 0; i < 
+MAX_ND_DATA_ENTRY_TABLE
+; i++) {
+
+2558 
+       `pÝuÏ\8b_nd_\92\8cy
+((cڡ \19
+\91h\94_addr
+ *)
+
+2559 
+nd_\92\8cy_d©a_\8f
+[
+i
+].
+\91h_addr
+,
+
+2560 
+nd_\92\8cy_d©a_\8f
+[
+i
+].
+\9dv6
+,
+
+2561 (
+u\9at8_t
+nd_\92\8cy_d©a_\8f
+[
+i
+].
+pÜt
+,
+
+2562 
+STATIC_ND
+);
+
+2564 
+       `´\9at_nd_\8f
+();
+
+2566 
+       }
+}
+
+2568 \1e
+       $£nd_g¿tu\99ous_¬p
+(
+l2_phy_\9a\8brçû_t
+ *
+pÜt
+)
+
+2570 \19
+\91h\94_hdr
+ *
+\91h_h
+;
+
+2571 \19
+¬p_hdr
+ *
+¬p_h
+;
+
+2573 \19
+¹e_mbuf
+ *
+¬p_pkt
+ = 
+lib_¬p_pkt
+;
+
+2575 ià(
+pÜt
+ =ð
+NULL
+) {
+
+2576 
+       `RTE_LOG
+(
+INFO
+, 
+LIBARP
+, "PORT ID DOWN.. %s\n", 
+__FUNCTION__
+);
+
+2581 ià(
+¬p_pkt
+ =ð
+NULL
+) {
+
+2582 ià(
+ARPICMP_DEBUG
+)
+
+2583 
+       `RTE_LOG
+(
+INFO
+, 
+LIBARP
+,
+
+2588 
+\91h_h
+ = 
+       `¹e_pktmbuf_mtod
+(
+¬p_pkt
+, \19
+\91h\94_hdr
+ *);
+
+2590 
+       `\91h\94_addr_cÝy
+(&
+brßdÿ¡_\91h\94_addr
+, &
+\91h_h
+->
+d_addr
+);
+
+2591 
+       `\91h\94_addr_cÝy
+((\19
+\91h\94_addr
+ *)
+
+2592 &
+pÜt
+->
+maÿddr
+[0], &
+\91h_h
+->
+s_addr
+);
+
+2593 
+\91h_h
+->
+\91h\94_ty³
+ = 
+       `CHECK_ENDIAN_16
+(
+ETHER_TYPE_ARP
+);
+
+2595 
+¬p_h
+ = (\19
+¬p_hdr
+ *)((\ 5*)
+\91h_h
+ + \17(\19
+\91h\94_hdr
+));
+
+2596 
+¬p_h
+->
+¬p_hrd
+ = 
+       `CHECK_ENDIAN_16
+(
+ARP_HRD_ETHER
+);
+
+2597 
+¬p_h
+->
+¬p_´o
+ = 
+       `CHECK_ENDIAN_16
+(
+ETHER_TYPE_IPv4
+);
+
+2598 
+¬p_h
+->
+¬p_hÊ
+ = 
+ETHER_ADDR_LEN
+;
+
+2599 
+¬p_h
+->
+¬p_¶n
+ = \17(
+u\9at32_t
+);
+
+2600 
+¬p_h
+->
+¬p_Ý
+ = 
+       `CHECK_ENDIAN_16
+(
+ARP_OP_REQUEST
+);
+
+2602 
+       `\91h\94_addr_cÝy
+((\19
+\91h\94_addr
+ *)
+
+2603 &
+pÜt
+->
+maÿddr
+[0], &
+¬p_h
+->
+¬p_d©a
+.
+¬p_sha
+);
+
+2604 ià(
+pÜt
+->
+\9dv4_li¡
+ =ð
+NULL
+) {
+
+2605 ià(
+ARPICMP_DEBUG
+)
+
+2606 
+       `RTE_LOG
+(
+INFO
+, 
+LIBARP
+, "port->ipv4_list is NULL.. %s\n",
+
+2607 
+__FUNCTION__
+);
+
+2610 
+¬p_h
+->
+¬p_d©a
+.
+¬p_s\9d
+ = (((
+\9dv4li¡_t
+ *è(
+pÜt
+->
+\9dv4_li¡
+))->
+\9daddr
+);
+
+2611 
+       `\91h\94_addr_cÝy
+(&
+nuÎ_\91h\94_addr
+, &
+¬p_h
+->
+¬p_d©a
+.
+¬p_tha
+);
+
+2613 
+¬p_h
+->
+¬p_d©a
+.
+¬p_t\9d
+ = 0;
+
+2617 
+¬p_pkt
+->
+pkt_Ën
+ = 42;
+
+2618 
+¬p_pkt
+->
+d©a_Ën
+ = 42;
+
+2620 ià(
+ARPICMP_DEBUG
+) {
+
+2621 
+       `RTE_LOG
+(
+INFO
+, 
+LIBARP
+, "SENDING GRATUITOUS ARP REQUEST\n");
+
+2622 
+       `´\9at_mbuf
+("TX", 
+pÜt
+->
+pmdid
+, 
+¬p_pkt
+, 
+__LINE__
+);
+
+2624 
+pÜt
+->
+       `\8cªsm\99_s\9agË_pkt
+ÕÜt, 
+¬p_pkt
+);
+
+2625 
+       }
+}
+
+2627 \1e
+       $£t_¬pdebug
+(\12
+æag
+)
+
+2629 ià(
+æag
+) {
+
+2630 
+       `RTE_LOG
+(
+INFO
+, 
+LIBARP
+, "Debugs\81urned on\n\r");
+
+2631 
+ARPICMP_DEBUG
+ = 1;
+
+2632 
+NDIPV6_DEBUG
+ = 1;
+
+2635 
+       `RTE_LOG
+(
+INFO
+, 
+LIBARP
+, "Debugs\81urned off\n\r");
+
+2636 
+ARPICMP_DEBUG
+ = 0;
+
+2637 
+NDIPV6_DEBUG
+ = 0;
+
+2639 
+       }
+}
+
+2641 \1e
+       $£t_¬±imeout
+(
+u\9at32_t
+timeout_v®
+)
+
+2643 ià(
+timeout_v®
+ == 0) {
+
+2644 
+       `RTE_LOG
+(
+INFO
+, 
+LIBARP
+, "Cannot be zero...\n\r");
+
+2647 ià(
+ARPICMP_DEBUG
+)
+
+2648 
+       `RTE_LOG
+(
+INFO
+, 
+LIBARP
+,
+
+2650 
+¬p_timeout
+, 
+timeout_v®
+);
+
+2651 
+¬p_timeout
+ = 
+timeout_v®
+;
+
+2652 ià(
+ARPICMP_DEBUG
+)
+
+2653 
+       `RTE_LOG
+(
+INFO
+, 
+LIBARP
+, "set_arptimeout:\87rp_timeout %u\n\r",
+
+2654 
+¬p_timeout
+);
+
+2655 
+       }
+}
+
+       @VIL/l2l3_stack/lib_arp.h
+
+17 #iâdeà
+__INCLUDE_LIB_ARP_H__
+
+
+18 \ 1
+       #__INCLUDE_LIB_ARP_H__
+
+
+       )
+
+20 \ 2
+       ~<¹e_p\9d\96\9ae.h
+>
+
+21 \ 2
+       ~"¹e_\91h\94.h
+"
+
+22 \ 2
+       ~"l2_´Ùo.h
+"
+
+23 \ 2
+       ~"­p.h
+"
+
+25 \ 1
+       #ND_IPV6_ADDR_SIZE
+ 16
+
+       )
+
+26 \ 1
+       #ND_IPV6_TIMER_EXPIRY
+ 300
+
+       )
+
+27 \ 1
+       #ARP_TIMER_EXPIRY
+ 1800
+
+       )
+
+28 \ 1
+       #TIMER_MILLISECOND
+ 1
+
+       )
+
+29 \ 1
+       #RTE_LOGTYPE_LIBARP
+RTE_LOGTYPE_USER1
+
+
+       )
+
+30 \ 1
+       #MAX_ND_RT_ENTRY
+ 16
+
+       )
+
+31 \ 1
+       #MAX_ARP_RT_ENTRY
+ 16
+
+       )
+
+37 \19
+       slib_¬p_rou\8b_\8fbË_\92\8cy
+ {
+
+38 
+u\9at32_t
+       m\9d
+;
+
+39 
+u\9at32_t
+       mmask
+;
+
+40 
+u\9at32_t
+       mpÜt
+;
+
+41 
+u\9at32_t
+       mnh
+;
+
+48 \19
+       slib_nd_rou\8b_\8fbË_\92\8cy
+ {
+
+49 
+u\9at8_t
+       m\9dv6
+[16];
+
+50 
+u\9at8_t
+       md\95th
+;
+
+51 
+u\9at32_t
+       mpÜt
+;
+
+52 
+u\9at8_t
+       mnh\9dv6
+[16];
+
+55 \r\19
+lib_nd_rou\8b_\8fbË_\92\8cy
+lib_nd_rou\8b_\8f
+[
+MAX_ND_RT_ENTRY
+];
+
+56 \r\19
+lib_¬p_rou\8b_\8fbË_\92\8cy
+lib_¬p_rou\8b_\8f
+[
+MAX_ARP_RT_ENTRY
+];
+
+59 
+       mARP_FOUND
+,
+
+60 
+       mARP_NOT_FOUND
+,
+
+61 
+       mNH_NOT_FOUND
+,
+
+64 \f
+       e¬p_key_ty³
+ {
+
+65 
+       mARP_IPV4
+,
+
+66 
+       mND_IPV6
+,
+
+69 \19
+       s¬p_key_\9dv4
+ {
+
+70 
+u\9at32_t
+       m\9d
+;
+
+71 
+u\9at8_t
+       mpÜt_id
+;
+
+72 
+u\9at8_t
+       mf\9eËr1
+;
+
+73 
+u\9at8_t
+       mf\9eËr2
+;
+
+74 
+u\9at8_t
+       mf\9eËr3
+;
+
+80 \19
+       snd_key_\9dv6
+ {
+
+81 
+u\9at8_t
+       m\9dv6
+[
+ND_IPV6_ADDR_SIZE
+];
+
+82 
+u\9at8_t
+       mpÜt_id
+;
+
+83 
+u\9at8_t
+       mf\9eËr1
+;
+
+84 
+u\9at8_t
+       mf\9eËr2
+;
+
+85 
+u\9at8_t
+       mf\9eËr3
+;
+
+91 \19
+       s¬p_key
+ {
+
+92 \f
+¬p_key_ty³
+       mty³
+;
+
+94 \19
+¬p_key_\9dv4
+       m\9dv4
+;
+
+95 } 
+       mkey
+;
+
+103 \19
+       snd_tim\94_key
+ {
+
+104 
+u\9at8_t
+       m\9dv6
+[
+ND_IPV6_ADDR_SIZE
+];
+
+105 
+u\9at8_t
+       mpÜt_id
+;
+
+106 } 
+       g__¹e_ÿche_®igÃd
+;
+
+112 \19
+       s¬p_tim\94_key
+ {
+
+113 
+u\9at32_t
+       m\9d
+;
+
+114 
+u\9at8_t
+       mpÜt_id
+;
+
+115 } 
+       g__¹e_ÿche_®igÃd
+;
+
+117 \r
+u\9at32_t
+ARPICMP_DEBUG
+;
+
+119 \ 1
+       #COMPLETE
+ 1
+
+       )
+
+120 \ 1
+       #INCOMPLETE
+ 0
+
+       )
+
+122 \r
+u\9at32_t
+NDIPV6_DEBUG
+;
+
+124 \ 1
+       #ICMPv6_COMPLETE
+ 1
+
+       )
+
+125 \ 1
+       #ICMPv6_INCOMPLETE
+ 0
+
+       )
+
+126 \ 1
+       #STATIC_ARP
+ 1
+
+       )
+
+127 \ 1
+       #DYNAMIC_ARP
+ 0
+
+       )
+
+128 \ 1
+       #STATIC_ND
+ 1
+
+       )
+
+129 \ 1
+       #DYNAMIC_ND
+ 0
+
+       )
+
+136 \19
+       s¬p_\92\8cy_d©a
+ {
+
+137 \19
+\91h\94_addr
+       m\91h_addr
+;
+
+138 
+u\9at32_t
+       m\9d
+;
+
+139 
+u\9at8_t
+       mpÜt
+;
+
+140 
+u\9at8_t
+       m¡©us
+;
+
+141 
+u\9at8_t
+       mmode
+;
+
+142 
+u\9at8_t
+       m»\8cy_couÁ
+;
+
+143 \19
+¹e_tim\94
+ *
+       mtim\94
+;
+
+144 \19
+¬p_tim\94_key
+ *
+       mtim\94_key
+;
+
+145 } 
+__©\8cibu\8b__
+ ((
+·cked
+));
+
+152 \19
+       s\8fbË_¬p_\92\8cy_d©a
+ {
+
+153 
+u\9at8_t
+       m\91h_addr
+[6];
+
+154 
+u\9at8_t
+       mpÜt
+;
+
+155 
+u\9at8_t
+       m¡©us
+;
+
+156 
+u\9at32_t
+       m\9d
+;
+
+157 } 
+__©\8cibu\8b__
+ ((
+·cked
+));
+
+164 \19
+       snd_\92\8cy_d©a
+ {
+
+165 \19
+\91h\94_addr
+       m\91h_addr
+;
+
+166 
+u\9at8_t
+       mpÜt
+;
+
+167 
+u\9at8_t
+       m¡©us
+;
+
+168 
+u\9at8_t
+       mmode
+;
+
+169 
+u\9at8_t
+       m\9dv6
+[
+ND_IPV6_ADDR_SIZE
+];
+
+170 \19
+¹e_tim\94
+ *
+       mtim\94
+;
+
+171 } 
+__©\8cibu\8b__
+ ((
+·cked
+));
+
+179 \19
+       s\8fbË_nd_\92\8cy_d©a
+ {
+
+180 
+u\9at8_t
+       m\91h_addr
+[6];
+
+181 
+u\9at8_t
+       mpÜt
+;
+
+182 
+u\9at8_t
+       m¡©us
+;
+
+183 
+u\9at8_t
+       m\9dv6
+[
+ND_IPV6_ADDR_SIZE
+];
+
+184 \19
+¹e_tim\94
+ *
+       mtim\94
+;
+
+185 } 
+__©\8cibu\8b__
+ ((
+·cked
+));
+
+201 \12
+g\91_de¡_mac_add»ss
+(cڡ 
+u\9at32_t
+\9daddr
+, u\9at32_\88*
+phy_pÜt
+,
+
+202 \19
+\91h\94_addr
+ *
+hw_addr
+, 
+u\9at32_t
+ *
+nh\9d
+);
+
+216 \12
+g\91_de¡_mac_addr_pÜt
+(cڡ 
+u\9at32_t
+\9daddr
+,
+
+217 
+u\9at32_t
+ *
+phy_pÜt
+, \19
+\91h\94_addr
+ *
+hw_addr
+);
+
+230 \12
+g\91_de¡_mac_addr
+(cڡ 
+u\9at32_t
+\9daddr
+, u\9at32_\88*
+phy_pÜt
+,
+
+231 \19
+\91h\94_addr
+ *
+hw_addr
+);
+
+246 \12
+g\91_de¡_mac_add»ss_\9dv6
+(
+u\9at8_t
+\9dv6addr
+[], 
+u\9at32_t
+ *
+phy_pÜt
+,
+
+247 \19
+\91h\94_addr
+ *
+hw_addr
+, 
+u\9at8_t
+nh\9dv6
+[]);
+
+262 \12
+g\91_de¡_mac_add»ss_\9dv6_pÜt
+(
+u\9at8_t
+\9dv6addr
+[], 
+u\9at32_t
+ *
+phy_pÜt
+,
+
+263 \19
+\91h\94_addr
+ *
+hw_addr
+,
+
+264 
+u\9at8_t
+nh\9dv6
+[]);
+
+272 \19
+\91h\94_addr
+ *
+g\91_l\9ak_hw_addr
+(
+u\9at8_t
+out_pÜt
+);
+
+279 \1e
\9at_¬p_\8f
+(\1e);
+
+286 \1e
\9at_nd_\8f
+(\1e);
+
+295 \1e
+»move_¬p_\92\8cy
+(
+u\9at32_t
+\9daddr
+, 
+u\9at8_t
+pÜtid
+, \1e*
+¬g
+);
+
+305 \1e
+»move_nd_\92\8cy_\9dv6
+(
+u\9at8_t
+\9dv6addr
+[], u\9at8_\88
+pÜtid
+);
+
+318 \1e
+pÝuÏ\8b_¬p_\92\8cy
+(cڡ \19
+\91h\94_addr
+ *
+hw_addr
+, 
+u\9at32_t
+\9daddr
+,
+
+319 
+u\9at8_t
+pÜtid
+, u\9at8_\88
+mode
+);
+
+333 \1e
+pÝuÏ\8b_nd_\92\8cy
+(cڡ \19
+\91h\94_addr
+ *
+hw_addr
+, 
+u\9at8_t
+\9d
+[],
+
+334 
+u\9at8_t
+pÜtid
+, u\9at8_\88
+mode
+);
+
+344 \1e
+»que¡_¬p
+(
+u\9at8_t
+pÜt_id
+, 
+u\9at32_t
+\9d
+);
+
+353 \19
+¹e_mbuf
+ *
+»que¡_echo
+(
+u\9at32_t
+pÜt_id
+, u\9at32_\88
+\9d
+);
+
+362 \19
+¹e_mbuf
+ *
+»que¡_icmpv6_echo
+(
+u\9at8_t
+\9dv6
+[], 
+l2_phy_\9a\8brçû_t
+ *
+pÜt
+);
+
+371 \19
+¹e_mbuf
+ *
+»que¡_nd
+(
+u\9at8_t
+\9dv6
+[], 
+l2_phy_\9a\8brçû_t
+ *
+pÜt
+);
+
+382 \1e
+´oûss_¬picmp_pkt
+(\19
+¹e_mbuf
+ *
+pkt
+, 
+l2_phy_\9a\8brçû_t
+ *
+pÜt
+);
+
+390 \19
+¬p_\92\8cy_d©a
+ *
\8c\9bve_¬p_\92\8cy
+(cڡ \19
+¬p_key_\9dv4
+¬p_key
+);
+
+399 \19
+nd_\92\8cy_d©a
+ *
\8c\9bve_nd_\92\8cy
+(\19
+nd_key_\9dv6
+nd_key
+);
+
+405 \1e
+lib_¬p_\9a\99
+(\19
+p\9d\96\9ae_·¿ms
+ *
+·¿ms
+, \19
+­p_·¿ms
+ *
+­p
+);
+
+407 \1e
+£t_pÜt_to_lßdb_m­
+(
+u\9at8_t
+p\9d\96\9ae_num
+);
+
+412 
+u\9at8_t
+g\91_pÜt_to_lßdb_m­
+(u\9at8_\88
+phy_pÜt_id
+);
+
+414 \1e
+£t_phy_\9apÜt_m­
+(
+u\9at8_t
+p\9d\96\9ae_num
+, u\9at8_\88*
+m­
+);
+
+415 \1e
+£t_phy_ou\8dÜt_m­
+(
+u\9at8_t
+p\9d\96\9ae_num
+, u\9at8_\88*
+m­
+);
+
+421 
+u\9at8_t
+g\91_lßdb_ou\8dÜt_id
+(u\9at8_\88
+aùu®_phy_pÜt
+);
+
+422 
+u\9at8_t
+g\91_vnf_£t_num
+(u\9at8_\88
+p\9d\96\9ae_num
+);
+
+424 \1e
+p\9d\96\9aes_pÜt_\9afo
+(\1e);
+
+425 \1e
+p\9d\96\9aes_m­_\9afo
+(\1e);
+
+434 \1e
+¬p_tim\94_ÿÎback
+(\19
+¹e_tim\94
+ *, \1e*
+¬g
+);
+
+443 \1e
+nd_tim\94_ÿÎback
+(\19
+¹e_tim\94
+ *
+tim\94
+, \1e*
+¬g
+);
+
+449 \1e
\97\8b_¬p_\8f
+(\1e);
+
+454 \1e
\97\8b_nd_\8f
+(\1e);
+
+467 \1e
+´oûss_¬picmp_pkt_·r£
+(\19
+¹e_mbuf
+ **
+pkt
+, 
+u\9at16_t
+pkt_num
+,
+
+468 
+u\9at64_t
+pkt_mask
+, 
+l2_phy_\9a\8brçû_t
+ *
+pÜt
+);
+
+475 \1e
+£nd_g¿tu\99ous_¬p
+(
+l2_phy_\9a\8brçû_t
+ *
+pÜt
+);
+
+481 \1e
+£t_¬pdebug
+(\12
+æag
+);
+
+487 \1e
+£t_¬±imeout
+(
+u\9at32_t
+timeout_v®
+);
+
+495 
+u\9at32_t
+g\91_nh
+(uint32_t, uint32_t *);
+
+505 \1e
+g\91_nh_\9dv6
+(
+u\9at8_t
+\9dv6
+[], 
+u\9at32_t
+ *
+pÜt
+, u\9at8_\88
+nh\9dv6
+[]);
+
+       @VIL/l2l3_stack/lib_icmpv6.c
+
+18 \ 2
+       ~"lib_icmpv6.h
+"
+
+20 \18\1e
+       $´\9at_pkt
+(
+u\9at8_t
+ *
+rd
+)
+
+22 \12
+i
+ = 0, 
+j
+ = 0;
+
+24 
+       `´\9atf
+("Packet Contents:\n");
+
+26 \ f
+i
+ = 0; i < 20; i++) {
+
+27 \ f
+j
+ = 0; j < 20; j++)
+
+28 
+       `´\9atf
+("%02x ", 
+rd
+[(20 * 
+i
+è+ 
+j
+]);
+
+30 
+       `´\9atf
+("\n");
+
+32 
+       }
+}
+
+34 \18
+u\9at16_t
+       $icmpv6_\9dv6_nd_checksum
+(\19
+¹e_mbuf
+ *
+pkt
+)
+
+36 \19
+\91h\94_hdr
+ *
+\91h_h
+;
+
+37 \19
+\9dv6_hdr
+ *
+\9dv6_h
+;
+
+38 \19
+icmpv6_hdr
+ *
+icmpv6_h
+;
+
+40 
+size_t
+tm¶\92
+, 
+off£t
+;
+
+41 
+u\9at8_t
+ *
+tmµack\91
+, *
+\8dack\91
+;
+
+43 
+\91h_h
+ = 
+       `¹e_pktmbuf_mtod
+(
+pkt
+, \19
+\91h\94_hdr
+ *);
+
+44 
+\9dv6_h
+ = (\19
+\9dv6_hdr
+ *)((\ 5*)
+\91h_h
+ + \17(\19
+\91h\94_hdr
+));
+
+45 
+icmpv6_h
+ =
+
+46 (\19
+icmpv6_hdr
+ *)((\ 5*)
+\9dv6_h
+ + \17(\19
+\9dv6_hdr
+));
+
+48 
+u\9at32_t
+·ylßdËn
+ = 0x20;
+
+49 
+·ylßdËn
+ = 
+       `¹e_bsw­32
+(payloadlen);
+
+51 
+tm¶\92
+ = 40 + \17(\19
+icmpv6_hdr
+è+ \17(\19
+icmpv6_nd_hdr
+);
+
+52 
+tm¶\92
+ = 
+       `RTE_CACHE_LINE_ROUNDUP
+(tmplen);
+
+53 
+tmµack\91
+ = 
+       `¹e_zm®loc
+(
+NULL
+, 
+tm¶\92
+, 
+RTE_CACHE_LINE_SIZE
+);
+
+54 
+\8dack\91
+ = 
+tmµack\91
+;
+
+56 
+off£t
+ = 16;
+
+57 
+       `memýy
+(
+\8dack\91
+, &
+\9dv6_h
+->
+¤c_addr
+[0], 
+off£t
+);
+
+58 
+\8dack\91
+ +ð
+off£t
+;
+
+59 
+       `memýy
+(
+\8dack\91
+, &
+\9dv6_h
+->
+d¡_addr
+[0], 
+off£t
+);
+
+60 
+\8dack\91
+ +ð
+off£t
+;
+
+61 *
+\8dack\91
+ = 0;
+
+62 
+\8dack\91
+++;
+
+63 *
+\8dack\91
+ = 0;
+
+64 
+\8dack\91
+++;
+
+65 *
+\8dack\91
+ = 0;
+
+66 
+\8dack\91
+++;
+
+67 
+       `memýy
+(
+\8dack\91
+, &
+\9dv6_h
+->
+´Ùo
+, 1);
+
+68 
+\8dack\91
+++;
+
+69 
+       `memýy
+(
+\8dack\91
+, &
+·ylßdËn
+, 4);
+
+70 
+\8dack\91
+ += 4;
+
+71 
+       `memýy
+(
+\8dack\91
+, 
+icmpv6_h
+,
+
+72 \17(\19
+icmpv6_hdr
+è+ \17(\19
+icmpv6_nd_hdr
+));
+
+74 ià(
+ARPICMP_DEBUG
+)
+
+75 
+       `´\9at_pkt
+(
+tmµack\91
+);
+
+77 \15 
+       `¹e_¿w_cksum
+(
+tmµack\91
+, 
+tm¶\92
+);
+
+78 
+       }
+}
+
+80 \18
+u\9at16_t
+       $icmpv6_\9dv6_echo_checksum
+(\19
+¹e_mbuf
+ *
+pkt
+)
+
+82 \19
+\91h\94_hdr
+ *
+\91h_h
+;
+
+83 \19
+\9dv6_hdr
+ *
+\9dv6_h
+;
+
+84 \19
+icmpv6_hdr
+ *
+icmpv6_h
+;
+
+86 
+size_t
+tm¶\92
+, 
+off£t
+;
+
+87 
+u\9at8_t
+ *
+tmµack\91
+, *
+\8dack\91
+;
+
+89 
+\91h_h
+ = 
+       `¹e_pktmbuf_mtod
+(
+pkt
+, \19
+\91h\94_hdr
+ *);
+
+90 
+\9dv6_h
+ = (\19
+\9dv6_hdr
+ *)((\ 5*)
+\91h_h
+ + \17(\19
+\91h\94_hdr
+));
+
+91 
+icmpv6_h
+ =
+
+92 (\19
+icmpv6_hdr
+ *)((\ 5*)
+\9dv6_h
+ + \17(\19
+\9dv6_hdr
+));
+
+94 
+u\9at32_t
+·ylßdËn
+ = 
+       `¹e_bsw­16
+(
+\9dv6_h
+->
+·ylßd_Ën
+);
+
+95 
+u\9at32_t
+·ylßdËn_sw­
+ = 
+       `¹e_bsw­32
+(
+·ylßdËn
+);
+
+97 ià(
+ARPICMP_DEBUG
+)
+
+98 
+       `´\9atf
+("%s:\85aylßdËn: %u\n", 
+__FUNCTION__
+, 
+·ylßdËn
+);
+
+100 
+tm¶\92
+ = 40 + 
+·ylßdËn
+;
+
+101 
+tm¶\92
+ = 
+       `RTE_CACHE_LINE_ROUNDUP
+(tmplen);
+
+102 
+tmµack\91
+ = 
+       `¹e_zm®loc
+(
+NULL
+, 
+tm¶\92
+, 
+RTE_CACHE_LINE_SIZE
+);
+
+103 
+\8dack\91
+ = 
+tmµack\91
+;
+
+105 
+off£t
+ = 16;
+
+106 
+       `memýy
+(
+\8dack\91
+, &
+\9dv6_h
+->
+¤c_addr
+[0], 
+off£t
+);
+
+107 
+\8dack\91
+ +ð
+off£t
+;
+
+108 
+       `memýy
+(
+\8dack\91
+, &
+\9dv6_h
+->
+d¡_addr
+[0], 
+off£t
+);
+
+109 
+\8dack\91
+ +ð
+off£t
+;
+
+110 *
+\8dack\91
+ = 0;
+
+111 
+\8dack\91
+++;
+
+112 *
+\8dack\91
+ = 0;
+
+113 
+\8dack\91
+++;
+
+114 *
+\8dack\91
+ = 0;
+
+115 
+\8dack\91
+++;
+
+116 
+       `memýy
+(
+\8dack\91
+, &
+\9dv6_h
+->
+´Ùo
+, 1);
+
+117 
+\8dack\91
+++;
+
+118 
+       `memýy
+(
+\8dack\91
+, &
+·ylßdËn_sw­
+, 4);
+
+119 
+\8dack\91
+ += 4;
+
+120 
+       `memýy
+(
+\8dack\91
+, 
+icmpv6_h
+, 
+·ylßdËn
+);
+
+122 ià(
+ARPICMP_DEBUG
+)
+
+123 
+       `´\9at_pkt
+(
+tmµack\91
+);
+
+125 \15 
+       `¹e_¿w_cksum
+(
+tmµack\91
+, 
+tm¶\92
+);
+
+126 
+       }
+}
+
+128 \1e
+       $´oûss_icmpv6_pkt
+(\19
+¹e_mbuf
+ *
+pkt
+, 
+l2_phy_\9a\8brçû_t
+ *
+pÜt
+)
+
+131 \19
+\91h\94_hdr
+ *
+\91h_h
+;
+
+132 \19
+\9dv6_hdr
+ *
+\9dv6_h
+;
+
+133 \19
+icmpv6_hdr
+ *
+icmpv6_h
+;
+
+134 \19
+icmpv6_nd_hdr
+ *
+icmpv6_nd_h
+;
+
+135 
+u\9at8_t
+\9dv6_addr
+[16];
+
+136 
+u\9at8_t
+i
+ = 0;
+
+137 
+u\9at8_t
+»q_t\9dv6
+[16];
+
+140 ià(
+pÜt
+ =ð
+NULL
+) {
+
+141 
+       `´\9atf
+("port is NULL");
+
+143 } \vià(
+pÜt
+->
+\9dv6_li¡
+ =ð
+NULL
+) {
+
+144 
+       `´\9atf
+("IPV6\87ddress\82ot configured on\86ink\n");
+
+148 
+\91h_h
+ = 
+       `¹e_pktmbuf_mtod
+(
+pkt
+, \19
+\91h\94_hdr
+ *);
+
+149 
+\9dv6_h
+ = (\19
+\9dv6_hdr
+ *)((\ 5*)
+\91h_h
+ + \17(\19
+\91h\94_hdr
+));
+
+150 
+icmpv6_h
+ =
+
+151 (\19
+icmpv6_hdr
+ *)((\ 5*)
+\9dv6_h
+ + \17(\19
+\9dv6_hdr
+));
+
+153 ià((
+icmpv6_h
+->
+icmpv6_ty³
+ =ð
+ICMPV6_ECHO_REQUEST
+)
+
+154 && (
+icmpv6_h
+->
+icmpv6_code
+ == 0)) {
+
+155 \ f
+i
+ = 0; i < 16; i++) {
+
+156 
+\9dv6_addr
+[
+i
+] = 
+\9dv6_h
+->
+¤c_addr
+[i];
+
+159 
+       `\91h\94_addr_cÝy
+(&
+\91h_h
+->
+s_addr
+, &\91h_h->
+d_addr
+);
+
+160 
+       `\91h\94_addr_cÝy
+((\19
+\91h\94_addr
+ *)&
+pÜt
+->
+maÿddr
+[0],
+
+161 &
+\91h_h
+->
+s_addr
+);
+
+163 \ f
+i
+ = 0; i < 16; i++)
+
+164 
+\9dv6_h
+->
+¤c_addr
+[
+i
+] = ipv6_h->
+d¡_addr
+[i];
+
+165 \ f
+i
+ = 0; i < 16; i++)
+
+166 
+\9dv6_h
+->
+d¡_addr
+[
+i
+] = 
+\9dv6_addr
+[i];
+
+168 
+icmpv6_h
+->
+icmpv6_ty³
+ = 
+ICMPV6_ECHO_REPLY
+;
+
+169 
+icmpv6_h
+->
+icmpv6_cksum
+ = 0;
+
+170 
+icmpv6_h
+->
+icmpv6_cksum
+ = ~
+       `icmpv6_\9dv6_echo_checksum
+(
+pkt
+);
+
+171 
+pÜt
+->
+       `\8cªsm\99_bulk_pkts
+ÕÜt, &
+pkt
+, 1);
+
+174 } \vià((
+icmpv6_h
+->
+icmpv6_ty³
+ =ð
+ICMPV6_ECHO_REPLY
+)
+
+175 && (
+icmpv6_h
+->
+icmpv6_code
+ == 0)) {
+
+176 \19
+nd_key_\9dv6
+nd_key
+;
+
+177 
+nd_key
+.
+pÜt_id
+ = 
+pÜt
+->
+pmdid
+;
+
+178 \ f
+i
+ = 0; i < 
+ND_IPV6_ADDR_SIZE
+; i++) {
+
+179 
+nd_key
+.
+\9dv6
+[
+i
+] = 
+\9dv6_h
+->
+¤c_addr
+[i];
+
+182 
+nd_key
+.
+f\9eËr1
+ = 0;
+
+183 
+nd_key
+.
+f\9eËr2
+ = 0;
+
+184 
+nd_key
+.
+f\9eËr3
+ = 0;
+
+187 \19
+nd_\92\8cy_d©a
+ *
+Ãw_nd_d©a
+ = 
+       `»\8c\9bve_nd_\92\8cy
+(
+nd_key
+);
+
+188 ià(
+Ãw_nd_d©a
+ =ð
+NULL
+) {
+
+189 
\9atf
+
+
+191 
+nd_key
+.
+pÜt_id
+);
+
+192 \ f
+i
+ = 0; i < 
+ND_IPV6_ADDR_SIZE
+; i += 2) {
+
+193 
+       `´\9atf
+("%02X%02X ", 
+nd_key
+.
+\9dv6
+[
+i
+],
+
+194 
+nd_key
+.
+\9dv6
+[
+i
+ + 1]);
+
+199 
+Ãw_nd_d©a
+->
+¡©us
+ = 
+COMPLETE
+;
+
+200 } \vià((
+icmpv6_h
+->
+icmpv6_ty³
+ =ð
+ICMPV6_NEIGHBOR_SOLICITATION
+)
+
+201 && (
+icmpv6_h
+->
+icmpv6_code
+ == 0)) {
+
+203 
+icmpv6_nd_h
+ =
+
+204 (\19
+icmpv6_nd_hdr
+ *)((\ 5*)
+icmpv6_h
+ +
+
+205 \17(\19
+icmpv6_hdr
+));
+
+206 \19
+\91h\94_addr
+ *
+¤c_hw_addr
+ = &
+\91h_h
+->
+s_addr
+;
+
+207 
+u\9at8_t
+¤c_\9dv6
+[16], 
+d¡_\9dv6
+[16];
+
+208 
+u\9at16_t
+muÉi_addr
+;
+
+210 \ f
+i
+ = 0; i < 
+ND_IPV6_ADDR_SIZE
+; i++)
+
+211 
+¤c_\9dv6
+[
+i
+] = 
+\9dv6_h
+->
+¤c_addr
+[i];
+
+212 \ f
+i
+ = 0; i < 
+ND_IPV6_ADDR_SIZE
+; i++)
+
+213 
+d¡_\9dv6
+[
+i
+] = 
+\9dv6_h
+->
+d¡_addr
+[i];
+
+215 
+muÉi_addr
+ = 
+d¡_\9dv6
+[0];
+
+218 ià((
+IPV6_MULTICAST
+ & ((
+muÉi_addr
+ << 8è| 
+d¡_\9dv6
+[1]))
+
+219 || !
+       `memcmp
+(&
+pÜt
+->
+maÿddr
+[0], &
+\91h_h
+->
+d_addr
+, 6)) {
+
+220 
+       `pÝuÏ\8b_nd_\92\8cy
+(
+¤c_hw_addr
+, 
+¤c_\9dv6
+, 
+pÜt
+->
+pmdid
+,
+
+221 
+DYNAMIC_ND
+);
+
+224 \ f
+i
+ = 0; i < 
+ND_IPV6_ADDR_SIZE
+; i++)
+
+225 
+»q_t\9dv6
+[
+i
+] = 
+icmpv6_nd_h
+->
+\8frg\91_\9dv6
+[i];
+
+227 ià(!
+memcmp
+
+
+228 (&
+»q_t\9dv6
+[0],
+
+229 &((
+\9dv6li¡_t
+ *è
+pÜt
+->
+\9dv6_li¡
+)->
+\9daddr
+[0],
+
+232 
+       `\91h\94_addr_cÝy
+(&
+\91h_h
+->
+s_addr
+, &\91h_h->
+d_addr
+);
+
+233 
+       `\91h\94_addr_cÝy
+((\19
+\91h\94_addr
+ *)&
+pÜt
+->
+
+234 
+maÿddr
+[0], &
+\91h_h
+->
+s_addr
+);
+
+237 \ f
+i
+ = 0; i < 
+ND_IPV6_ADDR_SIZE
+; i++)
+
+238 
+\9dv6_h
+->
+d¡_addr
+[
+i
+] =
+
+239 
+\9dv6_h
+->
+¤c_addr
+[
+i
+];
+
+240 \ f
+i
+ = 0; i < 
+ND_IPV6_ADDR_SIZE
+; i++)
+
+241 
+\9dv6_h
+->
+¤c_addr
+[
+i
+] = 
+»q_t\9dv6
+[i];
+
+242 
+icmpv6_h
+->
+icmpv6_ty³
+ =
+
+243 
+ICMPV6_NEIGHBOR_ADVERTISEMENT
+;
+
+244 
+icmpv6_nd_h
+->
+ty³
+ = 
+e_T¬g\91_L\9ak_Lay\94_Add»ss
+;
+
+245 
+icmpv6_nd_h
+->
+Ëngth
+ = 1;
+
+246 
+       `memýy
+(&
+icmpv6_nd_h
+->
+l\9ak_Ïy\94_addr
+[0],
+
+247 &
+pÜt
+->
+maÿddr
+[0], 6);
+
+248 
+icmpv6_nd_h
+->
+icmpv6_ȣrved
+ = 0;
+
+249 
+icmpv6_nd_h
+->
+icmpv6_ȣrved
+ |=
+
+250 
+¹e_ýu_to_be_32
+
+
+251 (
+NEIGHBOR_ROUTER_OVERRIDE_SET
+);
+
+253 
+icmpv6_h
+->
+icmpv6_cksum
+ = 0;
+
+254 
+icmpv6_h
+->
+icmpv6_cksum
+ =
+
+255 ~
+       `icmpv6_\9dv6_nd_checksum
+(
+pkt
+);
+
+257 
+pÜt
+->
+       `\8cªsm\99_bulk_pkts
+ÕÜt, &
+pkt
+, 1);
+
+259 } \vià(
+ARPICMP_DEBUG
+) {
+
+260 
\9atf
+
+
+266 ià(
+ARPICMP_DEBUG
+) {
+
+267 
\9atf
+
+
+272 } \vià((
+icmpv6_h
+->
+icmpv6_ty³
+ =ð
+ICMPV6_NEIGHBOR_ADVERTISEMENT
+)
+
+273 && (
+icmpv6_h
+->
+icmpv6_code
+ == 0)) {
+
+274 \19
+\91h\94_addr
+ *
+¤c_hw_addr
+ = &
+\91h_h
+->
+s_addr
+;
+
+275 
+u\9at8_t
+\9dv6
+[16];
+
+276 \ f
+i
+ = 0; i < 
+ND_IPV6_ADDR_SIZE
+; i++) {
+
+277 
+\9dv6
+[
+i
+] = 
+\9dv6_h
+->
+¤c_addr
+[i];
+
+280 
+       `pÝuÏ\8b_nd_\92\8cy
+(
+¤c_hw_addr
+, 
+\9dv6
+, 
+pÜt
+->
+pmdid
+, 
+DYNAMIC_ND
+);
+
+282 ià(
+ARPICMP_DEBUG
+) {
+
+283 
+       `´\9atf
+("ICMPv6 Type %d Not Supported yet !!!\n",
+
+284 
+icmpv6_h
+->
+icmpv6_ty³
+);
+
+288 
+       `¹e_pktmbuf_ä\93
+(
+pkt
+);
+
+289 
+       }
+}
+
+291 \19
+¹e_mbuf
+ *
+       $»que¡_icmpv6_echo
+(
+u\9at8_t
+\9dv6
+[], 
+l2_phy_\9a\8brçû_t
+ *
+pÜt
+)
+
+293 \19
+\91h\94_hdr
+ *
+\91h_h
+;
+
+294 \19
+\9dv6_hdr
+ *
+\9dv6_h
+;
+
+295 \19
+icmpv6_hdr
+ *
+icmpv6_h
+;
+
+296 \19
+icmpv6_\9afo_hdr
+ *
+icmpv6_\9afo_h
+;
+
+297 \12
+i
+;
+
+298 
+u\9at8_t
+ *
+icmp_d©a
+;
+
+300 \19
+¹e_mbuf
+ *
+icmpv6_pkt
+ = 
+lib_icmpv6_pkt
+;
+
+301 ià(
+icmpv6_pkt
+ =ð
+NULL
+) {
+
+302 ià(
+ARPICMP_DEBUG
+)
+
+303 
+       `´\9atf
+("Error\87llocating icmpv6_pkt\84te_mbuf\n");
+
+304 \15 
+NULL
+;
+
+307 
+\91h_h
+ = 
+       `¹e_pktmbuf_mtod
+(
+icmpv6_pkt
+, \19
+\91h\94_hdr
+ *);
+
+309 
+\9dv6_h
+ = (\19
+\9dv6_hdr
+ *)((\ 5*)
+\91h_h
+ + \17(\19
+\91h\94_hdr
+));
+
+310 
+icmpv6_h
+ =
+
+311 (\19
+icmpv6_hdr
+ *)((\ 5*)
+\9dv6_h
+ + \17(\19
+\9dv6_hdr
+));
+
+312 
+icmpv6_\9afo_h
+ =
+
+313 (\19
+icmpv6_\9afo_hdr
+ *)((\ 5*)
+icmpv6_h
+ +
+
+314 \17(\19
+icmpv6_hdr
+));
+
+316 
+       `\91h\94_addr_cÝy
+((\19
+\91h\94_addr
+ *)&
+pÜt
+->
+maÿddr
+[0], &
+\91h_h
+->
+s_addr
+);
+
+317 
+\91h_h
+->
+\91h\94_ty³
+ = 
+       `¹e_bsw­16
+(0x86dd);
+
+318 \ f
+i
+ = 0; i < 6; i++) {
+
+319 
+\91h_h
+->
+d_addr
+.
+addr_by\8bs
+[
+i
+] = 0;
+
+322 
+\9dv6_h
+->
+vtc_æow
+ = 
+       `¹e_bsw­32
+(0x60000000);
+
+323 
+\9dv6_h
+->
+·ylßd_Ën
+ = 
+       `¹e_bsw­16
+(64);
+
+324 
+\9dv6_h
+->
+´Ùo
+ = 58;
+
+325 
+\9dv6_h
+->
+hÝ_lim\99s
+ = 64;
+
+327 \ f
+i
+ = 0; i < 16; i++) {
+
+328 
+\9dv6_h
+->
+¤c_addr
+[
+i
+] = 0x0;
+
+329 
+\9dv6_h
+->
+d¡_addr
+[
+i
+] = 
+\9dv6
+[i];
+
+332 
+icmpv6_h
+->
+icmpv6_ty³
+ = 
+ICMPV6_ECHO_REQUEST
+;
+
+333 
+icmpv6_h
+->
+icmpv6_code
+ = 0;
+
+334 
+icmpv6_\9afo_h
+->
+icmpv6_id\92t
+ = 
+       `¹e_bsw­16
+(0x5151);
+
+335 
+icmpv6_\9afo_h
+->
+icmpv6_£q_nb
+ = 
+       `¹e_bsw­16
+(0x1);
+
+337 
+icmp_d©a
+ = (
+u\9at8_t
+ *è
+icmpv6_h
+ + 8;
+
+338 \ f
+i
+ = 0; i < 56; i++) {
+
+339 *
+icmp_d©a
+ = 
+i
+ + 1;
+
+340 
+icmp_d©a
+++;
+
+342 
+icmpv6_h
+->
+icmpv6_cksum
+ = 0;
+
+343 
+icmpv6_h
+->
+icmpv6_cksum
+ = ~
+       `icmpv6_\9dv6_echo_checksum
+(
+icmpv6_pkt
+);
+
+345 
+icmpv6_pkt
+->
+pkt_Ën
+ =
+
+346 \17(\19
+\91h\94_hdr
+è+ \17(\19
+\9dv6_hdr
+) + 64;
+
+347 
+icmpv6_pkt
+->
+d©a_Ën
+ = icmpv6_pkt->
+pkt_Ën
+;
+
+349 \15 
+icmpv6_pkt
+;
+
+350 
+       }
+}
+
+352 \19
+¹e_mbuf
+ *
+       $»que¡_nd
+(
+u\9at8_t
+\9dv6
+[], 
+l2_phy_\9a\8brçû_t
+ *
+pÜt
+)
+
+354 \19
+\91h\94_hdr
+ *
+\91h_h
+;
+
+355 \19
+\9dv6_hdr
+ *
+\9dv6_h
+;
+
+356 \19
+icmpv6_hdr
+ *
+icmpv6_h
+;
+
+357 \19
+icmpv6_nd_hdr
+ *
+icmpv6_nd_h
+;
+
+358 \12
+i
+;
+
+360 \19
+¹e_mbuf
+ *
+icmpv6_pkt
+ = 
+lib_icmpv6_pkt
+;
+
+361 ià(
+icmpv6_pkt
+ =ð
+NULL
+) {
+
+362 ià(
+ARPICMP_DEBUG
+)
+
+363 
+       `´\9atf
+("Error\87llocating icmpv6_pkt\84te_mbuf\n");
+
+364 \15 
+NULL
+;
+
+367 
+\91h_h
+ = 
+       `¹e_pktmbuf_mtod
+(
+icmpv6_pkt
+, \19
+\91h\94_hdr
+ *);
+
+369 
+\9dv6_h
+ = (\19
+\9dv6_hdr
+ *)((\ 5*)
+\91h_h
+ + \17(\19
+\91h\94_hdr
+));
+
+370 
+icmpv6_h
+ =
+
+371 (\19
+icmpv6_hdr
+ *)((\ 5*)
+\9dv6_h
+ + \17(\19
+\9dv6_hdr
+));
+
+372 
+icmpv6_nd_h
+ =
+
+373 (\19
+icmpv6_nd_hdr
+ *)((\ 5*)
+icmpv6_h
+ +
+
+374 \17(\19
+icmpv6_hdr
+));
+
+376 
+       `\91h\94_addr_cÝy
+((\19
+\91h\94_addr
+ *)&
+pÜt
+->
+maÿddr
+[0], &
+\91h_h
+->
+s_addr
+);
+
+377 
+\91h_h
+->
+\91h\94_ty³
+ = 
+       `¹e_bsw­16
+(0x86dd);
+
+378 \ f
+i
+ = 0; i < 6; i++) {
+
+379 
+\91h_h
+->
+d_addr
+.
+addr_by\8bs
+[
+i
+] = 0;
+
+382 
+\9dv6_h
+->
+vtc_æow
+ = 0x60000000;
+
+383 
+\9dv6_h
+->
+·ylßd_Ën
+ = 
+       `¹e_bsw­16
+(32);
+
+384 
+\9dv6_h
+->
+´Ùo
+ = 58;
+
+385 
+\9dv6_h
+->
+hÝ_lim\99s
+ = 64;
+
+387 \ f
+i
+ = 0; i < 16; i++) {
+
+388 
+\9dv6_h
+->
+¤c_addr
+[
+i
+] = 0x0;
+
+389 
+\9dv6_h
+->
+d¡_addr
+[
+i
+] = 
+\9dv6
+[i];
+
+392 
+icmpv6_h
+->
+icmpv6_ty³
+ = 
+ICMPV6_NEIGHBOR_SOLICITATION
+;
+
+393 
+icmpv6_h
+->
+icmpv6_code
+ = 0;
+
+395 
+icmpv6_nd_h
+->
+icmpv6_ȣrved
+ = 0x0;
+
+396 \ f
+i
+ = 0; i < 
+ND_IPV6_ADDR_SIZE
+; i++)
+
+397 
+icmpv6_nd_h
+->
+\8frg\91_\9dv6
+[
+i
+] = 
+\9dv6
+[i];
+
+398 
+icmpv6_nd_h
+->
+ty³
+ = 
+e_Sourû_L\9ak_Lay\94_Add»ss
+;
+
+399 
+icmpv6_nd_h
+->
+Ëngth
+ = 1;
+
+400 
+       `memýy
+(&
+icmpv6_nd_h
+->
+l\9ak_Ïy\94_addr
+[0], &
+pÜt
+->
+maÿddr
+[0], 6);
+
+402 
+icmpv6_h
+->
+icmpv6_cksum
+ = 0;
+
+403 
+icmpv6_h
+->
+icmpv6_cksum
+ = ~
+       `icmpv6_\9dv6_nd_checksum
+(
+icmpv6_pkt
+);
+
+405 
+icmpv6_pkt
+->
+pkt_Ën
+ =
+
+406 \17(\19
+\91h\94_hdr
+è+ \17(\19
+\9dv6_hdr
+) + 32;
+
+407 
+icmpv6_pkt
+->
+d©a_Ën
+ = icmpv6_pkt->
+pkt_Ën
+;
+
+409 \15 
+icmpv6_pkt
+;
+
+410 
+       }
+}
+
+       @VIL/l2l3_stack/lib_icmpv6.h
+
+17 \ 2
+       ~<¡dio.h
+>
+
+18 \ 2
+       ~<¡dlib.h
+>
+
+19 \ 2
+       ~<¡d\9at.h
+>
+
+20 \ 2
+       ~<¡r\9ag.h
+>
+
+21 \ 2
+       ~<uni¡d.h
+>
+
+22 \ 2
+       ~<¹e_commÚ.h
+>
+
+23 \ 2
+       ~<¹e_m®loc.h
+>
+
+24 \ 2
+       ~<¹e_\9d.h
+>
+
+25 \ 2
+       ~<¹e_by\8bÜd\94.h
+>
+
+26 \ 2
+       ~<¹e_\8fbË_Ím.h
+>
+
+27 \ 2
+       ~<¹e_\8fbË_hash.h
+>
+
+28 \ 2
+       ~<¹e_p\9d\96\9ae.h
+>
+
+29 \ 2
+       ~<¹e_¬p.h
+>
+
+30 \ 2
+       ~<¹e_icmp.h
+>
+
+31 \ 2
+       ~<¹e_hash.h
+>
+
+32 \ 2
+       ~<¹e_jhash.h
+>
+
+33 \ 2
+       ~<¹e_cyþes.h
+>
+
+34 \ 2
+       ~"lib_¬p.h
+"
+
+35 \ 2
+       ~<¹e_p\9d\96\9ae.h
+>
+
+36 \ 2
+       ~"¹e_\91h\94.h
+"
+
+42 \19
+       sicmpv6_hdr
+ {
+
+43 
+u\9at8_t
+       micmpv6_ty³
+;
+
+44 
+u\9at8_t
+       micmpv6_code
+;
+
+45 
+u\9at16_t
+       micmpv6_cksum
+;
+
+46 } 
+__©\8cibu\8b__
+ ((
+__·cked__
+));
+
+51 \19
+       sicmpv6_\9afo_hdr
+ {
+
+52 
+u\9at16_t
+       micmpv6_id\92t
+;
+
+53 
+u\9at16_t
+       micmpv6_£q_nb
+;
+
+54 } 
+__©\8cibu\8b__
+ ((
+__·cked__
+));
+
+59 \19
+       sicmpv6_nd_hdr
+ {
+
+61 
+u\9at32_t
+       micmpv6_»£rved
+;
+
+63 
+u\9at8_t
+       m\8frg\91_\9dv6
+[16];
+
+64 
+u\9at8_t
+       mty³
+;
+
+65 
+u\9at8_t
+       mËngth
+;
+
+66 
+u\9at8_t
+       ml\9ak_Ïy\94_addr
+[6];
+
+67 } 
+__©\8cibu\8b__
+ ((
+__·cked__
+));
+
+70 \ 1
+       #ICMPV6_PROTOCOL_ID
+ 58
+
+       )
+
+71 \ 1
+       #ICMPV6_ECHO_REQUEST
+ 0x0080
+
+       )
+
+72 \ 1
+       #ICMPV6_ECHO_REPLY
+ 0x0081
+
+       )
+
+73 \ 1
+       #ICMPV6_NEIGHBOR_SOLICITATION
+ 0x0087
+
+       )
+
+74 \ 1
+       #ICMPV6_NEIGHBOR_ADVERTISEMENT
+ 0x0088
+
+       )
+
+75 \ 1
+       #IPV6_MULTICAST
+ 0xFF02
+
+       )
+
+77 \ 1
+       #NEIGHBOR_SOLICITATION_SET
+ 0x40000000
+
+       )
+
+78 \ 1
+       #NEIGHBOR_ROUTER_OVERRIDE_SET
+ 0xa0000000
+
+       )
+
+79 \f
+       eicmpv6_l\9ak_Ïy\94_Add»ss_ty³
+ {
+
+80 
+       me_Sourû_L\9ak_Lay\94_Add»ss
+ = 1,
+
+81 
+       me_T¬g\91_L\9ak_Lay\94_Add»ss
+,
+
+82 
+       me_L\9ak_Lay\94_Add»ss
+
+
+88 
+u\9at8_t
+is_muÉiÿ¡_\9dv6_addr
+(u\9at8_\88
+\9dv6
+[]);
+
+93 \19
+       sicmpv6_pÜt_add»ss
+ {
+
+94 
+u\9at32_t
+       m\9dv6
+[16];
+
+95 
+u\9at64_t
+       mmac_addr
+;
+
+101 \19
+icmpv6_pÜt_add»ss
+       gicmpv6_pÜt_add»s£s
+[
+RTE_MAX_ETHPORTS
+];
+
+103 \ 1
+       #MAX_NUM_ICMPv6_ENTRIES
+ 64
+
+       )
+
+104 \19
+¹e_mbuf
+ *
+       glib_icmpv6_pkt
+;
+
+113 \1e
+´oûss_icmpv6_pkt
+(\19
+¹e_mbuf
+ *
+pkt
+, 
+l2_phy_\9a\8brçû_t
+ *
+pÜt
+);
+
+       @VIL/l2l3_stack/main_l2l3.c
+
+17 #iâdeà
+__INCLUDE_MAIN__
+
+
+18 \ 1
+       #__INCLUDE_MAIN_H__
+
+
+       )
+
+20 \ 2
+       ~<¡dio.h
+>
+
+21 \ 2
+       ~<¡dlib.h
+>
+
+22 \ 2
+       ~<¡d\9at.h
+>
+
+23 \ 2
+       ~<\9a\89y³s.h
+>
+
+24 \ 2
+       ~<sys/ty³s.h
+>
+
+25 \ 2
+       ~<¡r\9ag.h
+>
+
+26 \ 2
+       ~<sys/queue.h
+>
+
+27 \ 2
+       ~<¡d¬g.h
+>
+
+28 \ 2
+       ~<\94ºo.h
+>
+
+29 \ 2
+       ~<g\91Ýt.h
+>
+
+30 \ 2
+       ~<sigÇl.h
+>
+
+31 \ 2
+       ~<¡dboÞ.h
+>
+
+33 \ 2
+       ~<¹e_commÚ.h
+>
+
+34 \ 2
+       ~<¹e_veù.h
+>
+
+35 \ 2
+       ~<¹e_by\8bÜd\94.h
+>
+
+36 \ 2
+       ~<¹e_log.h
+>
+
+37 \ 2
+       ~<¹e_memÜy.h
+>
+
+38 \ 2
+       ~<¹e_memýy.h
+>
+
+39 \ 2
+       ~<¹e_memzÚe.h
+>
+
+40 \ 2
+       ~<¹e_\97l.h
+>
+
+41 \ 2
+       ~<¹e_³r_lcÜe.h
+>
+
+42 \ 2
+       ~<¹e_Ïunch.h
+>
+
+43 \ 2
+       ~<¹e_©omic.h
+>
+
+44 \ 2
+       ~<¹e_cyþes.h
+>
+
+45 \ 2
+       ~<¹e_´eãtch.h
+>
+
+46 \ 2
+       ~<¹e_lcÜe.h
+>
+
+47 \ 2
+       ~<¹e_³r_lcÜe.h
+>
+
+48 \ 2
+       ~<¹e_b¿nch_´ediùiÚ.h
+>
+
+49 \ 2
+       ~<¹e_\9a\8b¼u±s.h
+>
+
+50 \ 2
+       ~<¹e_pci.h
+>
+
+51 \ 2
+       ~<¹e_¿ndom.h
+>
+
+52 \ 2
+       ~<¹e_debug.h
+>
+
+53 \ 2
+       ~<¹e_\91h\94.h
+>
+
+54 \ 2
+       ~<¹e_\91hdev.h
+>
+
+55 \ 2
+       ~<¹e_r\9ag.h
+>
+
+56 \ 2
+       ~<¹e_mempoÞ.h
+>
+
+57 \ 2
+       ~<¹e_mbuf.h
+>
+
+58 \ 2
+       ~<¹e_\9d.h
+>
+
+59 \ 2
+       ~<¹e_tý.h
+>
+
+60 \ 2
+       ~<¹e_udp.h
+>
+
+61 \ 2
+       ~<¹e_¡r\9ag_âs.h
+>
+
+62 \ 2
+       ~<¹e_ýuæags.h
+>
+
+63 \ 2
+       ~<¹e_tim\94.h
+>
+
+64 \ 2
+       ~"lib_¬p.h
+"
+
+65 \ 2
+       ~"l2_´Ùo.h
+"
+
+66 \ 2
+       ~"\9a\8brçû.h
+"
+
+67 \ 2
+       ~"l3fwd_commÚ.h
+"
+
+68 \ 2
+       ~"l3fwd_Ím4.h
+"
+
+69 \ 2
+       ~"l3fwd_Ím6.h
+"
+
+70 \ 1
+       #TIMER_RESOLUTION_CYCLES
+ 20000000ULL
+
+       )
+
+71 \1d
+       glcÜe_id
+ = 1;
+
+72 \1e
+cÚv\94t_\9d¡r_to_num\94ic
+(\1e);
+
+73 \19
+sockaddr_\9a
+       g\9daddr1
+, 
+       g\9daddr2
+, 
+       g\9daddr3
+, 
+       g\9daddr4
+;
+
+74 
+u\9at8_t
+       g\9dv6_addr0
+[16] = {
+
+78 
+u\9at8_t
+       g\9dv6_addr1
+[16] = {
+
+83 
+pÜt_cÚfig_t
+       gpÜtcÚf
+[5] = {
+
+85 .
+pÜt_id
+ = 0,
+
+86 .
+       gÄx_queue
+ = 1,
+
+87 .
+       gÁx_queue
+ = 1,
+
+88 .
+       g¡©e
+ = 1,
+
+89 .
+       g´omisc
+ = 1,
+
+90 .
+       gmempoÞ
+ = {
+
+91 .
+bufãr_size
+ = 2048 + \17(\19
+¹e_mbuf
+) +
+
+92 
+RTE_PKTMBUF_HEADROOM
+,
+
+93 .
+       gpoÞ_size
+ = 32 * 1024,
+
+94 .
+       gÿche_size
+ = 256,
+
+95 .
+       gýu_sock\91_id
+ = 0,
+
+97 .
+       gpÜt_cÚf
+ = {
+
+98 .
+l\9ak_¥\93ds
+ = 0,
+
+99 .
+       grxmode
+ = {
+
+100 .
+mq_mode
+ = 
+ETH_MQ_RX_NONE
+,
+
+101 .
+       gh\97d\94_¥l\99
+ = 0,
+
+102 .
+       ghw_\9d_checksum
+ = 0,
+
+103 .
+       ghw_vÏn_f\9e\8br
+ = 0,
+
+104 .
+       ghw_vÏn_¡r\9d
+ = 0,
+
+105 .
+       ghw_vÏn_ex\8bnd
+ = 0,
+
+106 .
+       gjumbo_äame
+ = 0,
+
+107 .
+       ghw_¡r\9d_üc
+ = 0,
+
+108 .
+       g\92abË_sÿ\89\94
+ = 0,
+
+109 .
+       gmax_rx_pkt_Ën
+ = 9000,
+
+110 .
+       g¥l\99_hdr_size
+ = 0,
+
+112 
+       g_adv_cÚf
+ = {
+
+113 .
+rss_cÚf
+ = {
+
+114 .
+rss_key
+ = 
+NULL
+,
+
+115 .
+       grss_key_Ën
+ = 40,
+
+116 .
+       grss_hf
+ = 0,
+
+119 .
+       gtxmode
+ = {
+
+120 .
+mq_mode
+ = 
+ETH_MQ_TX_NONE
+,},
+
+121 .
+       gÍbk_mode
+ = 0,
+
+122 .
+       g\9a\8c_cÚf
+ = {
+
+123 .
+lsc
+ = 1,
+
+127 .
+       grx_cÚf
+ = {
+
+128 .
+rx_th»sh
+ = {
+
+129 .
+±h»sh
+ = 8,
+
+130 .
+       ghth»sh
+ = 8,
+
+131 .
+       gwth»sh
+ = 4,
+
+133 .
+       grx_ä\93_th»sh
+ = 64,
+
+134 .
+       grx_drÝ_\92
+ = 0,
+
+135 .
+       grx_deã¼ed_¡¬t
+ = 0,
+
+137 .
+       gtx_cÚf
+ = {
+
+138 .
+tx_th»sh
+ = {
+
+139 .
+±h»sh
+ = 36,
+
+140 .
+       ghth»sh
+ = 0,
+
+141 .
+       gwth»sh
+ = 0, =
+
+143 .
+       gtx_rs_th»sh
+ = 0,
+
+144 .
+       gtx_ä\93_th»sh
+ = 0,
+
+145 .
+       gtxq_æags
+ = 
+ETH_TXQ_FLAGS_NOMULTSEGS
+ | 
+ETH_TXQ_FLAGS_NOOFFLOADS
+,
+
+146 .
+       gtx_deã¼ed_¡¬t
+ = 0,
+
+150 .
+       gpÜt_id
+ = 1,
+
+151 .
+       gÄx_queue
+ = 1,
+
+152 .
+       gÁx_queue
+ = 1,
+
+153 .
+       g¡©e
+ = 1,
+
+154 .
+       g´omisc
+ = 1,
+
+155 .
+       gmempoÞ
+ = {
+
+156 .
+bufãr_size
+ = 2048 + \17(\19
+¹e_mbuf
+) +
+
+157 
+RTE_PKTMBUF_HEADROOM
+,
+
+158 .
+       gpoÞ_size
+ = 32 * 1024,
+
+159 .
+       gÿche_size
+ = 256,
+
+160 .
+       gýu_sock\91_id
+ = 0,
+
+162 .
+       gpÜt_cÚf
+ = {
+
+163 .
+l\9ak_¥\93ds
+ = 0,
+
+164 .
+       grxmode
+ = {
+
+165 .
+mq_mode
+ = 
+ETH_MQ_RX_NONE
+,
+
+166 .
+       gh\97d\94_¥l\99
+ = 0,
+
+167 .
+       ghw_\9d_checksum
+ = 0,
+
+168 .
+       ghw_vÏn_f\9e\8br
+ = 0,
+
+169 .
+       ghw_vÏn_¡r\9d
+ = 0,
+
+170 .
+       ghw_vÏn_ex\8bnd
+ = 0,
+
+171 .
+       gjumbo_äame
+ = 0,
+
+172 .
+       ghw_¡r\9d_üc
+ = 0,
+
+173 .
+       g\92abË_sÿ\89\94
+ = 0,
+
+174 .
+       gmax_rx_pkt_Ën
+ = 9000,
+
+175 .
+       g¥l\99_hdr_size
+ = 0,
+
+177 
+       g_adv_cÚf
+ = {
+
+178 .
+rss_cÚf
+ = {
+
+179 .
+rss_key
+ = 
+NULL
+,
+
+180 .
+       grss_key_Ën
+ = 40,
+
+181 .
+       grss_hf
+ = 0,
+
+184 .
+       gtxmode
+ = {
+
+185 .
+mq_mode
+ = 
+ETH_MQ_TX_NONE
+,},
+
+186 .
+       gÍbk_mode
+ = 0,
+
+187 .
+       g\9a\8c_cÚf
+ = {
+
+188 .
+lsc
+ = 1,
+
+192 .
+       grx_cÚf
+ = {
+
+193 .
+rx_th»sh
+ = {
+
+194 .
+±h»sh
+ = 8,
+
+195 .
+       ghth»sh
+ = 8,
+
+196 .
+       gwth»sh
+ = 4,
+
+198 .
+       grx_ä\93_th»sh
+ = 64,
+
+199 .
+       grx_drÝ_\92
+ = 0,
+
+200 .
+       grx_deã¼ed_¡¬t
+ = 0,
+
+202 .
+       gtx_cÚf
+ = {
+
+203 .
+tx_th»sh
+ = {
+
+204 .
+±h»sh
+ = 36,
+
+205 .
+       ghth»sh
+ = 0,
+
+206 .
+       gwth»sh
+ = 0, =
+
+208 .
+       gtx_rs_th»sh
+ = 0,
+
+209 .
+       gtx_ä\93_th»sh
+ = 0,
+
+210 .
+       gtxq_æags
+ = 
+ETH_TXQ_FLAGS_NOMULTSEGS
+ | 
+ETH_TXQ_FLAGS_NOOFFLOADS
+,
+
+211 .
+       gtx_deã¼ed_¡¬t
+ = 0,
+
+216 \18
+__©\8cibu\8b__
+ ((
+nÜ\91
+))
+
+217 \12
+lcÜe_ma\9aloÝ
+ (
+__©\8cibu\8b__
+ ((
+unu£d
+))
+
+218 \1e*
+¬g
+)
+
+220 
+l2_phy_\9a\8brçû_t
+ *
+       gpÜt
+;
+
+221 
+\9at8_t
+       gpÜtid
+;
+
+222 \19
+¹e_mbuf
+ *
+       gpkts_bur¡
+[
+IFM_BURST_SIZE
+];
+
+223 
+u\9at32_t
+       gnb_tx
+, 
+       gnb_rx
+;
+
+224 cڡ 
+u\9at64_t
+       gd¿\9a_tsc
+ =
+
+225 (
+¹e_g\91_tsc_hz
+(è+ 
+US_PER_S
+ - 1è/ US_PER_S * 
+BURST_TX_DRAIN_US
+;
+
+226 
+u\9at64_t
+       g´ev_tsc
+ = 0, 
+       gcur_tsc
+, 
+       gdiff_tsc
+;
+
+228 
+       gpÜt
+ = 
+ifm_g\91_f\9c¡_pÜt
+();
+
+229 \1f
+       gpÜt
+ !ð
+NULL
+) {
+
+230 
+¹e_tim\94_mªage
+();
+
+231 
+       gpÜtid
+ = 
+pÜt
+->
+pmdid
+;
+
+232 
+       gcur_tsc
+ = 
+¹e_rdtsc
+();
+
+233 
+       gdiff_tsc
+ = 
+cur_tsc
+ - 
+´ev_tsc
+;
+
+236 ià(
+uÆik\96y
+(
+diff_tsc
+ > 
+d¿\9a_tsc
+)) {
+
+237 ià(
+       gpÜt
+->
+       gtx_buf_Ën
+ > 0) {
+
+238 
+RTE_SET_USED
+(
+nb_tx
+);
+
+241 
+       gpÜt
+->
+       gtx_buf_Ën
+ = 0;
+
+243 
+       g´ev_tsc
+ = 
+cur_tsc
+;
+
+245 
+       gnb_rx
+ = 
+pÜt
+->
\8c\9bve_bulk_pkts
+(
+pÜtid
+, 0, 
+pkts_bur¡
+);
+
+246 
+       gpÜt
+->
+       gn_rxpkts
+ +ð
+nb_rx
+;
+
+247 
+´ÙocÞ_hªdËr_»cv
+(
+pkts_bur¡
+, 
+nb_rx
+, 
+pÜt
+);
+
+248 
+       gpÜt
+ = 
+ifm_g\91_Ãxt_pÜt
+(
+pÜtid
+);
+
+249 ià(
+       gpÜt
+ !ð
+NULL
+)
+
+250 
+´ev_tsc
+ = 
+cur_tsc
+;
+
+255 \1e
+       $cÚv\94t_\9d¡r_to_num\94ic
+(\1e)
+
+257 
+       `mem£t
+(&
+\9daddr1
+, '\0', \17(\19
+sockaddr_\9a
+));
+
+258 
+\9daddr1
+.
+s\9a_addr
+.
+s_addr
+ = 
+       `\9a\91_addr
+("30.0.0.10");
+
+259 
+       `mem£t
+(&
+\9daddr2
+, '\0', \17(\19
+sockaddr_\9a
+));
+
+260 
+\9daddr2
+.
+s\9a_addr
+.
+s_addr
+ = 
+       `\9a\91_addr
+("120.0.0.10");
+
+261 
+       }
+}
+
+263 \12
+       $ma\9a
+(\12
+¬gc
+, \ 5**
+¬gv
+)
+
+265 \12
+»t
+ = 0;
+
+267 
+»t
+ = 
+       `¹e_\97l_\9a\99
+(
+¬gc
+, 
+¬gv
+);
+
+268 ià(
+»t
+ < 0)
+
+269 
+       `¹e_ex\99
+(
+EXIT_FAILURE
+, "Invalid EAL\85arameters\n");
+
+272 
+       `ifm_\9a\99
+();
+
+273 
+       `ifm_cÚfigu»_pÜts
+(
+pÜtcÚf
+);
+
+278 
+       `ifm_add_\9dv6_pÜt
+(0, 
+\9dv6_addr0
+, 96);
+
+279 
+       `ifm_add_\9dv6_pÜt
+(1, 
+\9dv6_addr1
+, 96);
+
+280 
+       `´\9at_\9a\8brçû_d\91a\9es
+();
+
+283 
+       `l3fwd_\9a\99
+();
+
+284 
+       `ü\97\8b_¬p_\8f
+();
+
+285 
+       `ü\97\8b_nd_\8f
+();
+
+286 
+       `pÝuÏ\8b_Ím_rou\8bs
+();
+
+289 \12
+ii
+;
+
+290 \ f
+ii
+ = 0; ii < 16; ii += 2) {
+
+291 
+       `´\9atf
+("%02X%02X ", 
+\9dv6_addr0
+[
+ii
+], ipv6_addr0[ii + 1]);
+
+293 
+       `´\9atf
+("\n");
+
+294 \ f
+ii
+ = 0; ii < 16; ii += 2) {
+
+295 
+       `´\9atf
+("%02X%02X ", 
+\9dv6_addr1
+[
+ii
+], ipv6_addr1[ii + 1]);
+
+297 
+       `´\9atf
+("REMOTE LAUNCH STARTED........\n");
+
+298 
+       `¹e_\97l_»mÙe_Ïunch
+(
+lcÜe_ma\9aloÝ
+, 
+NULL
+, 
+lcÜe_id
+);
+
+299 
+       `´\9atf
+("REMOTE LAUNCH DONE.......\n");
+
+300 ià(
+       `¹e_\97l_wa\99_lcÜe
+(
+lcÜe_id
+) < 0) {
+
+303 
+       }
+}
+
+       @VIL/l2l3_stack/tsx.c
+
+17 \ 2
+       ~<imm\9a\8c\9a.h
+>
+
+18 \ 2
+       ~<¡dlib.h
+>
+
+19 \ 2
+       ~<¡dio.h
+>
+
+20 \ 2
+       ~<time.h
+>
+
+21 \ 2
+       ~<¡d\9at.h
+>
+
+22 \ 2
+       ~"¹e_©omic.h
+"
+
+23 \ 2
+       ~"tsx.h
+"
+
+24 \12
+       gmax_»\8c\9bs
+ = 3;
+
+27 
+       $run_ýuid
+ (
+u\9at32_t
+\97x
+, u\9at32_\88
+ecx
+, u\9at32_\88*
+abcd
+)
+
+29 
+u\9at32_t
+ebx
+ = 0, 
+edx
+ = 0;
+
+31 #ià
+       `def\9aed
+(
+__i386__
+è&& def\9aed (
+__PIC__
+)
+
+33 
+       `__asm__
+ ("movÈ%%ebx, %%ed\98\n\\88ýuid \n\\88xchgÈ%%ebx, %%edi":"=D" (
+ebx
+),
+
+35 
+       `__asm__
+ ("ýuid":"+b" (
+ebx
+),
+
+37 "+a" (
+\97x
+), "+c" (
+ecx
+), "=d" (
+edx
+));
+
+38 
+abcd
+[0] = 
+\97x
+;
+
+39 
+abcd
+[1] = 
+ebx
+;
+
+40 
+abcd
+[2] = 
+ecx
+;
+
+41 
+abcd
+[3] = 
+edx
+;
+
+42 
+       }
+}
+
+45 
+       $check_xü0_ymm
+ (\1e)
+
+47 
+u\9at32_t
+xü0
+;
+
+48 
+       `__asm__
+ ("xg\91bv" : "÷" (
+xü0
+) : "c" (0) : "%edx");
+
+49 \15 ((
+xü0
+ & 6) == 6);
+
+50 
+       }
+}
+
+53 
+       $check_4th_g\92_\9a\8bl_cÜe_ã©u»s
+ (\1e)
+
+55 
+u\9at32_t
+abcd
+[4];
+
+56 
+u\9at32_t
+fma_movbe_osx§ve_mask
+ = ((1 << 12) | (1 << 22) | (1 << 27));
+
+57 
+u\9at32_t
+avx2_bmi12_mask
+ = (1 << 5) | (1 << 3) | (1 << 8);
+
+62 
+       `run_ýuid
+ (1, 0, 
+abcd
+);
+
+63 ià((
+abcd
+[2] & 
+fma_movbe_osx§ve_mask
+) != fma_movbe_osxsave_mask) {
+
+64 
+       `´\9atf
+ ("Failing in if cond-1\n");
+
+67 ià(!
+       `check_xü0_ymm
+ ()) {
+
+68 
+       `´\9atf
+ ("Failing in if cond-2\n");
+
+75 
+       `run_ýuid
+ (7, 0, 
+abcd
+);
+
+76 ià((
+abcd
+[1] & 
+avx2_bmi12_mask
+) !=\87vx2_bmi12_mask) {
+
+77 
+       `´\9atf
+ ("Failing in if cond-3\n");
+
+81 
+       `run_ýuid
+ (0x80000001, 0, 
+abcd
+);
+
+82 ià((
+abcd
+[2] & (1 << 5)) == 0) {
+
+83 
+       `´\9atf
+ ("Failing in if cond-4\n");
+
+87 
+       `run_ýuid
+ (7, 0, 
+abcd
+);
+
+88 ià((
+abcd
+[1] & (1 << 11)) == 0) {
+
+89 
+       `´\9atf
+ ("Failing in if cond-5\n");
+
+93 
+       `run_ýuid
+ (7, 0, 
+abcd
+);
+
+94 ià((
+abcd
+[1] & (1 << 4)) == 0) {
+
+95 
+       `´\9atf
+ ("Failing in if cond-6\n");
+
+99 
+       }
+}
+
+102 
+       $ÿn_u£_\9a\8bl_cÜe_4th_g\92_ã©u»s
+ (\1e)
+
+104 \18\12
+the_4th_g\92_ã©u»s_ava\9eabË
+ = -1;
+
+106 ià(
+the_4th_g\92_ã©u»s_ava\9eabË
+ < 0)
+
+107 
+the_4th_g\92_ã©u»s_ava\9eabË
+ = 
+       `check_4th_g\92_\9a\8bl_cÜe_ã©u»s
+ ();
+
+108 \15 
+the_4th_g\92_ã©u»s_ava\9eabË
+;
+
+109 
+       }
+}
+
+112 
+       $¹m_\9a\99
+ (\1e)
+
+114 
+ÇbÜ\8bd
+ = (
+¹e_©omic64_t
+       `RTE_ATOMIC64_INIT
+ (0);
+
+117 
+       }
+} \12
+
+119 
+       $¹m_lock
+ (\1e)
+
+121 \12
\91r\9bs
+ = 0;
+
+123 ++
\91r\9bs
+;
+
+124 \1d\12
+¡©us
+ = 
+       `_xbeg\9a
+ ();
+
+125 ià(
+¡©us
+ =ð
+_XBEGIN_STARTED
+) {
+
+126 ià(!
+       `is_hË_locked
+ ())
+
+130 
+       `_xabÜt
+ (0xff);
+
+133 
+       `¹e_©omic64_\9ac
+ (&
+ÇbÜ\8bd
+);
+
+134 
\9atf
+
+
+136 
\91r\9bs
+, 
+¡©us
+);
+
+138 ià((
+¡©us
+ & 
+_XABORT_EXPLICIT
+)
+
+139 && 
+       `_XABORT_CODE
+ (
+¡©us
+è=ð0xfà&& !(¡©u & 
+_XABORT_NESTED
+)) {
+
+140 \1f
+       `is_hË_locked
+ ())
+
+141 
+       `_mm_·u£
+ ();
+
+143 \vià(!(
+¡©us
+ & 
+_XABORT_RETRY
+))
+
+145 ià(
\91r\9bs
+ >ð
+max_»\8c\9bs
+)
+
+148 
+       `hË_lock
+ ();
+
+150 
+       }
+}
+
+153 
+       $¹m_uÆock
+ (\1e)
+
+155 ià(
+       `is_hË_locked
+ ())
+
+156 
+       `hË_»Ëa£
+ ();
+
+159 
+       `_x\92d
+ ();
+
+161 
+       }
+}
+
+164 
+       $is_¹m_locked
+ (\1e)
+
+166 \15 ((\12è
+       `_x\8b¡
+ ());
+
+167 
+       }
+}
+
+       @VIL/l2l3_stack/tsx.h
+
+16 #iâdeà
+_TSX_H_
+
+
+17 \ 1
+       #_RSX_H_
+
+
+       )
+
+18 \ 2
+       ~<¹e_©omic.h
+>
+
+19 \ 1
+       #TRUE
+ 1
+
+       )
+
+20 \ 1
+       #FALSE
+ 0
+
+       )
+
+22 vÞ©\9e\90\12
+       gmu\8bx_v®
+;
+
+24 
+¹e_©omic64_t
+       gÇbÜ\8bd
+;
+
+26 \1e
+hË_\9a\99
+(\1e);
+
+27 \12
+hË_lock
+(\1e);
+
+28 \12
+hË_»Ëa£
+(\1e);
+
+29 \12
+is_hË_locked
+(\1e);
+
+31 \1e
+¹m_\9a\99
+(\1e);
+
+32 \12
+¹m_lock
+(\1e);
+
+33 \12
+¹m_uÆock
+(\1e);
+
+34 \12
+is_¹m_locked
+(\1e);
+
+36 \12
+ÿn_u£_\9a\8bl_cÜe_4th_g\92_ã©u»s
+(\1e);
+
+       @VIL/pipeline_arpicmp/pipeline_arpicmp.c
+
+17 \ 2
+       ~<cmdl\9ae_·r£.h
+>
+
+18 \ 2
+       ~<cmdl\9ae_·r£_num.h
+>
+
+19 \ 2
+       ~<cmdl\9ae_·r£_¡r\9ag.h
+>
+
+20 \ 2
+       ~<cmdl\9ae_·r£_\9daddr.h
+>
+
+21 \ 2
+       ~<cmdl\9ae_·r£_\91h\94addr.h
+>
+
+23 \ 2
+       ~"­p.h
+"
+
+24 \ 2
+       ~"p\9d\96\9ae_commÚ_ã.h
+"
+
+25 \ 2
+       ~"p\9d\96\9ae_¬picmp_be.h
+"
+
+26 \ 2
+       ~"p\9d\96\9ae_¬picmp.h
+"
+
+27 \ 2
+       ~"vnf_commÚ.h
+"
+
+29 \ 2
+       ~"­p.h
+"
+
+30 \ 2
+       ~"vnf_commÚ.h
+"
+
+31 #iâdeà
+VNF_ACL
+
+
+32 \ 2
+       ~"lib_¬p.h
+"
+
+35 \ 2
+       ~<¹e_\9d.h
+>
+
+36 \ 2
+       ~<¹e_udp.h
+>
+
+37 \ 2
+       ~<¹e_¡r\9ag_âs.h
+>
+
+39 
+u\9at16_t
+       gv\94bo£_Ëv\96
+ = 1;
+
+40 
+u\9at16_t
+       gnb_pkt_³r_bur¡
+ = 
+DEF_PKT_BURST
+;
+
+46 #ifdeà
+__GCC__
+
+
+47 \ 1
+       #RTE_BE_TO_CPU_16
+(
+be_16_v
+       `¹e_be_to_ýu_16
+((be_16_v))
+
+       )
+
+48 \ 1
+       #RTE_CPU_TO_BE_16
+(
+ýu_16_v
+       `¹e_ýu_to_be_16
+((ýu_16_v))
+
+       )
+
+50 #ià
+RTE_BYTE_ORDER
+ =ð
+RTE_BIG_ENDIAN
+
+
+51 \ 1
+       #RTE_BE_TO_CPU_16
+(
+be_16_v
+è(be_16_v)
+
+       )
+
+52 \ 1
+       #RTE_CPU_TO_BE_16
+(
+ýu_16_v
+è(ýu_16_v)
+
+       )
+
+54 \ 1
+       #RTE_BE_TO_CPU_16
+(
+be_16_v
+) \
+
+55 ((
+u\9at16_t
+è((((
+be_16_v
+è& 0xFFè<< 8è| ((be_16_vè>> 8)))
+
+       )
+
+56 \ 1
+       #RTE_CPU_TO_BE_16
+(
+ýu_16_v
+) \
+
+57 ((
+u\9at16_t
+è((((
+ýu_16_v
+è& 0xFFè<< 8è| ((ýu_16_vè>> 8)))
+
+       )
+
+65 \19
+       scmd_¬p_add_»suÉ
+ {
+
+66 
+cmdl\9ae_fixed_¡r\9ag_t
+       mp_¡r\9ag
+;
+
+67 
+u\9at32_t
+       mp
+;
+
+68 
+cmdl\9ae_fixed_¡r\9ag_t
+       m¬·dd_¡r\9ag
+;
+
+69 
+u\9at32_t
+       mpÜt_id
+;
+
+70 
+cmdl\9ae_\9daddr_t
+       m\9d
+;
+
+71 \19
+\91h\94_addr
+       mmaÿddr
+;
+
+76 
+       $cmd_¬p_add_·r£d
+(\1e*
+·r£d_»suÉ
+,
+
+77 
+__¹e_unu£d
\19
+cmdl\9ae
+ *
+, __¹e_unu£d \1e*
+d©a
+)
+
+79 \19
+cmd_¬p_add_»suÉ
+ *
+·¿ms
+ = 
+·r£d_»suÉ
+;
+
+80 
+u\9at8_t
+\9dv6
+[16];
+
+83 \19
+p\9d\96\9ae_¬p_icmp_¬p_key
+key
+;
+
+84 
+key
+.
+ty³
+ = 
+PIPELINE_ARP_ICMP_ARP_IPV4
+;
+
+85 
+key
+.key.
+\9dv4
+.
+pÜt_id
+ = 
+·¿ms
+->port_id;
+
+86 
+key
+.key.
+\9dv4
+.
+\9d
+ = 
+       `¹e_ýu_to_be_32
+(
+·¿ms
+->\9d.
+addr
+.\9dv4.
+s_addr
+);
+
+87 
+       `pÝuÏ\8b_¬p_\92\8cy
+(&
+»q
+->
+maÿddr
+, 
+       `¹e_bsw­32
+Ôeq->
+key
+.key.
+\9dv4
+.
+\9d
+),
+
+88 
+»q
+->
+key
+.key.
+\9dv4
+.
+pÜt_id
+);
+
+90 ià(
+·¿ms
+->
+\9d
+.
+çm\9ey
+ =ð
+AF_INET
+) {
+
+91 
+       `pÝuÏ\8b_¬p_\92\8cy
+(&
+·¿ms
+->
+maÿddr
+,
+
+92 
+       `¹e_ýu_to_be_32
+(
+·¿ms
+->
+\9d
+.
+addr
+.
+
+93 
+\9dv4
+.
+s_addr
+),
+
+94 
+·¿ms
+->
+pÜt_id
+
+
+95 #iâdeà
+VNF_ACL
+
+
+96 , 
+STATIC_ARP
+
+
+100 
+       `memýy
+(
+\9dv6
+, 
+·¿ms
+->
+\9d
+.
+addr
+.\9dv6.
+s6_addr
+, 16);
+
+101 
+       `pÝuÏ\8b_nd_\92\8cy
+(&
+·¿ms
+->
+maÿddr
+, 
+\9dv6
+,\85¬ams->
+pÜt_id
+
+
+102 #iâdeà
+VNF_ACL
+
+
+103 , 
+STATIC_ND
+
+
+107 
+       }
+}
+
+109 \18
+cmdl\9ae_·r£_tok\92_¡r\9ag_t
+       gcmd_¬p_add_p_¡r\9ag
+ =
+
+110 
+TOKEN_STRING_INITIALIZER
+(\19
+cmd_¬p_add_»suÉ
+, 
+p_¡r\9ag
+,
+
+113 \18
+cmdl\9ae_·r£_tok\92_num_t
+       gcmd_¬p_add_p
+ =
+
+114 
+TOKEN_NUM_INITIALIZER
+(\19
+cmd_¬p_add_»suÉ
+, 
+p
+, 
+UINT32
+);
+
+116 \18
+cmdl\9ae_·r£_tok\92_¡r\9ag_t
+       gcmd_¬p_add_¬p_¡r\9ag
+ =
+
+117 
+TOKEN_STRING_INITIALIZER
+(\19
+cmd_¬p_add_»suÉ
+, 
+¬·dd_¡r\9ag
+, "arpadd");
+
+119 \18
+cmdl\9ae_·r£_tok\92_num_t
+       gcmd_¬p_add_pÜt_id
+ =
+
+120 
+TOKEN_NUM_INITIALIZER
+(\19
+cmd_¬p_add_»suÉ
+, 
+pÜt_id
+, 
+UINT32
+);
+
+122 \18
+cmdl\9ae_·r£_tok\92_\9daddr_t
+       gcmd_¬p_add_\9d
+ =
+
+123 
+TOKEN_IPADDR_INITIALIZER
+(\19
+cmd_¬p_add_»suÉ
+, 
+\9d
+);
+
+125 \18
+cmdl\9ae_·r£_tok\92_\91h\94addr_t
+       gcmd_¬p_add_maÿddr
+ =
+
+126 
+TOKEN_ETHERADDR_INITIALIZER
+(\19
+cmd_¬p_add_»suÉ
+, 
+maÿddr
+);
+
+128 \18
+cmdl\9ae_·r£_\9a¡_t
+       gcmd_¬p_add
+ = {
+
+129 .
+f
+ = 
+cmd_¬p_add_·r£d
+,
+
+130 .
+       gd©a
+ = 
+NULL
+,
+
+131 .
+       gh\96p_¡r
+ = "ARP\87dd",
+
+132 .
+       gtok\92s
+ = {
+
+133 (\1e*)&
+cmd_¬p_add_p_¡r\9ag
+,
+
+134 (\1e*)&
+cmd_¬p_add_p
+,
+
+135 (\1e*)&
+cmd_¬p_add_¬p_¡r\9ag
+,
+
+136 (\1e*)&
+cmd_¬p_add_pÜt_id
+,
+
+137 (\1e*)&
+cmd_¬p_add_\9d
+,
+
+138 (\1e*)&
+cmd_¬p_add_maÿddr
+,
+
+139 
+NULL
+,
+
+147 \19
+       scmd_¬p_d\96_»suÉ
+ {
+
+148 
+cmdl\9ae_fixed_¡r\9ag_t
+       mp_¡r\9ag
+;
+
+149 
+u\9at32_t
+       mp
+;
+
+150 
+cmdl\9ae_fixed_¡r\9ag_t
+       m¬p_¡r\9ag
+;
+
+151 
+u\9at32_t
+       mpÜt_id
+;
+
+152 
+cmdl\9ae_\9daddr_t
+       m\9d
+;
+
+156 
+       $cmd_¬p_d\96_·r£d
+(\1e*
+·r£d_»suÉ
+,
+
+157 
+__¹e_unu£d
\19
+cmdl\9ae
+ *
+, __¹e_unu£d \1e*
+d©a
+)
+
+159 \19
+cmd_¬p_d\96_»suÉ
+ *
+·¿ms
+ = 
+·r£d_»suÉ
+;
+
+160 
+u\9at8_t
+\9dv6
+[16];
+
+163 \19
+p\9d\96\9ae_¬p_icmp_¬p_key
+key
+;
+
+164 
+key
+.
+ty³
+ = 
+PIPELINE_ARP_ICMP_ARP_IPV4
+;
+
+165 
+key
+.key.
+\9dv4
+.
+\9d
+ = 
+       `¹e_ýu_to_be_32
+(
+·¿ms
+->\9d.
+addr
+.\9dv4.
+s_addr
+);
+
+166 
+key
+.key.
+\9dv4
+.
+pÜt_id
+ = 
+·¿ms
+->port_id;
+
+167 
+       `»move_¬p_\92\8cy
+(
+       `¹e_bsw­32
+(
+»q
+->
+key
+.key.
+\9dv4
+.
+\9d
+),
+
+168 
+»q
+->
+key
+.key.
+\9dv4
+.
+pÜt_id
+);
+
+170 ià(
+·¿ms
+->
+\9d
+.
+çm\9ey
+ =ð
+AF_INET
+) {
+
+171 
+       `»move_¬p_\92\8cy
+(
+       `¹e_ýu_to_be_32
+(
+·¿ms
+->
+\9d
+.
+addr
+.
+\9dv4
+.
+s_addr
+),
+
+172 
+·¿ms
+->
+pÜt_id
+
+
+173 #iâdeà
+VNF_ACL
+
+
+174 , 
+NULL
+
+
+178 
+       `memýy
+(
+\9dv6
+, 
+·¿ms
+->
+\9d
+.
+addr
+.\9dv6.
+s6_addr
+, 16);
+
+179 
+       `»move_nd_\92\8cy_\9dv6
+(
+\9dv6
+, 
+·¿ms
+->
+pÜt_id
+);
+
+181 
+       }
+}
+
+183 \18
+cmdl\9ae_·r£_tok\92_¡r\9ag_t
+       gcmd_¬p_d\96_p_¡r\9ag
+ =
+
+184 
+TOKEN_STRING_INITIALIZER
+(\19
+cmd_¬p_d\96_»suÉ
+, 
+p_¡r\9ag
+,
+
+187 \18
+cmdl\9ae_·r£_tok\92_num_t
+       gcmd_¬p_d\96_p
+ =
+
+188 
+TOKEN_NUM_INITIALIZER
+(\19
+cmd_¬p_d\96_»suÉ
+, 
+p
+, 
+UINT32
+);
+
+190 \18
+cmdl\9ae_·r£_tok\92_¡r\9ag_t
+       gcmd_¬p_d\96_¬p_¡r\9ag
+ =
+
+191 
+TOKEN_STRING_INITIALIZER
+(\19
+cmd_¬p_d\96_»suÉ
+, 
+¬p_¡r\9ag
+, "arpdel");
+
+193 \18
+cmdl\9ae_·r£_tok\92_num_t
+       gcmd_¬p_d\96_pÜt_id
+ =
+
+194 
+TOKEN_NUM_INITIALIZER
+(\19
+cmd_¬p_d\96_»suÉ
+, 
+pÜt_id
+, 
+UINT32
+);
+
+196 \18
+cmdl\9ae_·r£_tok\92_\9daddr_t
+       gcmd_¬p_d\96_\9d
+ =
+
+197 
+TOKEN_IPADDR_INITIALIZER
+(\19
+cmd_¬p_d\96_»suÉ
+, 
+\9d
+);
+
+199 \18
+cmdl\9ae_·r£_\9a¡_t
+       gcmd_¬p_d\96
+ = {
+
+200 .
+f
+ = 
+cmd_¬p_d\96_·r£d
+,
+
+201 .
+       gd©a
+ = 
+NULL
+,
+
+202 .
+       gh\96p_¡r
+ = "ARP delete",
+
+203 .
+       gtok\92s
+ = {
+
+204 (\1e*)&
+cmd_¬p_d\96_p_¡r\9ag
+,
+
+205 (\1e*)&
+cmd_¬p_d\96_p
+,
+
+206 (\1e*)&
+cmd_¬p_d\96_¬p_¡r\9ag
+,
+
+207 (\1e*)&
+cmd_¬p_d\96_pÜt_id
+,
+
+208 (\1e*)&
+cmd_¬p_d\96_\9d
+,
+
+209 
+NULL
+,
+
+220 
+       $cmd_¬p_»q_·r£d
+(\1e*
+·r£d_»suÉ
+,
+
+221 
+__¹e_unu£d
\19
+cmdl\9ae
+ *
+, __¹e_unu£d \1e*
+d©a
+)
+
+223 \19
+cmd_¬p_d\96_»suÉ
+ *
+·¿ms
+ = 
+·r£d_»suÉ
+;
+
+226 \19
+¬p_key_\9dv4
+key
+;
+
+232 
+key
+.
+\9d
+ = 
+       `¹e_ýu_to_be_32
+(
+·¿ms
+->\9d.
+addr
+.
+\9dv4
+.
+s_addr
+);
+
+233 
+key
+.
+pÜt_id
+ = 
+·¿ms
+->port_id;
+
+234 
+key
+.
+f\9eËr1
+ = 0;
+
+235 
+key
+.
+f\9eËr2
+ = 0;
+
+236 
+key
+.
+f\9eËr3
+ = 0;
+
+238 \19
+¬p_\92\8cy_d©a
+ *
+¬p_d©a
+ = 
+       `»\8c\9bve_¬p_\92\8cy
+(
+key
+);
+
+240 ià(
+¬p_d©a
+) {
+
+241 ià(
+ARPICMP_DEBUG
+)
+
+242 
+       `´\9atf
+("ARP\83ntry\83xists for ip 0x%x,\85ort %d\n",
+
+243 
+·¿ms
+->
+\9d
+.
+addr
+.
+\9dv4
+.
+s_addr
+,\85¬ams->
+pÜt_id
+);
+
+247 ià(
+ARPICMP_DEBUG
+)
+
+248 
+       `´\9atf
+("ARP -\84equesting\87rp for ip 0x%x,\85ort %d\n",
+
+249 
+·¿ms
+->
+\9d
+.
+addr
+.
+\9dv4
+.
+s_addr
+,\85¬ams->
+pÜt_id
+);
+
+251 #ifdeà
+VNF_ACL
+
+
+252 
+       `»que¡_¬p_w¿p
+(
+·¿ms
+->
+pÜt_id
+,\85¬ams->
+\9d
+.
+addr
+.
+\9dv4
+.
+s_addr
+);
+
+254 
+       `»que¡_¬p
+(
+·¿ms
+->
+pÜt_id
+,\85¬ams->
+\9d
+.
+addr
+.
+\9dv4
+.
+s_addr
+);
+
+257 
+       }
+}
+
+259 \18
+cmdl\9ae_·r£_tok\92_¡r\9ag_t
+       gcmd_¬p_»q_¡r\9ag
+ =
+
+260 
+TOKEN_STRING_INITIALIZER
+(\19
+cmd_¬p_d\96_»suÉ
+, 
+¬p_¡r\9ag
+, "arpreq");
+
+262 \18
+cmdl\9ae_·r£_\9a¡_t
+       gcmd_¬p_»q
+ = {
+
+263 .
+f
+ = 
+cmd_¬p_»q_·r£d
+,
+
+264 .
+       gd©a
+ = 
+NULL
+,
+
+265 .
+       gh\96p_¡r
+ = "ARP\84equest",
+
+266 .
+       gtok\92s
+ = {
+
+267 (\1e*)&
+cmd_¬p_d\96_p_¡r\9ag
+,
+
+268 (\1e*)&
+cmd_¬p_d\96_p
+,
+
+269 (\1e*)&
+cmd_¬p_»q_¡r\9ag
+,
+
+270 (\1e*)&
+cmd_¬p_d\96_pÜt_id
+,
+
+271 (\1e*)&
+cmd_¬p_d\96_\9d
+,
+
+272 
+NULL
+,
+
+283 
+       $cmd_icmp_echo_»q_·r£d
+(\1e*
+·r£d_»suÉ
+,
+
+284 
+__¹e_unu£d
\19
+cmdl\9ae
+ *
+,
+
+285 
+__¹e_unu£d
\1e*
+d©a
+)
+
+287 \19
+cmd_¬p_d\96_»suÉ
+ *
+·¿ms
+ = 
+·r£d_»suÉ
+;
+
+289 ià(
+ARPICMP_DEBUG
+)
+
+290 
+       `´\9atf
+("Echo Req Handler ip %x,\85ort %d\n",
+
+291 
+·¿ms
+->
+\9d
+.
+addr
+.
+\9dv4
+.
+s_addr
+,\85¬ams->
+pÜt_id
+);
+
+293 
+       `»que¡_echo
+(
+·¿ms
+->
+pÜt_id
+,\85¬ams->
+\9d
+.
+addr
+.
+\9dv4
+.
+s_addr
+);
+
+294 
+       }
+}
+
+296 \18
+cmdl\9ae_·r£_tok\92_¡r\9ag_t
+       gcmd_icmp_echo_»q_¡r\9ag
+ =
+
+297 
+TOKEN_STRING_INITIALIZER
+(\19
+cmd_¬p_d\96_»suÉ
+, 
+¬p_¡r\9ag
+, "icmpecho");
+
+299 \18
+cmdl\9ae_·r£_\9a¡_t
+       gcmd_icmp_echo_»q
+ = {
+
+300 .
+f
+ = 
+cmd_icmp_echo_»q_·r£d
+,
+
+301 .
+       gd©a
+ = 
+NULL
+,
+
+302 .
+       gh\96p_¡r
+ = "ICMP\83cho\84equest",
+
+303 .
+       gtok\92s
+ = {
+
+304 (\1e*)&
+cmd_¬p_d\96_p_¡r\9ag
+,
+
+305 (\1e*)&
+cmd_¬p_d\96_p
+,
+
+306 (\1e*)&
+cmd_icmp_echo_»q_¡r\9ag
+,
+
+307 (\1e*)&
+cmd_¬p_d\96_pÜt_id
+,
+
+308 (\1e*)&
+cmd_¬p_d\96_\9d
+,
+
+309 
+NULL
+,
+
+317 \19
+       scmd_¬p_ls_»suÉ
+ {
+
+318 
+cmdl\9ae_fixed_¡r\9ag_t
+       mp_¡r\9ag
+;
+
+319 
+u\9at32_t
+       mp
+;
+
+320 
+cmdl\9ae_fixed_¡r\9ag_t
+       m¬p_¡r\9ag
+;
+
+324 
+       $cmd_¬p_ls_·r£d
+(
+__¹e_unu£d
\1e*
+·r£d_»suÉ
+,
+
+325 
+__¹e_unu£d
\19
+cmdl\9ae
+ *
+, __¹e_unu£d \1e*
+d©a
+)
+
+327 
+       `´\9atf
+("\nARP\81able ...\n");
+
+328 
+       `´\9atf
+("-------------\n");
+
+329 
+       `´\9at_¬p_\8f
+();
+
+331 
\9atf
+
+
+334 
+       `´\9atf
+("\nND IPv6\81able:\n");
+
+335 
+       `´\9atf
+("--------------\n");
+
+336 
+       `´\9at_nd_\8f
+();
+
+337 
+       }
+}
+
+339 \18
+cmdl\9ae_·r£_tok\92_¡r\9ag_t
+       gcmd_¬p_ls_p_¡r\9ag
+ =
+
+340 
+TOKEN_STRING_INITIALIZER
+(\19
+cmd_¬p_ls_»suÉ
+, 
+p_¡r\9ag
+,
+
+343 \18
+cmdl\9ae_·r£_tok\92_num_t
+       gcmd_¬p_ls_p
+ =
+
+344 
+TOKEN_NUM_INITIALIZER
+(\19
+cmd_¬p_ls_»suÉ
+, 
+p
+, 
+UINT32
+);
+
+346 \18
+cmdl\9ae_·r£_tok\92_¡r\9ag_t
+       gcmd_¬p_ls_¬p_¡r\9ag
+ =
+
+347 
+TOKEN_STRING_INITIALIZER
+(\19
+cmd_¬p_ls_»suÉ
+, 
+¬p_¡r\9ag
+,
+
+350 \18
+cmdl\9ae_·r£_\9a¡_t
+       gcmd_¬p_ls
+ = {
+
+351 .
+f
+ = 
+cmd_¬p_ls_·r£d
+,
+
+352 .
+       gd©a
+ = 
+NULL
+,
+
+353 .
+       gh\96p_¡r
+ = "ARP\86ist",
+
+354 .
+       gtok\92s
+ = {
+
+355 (\1e*)&
+cmd_¬p_ls_p_¡r\9ag
+,
+
+356 (\1e*)&
+cmd_¬p_ls_p
+,
+
+357 (\1e*)&
+cmd_¬p_ls_¬p_¡r\9ag
+,
+
+358 
+NULL
+,
+
+366 \19
+       scmd_show_pÜts_\9afo_»suÉ
+ {
+
+367 
+cmdl\9ae_fixed_¡r\9ag_t
+       mp_¡r\9ag
+;
+
+368 
+u\9at32_t
+       mp
+;
+
+369 
+cmdl\9ae_fixed_¡r\9ag_t
+       m¬p_¡r\9ag
+;
+
+373 
+       $cmd_show_pÜts_\9afo_·r£d
+(
+__¹e_unu£d
\1e*
+·r£d_»suÉ
+,
+
+374 
+__¹e_unu£d
\19
+cmdl\9ae
+ *
+,
+
+375 
+__¹e_unu£d
\1e*
+d©a
+)
+
+377 
+       `show_pÜts_\9afo
+();
+
+378 
+       }
+}
+
+380 \18
+cmdl\9ae_·r£_tok\92_¡r\9ag_t
+       gcmd_show_pÜts_\9afo_¡r\9ag
+ =
+
+381 
+TOKEN_STRING_INITIALIZER
+(\19
+cmd_¬p_ls_»suÉ
+, 
+¬p_¡r\9ag
+,
+
+384 \18
+cmdl\9ae_·r£_\9a¡_t
+       gcmd_show_pÜts_\9afo
+ = {
+
+385 .
+f
+ = 
+cmd_show_pÜts_\9afo_·r£d
+,
+
+386 .
+       gd©a
+ = 
+NULL
+,
+
+387 .
+       gh\96p_¡r
+ = "show\85orts info",
+
+388 .
+       gtok\92s
+ = {
+
+389 (\1e*)&
+cmd_¬p_ls_p_¡r\9ag
+,
+
+390 (\1e*)&
+cmd_¬p_ls_p
+,
+
+391 (\1e*)&
+cmd_show_pÜts_\9afo_¡r\9ag
+,
+
+392 
+NULL
+,
+
+396 #iâdeà
+VNF_ACL
+
+
+397 \19
+       scmd_¬p_dbg_»suÉ
+ {
+
+398 
+cmdl\9ae_fixed_¡r\9ag_t
+       m¬pdbg_¡r
+;
+
+399 
+u\9at32_t
+       mæag
+;
+
+402 
+cmdl\9ae_·r£_tok\92_¡r\9ag_t
+       gcmd_¬p_dbg_¡r\9ag
+ =
+
+403 
+TOKEN_STRING_INITIALIZER
+(\19
+cmd_¬p_dbg_»suÉ
+, 
+¬pdbg_¡r
+,
+
+405 
+cmdl\9ae_·r£_tok\92_num_t
+       gcmd_¬p_dbg_æag
+ =
+
+406 
+TOKEN_NUM_INITIALIZER
+(\19
+cmd_¬p_dbg_»suÉ
+, 
+æag
+, 
+UINT32
+);
+
+409 
+cmd_¬p_dbg_·r£
+(
+
+410 \1e*
+·r£d_»suÉ
+,
+
+411 
+__©\8cibu\8b__
+((
+unu£d
+)è\19
+cmdl\9ae
+ *
+,
+
+412 
+__¹e_unu£d
\1e*
+d©a
+)
+
+414 \19
+cmd_¬p_dbg_»suÉ
+ *
+       g·¿ms
+ = 
+·r£d_»suÉ
+;
+
+415 if(
+       g·¿ms
+)
+
+417 
+£t_¬pdebug
+(
+·¿ms
+->
+æag
+);
+
+421 
\9atf
+("%s: P¬am i NULL",
+__FUNCTION__
+);
+
+425 
+cmdl\9ae_·r£_\9a¡_t
+       gcmd_¬p_dbg
+ = {
+
+426 .
+f
+ = 
+cmd_¬p_dbg_·r£
+,
+
+427 .
+       gd©a
+ = 
+NULL
+,
+
+428 .
+       gh\96p_¡r
+ = "Turn on/off(1/0)\87rp debug",
+
+429 .
+       gtok\92s
+ = {
+
+430 (\1e*)&
+cmd_¬p_dbg_¡r\9ag
+,
+
+431 (\1e*)&
+cmd_¬p_dbg_æag
+,
+
+432 
+NULL
+,
+
+436 \19
+       scmd_¬p_tim\94_»suÉ
+ {
+
+437 
+cmdl\9ae_fixed_¡r\9ag_t
+       m¬±im\94_¡r
+;
+
+438 
+u\9at32_t
+       m¬±im\94_v®
+;
+
+441 
+cmdl\9ae_·r£_tok\92_¡r\9ag_t
+       gcmd_¬p_tim\94_¡r\9ag
+ =
+
+442 
+TOKEN_STRING_INITIALIZER
+(\19
+cmd_¬p_tim\94_»suÉ
+, 
+¬±im\94_¡r
+,
+
+444 
+cmdl\9ae_·r£_tok\92_num_t
+       gcmd_¬p_tim\94_v®
+ =
+
+445 
+TOKEN_NUM_INITIALIZER
+(\19
+cmd_¬p_tim\94_»suÉ
+, 
+¬±im\94_v®
+, 
+UINT32
+);
+
+448 
+cmd_¬p_tim\94_·r£
+(
+
+449 \1e*
+·r£d_»suÉ
+,
+
+450 
+__©\8cibu\8b__
+((
+unu£d
+)è\19
+cmdl\9ae
+ *
+,
+
+451 
+__¹e_unu£d
\1e*
+d©a
+)
+
+453 \19
+cmd_¬p_tim\94_»suÉ
+ *
+       g·¿ms
+ = 
+·r£d_»suÉ
+;
+
+454 if(
+       g·¿ms
+)
+
+456 
+£t_¬±imeout
+(
+·¿ms
+->
+¬±im\94_v®
+);
+
+460 
\9atf
+("%s: P¬am i NULL",
+__FUNCTION__
+);
+
+464 
+cmdl\9ae_·r£_\9a¡_t
+       gcmd_¬p_tim\94
+ = {
+
+465 .
+f
+ = 
+cmd_¬p_tim\94_·r£
+,
+
+466 .
+       gd©a
+ = 
+NULL
+,
+
+467 .
+       gh\96p_¡r
+ = "Timer\83xpiry val by def 10 sec",
+
+468 .
+       gtok\92s
+ = {
+
+469 (\1e*)&
+cmd_¬p_tim\94_¡r\9ag
+,
+
+470 (\1e*)&
+cmd_¬p_tim\94_v®
+,
+
+471 
+NULL
+,
+
+483 
+       $pkt_bur¡_io_fÜw¬d
+(\19
+fwd_¡»am
+ *
+fs
+)
+
+485 \19
+¹e_mbuf
+ *
+pkts_bur¡
+[
+MAX_PKT_BURST
+];
+
+486 
+u\9at16_t
+nb_rx
+;
+
+487 
+u\9at16_t
+nb_tx
+;
+
+489 #ifdeà
+RTE_TEST_PMD_RECORD_CORE_CYCLES
+
+
+490 
+u\9at64_t
+¡¬t_tsc
+;
+
+491 
+u\9at64_t
+\92d_tsc
+;
+
+492 
+u\9at64_t
+cÜe_cyþes
+;
+
+495 #ifdeà
+RTE_TEST_PMD_RECORD_CORE_CYCLES
+
+
+496 
+¡¬t_tsc
+ = 
+       `¹e_rdtsc
+();
+
+502 
+nb_rx
+ = 
+       `¹e_\91h_rx_bur¡
+(
+fs
+->
+rx_pÜt
+, fs->
+rx_queue
+, 
+pkts_bur¡
+,
+
+503 
+nb_pkt_³r_bur¡
+);
+
+504 ià(
+       `uÆik\96y
+(
+nb_rx
+ == 0))
+
+507 #ifdeà
+RTE_TEST_PMD_RECORD_BURST_STATS
+
+
+508 
+fs
+->
+rx_bur¡_¡©s
+.
+pkt_bur¡_¥»ad
+[
+nb_rx
+]++;
+
+511 
+fs
+->
+rx_·ck\91s
+ +ð
+nb_rx
+;
+
+512 
+nb_tx
+ = 
+       `¹e_\91h_tx_bur¡
+(
+fs
+->
+tx_pÜt
+, fs->
+tx_queue
+, 
+pkts_bur¡
+, 
+nb_rx
+);
+
+513 
+fs
+->
+tx_·ck\91s
+ +ð
+nb_tx
+;
+
+515 #ifdeà
+RTE_TEST_PMD_RECORD_BURST_STATS
+
+
+516 
+fs
+->
+tx_bur¡_¡©s
+.
+pkt_bur¡_¥»ad
+[
+nb_tx
+]++;
+
+519 ià(
+       `uÆik\96y
+(
+nb_tx
+ < 
+nb_rx
+)) {
+
+520 
+fs
+->
+fwd_drݳd
+ +ð(
+nb_rx
+ - 
+nb_tx
+);
+
+522 
+       `¹e_pktmbuf_ä\93
+(
+pkts_bur¡
+[
+nb_tx
+]);
+
+523 } \1f++
+nb_tx
+ < 
+nb_rx
+);
+
+526 #ifdeà
+RTE_TEST_PMD_RECORD_CORE_CYCLES
+
+
+527 
+\92d_tsc
+ = 
+       `¹e_rdtsc
+();
+
+528 
+cÜe_cyþes
+ = (
+\92d_tsc
+ - 
+¡¬t_tsc
+);
+
+529 
+fs
+->
+cÜe_cyþes
+ = (
+u\9at64_t
+) (fs->core_cycles + core_cycles);
+
+531 
+       }
+}
+
+534 \19
+fwd_\92g\9ae
+       gio_fwd_\92g\9ae
+ = {
+
+535 .
+fwd_mode_Çme
+ = "io",
+
+536 .
+       gpÜt_fwd_beg\9a
+ = 
+NULL
+,
+
+537 .
+       gpÜt_fwd_\92d
+ = 
+NULL
+,
+
+538 .
+       g·ck\91_fwd
+ = 
+pkt_bur¡_io_fÜw¬d
+,
+
+541 \18
+\9al\9ae
\1e
+       $´\9at_\91h\94_addr
+(
+
+542 cڡ \ 5*
+wh©
+,
+
+543 \19
+\91h\94_addr
+ *
+\91h_addr
+)
+
+545 \ 5
+buf
+[
+ETHER_ADDR_FMT_SIZE
+];
+
+546 
+       `\91h\94_fÜm©_addr
+(
+buf
+, 
+ETHER_ADDR_FMT_SIZE
+, 
+\91h_addr
+);
+
+547 
+       `´\9atf
+("%s%s", 
+wh©
+, 
+buf
+);
+
+548 
+       }
+}
+
+554 
+       $pkt_bur¡_»ûive
+(\19
+fwd_¡»am
+ *
+fs
+)
+
+556 \19
+¹e_mbuf
+ *
+pkts_bur¡
+[
+MAX_PKT_BURST
+];
+
+557 \19
+¹e_mbuf
+ *
+mb
+;
+
+558 \19
+\91h\94_hdr
+ *
+\91h_hdr
+;
+
+559 
+u\9at16_t
+\91h_ty³
+;
+
+560 
+u\9at64_t
+Þ_æags
+;
+
+561 
+u\9at16_t
+nb_rx
+;
+
+562 
+u\9at16_t
+i
+, 
+·ck\91_ty³
+;
+
+563 
+u\9at16_t
+is_\92ÿpsuÏtiÚ
+;
+
+565 #ifdeà
+RTE_TEST_PMD_RECORD_CORE_CYCLES
+
+
+566 
+u\9at64_t
+¡¬t_tsc
+;
+
+567 
+u\9at64_t
+\92d_tsc
+;
+
+568 
+u\9at64_t
+cÜe_cyþes
+;
+
+571 #ifdeà
+RTE_TEST_PMD_RECORD_CORE_CYCLES
+
+
+572 
+¡¬t_tsc
+ = 
+       `¹e_rdtsc
+();
+
+578 
+nb_rx
+ = 
+       `¹e_\91h_rx_bur¡
+(
+fs
+->
+rx_pÜt
+, fs->
+rx_queue
+, 
+pkts_bur¡
+,
+
+579 
+nb_pkt_³r_bur¡
+);
+
+580 ià(
+       `uÆik\96y
+(
+nb_rx
+ == 0))
+
+583 #ifdeà
+RTE_TEST_PMD_RECORD_BURST_STATS
+
+
+584 
+fs
+->
+rx_bur¡_¡©s
+.
+pkt_bur¡_¥»ad
+[
+nb_rx
+]++;
+
+587 
+fs
+->
+rx_·ck\91s
+ +ð
+nb_rx
+;
+
+592 ià(
+v\94bo£_Ëv\96
+ > 0)
+
+593 
+       `´\9atf
+("port %u/queue %u:\84eceived %u\85ackets\n",
+
+594 (\1d\12è
+fs
+->
+rx_pÜt
+,
+
+595 (\1d\12è
+fs
+->
+rx_queue
+,
+
+596 (\1d\12è
+nb_rx
+);
+
+597 \ f
+i
+ = 0; i < 
+nb_rx
+; i++) {
+
+598 
+mb
+ = 
+pkts_bur¡
+[
+i
+];
+
+599 ià(
+v\94bo£_Ëv\96
+ == 0) {
+
+600 
+       `¹e_pktmbuf_ä\93
+(
+mb
+);
+
+603 
+\91h_hdr
+ = 
+       `¹e_pktmbuf_mtod
+(
+mb
+, \19
+\91h\94_hdr
+ *);
+
+604 
+\91h_ty³
+ = 
+       `RTE_BE_TO_CPU_16
+(
+\91h_hdr
+->
+\91h\94_ty³
+);
+
+605 
+Þ_æags
+ = 
+mb
+->ol_flags;
+
+606 
+·ck\91_ty³
+ = 
+mb
+->packet_type;
+
+607 
+is_\92ÿpsuÏtiÚ
+ = 
+       `RTE_ETH_IS_TUNNEL_PKT
+(
+·ck\91_ty³
+);
+
+609 
+       `´\9at_\91h\94_addr
+(" src=", &
+\91h_hdr
+->
+s_addr
+);
+
+610 
+       `´\9at_\91h\94_addr
+(" - d¡=", &
+\91h_hdr
+->
+d_addr
+);
+
+611 
+       `´\9atf
+(" -\81ype=0x%04x -\86ength=%u -\82b_segs=%d",
+
+612 
+\91h_ty³
+, (\1d\12è
+mb
+->
+pkt_Ën
+,
+
+613 (\12)
+mb
+->
+nb_£gs
+);
+
+614 ià(
+Þ_æags
+ & 
+PKT_RX_RSS_HASH
+) {
+
+615 
+       `´\9atf
+(" - RSS hash=0x%x", (\1d\12)
+
+616 
+mb
+->
+hash
+.
+rss
+);
+
+617 
+       `´\9atf
+(" - RSS queue=0x%x", (\1d\12)
+
+618 
+fs
+->
+rx_queue
+);
+
+619 } \vià(
+Þ_æags
+ & 
+PKT_RX_FDIR
+) {
+
+620 
+       `´\9atf
+(" - FDIR matched ");
+
+621 ià(
+Þ_æags
+ & 
+PKT_RX_FDIR_ID
+)
+
+622 
+       `´\9atf
+("ID=0x%x",
+
+623 
+mb
+->
+hash
+.
+fd\9c
+.
+hi
+);
+
+624 \vià(
+Þ_æags
+ & 
+PKT_RX_FDIR_FLX
+)
+
+625 
+       `´\9atf
+("flex bytes=0x%08x %08x",
+
+626 
+mb
+->
+hash
+.
+fd\9c
+.
+hi
+, mb->hash.fd\9c.
+lo
+);
+
+628 
+       `´\9atf
+("hash=0x%x ID=0x%x ",
+
+629 
+mb
+->
+hash
+.
+fd\9c
+.hash, mb->hash.fd\9c.
+id
+);
+
+631 ià(
+Þ_æags
+ & 
+PKT_RX_VLAN_PKT
+)
+
+632 
+       `´\9atf
+(" - VLAN\81ci=0x%x", 
+mb
+->
+vÏn_tci
+);
+
+633 ià(
+Þ_æags
+ & 
+PKT_RX_QINQ_PKT
+)
+
+634 
+       `´\9atf
+(" - QinQ VLAN\81ci=0x%x, VLAN\81ci outer=0x%x",
+
+635 
+mb
+->
+vÏn_tci
+, mb->
+vÏn_tci_ou\8br
+);
+
+636 ià(
+mb
+->
+·ck\91_ty³
+) {
+
+637 
+u\9at32_t
+±y³
+;
+
+640 
+±y³
+ = 
+mb
+->
+·ck\91_ty³
+ & 
+RTE_PTYPE_L2_MASK
+;
+
+641 \1a
+±y³
+) {
+
+642 \ 4
+RTE_PTYPE_L2_ETHER
+:
+
+643 
+       `´\9atf
+(" - (outer) L2\81ype: ETHER");
+
+645 \ 4
+RTE_PTYPE_L2_ETHER_TIMESYNC
+:
+
+646 
+       `´\9atf
+(" - (outer) L2\81ype: ETHER_Timesync");
+
+648 \ 4
+RTE_PTYPE_L2_ETHER_ARP
+:
+
+649 
+       `´\9atf
+(" - (outer) L2\81ype: ETHER_ARP");
+
+651 \ 4
+RTE_PTYPE_L2_ETHER_LLDP
+:
+
+652 
+       `´\9atf
+(" - (outer) L2\81ype: ETHER_LLDP");
+
+655 
+       `´\9atf
+(" - (outer) L2\81ype: Unknown");
+
+660 
+±y³
+ = 
+mb
+->
+·ck\91_ty³
+ & 
+RTE_PTYPE_L3_MASK
+;
+
+661 \1a
+±y³
+) {
+
+662 \ 4
+RTE_PTYPE_L3_IPV4
+:
+
+663 
+       `´\9atf
+(" - (outer) L3\81ype: IPV4");
+
+665 \ 4
+RTE_PTYPE_L3_IPV4_EXT
+:
+
+666 
+       `´\9atf
+(" - (outer) L3\81ype: IPV4_EXT");
+
+668 \ 4
+RTE_PTYPE_L3_IPV6
+:
+
+669 
+       `´\9atf
+(" - (outer) L3\81ype: IPV6");
+
+671 \ 4
+RTE_PTYPE_L3_IPV4_EXT_UNKNOWN
+:
+
+672 
+       `´\9atf
+(" - (outer) L3\81ype: IPV4_EXT_UNKNOWN");
+
+674 \ 4
+RTE_PTYPE_L3_IPV6_EXT
+:
+
+675 
+       `´\9atf
+(" - (outer) L3\81ype: IPV6_EXT");
+
+677 \ 4
+RTE_PTYPE_L3_IPV6_EXT_UNKNOWN
+:
+
+678 
+       `´\9atf
+(" - (outer) L3\81ype: IPV6_EXT_UNKNOWN");
+
+681 
+       `´\9atf
+(" - (outer) L3\81ype: Unknown");
+
+686 
+±y³
+ = 
+mb
+->
+·ck\91_ty³
+ & 
+RTE_PTYPE_L4_MASK
+;
+
+687 \1a
+±y³
+) {
+
+688 \ 4
+RTE_PTYPE_L4_TCP
+:
+
+689 
+       `´\9atf
+(" - (outer) L4\81ype: TCP");
+
+691 \ 4
+RTE_PTYPE_L4_UDP
+:
+
+692 
+       `´\9atf
+(" - (outer) L4\81ype: UDP");
+
+694 \ 4
+RTE_PTYPE_L4_FRAG
+:
+
+695 
+       `´\9atf
+(" - (outer) L4\81ype: L4_FRAG");
+
+697 \ 4
+RTE_PTYPE_L4_SCTP
+:
+
+698 
+       `´\9atf
+(" - (outer) L4\81ype: SCTP");
+
+700 \ 4
+RTE_PTYPE_L4_ICMP
+:
+
+701 
+       `´\9atf
+(" - (outer) L4\81ype: ICMP");
+
+703 \ 4
+RTE_PTYPE_L4_NONFRAG
+:
+
+704 
+       `´\9atf
+(" - (outer) L4\81ype: L4_NONFRAG");
+
+707 
+       `´\9atf
+(" - (outer) L4\81ype: Unknown");
+
+712 
+±y³
+ = 
+mb
+->
+·ck\91_ty³
+ & 
+RTE_PTYPE_TUNNEL_MASK
+;
+
+713 \1a
+±y³
+) {
+
+714 \ 4
+RTE_PTYPE_TUNNEL_IP
+:
+
+715 
+       `´\9atf
+(" - Tunnel\81ype: IP");
+
+717 \ 4
+RTE_PTYPE_TUNNEL_GRE
+:
+
+718 
+       `´\9atf
+(" - Tunnel\81ype: GRE");
+
+720 \ 4
+RTE_PTYPE_TUNNEL_VXLAN
+:
+
+721 
+       `´\9atf
+(" - Tunnel\81ype: VXLAN");
+
+723 \ 4
+RTE_PTYPE_TUNNEL_NVGRE
+:
+
+724 
+       `´\9atf
+(" - Tunnel\81ype: NVGRE");
+
+726 \ 4
+RTE_PTYPE_TUNNEL_GENEVE
+:
+
+727 
+       `´\9atf
+(" - Tunnel\81ype: GENEVE");
+
+729 \ 4
+RTE_PTYPE_TUNNEL_GRENAT
+:
+
+730 
+       `´\9atf
+(" - Tunnel\81ype: GRENAT");
+
+733 
+       `´\9atf
+(" - Tunnel\81ype: Unknown");
+
+738 
+±y³
+ = 
+mb
+->
+·ck\91_ty³
+ & 
+RTE_PTYPE_INNER_L2_MASK
+;
+
+739 \1a
+±y³
+) {
+
+740 \ 4
+RTE_PTYPE_INNER_L2_ETHER
+:
+
+741 
+       `´\9atf
+(" - Inner L2\81ype: ETHER");
+
+743 \ 4
+RTE_PTYPE_INNER_L2_ETHER_VLAN
+:
+
+744 
+       `´\9atf
+(" - Inner L2\81ype: ETHER_VLAN");
+
+747 
+       `´\9atf
+(" - Inner L2\81ype: Unknown");
+
+751 
+±y³
+ = 
+mb
+->
+·ck\91_ty³
+ & 
+RTE_PTYPE_INNER_L3_MASK
+;
+
+752 \1a
+±y³
+) {
+
+753 \ 4
+RTE_PTYPE_INNER_L3_IPV4
+:
+
+754 
+       `´\9atf
+(" - Inner L3\81ype: IPV4");
+
+756 \ 4
+RTE_PTYPE_INNER_L3_IPV4_EXT
+:
+
+757 
+       `´\9atf
+(" - Inner L3\81ype: IPV4_EXT");
+
+759 \ 4
+RTE_PTYPE_INNER_L3_IPV6
+:
+
+760 
+       `´\9atf
+(" - Inner L3\81ype: IPV6");
+
+762 \ 4
+RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN
+:
+
+763 
+       `´\9atf
+(" - Inner L3\81ype: "
+
+766 \ 4
+RTE_PTYPE_INNER_L3_IPV6_EXT
+:
+
+767 
+       `´\9atf
+(" - Inner L3\81ype: IPV6_EXT");
+
+769 \ 4
+RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN
+:
+
+770 
+       `´\9atf
+(" - Inner L3\81ype: "
+
+774 
+       `´\9atf
+(" - Inner L3\81ype: Unknown");
+
+779 
+±y³
+ = 
+mb
+->
+·ck\91_ty³
+ & 
+RTE_PTYPE_INNER_L4_MASK
+;
+
+780 \1a
+±y³
+) {
+
+781 \ 4
+RTE_PTYPE_INNER_L4_TCP
+:
+
+782 
+       `´\9atf
+(" - Inner L4\81ype: TCP");
+
+784 \ 4
+RTE_PTYPE_INNER_L4_UDP
+:
+
+785 
+       `´\9atf
+(" - Inner L4\81ype: UDP");
+
+787 \ 4
+RTE_PTYPE_INNER_L4_FRAG
+:
+
+788 
+       `´\9atf
+(" - Inner L4\81ype: L4_FRAG");
+
+790 \ 4
+RTE_PTYPE_INNER_L4_SCTP
+:
+
+791 
+       `´\9atf
+(" - Inner L4\81ype: SCTP");
+
+793 \ 4
+RTE_PTYPE_INNER_L4_ICMP
+:
+
+794 
+       `´\9atf
+(" - Inner L4\81ype: ICMP");
+
+796 \ 4
+RTE_PTYPE_INNER_L4_NONFRAG
+:
+
+797 
+       `´\9atf
+(" - Inner L4\81ype: L4_NONFRAG");
+
+800 
+       `´\9atf
+(" - Inner L4\81ype: Unknown");
+
+803 
+       `´\9atf
+("\n");
+
+805 
+       `´\9atf
+("Unknown\85acket\81ype\n");
+
+806 ià(
+is_\92ÿpsuÏtiÚ
+) {
+
+807 \19
+\9dv4_hdr
+ *ipv4_hdr;
+
+808 \19
+\9dv6_hdr
+ *ipv6_hdr;
+
+809 \19
+udp_hdr
+ *udp_hdr;
+
+810 
+u\9at8_t
+l2_Ën
+;
+
+811 
+u\9at8_t
+l3_Ën
+;
+
+812 
+u\9at8_t
+l4_Ën
+;
+
+813 
+u\9at8_t
+l4_´Ùo
+;
+
+814 \19
+vxÏn_hdr
+ *vxlan_hdr;
+
+816 
+l2_Ën
+ = \17(\19
+\91h\94_hdr
+);
+
+819 ià(
+       `RTE_ETH_IS_IPV4_HDR
+(
+·ck\91_ty³
+)) {
+
+820 
+l3_Ën
+ = \17(\19
+\9dv4_hdr
+);
+
+821 
+\9dv4_hdr
+ = 
+       `¹e_pktmbuf_mtod_off£t
+(
+mb
+,
+
+822 \19
+\9dv4_hdr
+ *,
+
+823 
+l2_Ën
+);
+
+824 
+l4_´Ùo
+ = 
+\9dv4_hdr
+->
+Ãxt_´Ùo_id
+;
+
+826 
+l3_Ën
+ = \17(\19
+\9dv6_hdr
+);
+
+827 
+\9dv6_hdr
+ = 
+       `¹e_pktmbuf_mtod_off£t
+(
+mb
+,
+
+828 \19
+\9dv6_hdr
+ *,
+
+829 
+l2_Ën
+);
+
+830 
+l4_´Ùo
+ = 
+\9dv6_hdr
+->
+´Ùo
+;
+
+832 ià(
+l4_´Ùo
+ =ð
+IPPROTO_UDP
+) {
+
+833 
+udp_hdr
+ = 
+       `¹e_pktmbuf_mtod_off£t
+(
+mb
+,
+
+834 \19
+udp_hdr
+ *,
+
+835 
+l2_Ën
+ + 
+l3_Ën
+);
+
+836 
+l4_Ën
+ = \17(\19
+udp_hdr
+);
+
+837 
+vxÏn_hdr
+ = 
+       `¹e_pktmbuf_mtod_off£t
+(
+mb
+,
+
+838 \19
+vxÏn_hdr
+ *,
+
+839 
+l2_Ën
+ + 
+l3_Ën
+ + 
+l4_Ën
+);
+
+841 
+       `´\9atf
+(" - VXLAN\85acket:\85acket\81ype =%d, "
+
+843 
+·ck\91_ty³
+,
+
+844 
+       `RTE_BE_TO_CPU_16
+(
+udp_hdr
+->
+d¡_pÜt
+),
+
+845 
+       `¹e_be_to_ýu_32
+(
+
+846 
+vxÏn_hdr
+->
+vx_vni
+) >> 8);
+
+849 
+       `´\9atf
+(" - Reûiv\90queue=0x%x", (\1d\12è
+fs
+->
+rx_queue
+);
+
+850 
+       `´\9atf
+("\n");
+
+851 ià(
+Þ_æags
+ != 0) {
+
+852 \1d\12
+rxf
+;
+
+853 cڡ \ 5*
+Çme
+;
+
+855 \ f
+rxf
+ = 0;\84xà< \17(
+mb
+->
+Þ_æags
+) * 8;\84xf++) {
+
+856 ià((
+Þ_æags
+ & (1ULL << 
+rxf
+)) == 0)
+
+858 
+Çme
+ = 
+       `¹e_g\91_rx_Þ_æag_Çme
+(1ULL << 
+rxf
+);
+
+859 ià(
+Çme
+ =ð
+NULL
+)
+
+861 
+       `´\9atf
+(" %s\n", 
+Çme
+);
+
+864 
+       `¹e_pktmbuf_ä\93
+(
+mb
+);
+
+867 #ifdeà
+RTE_TEST_PMD_RECORD_CORE_CYCLES
+
+
+868 
+\92d_tsc
+ = 
+       `¹e_rdtsc
+();
+
+869 
+cÜe_cyþes
+ = (
+\92d_tsc
+ - 
+¡¬t_tsc
+);
+
+870 
+fs
+->
+cÜe_cyþes
+ = (
+u\9at64_t
+) (fs->core_cycles + core_cycles);
+
+872 
+       }
+}
+
+874 \19
+fwd_\92g\9ae
+       grx_Úly_\92g\9ae
+ = {
+
+875 .
+fwd_mode_Çme
+ = "rxonly",
+
+876 .
+       gpÜt_fwd_beg\9a
+ = 
+NULL
+,
+
+877 .
+       gpÜt_fwd_\92d
+ = 
+NULL
+,
+
+878 .
+       g·ck\91_fwd
+ = 
+pkt_bur¡_»ûive
+,
+
+882 \19
+       scmd_£t_fwd_mode_»suÉ
+ {
+
+883 
+cmdl\9ae_fixed_¡r\9ag_t
+       m£t
+;
+
+884 
+cmdl\9ae_fixed_¡r\9ag_t
+       mfwd
+;
+
+885 
+cmdl\9ae_fixed_¡r\9ag_t
+       mmode
+;
+
+891 \19
+fwd_\92g\9ae
+ *
+       gfwd_\92g\9aes
+[] = {
+
+892 &
+io_fwd_\92g\9ae
+,
+
+894 &
+mac_fwd_\92g\9ae
+,
+
+895 &
+mac_»\8cy_fwd_\92g\9ae
+,
+
+896 &
+mac_sw­_\92g\9ae
+,
+
+897 &
+æow_g\92_\92g\9ae
+,
+
+899 &
+rx_Úly_\92g\9ae
+,
+
+901 &
+tx_Úly_\92g\9ae
+,
+
+902 &
+csum_fwd_\92g\9ae
+,
+
+903 &
+icmp_echo_\92g\9ae
+,
+
+904 #ifdeà
+RTE_LIBRTE_IEEE1588
+
+
+905 &
+\9b\931588_fwd_\92g\9ae
+,
+
+908 
+NULL
+,
+
+911 \19
+fwd_\92g\9ae
+ *
+       gcur_fwd_\92g
+ = &
+io_fwd_\92g\9ae
+;
+
+913 \1e
+       $£t_pkt_fÜw¬d\9ag_mode
+(cڡ \ 5*
+fwd_mode_Çme
+)
+
+915 \19
+fwd_\92g\9ae
+ *
+fwd_\92g
+;
+
+916 \1d\12
+i
+;
+
+918 
+i
+ = 0;
+
+919 \1f(
+fwd_\92g
+ = 
+fwd_\92g\9aes
+[
+i
+]è!ð
+NULL
+) {
+
+920 ià(!
+       `¡rcmp
+(
+fwd_\92g
+->
+fwd_mode_Çme
+, fwd_mode_name)) {
+
+921 
+       `´\9atf
+("Set %s\85acket forwarding mode\n",
+
+922 
+fwd_mode_Çme
+);
+
+923 
+cur_fwd_\92g
+ = 
+fwd_\92g
+;
+
+926 
+i
+++;
+
+928 
+       `´\9atf
+("Inv®id % ·ck\91 fÜw¬d\9ag mode\n", 
+fwd_mode_Çme
+);
+
+929 
+       }
+}
+
+931 \18\1e
+cmd_£t_fwd_mode_·r£d
+(\1e*
+·r£d_»suÉ
+,
+
+932 
+__©\8cibu\8b__
+((
+unu£d
+)è\19
+cmdl\9ae
+ *
+,
+
+933 
+__©\8cibu\8b__
+((
+unu£d
+)è\1e*
+d©a
+)
+
+935 \19
+cmd_£t_fwd_mode_»suÉ
+ *
+       g»s
+ = 
+·r£d_»suÉ
+;
+
+937 
+£t_pkt_fÜw¬d\9ag_mode
+(
+»s
+->
+mode
+);
+
+940 
+cmdl\9ae_·r£_tok\92_¡r\9ag_t
+       gcmd_£tfwd_£t
+ =
+
+941 
+TOKEN_STRING_INITIALIZER
+(\19
+cmd_£t_fwd_mode_»suÉ
+, 
+£t
+, "set");
+
+942 
+cmdl\9ae_·r£_tok\92_¡r\9ag_t
+       gcmd_£tfwd_fwd
+ =
+
+943 
+TOKEN_STRING_INITIALIZER
+(\19
+cmd_£t_fwd_mode_»suÉ
+, 
+fwd
+, "fwd");
+
+944 
+cmdl\9ae_·r£_tok\92_¡r\9ag_t
+       gcmd_£tfwd_mode
+ =
+
+945 
+TOKEN_STRING_INITIALIZER
+(\19
+cmd_£t_fwd_mode_»suÉ
+, 
+mode
+,
+
+948 
+cmdl\9ae_·r£_\9a¡_t
+       gcmd_£t_fwd_mode
+ = {
+
+949 .
+f
+ = 
+cmd_£t_fwd_mode_·r£d
+,
+
+950 .
+       gd©a
+ = 
+NULL
+,
+
+951 .
+       gh\96p_¡r
+ = 
+NULL
+,
+
+952 .
+       gtok\92s
+ = {
+
+953 (\1e*)&
+cmd_£tfwd_£t
+,
+
+954 (\1e*)&
+cmd_£tfwd_fwd
+,
+
+955 (\1e*)&
+cmd_£tfwd_mode
+,
+
+956 
+NULL
+,
+
+962 \18
+u\9at16_t
+
+
+963 
+       $¡r2æowty³
+(\ 5*
+¡r\9ag
+)
+
+965 
+u\9at8_t
+i
+ = 0;
+
+967 \ 5
+¡r
+[32];
+
+968 
+u\9at16_t
+ty³
+;
+
+969 } 
+æowty³_¡r
+[] = {
+
+970 {"¿w", 
+RTE_ETH_FLOW_RAW
+},
+
+971 {"\9dv4", 
+RTE_ETH_FLOW_IPV4
+},
+
+972 {"\9dv4-äag", 
+RTE_ETH_FLOW_FRAG_IPV4
+},
+
+973 {"\9dv4-tý", 
+RTE_ETH_FLOW_NONFRAG_IPV4_TCP
+},
+
+974 {"\9dv4-udp", 
+RTE_ETH_FLOW_NONFRAG_IPV4_UDP
+},
+
+975 {"\9dv4-sùp", 
+RTE_ETH_FLOW_NONFRAG_IPV4_SCTP
+},
+
+976 {"\9dv4-Ùh\94", 
+RTE_ETH_FLOW_NONFRAG_IPV4_OTHER
+},
+
+977 {"\9dv6", 
+RTE_ETH_FLOW_IPV6
+},
+
+978 {"\9dv6-äag", 
+RTE_ETH_FLOW_FRAG_IPV6
+},
+
+979 {"\9dv6-tý", 
+RTE_ETH_FLOW_NONFRAG_IPV6_TCP
+},
+
+980 {"\9dv6-udp", 
+RTE_ETH_FLOW_NONFRAG_IPV6_UDP
+},
+
+981 {"\9dv6-sùp", 
+RTE_ETH_FLOW_NONFRAG_IPV6_SCTP
+},
+
+982 {"\9dv6-Ùh\94", 
+RTE_ETH_FLOW_NONFRAG_IPV6_OTHER
+},
+
+983 {"l2_·ylßd", 
+RTE_ETH_FLOW_L2_PAYLOAD
+},
+
+986 \ f
+i
+ = 0; i < 
+       `RTE_DIM
+(
+æowty³_¡r
+); i++) {
+
+987 ià(!
+       `¡rcmp
+(
+æowty³_¡r
+[
+i
+].
+¡r
+, 
+¡r\9ag
+))
+
+988 \15 
+æowty³_¡r
+[
+i
+].
+ty³
+;
+
+990 \15 
+RTE_ETH_FLOW_UNKNOWN
+;
+
+991 
+       }
+}
+
+993 \18
+\9al\9ae
\12
+
+994 
+       $·r£_æexby\8bs
+(cڡ \ 5*
+q_¬g
+, 
+u\9at8_t
+ *
+æexby\8bs
+, 
+u\9at16_t
+max_num
+)
+
+996 \ 5
+s
+[256];
+
+997 cڡ \ 5*
+p
+, *
+p0
+ = 
+q_¬g
+;
+
+998 \ 5*
+\92d
+;
+
+999 \1d\13
+\9at_æd
+;
+
+1000 \ 5*
+¡r_æd
+[
+max_num
+];
+
+1001 \12
+i
+;
+
+1002 \1d\12
+size
+;
+
+1003 \12
+»t
+ = -1;
+
+1005 
+p
+ = 
+       `¡rchr
+(
+p0
+, '(');
+
+1006 ià(
+p
+ =ð
+NULL
+)
+
+1008 ++
+p
+;
+
+1009 
+p0
+ = 
+       `¡rchr
+(
+p
+, ')');
+
+1010 ià(
+p0
+ =ð
+NULL
+)
+
+1013 
+size
+ = 
+p0
+ - 
+p
+;
+
+1014 ià(
+size
+ >ð\17(
+s
+))
+
+1017 
+       `¢´\9atf
+(
+s
+, \17(s), "%.*s", 
+size
+, 
+p
+);
+
+1018 
+»t
+ = 
+       `¹e_¡r¥l\99
+(
+s
+, \17(s), 
+¡r_æd
+, 
+max_num
+, ',');
+
+1019 ià(
+»t
+ < 0 ||\84\91 > 
+max_num
+)
+
+1021 \ f
+i
+ = 0; i < 
+»t
+; i++) {
+
+1022 
+\94ºo
+ = 0;
+
+1023 
+\9at_æd
+ = 
+       `¡¹oul
+(
+¡r_æd
+[
+i
+], &
+\92d
+, 0);
+
+1024 ià(
+\94ºo
+ !ð0 || *
+\92d
+ !ð'\0' || 
+\9at_æd
+ > 
+UINT8_MAX
+)
+
+1026 
+æexby\8bs
+[
+i
+] = (
+u\9at8_t
+)
+\9at_æd
+;
+
+1028 \15 
+»t
+;
+
+1029 
+       }
+}
+
+1032 \19
+       scmd_æow_d\9ceùÜ_»suÉ
+ {
+
+1033 
+cmdl\9ae_fixed_¡r\9ag_t
+       mæow_d\9ceùÜ_f\9e\8br
+;
+
+1034 
+u\9at8_t
+       mpÜt_id
+;
+
+1035 
+cmdl\9ae_fixed_¡r\9ag_t
+       mmode
+;
+
+1036 
+cmdl\9ae_fixed_¡r\9ag_t
+       mmode_v®ue
+;
+
+1037 
+cmdl\9ae_fixed_¡r\9ag_t
+       mÝs
+;
+
+1038 
+cmdl\9ae_fixed_¡r\9ag_t
+       mæow
+;
+
+1039 
+cmdl\9ae_fixed_¡r\9ag_t
+       mæow_ty³
+;
+
+1040 
+cmdl\9ae_fixed_¡r\9ag_t
+       m\91h\94
+;
+
+1041 
+u\9at16_t
+       m\91h\94_ty³
+;
+
+1042 
+cmdl\9ae_fixed_¡r\9ag_t
+       m¤c
+;
+
+1043 
+cmdl\9ae_\9daddr_t
+       m\9d_¤c
+;
+
+1044 
+u\9at16_t
+       mpÜt_¤c
+;
+
+1045 
+cmdl\9ae_fixed_¡r\9ag_t
+       md¡
+;
+
+1046 
+cmdl\9ae_\9daddr_t
+       m\9d_d¡
+;
+
+1047 
+u\9at16_t
+       mpÜt_d¡
+;
+
+1048 
+cmdl\9ae_fixed_¡r\9ag_t
+       mv\94ify_\8fg
+;
+
+1049 
+u\9at32_t
+       mv\94ify_\8fg_v®ue
+;
+
+1050 
+cmdl\9ae_\9daddr_t
+       mtos
+;
+
+1051 
+u\9at8_t
+       mtos_v®ue
+;
+
+1052 
+cmdl\9ae_\9daddr_t
+       m´Ùo
+;
+
+1053 
+u\9at8_t
+       m´Ùo_v®ue
+;
+
+1054 
+cmdl\9ae_\9daddr_t
+       m\89l
+;
+
+1055 
+u\9at8_t
+       m\89l_v®ue
+;
+
+1056 
+cmdl\9ae_fixed_¡r\9ag_t
+       mvÏn
+;
+
+1057 
+u\9at16_t
+       mvÏn_v®ue
+;
+
+1058 
+cmdl\9ae_fixed_¡r\9ag_t
+       mæexby\8bs
+;
+
+1059 
+cmdl\9ae_fixed_¡r\9ag_t
+       mæexby\8bs_v®ue
+;
+
+1060 
+cmdl\9ae_fixed_¡r\9ag_t
+       mpf_vf
+;
+
+1061 
+cmdl\9ae_fixed_¡r\9ag_t
+       mdrÝ
+;
+
+1062 
+cmdl\9ae_fixed_¡r\9ag_t
+       mqueue
+;
+
+1063 
+u\9at16_t
+       mqueue_id
+;
+
+1064 
+cmdl\9ae_fixed_¡r\9ag_t
+       mfd_id
+;
+
+1065 
+u\9at32_t
+       mfd_id_v®ue
+;
+
+1066 
+cmdl\9ae_fixed_¡r\9ag_t
+       mmac
+;
+
+1067 \19
+\91h\94_addr
+       mmac_addr
+;
+
+1068 
+cmdl\9ae_fixed_¡r\9ag_t
+       mtu\96
+;
+
+1069 
+cmdl\9ae_fixed_¡r\9ag_t
+       mtuÂ\96_ty³
+;
+
+1070 
+cmdl\9ae_fixed_¡r\9ag_t
+       mtu\96_id
+;
+
+1071 
+u\9at32_t
+       mtuÂ\96_id_v®ue
+;
+
+1075 
+cmd_æow_d\9ceùÜ_f\9e\8br_·r£d
+(\1e*
+·r£d_»suÉ
+,
+
+1076 
+__©\8cibu\8b__
+((
+unu£d
+)è\19
+cmdl\9ae
+ *
+,
+
+1077 
+__©\8cibu\8b__
+((
+unu£d
+)è\1e*
+d©a
+)
+
+1079 \19
+cmd_æow_d\9ceùÜ_»suÉ
+ *
+       g»s
+ = 
+·r£d_»suÉ
+;
+
+1080 \19
+¹e_\91h_fd\9c_f\9e\8br
+       g\92\8cy
+;
+
+1081 
+u\9at8_t
+       gæexby\8bs
+[
+RTE_ETH_FDIR_MAX_FLEXLEN
+];
+
+1082 \ 5*
+       g\92d
+;
+
+1083 \1d\13
+       gvf_id
+;
+
+1084 \12
+       g»t
+ = 0;
+
+1086 ià(
+       g\92abË_hwlb
+) {
+
+1087 
\9atf
+("Hash Filter is\87lready Defined !\n");
+
+1088 
\9atf
+("Please undefine HWLD flag\87nd define "
+
+1093 
+       g»t
+ = 
+¹e_\91h_dev_f\9e\8br_suµÜ\8bd
+(
+»s
+->
+pÜt_id
+, 
+RTE_ETH_FILTER_FDIR
+);
+
+1094 ià(
+       g»t
+ < 0) {
+
+1095 
\9atf
+("flow director is\82ot supported on\85ort %u.\n",
+
+1096 
+»s
+->
+pÜt_id
+);
+
+1099 
+mem£t
+(
+æexby\8bs
+, 0, \17(flexbytes));
+
+1100 
+mem£t
+(&
+\92\8cy
+, 0, \17(\19
+¹e_\91h_fd\9c_f\9e\8br
+));
+
+1102 ià(
+       gfd\9c_cÚf
+.
+       gmode
+ =ð
+RTE_FDIR_MODE_PERFECT_MAC_VLAN
+) {
+
+1103 ià(
+¡rcmp
+(
+»s
+->
+mode_v®ue
+, "MAC-VLAN")) {
+
+1104 
\9atf
+("Please set mode\81o MAC-VLAN.\n");
+
+1107 } \vià(
+       gfd\9c_cÚf
+.
+       gmode
+ =ð
+RTE_FDIR_MODE_PERFECT_TUNNEL
+) {
+
+1108 ià(
+¡rcmp
+(
+»s
+->
+mode_v®ue
+, "Tunnel")) {
+
+1109 
\9atf
+("Please set mode\81o Tunnel.\n");
+
+1113 ià(
+¡rcmp
+(
+»s
+->
+mode_v®ue
+, "IP")) {
+
+1114 
\9atf
+("Please set mode\81o IP.\n");
+
+1119 
+       g\92\8cy
+.
+       g\9aput
+.
+       gæow_ty³
+ = 
+¡r2æowty³
+(
+»s
+->
+æow_ty³
+);
+
+1122 
+       g»t
+ = 
+·r£_æexby\8bs
+(
+»s
+->
+æexby\8bs_v®ue
+,
+
+1123 
+æexby\8bs
+,
+
+1124 
+RTE_ETH_FDIR_MAX_FLEXLEN
+);
+
+1125 ià(
+       g»t
+ < 0) {
+
+1126 
\9atf
+("error: Cannot\85arse flexbytes input.\n");
+
+1130 \1a
+       g\92\8cy
+.
+       g\9aput
+.
+       gæow_ty³
+) {
+
+1131 \ 4
+       gRTE_ETH_FLOW_FRAG_IPV4
+:
+
+1132 \ 4
+RTE_ETH_FLOW_NONFRAG_IPV4_OTHER
+:
+
+1133 
+\92\8cy
+.
+\9aput
+.
+æow
+.
+\9d4_æow
+.
+´Ùo
+ = 
+»s
+->
+´Ùo_v®ue
+;
+
+1134 \ 4
+       gRTE_ETH_FLOW_NONFRAG_IPV4_UDP
+:
+
+1135 \ 4
+RTE_ETH_FLOW_NONFRAG_IPV4_TCP
+:
+
+1136 
+IPV4_ADDR_TO_UINT
+(
+»s
+->
+\9d_d¡
+,
+
+1137 
+\92\8cy
+.
+\9aput
+.
+æow
+.
+\9d4_æow
+.
+d¡_\9d
+);
+
+1138 
+IPV4_ADDR_TO_UINT
+(
+»s
+->
+\9d_¤c
+,
+
+1139 
+\92\8cy
+.
+\9aput
+.
+æow
+.
+\9d4_æow
+.
+¤c_\9d
+);
+
+1140 
+       g\92\8cy
+.
+       g\9aput
+.
+       gæow
+.
+       g\9d4_æow
+.
+       gtos
+ = 
+»s
+->
+tos_v®ue
+;
+
+1141 
+       g\92\8cy
+.
+       g\9aput
+.
+       gæow
+.
+       g\9d4_æow
+.
+       g\89l
+ = 
+»s
+->
+\89l_v®ue
+;
+
+1143 
+       g\92\8cy
+.
+       g\9aput
+.
+       gæow
+.
+       gudp4_æow
+.
+       gd¡_pÜt
+ =
+
+1144 
+¹e_ýu_to_be_16
+(
+»s
+->
+pÜt_d¡
+);
+
+1145 
+       g\92\8cy
+.
+       g\9aput
+.
+       gæow
+.
+       gudp4_æow
+.
+       g¤c_pÜt
+ =
+
+1146 
+¹e_ýu_to_be_16
+(
+»s
+->
+pÜt_¤c
+);
+
+1149 \ 4
+       gRTE_ETH_FLOW_NONFRAG_IPV4_SCTP
+:
+
+1150 
+IPV4_ADDR_TO_UINT
+(
+»s
+->
+\9d_d¡
+,
+
+1151 
+\92\8cy
+.
+\9aput
+.
+æow
+.
+sùp4_æow
+.
+\9d
+.
+d¡_\9d
+);
+
+1152 
+IPV4_ADDR_TO_UINT
+(
+»s
+->
+\9d_¤c
+,
+
+1153 
+\92\8cy
+.
+\9aput
+.
+æow
+.
+sùp4_æow
+.
+\9d
+.
+¤c_\9d
+);
+
+1154 
+       g\92\8cy
+.
+       g\9aput
+.
+       gæow
+.
+       g\9d4_æow
+.
+       gtos
+ = 
+»s
+->
+tos_v®ue
+;
+
+1155 
+       g\92\8cy
+.
+       g\9aput
+.
+       gæow
+.
+       g\9d4_æow
+.
+       g\89l
+ = 
+»s
+->
+\89l_v®ue
+;
+
+1157 
+       g\92\8cy
+.
+       g\9aput
+.
+       gæow
+.
+       gsùp4_æow
+.
+       gd¡_pÜt
+ =
+
+1158 
+¹e_ýu_to_be_16
+(
+»s
+->
+pÜt_d¡
+);
+
+1159 
+       g\92\8cy
+.
+       g\9aput
+.
+       gæow
+.
+       gsùp4_æow
+.
+       g¤c_pÜt
+ =
+
+1160 
+¹e_ýu_to_be_16
+(
+»s
+->
+pÜt_¤c
+);
+
+1161 
+       g\92\8cy
+.
+       g\9aput
+.
+       gæow
+.
+       gsùp4_æow
+.
+       gv\94ify_\8fg
+ =
+
+1162 
+¹e_ýu_to_be_32
+(
+»s
+->
+v\94ify_\8fg_v®ue
+);
+
+1165 \ 4
+       gRTE_ETH_FLOW_FRAG_IPV6
+:
+
+1166 \ 4
+RTE_ETH_FLOW_NONFRAG_IPV6_OTHER
+:
+
+1167 
+\92\8cy
+.
+\9aput
+.
+æow
+.
+\9dv6_æow
+.
+´Ùo
+ = 
+»s
+->
+´Ùo_v®ue
+;
+
+1168 \ 4
+       gRTE_ETH_FLOW_NONFRAG_IPV6_UDP
+:
+
+1169 \ 4
+RTE_ETH_FLOW_NONFRAG_IPV6_TCP
+:
+
+1170 
+IPV6_ADDR_TO_ARRAY
+(
+»s
+->
+\9d_d¡
+,
+
+1171 
+\92\8cy
+.
+\9aput
+.
+æow
+.
+\9dv6_æow
+.
+d¡_\9d
+);
+
+1172 
+IPV6_ADDR_TO_ARRAY
+(
+»s
+->
+\9d_¤c
+,
+
+1173 
+\92\8cy
+.
+\9aput
+.
+æow
+.
+\9dv6_æow
+.
+¤c_\9d
+);
+
+1174 
+       g\92\8cy
+.
+       g\9aput
+.
+       gæow
+.
+       g\9dv6_æow
+.
+       gtc
+ = 
+»s
+->
+tos_v®ue
+;
+
+1175 
+       g\92\8cy
+.
+       g\9aput
+.
+       gæow
+.
+       g\9dv6_æow
+.
+       ghÝ_lim\99s
+ = 
+»s
+->
+\89l_v®ue
+;
+
+1177 
+       g\92\8cy
+.
+       g\9aput
+.
+       gæow
+.
+       gudp6_æow
+.
+       gd¡_pÜt
+ =
+
+1178 
+¹e_ýu_to_be_16
+(
+»s
+->
+pÜt_d¡
+);
+
+1179 
+       g\92\8cy
+.
+       g\9aput
+.
+       gæow
+.
+       gudp6_æow
+.
+       g¤c_pÜt
+ =
+
+1180 
+¹e_ýu_to_be_16
+(
+»s
+->
+pÜt_¤c
+);
+
+1183 \ 4
+       gRTE_ETH_FLOW_NONFRAG_IPV6_SCTP
+:
+
+1184 
+IPV6_ADDR_TO_ARRAY
+(
+»s
+->
+\9d_d¡
+,
+
+1185 
+\92\8cy
+.
+\9aput
+.
+æow
+.
+sùp6_æow
+.
+\9d
+.
+d¡_\9d
+);
+
+1186 
+IPV6_ADDR_TO_ARRAY
+(
+»s
+->
+\9d_¤c
+,
+
+1187 
+\92\8cy
+.
+\9aput
+.
+æow
+.
+sùp6_æow
+.
+\9d
+.
+¤c_\9d
+);
+
+1188 
+       g\92\8cy
+.
+       g\9aput
+.
+       gæow
+.
+       g\9dv6_æow
+.
+       gtc
+ = 
+»s
+->
+tos_v®ue
+;
+
+1189 
+       g\92\8cy
+.
+       g\9aput
+.
+       gæow
+.
+       g\9dv6_æow
+.
+       ghÝ_lim\99s
+ = 
+»s
+->
+\89l_v®ue
+;
+
+1191 
+       g\92\8cy
+.
+       g\9aput
+.
+       gæow
+.
+       gsùp6_æow
+.
+       gd¡_pÜt
+ =
+
+1192 
+¹e_ýu_to_be_16
+(
+»s
+->
+pÜt_d¡
+);
+
+1193 
+       g\92\8cy
+.
+       g\9aput
+.
+       gæow
+.
+       gsùp6_æow
+.
+       g¤c_pÜt
+ =
+
+1194 
+¹e_ýu_to_be_16
+(
+»s
+->
+pÜt_¤c
+);
+
+1195 
+       g\92\8cy
+.
+       g\9aput
+.
+       gæow
+.
+       gsùp6_æow
+.
+       gv\94ify_\8fg
+ =
+
+1196 
+¹e_ýu_to_be_32
+(
+»s
+->
+v\94ify_\8fg_v®ue
+);
+
+1198 \ 4
+       gRTE_ETH_FLOW_L2_PAYLOAD
+:
+
+1199 
+\92\8cy
+.
+\9aput
+.
+æow
+.
+l2_æow
+.
+\91h\94_ty³
+ =
+
+1200 
+¹e_ýu_to_be_16
+(
+»s
+->
+\91h\94_ty³
+);
+
+1206 ià(
+       gfd\9c_cÚf
+.
+       gmode
+ =ð
+RTE_FDIR_MODE_PERFECT_MAC_VLAN
+)
+
+1207 (\1e)
+¹e_memýy
+(&
+\92\8cy
+.
+\9aput
+.
+æow
+.
+mac_vÏn_æow
+.
+mac_addr
+,
+
+1208 &
+»s
+->
+mac_addr
+,
+
+1209 \17(\19
+\91h\94_addr
+));
+
+1211 ià(
+       gfd\9c_cÚf
+.
+       gmode
+ =ð
+RTE_FDIR_MODE_PERFECT_TUNNEL
+) {
+
+1212 (\1e)
+¹e_memýy
+(&
+\92\8cy
+.
+\9aput
+.
+æow
+.
+tuÂ\96_æow
+.
+mac_addr
+,
+
+1213 &
+»s
+->
+mac_addr
+,
+
+1214 \17(\19
+\91h\94_addr
+));
+
+1215 
+       g\92\8cy
+.
+       g\9aput
+.
+       gæow
+.
+       gtuÂ\96_æow
+.
+       gtuÂ\96_ty³
+ =
+
+1216 
+¡r2fd\9c_tuÂ\96ty³
+(
+»s
+->
+tuÂ\96_ty³
+);
+
+1217 
+       g\92\8cy
+.
+       g\9aput
+.
+       gæow
+.
+       gtuÂ\96_æow
+.
+       gtu\96_id
+ =
+
+1218 
+¹e_ýu_to_be_32
+(
+»s
+->
+tuÂ\96_id_v®ue
+);
+
+1222 (\1e)
+¹e_memýy
+(
+\92\8cy
+.
+\9aput
+.
+æow_ext
+.
+æexby\8bs
+,
+
+1223 
+æexby\8bs
+,
+
+1224 
+RTE_ETH_FDIR_MAX_FLEXLEN
+);
+
+1226 
+       g\92\8cy
+.
+       g\9aput
+.
+       gæow_ext
+.
+       gvÏn_tci
+ = 
+¹e_ýu_to_be_16
+(
+»s
+->
+vÏn_v®ue
+);
+
+1228 
+       g\92\8cy
+.
+       gaùiÚ
+.
+       gæex_off
+ = 0;
+
+1229 ià(!
+¡rcmp
+(
+»s
+->
+drÝ
+, "drop"))
+
+1230 
+       g\92\8cy
+.
+       gaùiÚ
+.
+       gbehaviÜ
+ = 
+RTE_ETH_FDIR_REJECT
+;
+
+1232 
+       g\92\8cy
+.
+       gaùiÚ
+.
+       gbehaviÜ
+ = 
+RTE_ETH_FDIR_ACCEPT
+;
+
+1234 ià(!
+¡rcmp
+(
+»s
+->
+pf_vf
+, "pf"))
+
+1235 
+       g\92\8cy
+.
+       g\9aput
+.
+       gæow_ext
+.
+       gis_vf
+ = 0;
+
+1236 \vià(!
+¡ºcmp
+(
+»s
+->
+pf_vf
+, "vf", 2)) {
+
+1237 \19
+¹e_\91h_dev_\9afo
+       gdev_\9afo
+;
+
+1239 
+mem£t
+(&
+dev_\9afo
+, 0, \17(dev_info));
+
+1240 
+¹e_\91h_dev_\9afo_g\91
+(
+»s
+->
+pÜt_id
+, &
+dev_\9afo
+);
+
+1241 
+       g\94ºo
+ = 0;
+
+1242 
+       gvf_id
+ = 
+¡¹oul
+(
+»s
+->
+pf_vf
+ + 2, &
+\92d
+, 10);
+
+1243 ià(
+       g\94ºo
+ !ð0 || *
+\92d
+ !ð'\0' || 
+vf_id
+ >ð
+dev_\9afo
+.
+max_vfs
+) {
+
+1244 
\9atf
+("\9av®id\85¬am\91\94 %s.\n", 
+»s
+->
+pf_vf
+);
+
+1247 
+       g\92\8cy
+.
+       g\9aput
+.
+       gæow_ext
+.
+       gis_vf
+ = 1;
+
+1248 
+       g\92\8cy
+.
+       g\9aput
+.
+       gæow_ext
+.
+       gd¡_id
+ = (
+u\9at16_t
+)
+vf_id
+;
+
+1250 
\9atf
+("\9av®id\85¬am\91\94 %s.\n", 
+»s
+->
+pf_vf
+);
+
+1254 
+       g\92\8cy
+.
+       gaùiÚ
+.
+       g»pÜt_¡©us
+ = 
+RTE_ETH_FDIR_REPORT_ID
+;
+
+1255 
+       g\92\8cy
+.
+       gaùiÚ
+.
+       grx_queue
+ = 
+»s
+->
+queue_id
+;
+
+1256 
+       g\92\8cy
+.
+       gsoá_id
+ = 
+»s
+->
+fd_id_v®ue
+;
+
+1257 ià(!
+¡rcmp
+(
+»s
+->
+Ýs
+, "add"))
+
+1258 
+       g»t
+ = 
+¹e_\91h_dev_f\9e\8br_ù¾
+(
+»s
+->
+pÜt_id
+, 
+RTE_ETH_FILTER_FDIR
+,
+
+1259 
+RTE_ETH_FILTER_ADD
+, &
+\92\8cy
+);
+
+1260 \vià(!
+¡rcmp
+(
+»s
+->
+Ýs
+, "del"))
+
+1261 
+       g»t
+ = 
+¹e_\91h_dev_f\9e\8br_ù¾
+(
+»s
+->
+pÜt_id
+, 
+RTE_ETH_FILTER_FDIR
+,
+
+1262 
+RTE_ETH_FILTER_DELETE
+, &
+\92\8cy
+);
+
+1264 
+       g»t
+ = 
+¹e_\91h_dev_f\9e\8br_ù¾
+(
+»s
+->
+pÜt_id
+, 
+RTE_ETH_FILTER_FDIR
+,
+
+1265 
+RTE_ETH_FILTER_UPDATE
+, &
+\92\8cy
+);
+
+1266 ià(
+       g»t
+ < 0)
+
+1267 
\9atf
+("flow director\85rogramming\83rror: (%s)\n",
+
+1268 
+¡»¼Ü
+(-
+»t
+));
+
+1274 
+cmdl\9ae_·r£_tok\92_¡r\9ag_t
+       gcmd_æow_d\9ceùÜ_f\9e\8br
+ =
+
+1275 
+TOKEN_STRING_INITIALIZER
+(\19
+cmd_æow_d\9ceùÜ_»suÉ
+,
+
+1276 
+æow_d\9ceùÜ_f\9e\8br
+, "flow_director_filter");
+
+1278 
+cmdl\9ae_·r£_tok\92_num_t
+       gcmd_æow_d\9ceùÜ_pÜt_id
+ =
+
+1279 
+TOKEN_NUM_INITIALIZER
+(\19
+cmd_æow_d\9ceùÜ_»suÉ
+,
+
+1280 
+pÜt_id
+, 
+UINT8
+);
+
+1283 
+cmdl\9ae_·r£_tok\92_¡r\9ag_t
+       gcmd_æow_d\9ceùÜ_mode
+ =
+
+1284 
+TOKEN_STRING_INITIALIZER
+(\19
+cmd_æow_d\9ceùÜ_»suÉ
+,
+
+1285 
+mode
+, "mode");
+
+1287 
+cmdl\9ae_·r£_tok\92_¡r\9ag_t
+       gcmd_æow_d\9ceùÜ_mode_\9d
+ =
+
+1288 
+TOKEN_STRING_INITIALIZER
+(\19
+cmd_æow_d\9ceùÜ_»suÉ
+,
+
+1289 
+mode_v®ue
+, "IP");
+
+1291 
+cmdl\9ae_·r£_tok\92_¡r\9ag_t
+       gcmd_æow_d\9ceùÜ_Ýs
+ =
+
+1292 
+TOKEN_STRING_INITIALIZER
+(\19
+cmd_æow_d\9ceùÜ_»suÉ
+,
+
+1293 
+Ýs
+, "add#del#update");
+
+1295 
+cmdl\9ae_·r£_tok\92_¡r\9ag_t
+       gcmd_æow_d\9ceùÜ_æow
+ =
+
+1296 
+TOKEN_STRING_INITIALIZER
+(\19
+cmd_æow_d\9ceùÜ_»suÉ
+,
+
+1297 
+æow
+, "flow");
+
+1299 
+cmdl\9ae_·r£_tok\92_¡r\9ag_t
+       gcmd_æow_d\9ceùÜ_æow_ty³
+ =
+
+1300 
+TOKEN_STRING_INITIALIZER
+(\19
+cmd_æow_d\9ceùÜ_»suÉ
+,
+
+1301 
+æow_ty³
+, "ipv4-other#ipv4-frag#ipv4-tcp#ipv4-udp#ipv4-sctp#"
+
+1304 
+cmdl\9ae_·r£_tok\92_¡r\9ag_t
+       gcmd_æow_d\9ceùÜ_¤c
+ =
+
+1305 
+TOKEN_STRING_INITIALIZER
+(\19
+cmd_æow_d\9ceùÜ_»suÉ
+,
+
+1306 
+¤c
+, "src");
+
+1307 
+cmdl\9ae_·r£_tok\92_\9daddr_t
+       gcmd_æow_d\9ceùÜ_\9d_¤c
+ =
+
+1308 
+TOKEN_IPADDR_INITIALIZER
+(\19
+cmd_æow_d\9ceùÜ_»suÉ
+,
+
+1309 
+\9d_¤c
+);
+
+1310 
+cmdl\9ae_·r£_tok\92_num_t
+       gcmd_æow_d\9ceùÜ_pÜt_¤c
+ =
+
+1311 
+TOKEN_NUM_INITIALIZER
+(\19
+cmd_æow_d\9ceùÜ_»suÉ
+,
+
+1312 
+pÜt_¤c
+, 
+UINT16
+);
+
+1313 
+cmdl\9ae_·r£_tok\92_¡r\9ag_t
+       gcmd_æow_d\9ceùÜ_d¡
+ =
+
+1314 
+TOKEN_STRING_INITIALIZER
+(\19
+cmd_æow_d\9ceùÜ_»suÉ
+,
+
+1315 
+d¡
+, "dst");
+
+1316 
+cmdl\9ae_·r£_tok\92_\9daddr_t
+       gcmd_æow_d\9ceùÜ_\9d_d¡
+ =
+
+1317 
+TOKEN_IPADDR_INITIALIZER
+(\19
+cmd_æow_d\9ceùÜ_»suÉ
+,
+
+1318 
+\9d_d¡
+);
+
+1319 
+cmdl\9ae_·r£_tok\92_num_t
+       gcmd_æow_d\9ceùÜ_pÜt_d¡
+ =
+
+1320 
+TOKEN_NUM_INITIALIZER
+(\19
+cmd_æow_d\9ceùÜ_»suÉ
+,
+
+1321 
+pÜt_d¡
+, 
+UINT16
+);
+
+1323 
+cmdl\9ae_·r£_tok\92_¡r\9ag_t
+       gcmd_æow_d\9ceùÜ_tos
+ =
+
+1324 
+TOKEN_STRING_INITIALIZER
+(\19
+cmd_æow_d\9ceùÜ_»suÉ
+,
+
+1325 
+tos
+, "tos");
+
+1326 
+cmdl\9ae_·r£_tok\92_num_t
+       gcmd_æow_d\9ceùÜ_tos_v®ue
+ =
+
+1327 
+TOKEN_NUM_INITIALIZER
+(\19
+cmd_æow_d\9ceùÜ_»suÉ
+,
+
+1328 
+tos_v®ue
+, 
+UINT8
+);
+
+1330 
+cmdl\9ae_·r£_tok\92_¡r\9ag_t
+       gcmd_æow_d\9ceùÜ_\89l
+ =
+
+1331 
+TOKEN_STRING_INITIALIZER
+(\19
+cmd_æow_d\9ceùÜ_»suÉ
+,
+
+1332 
+\89l
+, "ttl");
+
+1333 
+cmdl\9ae_·r£_tok\92_num_t
+       gcmd_æow_d\9ceùÜ_\89l_v®ue
+ =
+
+1334 
+TOKEN_NUM_INITIALIZER
+(\19
+cmd_æow_d\9ceùÜ_»suÉ
+,
+
+1335 
+\89l_v®ue
+, 
+UINT8
+);
+
+1337 
+cmdl\9ae_·r£_tok\92_¡r\9ag_t
+       gcmd_æow_d\9ceùÜ_vÏn
+ =
+
+1338 
+TOKEN_STRING_INITIALIZER
+(\19
+cmd_æow_d\9ceùÜ_»suÉ
+,
+
+1339 
+vÏn
+, "vlan");
+
+1340 
+cmdl\9ae_·r£_tok\92_num_t
+       gcmd_æow_d\9ceùÜ_vÏn_v®ue
+ =
+
+1341 
+TOKEN_NUM_INITIALIZER
+(\19
+cmd_æow_d\9ceùÜ_»suÉ
+,
+
+1342 
+vÏn_v®ue
+, 
+UINT16
+);
+
+1343 
+cmdl\9ae_·r£_tok\92_¡r\9ag_t
+       gcmd_æow_d\9ceùÜ_æexby\8bs
+ =
+
+1344 
+TOKEN_STRING_INITIALIZER
+(\19
+cmd_æow_d\9ceùÜ_»suÉ
+,
+
+1345 
+æexby\8bs
+, "flexbytes");
+
+1346 
+cmdl\9ae_·r£_tok\92_¡r\9ag_t
+       gcmd_æow_d\9ceùÜ_æexby\8bs_v®ue
+ =
+
+1347 
+TOKEN_STRING_INITIALIZER
+(\19
+cmd_æow_d\9ceùÜ_»suÉ
+,
+
+1348 
+æexby\8bs_v®ue
+, 
+NULL
+);
+
+1349 
+cmdl\9ae_·r£_tok\92_¡r\9ag_t
+       gcmd_æow_d\9ceùÜ_drÝ
+ =
+
+1350 
+TOKEN_STRING_INITIALIZER
+(\19
+cmd_æow_d\9ceùÜ_»suÉ
+,
+
+1351 
+drÝ
+, "drop#fwd");
+
+1352 
+cmdl\9ae_·r£_tok\92_¡r\9ag_t
+       gcmd_æow_d\9ceùÜ_pf_vf
+ =
+
+1353 
+TOKEN_STRING_INITIALIZER
+(\19
+cmd_æow_d\9ceùÜ_»suÉ
+,
+
+1354 
+pf_vf
+, 
+NULL
+);
+
+1355 
+cmdl\9ae_·r£_tok\92_¡r\9ag_t
+       gcmd_æow_d\9ceùÜ_queue
+ =
+
+1356 
+TOKEN_STRING_INITIALIZER
+(\19
+cmd_æow_d\9ceùÜ_»suÉ
+,
+
+1357 
+queue
+, "queue");
+
+1358 
+cmdl\9ae_·r£_tok\92_num_t
+       gcmd_æow_d\9ceùÜ_queue_id
+ =
+
+1359 
+TOKEN_NUM_INITIALIZER
+(\19
+cmd_æow_d\9ceùÜ_»suÉ
+,
+
+1360 
+queue_id
+, 
+UINT16
+);
+
+1361 
+cmdl\9ae_·r£_tok\92_¡r\9ag_t
+       gcmd_æow_d\9ceùÜ_fd_id
+ =
+
+1362 
+TOKEN_STRING_INITIALIZER
+(\19
+cmd_æow_d\9ceùÜ_»suÉ
+,
+
+1363 
+fd_id
+, "fd_id");
+
+1364 
+cmdl\9ae_·r£_tok\92_num_t
+       gcmd_æow_d\9ceùÜ_fd_id_v®ue
+ =
+
+1365 
+TOKEN_NUM_INITIALIZER
+(\19
+cmd_æow_d\9ceùÜ_»suÉ
+,
+
+1366 
+fd_id_v®ue
+, 
+UINT32
+);
+
+1369 
+cmdl\9ae_·r£_\9a¡_t
+       gcmd_add_d\96_udp_æow_d\9ceùÜ
+ = {
+
+1370 .
+f
+ = 
+cmd_æow_d\9ceùÜ_f\9e\8br_·r£d
+,
+
+1371 .
+       gd©a
+ = 
+NULL
+,
+
+1372 .
+       gh\96p_¡r
+ = "add or delete\87n udp/tcp flow director\83ntry on NIC",
+
+1373 .
+       gtok\92s
+ = {
+
+1374 (\1e*)&
+cmd_æow_d\9ceùÜ_f\9e\8br
+,
+
+1375 (\1e*)&
+cmd_æow_d\9ceùÜ_pÜt_id
+,
+
+1376 (\1e*)&
+cmd_æow_d\9ceùÜ_mode
+,
+
+1377 (\1e*)&
+cmd_æow_d\9ceùÜ_mode_\9d
+,
+
+1378 (\1e*)&
+cmd_æow_d\9ceùÜ_Ýs
+,
+
+1379 (\1e*)&
+cmd_æow_d\9ceùÜ_æow
+,
+
+1380 (\1e*)&
+cmd_æow_d\9ceùÜ_æow_ty³
+,
+
+1381 (\1e*)&
+cmd_æow_d\9ceùÜ_¤c
+,
+
+1382 (\1e*)&
+cmd_æow_d\9ceùÜ_\9d_¤c
+,
+
+1383 (\1e*)&
+cmd_æow_d\9ceùÜ_pÜt_¤c
+,
+
+1384 (\1e*)&
+cmd_æow_d\9ceùÜ_d¡
+,
+
+1385 (\1e*)&
+cmd_æow_d\9ceùÜ_\9d_d¡
+,
+
+1386 (\1e*)&
+cmd_æow_d\9ceùÜ_pÜt_d¡
+,
+
+1387 (\1e*)&
+cmd_æow_d\9ceùÜ_tos
+,
+
+1388 (\1e*)&
+cmd_æow_d\9ceùÜ_tos_v®ue
+,
+
+1389 (\1e*)&
+cmd_æow_d\9ceùÜ_\89l
+,
+
+1390 (\1e*)&
+cmd_æow_d\9ceùÜ_\89l_v®ue
+,
+
+1391 (\1e*)&
+cmd_æow_d\9ceùÜ_vÏn
+,
+
+1392 (\1e*)&
+cmd_æow_d\9ceùÜ_vÏn_v®ue
+,
+
+1393 (\1e*)&
+cmd_æow_d\9ceùÜ_æexby\8bs
+,
+
+1394 (\1e*)&
+cmd_æow_d\9ceùÜ_æexby\8bs_v®ue
+,
+
+1395 (\1e*)&
+cmd_æow_d\9ceùÜ_drÝ
+,
+
+1396 (\1e*)&
+cmd_æow_d\9ceùÜ_pf_vf
+,
+
+1397 (\1e*)&
+cmd_æow_d\9ceùÜ_queue
+,
+
+1398 (\1e*)&
+cmd_æow_d\9ceùÜ_queue_id
+,
+
+1399 (\1e*)&
+cmd_æow_d\9ceùÜ_fd_id
+,
+
+1400 (\1e*)&
+cmd_æow_d\9ceùÜ_fd_id_v®ue
+,
+
+1401 
+NULL
+,
+
+1405 
+cmdl\9ae_·r£_tok\92_¡r\9ag_t
+       gcmd_æow_d\9ceùÜ_\91h\94
+ =
+
+1406 
+TOKEN_STRING_INITIALIZER
+(\19
+cmd_æow_d\9ceùÜ_»suÉ
+,
+
+1407 
+\91h\94
+, "ether");
+
+1408 
+cmdl\9ae_·r£_tok\92_num_t
+       gcmd_æow_d\9ceùÜ_\91h\94_ty³
+ =
+
+1409 
+TOKEN_NUM_INITIALIZER
+(\19
+cmd_æow_d\9ceùÜ_»suÉ
+,
+
+1410 
+\91h\94_ty³
+, 
+UINT16
+);
+
+1412 
+cmdl\9ae_·r£_\9a¡_t
+       gcmd_add_d\96_l2_æow_d\9ceùÜ
+ = {
+
+1413 .
+f
+ = 
+cmd_æow_d\9ceùÜ_f\9e\8br_·r£d
+,
+
+1414 .
+       gd©a
+ = 
+NULL
+,
+
+1415 .
+       gh\96p_¡r
+ = "add or delete\87 L2 flow director\83ntry on NIC",
+
+1416 .
+       gtok\92s
+ = {
+
+1417 (\1e*)&
+cmd_æow_d\9ceùÜ_f\9e\8br
+,
+
+1418 (\1e*)&
+cmd_æow_d\9ceùÜ_pÜt_id
+,
+
+1419 (\1e*)&
+cmd_æow_d\9ceùÜ_mode
+,
+
+1420 (\1e*)&
+cmd_æow_d\9ceùÜ_mode_\9d
+,
+
+1421 (\1e*)&
+cmd_æow_d\9ceùÜ_Ýs
+,
+
+1422 (\1e*)&
+cmd_æow_d\9ceùÜ_æow
+,
+
+1423 (\1e*)&
+cmd_æow_d\9ceùÜ_æow_ty³
+,
+
+1424 (\1e*)&
+cmd_æow_d\9ceùÜ_\91h\94
+,
+
+1425 (\1e*)&
+cmd_æow_d\9ceùÜ_\91h\94_ty³
+,
+
+1426 (\1e*)&
+cmd_æow_d\9ceùÜ_æexby\8bs
+,
+
+1427 (\1e*)&
+cmd_æow_d\9ceùÜ_æexby\8bs_v®ue
+,
+
+1428 (\1e*)&
+cmd_æow_d\9ceùÜ_drÝ
+,
+
+1429 (\1e*)&
+cmd_æow_d\9ceùÜ_pf_vf
+,
+
+1430 (\1e*)&
+cmd_æow_d\9ceùÜ_queue
+,
+
+1431 (\1e*)&
+cmd_æow_d\9ceùÜ_queue_id
+,
+
+1432 (\1e*)&
+cmd_æow_d\9ceùÜ_fd_id
+,
+
+1433 (\1e*)&
+cmd_æow_d\9ceùÜ_fd_id_v®ue
+,
+
+1434 
+NULL
+,
+
+1440 \19
+       scmd_£t_hash_\9aput_£t_»suÉ
+ {
+
+1441 
+cmdl\9ae_fixed_¡r\9ag_t
+       g£t_hash_\9aput_£t
+;
+
+1442 
+u\9at8_t
+       gpÜt_id
+;
+
+1443 
+cmdl\9ae_fixed_¡r\9ag_t
+       gæow_ty³
+;
+
+1444 
+cmdl\9ae_fixed_¡r\9ag_t
+       g\9a£t_f\9bld0
+;
+
+1445 
+cmdl\9ae_fixed_¡r\9ag_t
+       g\9a£t_f\9bld1
+;
+
+1446 
+cmdl\9ae_fixed_¡r\9ag_t
+       g\9a£t_f\9bld2
+;
+
+1447 
+cmdl\9ae_fixed_¡r\9ag_t
+       g\9a£t_f\9bld3
+;
+
+1448 
+cmdl\9ae_fixed_¡r\9ag_t
+       g\9a£t_f\9bld4
+;
+
+1449 
+cmdl\9ae_fixed_¡r\9ag_t
+       g£Ëù
+;
+
+1452 \18\f
+¹e_\91h_\9aput_£t_f\9bld
+
+
+1453 
+¡r2\9a£t
+(\ 5*
+¡r\9ag
+)
+
+1455 
+u\9at16_t
+       gi
+;
+
+1458 \ 5
+       g¡r
+[32];
+
+1459 \f
+¹e_\91h_\9aput_£t_f\9bld
+       g\9a£t
+;
+
+1460 } 
+       g\9a£t_\8f
+[] = {
+
+1461 {"\91h\94ty³", 
+RTE_ETH_INPUT_SET_L2_ETHERTYPE
+},
+
+1462 {"ovÏn", 
+RTE_ETH_INPUT_SET_L2_OUTER_VLAN
+},
+
+1463 {"ivÏn", 
+RTE_ETH_INPUT_SET_L2_INNER_VLAN
+},
+
+1464 {"¤c-\9dv4", 
+RTE_ETH_INPUT_SET_L3_SRC_IP4
+},
+
+1465 {"d¡-\9dv4", 
+RTE_ETH_INPUT_SET_L3_DST_IP4
+},
+
+1466 {"\9dv4-tos", 
+RTE_ETH_INPUT_SET_L3_IP4_TOS
+},
+
+1467 {"\9dv4-´Ùo", 
+RTE_ETH_INPUT_SET_L3_IP4_PROTO
+},
+
+1468 {"\9dv4-\89l", 
+RTE_ETH_INPUT_SET_L3_IP4_TTL
+},
+
+1469 {"¤c-\9dv6", 
+RTE_ETH_INPUT_SET_L3_SRC_IP6
+},
+
+1470 {"d¡-\9dv6", 
+RTE_ETH_INPUT_SET_L3_DST_IP6
+},
+
+1471 {"\9dv6-tc", 
+RTE_ETH_INPUT_SET_L3_IP6_TC
+},
+
+1472 {"\9dv6-Ãxt-h\97d\94", 
+RTE_ETH_INPUT_SET_L3_IP6_NEXT_HEADER
+},
+
+1473 {"\9dv6-hÝ-lim\99s", 
+RTE_ETH_INPUT_SET_L3_IP6_HOP_LIMITS
+},
+
+1474 {"udp-¤c-pÜt", 
+RTE_ETH_INPUT_SET_L4_UDP_SRC_PORT
+},
+
+1475 {"udp-d¡-pÜt", 
+RTE_ETH_INPUT_SET_L4_UDP_DST_PORT
+},
+
+1476 {"tý-¤c-pÜt", 
+RTE_ETH_INPUT_SET_L4_TCP_SRC_PORT
+},
+
+1477 {"tý-d¡-pÜt", 
+RTE_ETH_INPUT_SET_L4_TCP_DST_PORT
+},
+
+1478 {"sùp-¤c-pÜt", 
+RTE_ETH_INPUT_SET_L4_SCTP_SRC_PORT
+},
+
+1479 {"sùp-d¡-pÜt", 
+RTE_ETH_INPUT_SET_L4_SCTP_DST_PORT
+},
+
+1480 {"sùp-v\94i-\8fg", 
+RTE_ETH_INPUT_SET_L4_SCTP_VERIFICATION_TAG
+},
+
+1481 {"udp-key", 
+RTE_ETH_INPUT_SET_TUNNEL_L4_UDP_KEY
+},
+
+1482 {"g»-key", 
+RTE_ETH_INPUT_SET_TUNNEL_GRE_KEY
+},
+
+1483 {"æd-1¡", 
+RTE_ETH_INPUT_SET_FLEX_PAYLOAD_1ST_WORD
+},
+
+1484 {"æd-2nd", 
+RTE_ETH_INPUT_SET_FLEX_PAYLOAD_2ND_WORD
+},
+
+1485 {"æd-3rd", 
+RTE_ETH_INPUT_SET_FLEX_PAYLOAD_3RD_WORD
+},
+
+1486 {"æd-4th", 
+RTE_ETH_INPUT_SET_FLEX_PAYLOAD_4TH_WORD
+},
+
+1487 {"æd-5th", 
+RTE_ETH_INPUT_SET_FLEX_PAYLOAD_5TH_WORD
+},
+
+1488 {"æd-6th", 
+RTE_ETH_INPUT_SET_FLEX_PAYLOAD_6TH_WORD
+},
+
+1489 {"æd-7th", 
+RTE_ETH_INPUT_SET_FLEX_PAYLOAD_7TH_WORD
+},
+
+1490 {"æd-8th", 
+RTE_ETH_INPUT_SET_FLEX_PAYLOAD_8TH_WORD
+},
+
+1491 {"nÚe", 
+RTE_ETH_INPUT_SET_NONE
+},
+
+1493 \ f
+       gi
+ = 0; i < 
+RTE_DIM
+(
+\9a£t_\8f
+); i++) {
+
+1494 ià(!
+¡rcmp
+(
+¡r\9ag
+, 
+\9a£t_\8f
+[
+i
+].
+¡r
+))
+
+1495 \15 
+       g\9a£t_\8f
+[
+i
+].
+       g\9a£t
+;
+
+1498 \15 
+       gRTE_ETH_INPUT_SET_UNKNOWN
+;
+
+1502 
+cmd_£t_hash_\9aput_£t_1_·r£d
+(\1e*
+·r£d_»suÉ
+,
+
+1503 
+__¹e_unu£d
\19
+cmdl\9ae
+ *
+,
+
+1504 
+__¹e_unu£d
\1e*
+d©a
+)
+
+1506 \19
+cmd_£t_hash_\9aput_£t_»suÉ
+ *
+       g»s
+ = 
+·r£d_»suÉ
+;
+
+1507 \19
+¹e_\91h_hash_f\9e\8br_\9afo
+       g\9afo
+;
+
+1509 ià(
+       g\92abË_æow_d\9c
+) {
+
+1510 
\9atf
+("FDIR Filter is Defined!\n");
+
+1511 
\9atf
+("Please undefine FDIR_FILTER flag\87nd define "
+
+1516 
+mem£t
+(&
+\9afo
+, 0, \17(info));
+
+1517 
+       g\9afo
+.
+       g\9afo_ty³
+ = 
+RTE_ETH_HASH_FILTER_INPUT_SET_SELECT
+;
+
+1518 
+       g\9afo
+.\9afo.
+       g\9aput_£t_cÚf
+.
+       gæow_ty³
+ = 
+¡r2æowty³
+(
+»s
+->
+æow_ty³
+);
+
+1520 
+       g\9afo
+.\9afo.
+       g\9aput_£t_cÚf
+.
+       gf\9bld
+[0] = 
+¡r2\9a£t
+(
+»s
+->
+\9a£t_f\9bld0
+);
+
+1521 
+       g\9afo
+.\9afo.
+       g\9aput_£t_cÚf
+.
+       g\9a£t_size
+ = 1;
+
+1523 ià(!
+¡rcmp
+(
+»s
+->
+£Ëù
+, "select"))
+
+1524 
+       g\9afo
+.\9afo.
+       g\9aput_£t_cÚf
+.
+       gÝ
+ = 
+RTE_ETH_INPUT_SET_SELECT
+;
+
+1525 \vià(!
+¡rcmp
+(
+»s
+->
+£Ëù
+, "add"))
+
+1526 
+       g\9afo
+.\9afo.
+       g\9aput_£t_cÚf
+.
+       gÝ
+ = 
+RTE_ETH_INPUT_SET_ADD
+;
+
+1528 
+¹e_\91h_dev_f\9e\8br_ù¾
+(
+»s
+->
+pÜt_id
+, 
+RTE_ETH_FILTER_HASH
+,
+
+1529 
+RTE_ETH_FILTER_SET
+, &
+\9afo
+);
+
+1535 
+cmd_£t_hash_\9aput_£t_2_·r£d
+(\1e*
+·r£d_»suÉ
+,
+
+1536 
+__¹e_unu£d
\19
+cmdl\9ae
+ *
+,
+
+1537 
+__¹e_unu£d
\1e*
+d©a
+)
+
+1539 \19
+cmd_£t_hash_\9aput_£t_»suÉ
+ *
+       g»s
+ = 
+·r£d_»suÉ
+;
+
+1540 \19
+¹e_\91h_hash_f\9e\8br_\9afo
+       g\9afo
+;
+
+1542 ià(
+       g\92abË_æow_d\9c
+) {
+
+1543 
\9atf
+("FDIR Filter is Defined!\n");
+
+1544 
\9atf
+("Please undefine FDIR_FILTER flag\87nd define "
+
+1549 
+mem£t
+(&
+\9afo
+, 0, \17(info));
+
+1550 
+       g\9afo
+.
+       g\9afo_ty³
+ = 
+RTE_ETH_HASH_FILTER_INPUT_SET_SELECT
+;
+
+1551 
+       g\9afo
+.\9afo.
+       g\9aput_£t_cÚf
+.
+       gæow_ty³
+ = 
+¡r2æowty³
+(
+»s
+->
+æow_ty³
+);
+
+1553 
+       g\9afo
+.\9afo.
+       g\9aput_£t_cÚf
+.
+       gf\9bld
+[0] = 
+¡r2\9a£t
+(
+»s
+->
+\9a£t_f\9bld0
+);
+
+1554 
+       g\9afo
+.\9afo.
+       g\9aput_£t_cÚf
+.
+       gf\9bld
+[1] = 
+¡r2\9a£t
+(
+»s
+->
+\9a£t_f\9bld1
+);
+
+1556 
+       g\9afo
+.\9afo.
+       g\9aput_£t_cÚf
+.
+       g\9a£t_size
+ = 2;
+
+1558 ià(!
+¡rcmp
+(
+»s
+->
+£Ëù
+, "select"))
+
+1559 
+       g\9afo
+.\9afo.
+       g\9aput_£t_cÚf
+.
+       gÝ
+ = 
+RTE_ETH_INPUT_SET_SELECT
+;
+
+1560 \vià(!
+¡rcmp
+(
+»s
+->
+£Ëù
+, "add"))
+
+1561 
+       g\9afo
+.\9afo.
+       g\9aput_£t_cÚf
+.
+       gÝ
+ = 
+RTE_ETH_INPUT_SET_ADD
+;
+
+1563 
+¹e_\91h_dev_f\9e\8br_ù¾
+(
+»s
+->
+pÜt_id
+, 
+RTE_ETH_FILTER_HASH
+,
+
+1564 
+RTE_ETH_FILTER_SET
+, &
+\9afo
+);
+
+1571 
+cmd_£t_hash_\9aput_£t_3_·r£d
+(\1e*
+·r£d_»suÉ
+,
+
+1572 
+__¹e_unu£d
\19
+cmdl\9ae
+ *
+,
+
+1573 
+__¹e_unu£d
\1e*
+d©a
+)
+
+1575 \19
+cmd_£t_hash_\9aput_£t_»suÉ
+ *
+       g»s
+ = 
+·r£d_»suÉ
+;
+
+1576 \19
+¹e_\91h_hash_f\9e\8br_\9afo
+       g\9afo
+;
+
+1578 
+mem£t
+(&
+\9afo
+, 0, \17(info));
+
+1579 
+       g\9afo
+.
+       g\9afo_ty³
+ = 
+RTE_ETH_HASH_FILTER_INPUT_SET_SELECT
+;
+
+1580 
+       g\9afo
+.\9afo.
+       g\9aput_£t_cÚf
+.
+       gæow_ty³
+ = 
+¡r2æowty³
+(
+»s
+->
+æow_ty³
+);
+
+1582 
+       g\9afo
+.\9afo.
+       g\9aput_£t_cÚf
+.
+       gf\9bld
+[0] = 
+¡r2\9a£t
+(
+»s
+->
+\9a£t_f\9bld0
+);
+
+1583 
+       g\9afo
+.\9afo.
+       g\9aput_£t_cÚf
+.
+       gf\9bld
+[1] = 
+¡r2\9a£t
+(
+»s
+->
+\9a£t_f\9bld1
+);
+
+1584 
+       g\9afo
+.\9afo.
+       g\9aput_£t_cÚf
+.
+       gf\9bld
+[2] = 
+¡r2\9a£t
+(
+»s
+->
+\9a£t_f\9bld2
+);
+
+1585 
+       g\9afo
+.\9afo.
+       g\9aput_£t_cÚf
+.
+       g\9a£t_size
+ = 3;
+
+1587 ià(!
+¡rcmp
+(
+»s
+->
+£Ëù
+, "select"))
+
+1588 
+       g\9afo
+.\9afo.
+       g\9aput_£t_cÚf
+.
+       gÝ
+ = 
+RTE_ETH_INPUT_SET_SELECT
+;
+
+1589 \vià(!
+¡rcmp
+(
+»s
+->
+£Ëù
+, "add"))
+
+1590 
+       g\9afo
+.\9afo.
+       g\9aput_£t_cÚf
+.
+       gÝ
+ = 
+RTE_ETH_INPUT_SET_ADD
+;
+
+1592 
+¹e_\91h_dev_f\9e\8br_ù¾
+(
+»s
+->
+pÜt_id
+, 
+RTE_ETH_FILTER_HASH
+,
+
+1593 
+RTE_ETH_FILTER_SET
+, &
+\9afo
+);
+
+1597 
+cmd_£t_hash_\9aput_£t_4_·r£d
+(\1e*
+·r£d_»suÉ
+,
+
+1598 
+__¹e_unu£d
\19
+cmdl\9ae
+ *
+,
+
+1599 
+__¹e_unu£d
\1e*
+d©a
+)
+
+1601 \19
+cmd_£t_hash_\9aput_£t_»suÉ
+ *
+       g»s
+ = 
+·r£d_»suÉ
+;
+
+1602 \19
+¹e_\91h_hash_f\9e\8br_\9afo
+       g\9afo
+;
+
+1604 ià(
+       g\92abË_æow_d\9c
+) {
+
+1605 
\9atf
+("FDIR Filter is Defined!\n");
+
+1606 
\9atf
+("Please undefine FDIR_FILTER flag\87nd define "
+
+1611 
+mem£t
+(&
+\9afo
+, 0, \17(info));
+
+1612 
+       g\9afo
+.
+       g\9afo_ty³
+ = 
+RTE_ETH_HASH_FILTER_INPUT_SET_SELECT
+;
+
+1613 
+       g\9afo
+.\9afo.
+       g\9aput_£t_cÚf
+.
+       gæow_ty³
+ = 
+¡r2æowty³
+(
+»s
+->
+æow_ty³
+);
+
+1615 
+       g\9afo
+.\9afo.
+       g\9aput_£t_cÚf
+.
+       gf\9bld
+[0] = 
+¡r2\9a£t
+(
+»s
+->
+\9a£t_f\9bld0
+);
+
+1616 
+       g\9afo
+.\9afo.
+       g\9aput_£t_cÚf
+.
+       gf\9bld
+[1] = 
+¡r2\9a£t
+(
+»s
+->
+\9a£t_f\9bld1
+);
+
+1617 
+       g\9afo
+.\9afo.
+       g\9aput_£t_cÚf
+.
+       gf\9bld
+[2] = 
+¡r2\9a£t
+(
+»s
+->
+\9a£t_f\9bld2
+);
+
+1618 
+       g\9afo
+.\9afo.
+       g\9aput_£t_cÚf
+.
+       gf\9bld
+[3] = 
+¡r2\9a£t
+(
+»s
+->
+\9a£t_f\9bld3
+);
+
+1620 
+       g\9afo
+.\9afo.
+       g\9aput_£t_cÚf
+.
+       g\9a£t_size
+ = 4;
+
+1621 ià(!
+¡rcmp
+(
+»s
+->
+£Ëù
+, "select"))
+
+1622 
+       g\9afo
+.\9afo.
+       g\9aput_£t_cÚf
+.
+       gÝ
+ = 
+RTE_ETH_INPUT_SET_SELECT
+;
+
+1623 \vià(!
+¡rcmp
+(
+»s
+->
+£Ëù
+, "add"))
+
+1624 
+       g\9afo
+.\9afo.
+       g\9aput_£t_cÚf
+.
+       gÝ
+ = 
+RTE_ETH_INPUT_SET_ADD
+;
+
+1626 
+¹e_\91h_dev_f\9e\8br_ù¾
+(
+»s
+->
+pÜt_id
+, 
+RTE_ETH_FILTER_HASH
+,
+
+1627 
+RTE_ETH_FILTER_SET
+, &
+\9afo
+);
+
+1633 
+cmd_£t_hash_\9aput_£t_5_·r£d
+(\1e*
+·r£d_»suÉ
+,
+
+1634 
+__¹e_unu£d
\19
+cmdl\9ae
+ *
+,
+
+1635 
+__¹e_unu£d
\1e*
+d©a
+)
+
+1637 \19
+cmd_£t_hash_\9aput_£t_»suÉ
+ *
+       g»s
+ = 
+·r£d_»suÉ
+;
+
+1638 \19
+¹e_\91h_hash_f\9e\8br_\9afo
+       g\9afo
+;
+
+1640 
+mem£t
+(&
+\9afo
+, 0, \17(info));
+
+1641 
+       g\9afo
+.
+       g\9afo_ty³
+ = 
+RTE_ETH_HASH_FILTER_INPUT_SET_SELECT
+;
+
+1642 
+       g\9afo
+.\9afo.
+       g\9aput_£t_cÚf
+.
+       gæow_ty³
+ = 
+¡r2æowty³
+(
+»s
+->
+æow_ty³
+);
+
+1644 
+       g\9afo
+.\9afo.
+       g\9aput_£t_cÚf
+.
+       gf\9bld
+[0] = 
+¡r2\9a£t
+(
+»s
+->
+\9a£t_f\9bld0
+);
+
+1645 
+       g\9afo
+.\9afo.
+       g\9aput_£t_cÚf
+.
+       gf\9bld
+[1] = 
+¡r2\9a£t
+(
+»s
+->
+\9a£t_f\9bld1
+);
+
+1646 
+       g\9afo
+.\9afo.
+       g\9aput_£t_cÚf
+.
+       gf\9bld
+[2] = 
+¡r2\9a£t
+(
+»s
+->
+\9a£t_f\9bld2
+);
+
+1647 
+       g\9afo
+.\9afo.
+       g\9aput_£t_cÚf
+.
+       gf\9bld
+[3] = 
+¡r2\9a£t
+(
+»s
+->
+\9a£t_f\9bld3
+);
+
+1648 
+       g\9afo
+.\9afo.
+       g\9aput_£t_cÚf
+.
+       gf\9bld
+[4] = 
+¡r2\9a£t
+(
+»s
+->
+\9a£t_f\9bld4
+);
+
+1650 
+       g\9afo
+.\9afo.
+       g\9aput_£t_cÚf
+.
+       g\9a£t_size
+ = 5;
+
+1651 ià(!
+¡rcmp
+(
+»s
+->
+£Ëù
+, "select"))
+
+1652 
+       g\9afo
+.\9afo.
+       g\9aput_£t_cÚf
+.
+       gÝ
+ = 
+RTE_ETH_INPUT_SET_SELECT
+;
+
+1653 \vià(!
+¡rcmp
+(
+»s
+->
+£Ëù
+, "add"))
+
+1654 
+       g\9afo
+.\9afo.
+       g\9aput_£t_cÚf
+.
+       gÝ
+ = 
+RTE_ETH_INPUT_SET_ADD
+;
+
+1655 
+¹e_\91h_dev_f\9e\8br_ù¾
+(
+»s
+->
+pÜt_id
+, 
+RTE_ETH_FILTER_HASH
+,
+
+1656 
+RTE_ETH_FILTER_SET
+, &
+\9afo
+);
+
+1660 
+cmdl\9ae_·r£_tok\92_¡r\9ag_t
+       gcmd_£t_hash_\9aput_£t_cmd
+ =
+
+1661 
+TOKEN_STRING_INITIALIZER
+(\19
+cmd_£t_hash_\9aput_£t_»suÉ
+,
+
+1662 
+£t_hash_\9aput_£t
+, "set_hash_input_set");
+
+1663 
+cmdl\9ae_·r£_tok\92_num_t
+       gcmd_£t_hash_\9aput_£t_pÜt_id
+ =
+
+1664 
+TOKEN_NUM_INITIALIZER
+(\19
+cmd_£t_hash_\9aput_£t_»suÉ
+,
+
+1665 
+pÜt_id
+, 
+UINT8
+);
+
+1666 
+cmdl\9ae_·r£_tok\92_¡r\9ag_t
+       gcmd_£t_hash_\9aput_£t_æow_ty³
+ =
+
+1667 
+TOKEN_STRING_INITIALIZER
+(\19
+cmd_£t_hash_\9aput_£t_»suÉ
+,
+
+1668 
+æow_ty³
+,
+
+1672 
+cmdl\9ae_·r£_tok\92_¡r\9ag_t
+       gcmd_£t_hash_\9aput_£t_f\9bld0
+ =
+
+1673 
+TOKEN_STRING_INITIALIZER
+(\19
+cmd_£t_hash_\9aput_£t_»suÉ
+,
+
+1674 
+\9a£t_f\9bld0
+,
+
+1678 
+cmdl\9ae_·r£_tok\92_¡r\9ag_t
+       gcmd_£t_hash_\9aput_£t_f\9bld1
+ =
+
+1679 
+TOKEN_STRING_INITIALIZER
+(\19
+cmd_£t_hash_\9aput_£t_»suÉ
+,
+
+1680 
+\9a£t_f\9bld1
+,
+
+1684 
+cmdl\9ae_·r£_tok\92_¡r\9ag_t
+       gcmd_£t_hash_\9aput_£t_f\9bld2
+ =
+
+1685 
+TOKEN_STRING_INITIALIZER
+(\19
+cmd_£t_hash_\9aput_£t_»suÉ
+,
+
+1686 
+\9a£t_f\9bld2
+,
+
+1689 
+cmdl\9ae_·r£_tok\92_¡r\9ag_t
+       gcmd_£t_hash_\9aput_£t_f\9bld3
+ =
+
+1690 
+TOKEN_STRING_INITIALIZER
+(\19
+cmd_£t_hash_\9aput_£t_»suÉ
+,
+
+1691 
+\9a£t_f\9bld3
+,
+
+1694 
+cmdl\9ae_·r£_tok\92_¡r\9ag_t
+       gcmd_£t_hash_\9aput_£t_f\9bld4
+ =
+
+1695 
+TOKEN_STRING_INITIALIZER
+(\19
+cmd_£t_hash_\9aput_£t_»suÉ
+,
+
+1696 
+\9a£t_f\9bld4
+, "ipv4-proto#ipv6-next-header#none");
+
+1699 
+cmdl\9ae_·r£_tok\92_¡r\9ag_t
+       gcmd_£t_hash_\9aput_£t_£Ëù
+ =
+
+1700 
+TOKEN_STRING_INITIALIZER
+(\19
+cmd_£t_hash_\9aput_£t_»suÉ
+,
+
+1701 
+£Ëù
+, "select#add");
+
+1703 
+cmdl\9ae_·r£_\9a¡_t
+       gcmd_£t_hash_\9aput_£t_1
+ = {
+
+1704 .
+f
+ = 
+cmd_£t_hash_\9aput_£t_1_·r£d
+,
+
+1705 .
+       gd©a
+ = 
+NULL
+,
+
+1706 .
+       gh\96p_¡r
+ = "set_hash_input_set_1 <port_id> "
+
+1712 .
+       gtok\92s
+ = {
+
+1713 (\1e*)&
+cmd_£t_hash_\9aput_£t_cmd
+,
+
+1714 (\1e*)&
+cmd_£t_hash_\9aput_£t_pÜt_id
+,
+
+1715 (\1e*)&
+cmd_£t_hash_\9aput_£t_æow_ty³
+,
+
+1716 (\1e*)&
+cmd_£t_hash_\9aput_£t_f\9bld0
+,
+
+1717 (\1e*)&
+cmd_£t_hash_\9aput_£t_£Ëù
+,
+
+1718 
+NULL
+,
+
+1722 
+cmdl\9ae_·r£_\9a¡_t
+       gcmd_£t_hash_\9aput_£t_2
+ = {
+
+1723 .
+f
+ = 
+cmd_£t_hash_\9aput_£t_2_·r£d
+,
+
+1724 .
+       gd©a
+ = 
+NULL
+,
+
+1725 .
+       gh\96p_¡r
+ = "set_hash_input_set_2 <port_id> "
+
+1732 .
+       gtok\92s
+ = {
+
+1733 (\1e*)&
+cmd_£t_hash_\9aput_£t_cmd
+,
+
+1734 (\1e*)&
+cmd_£t_hash_\9aput_£t_pÜt_id
+,
+
+1735 (\1e*)&
+cmd_£t_hash_\9aput_£t_æow_ty³
+,
+
+1736 (\1e*)&
+cmd_£t_hash_\9aput_£t_f\9bld0
+,
+
+1737 (\1e*)&
+cmd_£t_hash_\9aput_£t_f\9bld1
+,
+
+1738 (\1e*)&
+cmd_£t_hash_\9aput_£t_£Ëù
+,
+
+1739 
+NULL
+,
+
+1744 
+cmdl\9ae_·r£_\9a¡_t
+       gcmd_£t_hash_\9aput_£t_3
+ = {
+
+1745 .
+f
+ = 
+cmd_£t_hash_\9aput_£t_3_·r£d
+,
+
+1746 .
+       gd©a
+ = 
+NULL
+,
+
+1747 .
+       gh\96p_¡r
+ = "set_hash_input_set_3 <port_id> "
+
+1757 .
+       gtok\92s
+ = {
+
+1758 (\1e*)&
+cmd_£t_hash_\9aput_£t_cmd
+,
+
+1759 (\1e*)&
+cmd_£t_hash_\9aput_£t_pÜt_id
+,
+
+1760 (\1e*)&
+cmd_£t_hash_\9aput_£t_æow_ty³
+,
+
+1761 (\1e*)&
+cmd_£t_hash_\9aput_£t_f\9bld0
+,
+
+1762 (\1e*)&
+cmd_£t_hash_\9aput_£t_f\9bld1
+,
+
+1763 (\1e*)&
+cmd_£t_hash_\9aput_£t_f\9bld2
+,
+
+1764 (\1e*)&
+cmd_£t_hash_\9aput_£t_£Ëù
+,
+
+1765 
+NULL
+,
+
+1770 
+cmdl\9ae_·r£_\9a¡_t
+       gcmd_£t_hash_\9aput_£t_4
+ = {
+
+1771 .
+f
+ = 
+cmd_£t_hash_\9aput_£t_4_·r£d
+,
+
+1772 .
+       gd©a
+ = 
+NULL
+,
+
+1773 .
+       gh\96p_¡r
+ = "set_hash_input_set_4 <port_id> "
+
+1782 .
+       gtok\92s
+ = {
+
+1783 (\1e*)&
+cmd_£t_hash_\9aput_£t_cmd
+,
+
+1784 (\1e*)&
+cmd_£t_hash_\9aput_£t_pÜt_id
+,
+
+1785 (\1e*)&
+cmd_£t_hash_\9aput_£t_æow_ty³
+,
+
+1786 (\1e*)&
+cmd_£t_hash_\9aput_£t_f\9bld0
+,
+
+1787 (\1e*)&
+cmd_£t_hash_\9aput_£t_f\9bld1
+,
+
+1788 (\1e*)&
+cmd_£t_hash_\9aput_£t_f\9bld2
+,
+
+1789 (\1e*)&
+cmd_£t_hash_\9aput_£t_f\9bld3
+,
+
+1790 (\1e*)&
+cmd_£t_hash_\9aput_£t_£Ëù
+,
+
+1791 
+NULL
+,
+
+1795 
+cmdl\9ae_·r£_\9a¡_t
+       gcmd_£t_hash_\9aput_£t_5
+ = {
+
+1796 .
+f
+ = 
+cmd_£t_hash_\9aput_£t_5_·r£d
+,
+
+1797 .
+       gd©a
+ = 
+NULL
+,
+
+1798 .
+       gh\96p_¡r
+ = "set_hash_input_set_5 <port_id> "
+
+1808 .
+       gtok\92s
+ = {
+
+1809 (\1e*)&
+cmd_£t_hash_\9aput_£t_cmd
+,
+
+1810 (\1e*)&
+cmd_£t_hash_\9aput_£t_pÜt_id
+,
+
+1811 (\1e*)&
+cmd_£t_hash_\9aput_£t_æow_ty³
+,
+
+1812 (\1e*)&
+cmd_£t_hash_\9aput_£t_f\9bld0
+,
+
+1813 (\1e*)&
+cmd_£t_hash_\9aput_£t_f\9bld1
+,
+
+1814 (\1e*)&
+cmd_£t_hash_\9aput_£t_f\9bld2
+,
+
+1815 (\1e*)&
+cmd_£t_hash_\9aput_£t_f\9bld3
+,
+
+1816 (\1e*)&
+cmd_£t_hash_\9aput_£t_f\9bld4
+,
+
+1817 (\1e*)&
+cmd_£t_hash_\9aput_£t_£Ëù
+,
+
+1818 
+NULL
+,
+
+1824 \19
+       scmd_£t_hash_glob®_cÚfig_»suÉ
+ {
+
+1825 
+cmdl\9ae_fixed_¡r\9ag_t
+       g£t_hash_glob®_cÚfig
+;
+
+1826 
+u\9at8_t
+       gpÜt_id
+;
+
+1827 
+cmdl\9ae_fixed_¡r\9ag_t
+       ghash_func
+;
+
+1828 
+cmdl\9ae_fixed_¡r\9ag_t
+       gæow_ty³
+;
+
+1829 
+cmdl\9ae_fixed_¡r\9ag_t
+       g\92abË
+;
+
+1833 
+cmd_£t_hash_glob®_cÚfig_·r£d
+(\1e*
+·r£d_»suÉ
+,
+
+1834 
+__¹e_unu£d
\19
+cmdl\9ae
+ *
+,
+
+1835 
+__¹e_unu£d
\1e*
+d©a
+)
+
+1837 \19
+cmd_£t_hash_glob®_cÚfig_»suÉ
+ *
+       g»s
+ = 
+·r£d_»suÉ
+;
+
+1838 \19
+¹e_\91h_hash_f\9e\8br_\9afo
+       g\9afo
+;
+
+1839 
+u\9at32_t
+       gáy³
+, 
+       gidx
+, 
+       goff£t
+;
+
+1840 \12
+       g»t
+;
+
+1842 ià(
+¹e_\91h_dev_f\9e\8br_suµÜ\8bd
+(
+»s
+->
+pÜt_id
+,
+
+1843 
+RTE_ETH_FILTER_HASH
+) < 0) {
+
+1844 
\9atf
+("RTE_ETH_FILTER_HASH\82ot supported on\85ort %d\n",
+
+1845 
+»s
+->
+pÜt_id
+);
+
+1848 
+mem£t
+(&
+\9afo
+, 0, \17(info));
+
+1849 
+       g\9afo
+.
+       g\9afo_ty³
+ = 
+RTE_ETH_HASH_FILTER_GLOBAL_CONFIG
+;
+
+1850 ià(!
+¡rcmp
+(
+»s
+->
+hash_func
+, "toeplitz"))
+
+1851 
+       g\9afo
+.\9afo.
+       gglob®_cÚf
+.
+       ghash_func
+ =
+
+1852 
+RTE_ETH_HASH_FUNCTION_TOEPLITZ
+;
+
+1853 \vià(!
+¡rcmp
+(
+»s
+->
+hash_func
+, "simple_xor"))
+
+1854 
+       g\9afo
+.\9afo.
+       gglob®_cÚf
+.
+       ghash_func
+ =
+
+1855 
+RTE_ETH_HASH_FUNCTION_SIMPLE_XOR
+;
+
+1856 \vià(!
+¡rcmp
+(
+»s
+->
+hash_func
+, "default"))
+
+1857 
+       g\9afo
+.\9afo.
+       gglob®_cÚf
+.
+       ghash_func
+ =
+
+1858 
+RTE_ETH_HASH_FUNCTION_DEFAULT
+;
+
+1860 
+       gáy³
+ = 
+¡r2æowty³
+(
+»s
+->
+æow_ty³
+);
+
+1861 
+       gidx
+ = 
+áy³
+ / (
+CHAR_BIT
+ * \17(
+u\9at32_t
+));
+
+1862 
+       goff£t
+ = 
+áy³
+ % (
+CHAR_BIT
+ * \17(
+u\9at32_t
+));
+
+1863 
+       g\9afo
+.\9afo.
+       gglob®_cÚf
+.
+       gv®id_b\99_mask
+[
+idx
+] |ð(1UL << 
+off£t
+);
+
+1864 ià(!
+¡rcmp
+(
+»s
+->
+\92abË
+, "enable"))
+
+1865 if(
+       gidx
+ < 
+       gRTE_SYM_HASH_MASK_ARRAY_SIZE
+)
+
+1866 
+       g\9afo
+.\9afo.
+       gglob®_cÚf
+.
+       gsym_hash_\92abË_mask
+[
+idx
+] |=
+
+1867 (1UL << 
+off£t
+);
+
+1868 
+       g»t
+ = 
+¹e_\91h_dev_f\9e\8br_ù¾
+(
+»s
+->
+pÜt_id
+, 
+RTE_ETH_FILTER_HASH
+,
+
+1869 
+RTE_ETH_FILTER_SET
+, &
+\9afo
+);
+
+1870 ià(
+       g»t
+ < 0)
+
+1871 
\9atf
+("Cannot set global hash configurations by\85ort %d\n",
+
+1872 
+»s
+->
+pÜt_id
+);
+
+1874 
\9atf
+("Global hash configurations have been set "
+
+1875 "succûssfuÎy by\85Ü\88%d\n", 
+»s
+->
+pÜt_id
+);
+
+1877 
+cmdl\9ae_·r£_tok\92_¡r\9ag_t
+       gcmd_£t_hash_glob®_cÚfig_®l
+ =
+
+1878 
+TOKEN_STRING_INITIALIZER
+(\19
+cmd_£t_hash_glob®_cÚfig_»suÉ
+,
+
+1879 
+£t_hash_glob®_cÚfig
+, "set_hash_global_config");
+
+1880 
+cmdl\9ae_·r£_tok\92_num_t
+       gcmd_£t_hash_glob®_cÚfig_pÜt_id
+ =
+
+1881 
+TOKEN_NUM_INITIALIZER
+(\19
+cmd_£t_hash_glob®_cÚfig_»suÉ
+,
+
+1882 
+pÜt_id
+, 
+UINT8
+);
+
+1883 
+cmdl\9ae_·r£_tok\92_¡r\9ag_t
+       gcmd_£t_hash_glob®_cÚfig_hash_func
+ =
+
+1884 
+TOKEN_STRING_INITIALIZER
+(\19
+cmd_£t_hash_glob®_cÚfig_»suÉ
+,
+
+1885 
+hash_func
+, "toeplitz#simple_xor#default");
+
+1886 
+cmdl\9ae_·r£_tok\92_¡r\9ag_t
+       gcmd_£t_hash_glob®_cÚfig_æow_ty³
+ =
+
+1887 
+TOKEN_STRING_INITIALIZER
+(\19
+cmd_£t_hash_glob®_cÚfig_»suÉ
+,
+
+1888 
+æow_ty³
+,
+
+1891 
+cmdl\9ae_·r£_tok\92_¡r\9ag_t
+       gcmd_£t_hash_glob®_cÚfig_\92abË
+ =
+
+1892 
+TOKEN_STRING_INITIALIZER
+(\19
+cmd_£t_hash_glob®_cÚfig_»suÉ
+,
+
+1893 
+\92abË
+, "enable#disable");
+
+1895 
+cmdl\9ae_·r£_\9a¡_t
+       gcmd_£t_hash_glob®_cÚfig
+ = {
+
+1896 .
+f
+ = 
+cmd_£t_hash_glob®_cÚfig_·r£d
+,
+
+1897 .
+       gd©a
+ = 
+NULL
+,
+
+1898 .
+       gh\96p_¡r
+ = "set_hash_global_config\85ort_id "
+
+1903 .
+       gtok\92s
+ = {
+
+1904 (\1e*)&
+cmd_£t_hash_glob®_cÚfig_®l
+,
+
+1905 (\1e*)&
+cmd_£t_hash_glob®_cÚfig_pÜt_id
+,
+
+1906 (\1e*)&
+cmd_£t_hash_glob®_cÚfig_hash_func
+,
+
+1907 (\1e*)&
+cmd_£t_hash_glob®_cÚfig_æow_ty³
+,
+
+1908 (\1e*)&
+cmd_£t_hash_glob®_cÚfig_\92abË
+,
+
+1909 
+NULL
+,
+
+1914 \19
+       scmd_£t_sym_hash_\92a_³r_pÜt_»suÉ
+ {
+
+1915 
+cmdl\9ae_fixed_¡r\9ag_t
+       g£t_sym_hash_\92a_³r_pÜt
+;
+
+1916 
+cmdl\9ae_fixed_¡r\9ag_t
+       g\92abË
+;
+
+1917 
+u\9at8_t
+       gpÜt_id
+;
+
+1921 
+cmd_£t_sym_hash_³r_pÜt_·r£d
+(\1e*
+·r£d_»suÉ
+,
+
+1922 
+__¹e_unu£d
\19
+cmdl\9ae
+ *
+,
+
+1923 
+__¹e_unu£d
\1e*
+d©a
+)
+
+1925 \19
+cmd_£t_sym_hash_\92a_³r_pÜt_»suÉ
+ *
+       g»s
+ = 
+·r£d_»suÉ
+;
+
+1926 \19
+¹e_\91h_hash_f\9e\8br_\9afo
+       g\9afo
+;
+
+1927 \12
+       g»t
+;
+
+1929 ià(
+¹e_\91h_dev_f\9e\8br_suµÜ\8bd
+(
+»s
+->
+pÜt_id
+,
+
+1930 
+RTE_ETH_FILTER_HASH
+) < 0) {
+
+1931 
\9atf
+("RTE_ETH_FILTER_HASH\82ot supported on\85ort: %d\n",
+
+1932 
+»s
+->
+pÜt_id
+);
+
+1936 
+mem£t
+(&
+\9afo
+, 0, \17(info));
+
+1937 
+       g\9afo
+.
+       g\9afo_ty³
+ = 
+RTE_ETH_HASH_FILTER_SYM_HASH_ENA_PER_PORT
+;
+
+1939 ià(!
+¡rcmp
+(
+»s
+->
+\92abË
+, "enable"))
+
+1940 
+       g\9afo
+.\9afo.
+       g\92abË
+ = 1;
+
+1942 
+       g»t
+ = 
+¹e_\91h_dev_f\9e\8br_ù¾
+(
+»s
+->
+pÜt_id
+, 
+RTE_ETH_FILTER_HASH
+,
+
+1943 
+RTE_ETH_FILTER_SET
+, &
+\9afo
+);
+
+1944 ià(
+       g»t
+ < 0) {
+
+1945 
\9atf
+("Cannot set symmetric hash\83nable\85er\85ort on "
+
+1946 "p܈%u\n", 
+»s
+->
+pÜt_id
+);
+
+1949 
\9atf
+("Symmetric hash has been set\81o %s on\85ort %u\n",
+
+1950 
+»s
+->
+\92abË
+,\84es->
+pÜt_id
+);
+
+1953 
+cmdl\9ae_·r£_tok\92_¡r\9ag_t
+       gcmd_£t_sym_hash_\92a_³r_pÜt_®l
+ =
+
+1954 
+TOKEN_STRING_INITIALIZER
+(\19
+cmd_£t_sym_hash_\92a_³r_pÜt_»suÉ
+,
+
+1955 
+£t_sym_hash_\92a_³r_pÜt
+, "set_sym_hash_ena_per_port");
+
+1956 
+cmdl\9ae_·r£_tok\92_num_t
+       gcmd_£t_sym_hash_\92a_³r_pÜt_pÜt_id
+ =
+
+1957 
+TOKEN_NUM_INITIALIZER
+(\19
+cmd_£t_sym_hash_\92a_³r_pÜt_»suÉ
+,
+
+1958 
+pÜt_id
+, 
+UINT8
+);
+
+1959 
+cmdl\9ae_·r£_tok\92_¡r\9ag_t
+       gcmd_£t_sym_hash_\92a_³r_pÜt_\92abË
+ =
+
+1960 
+TOKEN_STRING_INITIALIZER
+(\19
+cmd_£t_sym_hash_\92a_³r_pÜt_»suÉ
+,
+
+1961 
+\92abË
+, "enable#disable");
+
+1963 
+cmdl\9ae_·r£_\9a¡_t
+       gcmd_£t_sym_hash_\92a_³r_pÜt
+ = {
+
+1964 .
+f
+ = 
+cmd_£t_sym_hash_³r_pÜt_·r£d
+,
+
+1965 .
+       gd©a
+ = 
+NULL
+,
+
+1966 .
+       gh\96p_¡r
+ = "set_sym_hash_ena_per_port\85ort_id\83nable|disable",
+
+1967 .
+       gtok\92s
+ = {
+
+1968 (\1e*)&
+cmd_£t_sym_hash_\92a_³r_pÜt_®l
+,
+
+1969 (\1e*)&
+cmd_£t_sym_hash_\92a_³r_pÜt_pÜt_id
+,
+
+1970 (\1e*)&
+cmd_£t_sym_hash_\92a_³r_pÜt_\92abË
+,
+
+1971 
+NULL
+,
+
+1977 
+­p_p\9d\96\9ae_¬picmp_\92\8cy_dbg
+(\19
+­p_·¿ms
+ *
+­p
+,
+
+1978 
+u\9at32_t
+p\9d\96\9ae_id
+, 
+u\9at8_t
+ *
+msg
+)
+
+1980 \19
+p\9d\96\9ae_¬picmp_\92\8cy_dbg_msg_»q
+ *
+       g»q
+;
+
+1981 \19
+p\9d\96\9ae_¬picmp_\92\8cy_dbg_msg_r¥
+ *
+       gr¥
+;
+
+1984 ià(
+       g­p
+ =ð
+NULL
+)
+
+1988 
+       g»q
+ = 
+­p_msg_®loc
+(
+­p
+);
+
+1989 ià(
+       g»q
+ =ð
+NULL
+)
+
+1992 
+       g»q
+->
+       gty³
+ = 
+PIPELINE_MSG_REQ_CUSTOM
+;
+
+1993 
+       g»q
+->
+       gsubty³
+ = 
+PIPELINE_ARPICMP_MSG_REQ_ENTRY_DBG
+;
+
+1994 
+       g»q
+->
+       gd©a
+[0] = 
+msg
+[0];
+
+1995 
+       g»q
+->
+       gd©a
+[1] = 
+msg
+[1];
+
+1997 
+       gr¥
+ = 
+­p_msg_£nd_»cv
+(
+­p
+, 
+p\9d\96\9ae_id
+, 
+»q
+, 
+MSG_TIMEOUT_DEFAULT
+);
+
+1998 ià(
+       gr¥
+ =ð
+NULL
+)
+
+2002 ià(
+       gr¥
+->
+       g¡©us
+) {
+
+2003 
+­p_msg_ä\93
+(
+­p
+, 
+r¥
+);
+
+2004 
\9atf
+("E¼Ü\84¥->¡©u %d\n", 
+r¥
+->
+¡©us
+);
+
+2009 
+­p_msg_ä\93
+(
+­p
+, 
+r¥
+);
+
+2019 \19
+       scmd_\92\8cy_dbg_»suÉ
+ {
+
+2020 
+cmdl\9ae_fixed_¡r\9ag_t
+       gp_¡r\9ag
+;
+
+2021 
+u\9at32_t
+       gp
+;
+
+2022 
+cmdl\9ae_fixed_¡r\9ag_t
+       g\92\8cy_¡r\9ag
+;
+
+2023 
+cmdl\9ae_fixed_¡r\9ag_t
+       gdbg_¡r\9ag
+;
+
+2024 
+u\9at8_t
+       gcmd
+;
+
+2025 
+u\9at8_t
+       gd1
+;
+
+2029 
+cmd_\92\8cy_dbg_·r£d
+(\1e*
+·r£d_»suÉ
+,
+
+2030 
+__¹e_unu£d
\19
+cmdl\9ae
+ *
+, \1e*
+d©a
+)
+
+2032 \19
+cmd_\92\8cy_dbg_»suÉ
+ *
+       g·¿ms
+ = 
+·r£d_»suÉ
+;
+
+2033 \19
+­p_·¿ms
+ *
+       g­p
+ = 
+d©a
+;
+
+2034 
+u\9at8_t
+       gmsg
+[2];
+
+2035 \12
+       g¡©us
+;
+
+2037 
+       gmsg
+[0] = 
+·¿ms
+->
+cmd
+;
+
+2038 
+       gmsg
+[1] = 
+·¿ms
+->
+d1
+;
+
+2039 
+       g¡©us
+ = 
+­p_p\9d\96\9ae_¬picmp_\92\8cy_dbg
+(
+­p
+, 
+·¿ms
+->
+p
+, 
+msg
+);
+
+2041 ià(
+       g¡©us
+ != 0) {
+
+2042 
\9atf
+("Dbg Command failed\n");
+
+2047 \18
+cmdl\9ae_·r£_tok\92_¡r\9ag_t
+       glb_cmd_\92\8cy_dbg_p_¡r\9ag
+ =
+
+2048 
+TOKEN_STRING_INITIALIZER
+(\19
+cmd_\92\8cy_dbg_»suÉ
+, 
+p_¡r\9ag
+, "p");
+
+2050 \18
+cmdl\9ae_·r£_tok\92_num_t
+       glb_cmd_\92\8cy_dbg_p
+ =
+
+2051 
+TOKEN_NUM_INITIALIZER
+(\19
+cmd_\92\8cy_dbg_»suÉ
+, 
+p
+, 
+UINT32
+);
+
+2053 \18
+cmdl\9ae_·r£_tok\92_¡r\9ag_t
+       glb_cmd_\92\8cy_dbg_\92\8cy_¡r\9ag
+ =
+
+2054 
+TOKEN_STRING_INITIALIZER
+(\19
+cmd_\92\8cy_dbg_»suÉ
+,
+
+2055 
+\92\8cy_¡r\9ag
+, "txrx");
+
+2057 \18
+cmdl\9ae_·r£_tok\92_¡r\9ag_t
+       glb_cmd_\92\8cy_dbg_dbg_¡r\9ag
+ =
+
+2058 
+TOKEN_STRING_INITIALIZER
+(\19
+cmd_\92\8cy_dbg_»suÉ
+, 
+dbg_¡r\9ag
+,
+
+2061 \18
+cmdl\9ae_·r£_tok\92_num_t
+       glb_cmd_\92\8cy_dbg_cmd
+ =
+
+2062 
+TOKEN_NUM_INITIALIZER
+(\19
+cmd_\92\8cy_dbg_»suÉ
+, 
+cmd
+, 
+UINT8
+);
+
+2064 \18
+cmdl\9ae_·r£_tok\92_num_t
+       glb_cmd_\92\8cy_dbg_d1
+ =
+
+2065 
+TOKEN_NUM_INITIALIZER
+(\19
+cmd_\92\8cy_dbg_»suÉ
+, 
+d1
+, 
+UINT8
+);
+
+2067 \18
+cmdl\9ae_·r£_\9a¡_t
+       glb_cmd_\92\8cy_dbg
+ = {
+
+2068 .
+f
+ = 
+cmd_\92\8cy_dbg_·r£d
+,
+
+2069 .
+       gd©a
+ = 
+NULL
+,
+
+2070 .
+       gh\96p_¡r
+ = "ARPICMP dbg cmd",
+
+2071 .
+       gtok\92s
+ = {
+
+2072 (\1e*)&
+lb_cmd_\92\8cy_dbg_p_¡r\9ag
+,
+
+2073 (\1e*)&
+lb_cmd_\92\8cy_dbg_p
+,
+
+2074 (\1e*)&
+lb_cmd_\92\8cy_dbg_\92\8cy_¡r\9ag
+,
+
+2075 (\1e*)&
+lb_cmd_\92\8cy_dbg_dbg_¡r\9ag
+,
+
+2076 (\1e*)&
+lb_cmd_\92\8cy_dbg_cmd
+,
+
+2077 (\1e*)&
+lb_cmd_\92\8cy_dbg_d1
+,
+
+2078 
+NULL
+,
+
+2082 \18
+cmdl\9ae_·r£_ùx_t
+       gp\9d\96\9ae_cmds
+[] = {
+
+2083 (
+cmdl\9ae_·r£_\9a¡_t
+ *è&
+lb_cmd_\92\8cy_dbg
+,
+
+2084 (
+cmdl\9ae_·r£_\9a¡_t
+ *è&
+cmd_¬p_add
+,
+
+2085 (
+cmdl\9ae_·r£_\9a¡_t
+ *è&
+cmd_¬p_d\96
+,
+
+2086 (
+cmdl\9ae_·r£_\9a¡_t
+ *è&
+cmd_¬p_»q
+,
+
+2087 (
+cmdl\9ae_·r£_\9a¡_t
+ *è&
+cmd_icmp_echo_»q
+,
+
+2088 (
+cmdl\9ae_·r£_\9a¡_t
+ *è&
+cmd_¬p_ls
+,
+
+2089 (
+cmdl\9ae_·r£_\9a¡_t
+ *è&
+cmd_show_pÜts_\9afo
+,
+
+2091 (
+cmdl\9ae_·r£_\9a¡_t
+ *è&
+cmd_£t_fwd_mode
+,
+
+2092 (
+cmdl\9ae_·r£_\9a¡_t
+ *è&
+cmd_add_d\96_udp_æow_d\9ceùÜ
+,
+
+2093 (
+cmdl\9ae_·r£_\9a¡_t
+ *è&
+cmd_add_d\96_l2_æow_d\9ceùÜ
+,
+
+2094 (
+cmdl\9ae_·r£_\9a¡_t
+ *è&
+cmd_£t_hash_\9aput_£t_1
+,
+
+2095 (
+cmdl\9ae_·r£_\9a¡_t
+ *è&
+cmd_£t_hash_\9aput_£t_2
+,
+
+2097 (
+cmdl\9ae_·r£_\9a¡_t
+ *è&
+cmd_£t_hash_\9aput_£t_4
+,
+
+2099 (
+cmdl\9ae_·r£_\9a¡_t
+ *è&
+cmd_£t_hash_glob®_cÚfig
+,
+
+2100 (
+cmdl\9ae_·r£_\9a¡_t
+ *è&
+cmd_£t_sym_hash_\92a_³r_pÜt
+,
+
+2101 #iâdeà
+VNF_ACL
+
+
+2102 (
+cmdl\9ae_·r£_\9a¡_t
+ *è&
+cmd_¬p_dbg
+,
+
+2103 (
+cmdl\9ae_·r£_\9a¡_t
+ *è&
+cmd_¬p_tim\94
+,
+
+2105 
+NULL
+,
+
+2108 \18\19
+p\9d\96\9ae_ã_Ýs
+       gp\9d\96\9ae_¬picmp_ã_Ýs
+ = {
+
+2109 .
+f_\9a\99
+ = 
+NULL
+,
+
+2110 .
+       gf_ä\93
+ = 
+NULL
+,
+
+2111 .
+       gcmds
+ = 
+p\9d\96\9ae_cmds
+,
+
+2114 \19
+p\9d\96\9ae_ty³
+       gp\9d\96\9ae_¬picmp
+ = {
+
+2115 .
+Çme
+ = "ARPICMP",
+
+2116 .
+       gbe_Ýs
+ = &
+p\9d\96\9ae_¬picmp_be_Ýs
+,
+
+2117 .
+       gã_Ýs
+ = &
+p\9d\96\9ae_¬picmp_ã_Ýs
+,
+
+       @VIL/pipeline_arpicmp/pipeline_arpicmp.h
+
+17 #iâdeà
+__INCLUDE_PIPELINE_ARPICMP_H__
+
+
+18 \ 1
+       #__INCLUDE_PIPELINE_ARPICMP_H__
+
+
+       )
+
+20 \ 2
+       ~"p\9d\96\9ae.h
+"
+
+21 \ 2
+       ~"p\9d\96\9ae_¬picmp_be.h
+"
+
+26 \r\19
+p\9d\96\9ae_ty³
+p\9d\96\9ae_¬picmp
+;
+
+28 \ 1
+       #MAX_PKT_BURST
+ 512
+
+       )
+
+29 \ 1
+       #DEF_PKT_BURST
+ 32
+
+       )
+
+32 \e
+u\9at8_t
+       tpÜtid_t
+;
+
+33 \e
+u\9at16_t
+       tqueueid_t
+;
+
+34 \e
+u\9at16_t
+       t¡»amid_t
+;
+
+39 \19
+       sfwd_¡»am
+ {
+
+42 
+pÜtid_t
+       mrx_pÜt
+;
+
+44 
+queueid_t
+       mrx_queue
+;
+
+46 
+pÜtid_t
+       mtx_pÜt
+;
+
+48 
+queueid_t
+       mtx_queue
+;
+
+50 
+¡»amid_t
+       m³\94_addr
+;
+
+54 \1d\12
+       mrx_·ck\91s
+;
+
+56 \1d\12
+       mtx_·ck\91s
+;
+
+58 \1d\12
+       mfwd_drݳd
+;
+
+60 \1d\12
+       mrx_bad_\9d_csum
+;
+
+62 \1d\12
+       mrx_bad_l4_csum
+;
+
+63 #ifdeà
+RTE_TEST_PMD_RECORD_CORE_CYCLES
+
+
+64 
+u\9at64_t
+       mcÜe_cyþes
+;
+
+66 #ifdeà
+RTE_TEST_PMD_RECORD_BURST_STATS
+
+
+67 \19
+pkt_bur¡_¡©s
+       mrx_bur¡_¡©s
+;
+
+68 \19
+pkt_bur¡_¡©s
+       mtx_bur¡_¡©s
+;
+
+86 \e\1e(*
+       tpÜt_fwd_beg\9a_t
+)(
+       tpÜtid_t
+       tpi
+);
+
+87 \e\1e(*
+       tpÜt_fwd_\92d_t
+)(
+       tpÜtid_t
+       tpi
+);
+
+88 \e\1e(*
+       t·ck\91_fwd_t
+)(\19
+       tfwd_¡»am
+ *
+       tfs
+);
+
+89 \19
+       sfwd_\92g\9ae
+ {
+
+91 cڡ \ 5*
+fwd_mode_Çme
+;
+
+93 
+pÜt_fwd_beg\9a_t
+pÜt_fwd_beg\9a
+;
+
+95 
+pÜt_fwd_\92d_t
+pÜt_fwd_\92d
+;
+
+97 
+·ck\91_fwd_t
+·ck\91_fwd
+;
+
+99 \ 1
+       #IPV4_ADDR_TO_UINT
+(
+\9d_addr
+, 
+\9d
+) \
+
+101 ià((
+\9d_addr
+).
+çm\9ey
+ =ð
+AF_INET
+) \
+
+102 (
+\9d
+èð(
+\9d_addr
+).
+addr
+.
+\9dv4
+.
+s_addr
+; \
+
+104 
+       `´\9atf
+("invalid\85arameter.\n"); \
+
+107 
+       }
+} \1f0)
+
+       )
+
+109 \ 1
+       #IPV6_ADDR_TO_ARRAY
+(
+\9d_addr
+, 
+\9d
+) \
+
+111 ià((
+\9d_addr
+).
+çm\9ey
+ =ð
+AF_INET6
+) \
+
+112 (\1e)
+       `¹e_memýy
+(&(
+\9d
+), \
+
+113 &((
+\9d_addr
+).
+addr
+.
+\9dv6
+), \
+
+114 \17(\19
+\9a6_addr
+)); \
+
+116 
+       `´\9atf
+("invalid\85arameter.\n"); \
+
+119 } \1f0)
+
+       )
+
+121 \1e
+£t_pkt_fÜw¬d\9ag_mode
+(cڡ \ 5*
+fwd_mode_Çme
+);
+
+       @VIL/pipeline_arpicmp/pipeline_arpicmp_be.c
+
+17 \ 2
+       ~<¡r\9ag.h
+>
+
+19 \ 2
+       ~<¡dio.h
+>
+
+20 \ 2
+       ~<¡dlib.h
+>
+
+21 \ 2
+       ~<¡d\9at.h
+>
+
+22 \ 2
+       ~<¡r\9ag.h
+>
+
+23 \ 2
+       ~<uni¡d.h
+>
+
+25 \ 2
+       ~<­p.h
+>
+
+26 \ 2
+       ~<¹e_commÚ.h
+>
+
+27 \ 2
+       ~<¹e_m®loc.h
+>
+
+28 \ 2
+       ~<¹e_\9d.h
+>
+
+29 \ 2
+       ~<¹e_by\8bÜd\94.h
+>
+
+30 \ 2
+       ~<¹e_\8fbË_¡ub.h
+>
+
+31 \ 2
+       ~<¹e_\8fbË_hash.h
+>
+
+32 \ 2
+       ~<¹e_p\9d\96\9ae.h
+>
+
+33 \ 2
+       ~<¹e_¬p.h
+>
+
+34 \ 2
+       ~<¹e_icmp.h
+>
+
+35 \ 2
+       ~<¹e_hash.h
+>
+
+36 \ 2
+       ~<¹e_jhash.h
+>
+
+37 \ 2
+       ~<¹e_cyþes.h
+>
+
+38 \ 2
+       ~<¹e_hexdump.h
+>
+
+39 \ 2
+       ~"p\9d\96\9ae_aùiÚs_commÚ.h
+"
+
+40 \ 2
+       ~"hash_func.h
+"
+
+41 \ 2
+       ~"vnf_commÚ.h
+"
+
+42 \ 2
+       ~"p\9d\96\9ae_commÚ_be.h
+"
+
+43 \ 2
+       ~"p\9d\96\9ae_¬picmp_be.h
+"
+
+44 \ 2
+       ~"·r£r.h
+"
+
+45 \ 2
+       ~"hash_func.h
+"
+
+46 \ 2
+       ~"vnf_commÚ.h
+"
+
+47 \ 2
+       ~"­p.h
+"
+
+49 \ 2
+       ~"p\9d\96\9ae_commÚ_ã.h
+"
+
+50 #iâdeà
+VNF_ACL
+
+
+51 \ 2
+       ~"lib_¬p.h
+"
+
+52 \ 2
+       ~"lib_icmpv6.h
+"
+
+53 \ 2
+       ~"\9a\8brçû.h
+"
+
+56 #ifdeà
+VNF_ACL
+
+
+58 \ 1
+       #NB_ARPICMP_MBUF
+ 64
+
+       )
+
+59 \ 1
+       #NB_NDICMP_MBUF
+ 64
+
+       )
+
+60 \ 1
+       #IP_VERSION_4
+ 0x40
+
+       )
+
+62 \ 1
+       #IP_HDRLEN
+ 0x05
+
+       )
+
+63 \ 1
+       #IP_VHL_DEF
+ (
+IP_VERSION_4
+ | 
+IP_HDRLEN
+)
+
+       )
+
+65 \ 1
+       #is_muÉiÿ¡_\9dv4_addr
+(
+\9dv4_addr
+) \
+
+66 (((
+       `¹e_be_to_ýu_32
+((
+\9dv4_addr
+)è>> 24è& 0x000000FFè=ð0xE0)
+
+       )
+
+70 \ 1
+       #INADDRSZ
+ 4
+
+       )
+
+71 \ 1
+       #IN6ADDRSZ
+ 16
+
+       )
+
+72 \18\12
+my_\9a\91_±Ú_\9dv6
+(\12
+af
+, cڡ \ 5*
+¤c
+, \1e*
+d¡
+);
+
+73 \18\12
+\9a\91_±Ú_\9dv6
+(cڡ \ 5*
+¤c
+, \1d\ 5*
+d¡
+);
+
+74 \18\12
+\9a\91_±Ú_\9dv4
+(cڡ \ 5*
+¤c
+, \1d\ 5*
+d¡
+);
+
+76 
+u\9at8_t
+       gvnf_commÚ_¬p_lib_\9a\99
+;
+
+77 
+u\9at8_t
+       gvnf_commÚ_nd_lib_\9a\99
+;
+
+78 
+u\9at8_t
+       glßdb_p\9d\96\9ae_couÁ
+;
+
+80 
+u\9at32_t
+       gARPICMP_DEBUG
+;
+
+81 
+u\9at32_t
+       gNDIPV6_DEBUG
+;
+
+83 
+u\9at32_t
+       g¬p_rou\8b_tbl_\9adex
+;
+
+84 
+u\9at32_t
+       gnd_rou\8b_tbl_\9adex
+;
+
+85 
+u\9at32_t
+       gl\9ak_hw_addr_¬¿y_idx
+;
+
+87 
+u\9at32_t
+       glib_¬p_g\91_mac_»q
+;
+
+88 
+u\9at32_t
+       glib_¬p_nh_found
+;
+
+89 
+u\9at32_t
+       glib_¬p_no_nh_found
+;
+
+90 
+u\9at32_t
+       glib_¬p_¬p_\92\8cy_found
+;
+
+91 
+u\9at32_t
+       glib_¬p_no_¬p_\92\8cy_found
+;
+
+92 
+u\9at32_t
+       glib_¬p_pÝuÏ\8b_ÿÎed
+;
+
+93 
+u\9at32_t
+       glib_¬p_d\96\91e_ÿÎed
+;
+
+94 
+u\9at32_t
+       glib_¬p_du¶iÿ\8b_found
+;
+
+96 
+u\9at32_t
+       glib_nd_g\91_mac_»q
+;
+
+97 
+u\9at32_t
+       glib_nd_nh_found
+;
+
+98 
+u\9at32_t
+       glib_nd_no_nh_found
+;
+
+99 
+u\9at32_t
+       glib_nd_nd_\92\8cy_found
+;
+
+100 
+u\9at32_t
+       glib_nd_no_¬p_\92\8cy_found
+;
+
+101 
+u\9at32_t
+       glib_nd_pÝuÏ\8b_ÿÎed
+;
+
+102 
+u\9at32_t
+       glib_nd_d\96\91e_ÿÎed
+;
+
+103 
+u\9at32_t
+       glib_nd_du¶iÿ\8b_found
+;
+
+105 \19
+¹e_mempoÞ
+ *
+       glib_¬p_pktmbuf_tx_poÞ
+;
+
+106 \19
+¹e_mempoÞ
+ *
+       glib_nd_pktmbuf_tx_poÞ
+;
+
+108 \19
+¹e_mbuf
+ *
+       glib_¬p_pkt
+;
+
+109 \19
+¹e_mbuf
+ *
+       glib_nd_pkt
+;
+
+111 \18\19
+¹e_hash_·¿m\91\94s
+       g¬p_hash_·¿ms
+ = {
+
+112 .
+Çme
+ = "ARP",
+
+113 .
+       g\92\8c\9bs
+ = 64,
+
+114 .
+       g»£rved
+ = 0,
+
+115 .
+       gkey_Ën
+ = \17(\19
+¬p_key_\9dv4
+),
+
+116 .
+       ghash_func
+ = 
+¹e_jhash
+,
+
+117 .
+       ghash_func_\9a\99_v®
+ = 0,
+
+120 \18\19
+¹e_hash_·¿m\91\94s
+       gnd_hash_·¿ms
+ = {
+
+121 .
+Çme
+ = "ND",
+
+122 .
+       g\92\8c\9bs
+ = 64,
+
+123 .
+       g»£rved
+ = 0,
+
+124 .
+       gkey_Ën
+ = \17(\19
+nd_key_\9dv6
+),
+
+125 .
+       ghash_func
+ = 
+¹e_jhash
+,
+
+126 .
+       ghash_func_\9a\99_v®
+ = 0,
+
+129 \19
+¹e_hash
+ *
+       g¬p_hash_hªdË
+;
+
+130 \19
+¹e_hash
+ *
+       gnd_hash_hªdË
+;
+
+134 \19
+­p_·¿ms
+ *
+       gmyAµ
+;
+
+135 \19
+¹e_p\9d\96\9ae
+ *
+       gmyP
+;
+
+136 \19
+p\9d\96\9ae_¬picmp
+ *
+       ggp_¬p
+;
+
+137 
+u\9at8_t
+       gnum_vnf_th»ads
+;
+
+139 #ifdeà
+VNF_ACL
+
+
+141 \19
+       s¬p_pÜt_add»ss
+ {
+
+142 
+u\9at32_t
+       m\9d
+;
+
+143 
+u\9at64_t
+       mmac_addr
+;
+
+146 \19
+¬p_pÜt_add»ss
+       g¬p_pÜt_add»s£s
+[
+RTE_MAX_ETHPORTS
+];
+
+148 
+u\9at16_t
+       g¬p_m\91a_off£t
+;
+
+151 \19
+       sp\9d\96\9ae_¬picmp
+ {
+
+152 \19
+p\9d\96\9ae
+       mp
+;
+
+153 
+p\9d\96\9ae_msg_»q_hªdËr
+
+
+154 
+       mcu¡om_hªdËrs
+[
+PIPELINE_ARPICMP_MSG_REQS
+];
+
+155 
+u\9at64_t
+       m»ûivedPktCouÁ
+;
+
+156 
+u\9at64_t
+       mdrݳdPktCouÁ
+;
+
+157 
+u\9at64_t
+       m£ÁPktCouÁ
+;
+
+158 
+u\9at8_t
+       ml\9aks_m­
+[
+PIPELINE_MAX_PORT_IN
+];
+
+159 
+u\9at8_t
+       mou\8dÜt_id
+[
+PIPELINE_MAX_PORT_IN
+];
+
+160 
+u\9at8_t
+       mp\9d\96\9ae_num
+;
+
+161 } 
+       g__¹e_ÿche_®igÃd
+;
+
+163 #ifdeà
+VNF_ACL
+
+
+165 \ 1
+       #MAX_NUM_ARP_ENTRIES
+ 64
+
+       )
+
+166 \ 1
+       #MAX_NUM_ND_ENTRIES
+ 64
+
+       )
+
+169 \19
+lib_nd_rou\8b_\8fbË_\92\8cy
+       glib_nd_rou\8b_\8f
+[
+MAX_ND_RT_ENTRY
+] = {
+
+204 \19
+lib_¬p_rou\8b_\8fbË_\92\8cy
+       glib_¬p_rou\8b_\8f
+[
+MAX_ARP_RT_ENTRY
+] = {
+
+227 \1e
+       $p\9d\96\9aes_pÜt_\9afo
+(\1e)
+
+229 \19
+­p_·¿ms
+ *
+­p
+ = 
+myAµ
+;
+
+230 
+u\9at8_t
+i
+, 
+p\9d\96\9ae
+;
+
+231 \ f
+p\9d\96\9ae
+ = 0;\85\9d\96\9a\90
+­p
+->
+n_p\9d\96\9aes
+;\85ipeline++) {
+
+232 
+       `´\9atf
+("*** PIPELINE %d ***\n\n", 
+p\9d\96\9ae
+);
+
+234 
+       `´\9atf
+("*** OUTPORTs ***\n");
+
+235 \ f
+i
+ = 1; i < 
+­p
+->
+p\9d\96\9ae_·¿ms
+[
+p\9d\96\9ae
+].
+n_pktq_out
+;
+
+236 
+i
+++) {
+
+237 \1a
+­p
+->
+p\9d\96\9ae_·¿ms
+[
+p\9d\96\9ae
+].
+pktq_out
+[
+i
+].
+
+238 
+ty³
+) {
+
+239 \ 4
+APP_PKTQ_OUT_SWQ
+:
+
+240 
+       `´\9atf
+("pktq_out[%d]:%s\n", 
+i
+,
+
+241 
+­p
+->
+swq_·¿ms
+[­p->
+p\9d\96\9ae_·¿ms
+
+
+242 [
+p\9d\96\9ae
+].
+
+243 
+pktq_out
+[
+i
+].
+id
+].
+Çme
+);
+
+245 \ 4
+APP_PKTQ_OUT_HWQ
+:
+
+246 
+       `´\9atf
+("pktq_out[%d]:%s\n", 
+i
+,
+
+247 
+­p
+->
+hwq_out_·¿ms
+[­p->
+p\9d\96\9ae_·¿ms
+
+
+248 [
+p\9d\96\9ae
+].
+pktq_out
+
+
+249 [
+i
+].
+id
+].
+Çme
+);
+
+252 
+       `´\9atf
+("Not OUT SWQ or HWQ\n");
+
+255 
+       `´\9atf
+("*** INPORTs ***\n");
+
+256 \ f
+i
+ = 0; i < 
+­p
+->
+p\9d\96\9ae_·¿ms
+[
+p\9d\96\9ae
+].
+n_pktq_\9a
+; i++) {
+
+257 \1a
+­p
+->
+p\9d\96\9ae_·¿ms
+[
+p\9d\96\9ae
+].
+pktq_\9a
+[
+i
+]
+
+258 .
+ty³
+) {
+
+259 \ 4
+APP_PKTQ_IN_SWQ
+:
+
+260 
+       `´\9atf
+("pktq_\9a[%d]:%s\n", 
+i
+,
+
+261 
+­p
+->
+swq_·¿ms
+[­p->
+p\9d\96\9ae_·¿ms
+
+
+262 [
+p\9d\96\9ae
+].
+
+263 
+pktq_\9a
+[
+i
+].
+id
+].
+Çme
+);
+
+265 \ 4
+APP_PKTQ_IN_HWQ
+:
+
+266 
+       `´\9atf
+("pktq_\9a[%d]:%s\n", 
+i
+,
+
+267 
+­p
+->
+hwq_\9a_·¿ms
+[­p->
+p\9d\96\9ae_·¿ms
+
+
+268 [
+p\9d\96\9ae
+].
+
+269 
+pktq_\9a
+[
+i
+].
+id
+].
+Çme
+);
+
+272 
+       `´\9atf
+("Not IN SWQ or HWQ\n");
+
+276 
+       }
+}
+
+278 \1e
+       $p\9d\96\9aes_m­_\9afo
+(\1e)
+
+280 \12
+i
+ = 0;
+
+282 
+       `´\9atf
+("PIPELINE_MAX_PORT_IN %d\n", 
+PIPELINE_MAX_PORT_IN
+);
+
+283 
+       `´\9atf
+("lb_ou\8dÜt_id[%d", 
+lb_ou\8dÜt_id
+[0]);
+
+284 \ f
+i
+ = 1; i < 
+PIPELINE_MAX_PORT_IN
+; i++)
+
+285 
+       `´\9atf
+(",%d", 
+lb_ou\8dÜt_id
+[
+i
+]);
+
+286 
+       `´\9atf
+("]\n");
+
+288 
+       `´\9atf
+("vnf_to_lßdb_m­[%d", 
+vnf_to_lßdb_m­
+[0]);
+
+289 \ f
+i
+ = 1; i < 
+PIPELINE_MAX_PORT_IN
+; i++)
+
+290 
+       `´\9atf
+(",%d", 
+vnf_to_lßdb_m­
+[
+i
+]);
+
+291 
+       `´\9atf
+("]\n");
+
+293 
+       `´\9atf
+("pÜt_to_lßdb_m­[%d", 
+pÜt_to_lßdb_m­
+[0]);
+
+294 \ f
+i
+ = 1; i < 
+PIPELINE_MAX_PORT_IN
+; i++)
+
+295 
+       `´\9atf
+(",%d", 
+pÜt_to_lßdb_m­
+[
+i
+]);
+
+296 
+       `´\9atf
+("]\n");
+
+298 
+       `´\9atf
+("lßdb_p\9d\96\9ae_nums[%d", 
+lßdb_p\9d\96\9ae_nums
+[0]);
+
+299 \ f
+i
+ = 1; i < 
+PIPELINE_MAX_PORT_IN
+; i++)
+
+300 
+       `´\9atf
+(",%d", 
+lßdb_p\9d\96\9ae_nums
+[
+i
+]);
+
+301 
+       `´\9atf
+("]\n");
+
+303 
+       `´\9atf
+("lßdb_p\9d\96\9ae[%p", 
+lßdb_p\9d\96\9ae
+[0]);
+
+304 \ f
+i
+ = 1; i < 
+PIPELINE_MAX_PORT_IN
+; i++)
+
+305 
+       `´\9atf
+(",%p", 
+lßdb_p\9d\96\9ae
+[
+i
+]);
+
+306 
+       `´\9atf
+("]\n");
+
+307 
+       }
+}
+
+309 \1e
+       $»gi¡\94_p\9d\96\9ae_Qs
+(
+u\9at8_t
+p\9d\96\9ae_num
+, \19
+p\9d\96\9ae
+ *
+p
+)
+
+311 \19
+¹e_pÜt_\91hdev_»ad\94
+ *
+hwq
+;
+
+312 \19
+¹e_pÜt_r\9ag_wr\99\94
+ *
+out_swq
+;
+
+313 \19
+¹e_pÜt_r\9ag_»ad\94
+ *
+\9a_swq
+;
+
+314 \19
+¹e_p\9d\96\9ae
+ *
+¹e
+ = 
+p
+->p;
+
+315 
+u\9at8_t
+pÜt_couÁ
+ = 0;
+
+316 \12
+queue_out
+ = 0xff, 
+queue_\9a
+ = 0xff;
+
+318 
+       `´\9atf
+("C®l\9ag\84egi¡\94_p\9d\96\9ae_Q \9a PIPELINE%d\n", 
+p\9d\96\9ae_num
+);
+
+319 \ f
+pÜt_couÁ
+ = 0;\85Üt_couÁ < 
+¹e
+->
+num_pÜts_out
+;\85ort_count++) {
+
+321 \1a
+myAµ
+->
+p\9d\96\9ae_·¿ms
+[
+p\9d\96\9ae_num
+].
+
+322 
+pktq_out
+[
+pÜt_couÁ
+].
+ty³
+){
+
+324 \ 4
+APP_PKTQ_OUT_SWQ
+:
+
+326 ià(
+pÜt_couÁ
+ >ð
+¹e
+->
+num_pÜts_\9a
+) {
+
+329 ià(
+¹e
+->
+num_pÜts_out
+ %\84\8b->
+num_pÜts_\9a
+)
+
+330 ià(
+pÜt_couÁ
+ =ð
+¹e
+->
+num_pÜts_out
+ - 1)
+
+332 \12
+\8bmp
+;
+
+333 
+\8bmp
+ = ((
+pÜt_couÁ
+è% 
+¹e
+->
+num_pÜts_\9a
+);
+
+335 
+\9a_swq
+ = 
+¹e
+->
+pÜts_\9a
+[
+\8bmp
+].
+h_pÜt
+;
+
+336 
+out_swq
+ = 
+¹e
+->
+pÜts_out
+[
+pÜt_couÁ
+].
+h_pÜt
+;
+
+337 
+       `´\9atf
+("in_swq : %s\n",
+
+338 
+\9a_swq
+->
+r\9ag
+->
+Çme
+);
+
+339 \12
+¡©us
+ =
+
+340 
+       `ssÿnf
+(
+\9a_swq
+->
+r\9ag
+->
+Çme
+, "SWQ%d",
+
+341 &
+queue_\9a
+);
+
+342 ià(
+¡©us
+ < 0) {
+
+343 
+       `´\9atf
+("Unable\81o\84ead SWQ\82umber\n");
+
+346 
+       `´\9atf
+("out_swq: %s\n",
+
+347 
+out_swq
+->
+r\9ag
+->
+Çme
+);
+
+348 
+¡©us
+ =
+
+349 
+       `ssÿnf
+(
+out_swq
+->
+r\9ag
+->
+Çme
+, "SWQ%d",
+
+350 &
+queue_out
+);
+
+351 ià(
+¡©us
+ < 0) {
+
+352 
+       `´\9atf
+("Unable\81o\84ead SWQ\82umber\n");
+
+355 ià(
+queue_\9a
+ < 128 && 
+queue_out
+ < 128) {
+
+356 
+SWQ_to_PÜt_m­
+[
+queue_out
+] =
+
+357 
+SWQ_to_PÜt_m­
+[
+queue_\9a
+];
+
+358 
+       `´\9atf
+("SWQ_to_PÜt_m­[%d]%d\n", 
+queue_out
+,
+
+359 
+SWQ_to_PÜt_m­
+[
+queue_out
+]);
+
+364 \1a
+myAµ
+->
+p\9d\96\9ae_·¿ms
+[
+p\9d\96\9ae_num
+].
+
+365 
+pktq_\9a
+[
+pÜt_couÁ
+].
+ty³
+){
+
+367 \ 4
+APP_PKTQ_OUT_HWQ
+:
+
+368 
+hwq
+ = 
+¹e
+->
+pÜts_\9a
+[
+pÜt_couÁ
+].
+h_pÜt
+;
+
+369 
+out_swq
+ = 
+¹e
+->
+pÜts_out
+[
+pÜt_couÁ
+].
+h_pÜt
+;
+
+370 
+       `´\9atf
+("out_swq: %s\n",
+
+371 
+out_swq
+->
+r\9ag
+->
+Çme
+);
+
+372 \12
+¡©us
+ =
+
+373 
+       `ssÿnf
+(
+out_swq
+->
+r\9ag
+->
+Çme
+, "SWQ%d",
+
+374 &
+queue_out
+);
+
+376 ià(
+¡©us
+ < 0) {
+
+377 
+       `´\9atf
+("Unable\81o\84ead SWQ\82umber\n");
+
+380 ià(
+queue_out
+ < 128) {
+
+381 
+SWQ_to_PÜt_m­
+[
+queue_out
+] = 
+hwq
+->
+pÜt_id
+;
+
+382 
+       `´\9atf
+("SWQ_to_PÜt_m­[%d]%d\n", 
+queue_out
+,
+
+383 
+SWQ_to_PÜt_m­
+[
+queue_out
+]);
+
+387 \ 4
+APP_PKTQ_OUT_SWQ
+:
+
+388 
+\9a_swq
+ = 
+¹e
+->
+pÜts_\9a
+[
+pÜt_couÁ
+].
+h_pÜt
+;
+
+389 
+out_swq
+ = 
+¹e
+->
+pÜts_out
+[
+pÜt_couÁ
+].
+h_pÜt
+;
+
+390 
+       `´\9atf
+("in_swq : %s\n",
+
+391 
+\9a_swq
+->
+r\9ag
+->
+Çme
+);
+
+392 
+¡©us
+ =
+
+393 
+       `ssÿnf
+(
+\9a_swq
+->
+r\9ag
+->
+Çme
+, "SWQ%d",
+
+394 &
+queue_\9a
+);
+
+395 ià(
+¡©us
+ < 0) {
+
+396 
+       `´\9atf
+("Unable\81o\84ead SWQ\82umber\n");
+
+399 
+       `´\9atf
+("out_swq: %s\n",
+
+400 
+out_swq
+->
+r\9ag
+->
+Çme
+);
+
+401 
+¡©us
+ =
+
+402 
+       `ssÿnf
+(
+out_swq
+->
+r\9ag
+->
+Çme
+, "SWQ%d",
+
+403 &
+queue_out
+);
+
+404 ià(
+¡©us
+ < 0) {
+
+405 
+       `´\9atf
+("Unable\81o\84ead SWQ\82umber\n");
+
+408 ià(
+queue_\9a
+ < 128 && 
+queue_out
+ < 128){
+
+409 
+SWQ_to_PÜt_m­
+[
+queue_out
+] =
+
+410 
+SWQ_to_PÜt_m­
+[
+queue_\9a
+];
+
+411 
+       `´\9atf
+("SWQ_to_PÜt_m­[%d]%d\n", 
+queue_out
+,
+
+412 
+SWQ_to_PÜt_m­
+[
+queue_out
+]);
+
+417 
+       `´\9atf
+("This\82ever hits\n");
+
+422 \ 4
+APP_PKTQ_OUT_HWQ
+:
+
+423 
+       `´\9atf
+("This is HWQ\n");
+
+427 
+       `´\9atf
+("set_phy_outport_map: This\82ever hits\n");
+
+430 
+       }
+}
+
+432 \1e
+       $£t_l\9ak_m­
+(
+u\9at8_t
+p\9d\96\9ae_num
+, \19
+p\9d\96\9ae
+ *
+p
+, u\9at8_\88*
+m­
+)
+
+434 \19
+¹e_pÜt_\91hdev_wr\99\94
+ *
+hwq
+;
+
+435 \19
+¹e_pÜt_r\9ag_wr\99\94
+ *
+out_swq
+;
+
+436 \19
+¹e_p\9d\96\9ae
+ *
+¹e
+ = 
+p
+->p;
+
+438 
+u\9at8_t
+pÜt_couÁ
+ = 0;
+
+439 \12
+\9adex
+ = 0, 
+queue_out
+ = 0xff;
+
+441 
+       `´\9atf
+("C®l\9ag s\91_l\9ak_m­ iÀPIPELINE%d\n", 
+p\9d\96\9ae_num
+);
+
+442 \ f
+pÜt_couÁ
+ = 0;\85Üt_couÁ < 
+¹e
+->
+num_pÜts_out
+;\85ort_count++) {
+
+444 \1a
+myAµ
+->
+p\9d\96\9ae_·¿ms
+[
+p\9d\96\9ae_num
+].
+
+445 
+pktq_out
+[
+pÜt_couÁ
+].
+ty³
+){
+
+447 \ 4
+APP_PKTQ_OUT_HWQ
+:
+
+448 
+hwq
+ = 
+¹e
+->
+pÜts_out
+[
+pÜt_couÁ
+].
+h_pÜt
+;
+
+449 
+m­
+[
+\9adex
+++] = 
+hwq
+->
+pÜt_id
+;
+
+450 
+       `´\9atf
+("l\9aks_m­[%d]:%d\n", 
+\9adex
+ - 1, 
+m­
+[index - 1]);
+
+453 \ 4
+APP_PKTQ_OUT_SWQ
+:
+
+454 
+out_swq
+ = 
+¹e
+->
+pÜts_out
+[
+pÜt_couÁ
+].
+h_pÜt
+;
+
+455 
+       `´\9atf
+("set_link_map out_swq: %s\n",
+
+456 
+out_swq
+->
+r\9ag
+->
+Çme
+);
+
+457 \12
+¡©us
+ = 
+       `ssÿnf
+(
+out_swq
+->
+r\9ag
+->
+Çme
+, "SWQ%d",
+
+458 &
+queue_out
+);
+
+459 ià(
+¡©us
+ < 0) {
+
+460 
+       `´\9atf
+("Unable\81o\84ead SWQ\82umber\n");
+
+464 ià(
+queue_out
+ < 128) {
+
+465 
+m­
+[
+\9adex
+++] = 
+SWQ_to_PÜt_m­
+[
+queue_out
+];
+
+466 
+       `´\9atf
+("l\9aks_m­[%s]:%d\n", 
+out_swq
+->
+r\9ag
+->
+Çme
+,
+
+467 
+m­
+[
+\9adex
+ - 1]);
+
+472 
+       `´\9atf
+("set_phy_outport_map: This\82ever hits\n");
+
+475 
+       }
+}
+
+477 \1e
+       $£t_ou\8dÜt_id
+(
+u\9at8_t
+p\9d\96\9ae_num
+, \19
+p\9d\96\9ae
+ *
+p
+, u\9at8_\88*
+m­
+)
+
+479 
+u\9at8_t
+pÜt_couÁ
+ = 0;
+
+480 \12
+queue_out
+ = 0xff, 
+\9adex
+ = 0;
+
+482 \19
+¹e_pÜt_\91hdev_wr\99\94
+ *
+hwq
+;
+
+483 \19
+¹e_pÜt_r\9ag_wr\99\94
+ *
+out_swq
+;
+
+484 \19
+¹e_p\9d\96\9ae
+ *
+¹e
+ = 
+p
+->p;
+
+486 
+       `´\9atf
+("\n**** set_outport_id() with\85ipeline_num:%d ****\n\n",
+
+487 
+p\9d\96\9ae_num
+);
+
+488 \ f
+pÜt_couÁ
+ = 0;
+
+489 
+pÜt_couÁ
+ < 
+¹e
+->
+num_pÜts_out
+;
+
+490 
+pÜt_couÁ
+++) {
+
+492 \1a
+myAµ
+->
+p\9d\96\9ae_·¿ms
+[
+p\9d\96\9ae_num
+].
+
+493 
+pktq_out
+[
+pÜt_couÁ
+].
+ty³
+) {
+
+495 \ 4
+APP_PKTQ_OUT_HWQ
+:
+
+496 
+hwq
+ = 
+¹e
+->
+pÜts_out
+[
+pÜt_couÁ
+].
+h_pÜt
+;
+
+499 
+m­
+[
+hwq
+->
+pÜt_id
+] = 
+\9adex
+;
+
+500 
+       `´\9atf
+("hwq\85ort_id:%d index:%d\n",
+
+501 
+hwq
+->
+pÜt_id
+, 
+\9adex
+);
+
+502 
+m­
+[
+hwq
+->
+pÜt_id
+] = 
+\9adex
+++;
+
+503 
+       `´\9atf
+("hwq\85ort_id:%d index:%d\n",
+
+504 
+hwq
+->
+pÜt_id
+, 
+\9adex
+-1);
+
+505 
+       `´\9atf
+("ou\8dÜt_id[%d]:%d\n", 
+\9adex
+ - 1,
+
+506 
+m­
+[
+\9adex
+ - 1]);
+
+510 \ 4
+APP_PKTQ_OUT_SWQ
+:
+
+513 ià(
+pÜt_couÁ
+ >ð
+¹e
+->
+num_pÜts_\9a
+)
+
+514 ià(
+¹e
+->
+num_pÜts_out
+ %\84\8b->
+num_pÜts_\9a
+)
+
+515 ià(
+pÜt_couÁ
+ =ð
+¹e
+->
+num_pÜts_out
+ - 1)
+
+517 
+out_swq
+ = 
+¹e
+->
+pÜts_out
+[
+pÜt_couÁ
+].
+h_pÜt
+;
+
+518 
+       `´\9atf
+("set_outport_id out_swq: %s\n",
+
+519 
+out_swq
+->
+r\9ag
+->
+Çme
+);
+
+520 \12
+\8bmp
+ = 
+       `ssÿnf
+(
+out_swq
+->
+r\9ag
+->
+Çme
+, "SWQ%d",
+
+521 &
+queue_out
+);
+
+522 ià(
+\8bmp
+ < 0) {
+
+523 
+       `´\9atf
+("Unable\81o\84ead SWQ\82umber\n");
+
+527 ià(
+queue_out
+ < 128 && 
+\9adex
+ >= 0) {
+
+528 
+m­
+[
+SWQ_to_PÜt_m­
+[
+queue_out
+]] = 
+\9adex
+++;
+
+529 
+       `´\9atf
+("ou\8dÜt_id[%s]:%d\n", 
+out_swq
+->
+r\9ag
+->
+Çme
+,
+
+530 
+m­
+[
+SWQ_to_PÜt_m­
+[
+queue_out
+]]);
+
+535 
+       `´\9atf
+(" ");
+
+539 
+       }
+}
+
+541 \1e
+       $£t_phy_ou\8dÜt_id
+(
+u\9at8_t
+p\9d\96\9ae_num
+, \19
+p\9d\96\9ae
+ *
+p
+, u\9at8_\88*
+m­
+)
+
+543 
+u\9at8_t
+pÜt_couÁ
+ = 0;
+
+544 \12
+\9adex
+ = 0;
+
+546 \19
+¹e_pÜt_\91hdev_wr\99\94
+ *
+hwq
+;
+
+547 \19
+¹e_p\9d\96\9ae
+ *
+¹e
+ = 
+p
+->p;
+
+549 
+       `´\9atf
+("\n**** set_phy_outport_id() with\85ipeline_num:%d ****\n\n",
+
+550 
+p\9d\96\9ae_num
+);
+
+551 \ f
+pÜt_couÁ
+ = 0;
+
+552 
+pÜt_couÁ
+ < 
+myAµ
+->
+p\9d\96\9ae_·¿ms
+[
+p\9d\96\9ae_num
+].
+n_pktq_out
+;
+
+553 
+pÜt_couÁ
+++) {
+
+555 \1a
+myAµ
+->
+p\9d\96\9ae_·¿ms
+[
+p\9d\96\9ae_num
+].
+
+556 
+pktq_out
+[
+pÜt_couÁ
+].
+ty³
+) {
+
+558 \ 4
+APP_PKTQ_OUT_HWQ
+:
+
+559 
+hwq
+ = 
+¹e
+->
+pÜts_out
+[
+pÜt_couÁ
+].
+h_pÜt
+;
+
+560 
+m­
+[
+hwq
+->
+pÜt_id
+] = 
+\9adex
+++;
+
+561 
+       `´\9atf
+("ou\8dÜt_id[%d]:%d\n", 
+\9adex
+ - 1,
+
+562 
+m­
+[
+\9adex
+ - 1]);
+
+566 
+       `´\9atf
+(" ");
+
+570 
+       }
+}
+
+572 \1e
+       $£t_phy_\9apÜt_id
+(
+u\9at8_t
+p\9d\96\9ae_num
+, \19
+p\9d\96\9ae
+ *
+p
+, u\9at8_\88*
+m­
+)
+
+574 
+u\9at8_t
+pÜt_couÁ
+ = 0;
+
+575 \12
+\9adex
+ = 0;
+
+577 \19
+¹e_pÜt_\91hdev_»ad\94
+ *
+hwq
+;
+
+578 \19
+¹e_p\9d\96\9ae
+ *
+¹e
+ = 
+p
+->p;
+
+580 
+       `´\9atf
+("\n**** set_phy_inport_id() with\85ipeline_num:%d ****\n\n",
+
+581 
+p\9d\96\9ae_num
+);
+
+582 \ f
+pÜt_couÁ
+ = 0;
+
+583 
+pÜt_couÁ
+ < 
+myAµ
+->
+p\9d\96\9ae_·¿ms
+[
+p\9d\96\9ae_num
+].
+n_pktq_\9a
+;
+
+584 
+pÜt_couÁ
+++) {
+
+586 \1a
+myAµ
+->
+p\9d\96\9ae_·¿ms
+[
+p\9d\96\9ae_num
+].
+
+587 
+pktq_\9a
+[
+pÜt_couÁ
+].
+ty³
+) {
+
+589 \ 4
+APP_PKTQ_OUT_HWQ
+:
+
+590 
+hwq
+ = 
+¹e
+->
+pÜts_\9a
+[
+pÜt_couÁ
+].
+h_pÜt
+;
+
+591 
+m­
+[
+hwq
+->
+pÜt_id
+] = 
+\9adex
+++;
+
+592 
+       `´\9atf
+("ou\8dÜt_id[%d]:%d\n", 
+\9adex
+ - 1,
+
+593 
+m­
+[
+\9adex
+ - 1]);
+
+597 
+       `´\9atf
+(" ");
+
+601 
+       }
+}
+
+603 #ifdeà
+VNF_ACL
+
+
+605 
+u\9at32_t
+       $g\91_nh
+(
+u\9at32_t
+\9d
+, u\9at32_\88*
+pÜt
+)
+
+607 \12
+i
+ = 0;
+
+608 \ f
+i
+ = 0; i < 
+MAX_ARP_RT_ENTRY
+; i++) {
+
+609 ià(((
+lib_¬p_rou\8b_\8f
+[
+i
+].
+
+610 
+\9d
+ & 
+lib_¬p_rou\8b_\8f
+[
+i
+].
+mask
+) ==
+
+611 (
+\9d
+ & 
+lib_¬p_rou\8b_\8f
+[
+i
+].
+mask
+))) {
+
+613 *
+pÜt
+ = 
+lib_¬p_rou\8b_\8f
+[
+i
+].port;
+
+614 
+lib_¬p_nh_found
+++;
+
+615 \15 
+lib_¬p_rou\8b_\8f
+[
+i
+].
+nh
+;
+
+617 ià(
+ARPICMP_DEBUG
+ > 1)
+
+618 
+       `´\9atf
+("No\82h match ip 0x%x,\85ort %u,\81_ip "
+
+620 
+\9d
+, *
+pÜt
+, 
+lib_¬p_rou\8b_\8f
+[
+i
+].ip,
+
+621 
+lib_¬p_rou\8b_\8f
+[
+i
+].
+pÜt
+,
+
+622 
+lib_¬p_rou\8b_\8f
+[
+i
+].
+mask
+,
+
+623 (
+lib_¬p_rou\8b_\8f
+[
+i
+].
+\9d
+ &
+
+624 
+lib_¬p_rou\8b_\8f
+[
+i
+].
+mask
+),
+
+625 (
+\9d
+ & 
+lib_¬p_rou\8b_\8f
+[
+i
+].
+mask
+));
+
+627 ià(
+ARPICMP_DEBUG
+ && 
+\9d
+)
+
+628 
+       `´\9atf
+("NØNH - i°0x%x,\85Ü\88%u\n", 
+\9d
+, *
+pÜt
+);
+
+629 
+lib_¬p_no_nh_found
+++;
+
+631 
+       }
+}
+
+634 \1e
+       $g\91_nh_\9dv6
+(
+u\9at8_t
+\9dv6
+[], 
+u\9at32_t
+ *
+pÜt
+, u\9at8_\88
+nh\9dv6
+[])
+
+636 \12
+i
+ = 0;
+
+637 
+u\9at8_t
+Ãtmask_\9dv6
+[16], 
+Ãt\9d_nd
+[16], 
+Ãt\9d_\9a
+[16];
+
+638 
+u\9at8_t
+k
+ = 0, 
+l
+ = 0, 
+d\95thæags
+ = 0, 
+d\95thæags1
+ = 0;
+
+639 
+       `mem£t
+(
+Ãtmask_\9dv6
+, 0, \17(netmask_ipv6));
+
+640 
+       `mem£t
+(
+Ãt\9d_nd
+, 0, \17(netip_nd));
+
+641 
+       `mem£t
+(
+Ãt\9d_\9a
+, 0, \17(netip_in));
+
+642 ià(!
+\9dv6
+)
+
+644 \ f
+i
+ = 0; i < 
+MAX_ARP_RT_ENTRY
+; i++) {
+
+646 
+       `cÚv\94t_´efixËn_to_Ãtmask_\9dv6
+(
+
+647 
+lib_nd_rou\8b_\8f
+[
+i
+].
+d\95th
+,
+
+648 
+Ãtmask_\9dv6
+);
+
+650 \ f
+k
+ = 0; k < 16; k++) {
+
+651 ià(
+lib_nd_rou\8b_\8f
+[
+i
+].
+\9dv6
+[
+k
+] & 
+Ãtmask_\9dv6
+[k]) {
+
+652 
+d\95thæags
+++;
+
+653 
+Ãt\9d_nd
+[
+k
+] = 
+lib_nd_rou\8b_\8f
+[
+i
+].
+\9dv6
+[k];
+
+657 \ f
+l
+ = 0;\86 < 16;\86++) {
+
+658 ià(
+\9dv6
+[
+l
+] & 
+Ãtmask_\9dv6
+[l]) {
+
+659 
+d\95thæags1
+++;
+
+660 
+Ãt\9d_\9a
+[
+l
+] = 
+\9dv6
+[l];
+
+663 \12
+j
+ = 0;
+
+664 ià((
+d\95thæags
+ =ð
+d\95thæags1
+)
+
+665 && (
+       `memcmp
+(
+Ãt\9d_nd
+, 
+Ãt\9d_\9a
+,
+
+666 \17(
+Ãt\9d_nd
+)) == 0)) {
+
+668 *
+pÜt
+ = 
+lib_nd_rou\8b_\8f
+[
+i
+].port;
+
+669 
+lib_nd_nh_found
+++;
+
+671 \ f
+j
+ = 0; j < 16; j++)
+
+672 
+nh\9dv6
+[
+j
+] = 
+lib_nd_rou\8b_\8f
+[
+i
+].nhipv6[j];
+
+677 ià(
+NDIPV6_DEBUG
+ > 1)
+
+678 
+       `´\9atf
+("No\82h match\n");
+
+679 
+d\95thæags
+ = 0;
+
+680 
+d\95thæags1
+ = 0;
+
+682 ià(
+NDIPV6_DEBUG
+ && 
+\9dv6
+)
+
+683 
+       `´\9atf
+("NØNH - i°0x%x,\85Ü\88%u\n", 
+\9dv6
+[0], *
+pÜt
+);
+
+684 
+lib_nd_no_nh_found
+++;
+
+685 
+       }
+}
+
+688 \12
+       $g\91_de¡_mac_addr_pÜt
+(cڡ 
+u\9at32_t
+\9daddr
+,
+
+689 
+u\9at32_t
+ *
+phy_pÜt
+, \19
+\91h\94_addr
+ *
+hw_addr
+)
+
+691 
+lib_¬p_g\91_mac_»q
+++;
+
+692 
+u\9at32_t
+nh\9d
+ = 0;
+
+694 
+nh\9d
+ = 
+       `g\91_nh
+(
+\9daddr
+, 
+phy_pÜt
+);
+
+695 ià(
+nh\9d
+ == 0) {
+
+696 ià(
+ARPICMP_DEBUG
+ && 
+\9daddr
+)
+
+697 
+       `´\9atf
+("ARPICMP\82o\82h found for ip %x,\85ort %d\n",
+
+698 
+\9daddr
+, *
+phy_pÜt
+);
+
+700 \15 
+NH_NOT_FOUND
+;
+
+703 \19
+¬p_\92\8cy_d©a
+ *
+»t_¬p_d©a
+ = 
+NULL
+;
+
+704 \19
+¬p_key_\9dv4
+tmp_¬p_key
+;
+
+705 
+tmp_¬p_key
+.
+pÜt_id
+ = *
+phy_pÜt
+;
+
+706 
+tmp_¬p_key
+.
+\9d
+ = 
+nh\9d
+;
+
+708 
+»t_¬p_d©a
+ = 
+       `»\8c\9bve_¬p_\92\8cy
+(
+tmp_¬p_key
+);
+
+709 ià(
+»t_¬p_d©a
+ =ð
+NULL
+) {
+
+710 ià(
+ARPICMP_DEBUG
+ && 
+\9daddr
+) {
+
+711 
\9atf
+
+
+713 
+\9daddr
+, *
+phy_pÜt
+);
+
+714 
+       `´\9at_¬p_\8f
+();
+
+716 
+lib_¬p_no_¬p_\92\8cy_found
+++;
+
+717 \15 
+ARP_NOT_FOUND
+;
+
+719 
+       `\91h\94_addr_cÝy
+(&
+»t_¬p_d©a
+->
+\91h_addr
+, 
+hw_addr
+);
+
+720 
+lib_¬p_¬p_\92\8cy_found
+++;
+
+721 \15 
+ARP_FOUND
+;
+
+722 
+       }
+}
+
+725 \12
+       $g\91_de¡_mac_add»ss_\9dv6
+(
+u\9at8_t
+\9dv6addr
+[], 
+u\9at32_t
+phy_pÜt
+,
+
+726 \19
+\91h\94_addr
+ *
+hw_addr
+, 
+u\9at8_t
+nh\9dv6
+[])
+
+728 \12
+i
+ = 0, 
+j
+ = 0, 
+æag
+ = 0;
+
+729 
+lib_nd_g\91_mac_»q
+++;
+
+731 ià(
+\9dv6addr
+)
+
+732 
+       `g\91_nh_\9dv6
+(
+\9dv6addr
+, &
+phy_pÜt
+, 
+nh\9dv6
+);
+
+733 \ f
+j
+ = 0; j < 16; j++) {
+
+734 ià(
+nh\9dv6
+[
+j
+])
+
+735 
+æag
+++;
+
+737 ià(
+æag
+ == 0) {
+
+738 ià(
+\9dv6addr
+) {
+
+739 ià(
+NDIPV6_DEBUG
+ && 
+\9dv6addr
+)
+
+740 
+       `´\9atf
+("NDIPV6\82o\82h found for ipv6 "
+
+743 
+\9dv6addr
+[0], ipv6addr[1], ipv6addr[2], ipv6addr[3],
+
+744 
+\9dv6addr
+[4], ipv6addr[5], ipv6addr[6], ipv6addr[7],
+
+745 
+\9dv6addr
+[8], ipv6addr[9], ipv6addr[10],
+
+746 
+\9dv6addr
+[11], ipv6addr[12], ipv6addr[13],
+
+747 
+\9dv6addr
+[14], ipv6addr[15], 
+phy_pÜt
+);
+
+752 \19
+nd_\92\8cy_d©a
+ *
+»t_nd_d©a
+ = 
+NULL
+;
+
+753 \19
+nd_key_\9dv6
+tmp_nd_key
+;
+
+754 
+tmp_nd_key
+.
+pÜt_id
+ = 
+phy_pÜt
+;
+
+756 \ f
+i
+ = 0; i < 16; i++)
+
+757 
+tmp_nd_key
+.
+\9dv6
+[
+i
+] = 
+nh\9dv6
+[i];
+
+759 
+»t_nd_d©a
+ = 
+       `»\8c\9bve_nd_\92\8cy
+(
+tmp_nd_key
+);
+
+760 ià(
+»t_nd_d©a
+ =ð
+NULL
+) {
+
+761 ià(
+NDIPV6_DEBUG
+ && 
+\9dv6addr
+) {
+
+762 
+       `´\9atf
+("NDIPV6\82o\82d\83ntry found for ip %x,\85ort %d\n",
+
+763 
+\9dv6addr
+[0], 
+phy_pÜt
+);
+
+765 
+lib_nd_no_¬p_\92\8cy_found
+++;
+
+768 
+       `\91h\94_addr_cÝy
+(&
+»t_nd_d©a
+->
+\91h_addr
+, 
+hw_addr
+);
+
+769 
+lib_nd_nd_\92\8cy_found
+++;
+
+772 
+       }
+}
+
+775 \12
+       $g\91_de¡_mac_add»ss_\9dv6_pÜt
+(
+u\9at8_t
+\9dv6addr
+[], 
+u\9at32_t
+ *
+phy_pÜt
+,
+
+776 \19
+\91h\94_addr
+ *
+hw_addr
+, 
+u\9at8_t
+nh\9dv6
+[])
+
+778 \12
+i
+ = 0, 
+j
+ = 0, 
+æag
+ = 0;
+
+779 
+lib_nd_g\91_mac_»q
+++;
+
+781 
+       `g\91_nh_\9dv6
+(
+\9dv6addr
+, 
+phy_pÜt
+, 
+nh\9dv6
+);
+
+782 \ f
+j
+ = 0; j < 16; j++) {
+
+783 ià(
+nh\9dv6
+[
+j
+])
+
+784 
+æag
+++;
+
+786 ià(
+æag
+ == 0) {
+
+787 ià(
+NDIPV6_DEBUG
+ && 
+\9dv6addr
+)
+
+788 
+       `´\9atf
+("NDIPV6\82o\82h found for ipv6 "
+
+791 
+\9dv6addr
+[0], ipv6addr[1], ipv6addr[2], ipv6addr[3],
+
+792 
+\9dv6addr
+[4], ipv6addr[5], ipv6addr[6], ipv6addr[7],
+
+793 
+\9dv6addr
+[8], ipv6addr[9], ipv6addr[10],
+
+794 
+\9dv6addr
+[11], ipv6addr[12], ipv6addr[13],
+
+795 
+\9dv6addr
+[14], ipv6addr[15], *
+phy_pÜt
+);
+
+799 \19
+nd_\92\8cy_d©a
+ *
+»t_nd_d©a
+ = 
+NULL
+;
+
+800 \19
+nd_key_\9dv6
+tmp_nd_key
+;
+
+801 
+tmp_nd_key
+.
+pÜt_id
+ = *
+phy_pÜt
+;
+
+803 \ f
+i
+ = 0; i < 16; i++)
+
+804 
+tmp_nd_key
+.
+\9dv6
+[
+i
+] = 
+nh\9dv6
+[i];
+
+806 
+»t_nd_d©a
+ = 
+       `»\8c\9bve_nd_\92\8cy
+(
+tmp_nd_key
+);
+
+807 ià(
+»t_nd_d©a
+ =ð
+NULL
+) {
+
+808 ià(
+NDIPV6_DEBUG
+ && 
+\9dv6addr
+) {
+
+809 
+       `´\9atf
+("NDIPV6\82o\82d\83ntry found for ip %x,\85ort %d\n",
+
+810 
+\9dv6addr
+[0], *
+phy_pÜt
+);
+
+812 
+lib_nd_no_¬p_\92\8cy_found
+++;
+
+815 
+       `\91h\94_addr_cÝy
+(&
+»t_nd_d©a
+->
+\91h_addr
+, 
+hw_addr
+);
+
+816 
+lib_nd_nd_\92\8cy_found
+++;
+
+819 
+       }
+}
+
+824 \19
+       slib_¬p_¬p_\8fbË_\92\8cy
+ {
+
+825 \19
+¹e_p\9d\96\9ae_\8fbË_\92\8cy
+       mh\97d
+;
+
+826 
+u\9at64_t
+       mmaÿddr
+;
+
+829 \18cڡ \ 5*
+       $¬p_Ý_Çme
+(
+u\9at16_t
+¬p_Ý
+)
+
+831 \1a
+       `CHECK_ENDIAN_16
+(
+¬p_Ý
+)) {
+
+832 \ 4(
+ARP_OP_REQUEST
+):
+
+834 \ 4(
+ARP_OP_REPLY
+):
+
+836 \ 4(
+ARP_OP_REVREQUEST
+):
+
+838 \ 4(
+ARP_OP_REVREPLY
+):
+
+840 \ 4(
+ARP_OP_INVREQUEST
+):
+
+842 \ 4(
+ARP_OP_INVREPLY
+):
+
+848 
+       }
+}
+
+850 \18\1e
+       $´\9at_icmp_·ck\91
+(\19
+icmp_hdr
+ *
+icmp_h
+)
+
+852 
+       `´\9atf
+(" ICMP:\81ype=%d (%s) code=%d id=%d seqnum=%d\n",
+
+853 
+icmp_h
+->
+icmp_ty³
+,
+
+854 (
+icmp_h
+->
+icmp_ty³
+ =ð
+IP_ICMP_ECHO_REPLY
+ ? "Reply" :
+
+855 (
+icmp_h
+->
+icmp_ty³
+ ==
+
+856 
+IP_ICMP_ECHO_REQUEST
+ ? "Reqe¡" : "Undef")), 
+icmp_h
+->
+icmp_code
+,
+
+857 
+       `CHECK_ENDIAN_16
+(
+icmp_h
+->
+icmp_id\92t
+),
+
+858 
+       `CHECK_ENDIAN_16
+(
+icmp_h
+->
+icmp_£q_nb
+));
+
+859 
+       }
+}
+
+861 \18\1e
+       $´\9at_\9dv4_h
+(\19
+\9dv4_hdr
+ *
+\9d_h
+)
+
+863 \19
+icmp_hdr
+ *
+icmp_h
+ =
+
+864 (\19
+icmp_hdr
+ *)((\ 5*)
+\9d_h
+ + \17(\19
+\9dv4_hdr
+));
+
+865 
+       `´\9atf
+(" IPv4: Version=%d HLEN=%d Type=%d Length=%d\n",
+
+866 (
+\9d_h
+->
+v\94siÚ_ihl
+ & 0xf0) >> 4, (ip_h->version_ihl & 0x0f),
+
+867 
+\9d_h
+->
+ty³_of_£rviû
+, 
+       `¹e_ýu_to_be_16
+(\9d_h->
+tÙ®_Ëngth
+));
+
+868 ià(
+\9d_h
+->
+Ãxt_´Ùo_id
+ =ð
+IPPROTO_ICMP
+)
+
+869 
+       `´\9at_icmp_·ck\91
+(
+icmp_h
+);
+
+870 
+       }
+}
+
+872 \18\1e
+       $´\9at_¬p_·ck\91
+(\19
+¬p_hdr
+ *
+¬p_h
+)
+
+874 
+       `´\9atf
+(" ARP: hrd=%d\85roto=0x%04x hln=%d "
+
+876 
+       `CHECK_ENDIAN_16
+(
+¬p_h
+->
+¬p_hrd
+),
+
+877 
+       `CHECK_ENDIAN_16
+(
+¬p_h
+->
+¬p_´o
+),\87½_h->
+¬p_hÊ
+,
+
+878 
+¬p_h
+->
+¬p_¶n
+, 
+       `CHECK_ENDIAN_16
+׽_h->
+¬p_Ý
+),
+
+879 
+       `¬p_Ý_Çme
+(
+¬p_h
+->
+¬p_Ý
+));
+
+881 ià(
+       `CHECK_ENDIAN_16
+(
+¬p_h
+->
+¬p_hrd
+è!ð
+ARP_HRD_ETHER
+) {
+
+882 
+       `´\9atf
+("incorrect\87rp_hrd format for IPv4 ARP (%d)\n",
+
+883 (
+¬p_h
+->
+¬p_hrd
+));
+
+884 } \vià(
+       `CHECK_ENDIAN_16
+(
+¬p_h
+->
+¬p_´o
+è!ð
+ETHER_TYPE_IPv4
+) {
+
+885 
+       `´\9atf
+("incorrect\87rp_pro format for IPv4 ARP (%d)\n",
+
+886 (
+¬p_h
+->
+¬p_´o
+));
+
+887 } \vià(
+¬p_h
+->
+¬p_hÊ
+ != 6) {
+
+888 
+       `´\9atf
+("incorrect\87rp_hln format for IPv4 ARP (%d)\n",
+
+889 
+¬p_h
+->
+¬p_hÊ
+);
+
+890 } \vià(
+¬p_h
+->
+¬p_¶n
+ != 4) {
+
+891 
+       `´\9atf
+("incorrect\87rp_pln format for IPv4 ARP (%d)\n",
+
+892 
+¬p_h
+->
+¬p_¶n
+);
+
+895 
+       `´\9atf
+(" sha=%02X:%02X:%02X:%02X:%02X:%02X",
+
+896 
+¬p_h
+->
+¬p_d©a
+.
+¬p_sha
+.
+addr_by\8bs
+[0],
+
+897 
+¬p_h
+->
+¬p_d©a
+.
+¬p_sha
+.
+addr_by\8bs
+[1],
+
+898 
+¬p_h
+->
+¬p_d©a
+.
+¬p_sha
+.
+addr_by\8bs
+[2],
+
+899 
+¬p_h
+->
+¬p_d©a
+.
+¬p_sha
+.
+addr_by\8bs
+[3],
+
+900 
+¬p_h
+->
+¬p_d©a
+.
+¬p_sha
+.
+addr_by\8bs
+[4],
+
+901 
+¬p_h
+->
+¬p_d©a
+.
+¬p_sha
+.
+addr_by\8bs
+[5]);
+
+902 
+       `´\9atf
+(" sip=%d.%d.%d.%d\n",
+
+903 (
+       `CHECK_ENDIAN_32
+(
+¬p_h
+->
+¬p_d©a
+.
+¬p_s\9d
+) >> 24) & 0xFF,
+
+904 (
+       `CHECK_ENDIAN_32
+(
+¬p_h
+->
+¬p_d©a
+.
+¬p_s\9d
+) >> 16) & 0xFF,
+
+905 (
+       `CHECK_ENDIAN_32
+(
+¬p_h
+->
+¬p_d©a
+.
+¬p_s\9d
+) >> 8) & 0xFF,
+
+906 
+       `CHECK_ENDIAN_32
+(
+¬p_h
+->
+¬p_d©a
+.
+¬p_s\9d
+) & 0xFF);
+
+907 
+       `´\9atf
+("\81ha=%02X:%02X:%02X:%02X:%02X:%02X",
+
+908 
+¬p_h
+->
+¬p_d©a
+.
+¬p_tha
+.
+addr_by\8bs
+[0],
+
+909 
+¬p_h
+->
+¬p_d©a
+.
+¬p_tha
+.
+addr_by\8bs
+[1],
+
+910 
+¬p_h
+->
+¬p_d©a
+.
+¬p_tha
+.
+addr_by\8bs
+[2],
+
+911 
+¬p_h
+->
+¬p_d©a
+.
+¬p_tha
+.
+addr_by\8bs
+[3],
+
+912 
+¬p_h
+->
+¬p_d©a
+.
+¬p_tha
+.
+addr_by\8bs
+[4],
+
+913 
+¬p_h
+->
+¬p_d©a
+.
+¬p_tha
+.
+addr_by\8bs
+[5]);
+
+914 
+       `´\9atf
+("\81ip=%d.%d.%d.%d\n",
+
+915 (
+       `CHECK_ENDIAN_32
+(
+¬p_h
+->
+¬p_d©a
+.
+¬p_t\9d
+) >> 24) & 0xFF,
+
+916 (
+       `CHECK_ENDIAN_32
+(
+¬p_h
+->
+¬p_d©a
+.
+¬p_t\9d
+) >> 16) & 0xFF,
+
+917 (
+       `CHECK_ENDIAN_32
+(
+¬p_h
+->
+¬p_d©a
+.
+¬p_t\9d
+) >> 8) & 0xFF,
+
+918 
+       `CHECK_ENDIAN_32
+(
+¬p_h
+->
+¬p_d©a
+.
+¬p_t\9d
+) & 0xFF);
+
+920 
+       }
+}
+
+922 \18\1e
+       $´\9at_\91h
+(\19
+\91h\94_hdr
+ *
+\91h_h
+)
+
+924 
+       `´\9atf
+(" ETH: src=%02X:%02X:%02X:%02X:%02X:%02X",
+
+925 
+\91h_h
+->
+s_addr
+.
+addr_by\8bs
+[0],
+
+926 
+\91h_h
+->
+s_addr
+.
+addr_by\8bs
+[1],
+
+927 
+\91h_h
+->
+s_addr
+.
+addr_by\8bs
+[2],
+
+928 
+\91h_h
+->
+s_addr
+.
+addr_by\8bs
+[3],
+
+929 
+\91h_h
+->
+s_addr
+.
+addr_by\8bs
+[4],\83th_h->s_addr.addr_bytes[5]);
+
+930 
+       `´\9atf
+(" dst=%02X:%02X:%02X:%02X:%02X:%02X\n",
+
+931 
+\91h_h
+->
+d_addr
+.
+addr_by\8bs
+[0],
+
+932 
+\91h_h
+->
+d_addr
+.
+addr_by\8bs
+[1],
+
+933 
+\91h_h
+->
+d_addr
+.
+addr_by\8bs
+[2],
+
+934 
+\91h_h
+->
+d_addr
+.
+addr_by\8bs
+[3],
+
+935 
+\91h_h
+->
+d_addr
+.
+addr_by\8bs
+[4],\83th_h->d_addr.addr_bytes[5]);
+
+937 
+       }
+}
+
+940 
+       $´\9at_mbuf
+(cڡ \ 5*
+rx_tx
+, \1d\12
+pÜtid
+, \19
+¹e_mbuf
+ *
+mbuf
+,
+
+941 \1d\12
+l\9ae
+)
+
+943 \19
+\91h\94_hdr
+ *
+\91h_h
+ = 
+       `¹e_pktmbuf_mtod
+(
+mbuf
+, \19ether_hdr *);
+
+944 \19
+¬p_hdr
+ *
+¬p_h
+ =
+
+945 (\19
+¬p_hdr
+ *)((\ 5*)
+\91h_h
+ + \17(\19
+\91h\94_hdr
+));
+
+946 \19
+\9dv4_hdr
+ *
+\9dv4_h
+ =
+
+947 (\19
+\9dv4_hdr
+ *)((\ 5*)
+\91h_h
+ + \17(\19
+\91h\94_hdr
+));
+
+949 
+       `´\9atf
+("%s(%d): on\85ort %d\85kt-len=%u\82b-segs=%u\n",
+
+950 
+rx_tx
+, 
+l\9ae
+, 
+pÜtid
+, 
+mbuf
+->
+pkt_Ën
+, mbuf->
+nb_£gs
+);
+
+951 
+       `´\9at_\91h
+(
+\91h_h
+);
+
+952 \1a
+       `¹e_ýu_to_be_16
+(
+\91h_h
+->
+\91h\94_ty³
+)) {
+
+953 \ 4
+ETHER_TYPE_IPv4
+:
+
+954 
+       `´\9at_\9dv4_h
+(
+\9dv4_h
+);
+
+956 \ 4
+ETHER_TYPE_ARP
+:
+
+957 
+       `´\9at_¬p_·ck\91
+(
+¬p_h
+);
+
+960 
+       `´\9atf
+(" unknown\85acket\81ype\n");
+
+963 
+       `fæush
+(
+¡dout
+);
+
+964 
+       }
+}
+
+966 \19
+¬p_\92\8cy_d©a
+ *
+       $»\8c\9bve_¬p_\92\8cy
+(\19
+¬p_key_\9dv4
+¬p_key
+)
+
+968 \19
+¬p_\92\8cy_d©a
+ *
+»t_¬p_d©a
+ = 
+NULL
+;
+
+969 
+¬p_key
+.
+f\9eËr1
+ = 0;
+
+970 
+¬p_key
+.
+f\9eËr2
+ = 0;
+
+971 
+¬p_key
+.
+f\9eËr3
+ = 0;
+
+973 \12
+»t
+ = 
+       `¹e_hash_lookup_d©a
+(
+¬p_hash_hªdË
+, &
+¬p_key
+,
+
+974 (\1e**)&
+»t_¬p_d©a
+);
+
+975 ià(
+»t
+ < 0) {
+
+976 ià(
+ARPICMP_DEBUG
+)
+
+977 
+       `´\9atf
+("arp-hash\86ookup failed\84et %d, "
+
+979 
+»t
+, 
+EINVAL
+, 
+ENOENT
+);
+
+981 \15 
+»t_¬p_d©a
+;
+
+984 \15 
+NULL
+;
+
+985 
+       }
+}
+
+993 \19
+nd_\92\8cy_d©a
+ *
+       $»\8c\9bve_nd_\92\8cy
+(\19
+nd_key_\9dv6
+nd_key
+)
+
+995 \19
+nd_\92\8cy_d©a
+ *
+»t_nd_d©a
+ = 
+NULL
+;
+
+996 
+nd_key
+.
+f\9eËr1
+ = 0;
+
+997 
+nd_key
+.
+f\9eËr2
+ = 0;
+
+998 
+nd_key
+.
+f\9eËr3
+ = 0;
+
+1001 \12
+»t
+ = 
+       `¹e_hash_lookup_d©a
+(
+nd_hash_hªdË
+, &
+nd_key
+,
+
+1002 (\1e**)&
+»t_nd_d©a
+);
+
+1003 ià(
+»t
+ < 0) {
+
+1004 ià(
+NDIPV6_DEBUG
+)
+
+1005 
+       `´\9atf
+("nd-hash:\82o\86ookup Entry Found - "
+
+1007 
+»t
+, 
+EINVAL
+, 
+ENOENT
+);
+
+1009 \15 
+»t_nd_d©a
+;
+
+1012 \15 
+NULL
+;
+
+1013 
+       }
+}
+
+1015 \1e
+       $´\9at_¬p_\8f
+(\1e)
+
+1017 cڡ \1e*
+Ãxt_key
+;
+
+1018 \1e*
+Ãxt_d©a
+;
+
+1019 
+u\9at32_t
+\99\94
+ = 0;
+
+1021 
+       `´\9atf
+("\tport hw\87ddr status ip\87ddr\n");
+
+1023 \1f
+       `¹e_hash_\99\94©e
+(
+¬p_hash_hªdË
+, &
+Ãxt_key
+, &
+Ãxt_d©a
+, &
+\99\94
+)
+
+1026 \19
+¬p_\92\8cy_d©a
+ *
+tmp_¬p_d©a
+ =
+
+1027 (\19
+¬p_\92\8cy_d©a
+ *)
+Ãxt_d©a
+;
+
+1028 \19
+¬p_key_\9dv4
+tmp_¬p_key
+;
+
+1029 
+       `memýy
+(&
+tmp_¬p_key
+, 
+Ãxt_key
+, \17(\19
+¬p_key_\9dv4
+));
+
+1030 
\9atf
+
+
+1032 
+tmp_¬p_d©a
+->
+pÜt
+,\81mp_¬p_d©a->
+\91h_addr
+.
+addr_by\8bs
+[0],
+
+1033 
+tmp_¬p_d©a
+->
+\91h_addr
+.
+addr_by\8bs
+[1],
+
+1034 
+tmp_¬p_d©a
+->
+\91h_addr
+.
+addr_by\8bs
+[2],
+
+1035 
+tmp_¬p_d©a
+->
+\91h_addr
+.
+addr_by\8bs
+[3],
+
+1036 
+tmp_¬p_d©a
+->
+\91h_addr
+.
+addr_by\8bs
+[4],
+
+1037 
+tmp_¬p_d©a
+->
+\91h_addr
+.
+addr_by\8bs
+[5],
+
+1038 
+tmp_¬p_d©a
+->
+¡©us
+ ==
+
+1039 
+COMPLETE
+ ? "COMPLETE" : "INCOMPLETE",
+
+1040 (
+tmp_¬p_d©a
+->
+\9d
+ >> 24),
+
+1041 ((
+tmp_¬p_d©a
+->
+\9d
+ & 0x00ff0000) >> 16),
+
+1042 ((
+tmp_¬p_d©a
+->
+\9d
+ & 0x0000ff00) >> 8),
+
+1043 ((
+tmp_¬p_d©a
+->
+\9d
+ & 0x000000ff)));
+
+1046 
+u\9at32_t
+i
+ = 0;
+
+1047 
+       `´\9atf
+("\nARP\84out\9ag\81abË ha %d\83Ár\9bs\n", 
+¬p_rou\8b_tbl_\9adex
+);
+
+1048 
+       `´\9atf
+("\nIP_Address Mask Port NH_IP_Address\n");
+
+1049 \ f
+i
+ = 0; i < 
+¬p_rou\8b_tbl_\9adex
+; i++) {
+
+1050 
+       `´\9atf
+("0x%x 0x%x %d 0x%x\n",
+
+1051 
+lib_¬p_rou\8b_\8f
+[
+i
+].
+\9d
+,
+
+1052 
+lib_¬p_rou\8b_\8f
+[
+i
+].
+mask
+,
+
+1053 
+lib_¬p_rou\8b_\8f
+[
+i
+].
+pÜt
+,\86ib_¬p_rou\8b_\8fbË[i].
+nh
+);
+
+1056 
+       `´\9atf
+("\nARP Stats: Total Queries %u, ok_NH %u,\82o_NH %u, "
+
+1058 
+lib_¬p_g\91_mac_»q
+, 
+lib_¬p_nh_found
+, 
+lib_¬p_no_nh_found
+,
+
+1059 
+lib_¬p_¬p_\92\8cy_found
+, 
+lib_¬p_no_¬p_\92\8cy_found
+,
+
+1060 
+lib_¬p_pÝuÏ\8b_ÿÎed
+, 
+lib_¬p_d\96\91e_ÿÎed
+,
+
+1061 
+lib_¬p_du¶iÿ\8b_found
+);
+
+1063 
+       `´\9atf
+("ARP\81abË key\86\92 i %lu\n", \17(\19
+¬p_key_\9dv4
+));
+
+1064 
+       }
+}
+
+1067 \1e
+       $´\9at_nd_\8f
+(\1e)
+
+1069 cڡ \1e*
+Ãxt_key
+;
+
+1070 \1e*
+Ãxt_d©a
+;
+
+1071 
+u\9at32_t
+\99\94
+ = 0;
+
+1072 
+u\9at8_t
+ii
+ = 0, 
+j
+ = 0, 
+k
+ = 0;
+
+1074 
+       `´\9atf
+("\tport hw\87ddr status ip\87ddr\n");
+
+1076 \1f
+       `¹e_hash_\99\94©e
+(
+nd_hash_hªdË
+, &
+Ãxt_key
+, &
+Ãxt_d©a
+, &
+\99\94
+) >=
+
+1079 \19
+nd_\92\8cy_d©a
+ *
+tmp_nd_d©a
+ =
+
+1080 (\19
+nd_\92\8cy_d©a
+ *)
+Ãxt_d©a
+;
+
+1081 \19
+nd_key_\9dv6
+tmp_nd_key
+;
+
+1082 
+       `memýy
+(&
+tmp_nd_key
+, 
+Ãxt_key
+, \17(\19
+nd_key_\9dv6
+));
+
+1083 
+       `´\9atf
+("\t%4d %02X:%02X:%02X:%02X:%02X:%02X %10s\n",
+
+1084 
+tmp_nd_d©a
+->
+pÜt
+,
+
+1085 
+tmp_nd_d©a
+->
+\91h_addr
+.
+addr_by\8bs
+[0],
+
+1086 
+tmp_nd_d©a
+->
+\91h_addr
+.
+addr_by\8bs
+[1],
+
+1087 
+tmp_nd_d©a
+->
+\91h_addr
+.
+addr_by\8bs
+[2],
+
+1088 
+tmp_nd_d©a
+->
+\91h_addr
+.
+addr_by\8bs
+[3],
+
+1089 
+tmp_nd_d©a
+->
+\91h_addr
+.
+addr_by\8bs
+[4],
+
+1090 
+tmp_nd_d©a
+->
+\91h_addr
+.
+addr_by\8bs
+[5],
+
+1091 
+tmp_nd_d©a
+->
+¡©us
+ ==
+
+1092 
+COMPLETE
+ ? "COMPLETE" : "INCOMPLETE");
+
+1093 
+       `´\9atf
+("\t\t\t\t\t\t");
+
+1094 \ f
+ii
+ = 0; i\98
+ND_IPV6_ADDR_SIZE
+; ii += 2) {
+
+1095 
+       `´\9atf
+("%02X%02X ", 
+tmp_nd_d©a
+->
+\9dv6
+[
+ii
+],
+
+1096 
+tmp_nd_d©a
+->
+\9dv6
+[
+ii
+ + 1]);
+
+1098 
+       `´\9atf
+("\n");
+
+1101 
+u\9at32_t
+i
+ = 0;
+
+1102 
+       `´\9atf
+("\n\nND IPV6\84outing\81able has %d\83ntries\n",
+
+1103 
+nd_rou\8b_tbl_\9adex
+);
+
+1104 
+       `´\9atf
+("\nIP_Address Depth Port NH_IP_Address\n");
+
+1105 \ f
+i
+ = 0; i < 
+nd_rou\8b_tbl_\9adex
+; i++) {
+
+1106 
+       `´\9atf
+("\n");
+
+1108 \ f
+j
+ = 0; j < 
+ND_IPV6_ADDR_SIZE
+; j += 2) {
+
+1109 
+       `´\9atf
+("%02X%02X ", 
+lib_nd_rou\8b_\8f
+[
+i
+].
+\9dv6
+[
+j
+],
+
+1110 
+lib_nd_rou\8b_\8f
+[
+i
+].
+\9dv6
+[
+j
+ + 1]);
+
+1113 
\9atf
+
+
+1115 
+lib_nd_rou\8b_\8f
+[
+i
+].
+d\95th
+,\86ib_nd_rou\8b_\8fbË[i].
+pÜt
+);
+
+1116 
+       `´\9atf
+("\t\t\t\t\t\t\t\t\t");
+
+1117 \ f
+k
+ = 0; k < 
+ND_IPV6_ADDR_SIZE
+; k += 2) {
+
+1118 
+       `´\9atf
+("%02X%02X ", 
+lib_nd_rou\8b_\8f
+[
+i
+].
+nh\9dv6
+[
+k
+],
+
+1119 
+lib_nd_rou\8b_\8f
+[
+i
+].
+\9dv6
+[
+k
+ + 1]);
+
+1122 
+       `´\9atf
+("\nND IPV6 Stats:\nTotal Queries %u, ok_NH %u,\82o_NH %u,"
+
+1124 
+lib_nd_g\91_mac_»q
+, 
+lib_nd_nh_found
+, 
+lib_nd_no_nh_found
+,
+
+1125 
+lib_nd_nd_\92\8cy_found
+, 
+lib_nd_no_¬p_\92\8cy_found
+,
+
+1126 
+lib_nd_pÝuÏ\8b_ÿÎed
+, 
+lib_nd_d\96\91e_ÿÎed
+,
+
+1127 
+lib_nd_du¶iÿ\8b_found
+);
+
+1128 
+       `´\9atf
+("ND\81abË key\86\92 i %lu\n\n", \17(\19
+nd_key_\9dv6
+));
+
+1129 
+       }
+}
+
+1131 \1e
+       $»move_¬p_\92\8cy
+(
+u\9at32_t
+\9daddr
+, 
+u\9at8_t
+pÜtid
+)
+
+1136 \19
+¬p_key_\9dv4
+¬p_key
+;
+
+1137 
+¬p_key
+.
+pÜt_id
+ = 
+pÜtid
+;
+
+1138 
+¬p_key
+.
+\9d
+ = 
+\9daddr
+;
+
+1139 
+¬p_key
+.
+f\9eËr1
+ = 0;
+
+1140 
+¬p_key
+.
+f\9eËr2
+ = 0;
+
+1141 
+¬p_key
+.
+f\9eËr3
+ = 0;
+
+1143 
+lib_¬p_d\96\91e_ÿÎed
+++;
+
+1145 ià(
+ARPICMP_DEBUG
+)
+
+1146 
+       `´\9atf
+("»move_¬p_\92\8cy i°%x,\85Ü\88%d\n", 
+¬p_key
+.
+\9d
+,
+
+1147 
+¬p_key
+.
+pÜt_id
+);
+
+1148 
+       `¹e_hash_d\96_key
+(
+¬p_hash_hªdË
+, &
+¬p_key
+);
+
+1149 
+       }
+}
+
+1152 \1e
+       $»move_nd_\92\8cy_\9dv6
+(
+u\9at8_t
+\9dv6addr
+[], u\9at8_\88
+pÜtid
+)
+
+1156 \12
+i
+ = 0;
+
+1157 \19
+nd_key_\9dv6
+nd_key
+;
+
+1158 
+nd_key
+.
+pÜt_id
+ = 
+pÜtid
+;
+
+1161 \ f
+i
+ = 0; i < 
+ND_IPV6_ADDR_SIZE
+; i++)
+
+1162 
+nd_key
+.
+\9dv6
+[
+i
+] = 
+\9dv6addr
+[i];
+
+1164 
+nd_key
+.
+f\9eËr1
+ = 0;
+
+1165 
+nd_key
+.
+f\9eËr2
+ = 0;
+
+1166 
+nd_key
+.
+f\9eËr3
+ = 0;
+
+1168 
+lib_nd_d\96\91e_ÿÎed
+++;
+
+1170 ià(
+NDIPV6_DEBUG
+) {
+
+1171 
+       `´\9atf
+("Deletes\84te hash\81able\82d\83ntry for\85ort %d ipv6=",
+
+1172 
+nd_key
+.
+pÜt_id
+);
+
+1173 \ f
+i
+ = 0; i < 
+ND_IPV6_ADDR_SIZE
+; i += 2)
+
+1174 
+       `´\9atf
+("%02X%02X ", 
+nd_key
+.
+\9dv6
+[
+i
+],\82d_key.ipv6[i + 1]);
+
+1176 
+       `¹e_hash_d\96_key
+(
+nd_hash_hªdË
+, &
+nd_key
+);
+
+1177 
+       }
+}
+
+1180 
+       $pÝuÏ\8b_¬p_\92\8cy
+(cڡ \19
+\91h\94_addr
+ *
+hw_addr
+, 
+u\9at32_t
+\9daddr
+,
+
+1181 
+u\9at8_t
+pÜtid
+)
+
+1185 \19
+¬p_key_\9dv4
+¬p_key
+;
+
+1186 
+¬p_key
+.
+pÜt_id
+ = 
+pÜtid
+;
+
+1187 
+¬p_key
+.
+\9d
+ = 
+\9daddr
+;
+
+1188 
+¬p_key
+.
+f\9eËr1
+ = 0;
+
+1189 
+¬p_key
+.
+f\9eËr2
+ = 0;
+
+1190 
+¬p_key
+.
+f\9eËr3
+ = 0;
+
+1192 
+lib_¬p_pÝuÏ\8b_ÿÎed
+++;
+
+1194 ià(
+ARPICMP_DEBUG
+)
+
+1195 
+       `´\9atf
+("pÝuÏ\8b_¬p_\92\8cy i°%x,\85Ü\88%d\n", 
+¬p_key
+.
+\9d
+,
+
+1196 
+¬p_key
+.
+pÜt_id
+);
+
+1197 \19
+¬p_\92\8cy_d©a
+ *
+Ãw_¬p_d©a
+ = 
+       `»\8c\9bve_¬p_\92\8cy
+(
+¬p_key
+);
+
+1198 ià(
+Ãw_¬p_d©a
+
+
+1199 && 
+       `is_§me_\91h\94_addr
+(&
+Ãw_¬p_d©a
+->
+\91h_addr
+, 
+hw_addr
+)) {
+
+1200 ià(
+ARPICMP_DEBUG
+)
+
+1201 
+       `´\9atf
+("¬p_\92\8cy\83xi¡ \9d%x,\85Ü\88%d\n", 
+¬p_key
+.
+\9d
+,
+
+1202 
+¬p_key
+.
+pÜt_id
+);
+
+1203 
+lib_¬p_du¶iÿ\8b_found
+++;
+
+1206 
+Ãw_¬p_d©a
+ = (\19
+¬p_\92\8cy_d©a
+ *)
+
+1207 
+       `m®loc
+(\17(\19
+¬p_\92\8cy_d©a
+));
+
+1208 ià(
+Ãw_¬p_d©a
+ =ð
+NULL
+) {
+
+1209 
+       `´\9atf
+("populate_arp_entry:new_arp_data is NULL\n");
+
+1212 
+Ãw_¬p_d©a
+->
+\91h_addr
+ = *
+hw_addr
+;
+
+1213 
+Ãw_¬p_d©a
+->
+¡©us
+ = 
+INCOMPLETE
+;
+
+1214 
+Ãw_¬p_d©a
+->
+pÜt
+ = 
+pÜtid
+;
+
+1215 
+Ãw_¬p_d©a
+->
+\9d
+ = 
+\9daddr
+;
+
+1216 
+       `¹e_hash_add_key_d©a
+(
+¬p_hash_hªdË
+, &
+¬p_key
+, 
+Ãw_¬p_d©a
+);
+
+1218 ià(
+ARPICMP_DEBUG
+) {
+
+1220 
+       `´\9atf
+("\tARP:\81able update - hwaddr= "
+
+1223 
+Ãw_¬p_d©a
+->
+\91h_addr
+.
+addr_by\8bs
+[0],
+
+1224 
+Ãw_¬p_d©a
+->
+\91h_addr
+.
+addr_by\8bs
+[1],
+
+1225 
+Ãw_¬p_d©a
+->
+\91h_addr
+.
+addr_by\8bs
+[2],
+
+1226 
+Ãw_¬p_d©a
+->
+\91h_addr
+.
+addr_by\8bs
+[3],
+
+1227 
+Ãw_¬p_d©a
+->
+\91h_addr
+.
+addr_by\8bs
+[4],
+
+1228 
+Ãw_¬p_d©a
+->
+\91h_addr
+.
+addr_by\8bs
+[5],
+
+1229 (
+¬p_key
+.
+\9d
+ >> 24),
+
+1230 ((
+¬p_key
+.
+\9d
+ & 0x00ff0000) >> 16),
+
+1231 ((
+¬p_key
+.
+\9d
+ & 0x0000ff00) >> 8),
+
+1232 ((
+¬p_key
+.
+\9d
+ & 0x000000ff)), 
+pÜtid
+);
+
+1234 
+       `puts
+("");
+
+1236 
+       }
+}
+
+1245 
+       $pÝuÏ\8b_nd_\92\8cy
+(cڡ \19
+\91h\94_addr
+ *
+hw_addr
+, 
+u\9at8_t
+\9dv6
+[],
+
+1246 
+u\9at8_t
+pÜtid
+)
+
+1251 
+u\9at8_t
+i
+;
+
+1252 \19
+nd_key_\9dv6
+nd_key
+;
+
+1253 
+nd_key
+.
+pÜt_id
+ = 
+pÜtid
+;
+
+1255 \ f
+i
+ = 0; i < 
+ND_IPV6_ADDR_SIZE
+; i++ )
+
+1256 
+nd_key
+.
+\9dv6
+[
+i
+] = ipv6[i];
+
+1258 
+       `´\9atf
+("\n");
+
+1259 
+nd_key
+.
+f\9eËr1
+ = 0;
+
+1260 
+nd_key
+.
+f\9eËr2
+ = 0;
+
+1261 
+nd_key
+.
+f\9eËr3
+ = 0;
+
+1263 
+lib_nd_pÝuÏ\8b_ÿÎed
+++;
+
+1268 \19
+nd_\92\8cy_d©a
+ *
+Ãw_nd_d©a
+ = 
+       `»\8c\9bve_nd_\92\8cy
+(
+nd_key
+);
+
+1270 ià(
+Ãw_nd_d©a
+ && 
+       `is_§me_\91h\94_addr
+(&Ãw_nd_d©a->
+\91h_addr
+,
+
+1271 
+hw_addr
+)) {
+
+1273 ià(
+NDIPV6_DEBUG
+) {
+
+1274 
+       `´\9atf
+("nd_entry\83xists\85ort %d ipv6 = ",
+
+1275 
+nd_key
+.
+pÜt_id
+);
+
+1276 \ f
+i
+ = 0; i < 
+ND_IPV6_ADDR_SIZE
+; i += 2) {
+
+1278 
+       `´\9atf
+("%02X%02X ", 
+nd_key
+.
+\9dv6
+[
+i
+],
+
+1279 
+nd_key
+.
+\9dv6
+[
+i
+ + 1]);
+
+1283 
+lib_nd_du¶iÿ\8b_found
+++;
+
+1284 ià(
+NDIPV6_DEBUG
+)
+
+1285 
+       `´\9atf
+("nd_entry\83xists\n");
+
+1289 
+Ãw_nd_d©a
+ = (\19
+nd_\92\8cy_d©a
+ *)
+
+1290 
+       `m®loc
+(\17(\19
+nd_\92\8cy_d©a
+));
+
+1291 ià(
+Ãw_nd_d©a
+ =ð
+NULL
+) {
+
+1292 
+       `´\9atf
+("populate_nd_entry:\82ew_nd_data is NULL\n");
+
+1295 
+Ãw_nd_d©a
+->
+\91h_addr
+ = *
+hw_addr
+;
+
+1296 
+Ãw_nd_d©a
+->
+¡©us
+ = 
+COMPLETE
+;
+
+1297 
+Ãw_nd_d©a
+->
+pÜt
+ = 
+pÜtid
+;
+
+1299 ià(
+NDIPV6_DEBUG
+)
+
+1300 
+       `´\9atf
+("populate_nd_entry ipv6=");
+
+1302 \ f
+i
+ = 0; i < 
+ND_IPV6_ADDR_SIZE
+; i++ )
+
+1303 
+Ãw_nd_d©a
+->
+\9dv6
+[
+i
+] = ipv6[i];
+
+1305 ià(
+NDIPV6_DEBUG
+) {
+
+1306 \ f
+i
+ = 0; i < 
+ND_IPV6_ADDR_SIZE
+; i += 2) {
+
+1308 
+       `´\9atf
+("%02X%02X ", 
+Ãw_nd_d©a
+->
+\9dv6
+[
+i
+],
+
+1309 
+Ãw_nd_d©a
+->
+\9dv6
+[
+i
+ + 1]);
+
+1314 
+       `¹e_hash_add_key_d©a
+(
+nd_hash_hªdË
+, &
+nd_key
+, 
+Ãw_nd_d©a
+);
+
+1316 ià(
+NDIPV6_DEBUG
+)
+
+1317 
+       `´\9atf
+("\n....Added\87 key-data\85air\87t\84te hash\81able "
+
+1320 ià(
+NDIPV6_DEBUG
+) {
+
+1322 
+       `´\9atf
+("\tND:\81able update - hwaddr= "
+
+1324 
+Ãw_nd_d©a
+->
+\91h_addr
+.
+addr_by\8bs
+[0],
+
+1325 
+Ãw_nd_d©a
+->
+\91h_addr
+.
+addr_by\8bs
+[1],
+
+1326 
+Ãw_nd_d©a
+->
+\91h_addr
+.
+addr_by\8bs
+[2],
+
+1327 
+Ãw_nd_d©a
+->
+\91h_addr
+.
+addr_by\8bs
+[3],
+
+1328 
+Ãw_nd_d©a
+->
+\91h_addr
+.
+addr_by\8bs
+[4],
+
+1329 
+Ãw_nd_d©a
+->
+\91h_addr
+.
+addr_by\8bs
+[5], 
+pÜtid
+);
+
+1330 
+       `´\9atf
+("\tipv6=");
+
+1331 \ f
+i
+ = 0; i < 
+ND_IPV6_ADDR_SIZE
+; i += 2) {
+
+1332 
+Ãw_nd_d©a
+->
+\9dv6
+[
+i
+] = ipv6[i];
+
+1333 
+       `´\9atf
+("%02X%02X ", 
+Ãw_nd_d©a
+->
+\9dv6
+[
+i
+],
+
+1334 
+Ãw_nd_d©a
+->
+\9dv6
+[
+i
+ + 1]);
+
+1337 
+       `´\9atf
+("\n");
+
+1339 
+       `puts
+("");
+
+1342 
+       }
+}
+
+1344 \1e
+       $´\9at_pkt1
+(\19
+¹e_mbuf
+ *
+pkt
+)
+
+1346 
+u\9at8_t
+ *
+rd
+ = 
+       `RTE_MBUF_METADATA_UINT8_PTR
+(
+pkt
+, 0);
+
+1347 \12
+i
+ = 0, 
+j
+ = 0;
+
+1348 
+       `´\9atf
+("\nPacket Contents...\n");
+
+1349 \ f
+i
+ = 0; i < 20; i++) {
+
+1350 \ f
+j
+ = 0; j < 20; j++)
+
+1351 
+       `´\9atf
+("%02x ", 
+rd
+[(20 * 
+i
+è+ 
+j
+]);
+
+1352 
+       `´\9atf
+("\n");
+
+1354 
+       }
+}
+
+1356 \19
+\91h\94_addr
+       gbrßdÿ¡_\91h\94_addr
+ = {
+
+1357 .
+addr_by\8bs
+[0] = 0xFF,
+
+1358 .
+       gaddr_by\8bs
+[1] = 0xFF,
+
+1359 .
+       gaddr_by\8bs
+[2] = 0xFF,
+
+1360 .
+       gaddr_by\8bs
+[3] = 0xFF,
+
+1361 .
+       gaddr_by\8bs
+[4] = 0xFF,
+
+1362 .
+       gaddr_by\8bs
+[5] = 0xFF,
+
+1365 \18cڡ \19
+\91h\94_addr
+       gnuÎ_\91h\94_addr
+ = {
+
+1366 .
+addr_by\8bs
+[0] = 0x00,
+
+1367 .
+       gaddr_by\8bs
+[1] = 0x00,
+
+1368 .
+       gaddr_by\8bs
+[2] = 0x00,
+
+1369 .
+       gaddr_by\8bs
+[3] = 0x00,
+
+1370 .
+       gaddr_by\8bs
+[4] = 0x00,
+
+1371 .
+       gaddr_by\8bs
+[5] = 0x00,
+
+1374 \ 1
+       #MAX_NUM_MAC_ADDRESS
+ 16
+
+       )
+
+1375 \19
+\91h\94_addr
+       gl\9ak_hw_addr
+[
+MAX_NUM_MAC_ADDRESS
+] = {
+
+1376 {.
+addr_by\8bs
+ = {0x90, 0xe2, 0xba, 0x54, 0x67, 0xc8} },
+
+1377 {.
+       gaddr_by\8bs
+ = {0x90, 0xe2, 0xba, 0x54, 0x67, 0xc9} },
+
+1378 {.
+       gaddr_by\8bs
+ = {0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11} },
+
+1379 {.
+       gaddr_by\8bs
+ = {0x12, 0x13, 0x14, 0x15, 0x16, 0x17} },
+
+1380 {.
+       gaddr_by\8bs
+ = {0x22, 0x33, 0x44, 0x55, 0x66, 0x77} },
+
+1381 {.
+       gaddr_by\8bs
+ = {0x12, 0x13, 0x14, 0x15, 0x16, 0x17} },
+
+1382 {.
+       gaddr_by\8bs
+ = {0x22, 0x33, 0x44, 0x55, 0x66, 0x77} },
+
+1383 {.
+       gaddr_by\8bs
+ = {0x90, 0xe2, 0xba, 0x54, 0x67, 0xc9} },
+
+1384 {.
+       gaddr_by\8bs
+ = {0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11} },
+
+1385 {.
+       gaddr_by\8bs
+ = {0x12, 0x13, 0x14, 0x15, 0x16, 0x17} },
+
+1386 {.
+       gaddr_by\8bs
+ = {0x22, 0x33, 0x44, 0x55, 0x66, 0x77} },
+
+1387 {.
+       gaddr_by\8bs
+ = {0x12, 0x13, 0x14, 0x15, 0x16, 0x17} },
+
+1388 {.
+       gaddr_by\8bs
+ = {0x22, 0x33, 0x44, 0x55, 0x66, 0x77} },
+
+1389 {.
+       gaddr_by\8bs
+ = {0x12, 0x13, 0x14, 0x15, 0x16, 0x17} },
+
+1390 {.
+       gaddr_by\8bs
+ = {0x22, 0x33, 0x44, 0x55, 0x66, 0x77} },
+
+1391 {.
+       gaddr_by\8bs
+ = {0x18, 0x19, 0x1a, 0x1b, 0xcd, 0xef} }
+
+1394 \19
+\91h\94_addr
+ *
+       $g\91_l\9ak_hw_addr
+(
+u\9at8_t
+out_pÜt
+)
+
+1396 \15 &
+l\9ak_hw_addr
+[
+out_pÜt
+];
+
+1397 
+       }
+}
+
+1400 
+       $»que¡_icmp_echo
+(\1d\12
+pÜt_id
+, 
+u\9at32_t
+\9d
+, \19
+\91h\94_addr
+ *
+gw_addr
+)
+
+1402 \19
+\91h\94_hdr
+ *
+\91h_h
+;
+
+1403 \19
+\9dv4_hdr
+ *
+\9d_h
+;
+
+1404 \19
+icmp_hdr
+ *
+icmp_h
+;
+
+1406 \19
+­p_l\9ak_·¿ms
+ *
+l\9ak
+;
+
+1407 
+l\9ak
+ = &
+myAµ
+->
+l\9ak_·¿ms
+[
+pÜt_id
+];
+
+1408 
+¬p_pÜt_add»s£s
+[
+pÜt_id
+].
+\9d
+ = 
+l\9ak
+->ip;
+
+1409 
+¬p_pÜt_add»s£s
+[
+pÜt_id
+].
+mac_addr
+ = 
+l\9ak
+->mac_addr;
+
+1411 \19
+¹e_mbuf
+ *
+icmp_pkt
+ = 
+lib_¬p_pkt
+;
+
+1412 ià(
+icmp_pkt
+ =ð
+NULL
+) {
+
+1413 ià(
+ARPICMP_DEBUG
+)
+
+1414 
+       `´\9atf
+("Error\87llocating icmp_pkt\84te_mbuf\n");
+
+1418 
+\91h_h
+ = 
+       `¹e_pktmbuf_mtod
+(
+icmp_pkt
+, \19
+\91h\94_hdr
+ *);
+
+1419 
+       `\91h\94_addr_cÝy
+(
+gw_addr
+, &
+\91h_h
+->
+d_addr
+);
+
+1420 
+       `\91h\94_addr_cÝy
+((\19
+\91h\94_addr
+ *)
+
+1421 &
+¬p_pÜt_add»s£s
+[
+pÜt_id
+].
+mac_addr
+, &
+\91h_h
+->
+s_addr
+);
+
+1422 
+\91h_h
+->
+\91h\94_ty³
+ = 
+       `CHECK_ENDIAN_16
+(
+ETHER_TYPE_IPv4
+);
+
+1424 
+\9d_h
+ = (\19
+\9dv4_hdr
+ *)((\ 5*)
+\91h_h
+ + \17(\19
+\91h\94_hdr
+));
+
+1425 
+icmp_h
+ = (\19
+icmp_hdr
+ *)((\ 5*)
+\9d_h
+ + \17(\19
+\9dv4_hdr
+));
+
+1427 
+\9d_h
+->
+v\94siÚ_ihl
+ = 
+IP_VHL_DEF
+;
+
+1428 
+\9d_h
+->
+ty³_of_£rviû
+ = 0;
+
+1429 
+\9d_h
+->
+tÙ®_Ëngth
+ =
+
+1430 
+       `¹e_ýu_to_be_16
+(\17(\19
+\9dv4_hdr
+è+ \17(\19
+icmp_hdr
+));
+
+1431 
+\9d_h
+->
+·ck\91_id
+ = 0xaabb;
+
+1432 
+\9d_h
+->
+äagm\92t_off£t
+ = 0x0000;
+
+1433 
+\9d_h
+->
+time_to_live
+ = 64;
+
+1434 
+\9d_h
+->
+Ãxt_´Ùo_id
+ = 
+IPPROTO_ICMP
+;
+
+1435 
+\9d_h
+->
+¤c_addr
+ = 
+       `¹e_bsw­32
+(
+¬p_pÜt_add»s£s
+[
+pÜt_id
+].
+\9d
+);
+
+1436 
+\9d_h
+->
+d¡_addr
+ = 
+\9d
+;
+
+1438 
+\9d_h
+->
+hdr_checksum
+ = 0;
+
+1439 
+\9d_h
+->
+hdr_checksum
+ = 
+       `¹e_\9dv4_cksum
+(ip_h);
+
+1441 
+icmp_h
+->
+icmp_ty³
+ = 
+IP_ICMP_ECHO_REQUEST
+;
+
+1442 
+icmp_h
+->
+icmp_code
+ = 0;
+
+1443 
+icmp_h
+->
+icmp_id\92t
+ = 0xdead;
+
+1444 
+icmp_h
+->
+icmp_£q_nb
+ = 0xbeef;
+
+1446 
+icmp_h
+->
+icmp_cksum
+ = ~
+       `¹e_¿w_cksum
+(icmp_h, \17(\19
+icmp_hdr
+));
+
+1448 
+icmp_pkt
+->
+pkt_Ën
+ =
+
+1449 \17(\19
+\91h\94_hdr
+è+ \17(\19
+\9dv4_hdr
+) +
+
+1450 \17(\19
+icmp_hdr
+);
+
+1451 
+icmp_pkt
+->
+d©a_Ën
+ = icmp_pkt->
+pkt_Ën
+;
+
+1453 ià(
+ARPICMP_DEBUG
+) {
+
+1454 
+       `´\9atf
+("Sending\83cho\84equest\n");
+
+1455 
+       `´\9at_mbuf
+("TX", 
+pÜt_id
+, 
+icmp_pkt
+, 
+__LINE__
+);
+
+1458 
+       `¹e_p\9d\96\9ae_pÜt_out_·ck\91_\9a£¹
+(
+gp_¬p
+->
+p
+.p,
+
+1459 
+gp_¬p
+->
+ou\8dÜt_id
+[
+pÜt_id
+], 
+icmp_pkt
+);
+
+1460 
+gp_¬p
+->
+£ÁPktCouÁ
+++;
+
+1461 
+       }
+}
+
+1463 \1e
+       $»que¡_echo
+(\1d\12
+pÜt_id
+, 
+u\9at32_t
+\9d
+)
+
+1465 (\1e)
+pÜt_id
+;
+
+1466 (\1e)
+\9d
+;
+
+1468 \19
+\91h\94_addr
+gw_addr
+;
+
+1469 
+u\9at32_t
+de¡_\9d
+ = 
+       `¹e_bsw­32
+(
+\9d
+);
+
+1470 
+u\9at32_t
+phy_pÜt
+;
+
+1472 ià(
+       `g\91_de¡_mac_addr_pÜt
+(
+de¡_\9d
+, &
+phy_pÜt
+, &
+gw_addr
+è=ð
+ARP_FOUND
+) {
+
+1473 
+       `»que¡_icmp_echo
+(
+phy_pÜt
+, 
+\9d
+, &
+gw_addr
+);
+
+1477 ià(
+ARPICMP_DEBUG
+)
+
+1478 
+       `´\9atf
+("Sending\83cho\84equest ... get mac failed.\n");
+
+1479 
+       }
+}
+
+1481 \1e
+       $»que¡_¬p
+(
+u\9at8_t
+pÜt_id
+, 
+u\9at32_t
+\9d
+, \19
+¹e_p\9d\96\9ae
+ *
+¹e_p
+)
+
+1483 (\1e)
+pÜt_id
+;
+
+1484 (\1e)
+\9d
+;
+
+1486 \19
+\91h\94_hdr
+ *
+\91h_h
+;
+
+1487 \19
+¬p_hdr
+ *
+¬p_h
+;
+
+1489 \19
+­p_l\9ak_·¿ms
+ *
+l\9ak
+;
+
+1490 
+l\9ak
+ = &
+myAµ
+->
+l\9ak_·¿ms
+[
+pÜt_id
+];
+
+1491 
+¬p_pÜt_add»s£s
+[
+pÜt_id
+].
+\9d
+ = 
+l\9ak
+->ip;
+
+1492 
+¬p_pÜt_add»s£s
+[
+pÜt_id
+].
+mac_addr
+ = 
+l\9ak
+->mac_addr;
+
+1494 \19
+¹e_mbuf
+ *
+¬p_pkt
+ = 
+lib_¬p_pkt
+;
+
+1496 ià(
+¬p_pkt
+ =ð
+NULL
+) {
+
+1497 ià(
+ARPICMP_DEBUG
+)
+
+1498 
+       `´\9atf
+("Error\87llocating\87rp_pkt\84te_mbuf\n");
+
+1502 
+\91h_h
+ = 
+       `¹e_pktmbuf_mtod
+(
+¬p_pkt
+, \19
+\91h\94_hdr
+ *);
+
+1504 
+       `\91h\94_addr_cÝy
+(&
+brßdÿ¡_\91h\94_addr
+, &
+\91h_h
+->
+d_addr
+);
+
+1505 
+       `\91h\94_addr_cÝy
+((\19
+\91h\94_addr
+ *)
+
+1506 &
+¬p_pÜt_add»s£s
+[
+pÜt_id
+].
+mac_addr
+, &
+\91h_h
+->
+s_addr
+);
+
+1507 
+\91h_h
+->
+\91h\94_ty³
+ = 
+       `CHECK_ENDIAN_16
+(
+ETHER_TYPE_ARP
+);
+
+1509 
+¬p_h
+ = (\19
+¬p_hdr
+ *)((\ 5*)
+\91h_h
+ + \17(\19
+\91h\94_hdr
+));
+
+1510 
+¬p_h
+->
+¬p_hrd
+ = 
+       `CHECK_ENDIAN_16
+(
+ARP_HRD_ETHER
+);
+
+1511 
+¬p_h
+->
+¬p_´o
+ = 
+       `CHECK_ENDIAN_16
+(
+ETHER_TYPE_IPv4
+);
+
+1512 
+¬p_h
+->
+¬p_hÊ
+ = 
+ETHER_ADDR_LEN
+;
+
+1513 
+¬p_h
+->
+¬p_¶n
+ = \17(
+u\9at32_t
+);
+
+1514 
+¬p_h
+->
+¬p_Ý
+ = 
+       `CHECK_ENDIAN_16
+(
+ARP_OP_REQUEST
+);
+
+1516 
+       `\91h\94_addr_cÝy
+((\19
+\91h\94_addr
+ *)
+
+1517 &
+¬p_pÜt_add»s£s
+[
+pÜt_id
+].
+mac_addr
+,
+
+1518 &
+¬p_h
+->
+¬p_d©a
+.
+¬p_sha
+);
+
+1519 
+¬p_h
+->
+¬p_d©a
+.
+¬p_s\9d
+ =
+
+1520 
+       `¹e_ýu_to_be_32
+(
+¬p_pÜt_add»s£s
+[
+pÜt_id
+].
+\9d
+);
+
+1521 
+       `\91h\94_addr_cÝy
+(&
+nuÎ_\91h\94_addr
+, &
+¬p_h
+->
+¬p_d©a
+.
+¬p_tha
+);
+
+1522 
+¬p_h
+->
+¬p_d©a
+.
+¬p_t\9d
+ = 
+       `¹e_ýu_to_be_32
+(
+\9d
+);
+
+1523 
+       `´\9atf
+("¬°t\9d:%x\87½ s\9d :%x\n", 
+¬p_h
+->
+¬p_d©a
+.
+¬p_t\9d
+,
+
+1524 
+¬p_h
+->
+¬p_d©a
+.
+¬p_s\9d
+);
+
+1530 
+¬p_pkt
+->
+pkt_Ën
+ = 42;
+
+1531 
+¬p_pkt
+->
+d©a_Ën
+ = 42;
+
+1533 ià(
+ARPICMP_DEBUG
+) {
+
+1534 
+       `´\9atf
+("Sending\87rp\84equest\n");
+
+1535 
+       `´\9at_mbuf
+("TX", 
+pÜt_id
+, 
+¬p_pkt
+, 
+__LINE__
+);
+
+1538 
+       `¹e_p\9d\96\9ae_pÜt_out_·ck\91_\9a£¹
+(
+¹e_p
+, 
+pÜt_id
+, 
+¬p_pkt
+);
+
+1539 
+gp_¬p
+->
+£ÁPktCouÁ
+++;
+
+1541 
+       }
+}
+
+1543 \1e
+       $»que¡_¬p_w¿p
+(
+u\9at8_t
+pÜt_id
+, 
+u\9at32_t
+\9d
+)
+
+1545 
+       `»que¡_¬p
+(
+pÜt_id
+, 
+\9d
+, 
+gp_¬p
+->
+p
+.p);
+
+1546 
+       }
+}
+
+1548 \1e
+       $´oûss_¬picmp_pkt
+(
+
+1549 \19
+¹e_mbuf
+ *
+pkt
+,
+
+1550 
+u\9at32_t
+out_pÜt
+,
+
+1551 
+u\9at32_t
+pkt_mask
+)
+
+1553 
+u\9at8_t
+\9a_pÜt_id
+ = 
+pkt
+->
+pÜt
+;
+
+1554 \19
+­p_l\9ak_·¿ms
+ *
+l\9ak
+;
+
+1555 \19
+\91h\94_hdr
+ *
+\91h_h
+;
+
+1556 \19
+¬p_hdr
+ *
+¬p_h
+;
+
+1557 \19
+\9dv4_hdr
+ *
+\9d_h
+;
+
+1558 \19
+icmp_hdr
+ *
+icmp_h
+;
+
+1559 
+u\9at32_t
+cksum
+;
+
+1560 
+u\9at32_t
+\9d_addr
+;
+
+1561 
+u\9at32_t
+»q_t\9d
+;
+
+1564 
+\91h_h
+ = 
+       `¹e_pktmbuf_mtod
+(
+pkt
+, \19
+\91h\94_hdr
+ *);
+
+1566 ià(
+\91h_h
+->
+\91h\94_ty³
+ =ð
+       `¹e_ýu_to_be_16
+(
+ETHER_TYPE_ARP
+)) {
+
+1567 
+¬p_h
+ =
+
+1568 (\19
+¬p_hdr
+ *)((\ 5*)
+\91h_h
+ +
+
+1569 \17(\19
+\91h\94_hdr
+));
+
+1570 ià(
+       `CHECK_ENDIAN_16
+(
+¬p_h
+->
+¬p_hrd
+è!ð
+ARP_HRD_ETHER
+)
+
+1571 
\9atf
+
+
+1574 \vià(
+       `CHECK_ENDIAN_16
+(
+¬p_h
+->
+¬p_´o
+è!ð
+ETHER_TYPE_IPv4
+)
+
+1575 
\9atf
+
+
+1578 \vià(
+¬p_h
+->
+¬p_hÊ
+ != 6)
+
+1579 
\9atf
+
+
+1582 \vià(
+¬p_h
+->
+¬p_¶n
+ != 4)
+
+1583 
\9atf
+
+
+1587 
+l\9ak
+ = &
+myAµ
+->
+l\9ak_·¿ms
+[
+\9a_pÜt_id
+];
+
+1588 
+¬p_pÜt_add»s£s
+[
+\9a_pÜt_id
+].
+\9d
+ = 
+l\9ak
+->ip;
+
+1589 
+¬p_pÜt_add»s£s
+[
+\9a_pÜt_id
+].
+mac_addr
+ =
+
+1590 
+l\9ak
+->
+mac_addr
+;
+
+1592 ià(
+¬p_h
+->
+¬p_d©a
+.
+¬p_t\9d
+ !=
+
+1593 
+       `¹e_bsw­32
+(
+¬p_pÜt_add»s£s
+[
+\9a_pÜt_id
+].
+\9d
+)) {
+
+1594 
\9atf
+
+
+1597 
+       `´\9atf
+("arp_tip = %x\n",
+
+1598 
+¬p_h
+->
+¬p_d©a
+.
+¬p_t\9d
+);
+
+1599 
+       `´\9atf
+("arp_port_addresses = %x\n",
+
+1600 
+¬p_pÜt_add»s£s
+[
+\9a_pÜt_id
+].
+\9d
+);
+
+1601 
+       `´\9atf
+("\9a_pÜt_id = %x\n", 
+\9a_pÜt_id
+);
+
+1602 
+       `´\9atf
+("arp_port_addresses[0] = %x\n",
+
+1603 
+¬p_pÜt_add»s£s
+[0].
+\9d
+);
+
+1605 
+       `¹e_p\9d\96\9ae_ah_·ck\91_drÝ
+(
+gp_¬p
+->
+p
+.p,
+
+1606 
+pkt_mask
+);
+
+1607 
+gp_¬p
+->
+drݳdPktCouÁ
+++;
+
+1614 \vià(
+¬p_h
+->
+¬p_Ý
+ ==
+
+1615 
+       `¹e_ýu_to_be_16
+(
+ARP_OP_REQUEST
+)) {
+
+1617 ià(
+ARPICMP_DEBUG
+) {
+
+1618 
+       `´\9atf
+("arp_op %d, ARP_OP_REQUEST %d\n",
+
+1619 
+¬p_h
+->
+¬p_Ý
+,
+
+1620 
+       `¹e_ýu_to_be_16
+(
+ARP_OP_REQUEST
+));
+
+1621 
+       `´\9at_mbuf
+("RX", 
+\9a_pÜt_id
+, 
+pkt
+, 
+__LINE__
+);
+
+1624 
+       `pÝuÏ\8b_¬p_\92\8cy
+((\19
+\91h\94_addr
+ *)
+
+1625 &
+¬p_h
+->
+¬p_d©a
+.
+¬p_sha
+,
+
+1626 
+¹e_ýu_to_be_32
+
+
+1627 (
+¬p_h
+->
+¬p_d©a
+.
+¬p_s\9d
+),
+
+1628 
+\9a_pÜt_id
+);
+
+1631 
+»q_t\9d
+ = 
+¬p_h
+->
+¬p_d©a
+.
+¬p_t\9d
+;
+
+1632 
+       `\91h\94_addr_cÝy
+(&
+\91h_h
+->
+s_addr
+, &\91h_h->
+d_addr
+);
+
+1635 
+       `\91h\94_addr_cÝy
+((\19
+\91h\94_addr
+ *)&
+
+1636 
+¬p_pÜt_add»s£s
+[
+\9a_pÜt_id
+].
+mac_addr
+,
+
+1637 &
+\91h_h
+->
+s_addr
+);
+
+1639 
+¬p_h
+->
+¬p_Ý
+ = 
+       `¹e_ýu_to_be_16
+(
+ARP_OP_REPLY
+);
+
+1640 
+       `\91h\94_addr_cÝy
+(&
+\91h_h
+->
+s_addr
+,
+
+1641 &
+¬p_h
+->
+¬p_d©a
+.
+¬p_sha
+);
+
+1642 
+¬p_h
+->
+¬p_d©a
+.
+¬p_t\9d
+ =
+
+1643 
+¬p_h
+->
+¬p_d©a
+.
+¬p_s\9d
+;
+
+1644 
+¬p_h
+->
+¬p_d©a
+.
+¬p_s\9d
+ = 
+»q_t\9d
+;
+
+1645 
+       `\91h\94_addr_cÝy
+(&
+\91h_h
+->
+d_addr
+,
+
+1646 &
+¬p_h
+->
+¬p_d©a
+.
+¬p_tha
+);
+
+1648 
+       `¹e_p\9d\96\9ae_pÜt_out_·ck\91_\9a£¹
+(
+gp_¬p
+->
+p
+.p,
+
+1649 
+out_pÜt
+, 
+pkt
+);
+
+1650 
+gp_¬p
+->
+£ÁPktCouÁ
+++;
+
+1652 } \vià(
+¬p_h
+->
+¬p_Ý
+ ==
+
+1653 
+       `¹e_ýu_to_be_16
+(
+ARP_OP_REPLY
+)) {
+
+1656 ià(
+ARPICMP_DEBUG
+) {
+
+1657 
+       `´\9atf
+("ARP_OP_REPLY\84eceived");
+
+1658 
+       `´\9at_mbuf
+("RX", 
+\9a_pÜt_id
+, 
+pkt
+,
+
+1659 
+__LINE__
+);
+
+1661 
+       `pÝuÏ\8b_¬p_\92\8cy
+((\19
+\91h\94_addr
+ *)
+
+1662 &
+¬p_h
+->
+¬p_d©a
+.
+¬p_sha
+,
+
+1663 
+       `¹e_bsw­32
+(
+¬p_h
+->
+
+1664 
+¬p_d©a
+.
+¬p_s\9d
+),
+
+1665 
+\9a_pÜt_id
+);
+
+1668 
+       `¹e_p\9d\96\9ae_ah_·ck\91_drÝ
+(
+gp_¬p
+->
+p
+.p,
+
+1669 
+pkt_mask
+);
+
+1670 
+gp_¬p
+->
+drݳdPktCouÁ
+++;
+
+1673 ià(
+ARPICMP_DEBUG
+)
+
+1674 
+       `´\9atf
+("Invalid ARP opcode -\82ot "
+
+1676 
+¬p_h
+->
+¬p_Ý
+);
+
+1680 
+\9d_h
+ =
+
+1681 (\19
+\9dv4_hdr
+ *)((\ 5*)
+\91h_h
+ +
+
+1682 \17(\19
+\91h\94_hdr
+));
+
+1683 
+icmp_h
+ =
+
+1684 (\19
+icmp_hdr
+ *)((\ 5*)
+\9d_h
+ + \17(\19
+\9dv4_hdr
+));
+
+1686 ià(
+\91h_h
+->
+\91h\94_ty³
+ =ð
+       `¹e_ýu_to_be_16
+(
+ETHER_TYPE_IPv4
+)) {
+
+1688 
+l\9ak
+ = &
+myAµ
+->
+l\9ak_·¿ms
+[
+\9a_pÜt_id
+];
+
+1689 
+¬p_pÜt_add»s£s
+[
+\9a_pÜt_id
+].
+\9d
+ = 
+l\9ak
+->ip;
+
+1690 
+¬p_pÜt_add»s£s
+[
+\9a_pÜt_id
+].
+mac_addr
+ =
+
+1691 
+l\9ak
+->
+mac_addr
+;
+
+1693 ià(!
+       `is_§me_\91h\94_addr
+((\19
+\91h\94_addr
+ *)
+
+1694 &
+¬p_pÜt_add»s£s
+[
+\9a_pÜt_id
+].
+
+1695 
+mac_addr
+, &
+\91h_h
+->
+d_addr
+)) {
+
+1697 ià(
+ARPICMP_DEBUG
+)
+
+1698 
+       `´\9atf
+("Ethernet frame\82ot destined "
+
+1702 } \vià(
+\9d_h
+->
+Ãxt_´Ùo_id
+ !ð
+IPPROTO_ICMP
+) {
+
+1703 ià(
+ARPICMP_DEBUG
+)
+
+1704 
+       `´\9atf
+("IP\85rotocol ID is\82ot set\81o "
+
+1707 } \vià((
+\9d_h
+->
+v\94siÚ_ihl
+ & 0xf0è!ð
+IP_VERSION_4
+) {
+
+1708 ià(
+ARPICMP_DEBUG
+)
+
+1709 
+       `´\9atf
+("IP version other\81han 4 - "
+
+1712 } \vià((
+\9d_h
+->
+v\94siÚ_ihl
+ & 0x0fè!ð
+IP_HDRLEN
+) {
+
+1713 ià(
+ARPICMP_DEBUG
+)
+
+1714 
+       `´\9atf
+("Unknown IHL - discarding\n");
+
+1717 ià(
+icmp_h
+->
+icmp_ty³
+ =ð
+IP_ICMP_ECHO_REQUEST
+
+
+1718 && 
+icmp_h
+->
+icmp_code
+ == 0) {
+
+1719 ià(
+ARPICMP_DEBUG
+)
+
+1720 
+       `´\9at_mbuf
+("RX", 
+\9a_pÜt_id
+,
+
+1721 
+pkt
+, 
+__LINE__
+);
+
+1723 
+\9d_addr
+ = 
+\9d_h
+->
+¤c_addr
+;
+
+1724 
+       `\91h\94_addr_cÝy
+(&
+\91h_h
+->
+s_addr
+,
+
+1725 &
+\91h_h
+->
+d_addr
+);
+
+1726 
+       `\91h\94_addr_cÝy
+((\19
+\91h\94_addr
+ *)
+
+1727 &
+¬p_pÜt_add»s£s
+
+
+1728 [
+\9a_pÜt_id
+].
+mac_addr
+,
+
+1729 &
+\91h_h
+->
+s_addr
+);
+
+1731 ià(
+\9d_h
+->
+d¡_addr
+ !=
+
+1732 
+       `¹e_bsw­32
+(
+¬p_pÜt_add»s£s
+
+
+1733 [
+\9a_pÜt_id
+].
+\9d
+)) {
+
+1734 ià(
+ARPICMP_DEBUG
+) {
+
+1735 
+       `´\9atf
+("IPv4\85acket\82ot destined for "
+
+1738 
+       `´\9atf
+("ip_h->dst_addr = %u, "
+
+1741 
+\9d_h
+->
+d¡_addr
+, 
+\9a_pÜt_id
+,
+
+1742 
+¬p_pÜt_add»s£s
+[
+\9a_pÜt_id
+].
+\9d
+);
+
+1746 ià(
+is_muÉiÿ¡_\9dv4_addr
+
+
+1747 (
+\9d_h
+->
+d¡_addr
+)) {
+
+1748 
+u\9at32_t
+\9d_¤c
+;
+
+1750 
+\9d_¤c
+ = 
+¹e_be_to_ýu_32
+
+
+1751 (
+\9d_addr
+);
+
+1752 ià((
+\9d_¤c
+ & 0x00000003) == 1)
+
+1753 
+\9d_¤c
+ = (ip_src &
+
+1757 
+\9d_¤c
+ = (ip_src &
+
+1761 
+\9d_h
+->
+¤c_addr
+ =
+
+1762 
+       `¹e_ýu_to_be_32
+(
+\9d_¤c
+);
+
+1763 
+\9d_h
+->
+d¡_addr
+ = 
+\9d_addr
+;
+
+1765 
+\9d_h
+->
+hdr_checksum
+ = 0;
+
+1766 
+\9d_h
+->
+hdr_checksum
+ = ~
+       `¹e_¿w_cksum
+(
+
+1767 
+\9d_h
+, \17(\19
+
+1768 
+\9dv4_hdr
+));
+
+1770 
+\9d_h
+->
+¤c_addr
+ = ip_h->
+d¡_addr
+;
+
+1771 
+\9d_h
+->
+d¡_addr
+ = 
+\9d_addr
+;
+
+1774 
+icmp_h
+->
+icmp_ty³
+ =
+
+1775 
+IP_ICMP_ECHO_REPLY
+;
+
+1776 
+cksum
+ = ~
+icmp_h
+->
+icmp_cksum
+ & 0xffff;
+
+1777 
+cksum
+ +ð~
+       `htÚs
+(
+IP_ICMP_ECHO_REQUEST
+ << 8) & 0xffff;
+
+1778 
+cksum
+ +ð
+       `htÚs
+(
+IP_ICMP_ECHO_REPLY
+ << 8);
+
+1779 
+cksum
+ = (cksum & 0xffff) + (cksum >> 16);
+
+1780 
+cksum
+ = (cksum & 0xffff) + (cksum >> 16);
+
+1781 
+icmp_h
+->
+icmp_cksum
+ = ~
+cksum
+;
+
+1783 ià(
+ARPICMP_DEBUG
+)
+
+1784 
+       `´\9at_mbuf
+("TX", 
+\9a_pÜt_id
+, 
+pkt
+, 
+__LINE__
+);
+
+1786 
+       `¹e_p\9d\96\9ae_pÜt_out_·ck\91_\9a£¹
+(
+gp_¬p
+->
+p
+.p,
+
+1787 
+out_pÜt
+, 
+pkt
+);
+
+1788 
+gp_¬p
+->
+£ÁPktCouÁ
+++;
+
+1792 \vià(
+icmp_h
+->
+icmp_ty³
+ =ð
+IP_ICMP_ECHO_REPLY
+
+
+1793 && 
+icmp_h
+->
+icmp_code
+ == 0) {
+
+1794 ià(
+ARPICMP_DEBUG
+)
+
+1795 
+       `´\9at_mbuf
+("RX", 
+\9a_pÜt_id
+,
+
+1796 
+pkt
+, 
+__LINE__
+);
+
+1798 \19
+¬p_key_\9dv4
+¬p_key
+;
+
+1799 
+¬p_key
+.
+pÜt_id
+ = 
+\9a_pÜt_id
+;
+
+1800 
+¬p_key
+.
+\9d
+ =
+
+1801 
+       `¹e_bsw­32
+(
+\9d_h
+->
+¤c_addr
+);
+
+1802 
+¬p_key
+.
+f\9eËr1
+ = 0;
+
+1803 
+¬p_key
+.
+f\9eËr2
+ = 0;
+
+1804 
+¬p_key
+.
+f\9eËr3
+ = 0;
+
+1806 \19
+¬p_\92\8cy_d©a
+ *
+¬p_\92\8cy
+ =
+
+1807 
+       `»\8c\9bve_¬p_\92\8cy
+(
+¬p_key
+);
+
+1808 ià(
+¬p_\92\8cy
+ =ð
+NULL
+) {
+
+1809 
+       `´\9atf
+("Received unsolicited "
+
+1812 
+¬p_key
+.
+\9d
+,
+
+1813 
+¬p_key
+.
+pÜt_id
+);
+
+1817 
+¬p_\92\8cy
+->
+¡©us
+ = 
+COMPLETE
+;
+
+1819 
+       `¹e_p\9d\96\9ae_ah_·ck\91_drÝ
+(
+gp_¬p
+->
+p
+.p,
+
+1820 
+pkt_mask
+);
+
+1821 
+gp_¬p
+->
+drݳdPktCouÁ
+++;
+
+1826 
+       }
+}
+
+1841 \18\12
+       $my_\9a\91_±Ú_\9dv6
+(\12
+af
+, cڡ \ 5*
+¤c
+, \1e*
+d¡
+)
+
+1843 \1a
+af
+) {
+
+1844 \ 4
+AF_INET
+:
+
+1845 \15 
+       `\9a\91_±Ú_\9dv4
+(
+¤c
+, 
+d¡
+);
+
+1846 \ 4
+AF_INET6
+:
+
+1847 \15 
+       `\9a\91_±Ú_\9dv6
+(
+¤c
+, 
+d¡
+);
+
+1849 
+\94ºo
+ = 
+EAFNOSUPPORT
+;
+
+1853 
+       }
+}
+
+1865 \18\12
+       $\9a\91_±Ú_\9dv4
+(cڡ \ 5*
+¤c
+, \1d\ 5*
+d¡
+)
+
+1867 \18cڡ \ 5
+dig\99s
+[] = "0123456789";
+
+1868 \12
+§w_dig\99
+, 
+où\91s
+, 
+ch
+;
+
+1869 \1d\ 5
+tmp
+[
+INADDRSZ
+], *
+\8d
+;
+
+1871 
+§w_dig\99
+ = 0;
+
+1872 
+où\91s
+ = 0;
+
+1873 *(
+\8d
+ = 
+tmp
+) = 0;
+
+1874 \1f(
+ch
+ = *
+¤c
+++) != '\0') {
+
+1875 cڡ \ 5*
+pch
+;
+
+1877 
+pch
+ = 
+       `¡rchr
+(
+dig\99s
+, 
+ch
+);
+
+1878 ià(
+pch
+ !ð
+NULL
+) {
+
+1879 \1d\12
+Ãw
+ = *
+\8d
+ * 10 + (
+pch
+ - 
+dig\99s
+);
+
+1881 ià(
+Ãw
+ > 255)
+
+1883 ià(!
+§w_dig\99
+) {
+
+1884 ià(++
+où\91s
+ > 4)
+
+1886 
+§w_dig\99
+ = 1;
+
+1888 *
+\8d
+ = (\1d\ 5)
+Ãw
+;
+
+1889 } \vià(
+ch
+ =ð'.' && 
+§w_dig\99
+) {
+
+1890 ià(
+où\91s
+ == 4)
+
+1892 *++
+\8d
+ = 0;
+
+1893 
+§w_dig\99
+ = 0;
+
+1897 ià(
+où\91s
+ < 4)
+
+1900 
+       `memýy
+(
+d¡
+, 
+tmp
+, 
+INADDRSZ
+);
+
+1902 
+       }
+}
+
+1917 \18\12
+       $\9a\91_±Ú_\9dv6
+(cڡ \ 5*
+¤c
+, \1d\ 5*
+d¡
+)
+
+1919 \18cڡ \ 5
+xdig\99s_l
+[] = "0123456789abcdef",
+
+1920 
+xdig\99s_u
+[] = "0123456789ABCDEF";
+
+1921 \1d\ 5
+tmp
+[
+IN6ADDRSZ
+], *
+\8d
+ = 0, *
+\92dp
+ = 0, *
+cÞÚp
+ = 0;
+
+1922 cڡ \ 5*
+xdig\99s
+ = 0, *
+cu¹ok
+ = 0;
+
+1923 \12
+ch
+ = 0, 
+§w_xdig\99
+ = 0, 
+couÁ_xdig\99
+ = 0;
+
+1924 \1d\12
+v®
+ = 0;
+
+1925 \1d\12
+dbloù_couÁ
+ = 0;
+
+1927 
+       `mem£t
+((
+\8d
+ = 
+tmp
+), '\0', 
+IN6ADDRSZ
+);
+
+1928 
+\92dp
+ = 
+\8d
+ + 
+IN6ADDRSZ
+;
+
+1929 
+cÞÚp
+ = 
+NULL
+;
+
+1931 ià(*
+¤c
+ == ':')
+
+1932 ià(*++
+¤c
+ != ':')
+
+1934 
+cu¹ok
+ = 
+¤c
+;
+
+1935 
+§w_xdig\99
+ = 
+couÁ_xdig\99
+ = 0;
+
+1936 
+v®
+ = 0;
+
+1938 \1f(
+ch
+ = *
+¤c
+++) != '\0') {
+
+1939 cڡ \ 5*
+pch
+;
+
+1941 
+pch
+ = 
+       `¡rchr
+((
+xdig\99s
+ = 
+xdig\99s_l
+), 
+ch
+);
+
+1942 ià(
+pch
+ =ð
+NULL
+)
+
+1943 
+pch
+ = 
+       `¡rchr
+((
+xdig\99s
+ = 
+xdig\99s_u
+), 
+ch
+);
+
+1944 ià(
+pch
+ !ð
+NULL
+) {
+
+1945 ià(
+couÁ_xdig\99
+ >= 4)
+
+1947 
+v®
+ <<= 4;
+
+1948 
+v®
+ |ð(
+pch
+ - 
+xdig\99s
+);
+
+1949 ià(
+v®
+ > 0xffff)
+
+1951 
+§w_xdig\99
+ = 1;
+
+1952 
+couÁ_xdig\99
+++;
+
+1955 ià(
+ch
+ == ':') {
+
+1956 
+cu¹ok
+ = 
+¤c
+;
+
+1957 ià(!
+§w_xdig\99
+) {
+
+1958 ià(
+cÞÚp
+)
+
+1960 
+cÞÚp
+ = 
+\8d
+;
+
+1962 } \vià(*
+¤c
+ == '\0') {
+
+1965 ià(
+\8d
+ + \17(
+\9at16_t
+è> 
+\92dp
+)
+
+1967 *
+\8d
+++ = (\1d\ 5)((
+v®
+ >> 8) & 0xff);
+
+1968 *
+\8d
+++ = (\1d\ 5)(
+v®
+ & 0xff);
+
+1969 
+§w_xdig\99
+ = 0;
+
+1970 
+couÁ_xdig\99
+ = 0;
+
+1971 
+v®
+ = 0;
+
+1972 
+dbloù_couÁ
+++;
+
+1975 ià(
+ch
+ =ð'.' && ((
+\8d
+ + 
+INADDRSZ
+è<ð
+\92dp
+) &&
+
+1976 
+       `\9a\91_±Ú_\9dv4
+(
+cu¹ok
+, 
+\8d
+) > 0) {
+
+1977 
+\8d
+ +ð
+INADDRSZ
+;
+
+1978 
+§w_xdig\99
+ = 0;
+
+1979 
+dbloù_couÁ
+ += 2;
+
+1984 ià(
+§w_xdig\99
+) {
+
+1985 ià(
+\8d
+ + \17(
+\9at16_t
+è> 
+\92dp
+)
+
+1987 *
+\8d
+++ = (\1d\ 5)((
+v®
+ >> 8) & 0xff);
+
+1988 *
+\8d
+++ = (\1d\ 5)(
+v®
+ & 0xff);
+
+1989 
+dbloù_couÁ
+++;
+
+1991 ià(
+cÞÚp
+ !ð
+NULL
+) {
+
+1995 ià(
+dbloù_couÁ
+ == 8)
+
+2002 cڡ \12
+n
+ = 
+\8d
+ - 
+cÞÚp
+;
+
+2003 \12
+i
+;
+
+2005 \ f
+i
+ = 1; i <ð
+n
+; i++) {
+
+2006 
+\92dp
+[-
+i
+] = 
+cÞÚp
+[
+n
+ - i];
+
+2007 
+cÞÚp
+[
+n
+ - 
+i
+] = 0;
+
+2009 
+\8d
+ = 
+\92dp
+;
+
+2011 ià(
+\8d
+ !ð
+\92dp
+)
+
+2013 
+       `memýy
+(
+d¡
+, 
+tmp
+, 
+IN6ADDRSZ
+);
+
+2015 
+       }
+}
+
+2034 
+       $´oûss_icmpv6_pkt
+(
+
+2035 \19
+¹e_mbuf
+ *
+pkt
+,
+
+2036 
+u\9at32_t
+out_pÜt
+,
+
+2037 
+__¹e_unu£d
+u\9at32_t
+pkt_num
+)
+
+2040 
+u\9at8_t
+\9a_pÜt_id
+ = 
+pkt
+->
+pÜt
+;
+
+2041 \19
+­p_l\9ak_·¿ms
+ *
+l\9ak
+;
+
+2042 \19
+\91h\94_hdr
+ *
+\91h_h
+;
+
+2043 \19
+\9dv6_hdr
+ *
+\9dv6_h
+;
+
+2044 \19
+icmpv6_hdr
+ *
+icmpv6_h
+;
+
+2045 \19
+icmpv6_nd_hdr
+ *
+icmpv6_nd_h
+;
+
+2046 
+u\9at8_t
+\9dv6_addr
+[16];
+
+2047 
+u\9at8_t
+i
+ = 0, 
+æag
+ = 1;
+
+2048 
+u\9at8_t
+»q_t\9dv6
+[16];
+
+2050 
+\91h_h
+ = 
+       `¹e_pktmbuf_mtod
+(
+pkt
+, \19
+\91h\94_hdr
+ *);
+
+2051 
+\9dv6_h
+ = (\19
+\9dv6_hdr
+ *)((\ 5*)
+\91h_h
+ + \17(\19
+\91h\94_hdr
+));
+
+2052 
+icmpv6_h
+ =
+
+2053 (\19
+icmpv6_hdr
+ *)((\ 5*)
+\9dv6_h
+ + \17(\19
+\9dv6_hdr
+));
+
+2054 \19
+¹e_mbuf
+ *
+icmpv6_pkt
+ = 
+pkt
+;
+
+2056 
+l\9ak
+ = &
+myAµ
+->
+l\9ak_·¿ms
+[
+\9a_pÜt_id
+];
+
+2057 
+icmpv6_pÜt_add»s£s
+[
+\9a_pÜt_id
+].
+mac_addr
+ = 
+l\9ak
+->mac_addr;
+
+2059 ià(!
+is_§me_\91h\94_addr
+
+
+2060 ((\19
+\91h\94_addr
+ *)&
+icmpv6_pÜt_add»s£s
+[
+\9a_pÜt_id
+].
+mac_addr
+,
+
+2061 &
+\91h_h
+->
+d_addr
+)) {
+
+2062 ià(
+ARPICMP_DEBUG
+) {
+
+2063 
+       `´\9atf
+("Ethernet frame\82ot destined for MAC\87ddress "
+
+2067 ià((
+icmpv6_h
+->
+icmpv6_ty³
+ =ð
+ICMPV6_ECHO_REQUEST
+)
+
+2068 && (
+icmpv6_h
+->
+icmpv6_code
+ == 0)) {
+
+2069 \ f
+i
+ = 0; i < 16; i++)
+
+2070 
+\9dv6_addr
+[
+i
+] = 
+\9dv6_h
+->
+¤c_addr
+[i];
+
+2072 \ f
+i
+ = 0; i < 16; i++) {
+
+2073 ià(
+\9dv6_h
+->
+d¡_addr
+[
+i
+] !=
+
+2074 
+icmpv6_pÜt_add»s£s
+[
+\9a_pÜt_id
+].
+\9dv6
+[
+i
+]) {
+
+2075 
+æag
+++;
+
+2078 ià(!
+æag
+) {
+
+2079 
+       `´\9atf
+("IPv6\85acket\82ot destined for "
+
+2084 
+       `\91h\94_addr_cÝy
+(&
+\91h_h
+->
+s_addr
+,
+
+2085 &
+\91h_h
+->
+d_addr
+);
+
+2086 
+       `\91h\94_addr_cÝy
+((\19
+\91h\94_addr
+ *)
+
+2087 &
+icmpv6_pÜt_add»s£s
+
+
+2088 [
+\9a_pÜt_id
+].
+mac_addr
+,
+
+2089 &
+\91h_h
+->
+s_addr
+);
+
+2091 \ f
+i
+ = 0; i < 16; i++)
+
+2092 
+\9dv6_h
+->
+¤c_addr
+[
+i
+] =
+
+2093 
+\9dv6_h
+->
+d¡_addr
+[
+i
+];
+
+2094 \ f
+i
+ = 0; i < 16; i++)
+
+2095 
+\9dv6_h
+->
+d¡_addr
+[
+i
+] =
+
+2096 
+\9dv6_addr
+[
+i
+];
+
+2098 
+icmpv6_h
+->
+icmpv6_ty³
+ =
+
+2099 
+ICMPV6_ECHO_REPLY
+;
+
+2101 
+¹e_p\9d\96\9ae_pÜt_out_·ck\91_\9a£¹
+
+
+2102 (
+gp_¬p
+->
+p
+.p, 
+out_pÜt
+, 
+icmpv6_pkt
+);
+
+2103 
+gp_¬p
+->
+£ÁPktCouÁ
+++;
+
+2107 } \vià((
+icmpv6_h
+->
+icmpv6_ty³
+ =ð
+ICMPV6_ECHO_REPLY
+)
+
+2108 && (
+icmpv6_h
+->
+icmpv6_code
+ == 0)) {
+
+2109 \19
+nd_key_\9dv6
+nd_key
+;
+
+2110 
+nd_key
+.
+pÜt_id
+ = 
+\9a_pÜt_id
+;
+
+2112 \ f
+i
+ = 0; i < 
+ND_IPV6_ADDR_SIZE
+; i++)
+
+2113 
+nd_key
+.
+\9dv6
+[
+i
+] = 
+\9dv6_h
+->
+¤c_addr
+[i];
+
+2115 
+nd_key
+.
+f\9eËr1
+ = 0;
+
+2116 
+nd_key
+.
+f\9eËr2
+ = 0;
+
+2117 
+nd_key
+.
+f\9eËr3
+ = 0;
+
+2122 \19
+nd_\92\8cy_d©a
+ *
+Ãw_nd_d©a
+ =
+
+2123 
+       `»\8c\9bve_nd_\92\8cy
+(
+nd_key
+);
+
+2125 ià(
+Ãw_nd_d©a
+ =ð
+NULL
+) {
+
+2126 
+       `´\9atf
+("Received unsolicited ICMPv6\83cho "
+
+2128 
+nd_key
+.
+pÜt_id
+);
+
+2129 \ f
+i
+ = 0; i < 
+ND_IPV6_ADDR_SIZE
+; i += 2) {
+
+2130 
+       `´\9atf
+("%02X%02X ", 
+nd_key
+.
+\9dv6
+[
+i
+],
+
+2131 
+nd_key
+.
+\9dv6
+[
+i
+ + 1]);
+
+2136 
+Ãw_nd_d©a
+->
+¡©us
+ = 
+COMPLETE
+;
+
+2139 ià((
+icmpv6_h
+->
+icmpv6_ty³
+ =ð
+ICMPV6_NEIGHBOR_SOLICITATION
+)
+
+2140 && (
+icmpv6_h
+->
+icmpv6_code
+ == 0)) {
+
+2142 
+icmpv6_nd_h
+ =
+
+2143 (\19
+icmpv6_nd_hdr
+ *)((\ 5*)
+icmpv6_h
+ +
+
+2144 \17(\19
+icmpv6_hdr
+));
+
+2145 \19
+\91h\94_addr
+ *
+¤c_hw_addr
+ = &
+\91h_h
+->
+s_addr
+;
+
+2146 
+u\9at8_t
+¤c_\9dv6
+[16], 
+d¡_\9dv6
+[16];
+
+2148 \ f
+i
+ = 0; i < 
+ND_IPV6_ADDR_SIZE
+; i++)
+
+2149 
+¤c_\9dv6
+[
+i
+] = 
+\9dv6_h
+->
+¤c_addr
+[i];
+
+2150 \ f
+i
+ = 0; i < 
+ND_IPV6_ADDR_SIZE
+; i++)
+
+2151 
+d¡_\9dv6
+[
+i
+] = 
+\9dv6_h
+->
+d¡_addr
+[i];
+
+2154 ià((
+IPV6_MULTICAST
+
+
+2155 && ((
+d¡_\9dv6
+[0] << 8) | dst_ipv6[1]))) {
+
+2156 ià(
+pÝuÏ\8b_nd_\92\8cy
+
+
+2157 (
+¤c_hw_addr
+, 
+¤c_\9dv6
+, 
+\9a_pÜt_id
+)) {
+
+2160 \ f
+i
+ = 0; i < 
+ND_IPV6_ADDR_SIZE
+; i++)
+
+2161 
+»q_t\9dv6
+[
+i
+] =
+
+2162 
+icmpv6_nd_h
+->
+\8frg\91_\9dv6
+[
+i
+];
+
+2164 
+       `\91h\94_addr_cÝy
+(&
+\91h_h
+->
+s_addr
+,
+
+2165 &
+\91h_h
+->
+d_addr
+);
+
+2166 
+       `\91h\94_addr_cÝy
+((\19
+\91h\94_addr
+ *)
+
+2167 &
+icmpv6_pÜt_add»s£s
+
+
+2168 [
+\9a_pÜt_id
+].
+mac_addr
+,
+
+2169 &
+\91h_h
+->
+s_addr
+);
+
+2172 
+       `\91h\94_addr_cÝy
+(&
+\91h_h
+->
+s_addr
+,
+
+2173 &
+icmpv6_nd_h
+->
+
+2174 
+l\9ak_Ïy\94_add»ss
+);
+
+2175 \ f
+i
+ = 0; i < 
+ND_IPV6_ADDR_SIZE
+; i++)
+
+2176 
+\9dv6_h
+->
+d¡_addr
+[
+i
+] =
+
+2177 
+\9dv6_h
+->
+¤c_addr
+[
+i
+];
+
+2178 \ f
+i
+ = 0; i < 
+ND_IPV6_ADDR_SIZE
+; i++)
+
+2179 
+\9dv6_h
+->
+¤c_addr
+[
+i
+] =
+
+2180 
+»q_t\9dv6
+[
+i
+];
+
+2181 
+icmpv6_h
+->
+icmpv6_ty³
+ =
+
+2182 
+ICMPV6_NEIGHBOR_ADVERTISEMENT
+;
+
+2183 
+icmpv6_nd_h
+->
+ty³
+ =
+
+2184 
+e_T¬g\91_L\9ak_Lay\94_Add»ss
+;
+
+2185 
+icmpv6_nd_h
+->
+icmpv6_ȣrved
+ |=
+
+2186 
+¹e_ýu_to_be_32
+
+
+2187 (
+NEIGHBOR_SOLICITATION_SET
+);
+
+2189 
+¹e_p\9d\96\9ae_pÜt_out_·ck\91_\9a£¹
+
+
+2190 (
+gp_¬p
+->
+p
+.p, 
+out_pÜt
+, 
+icmpv6_pkt
+);
+
+2191 
+gp_¬p
+->
+£ÁPktCouÁ
+++;
+
+2194 ià(
+ARPICMP_DEBUG
+) {
+
+2195 
+       `´\9atf
+("Non-Multicasted Neighbor "
+
+2198 
+       `´\9atf
+("............Some one\83lse "
+
+2204 ià((
+icmpv6_h
+->
+icmpv6_ty³
+ =ð
+ICMPV6_NEIGHBOR_ADVERTISEMENT
+)
+
+2205 && (
+icmpv6_h
+->
+icmpv6_code
+ == 0)) {
+
+2206 \19
+\91h\94_addr
+ *
+¤c_hw_addr
+ = &
+\91h_h
+->
+s_addr
+;
+
+2207 
+u\9at8_t
+\9dv6
+[16];
+
+2208 \ f
+i
+ = 0; i < 
+ND_IPV6_ADDR_SIZE
+; i++)
+
+2209 
+\9dv6
+[
+i
+] = 
+\9dv6_h
+->
+¤c_addr
+[i];
+
+2211 ià(
+       `pÝuÏ\8b_nd_\92\8cy
+(
+¤c_hw_addr
+, 
+\9dv6
+, 
+\9a_pÜt_id
+))
+
+2212 ià(
+ARPICMP_DEBUG
+)
+
+2213 
+       `´\9atf
+("Now on, unicast IPv6\81raffic "
+
+2217 ià(
+ARPICMP_DEBUG
+) {
+
+2218 
+       `´\9atf
+("ICMPv6 Type %d Not Supported yet !!!\n",
+
+2219 
+icmpv6_h
+->
+icmpv6_ty³
+);
+
+2225 
+       }
+}
+
+2227 \1e
+       $»que¡_icmpv6_echo
+(
+u\9at32_t
+pÜt_id
+, 
+u\9at8_t
+\9dv6
+[])
+
+2229 (\1e)
+pÜt_id
+;
+
+2230 (\1e)
+\9dv6
+;
+
+2231 \12
+i
+;
+
+2233 \19
+\91h\94_addr
+gw_addr
+;
+
+2234 
+u\9at8_t
+nh\9dv6
+[16];
+
+2235 
+u\9at8_t
+de¡_\9dv6
+[16];
+
+2236 
+u\9at32_t
+phy_pÜt
+;
+
+2238 \ f
+i
+ = 0; i < 
+ND_IPV6_ADDR_SIZE
+; i++)
+
+2239 
+de¡_\9dv6
+[
+i
+] = 
+\9dv6
+[i];
+
+2241 ià(
+       `g\91_de¡_mac_add»ss_\9dv6_pÜt
+(
+de¡_\9dv6
+, &
+phy_pÜt
+,
+
+2242 &
+gw_addr
+, 
+nh\9dv6
+)) {
+
+2243 
+       `»que¡_icmpv6_echo_mes§ge
+(
+phy_pÜt
+, 
+\9dv6
+, &
+gw_addr
+);
+
+2247 ià(
+ARPICMP_DEBUG
+)
+
+2248 
+       `´\9atf
+("Sending icmpv6\83cho\84equest ... get mac failed.\n");
+
+2249 
+       }
+}
+
+2252 
+       $»que¡_icmpv6_echo_mes§ge
+(
+u\9at16_t
+pÜt_id
+, 
+u\9at8_t
+\9dv6
+[],
+
+2253 \19
+\91h\94_addr
+ *
+gw_addr
+)
+
+2255 \19
+\91h\94_hdr
+ *
+\91h_h
+;
+
+2256 \19
+\9dv6_hdr
+ *
+\9dv6_h
+;
+
+2257 \19
+icmpv6_hdr
+ *
+icmpv6_h
+;
+
+2258 \19
+icmpv6_\9afo_hdr
+ *
+icmpv6_\9afo_h
+;
+
+2259 \12
+i
+;
+
+2260 \19
+­p_l\9ak_·¿ms
+ *
+l\9ak
+;
+
+2261 
+l\9ak
+ = &
+myl\9ak
+[
+pÜt_id
+];
+
+2263 \ f
+i
+ = 0; i < 16; i++)
+
+2264 
+icmpv6_pÜt_add»s£s
+[
+pÜt_id
+].
+\9dv6
+[
+i
+] = 
+l\9ak
+->ipv6[i];
+
+2266 
+icmpv6_pÜt_add»s£s
+[
+pÜt_id
+].
+mac_addr
+ = 
+l\9ak
+->mac_addr;
+
+2268 \19
+¹e_mbuf
+ *
+icmpv6_pkt
+ = 
+lib_icmpv6_pkt
+;
+
+2269 ià(
+icmpv6_pkt
+ =ð
+NULL
+) {
+
+2270 ià(
+ARPICMP_DEBUG
+)
+
+2271 
+       `´\9atf
+("Error\87llocating icmpv6_pkt\84te_mbuf\n");
+
+2275 
+\91h_h
+ = 
+       `¹e_pktmbuf_mtod
+(
+icmpv6_pkt
+, \19
+\91h\94_hdr
+ *);
+
+2276 
+       `\91h\94_addr_cÝy
+(
+gw_addr
+, &
+\91h_h
+->
+d_addr
+);
+
+2277 
+       `\91h\94_addr_cÝy
+((\19
+\91h\94_addr
+ *)&
+icmpv6_pÜt_add»s£s
+[
+pÜt_id
+].
+
+2278 
+mac_addr
+, &
+\91h_h
+->
+s_addr
+);
+
+2279 
+\91h_h
+->
+\91h\94_ty³
+ = 
+       `CHECK_ENDIAN_16
+(
+ETHER_TYPE_IPv6
+);
+
+2281 
+\9dv6_h
+ = (\19
+\9dv6_hdr
+ *)((\ 5*)
+\91h_h
+ + \17(\19
+\91h\94_hdr
+));
+
+2282 
+icmpv6_h
+ =
+
+2283 (\19
+icmpv6_hdr
+ *)((\ 5*)
+\9dv6_h
+ + \17(\19
+\9dv6_hdr
+));
+
+2284 
+icmpv6_\9afo_h
+ =
+
+2285 (\19
+icmpv6_\9afo_hdr
+ *)((\ 5*)
+icmpv6_h
+ +
+
+2286 \17(\19
+icmpv6_hdr
+));
+
+2288 
+\9dv6_h
+->
+vtc_æow
+ = 0x60000000;
+
+2289 
+\9dv6_h
+->
+·ylßd_Ën
+ = 64;
+
+2290 
+\9dv6_h
+->
+´Ùo
+ = 58;
+
+2291 
+\9dv6_h
+->
+hÝ_lim\99s
+ = 64;
+
+2293 \ f
+i
+ = 0; i < 16; i++) {
+
+2294 
+\9dv6_h
+->
+¤c_addr
+[
+i
+] = 
+icmpv6_pÜt_add»s£s
+[
+pÜt_id
+].
+\9dv6
+[i];
+
+2295 
+\9dv6_h
+->
+d¡_addr
+[
+i
+] = 
+\9dv6
+[i];
+
+2298 
+icmpv6_h
+->
+icmpv6_ty³
+ = 
+ICMPV6_ECHO_REQUEST
+;
+
+2299 
+icmpv6_h
+->
+icmpv6_code
+ = 0;
+
+2300 
+icmpv6_\9afo_h
+->
+icmpv6_id\92t
+ = 0x5151;
+
+2301 
+icmpv6_\9afo_h
+->
+icmpv6_£q_nb
+ = 0x1;
+
+2303 
+icmpv6_h
+->
+icmpv6_cksum
+ =
+
+2304 ~
+       `¹e_¿w_cksum
+(
+icmpv6_h
+, \17(\19
+icmpv6_hdr
+));
+
+2306 
+icmpv6_pkt
+->
+pkt_Ën
+ =
+
+2307 \17(\19
+\91h\94_hdr
+è+ \17(\19
+\9dv6_hdr
+) +
+
+2308 \17(\19
+icmpv6_hdr
+);
+
+2309 
+icmpv6_pkt
+->
+d©a_Ën
+ = icmpv6_pkt->
+pkt_Ën
+;
+
+2311 ià(
+ARPICMP_DEBUG
+)
+
+2312 
+       `´\9atf
+("Sending icmpv6\83cho\84equest\n");
+
+2314 
+       `¹e_p\9d\96\9ae_pÜt_out_·ck\91_\9a£¹
+(
+gp_¬p
+->
+p
+.p,
+
+2315 
+gp_¬p
+->
+ou\8dÜt_id
+[
+pÜt_id
+],
+
+2316 
+icmpv6_pkt
+);
+
+2318 
+gp_¬p
+->
+£ÁPktCouÁ
+++;
+
+2319 
+       }
+}
+
+2324 \18\1e*
+p\9d\96\9ae_¬picmp_msg_»q_cu¡om_hªdËr
+(\19
+p\9d\96\9ae
+ *
+p
+,
+
+2325 \1e*
+msg
+);
+
+2327 \18
+p\9d\96\9ae_msg_»q_hªdËr
+       ghªdËrs
+[] = {
+
+2328 [
+PIPELINE_MSG_REQ_PING
+] =
+
+2329 
+p\9d\96\9ae_msg_»q_p\9ag_hªdËr
+,
+
+2330 [
+PIPELINE_MSG_REQ_STATS_PORT_IN
+] =
+
+2331 
+p\9d\96\9ae_msg_»q_¡©s_pÜt_\9a_hªdËr
+,
+
+2332 [
+PIPELINE_MSG_REQ_STATS_PORT_OUT
+] =
+
+2333 
+p\9d\96\9ae_msg_»q_¡©s_pÜt_out_hªdËr
+,
+
+2334 [
+PIPELINE_MSG_REQ_STATS_TABLE
+] =
+
+2335 
+p\9d\96\9ae_msg_»q_¡©s_\8fbË_hªdËr
+,
+
+2336 [
+PIPELINE_MSG_REQ_PORT_IN_ENABLE
+] =
+
+2337 
+p\9d\96\9ae_msg_»q_pÜt_\9a_\92abË_hªdËr
+,
+
+2338 [
+PIPELINE_MSG_REQ_PORT_IN_DISABLE
+] =
+
+2339 
+p\9d\96\9ae_msg_»q_pÜt_\9a_di§bË_hªdËr
+,
+
+2340 [
+PIPELINE_MSG_REQ_CUSTOM
+] =
+
+2341 
+p\9d\96\9ae_¬picmp_msg_»q_cu¡om_hªdËr
+,
+
+2345 \18\1e*
+p\9d\96\9ae_¬picmp_msg_»q_\92\8cy_dbg_hªdËr
+(\19
+p\9d\96\9ae
+ *
+p
+,
+
+2346 \1e*
+msg
+);
+
+2347 \18\1e*
+       $p\9d\96\9ae_¬picmp_msg_»q_\92\8cy_dbg_hªdËr
+(
+
+2348 
+__¹e_unu£d
\19
+p\9d\96\9ae
+ *
+p
+,
+
+2349 
+__¹e_unu£d
\1e*
+msg
+)
+
+2352 \15 
+NULL
+;
+
+2353 
+       }
+}
+
+2355 \18
+__¹e_unu£d
+p\9d\96\9ae_msg_»q_hªdËr
+       gcu¡om_hªdËrs
+[] = {
+
+2356 [
+PIPELINE_ARPICMP_MSG_REQ_ENTRY_DBG
+] =
+
+2357 
+p\9d\96\9ae_¬picmp_msg_»q_\92\8cy_dbg_hªdËr
+,
+
+2371 \1e*
+       $p\9d\96\9ae_¬picmp_msg_»q_cu¡om_hªdËr
+(\19
+p\9d\96\9ae
+ *
+p
+, \1e*
+msg
+)
+
+2373 \19
+p\9d\96\9ae_¬picmp
+ *
+p_¬p
+ = (\19p\9d\96\9ae_¬picm°*)
+p
+;
+
+2374 \19
+p\9d\96\9ae_cu¡om_msg_»q
+ *
+»q
+ = 
+msg
+;
+
+2375 
+p\9d\96\9ae_msg_»q_hªdËr
+f_hªdË
+;
+
+2377 
+f_hªdË
+ = (
+»q
+->
+subty³
+ < 
+PIPELINE_ARPICMP_MSG_REQS
+) ?
+
+2378 
+p_¬p
+->
+cu¡om_hªdËrs
+[
+»q
+->
+subty³
+] :
+
+2379 
+p\9d\96\9ae_msg_»q_\9av®id_hªdËr
+;
+
+2381 ià(
+f_hªdË
+ =ð
+NULL
+)
+
+2382 
+f_hªdË
+ = 
+p\9d\96\9ae_msg_»q_\9av®id_hªdËr
+;
+
+2384 \15 
+       `f_hªdË
+(
+p
+, 
+»q
+);
+
+2385 
+       }
+}
+
+2387 #ifdeà
+VNF_ACL
+
+
+2393 
+p\9d\96\9ae_¬picmp_·r£_¬gs
+(\19
+p\9d\96\9ae_¬picmp
+ *
+p
+,
+
+2394 \19
+p\9d\96\9ae_·¿ms
+ *
+·¿ms
+);
+
+2396 
+       $p\9d\96\9ae_¬picmp_·r£_¬gs
+(
+
+2397 
+__¹e_unu£d
\19
+p\9d\96\9ae_¬picmp
+ *
+p
+,
+
+2398 \19
+p\9d\96\9ae_·¿ms
+ *
+·¿ms
+)
+
+2401 
+u\9at32_t
+i
+;
+
+2402 
+u\9at32_t
+¬p_m\91a_off£t_´e£Á
+ = 0;
+
+2404 
+u\9at32_t
+¬p_rou\8b_tbl_´e£Á
+ = 0;
+
+2405 
+u\9at32_t
+nd_rou\8b_tbl_´e£Á
+ = 0;
+
+2406 
+u\9at32_t
+pÜts_mac_li¡_´e£Á
+ = 0;
+
+2407 
+u\9at32_t
+pktq_\9a_´v_´e£Á
+ = 0;
+
+2408 
+u\9at32_t
+´v_to_pub_m­_´e£Á
+ = 0;
+
+2410 
+u\9at8_t
+n_´v_\9a_pÜt
+ = 0;
+
+2411 \ f
+i
+ = 0; i < 
+PIPELINE_MAX_PORT_IN
+; i++) {
+
+2412 
+\9a_pÜt_d\9c_a
+[
+i
+] = 0;
+
+2413 
+´v_to_pub_m­
+[
+i
+] = 0xff;
+
+2414 
+pub_to_´v_m­
+[
+i
+] = 0xff;
+
+2417 \ f
+i
+ = 0; i < 
+·¿ms
+->
+n_¬gs
+; i++) {
+
+2418 \ 5*
+¬g_Çme
+ = 
+·¿ms
+->
+¬gs_Çme
+[
+i
+];
+
+2419 \ 5*
+¬g_v®ue
+ = 
+·¿ms
+->
+¬gs_v®ue
+[
+i
+];
+
+2421 ià(
+ARPICMP_DEBUG
+ > 2) {
+
+2422 
+       `´\9atf
+("ARP\87rgs[%d]: % %d, %s\n", 
+i
+, 
+¬g_Çme
+,
+
+2423 
+       `©oi
+(
+¬g_v®ue
+),\87rg_value);
+
+2425 ià(
+       `¡rcmp
+(
+¬g_Çme
+, "arp_meta_offset") == 0) {
+
+2426 ià(
+¬p_m\91a_off£t_´e£Á
+) {
+
+2427 
+       `´\9atf
+("arp_meta_offset "
+
+2431 
+¬p_m\91a_off£t_´e£Á
+ = 1;
+
+2432 
+¬p_m\91a_off£t
+ = 
+       `©oi
+(
+¬g_v®ue
+);
+
+2436 ià(
+       `¡rcmp
+(
+¬g_Çme
+, "pktq_in_prv") == 0) {
+
+2437 ià(
+pktq_\9a_´v_´e£Á
+) {
+
+2438 
+       `´\9atf
+("Duplicate\85ktq_in_prv ... "
+
+2442 
+pktq_\9a_´v_´e£Á
+ = 1;
+
+2444 \12
+rxpÜt
+ = 0, 
+j
+ = 0;
+
+2445 \ 5
+phy_pÜt_num
+[5];
+
+2446 \ 5*
+tok\92
+ = 
+       `¡¹ok
+(
+¬g_v®ue
+, "RXQ");
+
+2447 \1f
+tok\92
+) {
+
+2448 
+j
+ = 0;
+
+2449 \1f(
+j
+ < 4è&& (
+tok\92
+[j] != '.')) {
+
+2450 
+phy_pÜt_num
+[
+j
+] = 
+tok\92
+[j];
+
+2451 
+j
+++;
+
+2453 
+phy_pÜt_num
+[
+j
+] = '\0';
+
+2454 
+rxpÜt
+ = 
+       `©oi
+(
+phy_pÜt_num
+);
+
+2455 
+       `´\9atf
+("token: %s,\85hy_port_str: %s, "
+
+2457 
+tok\92
+, 
+phy_pÜt_num
+, 
+rxpÜt
+);
+
+2459 
+´v_\9a_pÜt_a
+[
+n_´v_\9a_pÜt
+++] = 
+rxpÜt
+;
+
+2461 if(
+rxpÜt
+ < 
+PIPELINE_MAX_PORT_IN
+)
+
+2462 
+\9a_pÜt_d\9c_a
+[
+rxpÜt
+] = 1;
+
+2463 
+tok\92
+ = 
+       `¡¹ok
+(
+NULL
+, "RXQ");
+
+2466 ià(
+n_´v_\9a_pÜt
+ == 0) {
+
+2467 
\9atf
+
+
+2476 ià(
+       `¡rcmp
+(
+¬g_Çme
+, "prv_to_pub_map") == 0) {
+
+2477 ià(
+´v_to_pub_m­_´e£Á
+) {
+
+2478 
\9atf
+
+
+2483 
+´v_to_pub_m­_´e£Á
+ = 1;
+
+2485 \12
+rxpÜt
+ = 0, 
+txpÜt
+ = 0, 
+j
+ = 0, 
+k
+ = 0;
+
+2486 \ 5
+rx_phy_pÜt_num
+[5];
+
+2487 \ 5
+tx_phy_pÜt_num
+[5];
+
+2488 \ 5*
+tok\92
+ = 
+       `¡¹ok
+(
+¬g_v®ue
+, "(");
+
+2489 \1f
+tok\92
+) {
+
+2490 
+j
+ = 0;
+
+2491 \1f(
+j
+ < 4è&& (
+tok\92
+[j] != ',')) {
+
+2492 
+rx_phy_pÜt_num
+[
+j
+] = 
+tok\92
+[j];
+
+2493 
+j
+++;
+
+2495 
+rx_phy_pÜt_num
+[
+j
+] = '\0';
+
+2496 
+rxpÜt
+ = 
+       `©oi
+(
+rx_phy_pÜt_num
+);
+
+2498 
+j
+++;
+
+2499 
+k
+ = 0;
+
+2500 \1f(
+k
+ < 4è&& (
+tok\92
+[
+j
+ + k] != ')')) {
+
+2501 
+tx_phy_pÜt_num
+[
+k
+] = 
+tok\92
+[
+j
+ + k];
+
+2502 
+k
+++;
+
+2504 
+tx_phy_pÜt_num
+[
+k
+] = '\0';
+
+2505 
+txpÜt
+ = 
+       `©oi
+(
+tx_phy_pÜt_num
+);
+
+2506 ià(
+rxpÜt
+ < 
+PIPELINE_MAX_PORT_IN
+ && 
+txpÜt
+ < PIPELINE_MAX_PORT_IN){
+
+2507 
+       `´\9atf
+("token: %s,"
+
+2510 
+tok\92
+, 
+rx_phy_pÜt_num
+, 
+rxpÜt
+,
+
+2511 
+tx_phy_pÜt_num
+, 
+txpÜt
+);
+
+2515 ià((
+rxpÜt
+ >ð
+PIPELINE_MAX_PORT_IN
+) ||
+
+2516 (
+txpÜt
+ >ð
+PIPELINE_MAX_PORT_IN
+) ||
+
+2517 (
+\9a_pÜt_d\9c_a
+[
+rxpÜt
+] != 1)) {
+
+2518 
+       `´\9atf
+("CG-NAPT\85arse\83rror - "
+
+2521 
+rxpÜt
+, 
+txpÜt
+, 
+\9a_pÜt_d\9c_a
+[rxport]);
+
+2525 
+´v_to_pub_m­
+[
+rxpÜt
+] = 
+txpÜt
+;
+
+2526 
+pub_to_´v_m­
+[
+txpÜt
+] = 
+rxpÜt
+;
+
+2527 
+tok\92
+ = 
+       `¡¹ok
+(
+NULL
+, "(");
+
+2534 ià(
+       `¡rcmp
+(
+¬g_Çme
+, "lib_arp_debug") == 0) {
+
+2535 
+ARPICMP_DEBUG
+ = 
+       `©oi
+(
+¬g_v®ue
+);
+
+2541 ià(
+       `¡rcmp
+(
+¬g_Çme
+, "ports_mac_list") == 0) {
+
+2542 
+pÜts_mac_li¡_´e£Á
+ = 1;
+
+2544 
+u\9at32_t
+i
+ = 0, 
+j
+ = 0, 
+k
+ = 0, 
+MAC_NUM_BYTES
+ = 6;
+
+2546 \ 5
+by\8bS\8c
+[
+MAC_NUM_BYTES
+][3];
+
+2547 
+u\9at32_t
+by\8b
+[
+MAC_NUM_BYTES
+];
+
+2549 \ 5*
+tok\92
+ = 
+       `¡¹ok
+(
+¬g_v®ue
+, " ");
+
+2550 \1f
+tok\92
+) {
+
+2551 
+k
+ = 0;
+
+2552 \ f
+i
+ = 0; i < 
+MAC_NUM_BYTES
+; i++) {
+
+2553 \ f
+j
+ = 0; j < 2; j++)
+
+2554 
+by\8bS\8c
+[
+i
+][
+j
+] = 
+tok\92
+[
+k
+++];
+
+2555 
+by\8bS\8c
+[
+i
+][
+j
+] = '\0';
+
+2556 
+k
+++;
+
+2559 \ f
+i
+ = 0; i < 
+MAC_NUM_BYTES
+; i++)
+
+2560 
+by\8b
+[
+i
+] = 
+       `¡¹oul
+(
+by\8bS\8c
+[i], 
+NULL
+, 16);
+
+2562 ià(
+ARPICMP_DEBUG
+) {
+
+2563 
+       `´\9atf
+("tok\92: %s", 
+tok\92
+);
+
+2564 \ f
+i
+ = 0; i < 
+MAC_NUM_BYTES
+; i++)
+
+2565 
+       `´\9atf
+(", by\8b[%u] %u", 
+i
+,
+
+2566 
+by\8b
+[
+i
+]);
+
+2567 
+       `´\9atf
+("\n");
+
+2570 \ f
+i
+ = 0; i < 
+MAC_NUM_BYTES
+; i++)
+
+2571 
+l\9ak_hw_addr
+
+
+2572 [
+l\9ak_hw_addr_¬¿y_idx
+].
+addr_by\8bs
+
+
+2573 [
+i
+] = 
+by\8b
+[i];
+
+2575 
+l\9ak_hw_addr_¬¿y_idx
+++;
+
+2576 
+tok\92
+ = 
+       `¡¹ok
+(
+NULL
+, " ");
+
+2583 ià(
+       `¡rcmp
+(
+¬g_Çme
+, "arp_route_tbl") == 0) {
+
+2584 
+¬p_rou\8b_tbl_´e£Á
+ = 1;
+
+2586 
+u\9at32_t
+de¡_\9d
+ = 0, 
+mask
+ = 0, 
+tx_pÜt
+ = 0, 
+nh_\9d
+ =
+
+2587 0, 
+i
+ = 0, 
+j
+ = 0, 
+k
+ = 0, 
+l
+ = 0;
+
+2588 
+u\9at32_t
+¬p_rou\8b_tbl_¡r_max_Ën
+ = 10;
+
+2589 \ 5
+de¡_\9d_¡r
+[
+¬p_rou\8b_tbl_¡r_max_Ën
+];
+
+2590 \ 5
+mask_¡r
+[
+¬p_rou\8b_tbl_¡r_max_Ën
+];
+
+2591 \ 5
+tx_pÜt_¡r
+[
+¬p_rou\8b_tbl_¡r_max_Ën
+];
+
+2592 \ 5
+nh_\9d_¡r
+[
+¬p_rou\8b_tbl_¡r_max_Ën
+];
+
+2593 \ 5*
+tok\92
+ = 
+       `¡¹ok
+(
+¬g_v®ue
+, "(");
+
+2594 \1f
+tok\92
+) {
+
+2595 
+i
+ = 0;
+
+2596 \1f(
+i
+ < (
+¬p_rou\8b_tbl_¡r_max_Ën
+ - 1))
+
+2597 && (
+tok\92
+[
+i
+] != ',')) {
+
+2598 
+de¡_\9d_¡r
+[
+i
+] = 
+tok\92
+[i];
+
+2599 
+i
+++;
+
+2601 
+de¡_\9d_¡r
+[
+i
+] = '\0';
+
+2602 
+de¡_\9d
+ = 
+       `¡¹oul
+(
+de¡_\9d_¡r
+, 
+NULL
+, 16);
+
+2604 
+i
+++;
+
+2605 
+j
+ = 0;
+
+2606 \1f(
+j
+ < (
+¬p_rou\8b_tbl_¡r_max_Ën
+ - 1))
+
+2607 && (
+tok\92
+[
+i
+ + 
+j
+] != ',')) {
+
+2608 
+mask_¡r
+[
+j
+] = 
+tok\92
+[
+i
+ + j];
+
+2609 
+j
+++;
+
+2611 
+mask_¡r
+[
+j
+] = '\0';
+
+2612 
+mask
+ = 
+       `¡¹oul
+(
+mask_¡r
+, 
+NULL
+, 16);
+
+2614 
+j
+++;
+
+2615 
+k
+ = 0;
+
+2616 \1f(
+k
+ < (
+¬p_rou\8b_tbl_¡r_max_Ën
+ - 1))
+
+2617 && (
+tok\92
+[
+i
+ + 
+j
+ + 
+k
+] != ',')) {
+
+2618 
+tx_pÜt_¡r
+[
+k
+] = 
+tok\92
+[
+i
+ + 
+j
+ + k];
+
+2619 
+k
+++;
+
+2621 
+tx_pÜt_¡r
+[
+k
+] = '\0';
+
+2623 
+tx_pÜt
+ = 
+       `¡¹oul
+(
+tx_pÜt_¡r
+, 
+NULL
+, 16);
+
+2625 
+k
+++;
+
+2626 
+l
+ = 0;
+
+2627 \1f(
+l
+ < (
+¬p_rou\8b_tbl_¡r_max_Ën
+ - 1))
+
+2628 && (
+tok\92
+[
+i
+ + 
+j
+ + 
+k
+ + 
+l
+] != ')')) {
+
+2629 
+nh_\9d_¡r
+[
+l
+] = 
+tok\92
+[
+i
+ + 
+j
+ + 
+k
+ +\86];
+
+2630 
+l
+++;
+
+2632 
+nh_\9d_¡r
+[
+l
+] = '\0';
+
+2634 
+nh_\9d
+ = 
+       `¡¹oul
+(
+nh_\9d_¡r
+, 
+NULL
+, 16);
+
+2636 ià(
+ARPICMP_DEBUG
+) {
+
+2637 
+       `´\9atf
+("token: %s, "
+
+2642 
+tok\92
+, 
+de¡_\9d_¡r
+, 
+de¡_\9d
+,
+
+2643 
+mask_¡r
+, 
+mask
+, 
+tx_pÜt_¡r
+,
+
+2644 
+tx_pÜt
+, 
+nh_\9d_¡r
+, 
+nh_\9d
+);
+
+2647 ià(
+tx_pÜt
+ >ð
+·¿ms
+->
+n_pÜts_out
+) {
+
+2648 
+       `´\9atf
+("ARP-ICMP\85arse\83rror - "
+
+2650 
+tx_pÜt
+, 
+·¿ms
+->
+n_pÜts_out
+);
+
+2656 
+lib_¬p_rou\8b_\8f
+[
+¬p_rou\8b_tbl_\9adex
+].
+\9d
+ =
+
+2657 
+de¡_\9d
+;
+
+2658 
+lib_¬p_rou\8b_\8f
+[
+¬p_rou\8b_tbl_\9adex
+].
+mask
+ =
+
+2659 
+mask
+;
+
+2660 
+lib_¬p_rou\8b_\8f
+[
+¬p_rou\8b_tbl_\9adex
+].
+pÜt
+ =
+
+2661 
+tx_pÜt
+;
+
+2662 
+lib_¬p_rou\8b_\8f
+[
+¬p_rou\8b_tbl_\9adex
+].
+nh
+ =
+
+2663 
+nh_\9d
+;
+
+2664 
+¬p_rou\8b_tbl_\9adex
+++;
+
+2665 
+tok\92
+ = 
+       `¡¹ok
+(
+NULL
+, "(");
+
+2672 ià(
+       `¡rcmp
+(
+¬g_Çme
+, "nd_route_tbl") == 0) {
+
+2673 
+nd_rou\8b_tbl_´e£Á
+ = 1;
+
+2675 
+u\9at8_t
+de¡_\9dv6
+[16], 
+d\95th
+ = 0, 
+tx_pÜt
+ =
+
+2676 0, 
+nh_\9dv6
+[16], 
+i
+ = 0, 
+j
+ = 0, 
+k
+ = 0, 
+l
+ = 0;
+
+2677 
+u\9at8_t
+nd_rou\8b_tbl_¡r_max_Ën
+ = 128;
+
+2678 \ 5
+de¡_\9dv6_¡r
+[
+nd_rou\8b_tbl_¡r_max_Ën
+];
+
+2679 \ 5
+d\95th_¡r
+[
+nd_rou\8b_tbl_¡r_max_Ën
+];
+
+2680 \ 5
+tx_pÜt_¡r
+[
+nd_rou\8b_tbl_¡r_max_Ën
+];
+
+2681 \ 5
+nh_\9dv6_¡r
+[
+nd_rou\8b_tbl_¡r_max_Ën
+];
+
+2682 \ 5*
+tok\92
+ = 
+       `¡¹ok
+(
+¬g_v®ue
+, "(");
+
+2683 \1f
+tok\92
+) {
+
+2684 
+i
+ = 0;
+
+2685 \1f(
+i
+ < (
+nd_rou\8b_tbl_¡r_max_Ën
+ - 1))
+
+2686 && (
+tok\92
+[
+i
+] != ',')) {
+
+2687 
+de¡_\9dv6_¡r
+[
+i
+] = 
+tok\92
+[i];
+
+2688 
+i
+++;
+
+2690 
+de¡_\9dv6_¡r
+[
+i
+] = '\0';
+
+2691 
+       `my_\9a\91_±Ú_\9dv6
+(
+AF_INET6
+, 
+de¡_\9dv6_¡r
+,
+
+2692 &
+de¡_\9dv6
+);
+
+2694 
+i
+++;
+
+2695 
+j
+ = 0;
+
+2696 \1f(
+j
+ < (
+nd_rou\8b_tbl_¡r_max_Ën
+ - 1))
+
+2697 && (
+tok\92
+[
+i
+ + 
+j
+] != ',')) {
+
+2698 
+d\95th_¡r
+[
+j
+] = 
+tok\92
+[
+i
+ + j];
+
+2699 
+j
+++;
+
+2701 
+d\95th_¡r
+[
+j
+] = '\0';
+
+2703 \12
+s
+;
+
+2704 \ f
+s
+ = 0; 
+d\95th_¡r
+[s] != '\0'; ++s)
+
+2705 
+d\95th
+ = d\95th * 10 + 
+d\95th_¡r
+[
+s
+] - '0';
+
+2707 
+j
+++;
+
+2708 
+k
+ = 0;
+
+2709 \1f(
+k
+ < (
+nd_rou\8b_tbl_¡r_max_Ën
+ - 1))
+
+2710 && (
+tok\92
+[
+i
+ + 
+j
+ + 
+k
+] != ',')) {
+
+2711 
+tx_pÜt_¡r
+[
+k
+] = 
+tok\92
+[
+i
+ + 
+j
+ + k];
+
+2712 
+k
+++;
+
+2714 
+tx_pÜt_¡r
+[
+k
+] = '\0';
+
+2716 
+tx_pÜt
+ = 
+       `¡¹oul
+(
+tx_pÜt_¡r
+, 
+NULL
+, 16);
+
+2718 
+k
+++;
+
+2719 
+l
+ = 0;
+
+2720 \1f(
+l
+ < (
+nd_rou\8b_tbl_¡r_max_Ën
+ - 1))
+
+2721 && (
+tok\92
+[
+i
+ + 
+j
+ + 
+k
+ + 
+l
+] != ')')) {
+
+2722 
+nh_\9dv6_¡r
+[
+l
+] = 
+tok\92
+[
+i
+ + 
+j
+ + 
+k
+ +\86];
+
+2723 
+l
+++;
+
+2725 
+nh_\9dv6_¡r
+[
+l
+] = '\0';
+
+2726 
+       `my_\9a\91_±Ú_\9dv6
+(
+AF_INET6
+, 
+nh_\9dv6_¡r
+,
+
+2727 &
+nh_\9dv6
+);
+
+2730 \ f
+i
+ = 0; i < 16; i++) {
+
+2731 
+lib_nd_rou\8b_\8f
+
+
+2732 [
+nd_rou\8b_tbl_\9adex
+].
+\9dv6
+[
+i
+] =
+
+2733 
+de¡_\9dv6
+[
+i
+];
+
+2734 
+lib_nd_rou\8b_\8f
+
+
+2735 [
+nd_rou\8b_tbl_\9adex
+].
+nh\9dv6
+[
+i
+] =
+
+2736 
+nh_\9dv6
+[
+i
+];
+
+2738 
+lib_nd_rou\8b_\8f
+[
+nd_rou\8b_tbl_\9adex
+].
+d\95th
+ =
+
+2739 
+d\95th
+;
+
+2740 
+lib_nd_rou\8b_\8f
+[
+nd_rou\8b_tbl_\9adex
+].
+pÜt
+ =
+
+2741 
+tx_pÜt
+;
+
+2743 
+nd_rou\8b_tbl_\9adex
+++;
+
+2744 
+tok\92
+ = 
+       `¡¹ok
+(
+NULL
+, "(");
+
+2754 ià(!
+¬p_m\91a_off£t_´e£Á
+) {
+
+2755 
+       `´\9atf
+("ARPICMP:\87rp_meta_offset\82ot initialized\n");
+
+2760 ià(!
+¬p_rou\8b_tbl_´e£Á
+ && !
+nd_rou\8b_tbl_´e£Á
+) {
+
+2761 
+       `´\9atf
+("Neither\87rp_route_tbl_present\82or "
+
+2766 ià(!
+pktq_\9a_´v_´e£Á
+) {
+
+2767 
+       `´\9atf
+("pktq_in_prv\82ot declared\n");
+
+2771 ià(!
+pÜts_mac_li¡_´e£Á
+) {
+
+2772 
+       `´\9atf
+("ports_mac_list\82ot declared\n");
+
+2777 
+       }
+}
+
+2781 
+u\9at32_t
+       g¬picmp_pkt_´\9at_couÁ
+;
+
+2782 \18
+\9al\9ae
\1e
+
+2783 
+       $pkt_key_¬picmp
+(\19
+¹e_mbuf
+ *
+pkt
+, 
+u\9at32_t
+pkt_num
+, \1e*
+¬g
+)
+
+2786 \19
+p\9d\96\9ae_¬picmp_\9a_pÜt_h_¬g
+ *
+ = 
+¬g
+;
+
+2787 \19
+p\9d\96\9ae_¬picmp
+ *
+p_¬p
+ = (\19p\9d\96\9ae_¬picm°*)
+->
+p
+;
+
+2789 
+p_¬p
+->
+»ûivedPktCouÁ
+++;
+
+2791 
+u\9at8_t
+\9a_pÜt_id
+ = 
+pkt
+->
+pÜt
+;
+
+2792 #ifdeà
+VNF_ACL
+
+
+2793 \19
+­p_l\9ak_·¿ms
+ *
+l\9ak
+;
+
+2795 
+u\9at8_t
+ *
+´ÙocÞ
+;
+
+2796 
+u\9at32_t
+pkt_mask
+ = 1 << 
+pkt_num
+;
+
+2797 
+u\9at32_t
+\91h_´Ùo_off£t
+ = 
+MBUF_HDR_ROOM
+ + 12;
+
+2799 
+u\9at32_t
+´Ù_off£t
+ =
+
+2800 
+MBUF_HDR_ROOM
+ + 
+ETH_HDR_SIZE
+ + 
+IP_HDR_PROTOCOL_OFST
+;
+
+2802 #ifdeà
+VNF_ACL
+
+
+2803 
+u\9at32_t
+out_pÜt
+;
+
+2806 
+u\9at16_t
+ *
+\91h_´Ùo
+ =
+
+2807 
+       `RTE_MBUF_METADATA_UINT16_PTR
+(
+pkt
+, 
+\91h_´Ùo_off£t
+);
+
+2810 #ifdeà
+VNF_ACL
+
+
+2811 
+u\9at32_t
+d¡_addr_off£t
+ =
+
+2812 
+MBUF_HDR_ROOM
+ + 
+ETH_HDR_SIZE
+ + 
+IP_HDR_DST_ADR_OFST
+;
+
+2813 
+u\9at32_t
+ *
+d¡_addr
+ = 
+       `RTE_MBUF_METADATA_UINT32_PTR
+(
+pkt
+, 
+d¡_addr_off£t
+);
+
+2816 #ifdeà
+IPV6
+
+
+2817 
+u\9at32_t
+´Ù_off£t_\9dv6
+ =
+
+2818 
+MBUF_HDR_ROOM
+ + 
+ETH_HDR_SIZE
+ + 
+IPV6_HDR_PROTOCOL_OFST
+;
+
+2820 ià(
+       `¹e_be_to_ýu_16
+(*
+\91h_´Ùo
+è=ð
+ETHER_TYPE_IPv6
+)
+
+2821 
+´ÙocÞ
+ = 
+       `RTE_MBUF_METADATA_UINT8_PTR
+(
+pkt
+, 
+´Ù_off£t_\9dv6
+);
+
+2823 
+´ÙocÞ
+ = 
+       `RTE_MBUF_METADATA_UINT8_PTR
+(
+pkt
+, 
+´Ù_off£t
+);
+
+2825 
+´ÙocÞ
+ = 
+       `RTE_MBUF_METADATA_UINT8_PTR
+(
+pkt
+, 
+´Ù_off£t
+);
+
+2829 ià((
+ARPICMP_DEBUG
+ > 2è&& (
+¬picmp_pkt_´\9at_couÁ
+ < 10)) {
+
+2830 
+       `´\9at_pkt1
+(
+pkt
+);
+
+2831 
+¬picmp_pkt_´\9at_couÁ
+++;
+
+2832 
+       `´\9atf
+("\nEth Typ %x, Prot %x, ETH_TYPE_ARP %x, "
+
+2834 
+       `¹e_be_to_ýu_16
+(*
+\91h_´Ùo
+), *
+´ÙocÞ
+, 
+ETH_TYPE_ARP
+,
+
+2835 
+ETH_TYPE_IPV4
+, 
+IP_PROTOCOL_ICMP
+);
+
+2838 #ifdeà
+VNF_ACL
+
+
+2839 
+l\9ak
+ = &
+myAµ
+->
+l\9ak_·¿ms
+[
+\9a_pÜt_id
+];
+
+2843 ià((
+       `¹e_be_to_ýu_16
+(*
+\91h_´Ùo
+è=ð
+ETH_TYPE_ARP
+) ||
+
+2844 ((
+       `¹e_be_to_ýu_16
+(*
+\91h_´Ùo
+è=ð
+ETH_TYPE_IPV4
+)
+
+2845 && (*
+´ÙocÞ
+ =ð
+IP_PROTOCOL_ICMP
+)
+
+2846 #ifdeà
+VNF_ACL
+
+
+2847 && (
+l\9ak
+->
+\9d
+ =ð
+       `¹e_be_to_ýu_32
+(*
+d¡_addr
+))
+
+2851 #ifdeà
+VNF_ACL
+
+
+2852 
+out_pÜt
+ = 
+p_¬p
+->
+ou\8dÜt_id
+[
+\9a_pÜt_id
+];
+
+2853 
+       `´oûss_¬picmp_pkt
+(
+pkt
+, 
+out_pÜt
+, 
+pkt_mask
+);
+
+2855 
+       `´oûss_¬picmp_pkt
+(
+pkt
+, 
+       `ifm_g\91_pÜt
+(
+\9a_pÜt_id
+));
+
+2859 #ifdeà
+IPV6
+
+
+2860 \vià((
+       `¹e_be_to_ýu_16
+(*
+\91h_´Ùo
+è=ð
+ETH_TYPE_IPV6
+)
+
+2861 && (*
+´ÙocÞ
+ =ð
+ICMPV6_PROTOCOL_ID
+)) {
+
+2862 #ifdeà
+VNF_ACL
+
+
+2863 
+out_pÜt
+ = 
+p_¬p
+->
+ou\8dÜt_id
+[
+\9a_pÜt_id
+];
+
+2864 
+       `´oûss_icmpv6_pkt
+(
+pkt
+, 
+out_pÜt
+, 
+pkt_mask
+);
+
+2866 
+       `´oûss_icmpv6_pkt
+(
+pkt
+, 
+       `ifm_g\91_pÜt
+(
+\9a_pÜt_id
+));
+
+2874 
+       `¹e_p\9d\96\9ae_ah_·ck\91_drÝ
+(
+p_¬p
+->
+p
+.p, 
+pkt_mask
+);
+
+2875 
+p_¬p
+->
+drݳdPktCouÁ
+++;
+
+2877 
+       }
+}
+
+2879 \18
+\9al\9ae
\1e
+
+2880 
+       $pkt4_key_¬picmp
+(\19
+¹e_mbuf
+ **
+pkt
+, 
+u\9at32_t
+pkt_num
+, \1e*
+¬g
+)
+
+2883 \19
+p\9d\96\9ae_¬picmp_\9a_pÜt_h_¬g
+ *
+ = 
+¬g
+;
+
+2884 \19
+p\9d\96\9ae_¬picmp
+ *
+p_¬p
+ = (\19p\9d\96\9ae_¬picm°*)
+->
+p
+;
+
+2886 
+p_¬p
+->
+»ûivedPktCouÁ
+ += 4;
+
+2888 
+u\9at32_t
+\91h_´Ùo_off£t
+ = 
+MBUF_HDR_ROOM
+ + 12;
+
+2889 
+u\9at8_t
+\9a_pÜt_id
+ = 
+pkt
+[0]->
+pÜt
+;
+
+2891 
+u\9at32_t
+´Ù_off£t
+ =
+
+2892 
+MBUF_HDR_ROOM
+ + 
+ETH_HDR_SIZE
+ + 
+IP_HDR_PROTOCOL_OFST
+;
+
+2895 #ifdeà
+VNF_ACL
+
+
+2896 
+u\9at32_t
+d¡_addr_off£t
+ =
+
+2897 
+MBUF_HDR_ROOM
+ + 
+ETH_HDR_SIZE
+ + 
+IP_HDR_DST_ADR_OFST
+;
+
+2900 
+u\9at32_t
+pkt_mask0
+ = 1 << 
+pkt_num
+;
+
+2901 
+u\9at32_t
+pkt_mask1
+ = 1 << (
+pkt_num
+ + 1);
+
+2902 
+u\9at32_t
+pkt_mask2
+ = 1 << (
+pkt_num
+ + 2);
+
+2903 
+u\9at32_t
+pkt_mask3
+ = 1 << (
+pkt_num
+ + 3);
+
+2905 #ifdeà
+VNF_ACL
+
+
+2906 
+u\9at32_t
+out_pÜt0
+;
+
+2907 
+u\9at32_t
+out_pÜt1
+;
+
+2908 
+u\9at32_t
+out_pÜt2
+;
+
+2909 
+u\9at32_t
+out_pÜt3
+;
+
+2912 
+u\9at16_t
+ *
+\91h_´Ùo0
+ =
+
+2913 
+       `RTE_MBUF_METADATA_UINT16_PTR
+(
+pkt
+[0], 
+\91h_´Ùo_off£t
+);
+
+2914 
+u\9at16_t
+ *
+\91h_´Ùo1
+ =
+
+2915 
+       `RTE_MBUF_METADATA_UINT16_PTR
+(
+pkt
+[1], 
+\91h_´Ùo_off£t
+);
+
+2916 
+u\9at16_t
+ *
+\91h_´Ùo2
+ =
+
+2917 
+       `RTE_MBUF_METADATA_UINT16_PTR
+(
+pkt
+[2], 
+\91h_´Ùo_off£t
+);
+
+2918 
+u\9at16_t
+ *
+\91h_´Ùo3
+ =
+
+2919 
+       `RTE_MBUF_METADATA_UINT16_PTR
+(
+pkt
+[3], 
+\91h_´Ùo_off£t
+);
+
+2921 
+u\9at8_t
+ *
+´ÙocÞ0
+;
+
+2922 
+u\9at8_t
+ *
+´ÙocÞ1
+;
+
+2923 
+u\9at8_t
+ *
+´ÙocÞ2
+;
+
+2924 
+u\9at8_t
+ *
+´ÙocÞ3
+;
+
+2926 #ifdeà
+VNF_ACL
+
+
+2927 
+u\9at32_t
+ *
+d¡_addr0
+ =
+
+2928 
+       `RTE_MBUF_METADATA_UINT32_PTR
+(
+pkt
+[0], 
+d¡_addr_off£t
+);
+
+2929 
+u\9at32_t
+ *
+d¡_addr1
+ =
+
+2930 
+       `RTE_MBUF_METADATA_UINT32_PTR
+(
+pkt
+[1], 
+d¡_addr_off£t
+);
+
+2931 
+u\9at32_t
+ *
+d¡_addr2
+ =
+
+2932 
+       `RTE_MBUF_METADATA_UINT32_PTR
+(
+pkt
+[2], 
+d¡_addr_off£t
+);
+
+2933 
+u\9at32_t
+ *
+d¡_addr3
+ =
+
+2934 
+       `RTE_MBUF_METADATA_UINT32_PTR
+(
+pkt
+[3], 
+d¡_addr_off£t
+);
+
+2936 \19
+­p_l\9ak_·¿ms
+ *
+l\9ak0
+;
+
+2937 \19
+­p_l\9ak_·¿ms
+ *
+l\9ak1
+;
+
+2938 \19
+­p_l\9ak_·¿ms
+ *
+l\9ak2
+;
+
+2939 \19
+­p_l\9ak_·¿ms
+ *
+l\9ak3
+;
+
+2941 
+l\9ak0
+ = &
+myAµ
+->
+l\9ak_·¿ms
+[
+pkt
+[0]->
+pÜt
+];
+
+2942 
+l\9ak1
+ = &
+myAµ
+->
+l\9ak_·¿ms
+[
+pkt
+[1]->
+pÜt
+];
+
+2943 
+l\9ak2
+ = &
+myAµ
+->
+l\9ak_·¿ms
+[
+pkt
+[2]->
+pÜt
+];
+
+2944 
+l\9ak3
+ = &
+myAµ
+->
+l\9ak_·¿ms
+[
+pkt
+[3]->
+pÜt
+];
+
+2947 #ifdeà
+IPV6
+
+
+2948 
+u\9at32_t
+´Ù_off£t_\9dv6
+ =
+
+2949 
+MBUF_HDR_ROOM
+ + 
+ETH_HDR_SIZE
+ + 
+IPV6_HDR_PROTOCOL_OFST
+;
+
+2953 #ifdeà
+IPV6
+
+
+2955 ià(
+       `¹e_be_to_ýu_16
+(*
+\91h_´Ùo0
+è=ð
+ETHER_TYPE_IPv6
+)
+
+2956 
+´ÙocÞ0
+ =
+
+2957 
+       `RTE_MBUF_METADATA_UINT8_PTR
+(
+pkt
+[0], 
+´Ù_off£t_\9dv6
+);
+
+2959 
+´ÙocÞ0
+ = 
+       `RTE_MBUF_METADATA_UINT8_PTR
+(
+pkt
+[0], 
+´Ù_off£t
+);
+
+2962 ià(
+       `¹e_be_to_ýu_16
+(*
+\91h_´Ùo1
+è=ð
+ETHER_TYPE_IPv6
+)
+
+2963 
+´ÙocÞ1
+ =
+
+2964 
+       `RTE_MBUF_METADATA_UINT8_PTR
+(
+pkt
+[1], 
+´Ù_off£t_\9dv6
+);
+
+2966 
+´ÙocÞ1
+ = 
+       `RTE_MBUF_METADATA_UINT8_PTR
+(
+pkt
+[1], 
+´Ù_off£t
+);
+
+2969 ià(
+       `¹e_be_to_ýu_16
+(*
+\91h_´Ùo2
+è=ð
+ETHER_TYPE_IPv6
+)
+
+2970 
+´ÙocÞ2
+ =
+
+2971 
+       `RTE_MBUF_METADATA_UINT8_PTR
+(
+pkt
+[2], 
+´Ù_off£t_\9dv6
+);
+
+2973 
+´ÙocÞ2
+ = 
+       `RTE_MBUF_METADATA_UINT8_PTR
+(
+pkt
+[2], 
+´Ù_off£t
+);
+
+2976 ià(
+       `¹e_be_to_ýu_16
+(*
+\91h_´Ùo3
+è=ð
+ETHER_TYPE_IPv6
+)
+
+2977 
+´ÙocÞ3
+ =
+
+2978 
+       `RTE_MBUF_METADATA_UINT8_PTR
+(
+pkt
+[3], 
+´Ù_off£t_\9dv6
+);
+
+2980 
+´ÙocÞ3
+ = 
+       `RTE_MBUF_METADATA_UINT8_PTR
+(
+pkt
+[3], 
+´Ù_off£t
+);
+
+2982 
+´ÙocÞ0
+ = 
+       `RTE_MBUF_METADATA_UINT8_PTR
+(
+pkt
+[0], 
+´Ù_off£t
+);
+
+2983 
+´ÙocÞ1
+ = 
+       `RTE_MBUF_METADATA_UINT8_PTR
+(
+pkt
+[1], 
+´Ù_off£t
+);
+
+2984 
+´ÙocÞ2
+ = 
+       `RTE_MBUF_METADATA_UINT8_PTR
+(
+pkt
+[2], 
+´Ù_off£t
+);
+
+2985 
+´ÙocÞ3
+ = 
+       `RTE_MBUF_METADATA_UINT8_PTR
+(
+pkt
+[3], 
+´Ù_off£t
+);
+
+2988 ià((
+ARPICMP_DEBUG
+ > 2è&& (
+¬picmp_pkt_´\9at_couÁ
+ < 10)) {
+
+2989 
+       `´\9at_pkt1
+(
+pkt
+[0]);
+
+2990 
+¬picmp_pkt_´\9at_couÁ
+++;
+
+2991 
+       `´\9atf
+("\nEth Typ %x, Prot %x, ETH_TYPE_ARP %x, "
+
+2993 
+       `¹e_be_to_ýu_16
+(*
+\91h_´Ùo0
+), *
+´ÙocÞ0
+, 
+ETH_TYPE_ARP
+,
+
+2994 
+ETH_TYPE_IPV4
+, 
+IP_PROTOCOL_ICMP
+);
+
+2998 ià((
+       `¹e_be_to_ýu_16
+(*
+\91h_´Ùo0
+è=ð
+ETH_TYPE_ARP
+) ||
+
+2999 ((
+       `¹e_be_to_ýu_16
+(*
+\91h_´Ùo0
+è=ð
+ETH_TYPE_IPV4
+)
+
+3000 && (*
+´ÙocÞ0
+ =ð
+IP_PROTOCOL_ICMP
+)
+
+3001 #ifdeà
+VNF_ACL
+
+
+3002 && (
+l\9ak0
+->
+\9d
+ =ð
+       `¹e_be_to_ýu_32
+(*
+d¡_addr0
+))
+
+3006 #ifdeà
+VNF_ACL
+
+
+3007 
+out_pÜt0
+ = 
+p_¬p
+->
+ou\8dÜt_id
+[
+pkt
+[0]->
+pÜt
+];
+
+3008 
+       `´oûss_¬picmp_pkt
+(
+pkt
+[0], 
+out_pÜt0
+, 
+pkt_mask0
+);
+
+3010 
+       `´oûss_¬picmp_pkt
+(
+pkt
+[0], 
+       `ifm_g\91_pÜt
+(
+\9a_pÜt_id
+));
+
+3013 \10
+PKT1
+;
+
+3015 #ifdeà
+IPV6
+
+
+3016 \vià((
+       `¹e_be_to_ýu_16
+(*
+\91h_´Ùo0
+è=ð
+ETH_TYPE_IPV6
+)
+
+3017 && (*
+´ÙocÞ0
+ =ð
+ICMPV6_PROTOCOL_ID
+)) {
+
+3019 #ifdeà
+VNF_ACL
+
+
+3020 
+out_pÜt0
+ = 
+p_¬p
+->
+ou\8dÜt_id
+[
+pkt
+[0]->
+pÜt
+];
+
+3021 
+       `´oûss_icmpv6_pkt
+(
+pkt
+[0], 
+out_pÜt0
+, 
+pkt_mask0
+);
+
+3023 
+       `´oûss_icmpv6_pkt
+(
+pkt
+[0], 
+       `ifm_g\91_pÜt
+(
+\9a_pÜt_id
+));
+
+3026 \10
+PKT1
+;
+
+3031 
+       `¹e_p\9d\96\9ae_ah_·ck\91_drÝ
+(
+p_¬p
+->
+p
+.p, 
+pkt_mask0
+);
+
+3032 
+p_¬p
+->
+drݳdPktCouÁ
+++;
+
+3034 
+PKT1
+:
+
+3035 ià((
+ARPICMP_DEBUG
+ > 2è&& (
+¬picmp_pkt_´\9at_couÁ
+ < 10)) {
+
+3036 
+       `´\9at_pkt1
+(
+pkt
+[1]);
+
+3037 
+¬picmp_pkt_´\9at_couÁ
+++;
+
+3038 
+       `´\9atf
+("\nEth Typ %x, Prot %x, ETH_TYPE_ARP %x, "
+
+3040 
+       `¹e_be_to_ýu_16
+(*
+\91h_´Ùo1
+), *
+´ÙocÞ1
+, 
+ETH_TYPE_ARP
+,
+
+3041 
+ETH_TYPE_IPV4
+, 
+IP_PROTOCOL_ICMP
+);
+
+3044 ià((
+       `¹e_be_to_ýu_16
+(*
+\91h_´Ùo1
+è=ð
+ETH_TYPE_ARP
+) ||
+
+3045 ((
+       `¹e_be_to_ýu_16
+(*
+\91h_´Ùo1
+è=ð
+ETH_TYPE_IPV4
+)
+
+3046 && (*
+´ÙocÞ1
+ =ð
+IP_PROTOCOL_ICMP
+)
+
+3047 #ifdeà
+VNF_ACL
+
+
+3048 && (
+l\9ak1
+->
+\9d
+ =ð
+       `¹e_be_to_ýu_32
+(*
+d¡_addr1
+))
+
+3052 #ifdeà
+VNF_ACL
+
+
+3053 
+out_pÜt1
+ = 
+p_¬p
+->
+ou\8dÜt_id
+[
+pkt
+[1]->
+pÜt
+];
+
+3054 
+       `´oûss_¬picmp_pkt
+(
+pkt
+[1], 
+out_pÜt1
+, 
+pkt_mask1
+);
+
+3056 
+       `´oûss_¬picmp_pkt
+(
+pkt
+[1], 
+       `ifm_g\91_pÜt
+(
+\9a_pÜt_id
+));
+
+3058 \10
+PKT2
+;
+
+3060 #ifdeà
+IPV6
+
+
+3061 \vià((
+       `¹e_be_to_ýu_16
+(*
+\91h_´Ùo1
+è=ð
+ETH_TYPE_IPV6
+)
+
+3062 && (*
+´ÙocÞ1
+ =ð
+ICMPV6_PROTOCOL_ID
+)) {
+
+3064 #ifdeà
+VNF_ACL
+
+
+3065 
+out_pÜt1
+ = 
+p_¬p
+->
+ou\8dÜt_id
+[
+pkt
+[1]->
+pÜt
+];
+
+3066 
+       `´oûss_icmpv6_pkt
+(
+pkt
+[1], 
+out_pÜt1
+, 
+pkt_mask1
+);
+
+3068 
+       `´oûss_icmpv6_pkt
+(
+pkt
+[1], 
+       `ifm_g\91_pÜt
+(
+\9a_pÜt_id
+));
+
+3071 \10
+PKT2
+;
+
+3076 
+       `¹e_p\9d\96\9ae_ah_·ck\91_drÝ
+(
+p_¬p
+->
+p
+.p, 
+pkt_mask1
+);
+
+3077 
+p_¬p
+->
+drݳdPktCouÁ
+++;
+
+3079 
+PKT2
+:
+
+3080 ià((
+ARPICMP_DEBUG
+ > 2è&& (
+¬picmp_pkt_´\9at_couÁ
+ < 10)) {
+
+3081 
+       `´\9at_pkt1
+(
+pkt
+[2]);
+
+3082 
+¬picmp_pkt_´\9at_couÁ
+++;
+
+3083 
+       `´\9atf
+("\nEth Typ %x, Prot %x, ETH_TYPE_ARP %x, "
+
+3085 
+       `¹e_be_to_ýu_16
+(*
+\91h_´Ùo2
+), *
+´ÙocÞ2
+, 
+ETH_TYPE_ARP
+,
+
+3086 
+ETH_TYPE_IPV4
+, 
+IP_PROTOCOL_ICMP
+);
+
+3089 ià((
+       `¹e_be_to_ýu_16
+(*
+\91h_´Ùo2
+è=ð
+ETH_TYPE_ARP
+) ||
+
+3090 ((
+       `¹e_be_to_ýu_16
+(*
+\91h_´Ùo2
+è=ð
+ETH_TYPE_IPV4
+)
+
+3091 && (*
+´ÙocÞ2
+ =ð
+IP_PROTOCOL_ICMP
+)
+
+3092 #ifdeà
+VNF_ACL
+
+
+3093 && (
+l\9ak2
+->
+\9d
+ =ð
+       `¹e_be_to_ýu_32
+(*
+d¡_addr2
+))
+
+3097 #ifdeà
+VNF_ACL
+
+
+3098 
+out_pÜt2
+ = 
+p_¬p
+->
+ou\8dÜt_id
+[
+pkt
+[2]->
+pÜt
+];
+
+3099 
+       `´oûss_¬picmp_pkt
+(
+pkt
+[2], 
+out_pÜt2
+, 
+pkt_mask2
+);
+
+3101 
+       `´oûss_¬picmp_pkt
+(
+pkt
+[2], 
+       `ifm_g\91_pÜt
+(
+\9a_pÜt_id
+));
+
+3104 \10
+PKT3
+;
+
+3106 #ifdeà
+IPV6
+
+
+3107 \vià((
+       `¹e_be_to_ýu_16
+(*
+\91h_´Ùo2
+è=ð
+ETH_TYPE_IPV6
+)
+
+3108 && (*
+´ÙocÞ2
+ =ð
+ICMPV6_PROTOCOL_ID
+)) {
+
+3110 #ifdeà
+VNF_ACL
+
+
+3111 
+out_pÜt2
+ = 
+p_¬p
+->
+ou\8dÜt_id
+[
+pkt
+[2]->
+pÜt
+];
+
+3112 
+       `´oûss_icmpv6_pkt
+(
+pkt
+[2], 
+out_pÜt2
+, 
+pkt_mask2
+);
+
+3114 
+       `´oûss_icmpv6_pkt
+(
+pkt
+[2], 
+       `ifm_g\91_pÜt
+(
+\9a_pÜt_id
+));
+
+3117 \10
+PKT3
+;
+
+3122 
+       `¹e_p\9d\96\9ae_ah_·ck\91_drÝ
+(
+p_¬p
+->
+p
+.p, 
+pkt_mask2
+);
+
+3123 
+p_¬p
+->
+drݳdPktCouÁ
+++;
+
+3125 
+PKT3
+:
+
+3126 ià((
+ARPICMP_DEBUG
+ > 2è&& (
+¬picmp_pkt_´\9at_couÁ
+ < 10)) {
+
+3127 
+       `´\9at_pkt1
+(
+pkt
+[3]);
+
+3128 
+¬picmp_pkt_´\9at_couÁ
+++;
+
+3129 
+       `´\9atf
+("\nEth Typ %x, Prot %x, ETH_TYPE_ARP %x, "
+
+3131 
+       `¹e_be_to_ýu_16
+(*
+\91h_´Ùo3
+), *
+´ÙocÞ3
+, 
+ETH_TYPE_ARP
+,
+
+3132 
+ETH_TYPE_IPV4
+, 
+IP_PROTOCOL_ICMP
+);
+
+3135 ià((
+       `¹e_be_to_ýu_16
+(*
+\91h_´Ùo3
+è=ð
+ETH_TYPE_ARP
+) ||
+
+3136 ((
+       `¹e_be_to_ýu_16
+(*
+\91h_´Ùo3
+è=ð
+ETH_TYPE_IPV4
+)
+
+3137 && (*
+´ÙocÞ3
+ =ð
+IP_PROTOCOL_ICMP
+)
+
+3139 #ifdeà
+VNF_ACL
+
+
+3140 && (
+l\9ak3
+->
+\9d
+ =ð
+       `¹e_be_to_ýu_32
+(*
+d¡_addr3
+))
+
+3144 #ifdeà
+VNF_ACL
+
+
+3145 
+out_pÜt3
+ = 
+p_¬p
+->
+ou\8dÜt_id
+[
+pkt
+[3]->
+pÜt
+];
+
+3146 
+       `´oûss_¬picmp_pkt
+(
+pkt
+[3], 
+out_pÜt3
+, 
+pkt_mask3
+);
+
+3148 
+       `´oûss_¬picmp_pkt
+(
+pkt
+[3], 
+       `ifm_g\91_pÜt
+(
+\9a_pÜt_id
+));
+
+3153 #ifdeà
+IPV6
+
+
+3154 \vià((
+       `¹e_be_to_ýu_16
+(*
+\91h_´Ùo3
+è=ð
+ETH_TYPE_IPV6
+)
+
+3155 && (*
+´ÙocÞ3
+ =ð
+ICMPV6_PROTOCOL_ID
+)) {
+
+3157 #ifdeà
+VNF_ACL
+
+
+3158 
+out_pÜt3
+ = 
+p_¬p
+->
+ou\8dÜt_id
+[
+pkt
+[3]->
+pÜt
+];
+
+3159 
+       `´oûss_icmpv6_pkt
+(
+pkt
+[3], 
+out_pÜt3
+, 
+pkt_mask3
+);
+
+3161 
+       `´oûss_icmpv6_pkt
+(
+pkt
+[3], 
+       `ifm_g\91_pÜt
+(
+\9a_pÜt_id
+));
+
+3168 
+       `¹e_p\9d\96\9ae_ah_·ck\91_drÝ
+(
+p_¬p
+->
+p
+.p, 
+pkt_mask3
+);
+
+3169 
+p_¬p
+->
+drݳdPktCouÁ
+++;
+
+3172 
+       }
+}
+
+3174 
+PIPELINE_ARPICMP_KEY_PORT_IN_AH
+(
+
+3175 
+pÜt_\9a_ah_¬picmp
+,
+
+3176 
+pkt_key_¬picmp
+,
+
+3177 
+pkt4_key_¬picmp
+);
+
+3179 \18\1e*
+       $p\9d\96\9ae_¬picmp_\9a\99
+(\19
+p\9d\96\9ae_·¿ms
+ *
+·¿ms
+,
+
+3180 
+__¹e_unu£d
\1e*
+¬g
+)
+
+3182 \19
+p\9d\96\9ae
+ *
+p
+;
+
+3183 \19
+p\9d\96\9ae_¬picmp
+ *
+p_¬p
+;
+
+3184 
+u\9at32_t
+size
+, 
+i
+, 
+\9a_pÜts_¬g_size
+;
+
+3186 
+       `´\9atf
+("Start\85ipeline_arpicmp_init\n");
+
+3189 ià((
+·¿ms
+ =ð
+NULL
+) ||
+
+3190 (
+·¿ms
+->
+n_pÜts_\9a
+ == 0) ||
+
+3191 (
+·¿ms
+->
+n_pÜts_out
+ == 0))
+
+3192 \15 
+NULL
+;
+
+3195 
+size
+ = 
+       `RTE_CACHE_LINE_ROUNDUP
+(\17(\19
+p\9d\96\9ae_¬picmp
+));
+
+3196 
+p
+ = 
+       `¹e_zm®loc
+(
+NULL
+, 
+size
+, 
+RTE_CACHE_LINE_SIZE
+);
+
+3197 
+p_¬p
+ = (\19
+p\9d\96\9ae_¬picmp
+ *)
+p
+;
+
+3198 ià(
+p
+ =ð
+NULL
+)
+
+3199 \15 
+NULL
+;
+
+3202 \19
+­p_·¿ms
+ *
+­p
+ = (\19­p_·¿m *)
+¬g
+;
+
+3203 
+myAµ
+ = 
+¬g
+;
+
+3205 
+       `PLOG
+(
+p
+, 
+HIGH
+, "ARPICMP");
+
+3206 
+       `¡rýy
+(
+p
+->
+Çme
+, 
+·¿ms
+->name);
+
+3207 
+p
+->
+log_Ëv\96
+ = 
+·¿ms
+->log_level;
+
+3209 
+p_¬p
+->
+»ûivedPktCouÁ
+ = 0;
+
+3210 
+p_¬p
+->
+drݳdPktCouÁ
+ = 0;
+
+3212 #ifdeà
+VNF_ACL
+
+
+3213 \ f
+i
+ = 0; i < 
+PIPELINE_MAX_PORT_IN
+; i++)
+
+3214 
+p_¬p
+->
+l\9aks_m­
+[
+i
+] = 0xff;
+
+3216 
+p_¬p
+->
+p\9d\96\9ae_num
+ = 0;
+
+3219 ià(
+       `p\9d\96\9ae_¬picmp_·r£_¬gs
+(
+p_¬p
+, 
+·¿ms
+))
+
+3220 \15 
+NULL
+;
+
+3222 #iâdeà
+VNF_ACL
+
+
+3223 
+       `lib_¬p_\9a\99
+(
+·¿ms
+, 
+­p
+);
+
+3228 \19
+¹e_p\9d\96\9ae_·¿ms
+p\9d\96\9ae_·¿ms
+ = {
+
+3229 .
+Çme
+ = "ARPICMP",
+
+3230 .
+sock\91_id
+ = 
+·¿ms
+->socket_id,
+
+3231 .
+off£t_pÜt_id
+ = 0,
+
+3235 
+p
+->°ð
+       `¹e_p\9d\96\9ae_ü\97\8b
+(&
+p\9d\96\9ae_·¿ms
+);
+
+3236 ià(
+p
+->°=ð
+NULL
+) {
+
+3237 
+       `¹e_ä\93
+(
+p
+);
+
+3238 \15 
+NULL
+;
+
+3242 
+p
+->
+n_pÜts_\9a
+ = 
+·¿ms
+->n_ports_in;
+
+3243 
+p
+->
+n_pÜts_out
+ = 
+·¿ms
+->n_ports_out;
+
+3244 
+p
+->
+n_\8fbËs
+ = 1;
+
+3247 
+\9a_pÜts_¬g_size
+ = 
+       `RTE_CACHE_LINE_ROUNDUP
+(
+
+3248 (\17(\19
+p\9d\96\9ae_¬picmp_\9a_pÜt_h_¬g
+)) *
+
+3249 (
+·¿ms
+->
+n_pÜts_\9a
+));
+
+3250 \19
+p\9d\96\9ae_¬picmp_\9a_pÜt_h_¬g
+ *
+ =
+
+3251 (\19
+p\9d\96\9ae_¬picmp_\9a_pÜt_h_¬g
+ *)
+       `¹e_zm®loc
+(
+NULL
+,
+
+3252 
+\9a_pÜts_¬g_size
+,
+
+3253 
+RTE_CACHE_LINE_SIZE
+);
+
+3254 ià(
+ =ð
+NULL
+)
+
+3255 \15 
+NULL
+;
+
+3258 \ f
+i
+ = 0; i < 
+p
+->
+n_pÜts_\9a
+; i++) {
+
+3260 (
+[
+i
+]).
+p
+ = 
+p_¬p
+;
+
+3261 (
+[
+i
+]).
+\9a_pÜt_id
+ = i;
+
+3262 \19
+¹e_p\9d\96\9ae_pÜt_\9a_·¿ms
+pÜt_·¿ms
+ = {
+
+3263 .
+Ýs
+ =
+
+3264 
+       `p\9d\96\9ae_pÜt_\9a_·¿ms_g\91_Ýs
+(&
+·¿ms
+->
+
+3265 
+pÜt_\9a
+[
+i
+]),
+
+3266 .
+¬g_ü\97\8b
+ =
+
+3267 
+       `p\9d\96\9ae_pÜt_\9a_·¿ms_cÚv\94t
+(&
+·¿ms
+->
+
+3268 
+pÜt_\9a
+[
+i
+]),
+
+3269 .
+f_aùiÚ
+ = 
+NULL
+,
+
+3270 .
+¬g_ah
+ = &(
+[
+i
+]),
+
+3271 .
+bur¡_size
+ = 
+·¿ms
+->
+pÜt_\9a
+[
+i
+].burst_size,
+
+3274 
+pÜt_·¿ms
+.
+f_aùiÚ
+ = 
+pÜt_\9a_ah_¬picmp
+;
+
+3276 \12
+¡©us
+ = 
+       `¹e_p\9d\96\9ae_pÜt_\9a\97\8b
+(
+p
+->p,
+
+3277 &
+pÜt_·¿ms
+,
+
+3278 &
+p
+->
+pÜt_\9a_id
+[
+i
+]);
+
+3280 ià(
+¡©us
+) {
+
+3281 
+       `¹e_p\9d\96\9ae_ä\93
+(
+p
+->p);
+
+3282 
+       `¹e_ä\93
+(
+p
+);
+
+3283 \15 
+NULL
+;
+
+3288 \ f
+i
+ = 0; i < 
+p
+->
+n_pÜts_out
+; i++) {
+
+3289 \19
+¹e_p\9d\96\9ae_pÜt_out_·¿ms
+pÜt_·¿ms
+ = {
+
+3290 .
+Ýs
+ =
+
+3291 
+       `p\9d\96\9ae_pÜt_out_·¿ms_g\91_Ýs
+(&
+·¿ms
+->
+
+3292 
+pÜt_out
+[
+i
+]),
+
+3293 .
+¬g_ü\97\8b
+ =
+
+3294 
+       `p\9d\96\9ae_pÜt_out_·¿ms_cÚv\94t
+(&
+·¿ms
+->
+
+3295 
+pÜt_out
+[
+i
+]),
+
+3296 .
+f_aùiÚ
+ = 
+NULL
+,
+
+3297 .
+¬g_ah
+ = 
+NULL
+,
+
+3300 \12
+¡©us
+ = 
+       `¹e_p\9d\96\9ae_pÜt_out_ü\97\8b
+(
+p
+->p,
+
+3301 &
+pÜt_·¿ms
+,
+
+3302 &
+p
+->
+pÜt_out_id
+[
+i
+]);
+
+3304 ià(
+¡©us
+) {
+
+3305 
+       `¹e_p\9d\96\9ae_ä\93
+(
+p
+->p);
+
+3306 
+       `¹e_ä\93
+(
+p
+);
+
+3307 \15 
+NULL
+;
+
+3310 \12
+p\9d\96\9ae_num
+ = 0;
+
+3312 \12
+¡©us
+ = 
+       `ssÿnf
+(
+·¿ms
+->
+Çme
+, "PIPELINE%d", &
+p\9d\96\9ae_num
+);
+
+3314 ià(
+¡©us
+ < 0) {
+
+3315 \15 
+NULL
+;
+
+3316 
+       `´\9atf
+("Unable\81o\84ead\85ipeline\82umber\n");
+
+3319 
+p_¬p
+->
+p\9d\96\9ae_num
+ = (
+u\9at8_t
+)\85ipeline_num;
+
+3321 
+       `»gi¡\94_p\9d\96\9ae_Qs
+(
+p_¬p
+->
+p\9d\96\9ae_num
+, 
+p
+);
+
+3322 
+       `£t_phy_ou\8dÜt_id
+(
+p_¬p
+->
+p\9d\96\9ae_num
+, 
+p
+,\85_¬p->
+ou\8dÜt_id
+);
+
+3326 \19
+¹e_p\9d\96\9ae_\8fbË_·¿ms
+\8fbË_·¿ms
+ = {
+
+3327 .
+Ýs
+ = &
+¹e_\8fbË_¡ub_Ýs
+,
+
+3328 .
+¬g_ü\97\8b
+ = 
+NULL
+,
+
+3329 .
+f_aùiÚ_h\99
+ = 
+NULL
+,
+
+3330 .
+f_aùiÚ_miss
+ = 
+NULL
+,
+
+3331 .
+¬g_ah
+ = 
+NULL
+,
+
+3332 .
+aùiÚ_d©a_size
+ = 0,
+
+3335 \12
+¡©us
+ = 
+       `¹e_p\9d\96\9ae_\8fbË_ü\97\8b
+(
+p
+->p,
+
+3336 &
+\8fbË_·¿ms
+,
+
+3337 &
+p
+->
+\8fbË_id
+[0]);
+
+3339 ià(
+¡©us
+) {
+
+3340 
+       `¹e_p\9d\96\9ae_ä\93
+(
+p
+->p);
+
+3341 
+       `¹e_ä\93
+(
+p
+);
+
+3342 \15 
+NULL
+;
+
+3347 \ f
+i
+ = 0; i < 
+p
+->
+n_pÜts_\9a
+; i++) {
+
+3349 \12
+¡©us
+ = 
+       `¹e_p\9d\96\9ae_pÜt_\9a_cÚÃù_to_\8f
+(
+p
+->p,
+
+3350 
+p
+->
+
+3351 
+pÜt_\9a_id
+
+
+3352 [
+i
+],
+
+3353 
+p
+->
+
+3354 
+\8fbË_id
+[0]);
+
+3356 ià(
+¡©us
+) {
+
+3357 
+       `¹e_p\9d\96\9ae_ä\93
+(
+p
+->p);
+
+3358 
+       `¹e_ä\93
+(
+p
+);
+
+3359 \15 
+NULL
+;
+
+3365 \ f
+i
+ = 0; i < 
+p
+->
+n_pÜts_\9a
+; i++) {
+
+3366 \12
+¡©us
+ = 
+       `¹e_p\9d\96\9ae_pÜt_\9a_\92abË
+(
+p
+->p,
+
+3367 
+p
+->
+pÜt_\9a_id
+[
+i
+]);
+
+3369 ià(
+¡©us
+) {
+
+3370 
+       `¹e_p\9d\96\9ae_ä\93
+(
+p
+->p);
+
+3371 
+       `¹e_ä\93
+(
+p
+);
+
+3372 \15 
+NULL
+;
+
+3377 ià(
+       `¹e_p\9d\96\9ae_check
+(
+p
+->p) < 0) {
+
+3378 
+       `¹e_p\9d\96\9ae_ä\93
+(
+p
+->p);
+
+3379 
+       `¹e_ä\93
+(
+p
+);
+
+3380 \15 
+NULL
+;
+
+3384 
+p
+->
+n_msgq
+ = 
+·¿ms
+->n_msgq;
+
+3385 \ f
+i
+ = 0; i < 
+p
+->
+n_msgq
+; i++)
+
+3386 
+p
+->
+msgq_\9a
+[
+i
+] = 
+·¿ms
+->msgq_in[i];
+
+3387 \ f
+i
+ = 0; i < 
+p
+->
+n_msgq
+; i++)
+
+3388 
+p
+->
+msgq_out
+[
+i
+] = 
+·¿ms
+->msgq_out[i];
+
+3391 
+       `memýy
+(
+p
+->
+hªdËrs
+, handlers, \17(p->handlers));
+
+3393 #ifdeà
+VNF_ACL
+
+
+3396 
+lib_¬p_pktmbuf_tx_poÞ
+ = 
+       `¹e_pktmbuf_poÞ_ü\97\8b
+(
+
+3398 
+NB_ARPICMP_MBUF
+, 32,
+
+3399 0, 
+RTE_MBUF_DEFAULT_BUF_SIZE
+,
+
+3400 
+       `¹e_sock\91_id
+());
+
+3402 ià(
+lib_¬p_pktmbuf_tx_poÞ
+ =ð
+NULL
+) {
+
+3403 
+       `´\9atf
+("ARP mbuf\85ool create failed.\n");
+
+3404 \15 
+NULL
+;
+
+3407 
+lib_¬p_pkt
+ = 
+       `¹e_pktmbuf_®loc
+(
+lib_¬p_pktmbuf_tx_poÞ
+);
+
+3408 ià(
+lib_¬p_pkt
+ =ð
+NULL
+) {
+
+3409 
+       `´\9atf
+("ARP\86ib_arp_pkt\87lloc failed.\n");
+
+3410 \15 
+NULL
+;
+
+3414 
+¬p_hash_·¿ms
+.
+sock\91_id
+ = 
+       `¹e_sock\91_id
+();
+
+3415 
+¬p_hash_·¿ms
+.
+\92\8c\9bs
+ = 
+MAX_NUM_ARP_ENTRIES
+;
+
+3416 
+¬p_hash_hªdË
+ = 
+       `¹e_hash_ü\97\8b
+(&
+¬p_hash_·¿ms
+);
+
+3418 ià(
+¬p_hash_hªdË
+ =ð
+NULL
+) {
+
+3419 
+       `´\9atf
+("ARP\84te_hash_create failed. socket %d ...\n",
+
+3420 
+¬p_hash_·¿ms
+.
+sock\91_id
+);
+
+3421 \15 
+NULL
+;
+
+3423 
+       `´\9atf
+("¬p_hash_hªdË %p\n\n", (\1e*)
+¬p_hash_hªdË
+);
+
+3426 
+nd_hash_·¿ms
+.
+sock\91_id
+ = 
+       `¹e_sock\91_id
+();
+
+3427 
+nd_hash_·¿ms
+.
+\92\8c\9bs
+ = 
+MAX_NUM_ND_ENTRIES
+;
+
+3428 
+nd_hash_hªdË
+ = 
+       `¹e_hash_ü\97\8b
+(&
+nd_hash_·¿ms
+);
+
+3430 ià(
+nd_hash_hªdË
+ =ð
+NULL
+) {
+
+3431 
+       `´\9atf
+("ND\84te_hash_create failed. socket %d ...\n",
+
+3432 
+nd_hash_·¿ms
+.
+sock\91_id
+);
+
+3433 \15 
+NULL
+;
+
+3436 
+       `´\9atf
+("nd_hash_hªdË %p\n\n", (\1e*)
+nd_hash_hªdË
+);
+
+3438 \15 
+p
+;
+
+3439 
+       }
+}
+
+3441 \18\12
+       $p\9d\96\9ae_¬picmp_ä\93
+(\1e*
+p\9d\96\9ae
+)
+
+3443 \19
+p\9d\96\9ae
+ *
+p
+ = (\19pipeline *)pipeline;
+
+3446 ià(
+p
+ =ð
+NULL
+)
+
+3450 
+       `¹e_p\9d\96\9ae_ä\93
+(
+p
+->p);
+
+3451 
+       `¹e_ä\93
+(
+p
+);
+
+3453 
+       }
+}
+
+3455 \18\12
+       $p\9d\96\9ae_¬picmp_tim\94
+(\1e*
+p\9d\96\9ae
+)
+
+3457 \19
+p\9d\96\9ae
+ *
+p
+ = (\19pipeline *)pipeline;
+
+3459 
+       `p\9d\96\9ae_msg_»q_hªdË
+(
+p
+);
+
+3460 
+       `¹e_p\9d\96\9ae_æush
+(
+p
+->p);
+
+3463 
+       }
+}
+
+3466 
+       $p\9d\96\9ae_¬picmp_\8cack
+(\1e*
+p\9d\96\9ae
+, 
+u\9at32_t
+pÜt_\9a
+, u\9at32_\88*
+pÜt_out
+)
+
+3468 \19
+p\9d\96\9ae
+ *
+p
+ = (\19pipeline *)pipeline;
+
+3471 ià((
+p
+ =ð
+NULL
+è|| (
+pÜt_\9a
+ >ðp->
+n_pÜts_\9a
+è|| (
+pÜt_out
+ == NULL))
+
+3474 *
+pÜt_out
+ = 
+pÜt_\9a
+ / 
+p
+->
+n_pÜts_\9a
+;
+
+3476 
+       }
+}
+
+3478 \19
+p\9d\96\9ae_be_Ýs
+       gp\9d\96\9ae_¬picmp_be_Ýs
+ = {
+
+3479 .
+f_\9a\99
+ = 
+p\9d\96\9ae_¬picmp_\9a\99
+,
+
+3480 .
+       gf_ä\93
+ = 
+p\9d\96\9ae_¬picmp_ä\93
+,
+
+3481 .
+       gf_run
+ = 
+NULL
+,
+
+3482 .
+       gf_tim\94
+ = 
+p\9d\96\9ae_¬picmp_tim\94
+,
+
+3483 .
+       gf_\8cack
+ = 
+p\9d\96\9ae_¬picmp_\8cack
+,
+
+       @VIL/pipeline_arpicmp/pipeline_arpicmp_be.h
+
+17 #iâdeà
+__INCLUDE_PIPELINE_ARPICMP_BE_H__
+
+
+18 \ 1
+       #__INCLUDE_PIPELINE_ARPICMP_BE_H__
+
+
+       )
+
+20 \ 2
+       ~"p\9d\96\9ae_commÚ_be.h
+"
+
+21 \ 1
+       #PIPELINE_ARPICMP_KEY_PORT_IN_AH
+(
+f_ah
+, 
+f_pkt_wÜk
+, 
+f_pkt4_wÜk
+) \
+
+23 
+       `f_ah
+( \
+
+24 
+__¹e_unu£d
\19
+¹e_p\9d\96\9ae
+ *
+¹e_p
+, \
+
+25 \19
+¹e_mbuf
+ **
+pkts
+, \
+
+26 
+u\9at32_t
+n_pkts
+, \
+
+27 \1e*
+¬g
+) \
+
+29 
+u\9at32_t
+i
+, 
+j
+; \
+
+31 \ f
+j
+ = 0; j < 
+n_pkts
+; j++) \
+
+32 
+       `¹e_´eãtch0
+(
+pkts
+[
+j
+]); \
+
+34 \ f
+i
+ = 0; i < (
+n_pkts
+ & (~0x3LLU)); i += 4) \
+
+35 
+       `f_pkt4_wÜk
+(&
+pkts
+[
+i
+], i, 
+¬g
+); \
+
+37 \ f ; 
+i
+ < 
+n_pkts
+; i++) \
+
+38 
+       `f_pkt_wÜk
+(
+pkts
+[
+i
+], i, 
+¬g
+); \
+
+42 }
+
+       )
+
+44 \r\19
+­p_·¿ms
+ *
+myAµ
+;
+
+45 \1e
\9at_pkt1
+(\19
+¹e_mbuf
+ *
+pkt
+);
+
+46 \19
+\91h\94_addr
+ *
+g\91_l\9ak_hw_addr
+(
+u\9at8_t
+out_pÜt
+);
+
+47 #ifdeà
+VNF_ACL
+
+
+49 \ 2
+       ~<¹e_p\9d\96\9ae.h
+>
+
+50 \ 2
+       ~"¹e_\91h\94.h
+"
+
+51 \ 2
+       ~"­p.h
+"
+
+53 #ià(
+RTE_BYTE_ORDER
+ =ð
+RTE_LITTLE_ENDIAN
+)
+
+56 \ 1
+       #CHECK_ENDIAN_16
+(
+x
+       `¹e_be_to_ýu_16
+(x)
+
+       )
+
+57 \ 1
+       #CHECK_ENDIAN_32
+(
+x
+       `¹e_be_to_ýu_32
+(x)
+
+       )
+
+59 \ 1
+       #CHECK_ENDIAN_16
+(
+x
+è(x)
+
+       )
+
+60 \ 1
+       #CHECK_ENDIAN_32
+(
+x
+è(x)
+
+       )
+
+64 \ 1
+       #MAX_ARP_RT_ENTRY
+ 16
+
+       )
+
+65 \ 1
+       #MAX_ND_RT_ENTRY
+ 16
+
+       )
+
+67 \ 1
+       #ND_IPV6_ADDR_SIZE
+ 16
+
+       )
+
+70 
+       mARP_FOUND
+,
+
+71 
+       mARP_NOT_FOUND
+,
+
+72 
+       mNH_NOT_FOUND
+,
+
+75 \f
+       e¬p_key_ty³
+ {
+
+76 
+       mARP_IPV4
+,
+
+78 
+       mND_IPV6
+,
+
+81 \19
+       s¬p_key_\9dv4
+ {
+
+82 
+u\9at32_t
+       m\9d
+;
+
+83 
+u\9at8_t
+       mpÜt_id
+;
+
+84 
+u\9at8_t
+       mf\9eËr1
+;
+
+85 
+u\9at8_t
+       mf\9eËr2
+;
+
+86 
+u\9at8_t
+       mf\9eËr3
+;
+
+90 \19
+       snd_key_\9dv6
+ {
+
+93 
+u\9at8_t
+       m\9dv6
+[
+ND_IPV6_ADDR_SIZE
+];
+
+94 
+u\9at8_t
+       mpÜt_id
+;
+
+95 
+u\9at8_t
+       mf\9eËr1
+;
+
+96 
+u\9at8_t
+       mf\9eËr2
+;
+
+97 
+u\9at8_t
+       mf\9eËr3
+;
+
+100 \19
+       s¬p_key
+ {
+
+101 \f
+¬p_key_ty³
+       mty³
+;
+
+103 \19
+¬p_key_\9dv4
+       m\9dv4
+;
+
+104 } 
+       mkey
+;
+
+107 \19
+       slib_¬p_rou\8b_\8fbË_\92\8cy
+ {
+
+108 
+u\9at32_t
+       m\9d
+;
+
+109 
+u\9at32_t
+       mmask
+;
+
+110 
+u\9at32_t
+       mpÜt
+;
+
+111 
+u\9at32_t
+       mnh
+;
+
+114 \19
+       slib_nd_rou\8b_\8fbË_\92\8cy
+ {
+
+115 
+u\9at8_t
+       m\9dv6
+[16];
+
+116 
+u\9at8_t
+       md\95th
+;
+
+117 
+u\9at32_t
+       mpÜt
+;
+
+118 
+u\9at8_t
+       mnh\9dv6
+[16];
+
+120 \r\19
+lib_¬p_rou\8b_\8fbË_\92\8cy
+lib_¬p_rou\8b_\8f
+[
+MAX_ARP_RT_ENTRY
+];
+
+121 \r\19
+lib_nd_rou\8b_\8fbË_\92\8cy
+lib_nd_rou\8b_\8f
+[
+MAX_ND_RT_ENTRY
+];
+
+123 \r
+u\9at8_t
+´v_\9a_pÜt_a
+[
+PIPELINE_MAX_PORT_IN
+];
+
+124 \r\1e
+cÚv\94t_´efixËn_to_Ãtmask_\9dv6
+(
+u\9at32_t
+d\95th
+,
+
+125 
+u\9at8_t
+Ãtmask_\9dv6
+[]);
+
+126 
+u\9at32_t
+g\91_nh
+(uint32_t, uint32_t*);
+
+127 \1e
+g\91_nh_\9dv6
+(
+u\9at8_t
+\9dv6
+[], 
+u\9at32_t
+ *
+pÜt
+, u\9at8_\88
+nh\9dv6
+[]);
+
+129 \r
+u\9at32_t
+ARPICMP_DEBUG
+;
+
+133 \ 1
+       #COMPLETE
+ 1
+
+       )
+
+135 \ 1
+       #INCOMPLETE
+ 0
+
+       )
+
+138 \r
+u\9at32_t
+NDIPV6_DEBUG
+;
+
+141 \ 1
+       #ICMPv6_COMPLETE
+ 1
+
+       )
+
+143 \ 1
+       #ICMPv6_INCOMPLETE
+ 0
+
+       )
+
+145 \19
+       s¬p_\92\8cy_d©a
+ {
+
+146 \19
+\91h\94_addr
+       m\91h_addr
+;
+
+147 
+u\9at8_t
+       mpÜt
+;
+
+148 
+u\9at8_t
+       m¡©us
+;
+
+149 
+u\9at32_t
+       m\9d
+;
+
+150 } 
+__©\8cibu\8b__
+ ((
+__·cked__
+));
+
+153 \19
+       snd_\92\8cy_d©a
+ {
+
+154 \19
+\91h\94_addr
+       m\91h_addr
+;
+
+155 
+u\9at8_t
+       mpÜt
+;
+
+156 
+u\9at8_t
+       m¡©us
+;
+
+157 
+u\9at8_t
+       m\9dv6
+[
+ND_IPV6_ADDR_SIZE
+];
+
+158 } 
+__©\8cibu\8b__
+ ((
+__·cked__
+));
+
+160 \12
+g\91_de¡_mac_add»ss
+(cڡ 
+u\9at32_t
+\9daddr
+, cÚ¡ u\9at32_\88
+phy_pÜt
+,
+
+161 \19
+\91h\94_addr
+ *
+hw_addr
+, 
+u\9at32_t
+ *
+nh\9d
+);
+
+162 \12
+g\91_de¡_mac_addr
+(cڡ 
+u\9at32_t
+\9daddr
+, cÚ¡ u\9at32_\88
+phy_pÜt
+,
+
+163 \19
+\91h\94_addr
+ *
+hw_addr
+);
+
+165 \12
+g\91_de¡_mac_add»ss_\9dv6
+(
+u\9at8_t
+\9dv6addr
+[], 
+u\9at32_t
+phy_pÜt
+,
+
+166 \19
+\91h\94_addr
+ *
+hw_addr
+, 
+u\9at8_t
+nh\9dv6
+[]);
+
+168 \1e
+lib_¬p_»que¡_¬p
+(
+
+169 cڡ 
+u\9at32_t
+\9daddr
+,
+
+170 cڡ 
+u\9at32_t
+phy_pÜt
+,
+
+171 \19
+¹e_p\9d\96\9ae
+ *
+¹e_p
+);
+
+173 \1e
\9at_¬p_\8f
+(\1e);
+
+174 \1e
\9at_nd_\8f
+(\1e);
+
+175 \1e
+»move_¬p_\92\8cy
+(
+u\9at32_t
+\9daddr
+, 
+u\9at8_t
+pÜtid
+);
+
+176 \1e
+»move_nd_\92\8cy_\9dv6
+(
+u\9at8_t
+\9dv6addr
+[], u\9at8_\88
+pÜtid
+);
+
+177 \1e
+pÝuÏ\8b_¬p_\92\8cy
+(cڡ \19
+\91h\94_addr
+ *
+hw_addr
+, 
+u\9at32_t
+\9daddr
+,
+
+178 
+u\9at8_t
+pÜtid
+);
+
+180 \12
+pÝuÏ\8b_nd_\92\8cy
+(cڡ \19
+\91h\94_addr
+ *
+hw_addr
+, 
+u\9at8_t
+\9d
+[],
+
+181 
+u\9at8_t
+pÜtid
+);
+
+182 \1e
+»que¡_¬p
+(
+u\9at8_t
+pÜt_id
+, 
+u\9at32_t
+\9d
+, \19
+¹e_p\9d\96\9ae
+ *
+¹e_p
+);
+
+183 \1e
+»que¡_¬p_w¿p
+(
+u\9at8_t
+pÜt_id
+, 
+u\9at32_t
+\9d
+);
+
+184 \1e
+»que¡_echo
+(\1d\12
+pÜt_id
+, 
+u\9at32_t
+\9d
+);
+
+186 \1e
+´oûss_¬picmp_pkt
+(\19
+¹e_mbuf
+ *
+pkt
+, 
+u\9at32_t
+out_pÜt
+,
+
+187 
+u\9at32_t
+pkt_num
+);
+
+189 \19
+¬p_\92\8cy_d©a
+ *
\8c\9bve_¬p_\92\8cy
+(cڡ \19
+¬p_key_\9dv4
+¬p_key
+);
+
+190 \19
+nd_\92\8cy_d©a
+ *
\8c\9bve_nd_\92\8cy
+(\19
+nd_key_\9dv6
+nd_key
+);
+
+192 \19
+nd_\92\8cy_d©a
+ *
\8c\9bve_nd_\92\8cy
+(\19
+nd_key_\9dv6
+nd_key
+);
+
+194 \1e
+lib_nd_\9a\99
\19
+­p_·¿ms
+ *
+­p
+);
+
+195 \1e
\9at_pkt1
+(\19
+¹e_mbuf
+ *
+pkt
+);
+
+199 
+u\9at8_t
+       glb_ou\8dÜt_id
+[
+PIPELINE_MAX_PORT_IN
+];
+
+200 \19
+p\9d\96\9ae
+ *
+       glßdb_p\9d\96\9ae
+[
+PIPELINE_MAX_PORT_IN
+];
+
+201 \19
+p\9d\96\9ae
+ *
+       g®l_p\9d\96\9ae
+[
+PIPELINE_MAX_PORT_IN
+];
+
+202 
+u\9at8_t
+       gvnf_to_lßdb_m­
+[
+PIPELINE_MAX_PORT_IN
+];
+
+203 
+u\9at8_t
+       gpÜt_to_lßdb_m­
+[
+PIPELINE_MAX_PORT_IN
+];
+
+204 
+u\9at8_t
+       glßdb_p\9d\96\9ae_nums
+[
+PIPELINE_MAX_PORT_IN
+];
+
+207 
+u\9at8_t
+       glb_ou\8dÜt_id
+[
+PIPELINE_MAX_PORT_IN
+];
+
+208 \19
+p\9d\96\9ae
+ *
+       g¬p_p\9d\96\9ae
+[
+PIPELINE_MAX_PORT_IN
+];
+
+209 
+u\9at8_t
+       gvnf_to_¬p_m­
+[
+PIPELINE_MAX_PORT_IN
+];
+
+210 
+u\9at8_t
+       gpÜt_to_¬p_m­
+[
+PIPELINE_MAX_PORT_IN
+];
+
+211 
+u\9at8_t
+       g¬p_p\9d\96\9ae_nums
+[
+PIPELINE_MAX_PORT_IN
+];
+
+214 \1e
+£t_pÜt_to_lßdb_m­
+(
+u\9at8_t
+p\9d\96\9ae_num
+);
+
+215 
+u\9at8_t
+g\91_pÜt_to_lßdb_m­
+(u\9at8_\88
+phy_pÜt_id
+);
+
+218 \1e
+£t_phy_\9apÜt_m­
+(
+u\9at8_t
+p\9d\96\9ae_num
+, u\9at8_\88*
+m­
+);
+
+219 \1e
+£t_phy_ou\8dÜt_m­
+(
+u\9at8_t
+p\9d\96\9ae_num
+, u\9at8_\88*
+m­
+);
+
+221 \1e
+£t_ou\8dÜt_id
+(
+u\9at8_t
+p\9d\96\9ae_num
+, \19
+p\9d\96\9ae
+ *
+p
+, u\9at8_\88*
+m­
+);
+
+223 
+u\9at8_t
+g\91_lßdb_ou\8dÜt_id
+(u\9at8_\88
+aùu®_phy_pÜt
+);
+
+225 
+u\9at8_t
+g\91_vnf_£t_num
+(u\9at8_\88
+p\9d\96\9ae_num
+);
+
+227 \1e
+p\9d\96\9aes_pÜt_\9afo
+(\1e);
+
+228 \1e
+p\9d\96\9aes_m­_\9afo
+(\1e);
+
+229 \1e
+»gi¡\94_lßdb_to_¬p
+(
+u\9at8_t
+p\9d\96\9ae_num
+, \19
+p\9d\96\9ae
+ *
+p
+,
+
+230 
+__¹e_unu£d
\19
+­p_·¿ms
+ *
+­p
+);
+
+232 
+u\9at8_t
+       gSWQ_to_PÜt_m­
+[128];
+
+234 \r\19
+p\9d\96\9ae_be_Ýs
+p\9d\96\9ae_¬picmp_be_Ýs
+;
+
+235 \1e
+»gi¡\94_p\9d\96\9ae_Qs
+(
+u\9at8_t
+p\9d\96\9ae_num
+, \19
+p\9d\96\9ae
+ *
+p
+);
+
+236 \1e
+£t_l\9ak_m­
+(
+u\9at8_t
+p\9d\96\9ae_num
+, \19
+p\9d\96\9ae
+ *
+p
+, u\9at8_\88*
+m­
+);
+
+237 \1e
+£t_ou\8dÜt_id
+(
+u\9at8_t
+p\9d\96\9ae_num
+, \19
+p\9d\96\9ae
+ *
+p
+, u\9at8_\88*
+m­
+);
+
+238 \1e
+£t_phy_ou\8dÜt_id
+(
+u\9at8_t
+p\9d\96\9ae_num
+, \19
+p\9d\96\9ae
+ *
+p
+, u\9at8_\88*
+m­
+);
+
+239 \1e
+£t_phy_\9apÜt_id
+(
+u\9at8_t
+p\9d\96\9ae_num
+, \19
+p\9d\96\9ae
+ *
+p
+, u\9at8_\88*
+m­
+);
+
+244 \f
+       ep\9d\96\9ae_¬picmp_msg_»q_ty³
+ {
+
+245 
+       mPIPELINE_ARPICMP_MSG_REQ_ENTRY_DBG
+,
+
+246 
+       mPIPELINE_ARPICMP_MSG_REQS
+
+
+252 \19
+       sp\9d\96\9ae_¬picmp_\92\8cy_dbg_msg_»q
+ {
+
+253 \f
+p\9d\96\9ae_msg_»q_ty³
+       mty³
+;
+
+254 \f
+p\9d\96\9ae_¬picmp_msg_»q_ty³
+       msubty³
+;
+
+257 
+u\9at8_t
+       md©a
+[2];
+
+264 \19
+       sp\9d\96\9ae_¬picmp_\9a_pÜt_h_¬g
+ {
+
+265 \19
+p\9d\96\9ae_¬picmp
+ *
+       mp
+;
+
+266 
+u\9at8_t
+       m\9a_pÜt_id
+;
+
+269 \19
+       sp\9d\96\9ae_¬picmp_\92\8cy_dbg_msg_r¥
+ {
+
+270 \12
+       m¡©us
+;
+
+273 #ifdeà
+VNF_ACL
+
+
+276 \19
+       sicmpv6_hdr
+ {
+
+277 
+u\9at8_t
+       micmpv6_ty³
+;
+
+278 
+u\9at8_t
+       micmpv6_code
+;
+
+279 
+u\9at16_t
+       micmpv6_cksum
+;
+
+280 } 
+__©\8cibu\8b__
+ ((
+__·cked__
+));
+
+285 \19
+       sicmpv6_\9afo_hdr
+ {
+
+286 
+u\9at16_t
+       micmpv6_id\92t
+;
+
+287 
+u\9at16_t
+       micmpv6_£q_nb
+;
+
+288 } 
+__©\8cibu\8b__
+ ((
+__·cked__
+));
+
+293 \19
+       sicmpv6_nd_hdr
+ {
+
+295 
+u\9at32_t
+       micmpv6_»£rved
+;
+
+298 
+u\9at8_t
+       m\8frg\91_\9dv6
+[16];
+
+300 
+u\9at8_t
+       mty³
+;
+
+301 
+u\9at8_t
+       mËngth
+;
+
+302 \19
+\91h\94_addr
+       ml\9ak_Ïy\94_add»ss
+;
+
+303 } 
+__©\8cibu\8b__
+ ((
+__·cked__
+));
+
+306 \ 1
+       #ICMPV6_PROTOCOL_ID
+ 58
+
+       )
+
+307 \ 1
+       #ICMPV6_ECHO_REQUEST
+ 0x0080
+
+       )
+
+308 \ 1
+       #ICMPV6_ECHO_REPLY
+ 0x0081
+
+       )
+
+309 \ 1
+       #ICMPV6_NEIGHBOR_SOLICITATION
+ 0x0087
+
+       )
+
+310 \ 1
+       #ICMPV6_NEIGHBOR_ADVERTISEMENT
+ 0x0088
+
+       )
+
+311 \ 1
+       #IPV6_MULTICAST
+ 0xFF02
+
+       )
+
+313 \ 1
+       #NEIGHBOR_SOLICITATION_SET
+ 0x40000000
+
+       )
+
+314 \f
+       eicmpv6_l\9ak_Ïy\94_Add»ss_ty³
+ {
+
+315 
+       me_Sourû_L\9ak_Lay\94_Add»ss
+ = 1,
+
+316 
+       me_T¬g\91_L\9ak_Lay\94_Add»ss
+,
+
+317 
+       me_L\9ak_Lay\94_Add»ss
+
+
+320 
+u\9at8_t
+is_muÉiÿ¡_\9dv6_addr
+(u\9at8_\88
+\9dv6
+[]);
+
+321 \19
+       sicmpv6_pÜt_add»ss
+ {
+
+322 
+u\9at32_t
+       m\9dv6
+[16];
+
+323 
+u\9at64_t
+       mmac_addr
+;
+
+326 \19
+icmpv6_pÜt_add»ss
+       gicmpv6_pÜt_add»s£s
+[
+RTE_MAX_ETHPORTS
+];
+
+328 \ 1
+       #MAX_NUM_ICMPv6_ENTRIES
+ 64
+
+       )
+
+330 \19
+¹e_mbuf
+ *
+       glib_icmpv6_pkt
+;
+
+331 \1e
+»que¡_icmpv6_echo
+(
+u\9at32_t
+pÜt_id
+, 
+u\9at8_t
+\9dv6
+[]);
+
+332 \1e
+»que¡_icmpv6_echo_mes§ge
+(
+u\9at16_t
+pÜt_id
+, 
+u\9at8_t
+\9dv6
+[],
+
+333 \19
+\91h\94_addr
+ *
+gw_addr
+);
+
+335 
+´oûss_icmpv6_pkt
+(\19
+¹e_mbuf
+ *
+pkt
+, 
+u\9at32_t
+out_pÜt
+, u\9at32_\88
+pkt_num
+);
+
+337 \12
+g\91_de¡_mac_addr_pÜt
+(cڡ 
+u\9at32_t
+\9daddr
+,
+
+338 
+u\9at32_t
+ *
+phy_pÜt
+, \19
+\91h\94_addr
+ *
+hw_addr
+);
+
+340 \12
+g\91_de¡_mac_add»ss_\9dv6_pÜt
+(
+u\9at8_t
+\9dv6addr
+[], 
+u\9at32_t
+ *
+phy_pÜt
+,
+
+341 \19
+\91h\94_addr
+ *
+hw_addr
+, 
+u\9at8_t
+nh\9dv6
+[]);
+
+       @VIL/pipeline_common/pipeline_common_be.c
+
+17 \ 2
+       ~<¹e_commÚ.h
+>
+
+18 \ 2
+       ~<¹e_r\9ag.h
+>
+
+19 \ 2
+       ~<¹e_m®loc.h
+>
+
+21 \ 2
+       ~"p\9d\96\9ae_commÚ_be.h
+"
+
+24 
+       $p\9d\96\9ae_msg_»q_p\9ag_hªdËr
+(
+__¹e_unu£d
\19
+p\9d\96\9ae
+ *
+p
+,
+
+25 \1e*
+msg
+)
+
+27 \19
+p\9d\96\9ae_msg_r¥
+ *
+r¥
+ = 
+msg
+;
+
+29 
+r¥
+->
+¡©us
+ = 0;
+
+31 \15 
+r¥
+;
+
+32 
+       }
+}
+
+35 
+       $p\9d\96\9ae_msg_»q_¡©s_pÜt_\9a_hªdËr
+(\19
+p\9d\96\9ae
+ *
+p
+,
+
+36 \1e*
+msg
+)
+
+38 \19
+p\9d\96\9ae_¡©s_msg_»q
+ *
+»q
+ = 
+msg
+;
+
+39 \19
+p\9d\96\9ae_¡©s_pÜt_\9a_msg_r¥
+ *
+r¥
+ = 
+msg
+;
+
+40 
+u\9at32_t
+pÜt_id
+;
+
+43 ià(
+»q
+->
+id
+ >ð
+p
+->
+n_pÜts_\9a
+) {
+
+44 
+r¥
+->
+¡©us
+ = -1;
+
+45 \15 
+r¥
+;
+
+47 
+pÜt_id
+ = 
+p
+->
+pÜt_\9a_id
+[
+»q
+->
+id
+];
+
+50 
+r¥
+->
+¡©us
+ = 
+       `¹e_p\9d\96\9ae_pÜt_\9a_¡©s_»ad
+(
+p
+->p,
+
+51 
+pÜt_id
+,
+
+52 &
+r¥
+->
+¡©s
+,
+
+55 \15 
+r¥
+;
+
+56 
+       }
+}
+
+59 
+       $p\9d\96\9ae_msg_»q_¡©s_pÜt_out_hªdËr
+(\19
+p\9d\96\9ae
+ *
+p
+,
+
+60 \1e*
+msg
+)
+
+62 \19
+p\9d\96\9ae_¡©s_msg_»q
+ *
+»q
+ = 
+msg
+;
+
+63 \19
+p\9d\96\9ae_¡©s_pÜt_out_msg_r¥
+ *
+r¥
+ = 
+msg
+;
+
+64 
+u\9at32_t
+pÜt_id
+;
+
+67 ià(
+»q
+->
+id
+ >ð
+p
+->
+n_pÜts_out
+) {
+
+68 
+r¥
+->
+¡©us
+ = -1;
+
+69 \15 
+r¥
+;
+
+71 
+pÜt_id
+ = 
+p
+->
+pÜt_out_id
+[
+»q
+->
+id
+];
+
+74 
+r¥
+->
+¡©us
+ = 
+       `¹e_p\9d\96\9ae_pÜt_out_¡©s_»ad
+(
+p
+->p,
+
+75 
+pÜt_id
+,
+
+76 &
+r¥
+->
+¡©s
+,
+
+79 \15 
+r¥
+;
+
+80 
+       }
+}
+
+83 
+       $p\9d\96\9ae_msg_»q_¡©s_\8fbË_hªdËr
+(\19
+p\9d\96\9ae
+ *
+p
+,
+
+84 \1e*
+msg
+)
+
+86 \19
+p\9d\96\9ae_¡©s_msg_»q
+ *
+»q
+ = 
+msg
+;
+
+87 \19
+p\9d\96\9ae_¡©s_\8fbË_msg_r¥
+ *
+r¥
+ = 
+msg
+;
+
+88 
+u\9at32_t
+\8fbË_id
+;
+
+91 ià(
+»q
+->
+id
+ >ð
+p
+->
+n_\8fbËs
+) {
+
+92 
+r¥
+->
+¡©us
+ = -1;
+
+93 \15 
+r¥
+;
+
+95 
+\8fbË_id
+ = 
+p
+->\8fbË_id[
+»q
+->
+id
+];
+
+98 
+r¥
+->
+¡©us
+ = 
+       `¹e_p\9d\96\9ae_\8fbË_¡©s_»ad
+(
+p
+->p,
+
+99 
+\8fbË_id
+,
+
+100 &
+r¥
+->
+¡©s
+,
+
+103 \15 
+r¥
+;
+
+104 
+       }
+}
+
+107 
+       $p\9d\96\9ae_msg_»q_pÜt_\9a_\92abË_hªdËr
+(\19
+p\9d\96\9ae
+ *
+p
+,
+
+108 \1e*
+msg
+)
+
+110 \19
+p\9d\96\9ae_pÜt_\9a_msg_»q
+ *
+»q
+ = 
+msg
+;
+
+111 \19
+p\9d\96\9ae_msg_r¥
+ *
+r¥
+ = 
+msg
+;
+
+112 
+u\9at32_t
+pÜt_id
+;
+
+115 ià(
+»q
+->
+pÜt_id
+ >ð
+p
+->
+n_pÜts_\9a
+) {
+
+116 
+r¥
+->
+¡©us
+ = -1;
+
+117 \15 
+r¥
+;
+
+119 
+pÜt_id
+ = 
+p
+->
+pÜt_\9a_id
+[
+»q
+->port_id];
+
+122 
+r¥
+->
+¡©us
+ = 
+       `¹e_p\9d\96\9ae_pÜt_\9a_\92abË
+(
+p
+->p,
+
+123 
+pÜt_id
+);
+
+125 \15 
+r¥
+;
+
+126 
+       }
+}
+
+129 
+       $p\9d\96\9ae_msg_»q_pÜt_\9a_di§bË_hªdËr
+(\19
+p\9d\96\9ae
+ *
+p
+,
+
+130 \1e*
+msg
+)
+
+132 \19
+p\9d\96\9ae_pÜt_\9a_msg_»q
+ *
+»q
+ = 
+msg
+;
+
+133 \19
+p\9d\96\9ae_msg_r¥
+ *
+r¥
+ = 
+msg
+;
+
+134 
+u\9at32_t
+pÜt_id
+;
+
+137 ià(
+»q
+->
+pÜt_id
+ >ð
+p
+->
+n_pÜts_\9a
+) {
+
+138 
+r¥
+->
+¡©us
+ = -1;
+
+139 \15 
+r¥
+;
+
+141 
+pÜt_id
+ = 
+p
+->
+pÜt_\9a_id
+[
+»q
+->port_id];
+
+144 
+r¥
+->
+¡©us
+ = 
+       `¹e_p\9d\96\9ae_pÜt_\9a_di§bË
+(
+p
+->p,
+
+145 
+pÜt_id
+);
+
+147 \15 
+r¥
+;
+
+148 
+       }
+}
+
+151 
+       $p\9d\96\9ae_msg_»q_\9av®id_hªdËr
+(
+__¹e_unu£d
\19
+p\9d\96\9ae
+ *
+p
+,
+
+152 \1e*
+msg
+)
+
+154 \19
+p\9d\96\9ae_msg_r¥
+ *
+r¥
+ = 
+msg
+;
+
+156 
+r¥
+->
+¡©us
+ = -1;
+
+158 \15 
+r¥
+;
+
+159 
+       }
+}
+
+162 
+       $p\9d\96\9ae_msg_»q_hªdË
+(\19
+p\9d\96\9ae
+ *
+p
+)
+
+164 
+u\9at32_t
+msgq_id
+;
+
+166 \ f
+msgq_id
+ = 0; msgq_id < 
+p
+->
+n_msgq
+; msgq_id++) {
+
+168 \19
+p\9d\96\9ae_msg_»q
+ *
+»q
+;
+
+169 
+p\9d\96\9ae_msg_»q_hªdËr
+f_hªdË
+;
+
+171 
+»q
+ = 
+       `p\9d\96\9ae_msg_»cv
+(
+p
+, 
+msgq_id
+);
+
+172 ià(
+»q
+ =ð
+NULL
+)
+
+175 
+f_hªdË
+ = (
+»q
+->
+ty³
+ < 
+PIPELINE_MSG_REQS
+) ?
+
+176 
+p
+->
+hªdËrs
+[
+»q
+->
+ty³
+] :
+
+177 
+p\9d\96\9ae_msg_»q_\9av®id_hªdËr
+;
+
+179 ià(
+f_hªdË
+ =ð
+NULL
+)
+
+180 
+f_hªdË
+ = 
+p\9d\96\9ae_msg_»q_\9av®id_hªdËr
+;
+
+182 
+       `p\9d\96\9ae_msg_£nd
+(
+p
+,
+
+183 
+msgq_id
+,
+
+184 
+       `f_hªdË
+(
+p
+, (\1e
+»q
+));
+
+189 
+       }
+}
+
+       @VIL/pipeline_common/pipeline_common_be.h
+
+17 #iâdeà
+__INCLUDE_PIPELINE_COMMON_BE_H__
+
+
+18 \ 1
+       #__INCLUDE_PIPELINE_COMMON_BE_H__
+
+
+       )
+
+20 \ 2
+       ~<¹e_commÚ.h
+>
+
+21 \ 2
+       ~<¹e_r\9ag.h
+>
+
+22 \ 2
+       ~<¹e_p\9d\96\9ae.h
+>
+
+24 \ 2
+       ~"p\9d\96\9ae_be.h
+"
+
+26 \19
+       gp\9d\96\9ae
+;
+
+28 \f
+       ep\9d\96\9ae_msg_»q_ty³
+ {
+
+29 
+       mPIPELINE_MSG_REQ_PING
+ = 0,
+
+30 
+       mPIPELINE_MSG_REQ_STATS_PORT_IN
+,
+
+31 
+       mPIPELINE_MSG_REQ_STATS_PORT_OUT
+,
+
+32 
+       mPIPELINE_MSG_REQ_STATS_TABLE
+,
+
+33 
+       mPIPELINE_MSG_REQ_PORT_IN_ENABLE
+,
+
+34 
+       mPIPELINE_MSG_REQ_PORT_IN_DISABLE
+,
+
+35 
+       mPIPELINE_MSG_REQ_CUSTOM
+,
+
+36 
+       mPIPELINE_MSG_REQS
+
+
+39 \e\1e*(*
+       tp\9d\96\9ae_msg_»q_hªdËr
+)(\19
+       tp\9d\96\9ae
+ *
+       tp
+, \1e*
+       tmsg
+);
+
+41 \19
+       sp\9d\96\9ae
+ {
+
+42 \19
+¹e_p\9d\96\9ae
+ *
+       mp
+;
+
+43 
+u\9at32_t
+       mpÜt_\9a_id
+[
+PIPELINE_MAX_PORT_IN
+];
+
+44 
+u\9at32_t
+       mpÜt_out_id
+[
+PIPELINE_MAX_PORT_OUT
+];
+
+45 
+u\9at32_t
+       m\8fbË_id
+[
+PIPELINE_MAX_TABLES
+];
+
+46 \19
+¹e_r\9ag
+ *
+       mmsgq_\9a
+[
+PIPELINE_MAX_MSGQ_IN
+];
+
+47 \19
+¹e_r\9ag
+ *
+       mmsgq_out
+[
+PIPELINE_MAX_MSGQ_OUT
+];
+
+49 
+u\9at32_t
+       mn_pÜts_\9a
+;
+
+50 
+u\9at32_t
+       mn_pÜts_out
+;
+
+51 
+u\9at32_t
+       mn_\8fbËs
+;
+
+52 
+u\9at32_t
+       mn_msgq
+;
+
+54 
+p\9d\96\9ae_msg_»q_hªdËr
+       mhªdËrs
+[
+PIPELINE_MSG_REQS
+];
+
+55 \ 5
+       mÇme
+[
+PIPELINE_NAME_SIZE
+];
+
+56 
+u\9at32_t
+       mlog_Ëv\96
+;
+
+59 \f
+       ep\9d\96\9ae_log_Ëv\96
+ {
+
+60 
+       mPIPELINE_LOG_LEVEL_HIGH
+ = 1,
+
+61 
+       mPIPELINE_LOG_LEVEL_LOW
+,
+
+62 
+       mPIPELINE_LOG_LEVELS
+
+
+65 \ 1
+       #PLOG
+(
+p
+, 
+Ëv\96
+, 
+fmt
+, ...) \
+
+67 ià(
+p
+->
+log_Ëv\96
+ >ð
+PIPELINE_LOG_LEVEL_
+ ## 
+Ëv\96
+) \
+
+68 
+       `år\9atf
+(
+¡dout
+, "[%s] " 
+fmt
+ "\n", 
+p
+->
+Çme
+, ## 
+__VA_ARGS__
+);\
+
+69 } \1f0)
+
+       )
+
+71 \18
+\9al\9ae
\1e*
+
+72 
+       $p\9d\96\9ae_msg_»cv
+(\19
+p\9d\96\9ae
+ *
+p
+,
+
+73 
+u\9at32_t
+msgq_id
+)
+
+75 \19
+¹e_r\9ag
+ *
+r
+ = 
+p
+->
+msgq_\9a
+[
+msgq_id
+];
+
+76 \1e*
+msg
+;
+
+77 \12
+¡©us
+ = 
+       `¹e_r\9ag_sc_dequeue
+(
+r
+, &
+msg
+);
+
+79 ià(
+¡©us
+ != 0)
+
+80 \15 
+NULL
+;
+
+82 \15 
+msg
+;
+
+83 
+       }
+}
+
+85 \18
+\9al\9ae
\1e
+
+86 
+       $p\9d\96\9ae_msg_£nd
+(\19
+p\9d\96\9ae
+ *
+p
+,
+
+87 
+u\9at32_t
+msgq_id
+,
+
+88 \1e*
+msg
+)
+
+90 \19
+¹e_r\9ag
+ *
+r
+ = 
+p
+->
+msgq_out
+[
+msgq_id
+];
+
+91 \12
+¡©us
+;
+
+94 
+¡©us
+ = 
+       `¹e_r\9ag_¥_\92queue
+(
+r
+, 
+msg
+);
+
+95 } \1f
+¡©us
+ =ð-
+ENOBUFS
+);
+
+96 
+       }
+}
+
+98 \19
+       sp\9d\96\9ae_msg_»q
+ {
+
+99 \f
+p\9d\96\9ae_msg_»q_ty³
+       mty³
+;
+
+102 \19
+       sp\9d\96\9ae_¡©s_msg_»q
+ {
+
+103 \f
+p\9d\96\9ae_msg_»q_ty³
+       mty³
+;
+
+104 
+u\9at32_t
+       mid
+;
+
+107 \19
+       sp\9d\96\9ae_pÜt_\9a_msg_»q
+ {
+
+108 \f
+p\9d\96\9ae_msg_»q_ty³
+       mty³
+;
+
+109 
+u\9at32_t
+       mpÜt_id
+;
+
+112 \19
+       sp\9d\96\9ae_cu¡om_msg_»q
+ {
+
+113 \f
+p\9d\96\9ae_msg_»q_ty³
+       mty³
+;
+
+114 
+u\9at32_t
+       msubty³
+;
+
+117 \19
+       sp\9d\96\9ae_msg_r¥
+ {
+
+118 \12
+       m¡©us
+;
+
+121 \19
+       sp\9d\96\9ae_¡©s_pÜt_\9a_msg_r¥
+ {
+
+122 \12
+       m¡©us
+;
+
+123 \19
+¹e_p\9d\96\9ae_pÜt_\9a_¡©s
+       m¡©s
+;
+
+126 \19
+       sp\9d\96\9ae_¡©s_pÜt_out_msg_r¥
+ {
+
+127 \12
+       m¡©us
+;
+
+128 \19
+¹e_p\9d\96\9ae_pÜt_out_¡©s
+       m¡©s
+;
+
+131 \19
+       sp\9d\96\9ae_¡©s_\8fbË_msg_r¥
+ {
+
+132 \12
+       m¡©us
+;
+
+133 \19
+¹e_p\9d\96\9ae_\8fbË_¡©s
+       m¡©s
+;
+
+136 \1e*
+p\9d\96\9ae_msg_»q_p\9ag_hªdËr
+(\19
+p\9d\96\9ae
+ *
+p
+, \1e*
+msg
+);
+
+137 \1e*
+p\9d\96\9ae_msg_»q_¡©s_pÜt_\9a_hªdËr
+(\19
+p\9d\96\9ae
+ *
+p
+, \1e*
+msg
+);
+
+138 \1e*
+p\9d\96\9ae_msg_»q_¡©s_pÜt_out_hªdËr
+(\19
+p\9d\96\9ae
+ *
+p
+, \1e*
+msg
+);
+
+139 \1e*
+p\9d\96\9ae_msg_»q_¡©s_\8fbË_hªdËr
+(\19
+p\9d\96\9ae
+ *
+p
+, \1e*
+msg
+);
+
+140 \1e*
+p\9d\96\9ae_msg_»q_pÜt_\9a_\92abË_hªdËr
+(\19
+p\9d\96\9ae
+ *
+p
+, \1e*
+msg
+);
+
+141 \1e*
+p\9d\96\9ae_msg_»q_pÜt_\9a_di§bË_hªdËr
+(\19
+p\9d\96\9ae
+ *
+p
+, \1e*
+msg
+);
+
+142 \1e*
+p\9d\96\9ae_msg_»q_\9av®id_hªdËr
+(\19
+p\9d\96\9ae
+ *
+p
+, \1e*
+msg
+);
+
+144 \12
+p\9d\96\9ae_msg_»q_hªdË
+(\19
+p\9d\96\9ae
+ *
+p
+);
+
+       @VIL/pipeline_common/pipeline_common_fe.c
+
+17 \ 2
+       ~<¡dio.h
+>
+
+18 \ 2
+       ~<fú\8e.h
+>
+
+19 \ 2
+       ~<uni¡d.h
+>
+
+21 \ 2
+       ~<¹e_commÚ.h
+>
+
+22 \ 2
+       ~<¹e_r\9ag.h
+>
+
+23 \ 2
+       ~<¹e_m®loc.h
+>
+
+24 \ 2
+       ~<cmdl\9ae_rdl\9ae.h
+>
+
+25 \ 2
+       ~<cmdl\9ae_·r£.h
+>
+
+26 \ 2
+       ~<cmdl\9ae_·r£_num.h
+>
+
+27 \ 2
+       ~<cmdl\9ae_·r£_¡r\9ag.h
+>
+
+28 \ 2
+       ~<cmdl\9ae_·r£_\9daddr.h
+>
+
+29 \ 2
+       ~<cmdl\9ae_·r£_\91h\94addr.h
+>
+
+30 \ 2
+       ~<cmdl\9ae_sock\91.h
+>
+
+31 \ 2
+       ~<cmdl\9ae.h
+>
+
+33 \ 2
+       ~"p\9d\96\9ae_commÚ_ã.h
+"
+
+34 #iâdeà
+VNF_ACL
+
+
+35 \ 2
+       ~"\9a\8brçû.h
+"
+
+39 
+       $­p_p\9d\96\9ae_p\9ag
+(\19
+­p_·¿ms
+ *
+­p
+,
+
+40 
+u\9at32_t
+p\9d\96\9ae_id
+)
+
+42 \19
+­p_p\9d\96\9ae_·¿ms
+ *
+p
+;
+
+43 \19
+p\9d\96\9ae_msg_»q
+ *
+»q
+;
+
+44 \19
+p\9d\96\9ae_msg_r¥
+ *
+r¥
+;
+
+45 \12
+¡©us
+ = 0;
+
+48 ià(
+­p
+ =ð
+NULL
+)
+
+51 
+       `APP_PARAM_FIND_BY_ID
+(
+­p
+->
+p\9d\96\9ae_·¿ms
+, "PIPELINE", 
+p\9d\96\9ae_id
+, 
+p
+);
+
+52 ià(
+p
+ =ð
+NULL
+)
+
+56 
+»q
+ = 
+       `­p_msg_®loc
+(
+­p
+);
+
+57 ià(
+»q
+ =ð
+NULL
+)
+
+61 
+»q
+->
+ty³
+ = 
+PIPELINE_MSG_REQ_PING
+;
+
+64 
+r¥
+ = 
+       `­p_msg_£nd_»cv
+(
+­p
+, 
+p\9d\96\9ae_id
+, 
+»q
+, 
+MSG_TIMEOUT_DEFAULT
+);
+
+65 ià(
+r¥
+ =ð
+NULL
+)
+
+69 
+¡©us
+ = 
+r¥
+->status;
+
+72 
+       `­p_msg_ä\93
+(
+­p
+, 
+r¥
+);
+
+74 \15 
+¡©us
+;
+
+75 
+       }
+}
+
+78 
+       $­p_p\9d\96\9ae_¡©s_pÜt_\9a
+(\19
+­p_·¿ms
+ *
+­p
+,
+
+79 
+u\9at32_t
+p\9d\96\9ae_id
+,
+
+80 
+u\9at32_t
+pÜt_id
+,
+
+81 \19
+¹e_p\9d\96\9ae_pÜt_\9a_¡©s
+ *
+¡©s
+)
+
+83 \19
+­p_p\9d\96\9ae_·¿ms
+ *
+p
+;
+
+84 \19
+p\9d\96\9ae_¡©s_msg_»q
+ *
+»q
+;
+
+85 \19
+p\9d\96\9ae_¡©s_pÜt_\9a_msg_r¥
+ *
+r¥
+;
+
+86 \12
+¡©us
+ = 0;
+
+89 ià((
+­p
+ =ð
+NULL
+) ||
+
+90 (
+¡©s
+ =ð
+NULL
+))
+
+93 
+       `APP_PARAM_FIND_BY_ID
+(
+­p
+->
+p\9d\96\9ae_·¿ms
+, "PIPELINE", 
+p\9d\96\9ae_id
+, 
+p
+);
+
+94 ià((
+p
+ =ð
+NULL
+) ||
+
+95 (
+pÜt_id
+ >ð
+p
+->
+n_pktq_\9a
+))
+
+99 
+»q
+ = 
+       `­p_msg_®loc
+(
+­p
+);
+
+100 ià(
+»q
+ =ð
+NULL
+)
+
+104 
+»q
+->
+ty³
+ = 
+PIPELINE_MSG_REQ_STATS_PORT_IN
+;
+
+105 
+»q
+->
+id
+ = 
+pÜt_id
+;
+
+108 
+r¥
+ = (\19
+p\9d\96\9ae_¡©s_pÜt_\9a_msg_r¥
+ *)
+
+109 
+       `­p_msg_£nd_»cv
+(
+­p
+, 
+p\9d\96\9ae_id
+, 
+»q
+, 
+MSG_TIMEOUT_DEFAULT
+);
+
+110 ià(
+r¥
+ =ð
+NULL
+)
+
+114 
+¡©us
+ = 
+r¥
+->status;
+
+115 ià(
+¡©us
+ == 0)
+
+116 
+       `memýy
+(
+¡©s
+, &
+r¥
+->stats, \17(rsp->stats));
+
+119 
+       `­p_msg_ä\93
+(
+­p
+, 
+r¥
+);
+
+121 \15 
+¡©us
+;
+
+122 
+       }
+}
+
+125 
+       $­p_p\9d\96\9ae_¡©s_pÜt_out
+(\19
+­p_·¿ms
+ *
+­p
+,
+
+126 
+u\9at32_t
+p\9d\96\9ae_id
+,
+
+127 
+u\9at32_t
+pÜt_id
+,
+
+128 \19
+¹e_p\9d\96\9ae_pÜt_out_¡©s
+ *
+¡©s
+)
+
+130 \19
+­p_p\9d\96\9ae_·¿ms
+ *
+p
+;
+
+131 \19
+p\9d\96\9ae_¡©s_msg_»q
+ *
+»q
+;
+
+132 \19
+p\9d\96\9ae_¡©s_pÜt_out_msg_r¥
+ *
+r¥
+;
+
+133 \12
+¡©us
+ = 0;
+
+136 ià((
+­p
+ =ð
+NULL
+) ||
+
+137 (
+p\9d\96\9ae_id
+ >ð
+­p
+->
+n_p\9d\96\9aes
+) ||
+
+138 (
+¡©s
+ =ð
+NULL
+))
+
+141 
+       `APP_PARAM_FIND_BY_ID
+(
+­p
+->
+p\9d\96\9ae_·¿ms
+, "PIPELINE", 
+p\9d\96\9ae_id
+, 
+p
+);
+
+142 ià((
+p
+ =ð
+NULL
+) ||
+
+143 (
+pÜt_id
+ >ð
+p
+->
+n_pktq_out
+))
+
+147 
+»q
+ = 
+       `­p_msg_®loc
+(
+­p
+);
+
+148 ià(
+»q
+ =ð
+NULL
+)
+
+152 
+»q
+->
+ty³
+ = 
+PIPELINE_MSG_REQ_STATS_PORT_OUT
+;
+
+153 
+»q
+->
+id
+ = 
+pÜt_id
+;
+
+156 
+r¥
+ = 
+       `­p_msg_£nd_»cv
+(
+­p
+, 
+p\9d\96\9ae_id
+, 
+»q
+, 
+MSG_TIMEOUT_DEFAULT
+);
+
+157 ià(
+r¥
+ =ð
+NULL
+)
+
+161 
+¡©us
+ = 
+r¥
+->status;
+
+162 ià(
+¡©us
+ == 0)
+
+163 
+       `memýy
+(
+¡©s
+, &
+r¥
+->stats, \17(rsp->stats));
+
+166 
+       `­p_msg_ä\93
+(
+­p
+, 
+r¥
+);
+
+168 \15 
+¡©us
+;
+
+169 
+       }
+}
+
+172 
+       $­p_p\9d\96\9ae_¡©s_\8f
+(\19
+­p_·¿ms
+ *
+­p
+,
+
+173 
+u\9at32_t
+p\9d\96\9ae_id
+,
+
+174 
+u\9at32_t
+\8fbË_id
+,
+
+175 \19
+¹e_p\9d\96\9ae_\8fbË_¡©s
+ *
+¡©s
+)
+
+177 \19
+­p_p\9d\96\9ae_·¿ms
+ *
+p
+;
+
+178 \19
+p\9d\96\9ae_¡©s_msg_»q
+ *
+»q
+;
+
+179 \19
+p\9d\96\9ae_¡©s_\8fbË_msg_r¥
+ *
+r¥
+;
+
+180 \12
+¡©us
+ = 0;
+
+183 ià((
+­p
+ =ð
+NULL
+) ||
+
+184 (
+¡©s
+ =ð
+NULL
+))
+
+187 
+       `APP_PARAM_FIND_BY_ID
+(
+­p
+->
+p\9d\96\9ae_·¿ms
+, "PIPELINE", 
+p\9d\96\9ae_id
+, 
+p
+);
+
+188 ià(
+p
+ =ð
+NULL
+)
+
+192 
+»q
+ = 
+       `­p_msg_®loc
+(
+­p
+);
+
+193 ià(
+»q
+ =ð
+NULL
+)
+
+197 
+»q
+->
+ty³
+ = 
+PIPELINE_MSG_REQ_STATS_TABLE
+;
+
+198 
+»q
+->
+id
+ = 
+\8fbË_id
+;
+
+201 
+r¥
+ = 
+       `­p_msg_£nd_»cv
+(
+­p
+, 
+p\9d\96\9ae_id
+, 
+»q
+, 
+MSG_TIMEOUT_DEFAULT
+);
+
+202 ià(
+r¥
+ =ð
+NULL
+)
+
+206 
+¡©us
+ = 
+r¥
+->status;
+
+207 ià(
+¡©us
+ == 0)
+
+208 
+       `memýy
+(
+¡©s
+, &
+r¥
+->stats, \17(rsp->stats));
+
+211 
+       `­p_msg_ä\93
+(
+­p
+, 
+r¥
+);
+
+213 \15 
+¡©us
+;
+
+214 
+       }
+}
+
+217 
+       $­p_p\9d\96\9ae_pÜt_\9a_\92abË
+(\19
+­p_·¿ms
+ *
+­p
+,
+
+218 
+u\9at32_t
+p\9d\96\9ae_id
+,
+
+219 
+u\9at32_t
+pÜt_id
+)
+
+221 \19
+­p_p\9d\96\9ae_·¿ms
+ *
+p
+;
+
+222 \19
+p\9d\96\9ae_pÜt_\9a_msg_»q
+ *
+»q
+;
+
+223 \19
+p\9d\96\9ae_msg_r¥
+ *
+r¥
+;
+
+224 \12
+¡©us
+ = 0;
+
+227 ià(
+­p
+ =ð
+NULL
+)
+
+230 
+       `APP_PARAM_FIND_BY_ID
+(
+­p
+->
+p\9d\96\9ae_·¿ms
+, "PIPELINE", 
+p\9d\96\9ae_id
+, 
+p
+);
+
+231 ià((
+p
+ =ð
+NULL
+) ||
+
+232 (
+pÜt_id
+ >ð
+p
+->
+n_pktq_\9a
+))
+
+236 
+»q
+ = 
+       `­p_msg_®loc
+(
+­p
+);
+
+237 ià(
+»q
+ =ð
+NULL
+)
+
+241 
+»q
+->
+ty³
+ = 
+PIPELINE_MSG_REQ_PORT_IN_ENABLE
+;
+
+242 
+»q
+->
+pÜt_id
+ =\85ort_id;
+
+245 
+r¥
+ = 
+       `­p_msg_£nd_»cv
+(
+­p
+, 
+p\9d\96\9ae_id
+, 
+»q
+, 
+MSG_TIMEOUT_DEFAULT
+);
+
+246 ià(
+r¥
+ =ð
+NULL
+)
+
+250 
+¡©us
+ = 
+r¥
+->status;
+
+253 
+       `­p_msg_ä\93
+(
+­p
+, 
+r¥
+);
+
+255 \15 
+¡©us
+;
+
+256 
+       }
+}
+
+259 
+       $­p_p\9d\96\9ae_pÜt_\9a_di§bË
+(\19
+­p_·¿ms
+ *
+­p
+,
+
+260 
+u\9at32_t
+p\9d\96\9ae_id
+,
+
+261 
+u\9at32_t
+pÜt_id
+)
+
+263 \19
+­p_p\9d\96\9ae_·¿ms
+ *
+p
+;
+
+264 \19
+p\9d\96\9ae_pÜt_\9a_msg_»q
+ *
+»q
+;
+
+265 \19
+p\9d\96\9ae_msg_r¥
+ *
+r¥
+;
+
+266 \12
+¡©us
+ = 0;
+
+269 ià(
+­p
+ =ð
+NULL
+)
+
+272 
+       `APP_PARAM_FIND_BY_ID
+(
+­p
+->
+p\9d\96\9ae_·¿ms
+, "PIPELINE", 
+p\9d\96\9ae_id
+, 
+p
+);
+
+273 ià((
+p
+ =ð
+NULL
+) ||
+
+274 (
+pÜt_id
+ >ð
+p
+->
+n_pktq_\9a
+))
+
+278 
+»q
+ = 
+       `­p_msg_®loc
+(
+­p
+);
+
+279 ià(
+»q
+ =ð
+NULL
+)
+
+283 
+»q
+->
+ty³
+ = 
+PIPELINE_MSG_REQ_PORT_IN_DISABLE
+;
+
+284 
+»q
+->
+pÜt_id
+ =\85ort_id;
+
+287 
+r¥
+ = 
+       `­p_msg_£nd_»cv
+(
+­p
+, 
+p\9d\96\9ae_id
+, 
+»q
+, 
+MSG_TIMEOUT_DEFAULT
+);
+
+288 ià(
+r¥
+ =ð
+NULL
+)
+
+292 
+¡©us
+ = 
+r¥
+->status;
+
+295 
+       `­p_msg_ä\93
+(
+­p
+, 
+r¥
+);
+
+297 \15 
+¡©us
+;
+
+298 
+       }
+}
+
+301 
+       $­p_l\9ak_cÚfig
+(\19
+­p_·¿ms
+ *
+­p
+,
+
+302 
+u\9at32_t
+l\9ak_id
+,
+
+303 
+u\9at32_t
+\9d
+,
+
+304 
+u\9at32_t
+d\95th
+)
+
+306 \19
+­p_l\9ak_·¿ms
+ *
+p
+;
+
+307 
+u\9at32_t
+i
+, 
+Ãtmask
+, 
+ho¡
+, 
+bÿ¡
+;
+
+310 ià(
+­p
+ =ð
+NULL
+)
+
+313 
+       `APP_PARAM_FIND_BY_ID
+(
+­p
+->
+l\9ak_·¿ms
+, "LINK", 
+l\9ak_id
+, 
+p
+);
+
+314 ià(
+p
+ =ð
+NULL
+) {
+
+315 
+       `APP_LOG
+(
+­p
+, 
+HIGH
+, "LINK%" 
+PRIu32
+ " is\82ot\87 valid\86ink",
+
+316 
+l\9ak_id
+);
+
+320 ià(
+p
+->
+¡©e
+) {
+
+321 
+       `APP_LOG
+(
+­p
+, 
+HIGH
+, "%s is UP,\85lease bring it DOWN first",
+
+322 
+p
+->
+Çme
+);
+
+326 
+Ãtmask
+ = (~0Uè<< (32 - 
+d\95th
+);
+
+327 
+ho¡
+ = 
+\9d
+ & 
+Ãtmask
+;
+
+328 
+bÿ¡
+ = 
+ho¡
+ | (~
+Ãtmask
+);
+
+330 ià((
+\9d
+ == 0) ||
+
+331 (
+\9d
+ =ð
+UINT32_MAX
+) ||
+
+332 (
+\9d
+ =ð
+ho¡
+) ||
+
+333 (
+\9d
+ =ð
+bÿ¡
+)) {
+
+334 
+       `APP_LOG
+(
+­p
+, 
+HIGH
+, "Illegal IP\87ddress");
+
+338 \ f
+i
+ = 0; i < 
+­p
+->
+n_l\9aks
+; i++) {
+
+339 \19
+­p_l\9ak_·¿ms
+ *
+l\9ak
+ = &
+­p
+->
+l\9ak_·¿ms
+[
+i
+];
+
+340 
+myl\9ak
+[
+i
+] = *
+l\9ak
+;
+
+341 ià(
+       `¡rcmp
+(
+p
+->
+Çme
+, 
+l\9ak
+->name) == 0)
+
+344 ià(
+l\9ak
+->
+\9d
+ == ip) {
+
+345 
+       `APP_LOG
+(
+­p
+, 
+HIGH
+,
+
+347 
+l\9ak
+->
+Çme
+);
+
+352 ià((
+d\95th
+ == 0) || (depth > 32)) {
+
+353 
+       `APP_LOG
+(
+­p
+, 
+HIGH
+, "Illegal value for depth\85arameter "
+
+354 "(%" 
+PRIu32
+ ")",
+
+355 
+d\95th
+);
+
+360 
+p
+->
+\9d
+ = ip;
+
+361 
+p
+->
+d\95th
+ = depth;
+
+362 #iâdeà
+VNF_ACL
+
+
+363 ià(
+       `ifm_add_\9dv4_pÜt
+(
+l\9ak_id
+, 
+       `¹e_bsw­32
+(
+\9d
+), 
+d\95th
+è=ð
+IFM_FAILURE
+)
+
+368 
+       }
+}
+
+371 \1e
+       $cÚv\94t_´efixËn_to_Ãtmask_\9dv6
+(
+u\9at32_t
+d\95th
+, 
+u\9at8_t
+Ãtmask_\9dv6
+[])
+
+373 \12
+mod
+, 
+div
+, 
+i
+;
+
+375 
+       `mem£t
+(
+Ãtmask_\9dv6
+, 0, 16);
+
+377 
+mod
+ = 
+d\95th
+ % 8;
+
+378 
+div
+ = 
+d\95th
+ / 8;
+
+380 \ f
+i
+ = 0; i < 
+div
+; i++)
+
+381 
+Ãtmask_\9dv6
+[
+i
+] = 0xff;
+
+383 
+Ãtmask_\9dv6
+[
+i
+] = (~0 << (8 - 
+mod
+));
+
+386 
+       }
+}
+
+389 
+       $g\91_ho¡_pÜtiÚ_\9dv6
+(
+u\9at8_t
+\9dv6
+[], u\9at8_\88
+Ãtmask
+[], u\9at8_\88
+ho¡_\9dv6
+[])
+
+391 \12
+i
+;
+
+393 \ f
+i
+ = 0; i < 16; i++) {
+
+394 
+ho¡_\9dv6
+[
+i
+] = 
+\9dv6
+[i] & 
+Ãtmask
+[i];
+
+398 
+       }
+}
+
+401 
+       $g\91_bÿ¡_pÜtiÚ_\9dv6
+(
+u\9at8_t
+ho¡
+[], u\9at8_\88
+Ãtmask
+[], u\9at8_\88
+bÿ¡_\9dv6
+[])
+
+403 \12
+i
+;
+
+405 \ f
+i
+ = 0; i < 16; i++) {
+
+406 
+bÿ¡_\9dv6
+[
+i
+] = 
+ho¡
+[i] | ~
+Ãtmask
+[i];
+
+410 
+       }
+}
+
+413 
+       $­p_l\9ak_cÚfig_\9dv6
+(\19
+­p_·¿ms
+ *
+­p
+,
+
+414 
+u\9at32_t
+l\9ak_id
+, 
+u\9at8_t
+\9dv6
+[], u\9at32_\88
+d\95th
+)
+
+416 \19
+­p_l\9ak_·¿ms
+ *
+p
+;
+
+417 
+u\9at32_t
+i
+;
+
+418 
+u\9at8_t
+Ãtmask_\9dv6
+[16], 
+ho¡
+[16], 
+bÿ¡
+[16];
+
+421 ià(
+­p
+ =ð
+NULL
+)
+
+424 
+       `APP_PARAM_FIND_BY_ID
+(
+­p
+->
+l\9ak_·¿ms
+, "LINK", 
+l\9ak_id
+, 
+p
+);
+
+425 ià(
+p
+ =ð
+NULL
+) {
+
+426 
+       `APP_LOG
+(
+­p
+, 
+HIGH
+, "LINK%" 
+PRIu32
+ " is\82ot\87 valid\86ink",
+
+427 
+l\9ak_id
+);
+
+431 ià(
+p
+->
+¡©e
+) {
+
+432 
+       `APP_LOG
+(
+­p
+, 
+HIGH
+, "%s is UP,\85lease bring it DOWN first",
+
+433 
+p
+->
+Çme
+);
+
+437 
+       `cÚv\94t_´efixËn_to_Ãtmask_\9dv6
+(
+d\95th
+, 
+Ãtmask_\9dv6
+);
+
+438 
+       `g\91_ho¡_pÜtiÚ_\9dv6
+(
+\9dv6
+, 
+Ãtmask_\9dv6
+, 
+ho¡
+);
+
+439 
+       `g\91_bÿ¡_pÜtiÚ_\9dv6
+(
+ho¡
+, 
+Ãtmask_\9dv6
+, 
+bÿ¡
+);
+
+441 \ f
+i
+ = 0; i < 
+­p
+->
+n_l\9aks
+; i++) {
+
+442 \19
+­p_l\9ak_·¿ms
+ *
+l\9ak
+ = &
+­p
+->
+l\9ak_·¿ms
+[
+i
+];
+
+444 ià(
+       `¡rcmp
+(
+p
+->
+Çme
+, 
+l\9ak
+->name) == 0)
+
+447 ià(!
+       `memcmp
+(
+l\9ak
+->
+\9dv6
+, ipv6, 16)) {
+
+448 
+       `APP_LOG
+(
+­p
+, 
+HIGH
+,
+
+450 
+l\9ak
+->
+Çme
+);
+
+455 ià((
+d\95th
+ == 0) || (depth > 128)) {
+
+456 
+       `APP_LOG
+(
+­p
+, 
+HIGH
+, "Illegal value for depth\85arameter "
+
+457 "(%" 
+PRIu32
+ ")", 
+d\95th
+);
+
+462 
+       `memýy
+(
+p
+->
+\9dv6
+, ipv6, 16);
+
+464 
+p
+->
+d\95th_\9dv6
+ = 
+d\95th
+;
+
+471 #iâdeà
+VNF_ACL
+
+
+472 ià(
+       `ifm_add_\9dv6_pÜt
+(
+l\9ak_id
+, 
+\9dv6
+, 
+d\95th
+è=ð
+IFM_FAILURE
+)
+
+476 
+       }
+}
+
+479 
+       $­p_l\9ak_up
+(\19
+­p_·¿ms
+ *
+­p
+,
+
+480 
+u\9at32_t
+l\9ak_id
+)
+
+482 \19
+­p_l\9ak_·¿ms
+ *
+p
+;
+
+485 ià(
+­p
+ =ð
+NULL
+)
+
+488 
+       `APP_PARAM_FIND_BY_ID
+(
+­p
+->
+l\9ak_·¿ms
+, "LINK", 
+l\9ak_id
+, 
+p
+);
+
+489 ià(
+p
+ =ð
+NULL
+) {
+
+490 
+       `APP_LOG
+(
+­p
+, 
+HIGH
+, "LINK%" 
+PRIu32
+ " is\82ot\87 valid\86ink",
+
+491 
+l\9ak_id
+);
+
+496 ià(
+p
+->
+¡©e
+) {
+
+497 
+       `APP_LOG
+(
+­p
+, 
+HIGH
+, "% i ®»ady UP", 
+p
+->
+Çme
+);
+
+502 
+u\9at8_t
+\8bmp
+[16];
+
+504 
+       `mem£t
+(
+\8bmp
+, 0, 16);
+
+506 ià((
+p
+->
+\9d
+ || 
+       `memcmp
+Õ->
+\9dv6
+, 
+\8bmp
+, 16)) == 0) {
+
+507 
+       `APP_LOG
+(
+­p
+, 
+HIGH
+, "% IP\87dd»s i nÙ s\91", 
+p
+->
+Çme
+);
+
+511 
+       `­p_l\9ak_up_\9a\8bº®
+(
+­p
+, 
+p
+);
+
+514 
+       }
+}
+
+517 
+       $­p_l\9ak_down
+(\19
+­p_·¿ms
+ *
+­p
+,
+
+518 
+u\9at32_t
+l\9ak_id
+)
+
+520 \19
+­p_l\9ak_·¿ms
+ *
+p
+;
+
+523 ià(
+­p
+ =ð
+NULL
+)
+
+526 
+       `APP_PARAM_FIND_BY_ID
+(
+­p
+->
+l\9ak_·¿ms
+, "LINK", 
+l\9ak_id
+, 
+p
+);
+
+527 ià(
+p
+ =ð
+NULL
+) {
+
+528 
+       `APP_LOG
+(
+­p
+, 
+HIGH
+, "LINK%" 
+PRIu32
+ " is\82ot\87 valid\86ink",
+
+529 
+l\9ak_id
+);
+
+534 ià(
+p
+->
+¡©e
+ == 0) {
+
+535 
+       `APP_LOG
+(
+­p
+, 
+HIGH
+, "% i ®»ady DOWN", 
+p
+->
+Çme
+);
+
+539 
+       `­p_l\9ak_down_\9a\8bº®
+(
+­p
+, 
+p
+);
+
+542 
+       }
+}
+
+548 \19
+       scmd_p\9ag_»suÉ
+ {
+
+549 
+cmdl\9ae_fixed_¡r\9ag_t
+       mp_¡r\9ag
+;
+
+550 
+u\9at32_t
+       mp\9d\96\9ae_id
+;
+
+551 
+cmdl\9ae_fixed_¡r\9ag_t
+       mp\9ag_¡r\9ag
+;
+
+555 
+       $cmd_p\9ag_·r£d
+(
+
+556 \1e*
+·r£d_»suÉ
+,
+
+557 
+__¹e_unu£d
\19
+cmdl\9ae
+ *
+,
+
+558 \1e*
+d©a
+)
+
+560 \19
+cmd_p\9ag_»suÉ
+ *
+·¿ms
+ = 
+·r£d_»suÉ
+;
+
+561 \19
+­p_·¿ms
+ *
+­p
+ = 
+d©a
+;
+
+562 \12
+¡©us
+;
+
+564 
+¡©us
+ = 
+       `­p_p\9d\96\9ae_p\9ag
+(
+­p
+, 
+·¿ms
+->
+p\9d\96\9ae_id
+);
+
+565 ià(
+¡©us
+ != 0)
+
+566 
+       `´\9atf
+("Command failed\n");
+
+567 
+       }
+}
+
+569 
+cmdl\9ae_·r£_tok\92_¡r\9ag_t
+       gcmd_p\9ag_p_¡r\9ag
+ =
+
+570 
+TOKEN_STRING_INITIALIZER
+(\19
+cmd_p\9ag_»suÉ
+, 
+p_¡r\9ag
+, "p");
+
+572 
+cmdl\9ae_·r£_tok\92_num_t
+       gcmd_p\9ag_p\9d\96\9ae_id
+ =
+
+573 
+TOKEN_NUM_INITIALIZER
+(\19
+cmd_p\9ag_»suÉ
+, 
+p\9d\96\9ae_id
+, 
+UINT32
+);
+
+575 
+cmdl\9ae_·r£_tok\92_¡r\9ag_t
+       gcmd_p\9ag_p\9ag_¡r\9ag
+ =
+
+576 
+TOKEN_STRING_INITIALIZER
+(\19
+cmd_p\9ag_»suÉ
+, 
+p\9ag_¡r\9ag
+, "ping");
+
+578 
+cmdl\9ae_·r£_\9a¡_t
+       gcmd_p\9ag
+ = {
+
+579 .
+f
+ = 
+cmd_p\9ag_·r£d
+,
+
+580 .
+       gd©a
+ = 
+NULL
+,
+
+581 .
+       gh\96p_¡r
+ = "Pipeline\85ing",
+
+582 .
+       gtok\92s
+ = {
+
+583 (\1e*è&
+cmd_p\9ag_p_¡r\9ag
+,
+
+584 (\1e*è&
+cmd_p\9ag_p\9d\96\9ae_id
+,
+
+585 (\1e*è&
+cmd_p\9ag_p\9ag_¡r\9ag
+,
+
+586 
+NULL
+,
+
+594 \19
+       scmd_¡©s_pÜt_\9a_»suÉ
+ {
+
+595 
+cmdl\9ae_fixed_¡r\9ag_t
+       mp_¡r\9ag
+;
+
+596 
+u\9at32_t
+       mp\9d\96\9ae_id
+;
+
+597 
+cmdl\9ae_fixed_¡r\9ag_t
+       m¡©s_¡r\9ag
+;
+
+598 
+cmdl\9ae_fixed_¡r\9ag_t
+       mpÜt_¡r\9ag
+;
+
+599 
+cmdl\9ae_fixed_¡r\9ag_t
+       m\9a_¡r\9ag
+;
+
+600 
+u\9at32_t
+       mpÜt_\9a_id
+;
+
+604 
+       $cmd_¡©s_pÜt_\9a_·r£d
+(
+
+605 \1e*
+·r£d_»suÉ
+,
+
+606 
+__¹e_unu£d
\19
+cmdl\9ae
+ *
+,
+
+607 \1e*
+d©a
+)
+
+609 \19
+cmd_¡©s_pÜt_\9a_»suÉ
+ *
+·¿ms
+ = 
+·r£d_»suÉ
+;
+
+610 \19
+­p_·¿ms
+ *
+­p
+ = 
+d©a
+;
+
+611 \19
+¹e_p\9d\96\9ae_pÜt_\9a_¡©s
+¡©s
+;
+
+612 \12
+¡©us
+;
+
+614 
+¡©us
+ = 
+       `­p_p\9d\96\9ae_¡©s_pÜt_\9a
+(
+­p
+,
+
+615 
+·¿ms
+->
+p\9d\96\9ae_id
+,
+
+616 
+·¿ms
+->
+pÜt_\9a_id
+,
+
+617 &
+¡©s
+);
+
+619 ià(
+¡©us
+ != 0) {
+
+620 
+       `´\9atf
+("Command failed\n");
+
+625 
+       `´\9atf
+("P\9d\96\9a\90%" 
+PRIu32
+ " - stats for input\85ort %" PRIu32 ":\n"
+
+626 "\tPkt \9a: %" 
+PRIu64
+ "\n"
+
+627 "\tPkt drݳd by AH: %" 
+PRIu64
+ "\n"
+
+628 "\tPkt drݳd by oth\94: %" 
+PRIu64
+ "\n",
+
+629 
+·¿ms
+->
+p\9d\96\9ae_id
+,
+
+630 
+·¿ms
+->
+pÜt_\9a_id
+,
+
+631 
+¡©s
+.¡©s.
+n_pkts_\9a
+,
+
+632 
+¡©s
+.
+n_pkts_drݳd_by_ah
+,
+
+633 
+¡©s
+.¡©s.
+n_pkts_drÝ
+);
+
+634 
+       }
+}
+
+636 
+cmdl\9ae_·r£_tok\92_¡r\9ag_t
+       gcmd_¡©s_pÜt_\9a_p_¡r\9ag
+ =
+
+637 
+TOKEN_STRING_INITIALIZER
+(\19
+cmd_¡©s_pÜt_\9a_»suÉ
+, 
+p_¡r\9ag
+,
+
+640 
+cmdl\9ae_·r£_tok\92_num_t
+       gcmd_¡©s_pÜt_\9a_p\9d\96\9ae_id
+ =
+
+641 
+TOKEN_NUM_INITIALIZER
+(\19
+cmd_¡©s_pÜt_\9a_»suÉ
+, 
+p\9d\96\9ae_id
+,
+
+642 
+UINT32
+);
+
+644 
+cmdl\9ae_·r£_tok\92_¡r\9ag_t
+       gcmd_¡©s_pÜt_\9a_¡©s_¡r\9ag
+ =
+
+645 
+TOKEN_STRING_INITIALIZER
+(\19
+cmd_¡©s_pÜt_\9a_»suÉ
+, 
+¡©s_¡r\9ag
+,
+
+648 
+cmdl\9ae_·r£_tok\92_¡r\9ag_t
+       gcmd_¡©s_pÜt_\9a_pÜt_¡r\9ag
+ =
+
+649 
+TOKEN_STRING_INITIALIZER
+(\19
+cmd_¡©s_pÜt_\9a_»suÉ
+, 
+pÜt_¡r\9ag
+,
+
+652 
+cmdl\9ae_·r£_tok\92_¡r\9ag_t
+       gcmd_¡©s_pÜt_\9a_\9a_¡r\9ag
+ =
+
+653 
+TOKEN_STRING_INITIALIZER
+(\19
+cmd_¡©s_pÜt_\9a_»suÉ
+, 
+\9a_¡r\9ag
+,
+
+656 
+cmdl\9ae_·r£_tok\92_num_t
+       gcmd_¡©s_pÜt_\9a_pÜt_\9a_id
+ =
+
+657 
+TOKEN_NUM_INITIALIZER
+(\19
+cmd_¡©s_pÜt_\9a_»suÉ
+, 
+pÜt_\9a_id
+,
+
+658 
+UINT32
+);
+
+660 
+cmdl\9ae_·r£_\9a¡_t
+       gcmd_¡©s_pÜt_\9a
+ = {
+
+661 .
+f
+ = 
+cmd_¡©s_pÜt_\9a_·r£d
+,
+
+662 .
+       gd©a
+ = 
+NULL
+,
+
+663 .
+       gh\96p_¡r
+ = "Pipeline input\85ort stats",
+
+664 .
+       gtok\92s
+ = {
+
+665 (\1e*è&
+cmd_¡©s_pÜt_\9a_p_¡r\9ag
+,
+
+666 (\1e*è&
+cmd_¡©s_pÜt_\9a_p\9d\96\9ae_id
+,
+
+667 (\1e*è&
+cmd_¡©s_pÜt_\9a_¡©s_¡r\9ag
+,
+
+668 (\1e*è&
+cmd_¡©s_pÜt_\9a_pÜt_¡r\9ag
+,
+
+669 (\1e*è&
+cmd_¡©s_pÜt_\9a_\9a_¡r\9ag
+,
+
+670 (\1e*è&
+cmd_¡©s_pÜt_\9a_pÜt_\9a_id
+,
+
+671 
+NULL
+,
+
+679 \19
+       scmd_¡©s_pÜt_out_»suÉ
+ {
+
+680 
+cmdl\9ae_fixed_¡r\9ag_t
+       mp_¡r\9ag
+;
+
+681 
+u\9at32_t
+       mp\9d\96\9ae_id
+;
+
+682 
+cmdl\9ae_fixed_¡r\9ag_t
+       m¡©s_¡r\9ag
+;
+
+683 
+cmdl\9ae_fixed_¡r\9ag_t
+       mpÜt_¡r\9ag
+;
+
+684 
+cmdl\9ae_fixed_¡r\9ag_t
+       mout_¡r\9ag
+;
+
+685 
+u\9at32_t
+       mpÜt_out_id
+;
+
+689 
+       $cmd_¡©s_pÜt_out_·r£d
+(
+
+690 \1e*
+·r£d_»suÉ
+,
+
+691 
+__¹e_unu£d
\19
+cmdl\9ae
+ *
+,
+
+692 \1e*
+d©a
+)
+
+695 \19
+cmd_¡©s_pÜt_out_»suÉ
+ *
+·¿ms
+ = 
+·r£d_»suÉ
+;
+
+696 \19
+­p_·¿ms
+ *
+­p
+ = 
+d©a
+;
+
+697 \19
+¹e_p\9d\96\9ae_pÜt_out_¡©s
+¡©s
+;
+
+698 \12
+¡©us
+;
+
+700 
+¡©us
+ = 
+       `­p_p\9d\96\9ae_¡©s_pÜt_out
+(
+­p
+,
+
+701 
+·¿ms
+->
+p\9d\96\9ae_id
+,
+
+702 
+·¿ms
+->
+pÜt_out_id
+,
+
+703 &
+¡©s
+);
+
+705 ià(
+¡©us
+ != 0) {
+
+706 
+       `´\9atf
+("Command failed\n");
+
+711 
+       `´\9atf
+("P\9d\96\9a\90%" 
+PRIu32
+ " - stats for output\85ort %" PRIu32 ":\n"
+
+712 "\tPkt \9a: %" 
+PRIu64
+ "\n"
+
+713 "\tPkt drݳd by AH: %" 
+PRIu64
+ "\n"
+
+714 "\tPkt drݳd by oth\94: %" 
+PRIu64
+ "\n",
+
+715 
+·¿ms
+->
+p\9d\96\9ae_id
+,
+
+716 
+·¿ms
+->
+pÜt_out_id
+,
+
+717 
+¡©s
+.¡©s.
+n_pkts_\9a
+,
+
+718 
+¡©s
+.
+n_pkts_drݳd_by_ah
+,
+
+719 
+¡©s
+.¡©s.
+n_pkts_drÝ
+);
+
+720 
+       }
+}
+
+722 
+cmdl\9ae_·r£_tok\92_¡r\9ag_t
+       gcmd_¡©s_pÜt_out_p_¡r\9ag
+ =
+
+723 
+TOKEN_STRING_INITIALIZER
+(\19
+cmd_¡©s_pÜt_out_»suÉ
+, 
+p_¡r\9ag
+,
+
+726 
+cmdl\9ae_·r£_tok\92_num_t
+       gcmd_¡©s_pÜt_out_p\9d\96\9ae_id
+ =
+
+727 
+TOKEN_NUM_INITIALIZER
+(\19
+cmd_¡©s_pÜt_out_»suÉ
+, 
+p\9d\96\9ae_id
+,
+
+728 
+UINT32
+);
+
+730 
+cmdl\9ae_·r£_tok\92_¡r\9ag_t
+       gcmd_¡©s_pÜt_out_¡©s_¡r\9ag
+ =
+
+731 
+TOKEN_STRING_INITIALIZER
+(\19
+cmd_¡©s_pÜt_out_»suÉ
+, 
+¡©s_¡r\9ag
+,
+
+734 
+cmdl\9ae_·r£_tok\92_¡r\9ag_t
+       gcmd_¡©s_pÜt_out_pÜt_¡r\9ag
+ =
+
+735 
+TOKEN_STRING_INITIALIZER
+(\19
+cmd_¡©s_pÜt_out_»suÉ
+, 
+pÜt_¡r\9ag
+,
+
+738 
+cmdl\9ae_·r£_tok\92_¡r\9ag_t
+       gcmd_¡©s_pÜt_out_out_¡r\9ag
+ =
+
+739 
+TOKEN_STRING_INITIALIZER
+(\19
+cmd_¡©s_pÜt_out_»suÉ
+, 
+out_¡r\9ag
+,
+
+742 
+cmdl\9ae_·r£_tok\92_num_t
+       gcmd_¡©s_pÜt_out_pÜt_out_id
+ =
+
+743 
+TOKEN_NUM_INITIALIZER
+(\19
+cmd_¡©s_pÜt_out_»suÉ
+, 
+pÜt_out_id
+,
+
+744 
+UINT32
+);
+
+746 
+cmdl\9ae_·r£_\9a¡_t
+       gcmd_¡©s_pÜt_out
+ = {
+
+747 .
+f
+ = 
+cmd_¡©s_pÜt_out_·r£d
+,
+
+748 .
+       gd©a
+ = 
+NULL
+,
+
+749 .
+       gh\96p_¡r
+ = "Pipeline output\85ort stats",
+
+750 .
+       gtok\92s
+ = {
+
+751 (\1e*è&
+cmd_¡©s_pÜt_out_p_¡r\9ag
+,
+
+752 (\1e*è&
+cmd_¡©s_pÜt_out_p\9d\96\9ae_id
+,
+
+753 (\1e*è&
+cmd_¡©s_pÜt_out_¡©s_¡r\9ag
+,
+
+754 (\1e*è&
+cmd_¡©s_pÜt_out_pÜt_¡r\9ag
+,
+
+755 (\1e*è&
+cmd_¡©s_pÜt_out_out_¡r\9ag
+,
+
+756 (\1e*è&
+cmd_¡©s_pÜt_out_pÜt_out_id
+,
+
+757 
+NULL
+,
+
+765 \19
+       scmd_¡©s_\8fbË_»suÉ
+ {
+
+766 
+cmdl\9ae_fixed_¡r\9ag_t
+       mp_¡r\9ag
+;
+
+767 
+u\9at32_t
+       mp\9d\96\9ae_id
+;
+
+768 
+cmdl\9ae_fixed_¡r\9ag_t
+       m¡©s_¡r\9ag
+;
+
+769 
+cmdl\9ae_fixed_¡r\9ag_t
+       m\8fbË_¡r\9ag
+;
+
+770 
+u\9at32_t
+       m\8fbË_id
+;
+
+774 
+       $cmd_¡©s_\8fbË_·r£d
+(
+
+775 \1e*
+·r£d_»suÉ
+,
+
+776 
+__¹e_unu£d
\19
+cmdl\9ae
+ *
+,
+
+777 \1e*
+d©a
+)
+
+779 \19
+cmd_¡©s_\8fbË_»suÉ
+ *
+·¿ms
+ = 
+·r£d_»suÉ
+;
+
+780 \19
+­p_·¿ms
+ *
+­p
+ = 
+d©a
+;
+
+781 \19
+¹e_p\9d\96\9ae_\8fbË_¡©s
+¡©s
+;
+
+782 \12
+¡©us
+;
+
+784 
+¡©us
+ = 
+       `­p_p\9d\96\9ae_¡©s_\8f
+(
+­p
+,
+
+785 
+·¿ms
+->
+p\9d\96\9ae_id
+,
+
+786 
+·¿ms
+->
+\8fbË_id
+,
+
+787 &
+¡©s
+);
+
+789 ià(
+¡©us
+ != 0) {
+
+790 
+       `´\9atf
+("Command failed\n");
+
+795 
+       `´\9atf
+("P\9d\96\9a\90%" 
+PRIu32
+ " - stats for\81able %" PRIu32 ":\n"
+
+796 "\tPkt \9a: %" 
+PRIu64
+ "\n"
+
+797 "\tPkt \9a w\99h\86ooku°miss: %" 
+PRIu64
+ "\n"
+
+798 "\tPkt \9a w\99h\86ooku°h\99 drݳd by AH: %" 
+PRIu64
+ "\n"
+
+799 "\tPkt \9a w\99h\86ooku°h\99 drݳd by oth\94s: %" 
+PRIu64
+ "\n"
+
+800 "\tPkt \9a w\99h\86ooku°mis drݳd by AH: %" 
+PRIu64
+ "\n"
+
+801 "\tPkt \9a w\99h\86ooku°mis drݳd by oth\94s: %" 
+PRIu64
+ "\n",
+
+802 
+·¿ms
+->
+p\9d\96\9ae_id
+,
+
+803 
+·¿ms
+->
+\8fbË_id
+,
+
+804 
+¡©s
+.¡©s.
+n_pkts_\9a
+,
+
+805 
+¡©s
+.¡©s.
+n_pkts_lookup_miss
+,
+
+806 
+¡©s
+.
+n_pkts_drݳd_by_lkp_h\99_ah
+,
+
+807 
+¡©s
+.
+n_pkts_drݳd_lkp_h\99
+,
+
+808 
+¡©s
+.
+n_pkts_drݳd_by_lkp_miss_ah
+,
+
+809 
+¡©s
+.
+n_pkts_drݳd_lkp_miss
+);
+
+810 
+       }
+}
+
+812 
+cmdl\9ae_·r£_tok\92_¡r\9ag_t
+       gcmd_¡©s_\8fbË_p_¡r\9ag
+ =
+
+813 
+TOKEN_STRING_INITIALIZER
+(\19
+cmd_¡©s_\8fbË_»suÉ
+, 
+p_¡r\9ag
+,
+
+816 
+cmdl\9ae_·r£_tok\92_num_t
+       gcmd_¡©s_\8fbË_p\9d\96\9ae_id
+ =
+
+817 
+TOKEN_NUM_INITIALIZER
+(\19
+cmd_¡©s_\8fbË_»suÉ
+, 
+p\9d\96\9ae_id
+,
+
+818 
+UINT32
+);
+
+820 
+cmdl\9ae_·r£_tok\92_¡r\9ag_t
+       gcmd_¡©s_\8fbË_¡©s_¡r\9ag
+ =
+
+821 
+TOKEN_STRING_INITIALIZER
+(\19
+cmd_¡©s_\8fbË_»suÉ
+, 
+¡©s_¡r\9ag
+,
+
+824 
+cmdl\9ae_·r£_tok\92_¡r\9ag_t
+       gcmd_¡©s_\8fbË_\8fbË_¡r\9ag
+ =
+
+825 
+TOKEN_STRING_INITIALIZER
+(\19
+cmd_¡©s_\8fbË_»suÉ
+, 
+\8fbË_¡r\9ag
+,
+
+828 
+cmdl\9ae_·r£_tok\92_num_t
+       gcmd_¡©s_\8fbË_\8fbË_id
+ =
+
+829 
+TOKEN_NUM_INITIALIZER
+(\19
+cmd_¡©s_\8fbË_»suÉ
+, 
+\8fbË_id
+, 
+UINT32
+);
+
+831 
+cmdl\9ae_·r£_\9a¡_t
+       gcmd_¡©s_\8f
+ = {
+
+832 .
+f
+ = 
+cmd_¡©s_\8fbË_·r£d
+,
+
+833 .
+       gd©a
+ = 
+NULL
+,
+
+834 .
+       gh\96p_¡r
+ = "Pipeline\81able stats",
+
+835 .
+       gtok\92s
+ = {
+
+836 (\1e*è&
+cmd_¡©s_\8fbË_p_¡r\9ag
+,
+
+837 (\1e*è&
+cmd_¡©s_\8fbË_p\9d\96\9ae_id
+,
+
+838 (\1e*è&
+cmd_¡©s_\8fbË_¡©s_¡r\9ag
+,
+
+839 (\1e*è&
+cmd_¡©s_\8fbË_\8fbË_¡r\9ag
+,
+
+840 (\1e*è&
+cmd_¡©s_\8fbË_\8fbË_id
+,
+
+841 
+NULL
+,
+
+849 \19
+       scmd_pÜt_\9a_\92abË_»suÉ
+ {
+
+850 
+cmdl\9ae_fixed_¡r\9ag_t
+       mp_¡r\9ag
+;
+
+851 
+u\9at32_t
+       mp\9d\96\9ae_id
+;
+
+852 
+cmdl\9ae_fixed_¡r\9ag_t
+       mpÜt_¡r\9ag
+;
+
+853 
+cmdl\9ae_fixed_¡r\9ag_t
+       m\9a_¡r\9ag
+;
+
+854 
+u\9at32_t
+       mpÜt_\9a_id
+;
+
+855 
+cmdl\9ae_fixed_¡r\9ag_t
+       m\92abË_¡r\9ag
+;
+
+859 
+       $cmd_pÜt_\9a_\92abË_·r£d
+(
+
+860 \1e*
+·r£d_»suÉ
+,
+
+861 
+__¹e_unu£d
\19
+cmdl\9ae
+ *
+,
+
+862 \1e*
+d©a
+)
+
+864 \19
+cmd_pÜt_\9a_\92abË_»suÉ
+ *
+·¿ms
+ = 
+·r£d_»suÉ
+;
+
+865 \19
+­p_·¿ms
+ *
+­p
+ = 
+d©a
+;
+
+866 \12
+¡©us
+;
+
+868 
+¡©us
+ = 
+       `­p_p\9d\96\9ae_pÜt_\9a_\92abË
+(
+­p
+,
+
+869 
+·¿ms
+->
+p\9d\96\9ae_id
+,
+
+870 
+·¿ms
+->
+pÜt_\9a_id
+);
+
+872 ià(
+¡©us
+ != 0)
+
+873 
+       `´\9atf
+("Command failed\n");
+
+874 
+       }
+}
+
+876 
+cmdl\9ae_·r£_tok\92_¡r\9ag_t
+       gcmd_pÜt_\9a_\92abË_p_¡r\9ag
+ =
+
+877 
+TOKEN_STRING_INITIALIZER
+(\19
+cmd_pÜt_\9a_\92abË_»suÉ
+, 
+p_¡r\9ag
+,
+
+880 
+cmdl\9ae_·r£_tok\92_num_t
+       gcmd_pÜt_\9a_\92abË_p\9d\96\9ae_id
+ =
+
+881 
+TOKEN_NUM_INITIALIZER
+(\19
+cmd_pÜt_\9a_\92abË_»suÉ
+, 
+p\9d\96\9ae_id
+,
+
+882 
+UINT32
+);
+
+884 
+cmdl\9ae_·r£_tok\92_¡r\9ag_t
+       gcmd_pÜt_\9a_\92abË_pÜt_¡r\9ag
+ =
+
+885 
+TOKEN_STRING_INITIALIZER
+(\19
+cmd_pÜt_\9a_\92abË_»suÉ
+, 
+pÜt_¡r\9ag
+,
+
+888 
+cmdl\9ae_·r£_tok\92_¡r\9ag_t
+       gcmd_pÜt_\9a_\92abË_\9a_¡r\9ag
+ =
+
+889 
+TOKEN_STRING_INITIALIZER
+(\19
+cmd_pÜt_\9a_\92abË_»suÉ
+, 
+\9a_¡r\9ag
+,
+
+892 
+cmdl\9ae_·r£_tok\92_num_t
+       gcmd_pÜt_\9a_\92abË_pÜt_\9a_id
+ =
+
+893 
+TOKEN_NUM_INITIALIZER
+(\19
+cmd_pÜt_\9a_\92abË_»suÉ
+, 
+pÜt_\9a_id
+,
+
+894 
+UINT32
+);
+
+896 
+cmdl\9ae_·r£_tok\92_¡r\9ag_t
+       gcmd_pÜt_\9a_\92abË_\92abË_¡r\9ag
+ =
+
+897 
+TOKEN_STRING_INITIALIZER
+(\19
+cmd_pÜt_\9a_\92abË_»suÉ
+,
+
+898 
+\92abË_¡r\9ag
+, "enable");
+
+900 
+cmdl\9ae_·r£_\9a¡_t
+       gcmd_pÜt_\9a_\92abË
+ = {
+
+901 .
+f
+ = 
+cmd_pÜt_\9a_\92abË_·r£d
+,
+
+902 .
+       gd©a
+ = 
+NULL
+,
+
+903 .
+       gh\96p_¡r
+ = "Pipeline input\85ort\83nable",
+
+904 .
+       gtok\92s
+ = {
+
+905 (\1e*è&
+cmd_pÜt_\9a_\92abË_p_¡r\9ag
+,
+
+906 (\1e*è&
+cmd_pÜt_\9a_\92abË_p\9d\96\9ae_id
+,
+
+907 (\1e*è&
+cmd_pÜt_\9a_\92abË_pÜt_¡r\9ag
+,
+
+908 (\1e*è&
+cmd_pÜt_\9a_\92abË_\9a_¡r\9ag
+,
+
+909 (\1e*è&
+cmd_pÜt_\9a_\92abË_pÜt_\9a_id
+,
+
+910 (\1e*è&
+cmd_pÜt_\9a_\92abË_\92abË_¡r\9ag
+,
+
+911 
+NULL
+,
+
+919 \19
+       scmd_pÜt_\9a_di§bË_»suÉ
+ {
+
+920 
+cmdl\9ae_fixed_¡r\9ag_t
+       mp_¡r\9ag
+;
+
+921 
+u\9at32_t
+       mp\9d\96\9ae_id
+;
+
+922 
+cmdl\9ae_fixed_¡r\9ag_t
+       mpÜt_¡r\9ag
+;
+
+923 
+cmdl\9ae_fixed_¡r\9ag_t
+       m\9a_¡r\9ag
+;
+
+924 
+u\9at32_t
+       mpÜt_\9a_id
+;
+
+925 
+cmdl\9ae_fixed_¡r\9ag_t
+       mdi§bË_¡r\9ag
+;
+
+929 
+       $cmd_pÜt_\9a_di§bË_·r£d
+(
+
+930 \1e*
+·r£d_»suÉ
+,
+
+931 
+__¹e_unu£d
\19
+cmdl\9ae
+ *
+,
+
+932 \1e*
+d©a
+)
+
+934 \19
+cmd_pÜt_\9a_di§bË_»suÉ
+ *
+·¿ms
+ = 
+·r£d_»suÉ
+;
+
+935 \19
+­p_·¿ms
+ *
+­p
+ = 
+d©a
+;
+
+936 \12
+¡©us
+;
+
+938 
+¡©us
+ = 
+       `­p_p\9d\96\9ae_pÜt_\9a_di§bË
+(
+­p
+,
+
+939 
+·¿ms
+->
+p\9d\96\9ae_id
+,
+
+940 
+·¿ms
+->
+pÜt_\9a_id
+);
+
+942 ià(
+¡©us
+ != 0)
+
+943 
+       `´\9atf
+("Command failed\n");
+
+944 
+       }
+}
+
+946 
+cmdl\9ae_·r£_tok\92_¡r\9ag_t
+       gcmd_pÜt_\9a_di§bË_p_¡r\9ag
+ =
+
+947 
+TOKEN_STRING_INITIALIZER
+(\19
+cmd_pÜt_\9a_di§bË_»suÉ
+, 
+p_¡r\9ag
+,
+
+950 
+cmdl\9ae_·r£_tok\92_num_t
+       gcmd_pÜt_\9a_di§bË_p\9d\96\9ae_id
+ =
+
+951 
+TOKEN_NUM_INITIALIZER
+(\19
+cmd_pÜt_\9a_di§bË_»suÉ
+, 
+p\9d\96\9ae_id
+,
+
+952 
+UINT32
+);
+
+954 
+cmdl\9ae_·r£_tok\92_¡r\9ag_t
+       gcmd_pÜt_\9a_di§bË_pÜt_¡r\9ag
+ =
+
+955 
+TOKEN_STRING_INITIALIZER
+(\19
+cmd_pÜt_\9a_di§bË_»suÉ
+, 
+pÜt_¡r\9ag
+,
+
+958 
+cmdl\9ae_·r£_tok\92_¡r\9ag_t
+       gcmd_pÜt_\9a_di§bË_\9a_¡r\9ag
+ =
+
+959 
+TOKEN_STRING_INITIALIZER
+(\19
+cmd_pÜt_\9a_di§bË_»suÉ
+, 
+\9a_¡r\9ag
+,
+
+962 
+cmdl\9ae_·r£_tok\92_num_t
+       gcmd_pÜt_\9a_di§bË_pÜt_\9a_id
+ =
+
+963 
+TOKEN_NUM_INITIALIZER
+(\19
+cmd_pÜt_\9a_di§bË_»suÉ
+, 
+pÜt_\9a_id
+,
+
+964 
+UINT32
+);
+
+966 
+cmdl\9ae_·r£_tok\92_¡r\9ag_t
+       gcmd_pÜt_\9a_di§bË_di§bË_¡r\9ag
+ =
+
+967 
+TOKEN_STRING_INITIALIZER
+(\19
+cmd_pÜt_\9a_di§bË_»suÉ
+,
+
+968 
+di§bË_¡r\9ag
+, "disable");
+
+970 
+cmdl\9ae_·r£_\9a¡_t
+       gcmd_pÜt_\9a_di§bË
+ = {
+
+971 .
+f
+ = 
+cmd_pÜt_\9a_di§bË_·r£d
+,
+
+972 .
+       gd©a
+ = 
+NULL
+,
+
+973 .
+       gh\96p_¡r
+ = "Pipeline input\85ort disable",
+
+974 .
+       gtok\92s
+ = {
+
+975 (\1e*è&
+cmd_pÜt_\9a_di§bË_p_¡r\9ag
+,
+
+976 (\1e*è&
+cmd_pÜt_\9a_di§bË_p\9d\96\9ae_id
+,
+
+977 (\1e*è&
+cmd_pÜt_\9a_di§bË_pÜt_¡r\9ag
+,
+
+978 (\1e*è&
+cmd_pÜt_\9a_di§bË_\9a_¡r\9ag
+,
+
+979 (\1e*è&
+cmd_pÜt_\9a_di§bË_pÜt_\9a_id
+,
+
+980 (\1e*è&
+cmd_pÜt_\9a_di§bË_di§bË_¡r\9ag
+,
+
+981 
+NULL
+,
+
+990 
+       $´\9at_l\9ak_\9afo
+(\19
+­p_l\9ak_·¿ms
+ *
+p
+)
+
+992 \19
+¹e_\91h_¡©s
+¡©s
+;
+
+993 \19
+\91h\94_addr
+ *
+mac_addr
+;
+
+994 
+u\9at32_t
+Ãtmask
+ = (~0Uè<< (32 - 
+p
+->
+d\95th
+);
+
+995 
+u\9at32_t
+ho¡
+ = 
+p
+->
+\9d
+ & 
+Ãtmask
+;
+
+996 
+u\9at32_t
+bÿ¡
+ = 
+ho¡
+ | (~
+Ãtmask
+);
+
+998 
+       `mem£t
+(&
+¡©s
+, 0, \17(stats));
+
+999 
+       `¹e_\91h_¡©s_g\91
+(
+p
+->
+pmd_id
+, &
+¡©s
+);
+
+1001 
+mac_addr
+ = (\19
+\91h\94_addr
+ *è&
+p
+->mac_addr;
+
+1003 ià(
+       `¡¾\92
+(
+p
+->
+pci_bdf
+))
+
+1004 
+       `´\9atf
+("%s(%s): flags=<%s>\n",
+
+1005 
+p
+->
+Çme
+,
+
+1006 
+p
+->
+pci_bdf
+,
+
+1007 (
+p
+->
+¡©e
+) ? "UP" : "DOWN");
+
+1009 
+       `´\9atf
+("%s: flags=<%s>\n",
+
+1010 
+p
+->
+Çme
+,
+
+1011 (
+p
+->
+¡©e
+) ? "UP" : "DOWN");
+
+1013 ià(
+p
+->
+\9d
+)
+
+1014 
+       `´\9atf
+("\t\9a\91 %" 
+PRIu32
+ ".%" PRIu32
+
+1015 ".%" 
+PRIu32
+ ".%" PRIu32
+
+1016 "\82\91mask %" 
+PRIu32
+ ".%" PRIu32
+
+1017 ".%" 
+PRIu32
+ ".%" PRIu32 " "
+
+1018 "brßdÿ¡ %" 
+PRIu32
+ ".%" PRIu32
+
+1019 ".%" 
+PRIu32
+ ".%" PRIu32 "\n",
+
+1020 (
+p
+->
+\9d
+ >> 24) & 0xFF,
+
+1021 (
+p
+->
+\9d
+ >> 16) & 0xFF,
+
+1022 (
+p
+->
+\9d
+ >> 8) & 0xFF,
+
+1023 
+p
+->
+\9d
+ & 0xFF,
+
+1024 (
+Ãtmask
+ >> 24) & 0xFF,
+
+1025 (
+Ãtmask
+ >> 16) & 0xFF,
+
+1026 (
+Ãtmask
+ >> 8) & 0xFF,
+
+1027 
+Ãtmask
+ & 0xFF,
+
+1028 (
+bÿ¡
+ >> 24) & 0xFF,
+
+1029 (
+bÿ¡
+ >> 16) & 0xFF,
+
+1030 (
+bÿ¡
+ >> 8) & 0xFF,
+
+1031 
+bÿ¡
+ & 0xFF);
+
+1033 
+       `´\9atf
+("\\8bth\94 %02" 
+PRIx32
+ ":%02" PRIx32 ":%02" PRIx32
+
+1034 ":%02" 
+PRIx32
+ ":%02" PRIx32 ":%02" PRIx32 "\n",
+
+1035 
+mac_addr
+->
+addr_by\8bs
+[0],
+
+1036 
+mac_addr
+->
+addr_by\8bs
+[1],
+
+1037 
+mac_addr
+->
+addr_by\8bs
+[2],
+
+1038 
+mac_addr
+->
+addr_by\8bs
+[3],
+
+1039 
+mac_addr
+->
+addr_by\8bs
+[4],
+
+1040 
+mac_addr
+->
+addr_by\8bs
+[5]);
+
+1042 
+       `´\9atf
+("\tRX\85ack\91 %" 
+PRIu64
+
+
+1043 " by\8b %" 
+PRIu64
+
+
+1045 
+¡©s
+.
+\9dack\91s
+,
+
+1046 
+¡©s
+.
+iby\8bs
+);
+
+1048 
+       `´\9atf
+("\tRX\83¼Ü %" 
+PRIu64
+
+
+1049 " mis£d %" 
+PRIu64
+
+
+1050 "\82o-mbuà%" 
+PRIu64
+
+
+1052 
+¡©s
+.
+\9b¼Üs
+,
+
+1053 
+¡©s
+.
+imis£d
+,
+
+1054 
+¡©s
+.
+rx_nombuf
+);
+
+1056 
+       `´\9atf
+("\tTX\85ack\91 %" 
+PRIu64
+
+
+1057 " by\8b %" 
+PRIu64
+ "\n",
+
+1058 
+¡©s
+.
+Ýack\91s
+,
+
+1059 
+¡©s
+.
+oby\8bs
+);
+
+1061 
+       `´\9atf
+("\tTX\83¼Ü %" 
+PRIu64
+
+
+1063 
+¡©s
+.
+Û¼Üs
+);
+
+1065 
+       `´\9atf
+("\n");
+
+1066 
+       }
+}
+
+1068 \19
+       scmd_l\9ak_cÚfig_»suÉ
+ {
+
+1069 
+cmdl\9ae_fixed_¡r\9ag_t
+       ml\9ak_¡r\9ag
+;
+
+1070 
+u\9at32_t
+       ml\9ak_id
+;
+
+1071 
+cmdl\9ae_fixed_¡r\9ag_t
+       mcÚfig_¡r\9ag
+;
+
+1072 
+cmdl\9ae_\9daddr_t
+       m\9d
+;
+
+1073 
+u\9at32_t
+       md\95th
+;
+
+1077 
+cmd_l\9ak_cÚfig_·r£d
+(
+
+1078 \1e*
+·r£d_»suÉ
+,
+
+1079 
+__©\8cibu\8b__
+((
+unu£d
+)è\19
+cmdl\9ae
+ *
+,
+
+1080 \1e*
+d©a
+)
+
+1082 \19
+cmd_l\9ak_cÚfig_»suÉ
+ *
+       g·¿ms
+ = 
+·r£d_»suÉ
+;
+
+1083 \19
+­p_·¿ms
+ *
+       g­p
+ = 
+d©a
+;
+
+1084 \12
+       g¡©us
+;
+
+1086 
+u\9at32_t
+       gl\9ak_id
+ = 
+·¿ms
+->
+l\9ak_id
+;
+
+1087 
+u\9at32_t
+       g\9d
+;
+
+1088 
+u\9at8_t
+       g\9dv6
+[16];
+
+1089 ià(
+       g·¿ms
+->
+       g\9d
+.
+       gçm\9ey
+ =ð
+AF_INET
+)
+
+1090 
+\9d
+ = 
+¹e_bsw­32
+((
+u\9at32_t
+·¿ms
+->\9d.
+addr
+.
+\9dv4
+.
+s_addr
+);
+
+1092 
+memýy
+(
+\9dv6
+, 
+·¿ms
+->
+\9d
+.
+addr
+.\9dv6.
+s6_addr
+, 16);
+
+1094 
+u\9at32_t
+       gd\95th
+ = 
+·¿ms
+->
+d\95th
+;
+
+1096 ià(
+       g·¿ms
+->
+       g\9d
+.
+       gçm\9ey
+ =ð
+AF_INET
+)
+
+1097 
+¡©us
+ = 
+­p_l\9ak_cÚfig
+(
+­p
+, 
+l\9ak_id
+, 
+\9d
+, 
+d\95th
+);
+
+1099 
+       g¡©us
+ = 
+­p_l\9ak_cÚfig_\9dv6
+(
+­p
+, 
+l\9ak_id
+, 
+\9dv6
+, 
+d\95th
+);
+
+1101 ià(
+       g¡©us
+)
+
+1102 
\9atf
+("Command failed\n");
+
+1104 \19
+­p_l\9ak_·¿ms
+ *
+       gp
+;
+
+1106 
+APP_PARAM_FIND_BY_ID
+(
+­p
+->
+l\9ak_·¿ms
+, "LINK", 
+l\9ak_id
+, 
+p
+);
+
+1107 ià(
+       gp
+)
+
+1108 
\9at_l\9ak_\9afo
+(
+p
+);
+
+1112 
+cmdl\9ae_·r£_tok\92_¡r\9ag_t
+       gcmd_l\9ak_cÚfig_l\9ak_¡r\9ag
+ =
+
+1113 
+TOKEN_STRING_INITIALIZER
+(\19
+cmd_l\9ak_cÚfig_»suÉ
+, 
+l\9ak_¡r\9ag
+,
+
+1116 
+cmdl\9ae_·r£_tok\92_num_t
+       gcmd_l\9ak_cÚfig_l\9ak_id
+ =
+
+1117 
+TOKEN_NUM_INITIALIZER
+(\19
+cmd_l\9ak_cÚfig_»suÉ
+, 
+l\9ak_id
+, 
+UINT32
+);
+
+1119 
+cmdl\9ae_·r£_tok\92_¡r\9ag_t
+       gcmd_l\9ak_cÚfig_cÚfig_¡r\9ag
+ =
+
+1120 
+TOKEN_STRING_INITIALIZER
+(\19
+cmd_l\9ak_cÚfig_»suÉ
+, 
+cÚfig_¡r\9ag
+,
+
+1123 
+cmdl\9ae_·r£_tok\92_\9daddr_t
+       gcmd_l\9ak_cÚfig_\9d
+ =
+
+1124 
+TOKEN_IPADDR_INITIALIZER
+(\19
+cmd_l\9ak_cÚfig_»suÉ
+, 
+\9d
+);
+
+1126 
+cmdl\9ae_·r£_tok\92_num_t
+       gcmd_l\9ak_cÚfig_d\95th
+ =
+
+1127 
+TOKEN_NUM_INITIALIZER
+(\19
+cmd_l\9ak_cÚfig_»suÉ
+, 
+d\95th
+, 
+UINT32
+);
+
+1129 
+cmdl\9ae_·r£_\9a¡_t
+       gcmd_l\9ak_cÚfig
+ = {
+
+1130 .
+f
+ = 
+cmd_l\9ak_cÚfig_·r£d
+,
+
+1131 .
+       gd©a
+ = 
+NULL
+,
+
+1132 .
+       gh\96p_¡r
+ = "Link configuration",
+
+1133 .
+       gtok\92s
+ = {
+
+1134 (\1e*)&
+cmd_l\9ak_cÚfig_l\9ak_¡r\9ag
+,
+
+1135 (\1e*)&
+cmd_l\9ak_cÚfig_l\9ak_id
+,
+
+1136 (\1e*)&
+cmd_l\9ak_cÚfig_cÚfig_¡r\9ag
+,
+
+1137 (\1e*)&
+cmd_l\9ak_cÚfig_\9d
+,
+
+1138 (\1e*)&
+cmd_l\9ak_cÚfig_d\95th
+,
+
+1139 
+NULL
+,
+
+1147 \19
+       scmd_l\9ak_up_»suÉ
+ {
+
+1148 
+cmdl\9ae_fixed_¡r\9ag_t
+       ml\9ak_¡r\9ag
+;
+
+1149 
+u\9at32_t
+       ml\9ak_id
+;
+
+1150 
+cmdl\9ae_fixed_¡r\9ag_t
+       mup_¡r\9ag
+;
+
+1154 
+cmd_l\9ak_up_·r£d
+(
+
+1155 \1e*
+·r£d_»suÉ
+,
+
+1156 
+__©\8cibu\8b__
+((
+unu£d
+)è\19
+cmdl\9ae
+ *
+,
+
+1157 \1e*
+d©a
+)
+
+1159 \19
+cmd_l\9ak_up_»suÉ
+ *
+       g·¿ms
+ = 
+·r£d_»suÉ
+;
+
+1160 \19
+­p_·¿ms
+ *
+       g­p
+ = 
+d©a
+;
+
+1161 \12
+       g¡©us
+;
+
+1163 
+       g¡©us
+ = 
+­p_l\9ak_up
+(
+­p
+, 
+·¿ms
+->
+l\9ak_id
+);
+
+1164 ià(
+       g¡©us
+ != 0)
+
+1165 
\9atf
+("Command failed\n");
+
+1167 \19
+­p_l\9ak_·¿ms
+ *
+       gp
+;
+
+1169 
+APP_PARAM_FIND_BY_ID
+(
+­p
+->
+l\9ak_·¿ms
+, "LINK", 
+·¿ms
+->
+l\9ak_id
+,
+
+1170 
+p
+);
+
+1171 ià(
+       gp
+)
+
+1172 
\9at_l\9ak_\9afo
+(
+p
+);
+
+1176 
+cmdl\9ae_·r£_tok\92_¡r\9ag_t
+       gcmd_l\9ak_up_l\9ak_¡r\9ag
+ =
+
+1177 
+TOKEN_STRING_INITIALIZER
+(\19
+cmd_l\9ak_up_»suÉ
+, 
+l\9ak_¡r\9ag
+,
+
+1180 
+cmdl\9ae_·r£_tok\92_num_t
+       gcmd_l\9ak_up_l\9ak_id
+ =
+
+1181 
+TOKEN_NUM_INITIALIZER
+(\19
+cmd_l\9ak_up_»suÉ
+, 
+l\9ak_id
+, 
+UINT32
+);
+
+1183 
+cmdl\9ae_·r£_tok\92_¡r\9ag_t
+       gcmd_l\9ak_up_up_¡r\9ag
+ =
+
+1184 
+TOKEN_STRING_INITIALIZER
+(\19
+cmd_l\9ak_up_»suÉ
+, 
+up_¡r\9ag
+, "up");
+
+1186 
+cmdl\9ae_·r£_\9a¡_t
+       gcmd_l\9ak_up
+ = {
+
+1187 .
+f
+ = 
+cmd_l\9ak_up_·r£d
+,
+
+1188 .
+       gd©a
+ = 
+NULL
+,
+
+1189 .
+       gh\96p_¡r
+ = "Link UP",
+
+1190 .
+       gtok\92s
+ = {
+
+1191 (\1e*)&
+cmd_l\9ak_up_l\9ak_¡r\9ag
+,
+
+1192 (\1e*)&
+cmd_l\9ak_up_l\9ak_id
+,
+
+1193 (\1e*)&
+cmd_l\9ak_up_up_¡r\9ag
+,
+
+1194 
+NULL
+,
+
+1202 \19
+       scmd_l\9ak_down_»suÉ
+ {
+
+1203 
+cmdl\9ae_fixed_¡r\9ag_t
+       ml\9ak_¡r\9ag
+;
+
+1204 
+u\9at32_t
+       ml\9ak_id
+;
+
+1205 
+cmdl\9ae_fixed_¡r\9ag_t
+       mdown_¡r\9ag
+;
+
+1209 
+cmd_l\9ak_down_·r£d
+(
+
+1210 \1e*
+·r£d_»suÉ
+,
+
+1211 
+__©\8cibu\8b__
+((
+unu£d
+)è\19
+cmdl\9ae
+ *
+,
+
+1212 \1e*
+d©a
+)
+
+1214 \19
+cmd_l\9ak_down_»suÉ
+ *
+       g·¿ms
+ = 
+·r£d_»suÉ
+;
+
+1215 \19
+­p_·¿ms
+ *
+       g­p
+ = 
+d©a
+;
+
+1216 \12
+       g¡©us
+;
+
+1218 
+       g¡©us
+ = 
+­p_l\9ak_down
+(
+­p
+, 
+·¿ms
+->
+l\9ak_id
+);
+
+1219 ià(
+       g¡©us
+ != 0)
+
+1220 
\9atf
+("Command failed\n");
+
+1222 \19
+­p_l\9ak_·¿ms
+ *
+       gp
+;
+
+1224 
+APP_PARAM_FIND_BY_ID
+(
+­p
+->
+l\9ak_·¿ms
+, "LINK", 
+·¿ms
+->
+l\9ak_id
+,
+
+1225 
+p
+);
+
+1226 ià(
+       gp
+)
+
+1227 
\9at_l\9ak_\9afo
+(
+p
+);
+
+1231 
+cmdl\9ae_·r£_tok\92_¡r\9ag_t
+       gcmd_l\9ak_down_l\9ak_¡r\9ag
+ =
+
+1232 
+TOKEN_STRING_INITIALIZER
+(\19
+cmd_l\9ak_down_»suÉ
+, 
+l\9ak_¡r\9ag
+,
+
+1235 
+cmdl\9ae_·r£_tok\92_num_t
+       gcmd_l\9ak_down_l\9ak_id
+ =
+
+1236 
+TOKEN_NUM_INITIALIZER
+(\19
+cmd_l\9ak_down_»suÉ
+, 
+l\9ak_id
+, 
+UINT32
+);
+
+1238 
+cmdl\9ae_·r£_tok\92_¡r\9ag_t
+       gcmd_l\9ak_down_down_¡r\9ag
+ =
+
+1239 
+TOKEN_STRING_INITIALIZER
+(\19
+cmd_l\9ak_down_»suÉ
+, 
+down_¡r\9ag
+,
+
+1242 
+cmdl\9ae_·r£_\9a¡_t
+       gcmd_l\9ak_down
+ = {
+
+1243 .
+f
+ = 
+cmd_l\9ak_down_·r£d
+,
+
+1244 .
+       gd©a
+ = 
+NULL
+,
+
+1245 .
+       gh\96p_¡r
+ = "Link DOWN",
+
+1246 .
+       gtok\92s
+ = {
+
+1247 (\1e*è&
+cmd_l\9ak_down_l\9ak_¡r\9ag
+,
+
+1248 (\1e*è&
+cmd_l\9ak_down_l\9ak_id
+,
+
+1249 (\1e*è&
+cmd_l\9ak_down_down_¡r\9ag
+,
+
+1250 
+NULL
+,
+
+1258 \19
+       scmd_l\9ak_ls_»suÉ
+ {
+
+1259 
+cmdl\9ae_fixed_¡r\9ag_t
+       ml\9ak_¡r\9ag
+;
+
+1260 
+cmdl\9ae_fixed_¡r\9ag_t
+       mls_¡r\9ag
+;
+
+1264 
+cmd_l\9ak_ls_·r£d
+(
+
+1265 
+__©\8cibu\8b__
+((
+unu£d
+)è\1e*
+·r£d_»suÉ
+,
+
+1266 
+__©\8cibu\8b__
+((
+unu£d
+)è\19
+cmdl\9ae
+ *
+,
+
+1267 \1e*
+d©a
+)
+
+1269 \19
+­p_·¿ms
+ *
+       g­p
+ = 
+d©a
+;
+
+1270 
+u\9at32_t
+       gl\9ak_id
+;
+
+1272 \ f
+       gl\9ak_id
+ = 0;\86\9ak_id < 
+       g­p
+->
+       gn_l\9aks
+;\86ink_id++) {
+
+1273 \19
+­p_l\9ak_·¿ms
+ *
+       gp
+;
+
+1275 
+APP_PARAM_FIND_BY_ID
+(
+­p
+->
+l\9ak_·¿ms
+, "LINK", 
+l\9ak_id
+, 
+p
+);
+
+1276 ià(
+       gp
+)
+
+1277 
\9at_l\9ak_\9afo
+(
+p
+);
+
+1279 #iâdeà
+VNF_ACL
+
+
+1280 
\9at_\9a\8brçû_d\91a\9es
+();
+
+1284 
+cmdl\9ae_·r£_tok\92_¡r\9ag_t
+       gcmd_l\9ak_ls_l\9ak_¡r\9ag
+ =
+
+1285 
+TOKEN_STRING_INITIALIZER
+(\19
+cmd_l\9ak_ls_»suÉ
+, 
+l\9ak_¡r\9ag
+,
+
+1288 
+cmdl\9ae_·r£_tok\92_¡r\9ag_t
+       gcmd_l\9ak_ls_ls_¡r\9ag
+ =
+
+1289 
+TOKEN_STRING_INITIALIZER
+(\19
+cmd_l\9ak_ls_»suÉ
+, 
+ls_¡r\9ag
+, "ls");
+
+1291 
+cmdl\9ae_·r£_\9a¡_t
+       gcmd_l\9ak_ls
+ = {
+
+1292 .
+f
+ = 
+cmd_l\9ak_ls_·r£d
+,
+
+1293 .
+       gd©a
+ = 
+NULL
+,
+
+1294 .
+       gh\96p_¡r
+ = "Link\86ist",
+
+1295 .
+       gtok\92s
+ = {
+
+1296 (\1e*)&
+cmd_l\9ak_ls_l\9ak_¡r\9ag
+,
+
+1297 (\1e*)&
+cmd_l\9ak_ls_ls_¡r\9ag
+,
+
+1298 
+NULL
+,
+
+1306 \19
+       scmd_qu\99_»suÉ
+ {
+
+1307 
+cmdl\9ae_fixed_¡r\9ag_t
+       mqu\99
+;
+
+1311 
+       $cmd_qu\99_·r£d
+(
+
+1312 
+__¹e_unu£d
\1e*
+·r£d_»suÉ
+,
+
+1313 \19
+cmdl\9ae
+ *
+,
+
+1314 
+__¹e_unu£d
\1e*
+d©a
+)
+
+1316 
+       `cmdl\9ae_qu\99
+(
+);
+
+1317 
+       }
+}
+
+1319 \18
+cmdl\9ae_·r£_tok\92_¡r\9ag_t
+       gcmd_qu\99_qu\99
+ =
+
+1320 
+TOKEN_STRING_INITIALIZER
+(\19
+cmd_qu\99_»suÉ
+, 
+qu\99
+, "quit");
+
+1322 \18
+cmdl\9ae_·r£_\9a¡_t
+       gcmd_qu\99
+ = {
+
+1323 .
+f
+ = 
+cmd_qu\99_·r£d
+,
+
+1324 .
+       gd©a
+ = 
+NULL
+,
+
+1325 .
+       gh\96p_¡r
+ = "Quit",
+
+1326 .
+       gtok\92s
+ = {
+
+1327 (\1e*è&
+cmd_qu\99_qu\99
+,
+
+1328 
+NULL
+,
+
+1337 
+       $­p_run_f\9ee
+(
+
+1338 
+cmdl\9ae_·r£_ùx_t
+ *
+ùx
+,
+
+1339 cڡ \ 5*
+f\9ee_Çme
+)
+
+1341 \19
+cmdl\9ae
+ *
+f\9ee_þ
+;
+
+1342 \12
+fd
+;
+
+1344 
+fd
+ = 
+       `ݒ
+(
+f\9ee_Çme
+, 
+O_RDONLY
+);
+
+1345 ià(
+fd
+ < 0) {
+
+1346 
+       `´\9atf
+("CªnÙ o³Àf\9e\90\"%s\"\n", 
+f\9ee_Çme
+);
+
+1350 
+f\9ee_þ
+ = 
+       `cmdl\9ae_Ãw
+(
+ùx
+, "", 
+fd
+, 1);
+
+1351 
+       `cmdl\9ae_\9a\8b¿ù
+(
+f\9ee_þ
+);
+
+1352 
+       `þo£
+(
+fd
+);
+
+1353 
+       }
+}
+
+1355 \19
+       scmd_run_f\9ee_»suÉ
+ {
+
+1356 
+cmdl\9ae_fixed_¡r\9ag_t
+       mrun_¡r\9ag
+;
+
+1357 \ 5
+       mf\9ee_Çme
+[
+APP_FILE_NAME_SIZE
+];
+
+1361 
+cmd_run_·r£d
+(
+
+1362 \1e*
+·r£d_»suÉ
+,
+
+1363 \19
+cmdl\9ae
+ *
+,
+
+1364 
+__©\8cibu\8b__
+((
+unu£d
+)è\1e*
+d©a
+)
+
+1366 \19
+cmd_run_f\9ee_»suÉ
+ *
+       g·¿ms
+ = 
+·r£d_»suÉ
+;
+
+1368 
+­p_run_f\9ee
+(
+->
+ùx
+, 
+·¿ms
+->
+f\9ee_Çme
+);
+
+1371 
+cmdl\9ae_·r£_tok\92_¡r\9ag_t
+       gcmd_run_run_¡r\9ag
+ =
+
+1372 
+TOKEN_STRING_INITIALIZER
+(\19
+cmd_run_f\9ee_»suÉ
+, 
+run_¡r\9ag
+,
+
+1375 
+cmdl\9ae_·r£_tok\92_¡r\9ag_t
+       gcmd_run_f\9ee_Çme
+ =
+
+1376 
+TOKEN_STRING_INITIALIZER
+(\19
+cmd_run_f\9ee_»suÉ
+, 
+f\9ee_Çme
+, 
+NULL
+);
+
+1378 
+cmdl\9ae_·r£_\9a¡_t
+       gcmd_run
+ = {
+
+1379 .
+f
+ = 
+cmd_run_·r£d
+,
+
+1380 .
+       gd©a
+ = 
+NULL
+,
+
+1381 .
+       gh\96p_¡r
+ = "Run CLI script file",
+
+1382 .
+       gtok\92s
+ = {
+
+1383 (\1e*è&
+cmd_run_run_¡r\9ag
+,
+
+1384 (\1e*è&
+cmd_run_f\9ee_Çme
+,
+
+1385 
+NULL
+,
+
+1389 \18
+cmdl\9ae_·r£_ùx_t
+       gp\9d\96\9ae_commÚ_cmds
+[] = {
+
+1390 (
+cmdl\9ae_·r£_\9a¡_t
+ *è&
+cmd_qu\99
+,
+
+1391 (
+cmdl\9ae_·r£_\9a¡_t
+ *è&
+cmd_run
+,
+
+1393 (
+cmdl\9ae_·r£_\9a¡_t
+ *è&
+cmd_l\9ak_cÚfig
+,
+
+1394 (
+cmdl\9ae_·r£_\9a¡_t
+ *è&
+cmd_l\9ak_up
+,
+
+1395 (
+cmdl\9ae_·r£_\9a¡_t
+ *è&
+cmd_l\9ak_down
+,
+
+1396 (
+cmdl\9ae_·r£_\9a¡_t
+ *è&
+cmd_l\9ak_ls
+,
+
+1398 (
+cmdl\9ae_·r£_\9a¡_t
+ *è&
+cmd_p\9ag
+,
+
+1399 (
+cmdl\9ae_·r£_\9a¡_t
+ *è&
+cmd_¡©s_pÜt_\9a
+,
+
+1400 (
+cmdl\9ae_·r£_\9a¡_t
+ *è&
+cmd_¡©s_pÜt_out
+,
+
+1401 (
+cmdl\9ae_·r£_\9a¡_t
+ *è&
+cmd_¡©s_\8f
+,
+
+1402 (
+cmdl\9ae_·r£_\9a¡_t
+ *è&
+cmd_pÜt_\9a_\92abË
+,
+
+1403 (
+cmdl\9ae_·r£_\9a¡_t
+ *è&
+cmd_pÜt_\9a_di§bË
+,
+
+1404 
+NULL
+,
+
+1408 
+       $­p_p\9d\96\9ae_commÚ_cmd_push
+(\19
+­p_·¿ms
+ *
+­p
+)
+
+1410 
+u\9at32_t
+n_cmds
+, 
+i
+;
+
+1413 
+n_cmds
+ = 
+       `RTE_DIM
+(
+p\9d\96\9ae_commÚ_cmds
+) - 1;
+
+1414 ià(
+n_cmds
+ > 
+APP_MAX_CMDS
+ - 
+­p
+->n_cmds)
+
+1415 \15 -
+ENOMEM
+;
+
+1418 
+       `memýy
+(&
+­p
+->
+cmds
+[­p->
+n_cmds
+],
+
+1419 
+p\9d\96\9ae_commÚ_cmds
+,
+
+1420 
+n_cmds
+ * \17(
+cmdl\9ae_·r£_ùx_t
+));
+
+1422 \ f
+i
+ = 0; i < 
+n_cmds
+; i++)
+
+1423 
+­p
+->
+cmds
+[­p->
+n_cmds
+ + 
+i
+]->
+d©a
+ =\87pp;
+
+1425 
+­p
+->
+n_cmds
+ +=\82_cmds;
+
+1426 
+­p
+->
+cmds
+[­p->
+n_cmds
+] = 
+NULL
+;
+
+1429 
+       }
+}
+
+       @VIL/pipeline_common/pipeline_common_fe.h
+
+17 #iâdeà
+__INCLUDE_PIPELINE_COMMON_FE_H__
+
+
+18 \ 1
+       #__INCLUDE_PIPELINE_COMMON_FE_H__
+
+
+       )
+
+20 \ 2
+       ~<¹e_commÚ.h
+>
+
+21 \ 2
+       ~<¹e_cyþes.h
+>
+
+22 \ 2
+       ~<¹e_m®loc.h
+>
+
+23 \ 2
+       ~<cmdl\9ae_·r£.h
+>
+
+25 \ 2
+       ~"p\9d\96\9ae_commÚ_be.h
+"
+
+26 \ 2
+       ~"p\9d\96\9ae.h
+"
+
+27 \ 2
+       ~"­p.h
+"
+
+29 #iâdeà
+MSG_TIMEOUT_DEFAULT
+
+
+30 \ 1
+       #MSG_TIMEOUT_DEFAULT
+ 1000
+
+       )
+
+32 \19
+­p_l\9ak_·¿ms
+       gmyl\9ak
+[
+APP_MAX_LINKS
+];
+
+33 \18
+\9al\9ae
\19
+­p_p\9d\96\9ae_d©a
+ *
+
+34 
+       $­p_p\9d\96\9ae_d©a
+(\19
+­p_·¿ms
+ *
+­p
+, 
+u\9at32_t
+id
+)
+
+36 \19
+­p_p\9d\96\9ae_·¿ms
+ *
+·¿ms
+;
+
+38 
+       `APP_PARAM_FIND_BY_ID
+(
+­p
+->
+p\9d\96\9ae_·¿ms
+, "PIPELINE", 
+id
+, 
+·¿ms
+);
+
+39 ià(
+·¿ms
+ =ð
+NULL
+)
+
+40 \15 
+NULL
+;
+
+42 \15 &
+­p
+->
+p\9d\96\9ae_d©a
+[
+·¿ms
+ -\87µ->
+p\9d\96\9ae_·¿ms
+];
+
+43 
+       }
+}
+
+45 \18
+\9al\9ae
\1e*
+
+46 
+       $­p_p\9d\96\9ae_d©a_ã
+(\19
+­p_·¿ms
+ *
+­p
+, 
+u\9at32_t
+id
+, \19
+p\9d\96\9ae_ty³
+ *
+±y³
+)
+
+48 \19
+­p_p\9d\96\9ae_d©a
+ *
+p\9d\96\9ae_d©a
+;
+
+50 
+p\9d\96\9ae_d©a
+ = 
+       `­p_p\9d\96\9ae_d©a
+(
+­p
+, 
+id
+);
+
+51 ià(
+p\9d\96\9ae_d©a
+ =ð
+NULL
+)
+
+52 \15 
+NULL
+;
+
+54 ià(
+       `¡rcmp
+(
+p\9d\96\9ae_d©a
+->
+±y³
+->
+Çme
+,\85type->name) != 0)
+
+55 \15 
+NULL
+;
+
+57 ià(
+p\9d\96\9ae_d©a
+->
+\92abËd
+ == 0)
+
+58 \15 
+NULL
+;
+
+60 \15 
+p\9d\96\9ae_d©a
+->
+;
+
+61 
+       }
+}
+
+63 \18
+\9al\9ae
\19
+¹e_r\9ag
+ *
+
+64 
+       $­p_p\9d\96\9ae_msgq_\9a_g\91
+(\19
+­p_·¿ms
+ *
+­p
+,
+
+65 
+u\9at32_t
+p\9d\96\9ae_id
+)
+
+67 \19
+­p_msgq_·¿ms
+ *
+p
+;
+
+69 
+       `APP_PARAM_FIND_BY_ID
+(
+­p
+->
+msgq_·¿ms
+,
+
+71 
+p\9d\96\9ae_id
+,
+
+72 
+p
+);
+
+73 ià(
+p
+ =ð
+NULL
+)
+
+74 \15 
+NULL
+;
+
+76 \15 
+­p
+->
+msgq
+[
+p
+ -\87µ->
+msgq_·¿ms
+];
+
+77 
+       }
+}
+
+79 \18
+\9al\9ae
\19
+¹e_r\9ag
+ *
+
+80 
+       $­p_p\9d\96\9ae_msgq_out_g\91
+(\19
+­p_·¿ms
+ *
+­p
+,
+
+81 
+u\9at32_t
+p\9d\96\9ae_id
+)
+
+83 \19
+­p_msgq_·¿ms
+ *
+p
+;
+
+85 
+       `APP_PARAM_FIND_BY_ID
+(
+­p
+->
+msgq_·¿ms
+,
+
+87 
+p\9d\96\9ae_id
+,
+
+88 
+p
+);
+
+89 ià(
+p
+ =ð
+NULL
+)
+
+90 \15 
+NULL
+;
+
+92 \15 
+­p
+->
+msgq
+[
+p
+ -\87µ->
+msgq_·¿ms
+];
+
+93 
+       }
+}
+
+95 \18
+\9al\9ae
\1e*
+
+96 
+       $­p_msg_®loc
+(
+__¹e_unu£d
\19
+­p_·¿ms
+ *
+­p
+)
+
+98 \15 
+       `¹e_m®loc
+(
+NULL
+, 2048, 
+RTE_CACHE_LINE_SIZE
+);
+
+99 
+       }
+}
+
+101 \18
+\9al\9ae
\1e
+
+102 
+       $­p_msg_ä\93
+(
+__¹e_unu£d
\19
+­p_·¿ms
+ *
+­p
+,
+
+103 \1e*
+msg
+)
+
+105 
+       `¹e_ä\93
+(
+msg
+);
+
+106 
+       }
+}
+
+108 \18
+\9al\9ae
\1e
+
+109 
+       $­p_msg_£nd
+(\19
+­p_·¿ms
+ *
+­p
+,
+
+110 
+u\9at32_t
+p\9d\96\9ae_id
+,
+
+111 \1e*
+msg
+)
+
+113 \19
+¹e_r\9ag
+ *
+r
+ = 
+       `­p_p\9d\96\9ae_msgq_\9a_g\91
+(
+­p
+, 
+p\9d\96\9ae_id
+);
+
+114 \12
+¡©us
+;
+
+117 
+¡©us
+ = 
+       `¹e_r\9ag_¥_\92queue
+(
+r
+, 
+msg
+);
+
+118 } \1f
+¡©us
+ =ð-
+ENOBUFS
+);
+
+119 
+       }
+}
+
+121 \18
+\9al\9ae
\1e*
+
+122 
+       $­p_msg_»cv
+(\19
+­p_·¿ms
+ *
+­p
+,
+
+123 
+u\9at32_t
+p\9d\96\9ae_id
+)
+
+125 \19
+¹e_r\9ag
+ *
+r
+ = 
+       `­p_p\9d\96\9ae_msgq_out_g\91
+(
+­p
+, 
+p\9d\96\9ae_id
+);
+
+126 \1e*
+msg
+;
+
+127 \12
+¡©us
+ = 
+       `¹e_r\9ag_sc_dequeue
+(
+r
+, &
+msg
+);
+
+129 ià(
+¡©us
+ != 0)
+
+130 \15 
+NULL
+;
+
+132 \15 
+msg
+;
+
+133 
+       }
+}
+
+135 \18
+\9al\9ae
\1e*
+
+136 
+       $­p_msg_£nd_»cv
+(\19
+­p_·¿ms
+ *
+­p
+,
+
+137 
+u\9at32_t
+p\9d\96\9ae_id
+,
+
+138 \1e*
+msg
+,
+
+139 
+u\9at32_t
+timeout_ms
+)
+
+141 \19
+¹e_r\9ag
+ *
+r_»q
+ = 
+       `­p_p\9d\96\9ae_msgq_\9a_g\91
+(
+­p
+, 
+p\9d\96\9ae_id
+);
+
+142 \19
+¹e_r\9ag
+ *
+r_r¥
+ = 
+       `­p_p\9d\96\9ae_msgq_out_g\91
+(
+­p
+, 
+p\9d\96\9ae_id
+);
+
+143 
+u\9at64_t
+hz
+ = 
+       `¹e_g\91_tsc_hz
+();
+
+144 \1e*
+msg_»cv
+ = 
+NULL
+;
+
+145 
+u\9at64_t
+d\97dl\9ae
+;
+
+146 \12
+¡©us
+ = 0;
+
+150 if(
+r_»q
+)
+
+151 
+¡©us
+ = 
+       `¹e_r\9ag_¥_\92queue
+(
+r_»q
+, (\1e
+msg
+);
+
+152 } \1f
+¡©us
+ =ð-
+ENOBUFS
+);
+
+155 
+d\97dl\9ae
+ = (
+timeout_ms
+) ?
+
+156 (
+       `¹e_rdtsc
+(è+ ((
+hz
+ * 
+timeout_ms
+) / 1000)) :
+
+157 
+UINT64_MAX
+;
+
+160 ià(
+       `¹e_rdtsc
+(è> 
+d\97dl\9ae
+)
+
+161 \15 
+NULL
+;
+
+162 ià(
+r_r¥
+)
+
+163 
+¡©us
+ = 
+       `¹e_r\9ag_sc_dequeue
+(
+r_r¥
+, &
+msg_»cv
+);
+
+164 } \1f
+¡©us
+ != 0);
+
+166 \15 
+msg_»cv
+;
+
+167 
+       }
+}
+
+170 
+­p_p\9d\96\9ae_p\9ag
+(\19
+­p_·¿ms
+ *
+­p
+,
+
+171 
+u\9at32_t
+p\9d\96\9ae_id
+);
+
+174 
+­p_p\9d\96\9ae_¡©s_pÜt_\9a
+(\19
+­p_·¿ms
+ *
+­p
+,
+
+175 
+u\9at32_t
+p\9d\96\9ae_id
+,
+
+176 
+u\9at32_t
+pÜt_id
+,
+
+177 \19
+¹e_p\9d\96\9ae_pÜt_\9a_¡©s
+ *
+¡©s
+);
+
+180 
+­p_p\9d\96\9ae_¡©s_pÜt_out
+(\19
+­p_·¿ms
+ *
+­p
+,
+
+181 
+u\9at32_t
+p\9d\96\9ae_id
+,
+
+182 
+u\9at32_t
+pÜt_id
+,
+
+183 \19
+¹e_p\9d\96\9ae_pÜt_out_¡©s
+ *
+¡©s
+);
+
+186 
+­p_p\9d\96\9ae_¡©s_\8f
+(\19
+­p_·¿ms
+ *
+­p
+,
+
+187 
+u\9at32_t
+p\9d\96\9ae_id
+,
+
+188 
+u\9at32_t
+\8fbË_id
+,
+
+189 \19
+¹e_p\9d\96\9ae_\8fbË_¡©s
+ *
+¡©s
+);
+
+192 
+­p_p\9d\96\9ae_pÜt_\9a_\92abË
+(\19
+­p_·¿ms
+ *
+­p
+,
+
+193 
+u\9at32_t
+p\9d\96\9ae_id
+,
+
+194 
+u\9at32_t
+pÜt_id
+);
+
+197 
+­p_p\9d\96\9ae_pÜt_\9a_di§bË
+(\19
+­p_·¿ms
+ *
+­p
+,
+
+198 
+u\9at32_t
+p\9d\96\9ae_id
+,
+
+199 
+u\9at32_t
+pÜt_id
+);
+
+202 
+­p_l\9ak_cÚfig
+(\19
+­p_·¿ms
+ *
+­p
+,
+
+203 
+u\9at32_t
+l\9ak_id
+,
+
+204 
+u\9at32_t
+\9d
+,
+
+205 
+u\9at32_t
+d\95th
+);
+
+208 
+­p_l\9ak_up
+(\19
+­p_·¿ms
+ *
+­p
+,
+
+209 
+u\9at32_t
+l\9ak_id
+);
+
+212 
+­p_l\9ak_down
+(\19
+­p_·¿ms
+ *
+­p
+,
+
+213 
+u\9at32_t
+l\9ak_id
+);
+
+216 
+­p_p\9d\96\9ae_commÚ_cmd_push
+(\19
+­p_·¿ms
+ *
+­p
+);
+
+219 \1e
+cÚv\94t_´efixËn_to_Ãtmask_\9dv6
+(
+u\9at32_t
+d\95th
+, 
+u\9at8_t
+Ãtmask_\9dv6
+[]);
+
+222 
+g\91_ho¡_pÜtiÚ_\9dv6
+(
+u\9at8_t
+\9dv6
+[], u\9at8_\88
+Ãtmask
+[], u\9at8_\88
+ho¡_\9dv6
+[]);
+
+225 
+g\91_bÿ¡_pÜtiÚ_\9dv6
+(
+u\9at8_t
+ho¡
+[], u\9at8_\88
+Ãtmask
+[], u\9at8_\88
+bÿ¡_\9dv6
+[]);
+
+228 
+­p_l\9ak_cÚfig_\9dv6
+(\19
+­p_·¿ms
+ *
+­p
+,
+
+229 
+u\9at32_t
+l\9ak_id
+, 
+u\9at8_t
+\9dv6
+[], u\9at32_\88
+d\95th
+);
+
+       @VIL/pipeline_loadb/pipeline_loadb.c
+
+17 \ 2
+       ~<cmdl\9ae_·r£.h
+>
+
+18 \ 2
+       ~<cmdl\9ae_·r£_num.h
+>
+
+19 \ 2
+       ~<cmdl\9ae_·r£_¡r\9ag.h
+>
+
+20 \ 2
+       ~<cmdl\9ae_·r£_\9daddr.h
+>
+
+21 \ 2
+       ~<cmdl\9ae_·r£_\91h\94addr.h
+>
+
+23 \ 2
+       ~"­p.h
+"
+
+24 \ 2
+       ~"p\9d\96\9ae_commÚ_ã.h
+"
+
+25 \ 2
+       ~"p\9d\96\9ae_lßdb.h
+"
+
+26 \ 2
+       ~"vnf_commÚ.h
+"
+
+28 \ 2
+       ~"p\9d\96\9ae_¬picmp_be.h
+"
+
+32 
+       $­p_p\9d\96\9ae_lßdb_\92\8cy_dbg
+(\19
+­p_·¿ms
+ *
+­p
+,
+
+33 
+u\9at32_t
+p\9d\96\9ae_id
+, 
+u\9at8_t
+ *
+msg
+)
+
+35 \19
+p\9d\96\9ae_lßdb_\92\8cy_dbg_msg_»q
+ *
+»q
+;
+
+36 \19
+p\9d\96\9ae_lßdb_\92\8cy_dbg_msg_r¥
+ *
+r¥
+;
+
+39 ià(
+­p
+ =ð
+NULL
+)
+
+43 
+»q
+ = 
+       `­p_msg_®loc
+(
+­p
+);
+
+44 ià(
+»q
+ =ð
+NULL
+)
+
+47 
+»q
+->
+ty³
+ = 
+PIPELINE_MSG_REQ_CUSTOM
+;
+
+48 
+»q
+->
+subty³
+ = 
+PIPELINE_LOADB_MSG_REQ_ENTRY_DBG
+;
+
+49 
+»q
+->
+d©a
+[0] = 
+msg
+[0];
+
+50 
+»q
+->
+d©a
+[1] = 
+msg
+[1];
+
+52 
+r¥
+ = 
+       `­p_msg_£nd_»cv
+(
+­p
+, 
+p\9d\96\9ae_id
+, 
+»q
+, 
+MSG_TIMEOUT_DEFAULT
+);
+
+53 ià(
+r¥
+ =ð
+NULL
+)
+
+57 ià(
+r¥
+->
+¡©us
+) {
+
+58 
+       `­p_msg_ä\93
+(
+­p
+, 
+r¥
+);
+
+59 
+       `´\9atf
+("E¼Ü\84¥->¡©u %d\n", 
+r¥
+->
+¡©us
+);
+
+64 
+       `­p_msg_ä\93
+(
+­p
+, 
+r¥
+);
+
+67 
+       }
+}
+
+73 \19
+       scmd_\92\8cy_dbg_»suÉ
+ {
+
+74 
+cmdl\9ae_fixed_¡r\9ag_t
+       mp_¡r\9ag
+;
+
+75 
+u\9at32_t
+       mp
+;
+
+76 
+cmdl\9ae_fixed_¡r\9ag_t
+       m\92\8cy_¡r\9ag
+;
+
+77 
+cmdl\9ae_fixed_¡r\9ag_t
+       mdbg_¡r\9ag
+;
+
+78 
+u\9at8_t
+       mcmd
+;
+
+79 
+u\9at8_t
+       md1
+;
+
+83 
+       $cmd_\92\8cy_dbg_·r£d
+(\1e*
+·r£d_»suÉ
+,
+
+84 
+__¹e_unu£d
\19
+cmdl\9ae
+ *
+, \1e*
+d©a
+)
+
+86 \19
+cmd_\92\8cy_dbg_»suÉ
+ *
+·¿ms
+ = 
+·r£d_»suÉ
+;
+
+87 \19
+­p_·¿ms
+ *
+­p
+ = 
+d©a
+;
+
+88 
+u\9at8_t
+msg
+[2];
+
+89 \12
+¡©us
+;
+
+91 
+msg
+[0] = 
+·¿ms
+->
+cmd
+;
+
+92 
+msg
+[1] = 
+·¿ms
+->
+d1
+;
+
+93 
+¡©us
+ = 
+       `­p_p\9d\96\9ae_lßdb_\92\8cy_dbg
+(
+­p
+, 
+·¿ms
+->
+p
+, 
+msg
+);
+
+95 ià(
+¡©us
+ != 0) {
+
+96 
+       `´\9atf
+("Dbg Command failed\n");
+
+99 
+       }
+}
+
+101 \18
+cmdl\9ae_·r£_tok\92_¡r\9ag_t
+       glb_cmd_\92\8cy_dbg_p_¡r\9ag
+ =
+
+102 
+TOKEN_STRING_INITIALIZER
+(\19
+cmd_\92\8cy_dbg_»suÉ
+, 
+p_¡r\9ag
+, "p");
+
+104 \18
+cmdl\9ae_·r£_tok\92_num_t
+       glb_cmd_\92\8cy_dbg_p
+ =
+
+105 
+TOKEN_NUM_INITIALIZER
+(\19
+cmd_\92\8cy_dbg_»suÉ
+, 
+p
+, 
+UINT32
+);
+
+107 \18
+cmdl\9ae_·r£_tok\92_¡r\9ag_t
+       glb_cmd_\92\8cy_dbg_\92\8cy_¡r\9ag
+ =
+
+108 
+TOKEN_STRING_INITIALIZER
+(\19
+cmd_\92\8cy_dbg_»suÉ
+,
+
+109 
+\92\8cy_¡r\9ag
+, "lbentry");
+
+111 \18
+cmdl\9ae_·r£_tok\92_¡r\9ag_t
+       glb_cmd_\92\8cy_dbg_dbg_¡r\9ag
+ =
+
+112 
+TOKEN_STRING_INITIALIZER
+(\19
+cmd_\92\8cy_dbg_»suÉ
+, 
+dbg_¡r\9ag
+,
+
+115 \18
+cmdl\9ae_·r£_tok\92_num_t
+       glb_cmd_\92\8cy_dbg_cmd
+ =
+
+116 
+TOKEN_NUM_INITIALIZER
+(\19
+cmd_\92\8cy_dbg_»suÉ
+, 
+cmd
+, 
+UINT8
+);
+
+118 \18
+cmdl\9ae_·r£_tok\92_num_t
+       glb_cmd_\92\8cy_dbg_d1
+ =
+
+119 
+TOKEN_NUM_INITIALIZER
+(\19
+cmd_\92\8cy_dbg_»suÉ
+, 
+d1
+, 
+UINT8
+);
+
+121 \18
+cmdl\9ae_·r£_\9a¡_t
+       glb_cmd_\92\8cy_dbg
+ = {
+
+122 .
+f
+ = 
+cmd_\92\8cy_dbg_·r£d
+,
+
+123 .
+       gd©a
+ = 
+NULL
+,
+
+124 .
+       gh\96p_¡r
+ = "LOADB dbg cmd",
+
+125 .
+       gtok\92s
+ = {
+
+126 (\1e*)&
+lb_cmd_\92\8cy_dbg_p_¡r\9ag
+,
+
+127 (\1e*)&
+lb_cmd_\92\8cy_dbg_p
+,
+
+128 (\1e*)&
+lb_cmd_\92\8cy_dbg_\92\8cy_¡r\9ag
+,
+
+129 (\1e*)&
+lb_cmd_\92\8cy_dbg_dbg_¡r\9ag
+,
+
+130 (\1e*)&
+lb_cmd_\92\8cy_dbg_cmd
+,
+
+131 (\1e*)&
+lb_cmd_\92\8cy_dbg_d1
+,
+
+132 
+NULL
+,
+
+162 \19
+       scmd_¬p_add_»suÉ
+ {
+
+163 
+cmdl\9ae_fixed_¡r\9ag_t
+       mp_¡r\9ag
+;
+
+164 
+u\9at32_t
+       mp
+;
+
+165 
+cmdl\9ae_fixed_¡r\9ag_t
+       m¬·dd_¡r\9ag
+;
+
+166 
+u\9at32_t
+       mpÜt_id
+;
+
+167 
+cmdl\9ae_\9daddr_t
+       m\9d
+;
+
+168 \19
+\91h\94_addr
+       mmaÿddr
+;
+
+173 
+       $cmd_¬p_add_·r£d
+(\1e*
+·r£d_»suÉ
+,
+
+174 
+__¹e_unu£d
\19
+cmdl\9ae
+ *
+, __¹e_unu£d \1e*
+d©a
+)
+
+176 \19
+cmd_¬p_add_»suÉ
+ *
+·¿ms
+ = 
+·r£d_»suÉ
+;
+
+177 
+u\9at8_t
+\9dv6
+[16];
+
+186 ià(
+·¿ms
+->
+\9d
+.
+çm\9ey
+ =ð
+AF_INET
+) {
+
+187 
+       `pÝuÏ\8b_¬p_\92\8cy
+(&
+·¿ms
+->
+maÿddr
+,
+
+188 
+       `¹e_ýu_to_be_32
+(
+·¿ms
+->
+\9d
+.
+addr
+.
+
+189 
+\9dv4
+.
+s_addr
+),
+
+190 
+·¿ms
+->
+pÜt_id
+, 
+STATIC_ARP
+);
+
+192 
+       `memýy
+(
+\9dv6
+, 
+·¿ms
+->
+\9d
+.
+addr
+.\9dv6.
+s6_addr
+, 16);
+
+193 
+       `pÝuÏ\8b_nd_\92\8cy
+(&
+·¿ms
+->
+maÿddr
+, 
+\9dv6
+,\85¬ams->
+pÜt_id
+, 
+STATIC_ND
+);
+
+195 
+       }
+}
+
+197 \18
+cmdl\9ae_·r£_tok\92_¡r\9ag_t
+       gcmd_¬p_add_p_¡r\9ag
+ =
+
+198 
+TOKEN_STRING_INITIALIZER
+(\19
+cmd_¬p_add_»suÉ
+, 
+p_¡r\9ag
+,
+
+201 \18
+cmdl\9ae_·r£_tok\92_num_t
+       gcmd_¬p_add_p
+ =
+
+202 
+TOKEN_NUM_INITIALIZER
+(\19
+cmd_¬p_add_»suÉ
+, 
+p
+, 
+UINT32
+);
+
+204 \18
+cmdl\9ae_·r£_tok\92_¡r\9ag_t
+       gcmd_¬p_add_¬p_¡r\9ag
+ =
+
+205 
+TOKEN_STRING_INITIALIZER
+(\19
+cmd_¬p_add_»suÉ
+, 
+¬·dd_¡r\9ag
+, "arpadd");
+
+207 \18
+cmdl\9ae_·r£_tok\92_num_t
+       gcmd_¬p_add_pÜt_id
+ =
+
+208 
+TOKEN_NUM_INITIALIZER
+(\19
+cmd_¬p_add_»suÉ
+, 
+pÜt_id
+, 
+UINT32
+);
+
+210 \18
+cmdl\9ae_·r£_tok\92_\9daddr_t
+       gcmd_¬p_add_\9d
+ =
+
+211 
+TOKEN_IPADDR_INITIALIZER
+(\19
+cmd_¬p_add_»suÉ
+, 
+\9d
+);
+
+213 \18
+cmdl\9ae_·r£_tok\92_\91h\94addr_t
+       gcmd_¬p_add_maÿddr
+ =
+
+214 
+TOKEN_ETHERADDR_INITIALIZER
+(\19
+cmd_¬p_add_»suÉ
+, 
+maÿddr
+);
+
+216 \18
+cmdl\9ae_·r£_\9a¡_t
+       gcmd_¬p_add
+ = {
+
+217 .
+f
+ = 
+cmd_¬p_add_·r£d
+,
+
+218 .
+       gd©a
+ = 
+NULL
+,
+
+219 .
+       gh\96p_¡r
+ = "ARP\87dd",
+
+220 .
+       gtok\92s
+ = {
+
+221 (\1e*)&
+cmd_¬p_add_p_¡r\9ag
+,
+
+222 (\1e*)&
+cmd_¬p_add_p
+,
+
+223 (\1e*)&
+cmd_¬p_add_¬p_¡r\9ag
+,
+
+224 (\1e*)&
+cmd_¬p_add_pÜt_id
+,
+
+225 (\1e*)&
+cmd_¬p_add_\9d
+,
+
+226 (\1e*)&
+cmd_¬p_add_maÿddr
+,
+
+227 
+NULL
+,
+
+235 \19
+       scmd_¬p_d\96_»suÉ
+ {
+
+236 
+cmdl\9ae_fixed_¡r\9ag_t
+       mp_¡r\9ag
+;
+
+237 
+u\9at32_t
+       mp
+;
+
+238 
+cmdl\9ae_fixed_¡r\9ag_t
+       m¬p_¡r\9ag
+;
+
+239 
+u\9at32_t
+       mpÜt_id
+;
+
+240 
+cmdl\9ae_\9daddr_t
+       m\9d
+;
+
+244 
+       $cmd_¬p_d\96_·r£d
+(\1e*
+·r£d_»suÉ
+,
+
+245 
+__¹e_unu£d
\19
+cmdl\9ae
+ *
+, __¹e_unu£d \1e*
+d©a
+)
+
+247 \19
+cmd_¬p_d\96_»suÉ
+ *
+·¿ms
+ = 
+·r£d_»suÉ
+;
+
+248 
+u\9at8_t
+\9dv6
+[16];
+
+257 ià(
+·¿ms
+->
+\9d
+.
+çm\9ey
+ =ð
+AF_INET
+) {
+
+258 
+       `»move_¬p_\92\8cy
+(
+       `¹e_ýu_to_be_32
+(
+·¿ms
+->
+\9d
+.
+addr
+.
+\9dv4
+.
+s_addr
+),
+
+259 
+·¿ms
+->
+pÜt_id
+, 
+NULL
+);
+
+261 
+       `memýy
+(
+\9dv6
+, 
+·¿ms
+->
+\9d
+.
+addr
+.\9dv6.
+s6_addr
+, 16);
+
+262 
+       `»move_nd_\92\8cy_\9dv6
+(
+\9dv6
+, 
+·¿ms
+->
+pÜt_id
+);
+
+264 
+       }
+}
+
+266 \18
+cmdl\9ae_·r£_tok\92_¡r\9ag_t
+       gcmd_¬p_d\96_p_¡r\9ag
+ =
+
+267 
+TOKEN_STRING_INITIALIZER
+(\19
+cmd_¬p_d\96_»suÉ
+, 
+p_¡r\9ag
+,
+
+270 \18
+cmdl\9ae_·r£_tok\92_num_t
+       gcmd_¬p_d\96_p
+ =
+
+271 
+TOKEN_NUM_INITIALIZER
+(\19
+cmd_¬p_d\96_»suÉ
+, 
+p
+, 
+UINT32
+);
+
+273 \18
+cmdl\9ae_·r£_tok\92_¡r\9ag_t
+       gcmd_¬p_d\96_¬p_¡r\9ag
+ =
+
+274 
+TOKEN_STRING_INITIALIZER
+(\19
+cmd_¬p_d\96_»suÉ
+, 
+¬p_¡r\9ag
+, "arpdel");
+
+276 \18
+cmdl\9ae_·r£_tok\92_num_t
+       gcmd_¬p_d\96_pÜt_id
+ =
+
+277 
+TOKEN_NUM_INITIALIZER
+(\19
+cmd_¬p_d\96_»suÉ
+, 
+pÜt_id
+, 
+UINT32
+);
+
+279 \18
+cmdl\9ae_·r£_tok\92_\9daddr_t
+       gcmd_¬p_d\96_\9d
+ =
+
+280 
+TOKEN_IPADDR_INITIALIZER
+(\19
+cmd_¬p_d\96_»suÉ
+, 
+\9d
+);
+
+282 \18
+cmdl\9ae_·r£_\9a¡_t
+       gcmd_¬p_d\96
+ = {
+
+283 .
+f
+ = 
+cmd_¬p_d\96_·r£d
+,
+
+284 .
+       gd©a
+ = 
+NULL
+,
+
+285 .
+       gh\96p_¡r
+ = "ARP delete",
+
+286 .
+       gtok\92s
+ = {
+
+287 (\1e*)&
+cmd_¬p_d\96_p_¡r\9ag
+,
+
+288 (\1e*)&
+cmd_¬p_d\96_p
+,
+
+289 (\1e*)&
+cmd_¬p_d\96_¬p_¡r\9ag
+,
+
+290 (\1e*)&
+cmd_¬p_d\96_pÜt_id
+,
+
+291 (\1e*)&
+cmd_¬p_d\96_\9d
+,
+
+292 
+NULL
+,
+
+303 
+       $cmd_¬p_»q_·r£d
+(\1e*
+·r£d_»suÉ
+,
+
+304 
+__¹e_unu£d
\19
+cmdl\9ae
+ *
+, __¹e_unu£d \1e*
+d©a
+)
+
+306 \19
+cmd_¬p_d\96_»suÉ
+ *
+·¿ms
+ = 
+·r£d_»suÉ
+;
+
+309 \19
+¬p_key_\9dv4
+key
+;
+
+315 
+key
+.
+\9d
+ = 
+       `¹e_ýu_to_be_32
+(
+·¿ms
+->\9d.
+addr
+.
+\9dv4
+.
+s_addr
+);
+
+316 
+key
+.
+pÜt_id
+ = 
+·¿ms
+->port_id;
+
+317 
+key
+.
+f\9eËr1
+ = 0;
+
+318 
+key
+.
+f\9eËr2
+ = 0;
+
+319 
+key
+.
+f\9eËr3
+ = 0;
+
+321 \19
+¬p_\92\8cy_d©a
+ *
+¬p_d©a
+ = 
+       `»\8c\9bve_¬p_\92\8cy
+(
+key
+);
+
+323 ià(
+¬p_d©a
+) {
+
+324 ià(
+ARPICMP_DEBUG
+)
+
+325 
+       `´\9atf
+("ARP\83ntry\83xists for ip 0x%x,\85ort %d\n",
+
+326 
+·¿ms
+->
+\9d
+.
+addr
+.
+\9dv4
+.
+s_addr
+,\85¬ams->
+pÜt_id
+);
+
+330 ià(
+ARPICMP_DEBUG
+)
+
+331 
+       `´\9atf
+("ARP -\84equesting\87rp for ip 0x%x,\85ort %d\n",
+
+332 
+·¿ms
+->
+\9d
+.
+addr
+.
+\9dv4
+.
+s_addr
+,\85¬ams->
+pÜt_id
+);
+
+333 
+       `»que¡_¬p
+(
+·¿ms
+->
+pÜt_id
+,\85¬ams->
+\9d
+.
+addr
+.
+\9dv4
+.
+s_addr
+);
+
+335 
+       }
+}
+
+337 \18
+cmdl\9ae_·r£_tok\92_¡r\9ag_t
+       gcmd_¬p_»q_¡r\9ag
+ =
+
+338 
+TOKEN_STRING_INITIALIZER
+(\19
+cmd_¬p_d\96_»suÉ
+, 
+¬p_¡r\9ag
+, "arpreq");
+
+340 \18
+cmdl\9ae_·r£_\9a¡_t
+       gcmd_¬p_»q
+ = {
+
+341 .
+f
+ = 
+cmd_¬p_»q_·r£d
+,
+
+342 .
+       gd©a
+ = 
+NULL
+,
+
+343 .
+       gh\96p_¡r
+ = "ARP\84equest",
+
+344 .
+       gtok\92s
+ = {
+
+345 (\1e*)&
+cmd_¬p_d\96_p_¡r\9ag
+,
+
+346 (\1e*)&
+cmd_¬p_d\96_p
+,
+
+347 (\1e*)&
+cmd_¬p_»q_¡r\9ag
+,
+
+348 (\1e*)&
+cmd_¬p_d\96_pÜt_id
+,
+
+349 (\1e*)&
+cmd_¬p_d\96_\9d
+,
+
+350 
+NULL
+,
+
+361 
+       $cmd_icmp_echo_»q_·r£d
+(\1e*
+·r£d_»suÉ
+,
+
+362 
+__¹e_unu£d
\19
+cmdl\9ae
+ *
+,
+
+363 
+__¹e_unu£d
\1e*
+d©a
+)
+
+365 \19
+cmd_¬p_d\96_»suÉ
+ *
+·¿ms
+ = 
+·r£d_»suÉ
+;
+
+366 \19
+¹e_mbuf
+ *
+pkt
+;
+
+367 
+l2_phy_\9a\8brçû_t
+ *
+pÜt
+ = (l2_phy_\9a\8brçû_\88
+       `ifm_g\91_pÜt
+((
+u\9at8_t
+)
+·¿ms
+->
+pÜt_id
+);
+
+369 ià(
+ARPICMP_DEBUG
+)
+
+370 
+       `´\9atf
+("Echo Req Handler ip %x,\85ort %d\n",
+
+371 
+·¿ms
+->
+\9d
+.
+addr
+.
+\9dv4
+.
+s_addr
+,\85¬ams->
+pÜt_id
+);
+
+373 
+pkt
+ = 
+       `»que¡_echo
+(
+·¿ms
+->
+pÜt_id
+,\85¬ams->
+\9d
+.
+addr
+.
+\9dv4
+.
+s_addr
+);
+
+374 
+pÜt
+->
+       `\8cªsm\99_s\9agË_pkt
+ÕÜt, 
+pkt
+);
+
+375 
+       }
+}
+
+377 \18
+cmdl\9ae_·r£_tok\92_¡r\9ag_t
+       gcmd_icmp_echo_»q_¡r\9ag
+ =
+
+378 
+TOKEN_STRING_INITIALIZER
+(\19
+cmd_¬p_d\96_»suÉ
+, 
+¬p_¡r\9ag
+, "icmpecho");
+
+380 \18
+cmdl\9ae_·r£_\9a¡_t
+       gcmd_icmp_echo_»q
+ = {
+
+381 .
+f
+ = 
+cmd_icmp_echo_»q_·r£d
+,
+
+382 .
+       gd©a
+ = 
+NULL
+,
+
+383 .
+       gh\96p_¡r
+ = "ICMP\83cho\84equest",
+
+384 .
+       gtok\92s
+ = {
+
+385 (\1e*)&
+cmd_¬p_d\96_p_¡r\9ag
+,
+
+386 (\1e*)&
+cmd_¬p_d\96_p
+,
+
+387 (\1e*)&
+cmd_icmp_echo_»q_¡r\9ag
+,
+
+388 (\1e*)&
+cmd_¬p_d\96_pÜt_id
+,
+
+389 (\1e*)&
+cmd_¬p_d\96_\9d
+,
+
+390 
+NULL
+,
+
+398 \19
+       scmd_¬p_ls_»suÉ
+ {
+
+399 
+cmdl\9ae_fixed_¡r\9ag_t
+       mp_¡r\9ag
+;
+
+400 
+u\9at32_t
+       mp
+;
+
+401 
+cmdl\9ae_fixed_¡r\9ag_t
+       m¬p_¡r\9ag
+;
+
+405 
+       $cmd_¬p_ls_·r£d
+(
+__¹e_unu£d
\1e*
+·r£d_»suÉ
+,
+
+406 
+__¹e_unu£d
\19
+cmdl\9ae
+ *
+, __¹e_unu£d \1e*
+d©a
+)
+
+408 
+       `´\9atf
+("\nARP\81able ...\n");
+
+409 
+       `´\9atf
+("-------------\n");
+
+410 
+       `´\9at_¬p_\8f
+();
+
+412 
\9atf
+
+
+415 
+       `´\9atf
+("\nND IPv6\81able:\n");
+
+416 
+       `´\9atf
+("--------------\n");
+
+417 
+       `´\9at_nd_\8f
+();
+
+418 
+       }
+}
+
+420 \18
+cmdl\9ae_·r£_tok\92_¡r\9ag_t
+       gcmd_¬p_ls_p_¡r\9ag
+ =
+
+421 
+TOKEN_STRING_INITIALIZER
+(\19
+cmd_¬p_ls_»suÉ
+, 
+p_¡r\9ag
+,
+
+424 \18
+cmdl\9ae_·r£_tok\92_num_t
+       gcmd_¬p_ls_p
+ =
+
+425 
+TOKEN_NUM_INITIALIZER
+(\19
+cmd_¬p_ls_»suÉ
+, 
+p
+, 
+UINT32
+);
+
+427 \18
+cmdl\9ae_·r£_tok\92_¡r\9ag_t
+       gcmd_¬p_ls_¬p_¡r\9ag
+ =
+
+428 
+TOKEN_STRING_INITIALIZER
+(\19
+cmd_¬p_ls_»suÉ
+, 
+¬p_¡r\9ag
+,
+
+431 \18
+cmdl\9ae_·r£_\9a¡_t
+       gcmd_¬p_ls
+ = {
+
+432 .
+f
+ = 
+cmd_¬p_ls_·r£d
+,
+
+433 .
+       gd©a
+ = 
+NULL
+,
+
+434 .
+       gh\96p_¡r
+ = "ARP\86ist",
+
+435 .
+       gtok\92s
+ = {
+
+436 (\1e*)&
+cmd_¬p_ls_p_¡r\9ag
+,
+
+437 (\1e*)&
+cmd_¬p_ls_p
+,
+
+438 (\1e*)&
+cmd_¬p_ls_¬p_¡r\9ag
+,
+
+439 
+NULL
+,
+
+447 \19
+       scmd_show_pÜts_\9afo_»suÉ
+ {
+
+448 
+cmdl\9ae_fixed_¡r\9ag_t
+       mp_¡r\9ag
+;
+
+449 
+u\9at32_t
+       mp
+;
+
+450 
+cmdl\9ae_fixed_¡r\9ag_t
+       m¬p_¡r\9ag
+;
+
+454 
+       $cmd_show_pÜts_\9afo_·r£d
+(
+__¹e_unu£d
\1e*
+·r£d_»suÉ
+,
+
+455 
+__¹e_unu£d
\19
+cmdl\9ae
+ *
+,
+
+456 
+__¹e_unu£d
\1e*
+d©a
+)
+
+458 
+       `show_pÜts_\9afo
+();
+
+459 
+       }
+}
+
+461 \18
+cmdl\9ae_·r£_tok\92_¡r\9ag_t
+       gcmd_show_pÜts_\9afo_¡r\9ag
+ =
+
+462 
+TOKEN_STRING_INITIALIZER
+(\19
+cmd_¬p_ls_»suÉ
+, 
+¬p_¡r\9ag
+,
+
+465 \18
+cmdl\9ae_·r£_\9a¡_t
+       gcmd_show_pÜts_\9afo
+ = {
+
+466 .
+f
+ = 
+cmd_show_pÜts_\9afo_·r£d
+,
+
+467 .
+       gd©a
+ = 
+NULL
+,
+
+468 .
+       gh\96p_¡r
+ = "show\85orts info",
+
+469 .
+       gtok\92s
+ = {
+
+470 (\1e*)&
+cmd_¬p_ls_p_¡r\9ag
+,
+
+471 (\1e*)&
+cmd_¬p_ls_p
+,
+
+472 (\1e*)&
+cmd_show_pÜts_\9afo_¡r\9ag
+,
+
+473 
+NULL
+,
+
+478 \18
+cmdl\9ae_·r£_ùx_t
+       gp\9d\96\9ae_cmds
+[] = {
+
+479 (
+cmdl\9ae_·r£_\9a¡_t
+ *è&
+lb_cmd_\92\8cy_dbg
+,
+
+480 
+NULL
+,
+
+483 \18\19
+p\9d\96\9ae_ã_Ýs
+       gp\9d\96\9ae_lßdb_ã_Ýs
+ = {
+
+484 .
+f_\9a\99
+ = 
+NULL
+,
+
+485 .
+       gf_ä\93
+ = 
+NULL
+,
+
+486 .
+       gcmds
+ = 
+p\9d\96\9ae_cmds
+,
+
+489 \19
+p\9d\96\9ae_ty³
+       gp\9d\96\9ae_lßdb
+ = {
+
+490 .
+Çme
+ = "LOADB",
+
+491 .
+       gbe_Ýs
+ = &
+p\9d\96\9ae_lßdb_be_Ýs
+,
+
+492 .
+       gã_Ýs
+ = &
+p\9d\96\9ae_lßdb_ã_Ýs
+,
+
+       @VIL/pipeline_loadb/pipeline_loadb.h
+
+17 #iâdeà
+__INCLUDE_PIPELINE_LOADB_H__
+
+
+18 \ 1
+       #__INCLUDE_PIPELINE_LOADB_H__
+
+
+       )
+
+20 \ 2
+       ~"p\9d\96\9ae.h
+"
+
+21 \ 2
+       ~"p\9d\96\9ae_lßdb_be.h
+"
+
+27 \r\19
+p\9d\96\9ae_ty³
+p\9d\96\9ae_lßdb
+;
+
+       @VIL/pipeline_loadb/pipeline_loadb_be.c
+
+17 \ 2
+       ~<¡dio.h
+>
+
+18 \ 2
+       ~<¡dlib.h
+>
+
+19 \ 2
+       ~<¡d\9at.h
+>
+
+20 \ 2
+       ~<¡r\9ag.h
+>
+
+21 \ 2
+       ~<uni¡d.h
+>
+
+23 \ 2
+       ~<¹e_commÚ.h
+>
+
+24 \ 2
+       ~<¹e_m®loc.h
+>
+
+25 \ 2
+       ~<¹e_\9d.h
+>
+
+26 \ 2
+       ~<¹e_hash.h
+>
+
+27 \ 2
+       ~<¹e_by\8bÜd\94.h
+>
+
+28 \ 2
+       ~<¹e_\8fbË_Ím.h
+>
+
+29 \ 2
+       ~<¹e_\8fbË_hash.h
+>
+
+30 \ 2
+       ~<¹e_jhash.h
+>
+
+31 \ 2
+       ~<¹e_thash.h
+>
+
+32 \ 2
+       ~<¹e_cyþes.h
+>
+
+33 \ 2
+       ~<¹e_\91hdev.h
+>
+
+34 \ 2
+       ~<¹e_´eãtch.h
+>
+
+35 \ 2
+       ~<¹e_\8fbË_¬¿y.h
+>
+
+36 \ 2
+       ~"p\9d\96\9ae_lßdb_be.h
+"
+
+37 \ 2
+       ~"p\9d\96\9ae_aùiÚs_commÚ.h
+"
+
+38 \ 2
+       ~"hash_func.h
+"
+
+39 \ 2
+       ~"p\9d\96\9ae_¬picmp_be.h
+"
+
+40 \ 2
+       ~"vnf_commÚ.h
+"
+
+41 \ 2
+       ~"­p.h
+"
+
+43 \ 1
+       #BYTES_TO_BITS
+ 8
+
+       )
+
+44 \ 1
+       #ROTATE_15_BITS
+ 15
+
+       )
+
+46 \ 1
+       #MAX_VNF_THREADS
+ 16
+
+       )
+
+48 \12
+       gpkt_bur¡_út
+;
+
+50 
+u\9at8_t
+       gLOADB_DEBUG
+;
+
+51 
+u\9at8_t
+       gtÙ®_vnf_th»ads
+;
+
+52 
+u\9at32_t
+       gphypÜt_off£t
+;
+
+54 \19
+       sp\9d\96\9ae_lßdb
+ {
+
+55 \19
+p\9d\96\9ae
+       mp
+;
+
+56 
+p\9d\96\9ae_msg_»q_hªdËr
+       mcu¡om_hªdËrs
+[
+PIPELINE_LOADB_MSG_REQS
+];
+
+58 
+u\9at8_t
+       mn_vnf_th»ads
+;
+
+59 
+u\9at8_t
+       mn_lb_tu¶es
+;
+
+60 
+u\9at32_t
+       mou\8dÜt_off£t
+;
+
+61 
+u\9at64_t
+       m»ûivedLBPktCouÁ
+;
+
+62 
+u\9at64_t
+       mdrݳdLBPktCouÁ
+;
+
+63 
+u\9at8_t
+       ml\9aks_m­
+[
+PIPELINE_MAX_PORT_IN
+];
+
+64 
+u\9at8_t
+       mou\8dÜt_id
+[
+PIPELINE_MAX_PORT_IN
+];
+
+65 
+u\9at8_t
+       mn_´v_Q
+;
+
+66 
+u\9at8_t
+       mn_pub_Q
+;
+
+67 
+u\9at8_t
+       mp\9d\96\9ae_num
+;
+
+68 } 
+       g__¹e_ÿche_®igÃd
+;
+
+70 
+u\9at8_t
+       gdeçuÉ_rss_key
+[] = {
+
+78 \18\1e*
+p\9d\96\9ae_lßdb_msg_»q_cu¡om_hªdËr
+(\19
+p\9d\96\9ae
+ *
+p
+,
+
+79 \1e*
+msg
+);
+
+81 \18
+p\9d\96\9ae_msg_»q_hªdËr
+       ghªdËrs
+[] = {
+
+82 [
+PIPELINE_MSG_REQ_PING
+] =
+
+83 
+p\9d\96\9ae_msg_»q_p\9ag_hªdËr
+,
+
+84 [
+PIPELINE_MSG_REQ_STATS_PORT_IN
+] =
+
+85 
+p\9d\96\9ae_msg_»q_¡©s_pÜt_\9a_hªdËr
+,
+
+86 [
+PIPELINE_MSG_REQ_STATS_PORT_OUT
+] =
+
+87 
+p\9d\96\9ae_msg_»q_¡©s_pÜt_out_hªdËr
+,
+
+88 [
+PIPELINE_MSG_REQ_STATS_TABLE
+] =
+
+89 
+p\9d\96\9ae_msg_»q_¡©s_\8fbË_hªdËr
+,
+
+90 [
+PIPELINE_MSG_REQ_PORT_IN_ENABLE
+] =
+
+91 
+p\9d\96\9ae_msg_»q_pÜt_\9a_\92abË_hªdËr
+,
+
+92 [
+PIPELINE_MSG_REQ_PORT_IN_DISABLE
+] =
+
+93 
+p\9d\96\9ae_msg_»q_pÜt_\9a_di§bË_hªdËr
+,
+
+94 [
+PIPELINE_MSG_REQ_CUSTOM
+] =
+
+95 
+p\9d\96\9ae_lßdb_msg_»q_cu¡om_hªdËr
+,
+
+99 \18\1e*
+p\9d\96\9ae_lßdb_msg_»q_\92\8cy_dbg_hªdËr
+(\19
+p\9d\96\9ae
+ *,
+
+100 \1e*
+msg
+);
+
+102 \18
+p\9d\96\9ae_msg_»q_hªdËr
+       gcu¡om_hªdËrs
+[] = {
+
+103 [
+PIPELINE_LOADB_MSG_REQ_ENTRY_DBG
+] =
+
+104 
+p\9d\96\9ae_lßdb_msg_»q_\92\8cy_dbg_hªdËr
+,
+
+110 \19
+       slßdb_\8fbË_\92\8cy
+ {
+
+111 \19
+¹e_p\9d\96\9ae_\8fbË_\92\8cy
+       mh\97d
+;
+
+112 } 
+       g__¹e_ÿche_®igÃd
+;
+
+114 \1e*
+       $p\9d\96\9ae_lßdb_msg_»q_cu¡om_hªdËr
+(\19
+p\9d\96\9ae
+ *
+p
+, \1e*
+msg
+)
+
+116 \19
+p\9d\96\9ae_lßdb
+ *
+p_lb
+ = (\19p\9d\96\9ae_lßdb *)
+p
+;
+
+117 \19
+p\9d\96\9ae_cu¡om_msg_»q
+ *
+»q
+ = 
+msg
+;
+
+118 
+p\9d\96\9ae_msg_»q_hªdËr
+f_hªdË
+;
+
+120 
+f_hªdË
+ = (
+»q
+->
+subty³
+ < 
+PIPELINE_LOADB_MSG_REQS
+) ?
+
+121 
+p_lb
+->
+cu¡om_hªdËrs
+[
+»q
+->
+subty³
+] :
+
+122 
+p\9d\96\9ae_msg_»q_\9av®id_hªdËr
+;
+
+124 ià(
+f_hªdË
+ =ð
+NULL
+)
+
+125 
+f_hªdË
+ = 
+p\9d\96\9ae_msg_»q_\9av®id_hªdËr
+;
+
+127 \15 
+       `f_hªdË
+(
+p
+, 
+»q
+);
+
+128 
+       }
+}
+
+130 
+u\9at32_t
+       glb_pkt_´\9at_couÁ
+;
+
+132 
+u\9at8_t
+       $ÿlcuÏ\8b_lb_th»ad_´v
+(\19
+¹e_mbuf
+ *
+pkt
+, \1e*
+¬g
+)
+
+134 
+u\9at32_t
+hash_key
+[2], 
+hash_\9dv4
+;
+
+135 
+u\9at32_t
+\8bmp1
+, 
+\8bmp2
+, 
+\8bmp3
+;
+
+136 
+u\9at8_t
+th»ad
+;
+
+137 \19
+p\9d\96\9ae_lßdb_\9a_pÜt_h_¬g
+ *
+ = 
+¬g
+;
+
+138 \19
+p\9d\96\9ae_lßdb
+ *
+p_lßdb
+ = (\19p\9d\96\9ae_lßdb *è
+->
+p
+;
+
+139 
+u\9at8_t
+Áh»ads
+ = 
+p_lßdb
+->
+n_vnf_th»ads
+;
+
+140 \1c
+¹e_thash_tu¶e
+tu¶e
+;
+
+142 
+u\9at32_t
+ *
+¤c_addr
+;
+
+143 
+u\9at32_t
+ *
+d¡_addr
+;
+
+144 
+u\9at16_t
+ *
+¤c_pÜt
+;
+
+145 
+u\9at16_t
+ *
+d¡_pÜt
+;
+
+146 
+u\9at8_t
+ *
+´ÙocÞ
+;
+
+147 \19
+lb_pkt
+ *lb_pkt = (\19lb_pkt *)
+
+148 
+       `RTE_MBUF_METADATA_UINT8_PTR
+(
+pkt
+, 
+MBUF_HDR_ROOM
+);
+
+150 ià(
+       `¹e_be_to_ýu_16
+(
+lb_pkt
+->
+\91h
+.
+\91h\94_ty³
+è=ð
+ETHER_TYPE_IPv6
+) {
+
+151 
+¤c_addr
+ = (
+u\9at32_t
+ *)&
+lb_pkt
+->
+\9dv6_pÜt
+.
+\9dv6
+.src_addr;
+
+152 
+d¡_addr
+ = (
+u\9at32_t
+ *)&
+lb_pkt
+->
+\9dv6_pÜt
+.
+\9dv6
+.dst_addr;
+
+153 
+¤c_pÜt
+ = &
+lb_pkt
+->
+\9dv6_pÜt
+.src_port;
+
+154 
+d¡_pÜt
+ = &
+lb_pkt
+->
+\9dv6_pÜt
+.dst_port;
+
+155 
+´ÙocÞ
+ = &
+lb_pkt
+->
+\9dv6_pÜt
+.
+\9dv6
+.
+´Ùo
+;
+
+157 
+¤c_addr
+ = &
+lb_pkt
+->
+\9dv4_pÜt
+.
+\9dv4
+.src_addr;
+
+158 
+d¡_addr
+ = &
+lb_pkt
+->
+\9dv4_pÜt
+.
+\9dv4
+.dst_addr;
+
+159 
+¤c_pÜt
+ = &
+lb_pkt
+->
+\9dv4_pÜt
+.src_port;
+
+160 
+d¡_pÜt
+ = &
+lb_pkt
+->
+\9dv4_pÜt
+.dst_port;
+
+161 
+´ÙocÞ
+ = &
+lb_pkt
+->
+\9dv4_pÜt
+.
+\9dv4
+.
+Ãxt_´Ùo_id
+;
+
+164 \1a
+p_lßdb
+->
+n_lb_tu¶es
+) {
+
+169 ià(
+       `¹e_be_to_ýu_16
+(
+lb_pkt
+->
+\91h
+.
+\91h\94_ty³
+è=ð
+ETHER_TYPE_IPv6
+)
+
+170 
+\8bmp1
+ = 
+       `¹e_bsw­32
+(
+d¡_addr
+[3]è^ *
+d¡_pÜt
+;
+
+172 
+\8bmp1
+ = *
+d¡_addr
+ ^ *
+d¡_pÜt
+;
+
+174 
+\8bmp2
+ = (
+\8bmp1
+ >> 24) ^ (temp1 >> 16) ^
+
+175 (
+\8bmp1
+ >> 8) ^\81emp1;
+
+177 
+\8bmp3
+ = (
+\8bmp2
+ >> 4) ^ (temp2 & 0xf);
+
+180 
+th»ad
+ = 
+\8bmp3
+ % 
+Áh»ads
+;
+
+182 
+th»ad
+ = 
+->
+\9a_pÜt_id
+ + (
+p_lßdb
+->
+p
+.
+n_pÜts_\9a
+ *
+
+183 (
+th»ad
+ + 1è- 
+p_lßdb
+->
+p
+.
+n_pÜts_\9a
+);
+
+184 \15 
+th»ad
+;
+
+189 ià(
+       `¹e_be_to_ýu_16
+(
+lb_pkt
+->
+\91h
+.
+\91h\94_ty³
+è=ð
+ETHER_TYPE_IPv6
+)
+
+190 
+hash_key
+[0] = 
+       `¹e_bsw­32
+(
+d¡_addr
+[3]);
+
+192 
+hash_key
+[0] = 
+       `¹e_bsw­32
+(*
+d¡_addr
+);
+
+195 
+hash_\9dv4
+ = 
+       `¹e_jhash
+(&
+hash_key
+[0], 4, 0);
+
+198 
+th»ad
+ = (
+hash_\9dv4
+ % 
+Áh»ads
+);
+
+201 
+th»ad
+ = 
+->
+\9a_pÜt_id
+ + (
+p_lßdb
+->
+p
+.
+n_pÜts_\9a
+ *
+
+202 (
+th»ad
+ + 1è- 
+p_lßdb
+->
+p
+.
+n_pÜts_\9a
+);
+
+204 ià(
+LOADB_DEBUG
+ > 3)
+
+205 
+       `´\9atf
+("thread: %u hash: %x hash_key: %x\n",
+
+206 
+th»ad
+, 
+hash_\9dv4
+, 
+hash_key
+[0]);
+
+207 \15 
+th»ad
+;
+
+212 ià(
+       `¹e_be_to_ýu_16
+(
+lb_pkt
+->
+\91h
+.
+\91h\94_ty³
+) ==
+
+213 
+ETHER_TYPE_IPv6
+) {
+
+214 
+hash_key
+[0] = 
+       `¹e_bsw­32
+(
+d¡_addr
+[3]);
+
+215 
+hash_key
+[1] = *
+d¡_pÜt
+ << 16;
+
+217 
+hash_key
+[0] = 
+       `¹e_bsw­32
+(*
+d¡_addr
+);
+
+218 
+hash_key
+[1] = *
+d¡_pÜt
+ << 16;
+
+221 
+hash_\9dv4
+ = 
+       `¹e_jhash
+(&
+hash_key
+[0], 6, 0);
+
+224 
+th»ad
+ = (
+hash_\9dv4
+ % 
+Áh»ads
+);
+
+227 
+th»ad
+ = 
+->
+\9a_pÜt_id
+ + (
+p_lßdb
+->
+p
+.
+n_pÜts_\9a
+ *
+
+228 (
+th»ad
+ + 1è- 
+p_lßdb
+->
+p
+.
+n_pÜts_\9a
+);
+
+230 ià(
+LOADB_DEBUG
+ > 3) {
+
+231 
+       `´\9atf
+("public_addr: %x\85ublic_port: %x\n",
+
+232 
+hash_key
+[0], *
+d¡_pÜt
+);
+
+233 
+       `´\9atf
+("thread: %u hash: %x hash_key0: %x "
+
+234 "hash_key1: %x\n", 
+th»ad
+, 
+hash_\9dv4
+,
+
+235 
+hash_key
+[0], hash_key[1]);
+
+237 \15 
+th»ad
+;
+
+240 
+       `´\9atf
+("Inv®id\82_lb_tu¶es: %d\n", 
+p_lßdb
+->
+n_lb_tu¶es
+);
+
+245 ià(
+       `¹e_be_to_ýu_16
+(
+lb_pkt
+->
+\91h
+.
+\91h\94_ty³
+) ==
+
+246 
+ETHER_TYPE_IPv6
+) {
+
+247 
+tu¶e
+.
+v4
+.
+¤c_addr
+ = 
+       `¹e_bsw­32
+(src_addr[3]);
+
+248 
+tu¶e
+.
+v4
+.
+d¡_addr
+ = 
+       `¹e_bsw­32
+(dst_addr[3]);
+
+249 
+tu¶e
+.
+v4
+.
+¥Üt
+ = *
+¤c_pÜt
+;
+
+250 
+tu¶e
+.
+v4
+.
+dpÜt
+ = *
+d¡_pÜt
+;
+
+252 
+tu¶e
+.
+v4
+.
+¤c_addr
+ = 
+       `¹e_bsw­32
+(*src_addr);
+
+253 
+tu¶e
+.
+v4
+.
+d¡_addr
+ = 
+       `¹e_bsw­32
+(*dst_addr);
+
+254 
+tu¶e
+.
+v4
+.
+¥Üt
+ = *
+¤c_pÜt
+;
+
+255 
+tu¶e
+.
+v4
+.
+dpÜt
+ = *
+d¡_pÜt
+;
+
+258 
+hash_\9dv4
+ = 
+       `¹e_soárss
+((
+u\9at32_t
+ *)&
+tu¶e
+,
+
+259 
+RTE_THASH_V4_L4_LEN
+,
+
+260 
+deçuÉ_rss_key
+);
+
+264 
+th»ad
+ = (
+hash_\9dv4
+ % 
+Áh»ads
+);
+
+267 
+th»ad
+ = 
+->
+\9a_pÜt_id
+ + (
+p_lßdb
+->
+p
+.
+n_pÜts_\9a
+ *
+
+268 (
+th»ad
+ + 1è- 
+p_lßdb
+->
+p
+.
+n_pÜts_\9a
+);
+
+270 ià(
+LOADB_DEBUG
+ > 3) {
+
+271 
+       `´\9atf
+("src_addr: %x dst_addr: %x src_port: %x "
+
+272 "d¡_pÜt: %x\n", 
+tu¶e
+.
+v4
+.
+¤c_addr
+,\81u¶e.v4.
+d¡_addr
+,
+
+273 
+tu¶e
+.
+v4
+.
+¥Üt
+,\81u¶e.v4.
+dpÜt
+);
+
+274 
+       `´\9atf
+("th»ad: %u hash: %x\n", 
+th»ad
+, 
+hash_\9dv4
+);
+
+277 \15 
+th»ad
+;
+
+281 ià(
+       `¹e_be_to_ýu_16
+(
+lb_pkt
+->
+\91h
+.
+\91h\94_ty³
+) ==
+
+282 
+ETHER_TYPE_IPv6
+) {
+
+284 
+¤c_addr
+ += 3;
+
+285 
+d¡_addr
+ += 3;
+
+289 
+\8bmp1
+ = *
+¤c_addr
+ ^ *
+d¡_addr
+ ^ *
+¤c_pÜt
+ ^
+
+290 *
+d¡_pÜt
+ ^ *
+´ÙocÞ
+;
+
+292 
+\8bmp2
+ = (
+\8bmp1
+ >> 24) ^ (temp1 >> 16) ^ (temp1 >> 8) ^\81emp1;
+
+293 
+\8bmp3
+ = (
+\8bmp2
+ >> 4) ^ (temp2 & 0xf);
+
+298 
+th»ad
+ = (
+\8bmp3
+ % 
+Áh»ads
+);
+
+301 
+th»ad
+ = 
+->
+\9a_pÜt_id
+ + (
+p_lßdb
+->
+p
+.
+n_pÜts_\9a
+ *
+
+302 (
+th»ad
+ + 1è- 
+p_lßdb
+->
+p
+.
+n_pÜts_\9a
+);
+
+304 ià(
+LOADB_DEBUG
+ > 3) {
+
+305 
+       `´\9atf
+("thread: %u\81emp1: %x\81emp2: %x\81emp3: %x\n",
+
+306 
+th»ad
+, 
+\8bmp1
+, 
+\8bmp2
+, 
+\8bmp3
+);
+
+307 
+       `´\9atf
+("src_addr: %x dst_addr: %x src_port: %x "
+
+308 "d¡_pÜt: %x\85rÙocÞ: %x\n", *
+¤c_addr
+, *
+d¡_addr
+,
+
+309 *
+¤c_pÜt
+, *
+d¡_pÜt
+, *
+´ÙocÞ
+);
+
+311 \15 
+th»ad
+;
+
+314 
+       `´\9atf
+("Inv®id\82_lb_tu¶es: %d\n", 
+p_lßdb
+->
+n_lb_tu¶es
+);
+
+318 
+       }
+}
+
+320 
+u\9at8_t
+       $ÿlcuÏ\8b_lb_th»ad_pub
+(\19
+¹e_mbuf
+ *
+pkt
+, \1e*
+¬g
+)
+
+322 
+u\9at32_t
+hash_key
+[2], 
+hash_\9dv4
+;
+
+323 
+u\9at32_t
+\8bmp1
+, 
+\8bmp2
+, 
+\8bmp3
+;
+
+324 
+u\9at8_t
+th»ad
+;
+
+325 \19
+p\9d\96\9ae_lßdb_\9a_pÜt_h_¬g
+ *
+ = 
+¬g
+;
+
+326 \19
+p\9d\96\9ae_lßdb
+ *
+p_lßdb
+ = (\19p\9d\96\9ae_lßdb *è
+->
+p
+;
+
+327 
+u\9at8_t
+Áh»ads
+ = 
+p_lßdb
+->
+n_vnf_th»ads
+;
+
+328 \1c
+¹e_thash_tu¶e
+tu¶e
+;
+
+330 
+u\9at32_t
+ *
+¤c_addr
+;
+
+331 
+u\9at32_t
+ *
+d¡_addr
+;
+
+332 
+u\9at16_t
+ *
+¤c_pÜt
+;
+
+333 
+u\9at16_t
+ *
+d¡_pÜt
+;
+
+334 
+u\9at8_t
+ *
+´ÙocÞ
+;
+
+335 \19
+lb_pkt
+ *lb_pkt = (\19lb_pkt *)
+
+336 
+       `RTE_MBUF_METADATA_UINT8_PTR
+(
+pkt
+,
+
+337 
+MBUF_HDR_ROOM
+);
+
+339 ià(
+       `¹e_be_to_ýu_16
+(
+lb_pkt
+->
+\91h
+.
+\91h\94_ty³
+è=ð
+ETHER_TYPE_IPv6
+) {
+
+340 
+¤c_addr
+ = (
+u\9at32_t
+ *)&
+lb_pkt
+->
+\9dv6_pÜt
+.
+\9dv6
+.src_addr;
+
+341 
+d¡_addr
+ = (
+u\9at32_t
+ *)&
+lb_pkt
+->
+\9dv6_pÜt
+.
+\9dv6
+.dst_addr;
+
+342 
+¤c_pÜt
+ = &
+lb_pkt
+->
+\9dv6_pÜt
+.src_port;
+
+343 
+d¡_pÜt
+ = &
+lb_pkt
+->
+\9dv6_pÜt
+.dst_port;
+
+344 
+´ÙocÞ
+ = &
+lb_pkt
+->
+\9dv6_pÜt
+.
+\9dv6
+.
+´Ùo
+;
+
+346 
+¤c_addr
+ = &
+lb_pkt
+->
+\9dv4_pÜt
+.
+\9dv4
+.src_addr;
+
+347 
+d¡_addr
+ = &
+lb_pkt
+->
+\9dv4_pÜt
+.
+\9dv4
+.dst_addr;
+
+348 
+¤c_pÜt
+ = &
+lb_pkt
+->
+\9dv4_pÜt
+.src_port;
+
+349 
+d¡_pÜt
+ = &
+lb_pkt
+->
+\9dv4_pÜt
+.dst_port;
+
+350 
+´ÙocÞ
+ = &
+lb_pkt
+->
+\9dv4_pÜt
+.
+\9dv4
+.
+Ãxt_´Ùo_id
+;
+
+353 \1a
+p_lßdb
+->
+n_lb_tu¶es
+) {
+
+358 
+\8bmp1
+ = *
+¤c_addr
+ ^ *
+¤c_pÜt
+;
+
+359 
+\8bmp2
+ = (
+\8bmp1
+ >> 24) ^ (temp1 >> 16) ^
+
+360 (
+\8bmp1
+ >> 8) ^\81emp1;
+
+361 
+\8bmp3
+ = (
+\8bmp2
+ >> 4) ^ (temp2 & 0xf);
+
+364 
+th»ad
+ = 
+\8bmp3
+ % 
+Áh»ads
+;
+
+366 
+th»ad
+ = 
+->
+\9a_pÜt_id
+ + (
+p_lßdb
+->
+p
+.
+n_pÜts_\9a
+ *
+
+367 (
+th»ad
+ + 1è- 
+p_lßdb
+->
+p
+.
+n_pÜts_\9a
+);
+
+369 \15 
+th»ad
+;
+
+374 
+hash_key
+[0] = 
+       `¹e_bsw­32
+(*
+¤c_addr
+);
+
+377 
+hash_\9dv4
+ = 
+       `¹e_jhash
+(&
+hash_key
+[0], 4, 0);
+
+380 
+th»ad
+ = 
+hash_\9dv4
+ % 
+Áh»ads
+;
+
+382 
+th»ad
+ = 
+->
+\9a_pÜt_id
+ + (
+p_lßdb
+->
+p
+.
+n_pÜts_\9a
+ *
+
+383 (
+th»ad
+ + 1è- 
+p_lßdb
+->
+p
+.
+n_pÜts_\9a
+);
+
+385 ià(
+LOADB_DEBUG
+ > 3)
+
+386 
+       `´\9atf
+("thread: %u hash: %x hash_key: %x\n",
+
+387 
+th»ad
+, 
+hash_\9dv4
+, 
+hash_key
+[0]);
+
+388 \15 
+th»ad
+;
+
+393 
+hash_key
+[0] = 
+       `¹e_bsw­32
+(*
+¤c_addr
+);
+
+394 
+hash_key
+[1] = *
+¤c_pÜt
+ << 16;
+
+397 
+hash_\9dv4
+ = 
+       `¹e_jhash
+(&
+hash_key
+[0], 6, 0);
+
+400 
+th»ad
+ = 
+hash_\9dv4
+ % 
+Áh»ads
+;
+
+402 
+th»ad
+ = 
+->
+\9a_pÜt_id
+ + (
+p_lßdb
+->
+p
+.
+n_pÜts_\9a
+ *
+
+403 (
+th»ad
+ + 1è- 
+p_lßdb
+->
+p
+.
+n_pÜts_\9a
+);
+
+405 ià(
+LOADB_DEBUG
+ > 3) {
+
+406 
+       `´\9atf
+("thread: %u hash: %x hash_key0: %x "
+
+407 "hash_key1: %x\n", 
+th»ad
+, 
+hash_\9dv4
+,
+
+408 
+hash_key
+[0], hash_key[1]);
+
+409 
+       `´\9atf
+("public_addr: %x\85ublic_port: %x\n",
+
+410 
+hash_key
+[0], *
+¤c_pÜt
+);
+
+412 \15 
+th»ad
+;
+
+415 
+       `´\9atf
+("Inv®id\82_lb_tu¶es: %d\n", 
+p_lßdb
+->
+n_lb_tu¶es
+);
+
+420 
+tu¶e
+.
+v4
+.
+¤c_addr
+ = 
+       `¹e_bsw­32
+(*src_addr);
+
+421 
+tu¶e
+.
+v4
+.
+d¡_addr
+ = 
+       `¹e_bsw­32
+(*dst_addr);
+
+422 
+tu¶e
+.
+v4
+.
+¥Üt
+ = *
+¤c_pÜt
+;
+
+423 
+tu¶e
+.
+v4
+.
+dpÜt
+ = *
+d¡_pÜt
+;
+
+426 
+hash_\9dv4
+ = 
+       `¹e_soárss
+((
+u\9at32_t
+ *)&
+tu¶e
+,
+
+427 
+RTE_THASH_V4_L4_LEN
+, 
+deçuÉ_rss_key
+);
+
+431 
+th»ad
+ = 
+hash_\9dv4
+ % 
+Áh»ads
+;
+
+433 
+th»ad
+ = 
+->
+\9a_pÜt_id
+ + (
+p_lßdb
+->
+p
+.
+n_pÜts_\9a
+ *
+
+434 (
+th»ad
+ + 1è- 
+p_lßdb
+->
+p
+.
+n_pÜts_\9a
+);
+
+436 ià(
+LOADB_DEBUG
+ > 3) {
+
+437 
+       `´\9atf
+("src_addr: %x dst_addr: %x src_port: %x "
+
+438 "d¡_pÜt: %x\n", 
+tu¶e
+.
+v4
+.
+¤c_addr
+,
+
+439 
+tu¶e
+.
+v4
+.
+d¡_addr
+,\81u¶e.v4.
+¥Üt
+,\81u¶e.v4.
+dpÜt
+);
+
+441 
+       `´\9atf
+("th»ad: %u hash: %x\n", 
+th»ad
+, 
+hash_\9dv4
+);
+
+443 \15 
+th»ad
+;
+
+447 ià(
+       `¹e_be_to_ýu_16
+(
+lb_pkt
+->
+\91h
+.
+\91h\94_ty³
+) ==
+
+448 
+ETHER_TYPE_IPv6
+) {
+
+450 
+¤c_addr
+ += 3;
+
+451 
+d¡_addr
+ += 3;
+
+455 
+\8bmp1
+ = *
+¤c_addr
+ ^ *
+d¡_addr
+ ^ *
+¤c_pÜt
+ ^
+
+456 *
+d¡_pÜt
+ ^ *
+´ÙocÞ
+;
+
+457 
+\8bmp2
+ = (
+\8bmp1
+ >> 24) ^ (temp1 >> 16) ^
+
+458 (
+\8bmp1
+ >> 8) ^\81emp1;
+
+459 
+\8bmp3
+ = (
+\8bmp2
+ >> 4) ^ (temp2 & 0xf);
+
+462 
+th»ad
+ = 
+\8bmp3
+ % 
+Áh»ads
+;
+
+464 
+th»ad
+ = 
+->
+\9a_pÜt_id
+ + (
+p_lßdb
+->
+p
+.
+n_pÜts_\9a
+ *
+
+465 (
+th»ad
+ + 1è- 
+p_lßdb
+->
+p
+.
+n_pÜts_\9a
+);
+
+467 ià(
+LOADB_DEBUG
+ > 3) {
+
+468 
+       `´\9atf
+("src_addr: %x dst_addr: %x src_port: %x "
+
+469 "d¡_pÜt: %x\85rÙocÞ: %x\n", *
+¤c_addr
+, *
+d¡_addr
+,
+
+470 *
+¤c_pÜt
+, *
+d¡_pÜt
+, *
+´ÙocÞ
+);
+
+472 
+       `´\9atf
+("thread: %u\81emp1: %x\81emp2: %x\81emp3: %x\n",
+
+473 
+th»ad
+, 
+\8bmp1
+, 
+\8bmp2
+, 
+\8bmp3
+);
+
+476 \15 
+th»ad
+;
+
+479 
+       `´\9atf
+("Inv®id\82_lb_tu¶es: %d\n", 
+p_lßdb
+->
+n_lb_tu¶es
+);
+
+483 
+       }
+}
+
+485 \18
+\9al\9ae
\1e
+
+486 
+       $pkt_wÜk_lßdb_key_´v
+(
+
+487 \19
+¹e_mbuf
+ *
+pkt
+,
+
+488 
+__¹e_unu£d
+u\9at32_t
+pkt_num
+,
+
+489 \1e*
+¬g
+)
+
+491 \19
+p\9d\96\9ae_lßdb_\9a_pÜt_h_¬g
+ *
+ = 
+¬g
+;
+
+492 \19
+p\9d\96\9ae_lßdb
+ *
+p_lßdb
+ = (\19p\9d\96\9ae_lßdb *)
+->
+p
+;
+
+493 
+u\9at32_t
+ou\8dÜt_off£t
+ = 
+p_lßdb
+->outport_offset;
+
+495 \19
+lb_pkt
+ *lb_pkt = (\19lb_pkt *)
+
+496 
+       `RTE_MBUF_METADATA_UINT8_PTR
+(
+pkt
+,
+
+497 
+MBUF_HDR_ROOM
+);
+
+498 
+u\9at32_t
+ *
+out_pÜt
+ = 
+       `RTE_MBUF_METADATA_UINT32_PTR
+(
+pkt
+,
+
+499 
+ou\8dÜt_off£t
+);
+
+501 #ifdeà
+MY_LOADB_DBG_PRINT
+
+
+502 ià(
+LOADB_DEBUG
+ == 3)
+
+503 
+       `´\9atf
+("Start\85kt_work_loadb_key\n");
+
+506 ià((
+LOADB_DEBUG
+ > 2è&& (
+lb_pkt_´\9at_couÁ
+ < 10)) {
+
+507 
+       `´\9at_pkt1
+(
+pkt
+);
+
+508 
+lb_pkt_´\9at_couÁ
+++;
+
+509 
+       `´\9atf
+("\nEth Typ %x, Prot %x, ETH_TYPE_ARP %x, "
+
+511 
+       `¹e_be_to_ýu_16
+(
+lb_pkt
+->
+\91h
+.
+\91h\94_ty³
+),
+
+512 
+lb_pkt
+->
+\9dv4_pÜt
+.
+\9dv4
+.
+Ãxt_´Ùo_id
+, 
+ETH_TYPE_ARP
+,
+
+513 
+ETH_TYPE_IPV4
+, 
+IP_PROTOCOL_ICMP
+);
+
+517 *
+out_pÜt
+ = 
+       `ÿlcuÏ\8b_lb_th»ad_´v
+(
+pkt
+, 
+¬g
+);
+
+519 
+p_lßdb
+->
+»ûivedLBPktCouÁ
+++;
+
+521 #ifdeà
+MY_LOADB_DBG_PRINT
+
+
+522 ià(
+LOADB_DEBUG
+ == 3)
+
+523 
+       `´\9atf
+("End\85kt_work_loadb_key\n");
+
+525 
+       }
+}
+
+527 \18
+\9al\9ae
\1e
+
+528 
+       $pkt_wÜk_lßdb_key_pub
+(
+
+529 \19
+¹e_mbuf
+ *
+pkt
+,
+
+530 
+__¹e_unu£d
+u\9at32_t
+pkt_num
+,
+
+531 \1e*
+¬g
+)
+
+533 \19
+p\9d\96\9ae_lßdb_\9a_pÜt_h_¬g
+ *
+ = 
+¬g
+;
+
+534 \19
+p\9d\96\9ae_lßdb
+ *
+p_lßdb
+ = (\19p\9d\96\9ae_lßdb *)
+->
+p
+;
+
+535 
+u\9at32_t
+ou\8dÜt_off£t
+ = 
+p_lßdb
+->outport_offset;
+
+537 \19
+lb_pkt
+ *lb_pkt = (\19lb_pkt *)
+
+538 
+       `RTE_MBUF_METADATA_UINT8_PTR
+(
+pkt
+,
+
+539 
+MBUF_HDR_ROOM
+);
+
+540 
+u\9at32_t
+ *
+out_pÜt
+ = 
+       `RTE_MBUF_METADATA_UINT32_PTR
+(
+pkt
+,
+
+541 
+ou\8dÜt_off£t
+);
+
+543 #ifdeà
+MY_LOADB_DBG_PRINT
+
+
+544 ià(
+LOADB_DEBUG
+ == 3)
+
+545 
+       `´\9atf
+("Start\85kt_work_loadb_key\n");
+
+548 ià((
+LOADB_DEBUG
+ > 2è&& (
+lb_pkt_´\9at_couÁ
+ < 10)) {
+
+549 
+       `´\9at_pkt1
+(
+pkt
+);
+
+550 
+lb_pkt_´\9at_couÁ
+++;
+
+551 
+       `´\9atf
+("\nEth Typ %x, Prot %x, ETH_TYPE_ARP %x, "
+
+553 
+       `¹e_be_to_ýu_16
+(
+lb_pkt
+->
+\91h
+.
+\91h\94_ty³
+),
+
+554 
+lb_pkt
+->
+\9dv4_pÜt
+.
+\9dv4
+.
+Ãxt_´Ùo_id
+, 
+ETH_TYPE_ARP
+,
+
+555 
+ETH_TYPE_IPV4
+, 
+IP_PROTOCOL_ICMP
+);
+
+559 *
+out_pÜt
+ = 
+       `ÿlcuÏ\8b_lb_th»ad_pub
+(
+pkt
+, 
+¬g
+);
+
+561 
+p_lßdb
+->
+»ûivedLBPktCouÁ
+++;
+
+562 #ifdeà
+MY_LOADB_DBG_PRINT
+
+
+563 ià(
+LOADB_DEBUG
+ == 3)
+
+564 
+       `´\9atf
+("End\85kt_work_loadb_key\n");
+
+566 
+       }
+}
+
+568 \18
+\9al\9ae
\1e
+
+569 
+       $pkt4_wÜk_lßdb_key_´v
+(
+
+570 \19
+¹e_mbuf
+ **
+pkt
+,
+
+571 
+__¹e_unu£d
+u\9at32_t
+pkt_num
+,
+
+572 \1e*
+¬g
+)
+
+574 \19
+p\9d\96\9ae_lßdb_\9a_pÜt_h_¬g
+ *
+ = 
+¬g
+;
+
+575 \19
+p\9d\96\9ae_lßdb
+ *
+p_lßdb
+ = (\19p\9d\96\9ae_lßdb *)
+->
+p
+;
+
+576 
+u\9at32_t
+ou\8dÜt_off£t
+ = 
+p_lßdb
+->outport_offset;
+
+578 
+u\9at32_t
+ *
+out_pÜt0
+ = 
+       `RTE_MBUF_METADATA_UINT32_PTR
+(
+pkt
+[0],
+
+579 
+ou\8dÜt_off£t
+);
+
+580 
+u\9at32_t
+ *
+out_pÜt1
+ = 
+       `RTE_MBUF_METADATA_UINT32_PTR
+(
+pkt
+[1],
+
+581 
+ou\8dÜt_off£t
+);
+
+582 
+u\9at32_t
+ *
+out_pÜt2
+ = 
+       `RTE_MBUF_METADATA_UINT32_PTR
+(
+pkt
+[2],
+
+583 
+ou\8dÜt_off£t
+);
+
+584 
+u\9at32_t
+ *
+out_pÜt3
+ = 
+       `RTE_MBUF_METADATA_UINT32_PTR
+(
+pkt
+[3],
+
+585 
+ou\8dÜt_off£t
+);
+
+587 \19
+lb_pkt
+ *
+lb_pkt0
+ = (\19lb_pkt *)
+
+588 
+       `RTE_MBUF_METADATA_UINT8_PTR
+(
+pkt
+[0],
+
+589 
+MBUF_HDR_ROOM
+);
+
+590 \19
+lb_pkt
+ *
+lb_pkt1
+ = (\19lb_pkt *)
+
+591 
+       `RTE_MBUF_METADATA_UINT8_PTR
+(
+pkt
+[1],
+
+592 
+MBUF_HDR_ROOM
+);
+
+593 \19
+lb_pkt
+ *
+lb_pkt2
+ = (\19lb_pkt *)
+
+594 
+       `RTE_MBUF_METADATA_UINT8_PTR
+(
+pkt
+[2],
+
+595 
+MBUF_HDR_ROOM
+);
+
+596 \19
+lb_pkt
+ *
+lb_pkt3
+ = (\19lb_pkt *)
+
+597 
+       `RTE_MBUF_METADATA_UINT8_PTR
+(
+pkt
+[3],
+
+598 
+MBUF_HDR_ROOM
+);
+
+600 #ifdeà
+MY_LOADB_DBG_PRINT
+
+
+601 ià(
+LOADB_DEBUG
+ == 3)
+
+602 
+       `´\9atf
+("Start\85kt4_work_loadb_key\n");
+
+605 ià((
+LOADB_DEBUG
+ > 2è&& (
+lb_pkt_´\9at_couÁ
+ < 10)) {
+
+606 
+       `´\9at_pkt1
+(
+pkt
+[0]);
+
+607 
+lb_pkt_´\9at_couÁ
+++;
+
+609 
+       `´\9atf
+("\nEth Typ %x, Prot %x\n",
+
+610 
+       `¹e_be_to_ýu_16
+(
+lb_pkt0
+->
+\91h
+.
+\91h\94_ty³
+),
+
+611 
+lb_pkt0
+->
+\9dv4_pÜt
+.
+\9dv4
+.
+Ãxt_´Ùo_id
+);
+
+613 
+       `´\9at_pkt1
+(
+pkt
+[1]);
+
+614 
+lb_pkt_´\9at_couÁ
+++;
+
+616 
+       `´\9atf
+("\nEth Typ %x, Prot %x\n",
+
+617 
+       `¹e_be_to_ýu_16
+(
+lb_pkt1
+->
+\91h
+.
+\91h\94_ty³
+),
+
+618 
+lb_pkt1
+->
+\9dv4_pÜt
+.
+\9dv4
+.
+Ãxt_´Ùo_id
+);
+
+620 
+       `´\9at_pkt1
+(
+pkt
+[2]);
+
+621 
+lb_pkt_´\9at_couÁ
+++;
+
+623 
+       `´\9atf
+("\nEth Typ %x, Prot %x\n",
+
+624 
+       `¹e_be_to_ýu_16
+(
+lb_pkt2
+->
+\91h
+.
+\91h\94_ty³
+),
+
+625 
+lb_pkt2
+->
+\9dv4_pÜt
+.
+\9dv4
+.
+Ãxt_´Ùo_id
+);
+
+627 
+       `´\9at_pkt1
+(
+pkt
+[3]);
+
+628 
+lb_pkt_´\9at_couÁ
+++;
+
+630 
+       `´\9atf
+("\nEth Typ %x, Prot %x\n",
+
+631 
+       `¹e_be_to_ýu_16
+(
+lb_pkt3
+->
+\91h
+.
+\91h\94_ty³
+),
+
+632 
+lb_pkt3
+->
+\9dv4_pÜt
+.
+\9dv4
+.
+Ãxt_´Ùo_id
+);
+
+634 *
+out_pÜt0
+ = 
+       `ÿlcuÏ\8b_lb_th»ad_´v
+(
+pkt
+[0], 
+¬g
+);
+
+635 *
+out_pÜt1
+ = 
+       `ÿlcuÏ\8b_lb_th»ad_´v
+(
+pkt
+[1], 
+¬g
+);
+
+636 *
+out_pÜt2
+ = 
+       `ÿlcuÏ\8b_lb_th»ad_´v
+(
+pkt
+[2], 
+¬g
+);
+
+637 *
+out_pÜt3
+ = 
+       `ÿlcuÏ\8b_lb_th»ad_´v
+(
+pkt
+[3], 
+¬g
+);
+
+639 
+p_lßdb
+->
+»ûivedLBPktCouÁ
+ += 4;
+
+641 #ifdeà
+MY_LOADB_DBG_PRINT
+
+
+642 ià(
+LOADB_DEBUG
+ == 3)
+
+643 
+       `´\9atf
+("End\85kt4_work_loadb_key\n");
+
+646 
+       }
+}
+
+648 \18
+\9al\9ae
\1e
+
+649 
+       $pkt4_wÜk_lßdb_key_pub
+(
+
+650 \19
+¹e_mbuf
+ **
+pkt
+,
+
+651 
+__¹e_unu£d
+u\9at32_t
+pkt_num
+,
+
+652 \1e*
+¬g
+)
+
+654 \19
+p\9d\96\9ae_lßdb_\9a_pÜt_h_¬g
+ *
+ = 
+¬g
+;
+
+655 \19
+p\9d\96\9ae_lßdb
+ *
+p_lßdb
+ = (\19p\9d\96\9ae_lßdb *)
+->
+p
+;
+
+656 
+u\9at32_t
+ou\8dÜt_off£t
+ = 
+p_lßdb
+->outport_offset;
+
+658 
+u\9at32_t
+ *
+out_pÜt0
+ = 
+       `RTE_MBUF_METADATA_UINT32_PTR
+(
+pkt
+[0],
+
+659 
+ou\8dÜt_off£t
+);
+
+660 
+u\9at32_t
+ *
+out_pÜt1
+ = 
+       `RTE_MBUF_METADATA_UINT32_PTR
+(
+pkt
+[1],
+
+661 
+ou\8dÜt_off£t
+);
+
+662 
+u\9at32_t
+ *
+out_pÜt2
+ = 
+       `RTE_MBUF_METADATA_UINT32_PTR
+(
+pkt
+[2],
+
+663 
+ou\8dÜt_off£t
+);
+
+664 
+u\9at32_t
+ *
+out_pÜt3
+ = 
+       `RTE_MBUF_METADATA_UINT32_PTR
+(
+pkt
+[3],
+
+665 
+ou\8dÜt_off£t
+);
+
+667 \19
+lb_pkt
+ *
+lb_pkt0
+ = (\19lb_pkt *)
+
+668 
+       `RTE_MBUF_METADATA_UINT8_PTR
+(
+pkt
+[0],
+
+669 
+MBUF_HDR_ROOM
+);
+
+670 \19
+lb_pkt
+ *
+lb_pkt1
+ = (\19lb_pkt *)
+
+671 
+       `RTE_MBUF_METADATA_UINT8_PTR
+(
+pkt
+[1],
+
+672 
+MBUF_HDR_ROOM
+);
+
+673 \19
+lb_pkt
+ *
+lb_pkt2
+ = (\19lb_pkt *)
+
+674 
+       `RTE_MBUF_METADATA_UINT8_PTR
+(
+pkt
+[2],
+
+675 
+MBUF_HDR_ROOM
+);
+
+676 \19
+lb_pkt
+ *
+lb_pkt3
+ = (\19lb_pkt *)
+
+677 
+       `RTE_MBUF_METADATA_UINT8_PTR
+(
+pkt
+[3],
+
+678 
+MBUF_HDR_ROOM
+);
+
+680 #ifdeà
+MY_LOADB_DBG_PRINT
+
+
+681 ià(
+LOADB_DEBUG
+ == 3)
+
+682 
+       `´\9atf
+("Start\85kt4_work_loadb_key\n");
+
+685 ià((
+LOADB_DEBUG
+ > 2è&& (
+lb_pkt_´\9at_couÁ
+ < 10)) {
+
+686 
+       `´\9at_pkt1
+(
+pkt
+[0]);
+
+687 
+lb_pkt_´\9at_couÁ
+++;
+
+689 
+       `´\9atf
+("\nEth Typ %x, Prot %x\n",
+
+690 
+       `¹e_be_to_ýu_16
+(
+lb_pkt0
+->
+\91h
+.
+\91h\94_ty³
+),
+
+691 
+lb_pkt0
+->
+\9dv4_pÜt
+.
+\9dv4
+.
+Ãxt_´Ùo_id
+);
+
+693 
+       `´\9at_pkt1
+(
+pkt
+[1]);
+
+694 
+lb_pkt_´\9at_couÁ
+++;
+
+696 
+       `´\9atf
+("\nEth Typ %x, Prot %x\n",
+
+697 
+       `¹e_be_to_ýu_16
+(
+lb_pkt1
+->
+\91h
+.
+\91h\94_ty³
+),
+
+698 
+lb_pkt1
+->
+\9dv4_pÜt
+.
+\9dv4
+.
+Ãxt_´Ùo_id
+);
+
+700 
+       `´\9at_pkt1
+(
+pkt
+[2]);
+
+701 
+lb_pkt_´\9at_couÁ
+++;
+
+703 
+       `´\9atf
+("\nEth Typ %x, Prot %x\n",
+
+704 
+       `¹e_be_to_ýu_16
+(
+lb_pkt2
+->
+\91h
+.
+\91h\94_ty³
+),
+
+705 
+lb_pkt2
+->
+\9dv4_pÜt
+.
+\9dv4
+.
+Ãxt_´Ùo_id
+);
+
+707 
+       `´\9at_pkt1
+(
+pkt
+[3]);
+
+708 
+lb_pkt_´\9at_couÁ
+++;
+
+710 
+       `´\9atf
+("\nEth Typ %x, Prot %x\n",
+
+711 
+       `¹e_be_to_ýu_16
+(
+lb_pkt3
+->
+\91h
+.
+\91h\94_ty³
+),
+
+712 
+lb_pkt3
+->
+\9dv4_pÜt
+.
+\9dv4
+.
+Ãxt_´Ùo_id
+);
+
+714 *
+out_pÜt0
+ = 
+       `ÿlcuÏ\8b_lb_th»ad_´v
+(
+pkt
+[0], 
+¬g
+);
+
+715 *
+out_pÜt1
+ = 
+       `ÿlcuÏ\8b_lb_th»ad_pub
+(
+pkt
+[1], 
+¬g
+);
+
+716 *
+out_pÜt2
+ = 
+       `ÿlcuÏ\8b_lb_th»ad_pub
+(
+pkt
+[2], 
+¬g
+);
+
+717 *
+out_pÜt3
+ = 
+       `ÿlcuÏ\8b_lb_th»ad_pub
+(
+pkt
+[3], 
+¬g
+);
+
+719 
+p_lßdb
+->
+»ûivedLBPktCouÁ
+ += 4;
+
+720 #ifdeà
+MY_LOADB_DBG_PRINT
+
+
+721 ià(
+LOADB_DEBUG
+ == 3)
+
+722 
+       `´\9atf
+("End\85kt4_work_loadb_key\n");
+
+725 
+       }
+}
+
+727 
+PIPELINE_LOADB_KEY_PORT_IN_AH
+(
+pÜt_\9a_ah_lßdb_key_´v
+,
+
+728 
+pkt_wÜk_lßdb_key_´v
+,
+
+729 
+pkt4_wÜk_lßdb_key_´v
+);
+
+731 
+PIPELINE_LOADB_KEY_PORT_IN_AH
+(
+pÜt_\9a_ah_lßdb_key_pub
+,
+
+732 
+pkt_wÜk_lßdb_key_pub
+,
+
+733 
+pkt4_wÜk_lßdb_key_pub
+);
+
+736 
+       $p\9d\96\9ae_lßdb_·r£_¬gs
+(\19
+p\9d\96\9ae_lßdb
+ *
+p
+,
+
+737 \19
+p\9d\96\9ae_·¿ms
+ *
+·¿ms
+)
+
+739 
+u\9at32_t
+ou\8dÜt_off£t_´e£Á
+ = 0;
+
+740 
+u\9at32_t
+n_vnf_th»ads_´e£Á
+ = 0;
+
+741 
+u\9at32_t
+pktq_\9a_´v_´e£Á
+ = 0;
+
+742 
+u\9at32_t
+´v_que_hªdËr_´e£Á
+ = 0;
+
+743 
+u\9at32_t
+´v_to_pub_m­_´e£Á
+ = 0;
+
+744 
+u\9at8_t
+n_´v_\9a_pÜt
+ = 0;
+
+745 
+u\9at32_t
+i
+;
+
+748 
+p
+->
+n_lb_tu¶es
+ = 0;
+
+750 ià(
+LOADB_DEBUG
+ > 2)
+
+751 
+       `´\9atf
+("LOADB\85ipeline_loadb_parse_args\85arams->n_args: %d\n",
+
+752 
+·¿ms
+->
+n_¬gs
+);
+
+754 \ f
+i
+ = 0; i < 
+·¿ms
+->
+n_¬gs
+; i++) {
+
+755 \ 5*
+¬g_Çme
+ = 
+·¿ms
+->
+¬gs_Çme
+[
+i
+];
+
+756 \ 5*
+¬g_v®ue
+ = 
+·¿ms
+->
+¬gs_v®ue
+[
+i
+];
+
+758 ià(
+LOADB_DEBUG
+ > 2)
+
+759 
+       `´\9atf
+("LOADB\87rgs[%d]: % %d, %s\n", 
+i
+, 
+¬g_Çme
+,
+
+760 
+       `©oi
+(
+¬g_v®ue
+),\87rg_value);
+
+763 ià(
+       `¡rcmp
+(
+¬g_Çme
+, "outport_offset") == 0) {
+
+764 ià(
+ou\8dÜt_off£t_´e£Á
+)
+
+766 
+ou\8dÜt_off£t_´e£Á
+ = 1;
+
+768 
+p
+->
+ou\8dÜt_off£t
+ = 
+       `©oi
+(
+¬g_v®ue
+);
+
+769 ià(
+p
+->
+ou\8dÜt_off£t
+ <= 0) {
+
+770 
+       `´\9atf
+("Outport_offset is invalid\n");
+
+773 
+       `´\9atf
+("ou\8dÜt_off£t: 0x%x\n", 
+p
+->
+ou\8dÜt_off£t
+);
+
+777 ià(
+       `¡rcmp
+(
+¬g_Çme
+, "n_vnf_threads") == 0) {
+
+778 ià(
+n_vnf_th»ads_´e£Á
+)
+
+780 
+n_vnf_th»ads_´e£Á
+ = 1;
+
+782 
+p
+->
+n_vnf_th»ads
+ = 
+       `©oi
+(
+¬g_v®ue
+);
+
+784 
+tÙ®_vnf_th»ads
+ +ð
+p
+->
+n_vnf_th»ads
+;
+
+786 ià((
+p
+->
+n_vnf_th»ads
+ <= 0)
+
+787 || (
+tÙ®_vnf_th»ads
+ > 
+MAX_VNF_THREADS
+)) {
+
+788 
+       `´\9atf
+("n_vnf_threads : MIN->0 MAX->16\n");
+
+791 
+       `´\9atf
+("n_vnf_th»ad  : 0x%x\n", 
+p
+->
+n_vnf_th»ads
+);
+
+792 
+       `´\9atf
+("tÙ®_vnf_th»ads: 0x%x\n", 
+tÙ®_vnf_th»ads
+);
+
+797 ià(
+       `¡rcmp
+(
+¬g_Çme
+, "pktq_in_prv") == 0) {
+
+798 ià(
+pktq_\9a_´v_´e£Á
+) {
+
+799 
+       `´\9atf
+("Duplicate\85ktq_in_prv ... "
+
+803 
+pktq_\9a_´v_´e£Á
+ = 1;
+
+805 \12
+rxpÜt
+ = 0, 
+j
+ = 0;
+
+806 \ 5
+phy_pÜt_num
+[8];
+
+807 \ 5*
+tok\92
+ = 
+       `¡¹ok
+(
+¬g_v®ue
+, "RXQ");
+
+808 \1f
+tok\92
+) {
+
+809 
+j
+ = 0;
+
+810 \1f(
+j
+ < 7è&& (
+tok\92
+[j] != '.')) {
+
+811 
+phy_pÜt_num
+[
+j
+] = 
+tok\92
+[j];
+
+812 
+j
+++;
+
+814 
+phy_pÜt_num
+[
+j
+] = '\0';
+
+815 
+rxpÜt
+ = 
+       `©oi
+(
+phy_pÜt_num
+);
+
+816 
+       `´\9atf
+("token: %s,\85hy_port_str: %s, "
+
+818 
+tok\92
+, 
+phy_pÜt_num
+, 
+rxpÜt
+);
+
+819 
+´v_\9a_pÜt_a
+[
+n_´v_\9a_pÜt
+++] = 
+rxpÜt
+;
+
+821 ià(
+rxpÜt
+ < 0xff){
+
+822 if(
+rxpÜt
+ < 
+PIPELINE_MAX_PORT_IN
+)
+
+823 
+\9a_pÜt_d\9c_a
+[
+rxpÜt
+] = 1;
+
+825 
+tok\92
+ = 
+       `¡¹ok
+(
+NULL
+, "RXQ");
+
+828 ià(
+n_´v_\9a_pÜt
+ == 0) {
+
+829 
+       `´\9atf
+("VNF common\85arse\83rror - "
+
+838 ià(
+       `¡rcmp
+(
+¬g_Çme
+, "prv_que_handler") == 0) {
+
+840 ià(
+´v_que_hªdËr_´e£Á
+) {
+
+841 
+       `´\9atf
+("Duplicate\85ktq_in_prv ..\n\n");
+
+844 
+´v_que_hªdËr_´e£Á
+ = 1;
+
+845 
+n_´v_\9a_pÜt
+ = 0;
+
+847 \ 5*
+tok\92
+;
+
+848 \12
+rxpÜt
+ = 0;
+
+850 
+tok\92
+ = 
+       `¡¹ok
+(
+¬g_v®ue
+, "(");
+
+851 
+tok\92
+ = 
+       `¡¹ok
+(token, ")");
+
+852 
+tok\92
+ = 
+       `¡¹ok
+(token, ",");
+
+853 
+       `´\9atf
+("*****\85rv_que_handler *****\n");
+
+854 ià(
+tok\92
+)
+
+855 
+       `´\9atf
+("¡r\9ag i :%s\n", 
+tok\92
+);
+
+857 ià(
+tok\92
+)
+
+859 
+       `´\9atf
+("¡r\9ag i :%s\n", 
+tok\92
+);
+
+862 \1f
+tok\92
+ !ð
+NULL
+) {
+
+863 
+       `´\9atf
+(" %s\n", 
+tok\92
+);
+
+864 
+rxpÜt
+ = 
+       `©oi
+(
+tok\92
+);
+
+865 
+´v_que_pÜt_\9adex
+[
+n_´v_\9a_pÜt
+++] = 
+rxpÜt
+;
+
+866 ià(
+rxpÜt
+ < 0xff){
+
+867 if(
+rxpÜt
+ < 
+PIPELINE_MAX_PORT_IN
+)
+
+868 
+\9a_pÜt_eg»ss_´v
+[
+rxpÜt
+] = 1;
+
+870 
+p
+->
+n_´v_Q
+++;
+
+871 
+tok\92
+ = 
+       `¡¹ok
+(
+NULL
+, ",");
+
+874 ià(
+n_´v_\9a_pÜt
+ == 0) {
+
+875 
+       `´\9atf
+("VNF common\85arse\83rr -\82o\85rv RX\85hy\85ort\n");
+
+882 ià(
+       `¡rcmp
+(
+¬g_Çme
+, "prv_to_pub_map") == 0) {
+
+883 ià(
+´v_to_pub_m­_´e£Á
+) {
+
+884 
+       `´\9atf
+("Duplicated\85rv_to_pub_map ... "
+
+888 
+´v_to_pub_m­_´e£Á
+ = 1;
+
+890 \12
+rxpÜt
+ = 0, 
+txpÜt
+ = 0, 
+j
+ = 0, 
+k
+ = 0;
+
+891 \ 5
+rx_phy_pÜt_num
+[5];
+
+892 \ 5
+tx_phy_pÜt_num
+[5];
+
+893 \ 5*
+tok\92
+ = 
+       `¡¹ok
+(
+¬g_v®ue
+, "(");
+
+894 \1f
+tok\92
+) {
+
+895 
+j
+ = 0;
+
+896 \1f(
+j
+ < 4è&& (
+tok\92
+[j] != ',')) {
+
+897 
+rx_phy_pÜt_num
+[
+j
+] = 
+tok\92
+[j];
+
+898 
+j
+++;
+
+900 
+rx_phy_pÜt_num
+[
+j
+] = '\0';
+
+901 
+rxpÜt
+ = 
+       `©oi
+(
+rx_phy_pÜt_num
+);
+
+903 
+j
+++;
+
+904 
+k
+ = 0;
+
+905 \1f(
+k
+ < 4è&& (
+tok\92
+[
+j
++k] != ')')) {
+
+906 
+tx_phy_pÜt_num
+[
+k
+] = 
+tok\92
+[
+j
++k];
+
+907 
+k
+++;
+
+909 
+tx_phy_pÜt_num
+[
+k
+] = '\0';
+
+910 
+txpÜt
+ = 
+       `©oi
+(
+tx_phy_pÜt_num
+);
+
+912 
+       `´\9atf
+("token: %s,rx_phy_port_str: %s,\85hy_port_num "
+
+914 
+tok\92
+, 
+rx_phy_pÜt_num
+, 
+rxpÜt
+,
+
+915 
+tx_phy_pÜt_num
+, 
+txpÜt
+);
+
+916 if(
+rxpÜt
+ < 
+PIPELINE_MAX_PORT_IN
+)
+
+917 ià((
+rxpÜt
+ >ð
+PIPELINE_MAX_PORT_IN
+) ||
+
+918 (
+txpÜt
+ >ð
+PIPELINE_MAX_PORT_IN
+) ||
+
+919 (
+\9a_pÜt_d\9c_a
+[
+rxpÜt
+] != 1)) {
+
+920 
+       `´\9atf
+("CG-NAPT\85arse\83rror - "
+
+922 "Tx %d, Rx D\9c %d\n", 
+rxpÜt
+, 
+txpÜt
+,
+
+923 
+\9a_pÜt_d\9c_a
+[
+rxpÜt
+]);
+
+927 ià(
+rxpÜt
+ < 0xff){
+
+928 ià(
+rxpÜt
+ < 
+PIPELINE_MAX_PORT_IN
+)
+
+929 
+´v_to_pub_m­
+[
+rxpÜt
+] = 
+txpÜt
+;
+
+931 ià(
+txpÜt
+ < 0xff)
+
+932 if(
+txpÜt
+ < 
+PIPELINE_MAX_PORT_IN
+)
+
+933 
+pub_to_´v_m­
+[
+txpÜt
+] = 
+rxpÜt
+;
+
+934 
+tok\92
+ = 
+       `¡¹ok
+(
+NULL
+, "(");
+
+940 ià(
+       `¡rcmp
+(
+¬g_Çme
+, "n_lb_tuples") == 0) {
+
+941 
+p
+->
+n_lb_tu¶es
+ = 
+       `©oi
+(
+¬g_v®ue
+);
+
+942 
+       `´\9atf
+("n_lb_tu¶es: 0x%x\n", 
+p
+->
+n_lb_tu¶es
+);
+
+946 ià(
+       `¡rcmp
+(
+¬g_Çme
+, "loadb_debug") == 0) {
+
+947 
+LOADB_DEBUG
+ = 
+       `©oi
+(
+¬g_v®ue
+);
+
+955 ià((
+n_vnf_th»ads_´e£Á
+ =ð0è|| (
+ou\8dÜt_off£t_´e£Á
+ == 0))
+
+960 
+       }
+}
+
+962 \12
+       $check_lßdb_th»ad
+(
+
+963 \19
+­p_·¿ms
+ *
+­p
+,
+
+964 \19
+p\9d\96\9ae_·¿ms
+ *
+·¿ms
+,
+
+965 
+\9at32_t
+n_vnf_th»ads
+)
+
+967 
+u\9at32_t
+i
+;
+
+968 \12
+p\9d\96\9ae_num
+ = 0;
+
+969 \12
+couÁ
+ = 0;
+
+970 \12
+dÚt_ÿ»
+ = 
+       `ssÿnf
+(
+·¿ms
+->
+Çme
+, "PIPELINE%d", &
+p\9d\96\9ae_num
+);
+
+971 ià(
+dÚt_ÿ»
+ != 1)
+
+974 \ f
+i
+ = 
+p\9d\96\9ae_num
+ + 2; i < 
+­p
+->
+n_p\9d\96\9aes
+; i++) {
+
+975 \19
+­p_p\9d\96\9ae_·¿ms
+ *
+p
+ = &
+­p
+->
+p\9d\96\9ae_·¿ms
+[
+i
+];
+
+976 ià(!
+       `¡ºcmp
+(
+p
+->
+ty³
+, "LOADB", 
+       `¡¾\92
+(p->type)))
+
+978 
+couÁ
+++;
+
+980 ià(
+n_vnf_th»ads
+ !ð
+couÁ
+)
+
+984 
+       }
+}
+
+986 \18\1e*
+       $p\9d\96\9ae_lßdb_\9a\99
+(
+
+987 \19
+p\9d\96\9ae_·¿ms
+ *
+·¿ms
+,
+
+988 
+__¹e_unu£d
\1e*
+¬g
+)
+
+992 \19
+p\9d\96\9ae
+ *
+p
+;
+
+993 \19
+p\9d\96\9ae_lßdb
+ *
+p_lßdb
+;
+
+994 
+u\9at32_t
+size
+, 
+i
+, 
+\9a_pÜts_¬g_size
+;
+
+997 ià((
+·¿ms
+ =ð
+NULL
+) ||
+
+998 (
+·¿ms
+->
+n_pÜts_\9a
+ =ð0è|| (·¿ms->
+n_pÜts_out
+ == 0))
+
+999 \15 
+NULL
+;
+
+1002 
+size
+ = 
+       `RTE_CACHE_LINE_ROUNDUP
+(\17(\19
+p\9d\96\9ae_lßdb
+));
+
+1003 
+p
+ = 
+       `¹e_zm®loc
+(
+NULL
+, 
+size
+, 
+RTE_CACHE_LINE_SIZE
+);
+
+1004 
+p_lßdb
+ = (\19
+p\9d\96\9ae_lßdb
+ *)
+p
+;
+
+1005 ià(
+p
+ =ð
+NULL
+)
+
+1006 \15 
+NULL
+;
+
+1008 
+       `¡rýy
+(
+p
+->
+Çme
+, 
+·¿ms
+->name);
+
+1009 
+p
+->
+log_Ëv\96
+ = 
+·¿ms
+->log_level;
+
+1011 
+       `PLOG
+(
+p
+, 
+HIGH
+, "LOADB");
+
+1013 
+p_lßdb
+->
+n_vnf_th»ads
+ = 0;
+
+1014 
+p_lßdb
+->
+ou\8dÜt_off£t
+ = 0;
+
+1015 
+p_lßdb
+->
+»ûivedLBPktCouÁ
+ = 0;
+
+1016 
+p_lßdb
+->
+drݳdLBPktCouÁ
+ = 0;
+
+1017 \ f
+i
+ = 0; i < 
+PIPELINE_MAX_PORT_IN
+; i++) {
+
+1018 
+p_lßdb
+->
+l\9aks_m­
+[
+i
+] = 0xff;
+
+1020 
+p_lßdb
+->
+p\9d\96\9ae_num
+ = 0xff;
+
+1021 
+p_lßdb
+->
+n_´v_Q
+ = 0;
+
+1022 
+p_lßdb
+->
+n_pub_Q
+ = 0;
+
+1026 ià(
+       `p\9d\96\9ae_lßdb_·r£_¬gs
+(
+p_lßdb
+, 
+·¿ms
+))
+
+1027 \15 
+NULL
+;
+
+1031 \19
+¹e_p\9d\96\9ae_·¿ms
+p\9d\96\9ae_·¿ms
+ = {
+
+1032 .
+Çme
+ = "LOADB",
+
+1033 .
+sock\91_id
+ = 
+·¿ms
+->socket_id,
+
+1034 .
+off£t_pÜt_id
+ = 0,
+
+1037 
+p
+->°ð
+       `¹e_p\9d\96\9ae_ü\97\8b
+(&
+p\9d\96\9ae_·¿ms
+);
+
+1038 ià(
+p
+->°=ð
+NULL
+) {
+
+1039 
+       `¹e_ä\93
+(
+p
+);
+
+1040 \15 
+NULL
+;
+
+1043 
+       `´\9atf
+("Lßdb\85->°%p, sock\91 %d\n", 
+p
+->p,
+
+1044 
+p\9d\96\9ae_·¿ms
+.
+sock\91_id
+);
+
+1048 
+\9a_pÜts_¬g_size
+ =
+
+1049 
+       `RTE_CACHE_LINE_ROUNDUP
+((\17(\19
+p\9d\96\9ae_lßdb_\9a_pÜt_h_¬g
+))
+
+1050 * (
+·¿ms
+->
+n_pÜts_\9a
+));
+
+1051 \19
+p\9d\96\9ae_lßdb_\9a_pÜt_h_¬g
+ *
+ =
+
+1052 (\19
+p\9d\96\9ae_lßdb_\9a_pÜt_h_¬g
+ *)
+
+1053 
+       `¹e_zm®loc
+(
+NULL
+,
+
+1054 
+\9a_pÜts_¬g_size
+,
+
+1055 
+RTE_CACHE_LINE_SIZE
+);
+
+1056 ià(
+ =ð
+NULL
+)
+
+1057 \15 
+NULL
+;
+
+1059 
+       `´\9atf
+("­\85o\9a\8b¸%p\n", 
+);
+
+1062 
+p
+->
+n_pÜts_\9a
+ = 
+·¿ms
+->n_ports_in;
+
+1063 \ f
+i
+ = 0; i < 
+p
+->
+n_pÜts_\9a
+; i++) {
+
+1065 (
+[
+i
+]).
+p
+ = 
+p_lßdb
+;
+
+1066 (
+[
+i
+]).
+\9a_pÜt_id
+ = i;
+
+1068 \19
+¹e_p\9d\96\9ae_pÜt_\9a_·¿ms
+pÜt_·¿ms
+ = {
+
+1069 .
+Ýs
+ =
+
+1070 
+       `p\9d\96\9ae_pÜt_\9a_·¿ms_g\91_Ýs
+(&
+·¿ms
+->
+pÜt_\9a
+
+
+1071 [
+i
+]),
+
+1072 .
+¬g_ü\97\8b
+ =
+
+1073 
+       `p\9d\96\9ae_pÜt_\9a_·¿ms_cÚv\94t
+(&
+·¿ms
+->
+pÜt_\9a
+
+
+1074 [
+i
+]),
+
+1076 .
+f_aùiÚ
+ = 
+NULL
+,
+
+1077 .
+¬g_ah
+ = &(
+[
+i
+]),
+
+1078 .
+bur¡_size
+ = 
+·¿ms
+->
+pÜt_\9a
+[
+i
+].burst_size,
+
+1082 ià(
+       `is_pÜt_\9adex_´iv\8b
+(
+i
+)) {
+
+1083 
+       `´\9atf
+("LOADB %d\85Ü\88i Prv\n", 
+i
+);
+
+1084 
+pÜt_·¿ms
+.
+f_aùiÚ
+ = 
+pÜt_\9a_ah_lßdb_key_´v
+;
+
+1086 
+       `´\9atf
+("LOADB %d\85Ü\88i Pub\n", 
+i
+);
+
+1087 
+pÜt_·¿ms
+.
+f_aùiÚ
+ = 
+pÜt_\9a_ah_lßdb_key_pub
+;
+
+1090 \12
+¡©us
+ = 
+       `¹e_p\9d\96\9ae_pÜt_\9a\97\8b
+(
+p
+->p,
+
+1091 &
+pÜt_·¿ms
+,
+
+1092 &
+p
+->
+pÜt_\9a_id
+[
+i
+]);
+
+1094 ià(
+¡©us
+) {
+
+1095 
+       `¹e_p\9d\96\9ae_ä\93
+(
+p
+->p);
+
+1096 
+       `¹e_ä\93
+(
+p
+);
+
+1097 \15 
+NULL
+;
+
+1102 
+p_lßdb
+->
+n_pub_Q
+ =\85_lßdb->
+p
+.
+n_pÜts_\9a
+ -\85_lßdb->
+n_´v_Q
+;
+
+1103 
+       `´\9atf
+("LOADB :\82_prv_Q - %d\82_pub_Q - %d\n",
+
+1104 
+p_lßdb
+->
+n_´v_Q
+,\85_lßdb->
+n_pub_Q
+);
+
+1106 \ f
+i
+ = 0; i < 
+p
+->
+n_pÜts_\9a
+; i++) {
+
+1107 
+       `´\9atf
+("is_pÜt_\9adex_´iv\8b(%d): %d\n", 
+i
+,
+
+1108 
+       `is_pÜt_\9adex_´iv\8b
+(
+i
+));
+
+1109 
+       `´\9atf
+("is_phy_pÜt_´iv\8b(%d): %d\n", 
+i
+,
+
+1110 
+       `is_phy_pÜt_´iv\8b
+(
+i
+));
+
+1111 
+       `´\9atf
+("aùiÚ hªd˸oà%d:%p\n", 
+i
+,
+
+1112 
+p_lßdb
+->
+p
+.p->
+pÜts_\9a
+[
+i
+].
+f_aùiÚ
+);
+
+1116 
+p
+->
+n_pÜts_out
+ = 
+·¿ms
+->n_ports_out;
+
+1117 \ f
+i
+ = 0; i < 
+p
+->
+n_pÜts_out
+; i++) {
+
+1118 \19
+¹e_p\9d\96\9ae_pÜt_out_·¿ms
+pÜt_·¿ms
+ = {
+
+1119 .
+Ýs
+ =
+
+1120 
+       `p\9d\96\9ae_pÜt_out_·¿ms_g\91_Ýs
+(&
+·¿ms
+->
+pÜt_out
+
+
+1121 [
+i
+]),
+
+1122 .
+¬g_ü\97\8b
+ =
+
+1123 
+       `p\9d\96\9ae_pÜt_out_·¿ms_cÚv\94t
+(&
+·¿ms
+->
+pÜt_out
+
+
+1124 [
+i
+]),
+
+1125 .
+f_aùiÚ
+ = 
+NULL
+,
+
+1126 .
+¬g_ah
+ = 
+NULL
+,
+
+1129 \12
+¡©us
+ = 
+       `¹e_p\9d\96\9ae_pÜt_out_ü\97\8b
+(
+p
+->p,
+
+1130 &
+pÜt_·¿ms
+,
+
+1131 &
+p
+->
+pÜt_out_id
+[
+i
+]);
+
+1133 ià(
+¡©us
+) {
+
+1134 
+       `¹e_p\9d\96\9ae_ä\93
+(
+p
+->p);
+
+1135 
+       `¹e_ä\93
+(
+p
+);
+
+1136 \15 
+NULL
+;
+
+1139 
+       `´\9atf
+("Ou\8dÜ\88p->pÜt_out_id[%d] %p\n", 
+i
+,
+
+1140 &
+p
+->
+pÜt_out_id
+[
+i
+]);
+
+1143 \12
+p\9d\96\9ae_num
+ = 0;
+
+1144 \12
+dÚt_ÿ»
+ = 
+       `ssÿnf
+(
+·¿ms
+->
+Çme
+, "PIPELINE%d", &
+p\9d\96\9ae_num
+);
+
+1145 ià(
+dÚt_ÿ»
+ != 1) {
+
+1146 
+       `´\9atf
+("Unable\81o\84ead\85ipeline\82umber\n");
+
+1147 \15 
+NULL
+;
+
+1149 
+p_lßdb
+->
+p\9d\96\9ae_num
+ =\85ipeline_num;
+
+1151 
+       `£t_ou\8dÜt_id
+(
+p\9d\96\9ae_num
+, 
+p
+, 
+lb_ou\8dÜt_id
+);
+
+1152 
+       `£t_phy_ou\8dÜt_m­
+(
+p\9d\96\9ae_num
+, 
+p_lßdb
+->
+l\9aks_m­
+);
+
+1154 
+       `£t_pÜt_to_lßdb_m­
+(
+p\9d\96\9ae_num
+);
+
+1156 
+       `»gi¡\94_lßdb_to_¬p
+(
+p\9d\96\9ae_num
+, 
+p
+, 
+­p
+);
+
+1158 
+       `»gi¡\94_p\9d\96\9ae_Qs
+(
+p_lßdb
+->
+p\9d\96\9ae_num
+, 
+p
+);
+
+1159 
+       `£t_l\9ak_m­
+(
+p_lßdb
+->
+p\9d\96\9ae_num
+, 
+p
+,\85_lßdb->
+l\9aks_m­
+);
+
+1163 
+p
+->
+n_\8fbËs
+ = 1;
+
+1166 \19
+¹e_\8fbË_¬¿y_·¿ms
+\8fbË_¬¿y_·¿ms
+ = {
+
+1167 .
+n_\92\8c\9bs
+ = 
+MAX_VNF_THREADS
+,
+
+1168 .
+off£t
+ = 
+p_lßdb
+->
+ou\8dÜt_off£t
+,
+
+1170 \19
+¹e_p\9d\96\9ae_\8fbË_·¿ms
+\8fbË_·¿ms
+ = {
+
+1171 .
+Ýs
+ = &
+¹e_\8fbË_¬¿y_Ýs
+,
+
+1172 .
+¬g_ü\97\8b
+ = &
+\8fbË_¬¿y_·¿ms
+,
+
+1173 .
+f_aùiÚ_h\99
+ = 
+NULL
+,
+
+1174 .
+f_aùiÚ_miss
+ = 
+NULL
+,
+
+1175 .
+¬g_ah
+ = 
+p_lßdb
+,
+
+1176 .
+aùiÚ_d©a_size
+ = 0,
+
+1179 \12
+¡©us
+;
+
+1181 
+¡©us
+ = 
+       `¹e_p\9d\96\9ae_\8fbË_ü\97\8b
+(
+p
+->p,
+
+1182 &
+\8fbË_·¿ms
+,
+
+1183 &
+p
+->
+\8fbË_id
+[0]);
+
+1185 ià(
+¡©us
+) {
+
+1186 
+       `¹e_p\9d\96\9ae_ä\93
+(
+p
+->p);
+
+1187 
+       `¹e_ä\93
+(
+p
+);
+
+1188 \15 
+NULL
+;
+
+1193 \ f
+i
+ = 0; i < 
+p
+->
+n_pÜts_\9a
+; i++) {
+
+1194 \12
+¡©us
+ = 
+       `¹e_p\9d\96\9ae_pÜt_\9a_cÚÃù_to_\8f
+(
+
+1195 
+p
+->p,
+
+1196 
+p
+->
+pÜt_\9a_id
+[
+i
+],
+
+1197 
+p
+->
+\8fbË_id
+[0]);
+
+1199 ià(
+¡©us
+) {
+
+1200 
+       `¹e_p\9d\96\9ae_ä\93
+(
+p
+->p);
+
+1201 
+       `¹e_ä\93
+(
+p
+);
+
+1202 \15 
+NULL
+;
+
+1207 \ f
+i
+ = 0; i < 
+p
+->
+n_pÜts_\9a
+; i++) {
+
+1208 \12
+¡©us
+ = 
+       `¹e_p\9d\96\9ae_pÜt_\9a_\92abË
+(
+p
+->p,
+
+1209 
+p
+->
+pÜt_\9a_id
+[
+i
+]);
+
+1211 ià(
+¡©us
+) {
+
+1212 
+       `¹e_p\9d\96\9ae_ä\93
+(
+p
+->p);
+
+1213 
+       `¹e_ä\93
+(
+p
+);
+
+1214 \15 
+NULL
+;
+
+1220 \ f
+i
+ = 0; i < 
+MAX_VNF_THREADS
+; i++) {
+
+1221 \19
+¹e_\8fbË_¬¿y_key
+key
+ = {
+
+1222 .
+pos
+ = 
+i
+,
+
+1224 \19
+lßdb_\8fbË_\92\8cy
+\92\8cy
+;
+
+1225 
+\92\8cy
+.
+h\97d
+.
+aùiÚ
+ = 
+RTE_PIPELINE_ACTION_PORT
+;
+
+1227 ià(
+i
+ < 
+p
+->
+n_pÜts_out
+) {
+
+1228 
+\92\8cy
+.
+h\97d
+.
+pÜt_id
+ = 
+p
+->
+pÜt_out_id
+[
+i
+];
+
+1229 
+       `´\9atf
+("\n\98%d,\85->pÜt_out_id[%d] %d", 
+i
+, i,
+
+1230 
+p
+->
+pÜt_out_id
+[
+i
+]);
+
+1233 
+\92\8cy
+.
+h\97d
+.
+pÜt_id
+ = 
+p
+->
+pÜt_out_id
+[0];
+
+1234 
+\92\8cy
+.
+h\97d
+.
+aùiÚ
+ = 
+RTE_PIPELINE_ACTION_DROP
+;
+
+1237 \19
+¹e_p\9d\96\9ae_\8fbË_\92\8cy
+ *
+\92\8cy_±r
+;
+
+1238 \12
+key_found
+, 
+¡©us
+;
+
+1239 
+¡©us
+ = 
+       `¹e_p\9d\96\9ae_\8fbË_\92\8cy_add
+(
+
+1240 
+p
+->p,
+
+1241 
+p
+->
+\8fbË_id
+[0],
+
+1242 &
+key
+,
+
+1243 (\19
+¹e_p\9d\96\9ae_\8fbË_\92\8cy
+ *)
+
+1244 &
+\92\8cy
+,
+
+1245 &
+key_found
+,
+
+1246 &
+\92\8cy_±r
+);
+
+1247 ià(
+¡©us
+) {
+
+1248 
+       `¹e_p\9d\96\9ae_ä\93
+(
+p
+->p);
+
+1249 
+       `¹e_ä\93
+(
+p
+);
+
+1250 \15 
+NULL
+;
+
+1256 \19
+¹e_p\9d\96\9ae_\8fbË_\92\8cy
+deçuÉ_\92\8cy
+ = {
+
+1257 .
+aùiÚ
+ = 
+RTE_PIPELINE_ACTION_PORT
+,
+
+1259 .
+pÜt_id
+ = 
+p
+->
+pÜt_out_id
+[0],
+
+1262 \19
+¹e_p\9d\96\9ae_\8fbË_\92\8cy
+ *
+deçuÉ_\92\8cy_±r
+;
+
+1264 \12
+¡©us
+ = 
+       `¹e_p\9d\96\9ae_\8fbË_deçuÉ_\92\8cy_add
+(
+
+1265 
+p
+->p,
+
+1266 
+p
+->
+\8fbË_id
+[0],
+
+1267 &
+deçuÉ_\92\8cy
+,
+
+1268 &
+deçuÉ_\92\8cy_±r
+);
+
+1270 ià(
+¡©us
+) {
+
+1271 
+       `¹e_p\9d\96\9ae_ä\93
+(
+p
+->p);
+
+1272 
+       `¹e_ä\93
+(
+p
+);
+
+1273 \15 
+NULL
+;
+
+1279 ià(
+       `¹e_p\9d\96\9ae_check
+(
+p
+->p) < 0) {
+
+1280 
+       `¹e_p\9d\96\9ae_ä\93
+(
+p
+->p);
+
+1281 
+       `¹e_ä\93
+(
+p
+);
+
+1282 \15 
+NULL
+;
+
+1286 
+p
+->
+n_msgq
+ = 
+·¿ms
+->n_msgq;
+
+1287 \ f
+i
+ = 0; i < 
+p
+->
+n_msgq
+; i++)
+
+1288 
+p
+->
+msgq_\9a
+[
+i
+] = 
+·¿ms
+->msgq_in[i];
+
+1289 \ f
+i
+ = 0; i < 
+p
+->
+n_msgq
+; i++)
+
+1290 
+p
+->
+msgq_out
+[
+i
+] = 
+·¿ms
+->msgq_out[i];
+
+1293 
+       `memýy
+(
+p
+->
+hªdËrs
+, handlers, \17(p->handlers));
+
+1294 
+       `memýy
+(
+p_lßdb
+->
+cu¡om_hªdËrs
+,
+
+1295 
+cu¡om_hªdËrs
+, \17(
+p_lßdb
+->custom_handlers));
+
+1297 \15 
+p
+;
+
+1298 
+       }
+}
+
+1300 \18\12
+       $p\9d\96\9ae_lßdb_ä\93
+(\1e*
+p\9d\96\9ae
+)
+
+1302 \19
+p\9d\96\9ae
+ *
+p
+ = (\19pipeline *)pipeline;
+
+1305 ià(
+p
+ =ð
+NULL
+)
+
+1309 
+       `¹e_p\9d\96\9ae_ä\93
+(
+p
+->p);
+
+1310 
+       `¹e_ä\93
+(
+p
+);
+
+1312 
+       }
+}
+
+1315 
+       $p\9d\96\9ae_lßdb_\8cack
+(\1e*
+p\9d\96\9ae
+,
+
+1316 
+__¹e_unu£d
+u\9at32_t
+pÜt_\9a
+, u\9at32_\88*
+pÜt_out
+)
+
+1318 \19
+p\9d\96\9ae
+ *
+p
+ = (\19pipeline *)pipeline;
+
+1321 ià((
+p
+ =ð
+NULL
+è|| (
+pÜt_\9a
+ >ðp->
+n_pÜts_\9a
+è|| (
+pÜt_out
+ == NULL))
+
+1324 ià(
+p
+->
+n_pÜts_\9a
+ == 1) {
+
+1325 *
+pÜt_out
+ = 0;
+
+1330 
+       }
+}
+
+1332 \18\12
+       $p\9d\96\9ae_lßdb_tim\94
+(\1e*
+p\9d\96\9ae
+)
+
+1334 \19
+p\9d\96\9ae
+ *
+p
+ = (\19pipeline *)pipeline;
+
+1336 
+       `p\9d\96\9ae_msg_»q_hªdË
+(
+p
+);
+
+1337 
+       `¹e_p\9d\96\9ae_æush
+(
+p
+->p);
+
+1340 
+       }
+}
+
+1342 \1e*
+       $p\9d\96\9ae_lßdb_msg_»q_\92\8cy_dbg_hªdËr
+(\19
+p\9d\96\9ae
+ *
+p
+, \1e*
+msg
+)
+
+1344 \19
+p\9d\96\9ae_lßdb_\92\8cy_dbg_msg_r¥
+ *
+r¥
+ = 
+msg
+;
+
+1345 
+u\9at8_t
+ *
+Msg
+ = 
+msg
+;
+
+1346 \19
+p\9d\96\9ae_lßdb
+ *
+p_lßdb
+ = (\19p\9d\96\9ae_lßdb *)
+p
+;
+
+1348 
+r¥
+->
+¡©us
+ = 0;
+
+1350 
+       `´\9atf
+("LoadB debug handler called with\87rgs %x %x, offset %d\n",
+
+1351 
+Msg
+[
+LOADB_DBG_CMD_OFST
+], Msg[LOADB_DBG_CMD_OFST + 1],
+
+1352 
+LOADB_DBG_CMD_OFST
+);
+
+1354 ià(
+Msg
+[
+LOADB_DBG_CMD_OFST
+] =ð
+LOADB_DBG_CMD_STATS_SHOW
+) {
+
+1355 
+       `´\9atf
+("\nLßdB Pack\91 S\8fts: Reûived %" 
+PRIu64
+ "\n",
+
+1356 
+p_lßdb
+->
+»ûivedLBPktCouÁ
+);
+
+1357 \15 
+r¥
+;
+
+1359 ià(
+Msg
+[
+LOADB_DBG_CMD_OFST
+] =ð
+LOADB_DBG_CMD_STATS_CLEAR
+) {
+
+1360 
+       `´\9atf
+("\nLßdB Pack\91 S\8fts: Reûived %" 
+PRIu64
+ "\n",
+
+1361 
+p_lßdb
+->
+»ûivedLBPktCouÁ
+);
+
+1362 
+p_lßdb
+->
+»ûivedLBPktCouÁ
+ = 0;
+
+1363 \15 
+r¥
+;
+
+1366 ià(
+Msg
+[
+LOADB_DBG_CMD_OFST
+] =ð
+LOADB_DBG_CMD_DBG_LEVEL
+) {
+
+1367 
+LOADB_DEBUG
+ = 
+Msg
+[
+LOADB_DBG_CMD_OFST
+ + 1];
+
+1368 
+       `´\9atf
+("LOADB Debug\86ev\96 s\91\81Ø%d\n", 
+LOADB_DEBUG
+);
+
+1369 
+lb_pkt_´\9at_couÁ
+ = 0;
+
+1370 \15 
+r¥
+;
+
+1372 ià(
+Msg
+[
+LOADB_DBG_CMD_OFST
+] =ð
+LOADB_DBG_CMD_DBG_SHOW
+) {
+
+1373 
+       `´\9atf
+("\nLßdB DBG Lev\96: %u\n", 
+LOADB_DEBUG
+);
+
+1374 \15 
+r¥
+;
+
+1376 ià(
+Msg
+[
+LOADB_DBG_CMD_OFST
+] =ð
+LOADB_DBG_CMD_IF_STATS
+) {
+
+1377 
+       `´\9atf
+("\n");
+
+1378 
+u\9at8_t
+i
+, 
+j
+;
+
+1380 \ f
+i
+ = 0; i < 
+p
+->
+n_pÜts_\9a
+; i++) {
+
+1381 \19
+¹e_\91h_¡©s
+¡©s
+;
+
+1382 
+       `¹e_\91h_¡©s_g\91
+(
+p_lßdb
+->
+l\9aks_m­
+[
+i
+], &
+¡©s
+);
+
+1383 ià(
+       `is_phy_pÜt_´iv\8b
+(
+i
+))
+
+1384 
+       `´\9atf
+("Priv©\90\88S\8ft %d\n", 
+i
+);
+
+1386 
+       `´\9atf
+("PubliøPÜ\88S\8ft  %d\n", 
+i
+);
+
+1387 
+       `´\9atf
+("\n\t\9dack\91 : %" 
+PRIu64
+ "\n\topackets : %"
+
+1388 
+PRIu64
+ "\n\tierrors : %" PRIu64
+
+1389 "\n\tۼܠ : %" 
+PRIu64
+ "\n\trx_nombuf: %"
+
+1390 
+PRIu64
+ "\n", 
+¡©s
+.
+\9dack\91s
+, s\8fts.
+Ýack\91s
+,
+
+1391 
+¡©s
+.
+\9b¼Üs
+, s\8fts.
+Û¼Üs
+, s\8fts.
+rx_nombuf
+);
+
+1392 ià(
+       `is_phy_pÜt_´iv\8b
+(
+i
+))
+
+1393 
+       `´\9atf
+("Private Q: ");
+
+1395 
+       `´\9atf
+("Public Q: ");
+
+1396 \ f
+j
+ = 0; j < 
+RTE_ETHDEV_QUEUE_STAT_CNTRS
+; j++)
+
+1397 
+       `´\9atf
+(" %" 
+PRIu64
+ ", %" PRIu64 "|",
+
+1398 
+¡©s
+.
+q_\9dack\91s
+[
+j
+],
+
+1399 
+¡©s
+.
+q_Ýack\91s
+[
+j
+]);
+
+1401 
+       `´\9atf
+("\n\n");
+
+1404 \15 
+r¥
+;
+
+1407 \15 
+r¥
+;
+
+1409 
+       }
+}
+
+1411 \19
+p\9d\96\9ae_be_Ýs
+       gp\9d\96\9ae_lßdb_be_Ýs
+ = {
+
+1412 .
+f_\9a\99
+ = 
+p\9d\96\9ae_lßdb_\9a\99
+,
+
+1413 .
+       gf_ä\93
+ = 
+p\9d\96\9ae_lßdb_ä\93
+,
+
+1414 .
+       gf_run
+ = 
+NULL
+,
+
+1415 .
+       gf_tim\94
+ = 
+p\9d\96\9ae_lßdb_tim\94
+,
+
+1416 .
+       gf_\8cack
+ = 
+p\9d\96\9ae_lßdb_\8cack
+,
+
+       @VIL/pipeline_loadb/pipeline_loadb_be.h
+
+17 #iâdeà
+__INCLUDE_PIPELINE_LOADB_BE_H__
+
+
+18 \ 1
+       #__INCLUDE_PIPELINE_LOADB_BE_H__
+
+
+       )
+
+20 \ 2
+       ~<¹e_\9d.h
+>
+
+21 \ 2
+       ~"p\9d\96\9ae_commÚ_be.h
+"
+
+22 \ 2
+       ~<­p.h
+>
+
+24 \ 1
+       #MBUF_HDR_ROOM
+ 256
+
+       )
+
+25 \ 1
+       #ETH_HDR_SIZE
+ 14
+
+       )
+
+26 \ 1
+       #IP_HDR_SRC_ADR_OFST
+ 12
+
+       )
+
+27 \ 1
+       #IP_HDR_DST_ADR_OFST
+ 16
+
+       )
+
+28 \ 1
+       #IP_HDR_PROTOCOL_OFST
+ 9
+
+       )
+
+29 \ 1
+       #IP_HDR_SIZE
+ 20
+
+       )
+
+30 \ 1
+       #IPV6_HDR_SRC_ADR_OFST
+ 8
+
+       )
+
+31 \ 1
+       #IPV6_HDR_DST_ADR_OFST
+ 24
+
+       )
+
+32 \ 1
+       #IPV6_HDR_PROTOCOL_OFST
+ 6
+
+       )
+
+33 \ 1
+       #IPV6_HDR_SIZE
+ 40
+
+       )
+
+34 \ 1
+       #IP_PROTOCOL_TCP
+ 6
+
+       )
+
+35 \ 1
+       #IP_PROTOCOL_UDP
+ 17
+
+       )
+
+36 \ 1
+       #PIPELINE_LOADB_KEY_MAX_SIZE
+ 64
+
+       )
+
+38 \ 1
+       #LOADB_ING_DIR
+ 0
+
+       )
+
+39 \ 1
+       #LOADB_EGR_DIR
+ 1
+
+       )
+
+41 \ 1
+       #LOADB_DBG_CMD_OFST
+ 8
+
+       )
+
+42 \ 1
+       #LOADB_DBG_CMD_STATS_SHOW
+ 0
+
+       )
+
+43 \ 1
+       #LOADB_DBG_CMD_STATS_CLEAR
+ 1
+
+       )
+
+44 \ 1
+       #LOADB_DBG_CMD_DBG_LEVEL
+ 2
+
+       )
+
+45 \ 1
+       #LOADB_DBG_CMD_DBG_SHOW
+ 3
+
+       )
+
+46 \ 1
+       #LOADB_DBG_CMD_IF_STATS
+ 4
+
+       )
+
+47 \ 1
+       #LOADB_DBG_CMD_OFST1
+ 10
+
+       )
+
+49 \ 1
+       #PIPELINE_LOADB_KEY_PORT_IN_AH
+(
+f_ah
+, 
+f_pkt_wÜk
+, 
+f_pkt4_wÜk
+) \
+
+51 
+       `f_ah
+( \
+
+52 
+__¹e_unu£d
\19
+¹e_p\9d\96\9ae
+ *
+¹e_p
+, \
+
+53 \19
+¹e_mbuf
+ **
+pkts
+, \
+
+54 
+u\9at32_t
+n_pkts
+, \
+
+55 \1e*
+¬g
+) \
+
+57 
+u\9at32_t
+i
+, 
+j
+; \
+
+59 \ f
+j
+ = 0; j < 
+n_pkts
+; j++) \
+
+60 
+       `¹e_´eãtch0
+(
+pkts
+[
+j
+]); \
+
+61 
+pkt_bur¡_út
+ = 0; \
+
+62 \ f
+i
+ = 0; i < (
+n_pkts
+ & (~0x3LLU)); i += 4) \
+
+63 
+       `f_pkt4_wÜk
+(&
+pkts
+[
+i
+], i, 
+¬g
+); \
+
+65 \ f ; 
+i
+ < 
+n_pkts
+; i++) \
+
+66 
+       `f_pkt_wÜk
+(
+pkts
+[
+i
+], i, 
+¬g
+); \
+
+70 }
+
+       )
+
+72 \r
+u\9at8_t
+LOADB_DEBUG
+;
+
+73 \r
+u\9at8_t
+\9a_pÜt_eg»ss_´v
+[
+PIPELINE_MAX_PORT_IN
+];
+
+74 \r
+u\9at8_t
+´v_que_pÜt_\9adex
+[
+PIPELINE_MAX_PORT_IN
+];
+
+75 \r
+u\9at8_t
+\9a_pÜt_d\9c_a
+[
+PIPELINE_MAX_PORT_IN
+];
+
+77 \r
+u\9at8_t
+g\91_\9a_pÜt_d\9c
+(uint8_t);
+
+78 \r
+u\9at8_t
+is_pÜt_\9adex_´iv\8b
+(
+u\9at16_t
+);
+
+79 \r
+u\9at8_t
+is_phy_pÜt_´iv\8b
+(
+u\9at16_t
+);
+
+80 \r
+u\9at32_t
+g\91_´v_to_pub_pÜt
+(u\9at32_\88*
+\9d_addr
+, 
+u\9at8_t
+ty³
+);
+
+81 \r
+u\9at32_t
+g\91_pub_to_´v_pÜt
+(u\9at32_\88*
+\9d_addr
+, 
+u\9at8_t
+ty³
+);
+
+82 \r
+u\9at8_t
+´v_to_pub_m­
+[
+PIPELINE_MAX_PORT_IN
+];
+
+90 \19
+       sp\9d\96\9ae_lßdb_\9a_pÜt_h_¬g
+ {
+
+91 \19
+p\9d\96\9ae_lßdb
+ *
+       mp
+;
+
+92 
+u\9at8_t
+       m\9a_pÜt_id
+;
+
+98 \f
+       ep\9d\96\9ae_lßdb_msg_»q_ty³
+ {
+
+100 
+       mPIPELINE_LOADB_MSG_REQ_ENTRY_DBG
+,
+
+101 
+       mPIPELINE_LOADB_MSG_REQS
+
+
+107 \19
+       sp\9d\96\9ae_lßdb_\92\8cy_dbg_msg_»q
+ {
+
+108 \f
+p\9d\96\9ae_msg_»q_ty³
+       mty³
+;
+
+109 \f
+p\9d\96\9ae_lßdb_msg_»q_ty³
+       msubty³
+;
+
+112 
+u\9at8_t
+       md©a
+[5];
+
+115 \19
+       sp\9d\96\9ae_lßdb_\92\8cy_dbg_msg_r¥
+ {
+
+116 \12
+       m¡©us
+;
+
+117 \1e*
+       m\92\8cy_±r
+;
+
+120 \r\19
+p\9d\96\9ae_be_Ýs
+p\9d\96\9ae_lßdb_be_Ýs
+;
+
+121 \19
+       s\9dv4_hdr_pÜt
+ {
+
+122 \19
+\9dv4_hdr
+       m\9dv4
+;
+
+123 
+u\9at16_t
+       m¤c_pÜt
+;
+
+124 
+u\9at16_t
+       md¡_pÜt
+;
+
+126 } 
+__©\8cibu\8b__
+((
+__·cked__
+));
+
+127 \19
+       s\9dv6_hdr_pÜt
+ {
+
+128 \19
+\9dv6_hdr
+       m\9dv6
+;
+
+129 
+u\9at16_t
+       m¤c_pÜt
+;
+
+130 
+u\9at16_t
+       md¡_pÜt
+;
+
+132 } 
+__©\8cibu\8b__
+((
+__·cked__
+));
+
+134 \19
+       slb_pkt
+ {
+
+135 \19
+\91h\94_hdr
+       m\91h
+;
+
+137 \19
+\9dv4_hdr_pÜt
+       m\9dv4_pÜt
+;
+
+138 \19
+\9dv6_hdr_pÜt
+       m\9dv6_pÜt
+;
+
+140 } 
+__©\8cibu\8b__
+((
+__·cked__
+));
+
+142 
+u\9at8_t
+ÿlcuÏ\8b_lb_th»ad_´v
+(\19
+¹e_mbuf
+ *
+pkt
+, \1e*
+¬g
+);
+
+143 
+u\9at8_t
+ÿlcuÏ\8b_lb_th»ad_pub
+(\19
+¹e_mbuf
+ *
+pkt
+, \1e*
+¬g
+);
+
+144 \12
+check_lßdb_th»ad
+(
+
+145 \19
+­p_·¿ms
+ *
+­p
+,
+
+146 \19
+p\9d\96\9ae_·¿ms
+ *
+·¿ms
+,
+
+147 
+\9at32_t
+n_vnf_th»ads
+);
+
+       @VIL/pipeline_master/pipeline_master.c
+
+17 \ 2
+       ~"p\9d\96\9ae_ma¡\94.h
+"
+
+18 \ 2
+       ~"p\9d\96\9ae_ma¡\94_be.h
+"
+
+20 \18\19
+p\9d\96\9ae_ã_Ýs
+       gp\9d\96\9ae_ma¡\94_ã_Ýs
+ = {
+
+21 .
+f_\9a\99
+ = 
+NULL
+,
+
+22 .
+       gf_ä\93
+ = 
+NULL
+,
+
+23 .
+       gcmds
+ = 
+NULL
+,
+
+26 \19
+p\9d\96\9ae_ty³
+       gp\9d\96\9ae_ma¡\94
+ = {
+
+27 .
+Çme
+ = "MASTER",
+
+28 .
+       gbe_Ýs
+ = &
+p\9d\96\9ae_ma¡\94_be_Ýs
+,
+
+29 .
+       gã_Ýs
+ = &
+p\9d\96\9ae_ma¡\94_ã_Ýs
+,
+
+       @VIL/pipeline_master/pipeline_master.h
+
+17 #iâdeà
+__INCLUDE_PIPELINE_MASTER_H__
+
+
+18 \ 1
+       #__INCLUDE_PIPELINE_MASTER_H__
+
+
+       )
+
+20 \ 2
+       ~"p\9d\96\9ae.h
+"
+
+22 \r\19
+p\9d\96\9ae_ty³
+p\9d\96\9ae_ma¡\94
+;
+
+       @VIL/pipeline_master/pipeline_master_be.c
+
+17 \ 2
+       ~<fú\8e.h
+>
+
+18 \ 2
+       ~<uni¡d.h
+>
+
+20 \ 2
+       ~<¹e_commÚ.h
+>
+
+21 \ 2
+       ~<¹e_m®loc.h
+>
+
+23 \ 2
+       ~<cmdl\9ae_·r£.h
+>
+
+24 \ 2
+       ~<cmdl\9ae_·r£_¡r\9ag.h
+>
+
+25 \ 2
+       ~<cmdl\9ae_sock\91.h
+>
+
+26 \ 2
+       ~<cmdl\9ae.h
+>
+
+28 \ 2
+       ~"­p.h
+"
+
+29 \ 2
+       ~"p\9d\96\9ae_ma¡\94_be.h
+"
+
+31 \19
+       sp\9d\96\9ae_ma¡\94
+ {
+
+32 \19
+­p_·¿ms
+ *
+       m­p
+;
+
+33 \19
+cmdl\9ae
+ *
+       mþ
+;
+
+34 \12
+       msü\9dt_f\9ee_dÚe
+;
+
+35 } 
+       g__¹e_ÿche_®igÃd
+;
+
+38 
+       $p\9d\96\9ae_\9a\99
+(
+__¹e_unu£d
\19
+p\9d\96\9ae_·¿ms
+ *
+·¿ms
+, \1e*
+¬g
+)
+
+40 \19
+­p_·¿ms
+ *
+­p
+ = (\19­p_·¿m *è
+¬g
+;
+
+41 \19
+p\9d\96\9ae_ma¡\94
+ *
+p
+;
+
+42 
+u\9at32_t
+size
+;
+
+45 ià(
+­p
+ =ð
+NULL
+)
+
+46 \15 
+NULL
+;
+
+49 
+size
+ = 
+       `RTE_CACHE_LINE_ROUNDUP
+(\17(\19
+p\9d\96\9ae_ma¡\94
+));
+
+50 
+p
+ = 
+       `¹e_zm®loc
+(
+NULL
+, 
+size
+, 
+RTE_CACHE_LINE_SIZE
+);
+
+51 ià(
+p
+ =ð
+NULL
+)
+
+52 \15 
+NULL
+;
+
+55 
+p
+->
+­p
+ =\87pp;
+
+57 
+p
+->
+ = 
+       `cmdl\9ae_¡d\9a_Ãw
+(
+­p
+->
+cmds
+, "pipeline> ");
+
+58 ià(
+p
+->
+ =ð
+NULL
+) {
+
+59 
+       `¹e_ä\93
+(
+p
+);
+
+60 \15 
+NULL
+;
+
+63 
+p
+->
+sü\9dt_f\9ee_dÚe
+ = 0;
+
+64 ià(
+­p
+->
+sü\9dt_f\9ee
+ =ð
+NULL
+)
+
+65 
+p
+->
+sü\9dt_f\9ee_dÚe
+ = 1;
+
+67 \15 (\1e
+p
+;
+
+68 
+       }
+}
+
+71 
+       $p\9d\96\9ae_ä\93
+(\1e*
+p\9d\96\9ae
+)
+
+73 \19
+p\9d\96\9ae_ma¡\94
+ *
+p
+ = (\19p\9d\96\9ae_ma¡\94 *è
+p\9d\96\9ae
+;
+
+75 ià(
+p
+ =ð
+NULL
+)
+
+76 \15 -
+EINVAL
+;
+
+78 
+       `cmdl\9ae_¡d\9a_ex\99
+(
+p
+->
+);
+
+79 
+       `¹e_ä\93
+(
+p
+);
+
+82 
+       }
+}
+
+85 
+       $p\9d\96\9ae_run
+(\1e*
+p\9d\96\9ae
+)
+
+87 \19
+p\9d\96\9ae_ma¡\94
+ *
+p
+ = (\19p\9d\96\9ae_ma¡\94 *è
+p\9d\96\9ae
+;
+
+88 \12
+¡©us
+;
+
+90 ià(
+p
+->
+sü\9dt_f\9ee_dÚe
+ == 0) {
+
+91 \19
+­p_·¿ms
+ *
+­p
+ = 
+p
+->app;
+
+92 \12
+fd
+ = 
+       `ݒ
+(
+­p
+->
+sü\9dt_f\9ee
+, 
+O_RDONLY
+);
+
+94 ià(
+fd
+ < 0)
+
+95 
+       `´\9atf
+("Cannot open CLI script file \"%s\"\n",
+
+96 
+­p
+->
+sü\9dt_f\9ee
+);
+
+98 \19
+cmdl\9ae
+ *
+f\9ee_þ
+;
+
+100 
+       `´\9atf
+("Running CLI script file \"%s\" ...\n",
+
+101 
+­p
+->
+sü\9dt_f\9ee
+);
+
+102 
+f\9ee_þ
+ = 
+       `cmdl\9ae_Ãw
+(
+p
+->
+->
+ùx
+, "", 
+fd
+, 1);
+
+103 
+       `cmdl\9ae_\9a\8b¿ù
+(
+f\9ee_þ
+);
+
+104 
+       `þo£
+(
+fd
+);
+
+107 
+p
+->
+sü\9dt_f\9ee_dÚe
+ = 1;
+
+110 
+¡©us
+ = 
+       `cmdl\9ae_pÞl
+(
+p
+->
+);
+
+111 ià(
+¡©us
+ < 0)
+
+112 
+       `¹e_·nic
+("CLI\85ÞÈ\94rÜ (%" 
+PRId32
+ ")\n", 
+¡©us
+);
+
+113 \vià(
+¡©us
+ =ð
+RDLINE_EXITED
+) {
+
+114 
+       `cmdl\9ae_¡d\9a_ex\99
+(
+p
+->
+);
+
+115 
+       `¹e_ex\99
+(0, "Bye!\n");
+
+119 
+       }
+}
+
+122 
+       $p\9d\96\9ae_tim\94
+(
+__¹e_unu£d
\1e*
+p\9d\96\9ae
+)
+
+124 
+       `¹e_tim\94_mªage
+();
+
+126 
+       }
+}
+
+128 \19
+p\9d\96\9ae_be_Ýs
+       gp\9d\96\9ae_ma¡\94_be_Ýs
+ = {
+
+129 .
+f_\9a\99
+ = 
+p\9d\96\9ae_\9a\99
+,
+
+130 .
+       gf_ä\93
+ = 
+p\9d\96\9ae_ä\93
+,
+
+131 .
+       gf_run
+ = 
+p\9d\96\9ae_run
+,
+
+132 .
+       gf_tim\94
+ = 
+p\9d\96\9ae_tim\94
+,
+
+133 .
+       gf_\8cack
+ = 
+NULL
+,
+
+       @VIL/pipeline_master/pipeline_master_be.h
+
+17 #iâdeà
+__INCLUDE_PIPELINE_MASTER_BE_H__
+
+
+18 \ 1
+       #__INCLUDE_PIPELINE_MASTER_BE_H__
+
+
+       )
+
+20 \ 2
+       ~"p\9d\96\9ae_commÚ_be.h
+"
+
+22 \r\19
+p\9d\96\9ae_be_Ýs
+p\9d\96\9ae_ma¡\94_be_Ýs
+;
+
+       @VIL/pipeline_passthrough/pipeline_passthrough.c
+
+17 \ 2
+       ~"p\9d\96\9ae_·s¡hrough.h
+"
+
+18 \ 2
+       ~"p\9d\96\9ae_·s¡hrough_be.h
+"
+
+20 \18\19
+p\9d\96\9ae_ã_Ýs
+       gp\9d\96\9ae_·s¡hrough_ã_Ýs
+ = {
+
+21 .
+f_\9a\99
+ = 
+NULL
+,
+
+22 .
+       gf_ä\93
+ = 
+NULL
+,
+
+23 .
+       gcmds
+ = 
+NULL
+,
+
+26 \19
+p\9d\96\9ae_ty³
+       gp\9d\96\9ae_·s¡hrough
+ = {
+
+27 .
+Çme
+ = "PASS-THROUGH",
+
+28 .
+       gbe_Ýs
+ = &
+p\9d\96\9ae_·s¡hrough_be_Ýs
+,
+
+29 .
+       gã_Ýs
+ = &
+p\9d\96\9ae_·s¡hrough_ã_Ýs
+,
+
+       @VIL/pipeline_passthrough/pipeline_passthrough.h
+
+17 #iâdeà
+__INCLUDE_PIPELINE_PASSTHROUGH_H__
+
+
+18 \ 1
+       #__INCLUDE_PIPELINE_PASSTHROUGH_H__
+
+
+       )
+
+20 \ 2
+       ~"p\9d\96\9ae.h
+"
+
+22 \r\19
+p\9d\96\9ae_ty³
+p\9d\96\9ae_·s¡hrough
+;
+
+       @VIL/pipeline_passthrough/pipeline_passthrough_be.c
+
+17 \ 2
+       ~<¡r\9ag.h
+>
+
+19 \ 2
+       ~<¹e_commÚ.h
+>
+
+20 \ 2
+       ~<¹e_m®loc.h
+>
+
+21 \ 2
+       ~<¹e_by\8bÜd\94.h
+>
+
+22 \ 2
+       ~<¹e_\8fbË_¡ub.h
+>
+
+23 \ 2
+       ~<¹e_\8fbË_hash.h
+>
+
+24 \ 2
+       ~<¹e_p\9d\96\9ae.h
+>
+
+26 \ 2
+       ~"p\9d\96\9ae_·s¡hrough_be.h
+"
+
+27 \ 2
+       ~"p\9d\96\9ae_aùiÚs_commÚ.h
+"
+
+28 \ 2
+       ~"·r£r.h
+"
+
+29 \ 2
+       ~"hash_func.h
+"
+
+31 \19
+       sp\9d\96\9ae_·s¡hrough
+ {
+
+32 \19
+p\9d\96\9ae
+       mp
+;
+
+33 \19
+p\9d\96\9ae_·s¡hrough_·¿ms
+       m·¿ms
+;
+
+34 
+¹e_\8fbË_hash_Ý_hash
+       mf_hash
+;
+
+35 } 
+       g__¹e_ÿche_®igÃd
+;
+
+37 \18
+p\9d\96\9ae_msg_»q_hªdËr
+       ghªdËrs
+[] = {
+
+38 [
+PIPELINE_MSG_REQ_PING
+] =
+
+39 
+p\9d\96\9ae_msg_»q_p\9ag_hªdËr
+,
+
+40 [
+PIPELINE_MSG_REQ_STATS_PORT_IN
+] =
+
+41 
+p\9d\96\9ae_msg_»q_¡©s_pÜt_\9a_hªdËr
+,
+
+42 [
+PIPELINE_MSG_REQ_STATS_PORT_OUT
+] =
+
+43 
+p\9d\96\9ae_msg_»q_¡©s_pÜt_out_hªdËr
+,
+
+44 [
+PIPELINE_MSG_REQ_STATS_TABLE
+] =
+
+45 
+p\9d\96\9ae_msg_»q_¡©s_\8fbË_hªdËr
+,
+
+46 [
+PIPELINE_MSG_REQ_PORT_IN_ENABLE
+] =
+
+47 
+p\9d\96\9ae_msg_»q_pÜt_\9a_\92abË_hªdËr
+,
+
+48 [
+PIPELINE_MSG_REQ_PORT_IN_DISABLE
+] =
+
+49 
+p\9d\96\9ae_msg_»q_pÜt_\9a_di§bË_hªdËr
+,
+
+50 [
+PIPELINE_MSG_REQ_CUSTOM
+] =
+
+51 
+p\9d\96\9ae_msg_»q_\9av®id_hªdËr
+,
+
+54 \18
+\9al\9ae
+__©\8cibu\8b__
+((
+®ways_\9al\9ae
+)) \1e
+
+55 
+       $pkt_wÜk
+(
+
+56 \19
+¹e_mbuf
+ *
+pkt
+,
+
+57 \1e*
+¬g
+,
+
+58 
+u\9at32_t
+dma_size
+,
+
+59 
+u\9at32_t
+hash_\92abËd
+,
+
+60 
+u\9at32_t
+lb_hash
+,
+
+61 
+u\9at32_t
+pÜt_out_pow2
+)
+
+63 \19
+p\9d\96\9ae_·s¡hrough
+ *
+p
+ = 
+¬g
+;
+
+65 
+u\9at64_t
+ *
+dma_d¡
+ = 
+       `RTE_MBUF_METADATA_UINT64_PTR
+(
+pkt
+,
+
+66 
+p
+->
+·¿ms
+.
+dma_d¡_off£t
+);
+
+67 
+u\9at64_t
+ *
+dma_¤c
+ = 
+       `RTE_MBUF_METADATA_UINT64_PTR
+(
+pkt
+,
+
+68 
+p
+->
+·¿ms
+.
+dma_¤c_off£t
+);
+
+69 
+u\9at64_t
+ *
+dma_mask
+ = (u\9at64_\88
+p
+->
+·¿ms
+.
+dma_¤c_mask
+;
+
+70 
+u\9at32_t
+ *
+dma_hash
+ = 
+       `RTE_MBUF_METADATA_UINT32_PTR
+(
+pkt
+,
+
+71 
+p
+->
+·¿ms
+.
+dma_hash_off£t
+);
+
+72 
+u\9at32_t
+i
+;
+
+75 \ f
+i
+ = 0; i < (
+dma_size
+ / 8); i++)
+
+76 
+dma_d¡
+[
+i
+] = 
+dma_¤c
+[i] & 
+dma_mask
+[i];
+
+79 ià(
+hash_\92abËd
+) {
+
+80 
+u\9at32_t
+hash
+ = 
+p
+->
+       `f_hash
+(
+dma_d¡
+, 
+dma_size
+, 0);
+
+81 *
+dma_hash
+ = 
+hash
+;
+
+83 ià(
+lb_hash
+) {
+
+84 
+u\9at32_t
+pÜt_out
+;
+
+86 ià(
+pÜt_out_pow2
+)
+
+87 
+pÜt_out
+
+
+88 ð
+hash
+ & (
+p
+->p.
+n_pÜts_out
+ - 1);
+
+90 
+pÜt_out
+
+
+91 ð
+hash
+ % 
+p
+->p.
+n_pÜts_out
+;
+
+93 
+       `¹e_p\9d\96\9ae_pÜt_out_·ck\91_\9a£¹
+(
+p
+->p.p,
+
+94 
+pÜt_out
+, 
+pkt
+);
+
+97 
+       }
+}
+
+99 \18
+\9al\9ae
+__©\8cibu\8b__
+((
+®ways_\9al\9ae
+)) \1e
+
+100 
+       $pkt4_wÜk
+(
+
+101 \19
+¹e_mbuf
+ **
+pkts
+,
+
+102 \1e*
+¬g
+,
+
+103 
+u\9at32_t
+dma_size
+,
+
+104 
+u\9at32_t
+hash_\92abËd
+,
+
+105 
+u\9at32_t
+lb_hash
+,
+
+106 
+u\9at32_t
+pÜt_out_pow2
+)
+
+108 \19
+p\9d\96\9ae_·s¡hrough
+ *
+p
+ = 
+¬g
+;
+
+110 
+u\9at64_t
+ *
+dma_d¡0
+ = 
+       `RTE_MBUF_METADATA_UINT64_PTR
+(
+pkts
+[0],
+
+111 
+p
+->
+·¿ms
+.
+dma_d¡_off£t
+);
+
+112 
+u\9at64_t
+ *
+dma_d¡1
+ = 
+       `RTE_MBUF_METADATA_UINT64_PTR
+(
+pkts
+[1],
+
+113 
+p
+->
+·¿ms
+.
+dma_d¡_off£t
+);
+
+114 
+u\9at64_t
+ *
+dma_d¡2
+ = 
+       `RTE_MBUF_METADATA_UINT64_PTR
+(
+pkts
+[2],
+
+115 
+p
+->
+·¿ms
+.
+dma_d¡_off£t
+);
+
+116 
+u\9at64_t
+ *
+dma_d¡3
+ = 
+       `RTE_MBUF_METADATA_UINT64_PTR
+(
+pkts
+[3],
+
+117 
+p
+->
+·¿ms
+.
+dma_d¡_off£t
+);
+
+119 
+u\9at64_t
+ *
+dma_¤c0
+ = 
+       `RTE_MBUF_METADATA_UINT64_PTR
+(
+pkts
+[0],
+
+120 
+p
+->
+·¿ms
+.
+dma_¤c_off£t
+);
+
+121 
+u\9at64_t
+ *
+dma_¤c1
+ = 
+       `RTE_MBUF_METADATA_UINT64_PTR
+(
+pkts
+[1],
+
+122 
+p
+->
+·¿ms
+.
+dma_¤c_off£t
+);
+
+123 
+u\9at64_t
+ *
+dma_¤c2
+ = 
+       `RTE_MBUF_METADATA_UINT64_PTR
+(
+pkts
+[2],
+
+124 
+p
+->
+·¿ms
+.
+dma_¤c_off£t
+);
+
+125 
+u\9at64_t
+ *
+dma_¤c3
+ = 
+       `RTE_MBUF_METADATA_UINT64_PTR
+(
+pkts
+[3],
+
+126 
+p
+->
+·¿ms
+.
+dma_¤c_off£t
+);
+
+128 
+u\9at64_t
+ *
+dma_mask
+ = (u\9at64_\88
+p
+->
+·¿ms
+.
+dma_¤c_mask
+;
+
+130 
+u\9at32_t
+ *
+dma_hash0
+ = 
+       `RTE_MBUF_METADATA_UINT32_PTR
+(
+pkts
+[0],
+
+131 
+p
+->
+·¿ms
+.
+dma_hash_off£t
+);
+
+132 
+u\9at32_t
+ *
+dma_hash1
+ = 
+       `RTE_MBUF_METADATA_UINT32_PTR
+(
+pkts
+[1],
+
+133 
+p
+->
+·¿ms
+.
+dma_hash_off£t
+);
+
+134 
+u\9at32_t
+ *
+dma_hash2
+ = 
+       `RTE_MBUF_METADATA_UINT32_PTR
+(
+pkts
+[2],
+
+135 
+p
+->
+·¿ms
+.
+dma_hash_off£t
+);
+
+136 
+u\9at32_t
+ *
+dma_hash3
+ = 
+       `RTE_MBUF_METADATA_UINT32_PTR
+(
+pkts
+[3],
+
+137 
+p
+->
+·¿ms
+.
+dma_hash_off£t
+);
+
+139 
+u\9at32_t
+i
+;
+
+142 \ f
+i
+ = 0; i < (
+dma_size
+ / 8); i++) {
+
+143 
+dma_d¡0
+[
+i
+] = 
+dma_¤c0
+[i] & 
+dma_mask
+[i];
+
+144 
+dma_d¡1
+[
+i
+] = 
+dma_¤c1
+[i] & 
+dma_mask
+[i];
+
+145 
+dma_d¡2
+[
+i
+] = 
+dma_¤c2
+[i] & 
+dma_mask
+[i];
+
+146 
+dma_d¡3
+[
+i
+] = 
+dma_¤c3
+[i] & 
+dma_mask
+[i];
+
+150 ià(
+hash_\92abËd
+) {
+
+151 
+u\9at32_t
+hash0
+ = 
+p
+->
+       `f_hash
+(
+dma_d¡0
+, 
+dma_size
+, 0);
+
+152 
+u\9at32_t
+hash1
+ = 
+p
+->
+       `f_hash
+(
+dma_d¡1
+, 
+dma_size
+, 0);
+
+153 
+u\9at32_t
+hash2
+ = 
+p
+->
+       `f_hash
+(
+dma_d¡2
+, 
+dma_size
+, 0);
+
+154 
+u\9at32_t
+hash3
+ = 
+p
+->
+       `f_hash
+(
+dma_d¡3
+, 
+dma_size
+, 0);
+
+156 *
+dma_hash0
+ = 
+hash0
+;
+
+157 *
+dma_hash1
+ = 
+hash1
+;
+
+158 *
+dma_hash2
+ = 
+hash2
+;
+
+159 *
+dma_hash3
+ = 
+hash3
+;
+
+161 ià(
+lb_hash
+) {
+
+162 
+u\9at32_t
+pÜt_out0
+, 
+pÜt_out1
+, 
+pÜt_out2
+, 
+pÜt_out3
+;
+
+164 ià(
+pÜt_out_pow2
+) {
+
+165 
+pÜt_out0
+
+
+166 ð
+hash0
+ & (
+p
+->p.
+n_pÜts_out
+ - 1);
+
+167 
+pÜt_out1
+
+
+168 ð
+hash1
+ & (
+p
+->p.
+n_pÜts_out
+ - 1);
+
+169 
+pÜt_out2
+
+
+170 ð
+hash2
+ & (
+p
+->p.
+n_pÜts_out
+ - 1);
+
+171 
+pÜt_out3
+
+
+172 ð
+hash3
+ & (
+p
+->p.
+n_pÜts_out
+ - 1);
+
+174 
+pÜt_out0
+
+
+175 ð
+hash0
+ % 
+p
+->p.
+n_pÜts_out
+;
+
+176 
+pÜt_out1
+
+
+177 ð
+hash1
+ % 
+p
+->p.
+n_pÜts_out
+;
+
+178 
+pÜt_out2
+
+
+179 ð
+hash2
+ % 
+p
+->p.
+n_pÜts_out
+;
+
+180 
+pÜt_out3
+
+
+181 ð
+hash3
+ % 
+p
+->p.
+n_pÜts_out
+;
+
+183 
+       `¹e_p\9d\96\9ae_pÜt_out_·ck\91_\9a£¹
+(
+p
+->p.p,
+
+184 
+pÜt_out0
+, 
+pkts
+[0]);
+
+185 
+       `¹e_p\9d\96\9ae_pÜt_out_·ck\91_\9a£¹
+(
+p
+->p.p,
+
+186 
+pÜt_out1
+, 
+pkts
+[1]);
+
+187 
+       `¹e_p\9d\96\9ae_pÜt_out_·ck\91_\9a£¹
+(
+p
+->p.p,
+
+188 
+pÜt_out2
+, 
+pkts
+[2]);
+
+189 
+       `¹e_p\9d\96\9ae_pÜt_out_·ck\91_\9a£¹
+(
+p
+->p.p,
+
+190 
+pÜt_out3
+, 
+pkts
+[3]);
+
+193 
+       }
+}
+
+195 \ 1
+       #PKT_WORK
+(
+dma_size
+, 
+hash_\92abËd
+, 
+lb_hash
+, 
+pÜt_pow2
+) \
+
+196 \18
+\9al\9ae
\1e\
+
+197 
+pkt_wÜk_size
+##
+dma_size
+##
+_hash
+##
+hash_\92abËd
+ \
+
+198 ##
+_lb
+##
+lb_hash
+##
+_pw
+##
+       `pÜt_pow2
+( \
+
+199 \19
+¹e_mbuf
+ *
+pkt
+, \
+
+200 \1e*
+¬g
+) \
+
+202 
+       `pkt_wÜk
+(
+pkt
+, 
+¬g
+, 
+dma_size
+, 
+hash_\92abËd
+, 
+lb_hash
+, 
+pÜt_pow2
+); \
+
+203 }
+
+       )
+
+205 \ 1
+       #PKT4_WORK
+(
+dma_size
+, 
+hash_\92abËd
+, 
+lb_hash
+, 
+pÜt_pow2
+) \
+
+206 \18
+\9al\9ae
\1e\
+
+207 
+pkt4_wÜk_size
+##
+dma_size
+##
+_hash
+##
+hash_\92abËd
+ \
+
+208 ##
+_lb
+##
+lb_hash
+##
+_pw
+##
+       `pÜt_pow2
+( \
+
+209 \19
+¹e_mbuf
+ **
+pkts
+, \
+
+210 \1e*
+¬g
+) \
+
+212 
+       `pkt4_wÜk
+(
+pkts
+, 
+¬g
+, 
+dma_size
+, 
+hash_\92abËd
+, 
+lb_hash
+, 
+pÜt_pow2
+); \
+
+213 }
+
+       )
+
+215 \ 1
+       #pÜt_\9a_ah
+(
+dma_size
+, 
+hash_\92abËd
+, 
+lb_hash
+, 
+pÜt_pow2
+) \
+
+216 
+       `PKT_WORK
+(
+dma_size
+, 
+hash_\92abËd
+, 
+lb_hash
+, 
+pÜt_pow2
+) \
+
+217 
+       `PKT4_WORK
+(
+dma_size
+, 
+hash_\92abËd
+, 
+lb_hash
+, 
+pÜt_pow2
+) \
+
+218 
+       `PIPELINE_PORT_IN_AH
+(
+pÜt_\9a_ah_size
+##
+dma_size
+##
+_hash
+ \
+
+219 ##
+hash_\92abËd
+##
+_lb
+##
+lb_hash
+##
+_pw
+##
+pÜt_pow2
+, \
+
+220 
+pkt_wÜk_size
+##
+dma_size
+##
+_hash
+##
+hash_\92abËd
+ \
+
+221 ##
+_lb
+##
+lb_hash
+##
+_pw
+##
+pÜt_pow2
+, \
+
+222 
+pkt4_wÜk_size
+##
+dma_size
+##
+_hash
+##
+hash_\92abËd
+ \
+
+223 ##
+_lb
+##
+lb_hash
+##
+_pw
+##
+pÜt_pow2
+)
+
+       )
+
+226 \ 1
+       #pÜt_\9a_ah_lb
+(
+dma_size
+, 
+hash_\92abËd
+, 
+lb_hash
+, 
+pÜt_pow2
+) \
+
+227 
+       `PKT_WORK
+(
+dma_size
+, 
+hash_\92abËd
+, 
+lb_hash
+, 
+pÜt_pow2
+) \
+
+228 
+       `PKT4_WORK
+(
+dma_size
+, 
+hash_\92abËd
+, 
+lb_hash
+, 
+pÜt_pow2
+) \
+
+229 
+       `PIPELINE_PORT_IN_AH_HIJACK_ALL
+( \
+
+230 
+pÜt_\9a_ah_size
+##
+dma_size
+##
+_hash
+##
+hash_\92abËd
+ \
+
+231 ##
+_lb
+##
+lb_hash
+##
+_pw
+##
+pÜt_pow2
+, \
+
+232 
+pkt_wÜk_size
+##
+dma_size
+##
+_hash
+##
+hash_\92abËd
+ \
+
+233 ##
+_lb
+##
+lb_hash
+##
+_pw
+##
+pÜt_pow2
+, \
+
+234 
+pkt4_wÜk_size
+##
+dma_size
+##
+_hash
+##
+hash_\92abËd
+ \
+
+235 ##
+_lb
+##
+lb_hash
+##
+_pw
+##
+pÜt_pow2
+)
+
+       )
+
+239 
+       $pÜt_\9a_ah
+(8, 0, 0, 0)
+
+240 
+       $pÜt_\9a_ah
+(8, 1, 0, 0)
+
+241 
+       $pÜt_\9a_ah_lb
+(8, 1, 1, 0)
+
+242 
+       $pÜt_\9a_ah_lb
+(8, 1, 1, 1)
+
+244 
+       $pÜt_\9a_ah
+(16, 0, 0, 0)
+
+245 
+       $pÜt_\9a_ah
+(16, 1, 0, 0)
+
+246 
+       $pÜt_\9a_ah_lb
+(16, 1, 1, 0)
+
+247 
+       $pÜt_\9a_ah_lb
+(16, 1, 1, 1)
+
+249 
+       $pÜt_\9a_ah
+(24, 0, 0, 0)
+
+250 
+       $pÜt_\9a_ah
+(24, 1, 0, 0)
+
+251 
+       $pÜt_\9a_ah_lb
+(24, 1, 1, 0)
+
+252 
+       $pÜt_\9a_ah_lb
+(24, 1, 1, 1)
+
+254 
+       $pÜt_\9a_ah
+(32, 0, 0, 0)
+
+255 
+       $pÜt_\9a_ah
+(32, 1, 0, 0)
+
+256 
+       $pÜt_\9a_ah_lb
+(32, 1, 1, 0)
+
+257 
+       $pÜt_\9a_ah_lb
+(32, 1, 1, 1)
+
+259 
+       $pÜt_\9a_ah
+(40, 0, 0, 0)
+
+260 
+       $pÜt_\9a_ah
+(40, 1, 0, 0)
+
+261 
+       $pÜt_\9a_ah_lb
+(40, 1, 1, 0)
+
+262 
+       $pÜt_\9a_ah_lb
+(40, 1, 1, 1)
+
+264 
+       $pÜt_\9a_ah
+(48, 0, 0, 0)
+
+265 
+       $pÜt_\9a_ah
+(48, 1, 0, 0)
+
+266 
+       $pÜt_\9a_ah_lb
+(48, 1, 1, 0)
+
+267 
+       $pÜt_\9a_ah_lb
+(48, 1, 1, 1)
+
+269 
+       $pÜt_\9a_ah
+(56, 0, 0, 0)
+
+270 
+       $pÜt_\9a_ah
+(56, 1, 0, 0)
+
+271 
+       $pÜt_\9a_ah_lb
+(56, 1, 1, 0)
+
+272 
+       $pÜt_\9a_ah_lb
+(56, 1, 1, 1)
+
+274 
+       $pÜt_\9a_ah
+(64, 0, 0, 0)
+
+275 
+       $pÜt_\9a_ah
+(64, 1, 0, 0)
+
+276 
+       $pÜt_\9a_ah_lb
+(64, 1, 1, 0)
+
+277 
+       $pÜt_\9a_ah_lb
+(64, 1, 1, 1)
+
+279 \18
+¹e_p\9d\96\9ae_pÜt_\9a_aùiÚ_hªdËr
+
+
+280 
+       $g\91_pÜt_\9a_ah
+(\19
+p\9d\96\9ae_·s¡hrough
+ *
+p
+)
+
+282 ià(
+p
+->
+·¿ms
+.
+dma_\92abËd
+ == 0)
+
+283 \15 
+NULL
+;
+
+285 ià(
+p
+->
+·¿ms
+.
+dma_hash_\92abËd
+) {
+
+286 ià(
+p
+->
+·¿ms
+.
+lb_hash_\92abËd
+) {
+
+287 ià(
+       `¹e_is_pow\94_of_2
+(
+p
+->p.
+n_pÜts_out
+))
+
+288 \1a
+p
+->
+·¿ms
+.
+dma_size
+) {
+
+290 \ 48: \15 
+pÜt_\9a_ah_size8_hash1_lb1_pw1
+;
+
+291 \ 416: \15 
+pÜt_\9a_ah_size16_hash1_lb1_pw1
+;
+
+292 \ 424: \15 
+pÜt_\9a_ah_size24_hash1_lb1_pw1
+;
+
+293 \ 432: \15 
+pÜt_\9a_ah_size32_hash1_lb1_pw1
+;
+
+294 \ 440: \15 
+pÜt_\9a_ah_size40_hash1_lb1_pw1
+;
+
+295 \ 448: \15 
+pÜt_\9a_ah_size48_hash1_lb1_pw1
+;
+
+296 \ 456: \15 
+pÜt_\9a_ah_size56_hash1_lb1_pw1
+;
+
+297 \ 464: \15 
+pÜt_\9a_ah_size64_hash1_lb1_pw1
+;
+
+298 \a\15 
+NULL
+;
+
+301 \1a
+p
+->
+·¿ms
+.
+dma_size
+) {
+
+303 \ 48: \15 
+pÜt_\9a_ah_size8_hash1_lb1_pw0
+;
+
+304 \ 416: \15 
+pÜt_\9a_ah_size16_hash1_lb1_pw0
+;
+
+305 \ 424: \15 
+pÜt_\9a_ah_size24_hash1_lb1_pw0
+;
+
+306 \ 432: \15 
+pÜt_\9a_ah_size32_hash1_lb1_pw0
+;
+
+307 \ 440: \15 
+pÜt_\9a_ah_size40_hash1_lb1_pw0
+;
+
+308 \ 448: \15 
+pÜt_\9a_ah_size48_hash1_lb1_pw0
+;
+
+309 \ 456: \15 
+pÜt_\9a_ah_size56_hash1_lb1_pw0
+;
+
+310 \ 464: \15 
+pÜt_\9a_ah_size64_hash1_lb1_pw0
+;
+
+311 \a\15 
+NULL
+;
+
+314 \1a
+p
+->
+·¿ms
+.
+dma_size
+) {
+
+316 \ 48: \15 
+pÜt_\9a_ah_size8_hash1_lb0_pw0
+;
+
+317 \ 416: \15 
+pÜt_\9a_ah_size16_hash1_lb0_pw0
+;
+
+318 \ 424: \15 
+pÜt_\9a_ah_size24_hash1_lb0_pw0
+;
+
+319 \ 432: \15 
+pÜt_\9a_ah_size32_hash1_lb0_pw0
+;
+
+320 \ 440: \15 
+pÜt_\9a_ah_size40_hash1_lb0_pw0
+;
+
+321 \ 448: \15 
+pÜt_\9a_ah_size48_hash1_lb0_pw0
+;
+
+322 \ 456: \15 
+pÜt_\9a_ah_size56_hash1_lb0_pw0
+;
+
+323 \ 464: \15 
+pÜt_\9a_ah_size64_hash1_lb0_pw0
+;
+
+324 \a\15 
+NULL
+;
+
+327 \1a
+p
+->
+·¿ms
+.
+dma_size
+) {
+
+329 \ 48: \15 
+pÜt_\9a_ah_size8_hash0_lb0_pw0
+;
+
+330 \ 416: \15 
+pÜt_\9a_ah_size16_hash0_lb0_pw0
+;
+
+331 \ 424: \15 
+pÜt_\9a_ah_size24_hash0_lb0_pw0
+;
+
+332 \ 432: \15 
+pÜt_\9a_ah_size32_hash0_lb0_pw0
+;
+
+333 \ 440: \15 
+pÜt_\9a_ah_size40_hash0_lb0_pw0
+;
+
+334 \ 448: \15 
+pÜt_\9a_ah_size48_hash0_lb0_pw0
+;
+
+335 \ 456: \15 
+pÜt_\9a_ah_size56_hash0_lb0_pw0
+;
+
+336 \ 464: \15 
+pÜt_\9a_ah_size64_hash0_lb0_pw0
+;
+
+337 \a\15 
+NULL
+;
+
+339 
+       }
+}
+
+342 
+       $p\9d\96\9ae_·s¡hrough_·r£_¬gs
+(\19
+p\9d\96\9ae_·s¡hrough_·¿ms
+ *
+p
+,
+
+343 \19
+p\9d\96\9ae_·¿ms
+ *
+·¿ms
+)
+
+345 
+u\9at32_t
+dma_d¡_off£t_´e£Á
+ = 0;
+
+346 
+u\9at32_t
+dma_¤c_off£t_´e£Á
+ = 0;
+
+347 
+u\9at32_t
+dma_¤c_mask_´e£Á
+ = 0;
+
+348 
+u\9at32_t
+dma_size_´e£Á
+ = 0;
+
+349 
+u\9at32_t
+dma_hash_off£t_´e£Á
+ = 0;
+
+350 
+u\9at32_t
+lb_´e£Á
+ = 0;
+
+351 
+u\9at32_t
+i
+;
+
+352 \ 5
+dma_mask_¡r
+[
+PIPELINE_PASSTHROUGH_DMA_SIZE_MAX
+ * 2];
+
+355 
+p
+->
+dma_\92abËd
+ = 0;
+
+356 
+p
+->
+dma_hash_\92abËd
+ = 0;
+
+357 
+p
+->
+lb_hash_\92abËd
+ = 0;
+
+358 
+       `mem£t
+(
+p
+->
+dma_¤c_mask
+, 0xFF, \17(p->dma_src_mask));
+
+360 \ f
+i
+ = 0; i < 
+·¿ms
+->
+n_¬gs
+; i++) {
+
+361 \ 5*
+¬g_Çme
+ = 
+·¿ms
+->
+¬gs_Çme
+[
+i
+];
+
+362 \ 5*
+¬g_v®ue
+ = 
+·¿ms
+->
+¬gs_v®ue
+[
+i
+];
+
+365 ià(
+       `¡rcmp
+(
+¬g_Çme
+, "dma_dst_offset") == 0) {
+
+366 \12
+¡©us
+;
+
+368 
+       `PIPELINE_PARSE_ERR_DUPLICATE
+(
+
+369 
+dma_d¡_off£t_´e£Á
+ =ð0, 
+·¿ms
+->
+Çme
+,
+
+370 
+¬g_Çme
+);
+
+371 
+dma_d¡_off£t_´e£Á
+ = 1;
+
+373 
+¡©us
+ = 
+       `·r£r_»ad_u\9at32
+(&
+p
+->
+dma_d¡_off£t
+,
+
+374 
+¬g_v®ue
+);
+
+375 
+       `PIPELINE_PARSE_ERR_INV_VAL
+((
+¡©us
+ !ð-
+EINVAL
+),
+
+376 
+·¿ms
+->
+Çme
+, 
+¬g_Çme
+, 
+¬g_v®ue
+);
+
+377 
+       `PIPELINE_PARSE_ERR_OUT_RNG
+((
+¡©us
+ !ð-
+ERANGE
+),
+
+378 
+·¿ms
+->
+Çme
+, 
+¬g_Çme
+, 
+¬g_v®ue
+);
+
+380 
+p
+->
+dma_\92abËd
+ = 1;
+
+386 ià(
+       `¡rcmp
+(
+¬g_Çme
+, "dma_src_offset") == 0) {
+
+387 \12
+¡©us
+;
+
+389 
+       `PIPELINE_PARSE_ERR_DUPLICATE
+(
+
+390 
+dma_¤c_off£t_´e£Á
+ =ð0, 
+·¿ms
+->
+Çme
+,
+
+391 
+¬g_Çme
+);
+
+392 
+dma_¤c_off£t_´e£Á
+ = 1;
+
+394 
+¡©us
+ = 
+       `·r£r_»ad_u\9at32
+(&
+p
+->
+dma_¤c_off£t
+,
+
+395 
+¬g_v®ue
+);
+
+396 
+       `PIPELINE_PARSE_ERR_INV_VAL
+((
+¡©us
+ !ð-
+EINVAL
+),
+
+397 
+·¿ms
+->
+Çme
+, 
+¬g_Çme
+, 
+¬g_v®ue
+);
+
+398 
+       `PIPELINE_PARSE_ERR_OUT_RNG
+((
+¡©us
+ !ð-
+ERANGE
+),
+
+399 
+·¿ms
+->
+Çme
+, 
+¬g_Çme
+, 
+¬g_v®ue
+);
+
+401 
+p
+->
+dma_\92abËd
+ = 1;
+
+407 ià(
+       `¡rcmp
+(
+¬g_Çme
+, "dma_size") == 0) {
+
+408 \12
+¡©us
+;
+
+410 
+       `PIPELINE_PARSE_ERR_DUPLICATE
+(
+
+411 
+dma_size_´e£Á
+ =ð0, 
+·¿ms
+->
+Çme
+,
+
+412 
+¬g_Çme
+);
+
+413 
+dma_size_´e£Á
+ = 1;
+
+415 
+¡©us
+ = 
+       `·r£r_»ad_u\9at32
+(&
+p
+->
+dma_size
+,
+
+416 
+¬g_v®ue
+);
+
+417 
+       `PIPELINE_PARSE_ERR_INV_VAL
+(((
+¡©us
+ !ð-
+EINVAL
+) &&
+
+418 (
+p
+->
+dma_size
+ != 0) &&
+
+419 ((
+p
+->
+dma_size
+ % 8) == 0)),
+
+420 
+·¿ms
+->
+Çme
+, 
+¬g_Çme
+, 
+¬g_v®ue
+);
+
+421 
+       `PIPELINE_PARSE_ERR_OUT_RNG
+(((
+¡©us
+ !ð-
+ERANGE
+) &&
+
+422 (
+p
+->
+dma_size
+ <=
+
+423 
+PIPELINE_PASSTHROUGH_DMA_SIZE_MAX
+)),
+
+424 
+·¿ms
+->
+Çme
+, 
+¬g_Çme
+, 
+¬g_v®ue
+);
+
+426 
+p
+->
+dma_\92abËd
+ = 1;
+
+432 ià(
+       `¡rcmp
+(
+¬g_Çme
+, "dma_src_mask") == 0) {
+
+433 \12
+mask_¡r_Ën
+ = 
+       `¡¾\92
+(
+¬g_v®ue
+);
+
+435 
+       `PIPELINE_PARSE_ERR_DUPLICATE
+(
+
+436 
+dma_¤c_mask_´e£Á
+ == 0,
+
+437 
+·¿ms
+->
+Çme
+, 
+¬g_Çme
+);
+
+438 
+dma_¤c_mask_´e£Á
+ = 1;
+
+440 
+       `PIPELINE_ARG_CHECK
+((
+mask_¡r_Ën
+ <
+
+441 (
+PIPELINE_PASSTHROUGH_DMA_SIZE_MAX
+ * 2)),
+
+443 "\"%s\"\81oØlÚg", 
+·¿ms
+->
+Çme
+,
+
+444 
+¬g_Çme
+);
+
+446 
+       `¢´\9atf
+(
+dma_mask_¡r
+, 
+mask_¡r_Ën
+ + 1,
+
+447 "%s", 
+¬g_v®ue
+);
+
+449 
+p
+->
+dma_\92abËd
+ = 1;
+
+455 ià(
+       `¡rcmp
+(
+¬g_Çme
+, "dma_hash_offset") == 0) {
+
+456 \12
+¡©us
+;
+
+458 
+       `PIPELINE_PARSE_ERR_DUPLICATE
+(
+
+459 
+dma_hash_off£t_´e£Á
+ == 0,
+
+460 
+·¿ms
+->
+Çme
+, 
+¬g_Çme
+);
+
+461 
+dma_hash_off£t_´e£Á
+ = 1;
+
+463 
+¡©us
+ = 
+       `·r£r_»ad_u\9at32
+(&
+p
+->
+dma_hash_off£t
+,
+
+464 
+¬g_v®ue
+);
+
+465 
+       `PIPELINE_PARSE_ERR_INV_VAL
+((
+¡©us
+ !ð-
+EINVAL
+),
+
+466 
+·¿ms
+->
+Çme
+, 
+¬g_Çme
+, 
+¬g_v®ue
+);
+
+467 
+       `PIPELINE_PARSE_ERR_OUT_RNG
+((
+¡©us
+ !ð-
+ERANGE
+),
+
+468 
+·¿ms
+->
+Çme
+, 
+¬g_Çme
+, 
+¬g_v®ue
+);
+
+470 
+p
+->
+dma_hash_\92abËd
+ = 1;
+
+471 
+p
+->
+dma_\92abËd
+ = 1;
+
+477 ià(
+       `¡rcmp
+(
+¬g_Çme
+, "lb") == 0) {
+
+478 
+       `PIPELINE_PARSE_ERR_DUPLICATE
+(
+
+479 
+lb_´e£Á
+ == 0,
+
+480 
+·¿ms
+->
+Çme
+, 
+¬g_Çme
+);
+
+481 
+lb_´e£Á
+ = 1;
+
+483 ià((
+       `¡rcmp
+(
+¬g_v®ue
+, "hash") == 0) ||
+
+484 (
+       `¡rcmp
+(
+¬g_v®ue
+, "HASH") == 0))
+
+485 
+p
+->
+lb_hash_\92abËd
+ = 1;
+
+487 
+       `PIPELINE_PARSE_ERR_INV_VAL
+(0,
+
+488 
+·¿ms
+->
+Çme
+,
+
+489 
+¬g_Çme
+,
+
+490 
+¬g_v®ue
+);
+
+496 
+       `PIPELINE_PARSE_ERR_INV_ENT
+(0, 
+·¿ms
+->
+Çme
+, 
+¬g_Çme
+);
+
+500 
+       `PIPELINE_ARG_CHECK
+((
+dma_d¡_off£t_´e£Á
+ =ð
+p
+->
+dma_\92abËd
+),
+
+502 "\"dma_d¡_off£t\"", 
+·¿ms
+->
+Çme
+);
+
+503 
+       `PIPELINE_ARG_CHECK
+((
+dma_¤c_off£t_´e£Á
+ =ð
+p
+->
+dma_\92abËd
+),
+
+505 "\"dma_¤c_off£t\"", 
+·¿ms
+->
+Çme
+);
+
+506 
+       `PIPELINE_ARG_CHECK
+((
+dma_size_´e£Á
+ =ð
+p
+->
+dma_\92abËd
+),
+
+508 "\"dma_size\"", 
+·¿ms
+->
+Çme
+);
+
+509 
+       `PIPELINE_ARG_CHECK
+((
+dma_hash_off£t_´e£Á
+ =ð
+p
+->
+dma_\92abËd
+),
+
+511 "\"dma_hash_off£t\"", 
+·¿ms
+->
+Çme
+);
+
+512 
+       `PIPELINE_ARG_CHECK
+((
+p
+->
+lb_hash_\92abËd
+ <ðp->
+dma_hash_\92abËd
+),
+
+514 "\"dma_hash_off£t\"", 
+·¿ms
+->
+Çme
+);
+
+516 ià(
+dma_¤c_mask_´e£Á
+) {
+
+517 
+u\9at32_t
+dma_size
+ = 
+p
+->dma_size;
+
+518 \12
+¡©us
+;
+
+520 
+       `PIPELINE_ARG_CHECK
+((
+       `¡¾\92
+(
+dma_mask_¡r
+) ==
+
+521 (
+dma_size
+ * 2)), "Parse\83rror in section "
+
+523 "dig\99s", 
+·¿ms
+->
+Çme
+, (
+dma_size
+ * 2));
+
+525 
+¡©us
+ = 
+       `·r£_hex_¡r\9ag
+(
+dma_mask_¡r
+, 
+p
+->
+dma_¤c_mask
+,
+
+526 &
+p
+->
+dma_size
+);
+
+528 
+       `PIPELINE_PARSE_ERR_INV_VAL
+(((
+¡©us
+ == 0) &&
+
+529 (
+dma_size
+ =ð
+p
+->dma_size)), 
+·¿ms
+->
+Çme
+,
+
+530 "dma_¤c_mask", 
+dma_mask_¡r
+);
+
+534 
+       }
+}
+
+537 \18
+¹e_\8fbË_hash_Ý_hash
+
+
+538 
+       $g\91_hash_funùiÚ
+(\19
+p\9d\96\9ae_·s¡hrough
+ *
+p
+)
+
+540 \1a
+p
+->
+·¿ms
+.
+dma_size
+) {
+
+542 \ 48: \15 
+hash_deçuÉ_key8
+;
+
+543 \ 416: \15 
+hash_deçuÉ_key16
+;
+
+544 \ 424: \15 
+hash_deçuÉ_key24
+;
+
+545 \ 432: \15 
+hash_deçuÉ_key32
+;
+
+546 \ 440: \15 
+hash_deçuÉ_key40
+;
+
+547 \ 448: \15 
+hash_deçuÉ_key48
+;
+
+548 \ 456: \15 
+hash_deçuÉ_key56
+;
+
+549 \ 464: \15 
+hash_deçuÉ_key64
+;
+
+550 \a\15 
+NULL
+;
+
+552 
+       }
+}
+
+555 
+       $p\9d\96\9ae_·s¡hrough_\9a\99
+(\19
+p\9d\96\9ae_·¿ms
+ *
+·¿ms
+,
+
+556 
+__¹e_unu£d
\1e*
+¬g
+)
+
+558 \19
+p\9d\96\9ae
+ *
+p
+;
+
+559 \19
+p\9d\96\9ae_·s¡hrough
+ *
+p_±
+;
+
+560 
+u\9at32_t
+size
+, 
+i
+;
+
+563 ià((
+·¿ms
+ =ð
+NULL
+) ||
+
+564 (
+·¿ms
+->
+n_pÜts_\9a
+ == 0) ||
+
+565 (
+·¿ms
+->
+n_pÜts_out
+ == 0) ||
+
+566 (
+·¿ms
+->
+n_pÜts_\9a
+ <\85¬ams->
+n_pÜts_out
+) ||
+
+567 (
+·¿ms
+->
+n_pÜts_\9a
+ %\85¬ams->
+n_pÜts_out
+))
+
+568 \15 
+NULL
+;
+
+571 
+size
+ = 
+       `RTE_CACHE_LINE_ROUNDUP
+(\17(\19
+p\9d\96\9ae_·s¡hrough
+));
+
+572 
+p
+ = 
+       `¹e_zm®loc
+(
+NULL
+, 
+size
+, 
+RTE_CACHE_LINE_SIZE
+);
+
+573 
+p_±
+ = (\19
+p\9d\96\9ae_·s¡hrough
+ *è
+p
+;
+
+574 ià(
+p
+ =ð
+NULL
+)
+
+575 \15 
+NULL
+;
+
+577 
+       `¡rýy
+(
+p
+->
+Çme
+, 
+·¿ms
+->name);
+
+578 
+p
+->
+log_Ëv\96
+ = 
+·¿ms
+->log_level;
+
+580 
+       `PLOG
+(
+p
+, 
+HIGH
+, "Pass-through");
+
+583 ià(
+       `p\9d\96\9ae_·s¡hrough_·r£_¬gs
+(&
+p_±
+->
+·¿ms
+,\85arams))
+
+584 \15 
+NULL
+;
+
+585 
+p_±
+->
+f_hash
+ = 
+       `g\91_hash_funùiÚ
+(p_pt);
+
+589 \19
+¹e_p\9d\96\9ae_·¿ms
+p\9d\96\9ae_·¿ms
+ = {
+
+590 .
+Çme
+ = "PASS-THROUGH",
+
+591 .
+sock\91_id
+ = 
+·¿ms
+->socket_id,
+
+592 .
+off£t_pÜt_id
+ = 0,
+
+595 
+p
+->°ð
+       `¹e_p\9d\96\9ae_ü\97\8b
+(&
+p\9d\96\9ae_·¿ms
+);
+
+596 ià(
+p
+->°=ð
+NULL
+) {
+
+597 
+       `¹e_ä\93
+(
+p
+);
+
+598 \15 
+NULL
+;
+
+602 
+p
+->
+n_pÜts_\9a
+ = 
+·¿ms
+->n_ports_in;
+
+603 
+p
+->
+n_pÜts_out
+ = 
+·¿ms
+->n_ports_out;
+
+604 
+p
+->
+n_\8fbËs
+ =\85->
+n_pÜts_\9a
+;
+
+607 \ f
+i
+ = 0; i < 
+p
+->
+n_pÜts_\9a
+; i++) {
+
+608 \19
+¹e_p\9d\96\9ae_pÜt_\9a_·¿ms
+pÜt_·¿ms
+ = {
+
+609 .
+Ýs
+ = 
+       `p\9d\96\9ae_pÜt_\9a_·¿ms_g\91_Ýs
+(
+
+610 &
+·¿ms
+->
+pÜt_\9a
+[
+i
+]),
+
+611 .
+¬g_ü\97\8b
+ = 
+       `p\9d\96\9ae_pÜt_\9a_·¿ms_cÚv\94t
+(
+
+612 &
+·¿ms
+->
+pÜt_\9a
+[
+i
+]),
+
+613 .
+f_aùiÚ
+ = 
+       `g\91_pÜt_\9a_ah
+(
+p_±
+),
+
+614 .
+¬g_ah
+ = 
+p_±
+,
+
+615 .
+bur¡_size
+ = 
+·¿ms
+->
+pÜt_\9a
+[
+i
+].burst_size,
+
+618 \12
+¡©us
+ = 
+       `¹e_p\9d\96\9ae_pÜt_\9a\97\8b
+(
+p
+->p,
+
+619 &
+pÜt_·¿ms
+,
+
+620 &
+p
+->
+pÜt_\9a_id
+[
+i
+]);
+
+622 ià(
+¡©us
+) {
+
+623 
+       `¹e_p\9d\96\9ae_ä\93
+(
+p
+->p);
+
+624 
+       `¹e_ä\93
+(
+p
+);
+
+625 \15 
+NULL
+;
+
+630 \ f
+i
+ = 0; i < 
+p
+->
+n_pÜts_out
+; i++) {
+
+631 \19
+¹e_p\9d\96\9ae_pÜt_out_·¿ms
+pÜt_·¿ms
+ = {
+
+632 .
+Ýs
+ = 
+       `p\9d\96\9ae_pÜt_out_·¿ms_g\91_Ýs
+(
+
+633 &
+·¿ms
+->
+pÜt_out
+[
+i
+]),
+
+634 .
+¬g_ü\97\8b
+ = 
+       `p\9d\96\9ae_pÜt_out_·¿ms_cÚv\94t
+(
+
+635 &
+·¿ms
+->
+pÜt_out
+[
+i
+]),
+
+636 .
+f_aùiÚ
+ = 
+NULL
+,
+
+637 .
+¬g_ah
+ = 
+NULL
+,
+
+640 \12
+¡©us
+ = 
+       `¹e_p\9d\96\9ae_pÜt_out_ü\97\8b
+(
+p
+->p,
+
+641 &
+pÜt_·¿ms
+,
+
+642 &
+p
+->
+pÜt_out_id
+[
+i
+]);
+
+644 ià(
+¡©us
+) {
+
+645 
+       `¹e_p\9d\96\9ae_ä\93
+(
+p
+->p);
+
+646 
+       `¹e_ä\93
+(
+p
+);
+
+647 \15 
+NULL
+;
+
+652 \ f
+i
+ = 0; i < 
+p
+->
+n_pÜts_\9a
+; i++) {
+
+653 \19
+¹e_p\9d\96\9ae_\8fbË_·¿ms
+\8fbË_·¿ms
+ = {
+
+654 .
+Ýs
+ = &
+¹e_\8fbË_¡ub_Ýs
+,
+
+655 .
+¬g_ü\97\8b
+ = 
+NULL
+,
+
+656 .
+f_aùiÚ_h\99
+ = 
+NULL
+,
+
+657 .
+f_aùiÚ_miss
+ = 
+NULL
+,
+
+658 .
+¬g_ah
+ = 
+NULL
+,
+
+659 .
+aùiÚ_d©a_size
+ = 0,
+
+662 \12
+¡©us
+ = 
+       `¹e_p\9d\96\9ae_\8fbË_ü\97\8b
+(
+p
+->p,
+
+663 &
+\8fbË_·¿ms
+,
+
+664 &
+p
+->
+\8fbË_id
+[
+i
+]);
+
+666 ià(
+¡©us
+) {
+
+667 
+       `¹e_p\9d\96\9ae_ä\93
+(
+p
+->p);
+
+668 
+       `¹e_ä\93
+(
+p
+);
+
+669 \15 
+NULL
+;
+
+674 \ f
+i
+ = 0; i < 
+p
+->
+n_pÜts_\9a
+; i++) {
+
+675 \12
+¡©us
+ = 
+       `¹e_p\9d\96\9ae_pÜt_\9a_cÚÃù_to_\8f
+(
+p
+->p,
+
+676 
+p
+->
+pÜt_\9a_id
+[
+i
+],
+
+677 
+p
+->
+\8fbË_id
+[
+i
+]);
+
+679 ià(
+¡©us
+) {
+
+680 
+       `¹e_p\9d\96\9ae_ä\93
+(
+p
+->p);
+
+681 
+       `¹e_ä\93
+(
+p
+);
+
+682 \15 
+NULL
+;
+
+687 \ f
+i
+ = 0; i < 
+p
+->
+n_pÜts_\9a
+; i++) {
+
+688 \19
+¹e_p\9d\96\9ae_\8fbË_\92\8cy
+deçuÉ_\92\8cy
+ = {
+
+689 .
+aùiÚ
+ = 
+RTE_PIPELINE_ACTION_PORT
+,
+
+690 {.
+pÜt_id
+ = 
+p
+->
+pÜt_out_id
+[
+
+691 
+i
+ / (
+p
+->
+n_pÜts_\9a
+ /\85->
+n_pÜts_out
+)]},
+
+694 \19
+¹e_p\9d\96\9ae_\8fbË_\92\8cy
+ *
+deçuÉ_\92\8cy_±r
+;
+
+696 \12
+¡©us
+ = 
+       `¹e_p\9d\96\9ae_\8fbË_deçuÉ_\92\8cy_add
+(
+p
+->p,
+
+697 
+p
+->
+\8fbË_id
+[
+i
+],
+
+698 &
+deçuÉ_\92\8cy
+,
+
+699 &
+deçuÉ_\92\8cy_±r
+);
+
+701 ià(
+¡©us
+) {
+
+702 
+       `¹e_p\9d\96\9ae_ä\93
+(
+p
+->p);
+
+703 
+       `¹e_ä\93
+(
+p
+);
+
+704 \15 
+NULL
+;
+
+709 \ f
+i
+ = 0; i < 
+p
+->
+n_pÜts_\9a
+; i++) {
+
+710 \12
+¡©us
+ = 
+       `¹e_p\9d\96\9ae_pÜt_\9a_\92abË
+(
+p
+->p,
+
+711 
+p
+->
+pÜt_\9a_id
+[
+i
+]);
+
+713 ià(
+¡©us
+) {
+
+714 
+       `¹e_p\9d\96\9ae_ä\93
+(
+p
+->p);
+
+715 
+       `¹e_ä\93
+(
+p
+);
+
+716 \15 
+NULL
+;
+
+721 ià(
+       `¹e_p\9d\96\9ae_check
+(
+p
+->p) < 0) {
+
+722 
+       `¹e_p\9d\96\9ae_ä\93
+(
+p
+->p);
+
+723 
+       `¹e_ä\93
+(
+p
+);
+
+724 \15 
+NULL
+;
+
+728 
+p
+->
+n_msgq
+ = 
+·¿ms
+->n_msgq;
+
+729 \ f
+i
+ = 0; i < 
+p
+->
+n_msgq
+; i++)
+
+730 
+p
+->
+msgq_\9a
+[
+i
+] = 
+·¿ms
+->msgq_in[i];
+
+731 \ f
+i
+ = 0; i < 
+p
+->
+n_msgq
+; i++)
+
+732 
+p
+->
+msgq_out
+[
+i
+] = 
+·¿ms
+->msgq_out[i];
+
+735 
+       `memýy
+(
+p
+->
+hªdËrs
+, handlers, \17(p->handlers));
+
+737 \15 
+p
+;
+
+738 
+       }
+}
+
+741 
+       $p\9d\96\9ae_·s¡hrough_ä\93
+(\1e*
+p\9d\96\9ae
+)
+
+743 \19
+p\9d\96\9ae
+ *
+p
+ = (\19pipeline *)\85ipeline;
+
+746 ià(
+p
+ =ð
+NULL
+)
+
+750 
+       `¹e_p\9d\96\9ae_ä\93
+(
+p
+->p);
+
+751 
+       `¹e_ä\93
+(
+p
+);
+
+753 
+       }
+}
+
+756 
+       $p\9d\96\9ae_·s¡hrough_tim\94
+(\1e*
+p\9d\96\9ae
+)
+
+758 \19
+p\9d\96\9ae
+ *
+p
+ = (\19pipeline *)\85ipeline;
+
+760 
+       `p\9d\96\9ae_msg_»q_hªdË
+(
+p
+);
+
+761 
+       `¹e_p\9d\96\9ae_æush
+(
+p
+->p);
+
+764 
+       }
+}
+
+767 
+       $p\9d\96\9ae_·s¡hrough_\8cack
+(\1e*
+p\9d\96\9ae
+, 
+u\9at32_t
+pÜt_\9a
+, u\9at32_\88*
+pÜt_out
+)
+
+769 \19
+p\9d\96\9ae
+ *
+p
+ = (\19pipeline *)\85ipeline;
+
+772 ià((
+p
+ =ð
+NULL
+) ||
+
+773 (
+pÜt_\9a
+ >ð
+p
+->
+n_pÜts_\9a
+) ||
+
+774 (
+pÜt_out
+ =ð
+NULL
+))
+
+777 *
+pÜt_out
+ = 
+pÜt_\9a
+ / 
+p
+->
+n_pÜts_\9a
+;
+
+779 
+       }
+}
+
+781 \19
+p\9d\96\9ae_be_Ýs
+       gp\9d\96\9ae_·s¡hrough_be_Ýs
+ = {
+
+782 .
+f_\9a\99
+ = 
+p\9d\96\9ae_·s¡hrough_\9a\99
+,
+
+783 .
+       gf_ä\93
+ = 
+p\9d\96\9ae_·s¡hrough_ä\93
+,
+
+784 .
+       gf_run
+ = 
+NULL
+,
+
+785 .
+       gf_tim\94
+ = 
+p\9d\96\9ae_·s¡hrough_tim\94
+,
+
+786 .
+       gf_\8cack
+ = 
+p\9d\96\9ae_·s¡hrough_\8cack
+,
+
+       @VIL/pipeline_passthrough/pipeline_passthrough_be.h
+
+17 #iâdeà
+__INCLUDE_PIPELINE_PASSTHROUGH_BE_H__
+
+
+18 \ 1
+       #__INCLUDE_PIPELINE_PASSTHROUGH_BE_H__
+
+
+       )
+
+20 \ 2
+       ~"p\9d\96\9ae_commÚ_be.h
+"
+
+22 \ 1
+       #PIPELINE_PASSTHROUGH_DMA_SIZE_MAX
+ 64
+
+       )
+
+24 \19
+       sp\9d\96\9ae_·s¡hrough_·¿ms
+ {
+
+25 
+u\9at32_t
+       mdma_\92abËd
+;
+
+26 
+u\9at32_t
+       mdma_d¡_off£t
+;
+
+27 
+u\9at32_t
+       mdma_¤c_off£t
+;
+
+28 
+u\9at8_t
+       mdma_¤c_mask
+[
+PIPELINE_PASSTHROUGH_DMA_SIZE_MAX
+];
+
+29 
+u\9at32_t
+       mdma_size
+;
+
+31 
+u\9at32_t
+       mdma_hash_\92abËd
+;
+
+32 
+u\9at32_t
+       mdma_hash_off£t
+;
+
+33 
+u\9at32_t
+       mlb_hash_\92abËd
+;
+
+37 
+p\9d\96\9ae_·s¡hrough_·r£_¬gs
+(\19
+p\9d\96\9ae_·s¡hrough_·¿ms
+ *
+p
+,
+
+38 \19
+p\9d\96\9ae_·¿ms
+ *
+·¿ms
+);
+
+40 \r\19
+p\9d\96\9ae_be_Ýs
+p\9d\96\9ae_·s¡hrough_be_Ýs
+;
+
+       @VIL/pipeline_txrx/pipeline_txrx.c
+
+17 \ 2
+       ~<cmdl\9ae_·r£.h
+>
+
+18 \ 2
+       ~<cmdl\9ae_·r£_num.h
+>
+
+19 \ 2
+       ~<cmdl\9ae_·r£_¡r\9ag.h
+>
+
+20 \ 2
+       ~<cmdl\9ae_·r£_\9daddr.h
+>
+
+21 \ 2
+       ~<cmdl\9ae_·r£_\91h\94addr.h
+>
+
+23 \ 2
+       ~"­p.h
+"
+
+24 \ 2
+       ~"p\9d\96\9ae_commÚ_ã.h
+"
+
+25 \ 2
+       ~"p\9d\96\9ae_txrx.h
+"
+
+26 \ 2
+       ~"vnf_commÚ.h
+"
+
+28 \ 2
+       ~"p\9d\96\9ae_¬picmp_be.h
+"
+
+31 
+       $­p_p\9d\96\9ae_txrx_\92\8cy_dbg
+(\19
+­p_·¿ms
+ *
+­p
+,
+
+32 
+u\9at32_t
+p\9d\96\9ae_id
+, 
+u\9at8_t
+ *
+msg
+)
+
+34 \19
+p\9d\96\9ae_txrx_\92\8cy_dbg_msg_»q
+ *
+»q
+;
+
+35 \19
+p\9d\96\9ae_txrx_\92\8cy_dbg_msg_r¥
+ *
+r¥
+;
+
+38 ià(
+­p
+ =ð
+NULL
+)
+
+42 
+»q
+ = 
+       `­p_msg_®loc
+(
+­p
+);
+
+43 ià(
+»q
+ =ð
+NULL
+)
+
+46 
+»q
+->
+ty³
+ = 
+PIPELINE_MSG_REQ_CUSTOM
+;
+
+47 
+»q
+->
+subty³
+ = 
+PIPELINE_TXRX_MSG_REQ_ENTRY_DBG
+;
+
+48 
+»q
+->
+d©a
+[0] = 
+msg
+[0];
+
+49 
+»q
+->
+d©a
+[1] = 
+msg
+[1];
+
+51 
+r¥
+ = 
+       `­p_msg_£nd_»cv
+(
+­p
+, 
+p\9d\96\9ae_id
+, 
+»q
+, 
+MSG_TIMEOUT_DEFAULT
+);
+
+52 ià(
+r¥
+ =ð
+NULL
+)
+
+56 ià(
+r¥
+->
+¡©us
+) {
+
+57 
+       `­p_msg_ä\93
+(
+­p
+, 
+r¥
+);
+
+58 
+       `´\9atf
+("E¼Ü\84¥->¡©u %d\n", 
+r¥
+->
+¡©us
+);
+
+63 
+       `­p_msg_ä\93
+(
+­p
+, 
+r¥
+);
+
+66 
+       }
+}
+
+73 \19
+       scmd_\92\8cy_dbg_»suÉ
+ {
+
+74 
+cmdl\9ae_fixed_¡r\9ag_t
+       mp_¡r\9ag
+;
+
+75 
+u\9at32_t
+       mp
+;
+
+76 
+cmdl\9ae_fixed_¡r\9ag_t
+       m\92\8cy_¡r\9ag
+;
+
+77 
+cmdl\9ae_fixed_¡r\9ag_t
+       mdbg_¡r\9ag
+;
+
+78 
+u\9at8_t
+       mcmd
+;
+
+79 
+u\9at8_t
+       md1
+;
+
+83 
+       $cmd_\92\8cy_dbg_·r£d
+(\1e*
+·r£d_»suÉ
+,
+
+84 
+__¹e_unu£d
\19
+cmdl\9ae
+ *
+, \1e*
+d©a
+)
+
+86 \19
+cmd_\92\8cy_dbg_»suÉ
+ *
+·¿ms
+ = 
+·r£d_»suÉ
+;
+
+87 \19
+­p_·¿ms
+ *
+­p
+ = 
+d©a
+;
+
+88 
+u\9at8_t
+msg
+[2];
+
+89 \12
+¡©us
+;
+
+91 
+msg
+[0] = 
+·¿ms
+->
+cmd
+;
+
+92 
+msg
+[1] = 
+·¿ms
+->
+d1
+;
+
+93 
+¡©us
+ = 
+       `­p_p\9d\96\9ae_txrx_\92\8cy_dbg
+(
+­p
+, 
+·¿ms
+->
+p
+, 
+msg
+);
+
+95 ià(
+¡©us
+ != 0) {
+
+96 
+       `´\9atf
+("Dbg Command failed\n");
+
+99 
+       }
+}
+
+101 \18
+cmdl\9ae_·r£_tok\92_¡r\9ag_t
+       glb_cmd_\92\8cy_dbg_p_¡r\9ag
+ =
+
+102 
+TOKEN_STRING_INITIALIZER
+(\19
+cmd_\92\8cy_dbg_»suÉ
+, 
+p_¡r\9ag
+, "p");
+
+104 \18
+cmdl\9ae_·r£_tok\92_num_t
+       glb_cmd_\92\8cy_dbg_p
+ =
+
+105 
+TOKEN_NUM_INITIALIZER
+(\19
+cmd_\92\8cy_dbg_»suÉ
+, 
+p
+, 
+UINT32
+);
+
+107 \18
+cmdl\9ae_·r£_tok\92_¡r\9ag_t
+       glb_cmd_\92\8cy_dbg_\92\8cy_¡r\9ag
+ =
+
+108 
+TOKEN_STRING_INITIALIZER
+(\19
+cmd_\92\8cy_dbg_»suÉ
+,
+
+109 
+\92\8cy_¡r\9ag
+, "txrx");
+
+111 \18
+cmdl\9ae_·r£_tok\92_¡r\9ag_t
+       glb_cmd_\92\8cy_dbg_dbg_¡r\9ag
+ =
+
+112 
+TOKEN_STRING_INITIALIZER
+(\19
+cmd_\92\8cy_dbg_»suÉ
+, 
+dbg_¡r\9ag
+,
+
+115 \18
+cmdl\9ae_·r£_tok\92_num_t
+       glb_cmd_\92\8cy_dbg_cmd
+ =
+
+116 
+TOKEN_NUM_INITIALIZER
+(\19
+cmd_\92\8cy_dbg_»suÉ
+, 
+cmd
+, 
+UINT8
+);
+
+118 \18
+cmdl\9ae_·r£_tok\92_num_t
+       glb_cmd_\92\8cy_dbg_d1
+ =
+
+119 
+TOKEN_NUM_INITIALIZER
+(\19
+cmd_\92\8cy_dbg_»suÉ
+, 
+d1
+, 
+UINT8
+);
+
+121 \18
+cmdl\9ae_·r£_\9a¡_t
+       glb_cmd_\92\8cy_dbg
+ = {
+
+122 .
+f
+ = 
+cmd_\92\8cy_dbg_·r£d
+,
+
+123 .
+       gd©a
+ = 
+NULL
+,
+
+124 .
+       gh\96p_¡r
+ = "TXRX dbg cmd",
+
+125 .
+       gtok\92s
+ = {
+
+126 (\1e*)&
+lb_cmd_\92\8cy_dbg_p_¡r\9ag
+,
+
+127 (\1e*)&
+lb_cmd_\92\8cy_dbg_p
+,
+
+128 (\1e*)&
+lb_cmd_\92\8cy_dbg_\92\8cy_¡r\9ag
+,
+
+129 (\1e*)&
+lb_cmd_\92\8cy_dbg_dbg_¡r\9ag
+,
+
+130 (\1e*)&
+lb_cmd_\92\8cy_dbg_cmd
+,
+
+131 (\1e*)&
+lb_cmd_\92\8cy_dbg_d1
+,
+
+132 
+NULL
+,
+
+136 \18
+cmdl\9ae_·r£_ùx_t
+       gp\9d\96\9ae_cmds
+[] = {
+
+137 (
+cmdl\9ae_·r£_\9a¡_t
+ *è&
+lb_cmd_\92\8cy_dbg
+,
+
+138 
+NULL
+,
+
+141 \18\19
+p\9d\96\9ae_ã_Ýs
+       gp\9d\96\9ae_txrx_ã_Ýs
+ = {
+
+142 .
+f_\9a\99
+ = 
+NULL
+,
+
+143 .
+       gf_ä\93
+ = 
+NULL
+,
+
+144 .
+       gcmds
+ = 
+p\9d\96\9ae_cmds
+,
+
+147 \19
+p\9d\96\9ae_ty³
+       gp\9d\96\9ae_txrx
+ = {
+
+148 .
+Çme
+ = "TXRX",
+
+149 .
+       gbe_Ýs
+ = &
+p\9d\96\9ae_txrx_be_Ýs
+,
+
+150 .
+       gã_Ýs
+ = &
+p\9d\96\9ae_txrx_ã_Ýs
+,
+
+       @VIL/pipeline_txrx/pipeline_txrx.h
+
+17 #iâdeà
+__INCLUDE_PIPELINE_TXRX_H__
+
+
+18 \ 1
+       #__INCLUDE_PIPELINE_TXRX_H__
+
+
+       )
+
+20 \ 2
+       ~"p\9d\96\9ae.h
+"
+
+21 \ 2
+       ~"p\9d\96\9ae_txrx_be.h
+"
+
+26 \r\19
+p\9d\96\9ae_ty³
+p\9d\96\9ae_txrx
+;
+
+       @VIL/pipeline_txrx/pipeline_txrx_be.c
+
+17 \ 2
+       ~<¡r\9ag.h
+>
+
+19 \ 2
+       ~<¹e_commÚ.h
+>
+
+20 \ 2
+       ~<¹e_m®loc.h
+>
+
+21 \ 2
+       ~<¹e_by\8bÜd\94.h
+>
+
+22 \ 2
+       ~<¹e_\8fbË_¡ub.h
+>
+
+23 \ 2
+       ~<¹e_\8fbË_hash.h
+>
+
+24 \ 2
+       ~<¹e_p\9d\96\9ae.h
+>
+
+26 \ 2
+       ~"p\9d\96\9ae_txrx_be.h
+"
+
+27 \ 2
+       ~"p\9d\96\9ae_aùiÚs_commÚ.h
+"
+
+28 \ 2
+       ~"·r£r.h
+"
+
+29 \ 2
+       ~"hash_func.h
+"
+
+30 \ 2
+       ~"p\9d\96\9ae_¬picmp_be.h
+"
+
+31 \ 2
+       ~"vnf_commÚ.h
+"
+
+32 \ 2
+       ~"­p.h
+"
+
+33 #iâdeà
+VNF_ACL
+
+
+34 \ 2
+       ~"lib_icmpv6.h
+"
+
+37 
+u\9at8_t
+       gTXRX_DEBUG
+;
+
+38 \12
+       gpkt_bur¡_út
+;
+
+40 \19
+       sp\9d\96\9ae_txrx
+ {
+
+41 \19
+p\9d\96\9ae
+       mp
+;
+
+42 
+p\9d\96\9ae_msg_»q_hªdËr
+
+
+43 
+       mcu¡om_hªdËrs
+[
+PIPELINE_TXRX_MSG_REQS
+];
+
+44 
+u\9at64_t
+       m»ûivedPktCouÁ
+;
+
+45 
+u\9at64_t
+       mdrݳdPktCouÁ
+;
+
+46 
+u\9at8_t
+       ml\9aks_m­
+[
+PIPELINE_MAX_PORT_IN
+];
+
+47 
+u\9at8_t
+       mou\8dÜt_id
+[
+PIPELINE_MAX_PORT_IN
+];
+
+48 
+u\9at8_t
+       mp\9d\96\9ae_num
+;
+
+49 
+u\9at8_t
+       mtxrx_ty³
+;
+
+50 } 
+       g__¹e_ÿche_®igÃd
+;
+
+53 
+       mTYPE_TXTX
+,
+
+54 
+       mTYPE_RXRX
+,
+
+56 \18\1e*
+p\9d\96\9ae_txrx_msg_»q_cu¡om_hªdËr
+(\19
+p\9d\96\9ae
+ *
+p
+,
+
+57 \1e*
+msg
+);
+
+59 \18
+p\9d\96\9ae_msg_»q_hªdËr
+       ghªdËrs
+[] = {
+
+60 [
+PIPELINE_MSG_REQ_PING
+] =
+
+61 
+p\9d\96\9ae_msg_»q_p\9ag_hªdËr
+,
+
+62 [
+PIPELINE_MSG_REQ_STATS_PORT_IN
+] =
+
+63 
+p\9d\96\9ae_msg_»q_¡©s_pÜt_\9a_hªdËr
+,
+
+64 [
+PIPELINE_MSG_REQ_STATS_PORT_OUT
+] =
+
+65 
+p\9d\96\9ae_msg_»q_¡©s_pÜt_out_hªdËr
+,
+
+66 [
+PIPELINE_MSG_REQ_STATS_TABLE
+] =
+
+67 
+p\9d\96\9ae_msg_»q_¡©s_\8fbË_hªdËr
+,
+
+68 [
+PIPELINE_MSG_REQ_PORT_IN_ENABLE
+] =
+
+69 
+p\9d\96\9ae_msg_»q_pÜt_\9a_\92abË_hªdËr
+,
+
+70 [
+PIPELINE_MSG_REQ_PORT_IN_DISABLE
+] =
+
+71 
+p\9d\96\9ae_msg_»q_pÜt_\9a_di§bË_hªdËr
+,
+
+72 [
+PIPELINE_MSG_REQ_CUSTOM
+] =
+
+73 
+p\9d\96\9ae_txrx_msg_»q_cu¡om_hªdËr
+,
+
+77 \18\1e*
+p\9d\96\9ae_txrx_msg_»q_\92\8cy_dbg_hªdËr
+(\19
+p\9d\96\9ae
+ *
+p
+,
+
+78 \1e*
+msg
+);
+
+79 \18\1e*
+       $p\9d\96\9ae_txrx_msg_»q_\92\8cy_dbg_hªdËr
+(
+
+80 
+__¹e_unu£d
\19
+p\9d\96\9ae
+ *
+p
+,
+
+81 
+__¹e_unu£d
\1e*
+msg
+)
+
+84 \15 
+NULL
+;
+
+85 
+       }
+}
+
+87 \18
+__¹e_unu£d
+p\9d\96\9ae_msg_»q_hªdËr
+       gcu¡om_hªdËrs
+[] = {
+
+88 [
+PIPELINE_TXRX_MSG_REQ_ENTRY_DBG
+] =
+
+89 
+p\9d\96\9ae_txrx_msg_»q_\92\8cy_dbg_hªdËr
+,
+
+103 \1e*
+       $p\9d\96\9ae_txrx_msg_»q_cu¡om_hªdËr
+(\19
+p\9d\96\9ae
+ *
+p
+, \1e*
+msg
+)
+
+105 \19
+p\9d\96\9ae_txrx
+ *
+p_txrx
+ = (\19p\9d\96\9ae_txrx *)
+p
+;
+
+106 \19
+p\9d\96\9ae_cu¡om_msg_»q
+ *
+»q
+ = 
+msg
+;
+
+107 
+p\9d\96\9ae_msg_»q_hªdËr
+f_hªdË
+;
+
+109 
+f_hªdË
+ = (
+»q
+->
+subty³
+ < 
+PIPELINE_TXRX_MSG_REQS
+) ?
+
+110 
+p_txrx
+->
+cu¡om_hªdËrs
+[
+»q
+->
+subty³
+] :
+
+111 
+p\9d\96\9ae_msg_»q_\9av®id_hªdËr
+;
+
+113 ià(
+f_hªdË
+ =ð
+NULL
+)
+
+114 
+f_hªdË
+ = 
+p\9d\96\9ae_msg_»q_\9av®id_hªdËr
+;
+
+116 \15 
+       `f_hªdË
+(
+p
+, 
+»q
+);
+
+117 
+       }
+}
+
+123 
+p\9d\96\9ae_txrx_·r£_¬gs
+(\19
+p\9d\96\9ae_txrx
+ *
+p
+,
+
+124 \19
+p\9d\96\9ae_·¿ms
+ *
+·¿ms
+);
+
+126 
+       $p\9d\96\9ae_txrx_·r£_¬gs
+(\19
+p\9d\96\9ae_txrx
+ *
+p
+,
+
+127 \19
+p\9d\96\9ae_·¿ms
+ *
+·¿ms
+)
+
+129 
+u\9at32_t
+i
+;
+
+130 
+u\9at8_t
+txrx_ty³_´e£Á
+ = 0;
+
+132 ià(
+TXRX_DEBUG
+ > 2)
+
+133 
+       `´\9atf
+("TXRX\85ipeline_txrx_parse_args\85arams->n_args: %d\n",
+
+134 
+·¿ms
+->
+n_¬gs
+);
+
+136 \ f
+i
+ = 0; i < 
+·¿ms
+->
+n_¬gs
+; i++) {
+
+137 \ 5*
+¬g_Çme
+ = 
+·¿ms
+->
+¬gs_Çme
+[
+i
+];
+
+138 \ 5*
+¬g_v®ue
+ = 
+·¿ms
+->
+¬gs_v®ue
+[
+i
+];
+
+140 ià(
+TXRX_DEBUG
+ > 2)
+
+141 
+       `´\9atf
+("TXRX\87rgs[%d]: % %d, %s\n", 
+i
+, 
+¬g_Çme
+,
+
+142 
+       `©oi
+(
+¬g_v®ue
+),\87rg_value);
+
+145 ià(
+       `¡rcmp
+(
+¬g_Çme
+, "pipeline_txrx_type") == 0) {
+
+146 ià(
+txrx_ty³_´e£Á
+)
+
+148 
+txrx_ty³_´e£Á
+ = 1;
+
+151 ià(
+       `¡rcmp
+(
+¬g_v®ue
+, "TXTX") == 0) {
+
+152 
+p
+->
+txrx_ty³
+ = 
+TYPE_TXTX
+;
+
+153 
+       `´\9atf
+("pipeline_txrx_type is TXTX\n");
+
+155 ià(
+       `¡rcmp
+(
+¬g_v®ue
+, "RXRX") == 0) {
+
+156 
+p
+->
+txrx_ty³
+ = 
+TYPE_RXRX
+;
+
+157 
+       `´\9atf
+("pipeline_txrx_type is RXRX\n");
+
+163 ià(!
+txrx_ty³_´e£Á
+) {
+
+164 
+       `´\9atf
+("TXRX\81ype\82ot specified\n");
+
+170 
+       }
+}
+
+172 
+u\9at32_t
+       gtxrx_pkt_´\9at_couÁ
+;
+
+173 \18
+\9al\9ae
\1e
+
+174 
+       $pkt_wÜk_txrx
+(\19
+¹e_mbuf
+ *
+pkt
+, 
+u\9at32_t
+pkt_num
+, \1e*
+¬g
+)
+
+177 \19
+p\9d\96\9ae_txrx_\9a_pÜt_h_¬g
+ *
+ = 
+¬g
+;
+
+178 \19
+p\9d\96\9ae_txrx
+ *
+p_txrx
+ = (\19p\9d\96\9ae_txrx *)
+->
+p
+;
+
+179 
+u\9at8_t
+sÞic\99ed_node_muÉiÿ¡_addr
+[16] =
+
+182 
+p_txrx
+->
+»ûivedPktCouÁ
+++;
+
+184 ià(
+p_txrx
+->
+txrx_ty³
+ =ð
+TYPE_TXTX
+)
+
+187 
+u\9at8_t
+\9a_pÜt_id
+ = 
+pkt
+->
+pÜt
+;
+
+188 
+u\9at32_t
+\91h_´Ùo_off£t
+ = 
+MBUF_HDR_ROOM
+ + 12;
+
+190 
+u\9at32_t
+pkt_mask
+ = 1 << 
+pkt_num
+;
+
+192 
+u\9at32_t
+out_pÜt
+ = 
+p_txrx
+->
+p
+.
+n_pÜts_out
+ - 1;
+
+194 
+u\9at16_t
+ *
+\91h_´Ùo
+ =
+
+195 
+       `RTE_MBUF_METADATA_UINT16_PTR
+(
+pkt
+, 
+\91h_´Ùo_off£t
+);
+
+197 
+u\9at8_t
+ *
+´ÙocÞ
+;
+
+198 
+u\9at32_t
+´Ù_off£t
+ =
+
+199 
+MBUF_HDR_ROOM
+ + 
+ETH_HDR_SIZE
+ + 
+IP_HDR_PROTOCOL_OFST
+;
+
+201 #ifdeà
+IPV6
+
+
+202 \19
+\9dv6_hdr
+ *
+\9dv6_h
+;
+
+203 
+\9dv6_h
+ = 
+       `¹e_pktmbuf_mtod_off£t
+ (
+pkt
+, \19
+\9dv6_hdr
+ *, \17(\19
+\91h\94_hdr
+));
+
+204 
+u\9at32_t
+´Ù_off£t_\9dv6
+ =
+
+205 
+MBUF_HDR_ROOM
+ + 
+ETH_HDR_SIZE
+ + 
+IPV6_HDR_PROTOCOL_OFST
+;
+
+207 ià(
+       `¹e_be_to_ýu_16
+(*
+\91h_´Ùo
+è=ð
+ETHER_TYPE_IPv6
+)
+
+208 
+´ÙocÞ
+ = 
+       `RTE_MBUF_METADATA_UINT8_PTR
+(
+pkt
+, 
+´Ù_off£t_\9dv6
+);
+
+210 
+´ÙocÞ
+ = 
+       `RTE_MBUF_METADATA_UINT8_PTR
+(
+pkt
+, 
+´Ù_off£t
+);
+
+212 
+´ÙocÞ
+ = 
+       `RTE_MBUF_METADATA_UINT8_PTR
+(
+pkt
+, 
+´Ù_off£t
+);
+
+216 ià((
+TXRX_DEBUG
+ > 2è&& (
+txrx_pkt_´\9at_couÁ
+ < 10)) {
+
+217 
+       `´\9at_pkt1
+(
+pkt
+);
+
+218 
+txrx_pkt_´\9at_couÁ
+++;
+
+219 
+       `´\9atf
+("\nEth Typ %x, Prot %x, ETH_TYPE_ARP %x, "
+
+221 
+       `¹e_be_to_ýu_16
+(*
+\91h_´Ùo
+), *
+´ÙocÞ
+, 
+ETH_TYPE_ARP
+,
+
+222 
+ETH_TYPE_IPV4
+, 
+IP_PROTOCOL_ICMP
+);
+
+225 \19
+­p_l\9ak_·¿ms
+ *
+l\9ak
+;
+
+227 
+l\9ak
+ = &
+myAµ
+->
+l\9ak_·¿ms
+[
+\9a_pÜt_id
+];
+
+230 
+u\9at32_t
+d¡_addr_off£t
+ =
+
+231 
+MBUF_HDR_ROOM
+ + 
+ETH_HDR_SIZE
+ + 
+IP_HDR_DST_ADR_OFST
+;
+
+232 
+u\9at32_t
+ *
+d¡_addr
+ = 
+       `RTE_MBUF_METADATA_UINT32_PTR
+(
+pkt
+, 
+d¡_addr_off£t
+);
+
+234 ià(
+TXRX_DEBUG
+ > 2)
+
+235 ià(
+       `¹e_be_to_ýu_16
+(*
+\91h_´Ùo
+è=ð
+ETH_TYPE_IPV4
+)
+
+236 
+       `´\9atf
+ ("%s:\86\9akIp: %x, d¡_addr: %x\n", 
+__FUNCTION__
+, 
+l\9ak
+->
+\9d
+, *
+d¡_addr
+);
+
+239 \1a
+       `¹e_be_to_ýu_16
+(*
+\91h_´Ùo
+)) {
+
+240 \ 4
+ETH_TYPE_ARP
+:
+
+241 
+       `¹e_p\9d\96\9ae_pÜt_out_·ck\91_\9a£¹
+(
+p_txrx
+->
+p
+.p,
+
+242 
+out_pÜt
+, 
+pkt
+);
+
+243 
+       `¹e_p\9d\96\9ae_ah_·ck\91_drÝ
+(
+p_txrx
+->
+p
+.p, 
+pkt_mask
+);
+
+246 \ 4
+ETH_TYPE_IPV4
+:
+
+247 ià((*
+´ÙocÞ
+ =ð
+IP_PROTOCOL_ICMP
+) &&
+
+248 (
+l\9ak
+->
+\9d
+ =ð
+       `¹e_be_to_ýu_32
+(*
+d¡_addr
+))) {
+
+249 ià(
+       `is_phy_pÜt_´iv\8b
+(
+pkt
+->
+pÜt
+)) {
+
+250 
+       `¹e_p\9d\96\9ae_pÜt_out_·ck\91_\9a£¹
+(
+
+251 
+p_txrx
+->
+p
+.p,
+
+252 
+out_pÜt
+, 
+pkt
+);
+
+253 
+       `¹e_p\9d\96\9ae_ah_·ck\91_drÝ
+(
+
+254 
+p_txrx
+->
+p
+.p,
+
+255 
+pkt_mask
+);
+
+261 #ifdeà
+IPV6
+
+
+262 \ 4
+ETH_TYPE_IPV6
+:
+
+263 ià(*
+´ÙocÞ
+ =ð
+ICMPV6_PROTOCOL_ID
+) {
+
+264 #iâdeà
+VNF_ACL
+
+
+265 ià(!
+       `memcmp
+(
+\9dv6_h
+->
+d¡_addr
+, 
+l\9ak
+->
+\9dv6
+, 16)
+
+266 || !
+       `memcmp
+(
+\9dv6_h
+->
+d¡_addr
+, 
+sÞic\99ed_node_muÉiÿ¡_addr
+, 13)) {
+
+268 
+       `¹e_p\9d\96\9ae_pÜt_out_·ck\91_\9a£¹
+(
+p_txrx
+->
+p
+.p,
+
+269 
+out_pÜt
+, 
+pkt
+);
+
+270 
+       `¹e_p\9d\96\9ae_ah_·ck\91_drÝ
+(
+p_txrx
+->
+p
+.p, 
+pkt_mask
+);
+
+271 #iâdeà
+VNF_ACL
+
+
+273 
+       `´\9atf
+("Dropping\81he IPv6\85kt\n");
+
+274 
+       `¹e_p\9d\96\9ae_ah_·ck\91_drÝ
+(
+p_txrx
+->
+p
+.p, 
+pkt_mask
+);
+
+282 
+       `´\9atf
+("Dropping\81he\85kt\n");
+
+283 
+       `¹e_p\9d\96\9ae_ah_·ck\91_drÝ
+(
+p_txrx
+->
+p
+.p, 
+pkt_mask
+);
+
+288 
+       }
+}
+
+290 \18
+\9al\9ae
\1e
+
+291 
+       $pkt4_wÜk_txrx
+(\19
+¹e_mbuf
+ **
+pkt
+, 
+u\9at32_t
+pkt_num
+, \1e*
+¬g
+)
+
+293 \19
+p\9d\96\9ae_txrx_\9a_pÜt_h_¬g
+ *
+ = 
+¬g
+;
+
+294 \19
+p\9d\96\9ae_txrx
+ *
+p_txrx
+ = (\19p\9d\96\9ae_txrx *)
+->
+p
+;
+
+295 
+u\9at8_t
+sÞic\99ed_node_muÉiÿ¡_addr
+[16] =
+
+299 ià(
+p_txrx
+->
+txrx_ty³
+ =ð
+TYPE_TXTX
+)
+
+302 
+u\9at16_t
+\9a_pÜt_id
+ = (*
+pkt
+)->
+pÜt
+;
+
+303 
+u\9at32_t
+\91h_´Ùo_off£t
+ = 
+MBUF_HDR_ROOM
+ + 12;
+
+306 
+u\9at32_t
+pkt_mask0
+ = 1 << 
+pkt_num
+;
+
+307 
+u\9at32_t
+pkt_mask1
+ = 1 << (
+pkt_num
+ + 1);
+
+308 
+u\9at32_t
+pkt_mask2
+ = 1 << (
+pkt_num
+ + 2);
+
+309 
+u\9at32_t
+pkt_mask3
+ = 1 << (
+pkt_num
+ + 3);
+
+312 
+u\9at32_t
+out_pÜt
+ = 
+p_txrx
+->
+p
+.
+n_pÜts_out
+ - 1;
+
+314 
+u\9at16_t
+ *
+\91h_´Ùo0
+ =
+
+315 
+       `RTE_MBUF_METADATA_UINT16_PTR
+(
+pkt
+[0], 
+\91h_´Ùo_off£t
+);
+
+316 
+u\9at16_t
+ *
+\91h_´Ùo1
+ =
+
+317 
+       `RTE_MBUF_METADATA_UINT16_PTR
+(
+pkt
+[1], 
+\91h_´Ùo_off£t
+);
+
+318 
+u\9at16_t
+ *
+\91h_´Ùo2
+ =
+
+319 
+       `RTE_MBUF_METADATA_UINT16_PTR
+(
+pkt
+[2], 
+\91h_´Ùo_off£t
+);
+
+320 
+u\9at16_t
+ *
+\91h_´Ùo3
+ =
+
+321 
+       `RTE_MBUF_METADATA_UINT16_PTR
+(
+pkt
+[3], 
+\91h_´Ùo_off£t
+);
+
+323 
+u\9at8_t
+ *
+´ÙocÞ0
+, *
+´ÙocÞ1
+, *
+´ÙocÞ2
+, *
+´ÙocÞ3
+;
+
+324 
+u\9at32_t
+´Ù_off£t
+ =
+
+325 
+MBUF_HDR_ROOM
+ + 
+ETH_HDR_SIZE
+ + 
+IP_HDR_PROTOCOL_OFST
+;
+
+327 #ifdeà
+IPV6
+
+
+328 \19
+\9dv6_hdr
+ *
+\9dv6_h0
+, *
+\9dv6_h1
+, *
+\9dv6_h2
+, *
+\9dv6_h3
+;
+
+329 
+\9dv6_h0
+ = 
+       `¹e_pktmbuf_mtod_off£t
+ (
+pkt
+[0], \19
+\9dv6_hdr
+ *, \17(\19
+\91h\94_hdr
+));
+
+330 
+u\9at32_t
+´Ù_off£t_\9dv6
+ =
+
+331 
+MBUF_HDR_ROOM
+ + 
+ETH_HDR_SIZE
+ + 
+IPV6_HDR_PROTOCOL_OFST
+;
+
+334 ià(
+       `¹e_be_to_ýu_16
+(*
+\91h_´Ùo0
+è=ð
+ETHER_TYPE_IPv6
+)
+
+335 
+´ÙocÞ0
+ =
+
+336 
+       `RTE_MBUF_METADATA_UINT8_PTR
+(
+pkt
+[0], 
+´Ù_off£t_\9dv6
+);
+
+338 
+´ÙocÞ0
+ = 
+       `RTE_MBUF_METADATA_UINT8_PTR
+(
+pkt
+[0], 
+´Ù_off£t
+);
+
+341 
+\9dv6_h1
+ = 
+       `¹e_pktmbuf_mtod_off£t
+ (
+pkt
+[1], \19
+\9dv6_hdr
+ *, \17(\19
+\91h\94_hdr
+));
+
+342 ià(
+       `¹e_be_to_ýu_16
+(*
+\91h_´Ùo1
+è=ð
+ETHER_TYPE_IPv6
+)
+
+343 
+´ÙocÞ1
+ =
+
+344 
+       `RTE_MBUF_METADATA_UINT8_PTR
+(
+pkt
+[1], 
+´Ù_off£t_\9dv6
+);
+
+346 
+´ÙocÞ1
+ = 
+       `RTE_MBUF_METADATA_UINT8_PTR
+(
+pkt
+[1], 
+´Ù_off£t
+);
+
+349 
+\9dv6_h2
+ = 
+       `¹e_pktmbuf_mtod_off£t
+ (
+pkt
+[2], \19
+\9dv6_hdr
+ *, \17(\19
+\91h\94_hdr
+));
+
+350 ià(
+       `¹e_be_to_ýu_16
+(*
+\91h_´Ùo2
+è=ð
+ETHER_TYPE_IPv6
+)
+
+351 
+´ÙocÞ2
+ =
+
+352 
+       `RTE_MBUF_METADATA_UINT8_PTR
+(
+pkt
+[2], 
+´Ù_off£t_\9dv6
+);
+
+354 
+´ÙocÞ2
+ = 
+       `RTE_MBUF_METADATA_UINT8_PTR
+(
+pkt
+[2], 
+´Ù_off£t
+);
+
+357 
+\9dv6_h3
+ = 
+       `¹e_pktmbuf_mtod_off£t
+ (
+pkt
+[3], \19
+\9dv6_hdr
+ *, \17(\19
+\91h\94_hdr
+));
+
+358 ià(
+       `¹e_be_to_ýu_16
+(*
+\91h_´Ùo3
+è=ð
+ETHER_TYPE_IPv6
+)
+
+359 
+´ÙocÞ3
+ =
+
+360 
+       `RTE_MBUF_METADATA_UINT8_PTR
+(
+pkt
+[3], 
+´Ù_off£t_\9dv6
+);
+
+362 
+´ÙocÞ3
+ = 
+       `RTE_MBUF_METADATA_UINT8_PTR
+(
+pkt
+[3], 
+´Ù_off£t
+);
+
+364 
+´ÙocÞ0
+ = 
+       `RTE_MBUF_METADATA_UINT8_PTR
+(
+pkt
+[0], 
+´Ù_off£t
+);
+
+365 
+´ÙocÞ1
+ = 
+       `RTE_MBUF_METADATA_UINT8_PTR
+(
+pkt
+[1], 
+´Ù_off£t
+);
+
+366 
+´ÙocÞ2
+ = 
+       `RTE_MBUF_METADATA_UINT8_PTR
+(
+pkt
+[2], 
+´Ù_off£t
+);
+
+367 
+´ÙocÞ3
+ = 
+       `RTE_MBUF_METADATA_UINT8_PTR
+(
+pkt
+[3], 
+´Ù_off£t
+);
+
+370 ià((
+TXRX_DEBUG
+ > 2è&& (
+txrx_pkt_´\9at_couÁ
+ < 10)) {
+
+371 
+       `´\9at_pkt1
+(
+pkt
+[0]);
+
+372 
+txrx_pkt_´\9at_couÁ
+++;
+
+373 
+       `´\9atf
+("\nEth Typ %x, Prot %x, ETH_TYPE_ARP %x, "
+
+375 
+       `¹e_be_to_ýu_16
+(*
+\91h_´Ùo0
+), *
+´ÙocÞ0
+, 
+ETH_TYPE_ARP
+,
+
+376 
+ETH_TYPE_IPV4
+, 
+IP_PROTOCOL_ICMP
+);
+
+379 \19
+­p_l\9ak_·¿ms
+ *
+l\9ak
+;
+
+381 
+l\9ak
+ = &
+myAµ
+->
+l\9ak_·¿ms
+[
+\9a_pÜt_id
+];
+
+384 
+u\9at32_t
+d¡_addr_off£t0
+ =
+
+385 
+MBUF_HDR_ROOM
+ + 
+ETH_HDR_SIZE
+ + 
+IP_HDR_DST_ADR_OFST
+;
+
+386 
+u\9at32_t
+ *
+d¡_addr0
+ =
+
+387 
+       `RTE_MBUF_METADATA_UINT32_PTR
+(
+pkt
+[0], 
+d¡_addr_off£t0
+);
+
+389 ià(
+TXRX_DEBUG
+ > 2)
+
+390 ià(
+       `¹e_be_to_ýu_16
+(*
+\91h_´Ùo0
+è=ð
+ETH_TYPE_IPV4
+)
+
+391 
+       `´\9atf
+ ("%s:\86\9akIp: %x, d¡_addr0: %x\n", 
+__FUNCTION__
+, 
+l\9ak
+->
+\9d
+, *
+d¡_addr0
+);
+
+394 \1a
+       `¹e_be_to_ýu_16
+(*
+\91h_´Ùo0
+)) {
+
+395 \ 4
+ETH_TYPE_ARP
+:
+
+396 
+       `¹e_p\9d\96\9ae_pÜt_out_·ck\91_\9a£¹
+(
+p_txrx
+->
+p
+.p,
+
+397 
+out_pÜt
+, 
+pkt
+[0]);
+
+398 
+       `¹e_p\9d\96\9ae_ah_·ck\91_drÝ
+(
+p_txrx
+->
+p
+.p, 
+pkt_mask0
+);
+
+401 \ 4
+ETH_TYPE_IPV4
+:
+
+402 ià((*
+´ÙocÞ0
+ =ð
+IP_PROTOCOL_ICMP
+) &&
+
+403 (
+l\9ak
+->
+\9d
+ =ð
+       `¹e_be_to_ýu_32
+(*
+d¡_addr0
+))) {
+
+404 ià(
+       `is_phy_pÜt_´iv\8b
+(
+pkt
+[0]->
+pÜt
+)) {
+
+405 
+       `¹e_p\9d\96\9ae_pÜt_out_·ck\91_\9a£¹
+(
+
+406 
+p_txrx
+->
+p
+.p, 
+out_pÜt
+, 
+pkt
+[0]);
+
+407 
+       `¹e_p\9d\96\9ae_ah_·ck\91_drÝ
+(
+
+408 
+p_txrx
+->
+p
+.p, 
+pkt_mask0
+);
+
+414 #ifdeà
+IPV6
+
+
+415 \ 4
+ETH_TYPE_IPV6
+:
+
+416 ià(*
+´ÙocÞ0
+ =ð
+ICMPV6_PROTOCOL_ID
+) {
+
+417 #iâdeà
+VNF_ACL
+
+
+418 ià(!
+       `memcmp
+(
+\9dv6_h0
+->
+d¡_addr
+, 
+l\9ak
+->
+\9dv6
+, 16)
+
+419 || !
+       `memcmp
+(
+\9dv6_h0
+->
+d¡_addr
+, 
+sÞic\99ed_node_muÉiÿ¡_addr
+, 13)) {
+
+421 
+       `¹e_p\9d\96\9ae_pÜt_out_·ck\91_\9a£¹
+(
+p_txrx
+->
+p
+.p,
+
+422 
+out_pÜt
+, 
+pkt
+[0]);
+
+423 
+       `¹e_p\9d\96\9ae_ah_·ck\91_drÝ
+(
+p_txrx
+->
+p
+.p, 
+pkt_mask0
+);
+
+425 #iâdeà
+VNF_ACL
+
+
+427 
+       `´\9atf
+("Dropping\81he IPv6\85kt\n");
+
+428 
+       `¹e_p\9d\96\9ae_ah_·ck\91_drÝ
+(
+p_txrx
+->
+p
+.p, 
+pkt_mask0
+);
+
+436 
+       `¹e_p\9d\96\9ae_ah_·ck\91_drÝ
+(
+p_txrx
+->
+p
+.p, 
+pkt_mask0
+);
+
+441 ià((
+TXRX_DEBUG
+ > 2è&& (
+txrx_pkt_´\9at_couÁ
+ < 10)) {
+
+442 
+       `´\9at_pkt1
+(
+pkt
+[1]);
+
+443 
+txrx_pkt_´\9at_couÁ
+++;
+
+444 
+       `´\9atf
+("\nEth Typ %x, Prot %x, ETH_TYPE_ARP %x, "
+
+446 
+       `¹e_be_to_ýu_16
+(*
+\91h_´Ùo1
+), *
+´ÙocÞ1
+, 
+ETH_TYPE_ARP
+,
+
+447 
+ETH_TYPE_IPV4
+, 
+IP_PROTOCOL_ICMP
+);
+
+451 
+u\9at32_t
+d¡_addr_off£t1
+ =
+
+452 
+MBUF_HDR_ROOM
+ + 
+ETH_HDR_SIZE
+ + 
+IP_HDR_DST_ADR_OFST
+;
+
+453 
+u\9at32_t
+ *
+d¡_addr1
+ =
+
+454 
+       `RTE_MBUF_METADATA_UINT32_PTR
+(
+pkt
+[1], 
+d¡_addr_off£t1
+);
+
+456 ià(
+TXRX_DEBUG
+ > 2)
+
+457 ià(
+       `¹e_be_to_ýu_16
+(*
+\91h_´Ùo1
+è=ð
+ETH_TYPE_IPV4
+)
+
+458 
+       `´\9atf
+ ("%s:\86\9akIp: %x, d¡_addr1: %x\n", 
+__FUNCTION__
+, 
+l\9ak
+->
+\9d
+, *
+d¡_addr1
+);
+
+460 \1a
+       `¹e_be_to_ýu_16
+(*
+\91h_´Ùo1
+)) {
+
+461 \ 4
+ETH_TYPE_ARP
+:
+
+462 
+       `¹e_p\9d\96\9ae_pÜt_out_·ck\91_\9a£¹
+(
+p_txrx
+->
+p
+.p,
+
+463 
+out_pÜt
+, 
+pkt
+[1]);
+
+464 
+       `¹e_p\9d\96\9ae_ah_·ck\91_drÝ
+(
+p_txrx
+->
+p
+.p, 
+pkt_mask1
+);
+
+467 \ 4
+ETH_TYPE_IPV4
+:
+
+468 ià((*
+´ÙocÞ1
+ =ð
+IP_PROTOCOL_ICMP
+) &&
+
+469 (
+l\9ak
+->
+\9d
+ =ð
+       `¹e_be_to_ýu_32
+(*
+d¡_addr1
+))) {
+
+470 ià(
+       `is_phy_pÜt_´iv\8b
+(
+pkt
+[1]->
+pÜt
+)) {
+
+471 
+       `¹e_p\9d\96\9ae_pÜt_out_·ck\91_\9a£¹
+(
+
+472 
+p_txrx
+->
+p
+.p,
+
+473 
+out_pÜt
+, 
+pkt
+[1]);
+
+474 
+       `¹e_p\9d\96\9ae_ah_·ck\91_drÝ
+(
+
+475 
+p_txrx
+->
+p
+.p,
+
+476 
+pkt_mask1
+);
+
+482 #ifdeà
+IPV6
+
+
+483 \ 4
+ETH_TYPE_IPV6
+:
+
+484 ià(*
+´ÙocÞ1
+ =ð
+ICMPV6_PROTOCOL_ID
+) {
+
+485 #iâdeà
+VNF_ACL
+
+
+486 ià(!
+       `memcmp
+(
+\9dv6_h1
+->
+d¡_addr
+, 
+l\9ak
+->
+\9dv6
+, 16)
+
+487 || !
+       `memcmp
+(
+\9dv6_h1
+->
+d¡_addr
+, 
+sÞic\99ed_node_muÉiÿ¡_addr
+, 13)) {
+
+489 
+       `¹e_p\9d\96\9ae_pÜt_out_·ck\91_\9a£¹
+(
+p_txrx
+->
+p
+.p,
+
+490 
+out_pÜt
+, 
+pkt
+[1]);
+
+491 
+       `¹e_p\9d\96\9ae_ah_·ck\91_drÝ
+(
+p_txrx
+->
+p
+.p, 
+pkt_mask1
+);
+
+492 #iâdeà
+VNF_ACL
+
+
+494 
+       `´\9atf
+("Dropping\81he IPv6\85kt\n");
+
+495 
+       `¹e_p\9d\96\9ae_ah_·ck\91_drÝ
+(
+p_txrx
+->
+p
+.p, 
+pkt_mask1
+);
+
+503 
+       `¹e_p\9d\96\9ae_ah_·ck\91_drÝ
+(
+p_txrx
+->
+p
+.p, 
+pkt_mask1
+);
+
+507 ià((
+TXRX_DEBUG
+ > 2è&& (
+txrx_pkt_´\9at_couÁ
+ < 10)) {
+
+508 
+       `´\9at_pkt1
+(
+pkt
+[2]);
+
+509 
+txrx_pkt_´\9at_couÁ
+++;
+
+510 
+       `´\9atf
+("\nEth Typ %x, Prot %x, ETH_TYPE_ARP %x, "
+
+512 
+       `¹e_be_to_ýu_16
+(*
+\91h_´Ùo2
+), *
+´ÙocÞ2
+, 
+ETH_TYPE_ARP
+,
+
+513 
+ETH_TYPE_IPV4
+, 
+IP_PROTOCOL_ICMP
+);
+
+517 
+u\9at32_t
+d¡_addr_off£t2
+ =
+
+518 
+MBUF_HDR_ROOM
+ + 
+ETH_HDR_SIZE
+ + 
+IP_HDR_DST_ADR_OFST
+;
+
+519 
+u\9at32_t
+ *
+d¡_addr2
+ =
+
+520 
+       `RTE_MBUF_METADATA_UINT32_PTR
+(
+pkt
+[2], 
+d¡_addr_off£t2
+);
+
+522 ià(
+TXRX_DEBUG
+ > 2)
+
+523 ià(
+       `¹e_be_to_ýu_16
+(*
+\91h_´Ùo2
+è=ð
+ETH_TYPE_IPV4
+)
+
+524 
+       `´\9atf
+ ("%s:\86\9akIp: %x, d¡_addr2: %x\n", 
+__FUNCTION__
+, 
+l\9ak
+->
+\9d
+, *
+d¡_addr2
+);
+
+526 \1a
+       `¹e_be_to_ýu_16
+(*
+\91h_´Ùo2
+)) {
+
+527 \ 4
+ETH_TYPE_ARP
+:
+
+528 
+       `¹e_p\9d\96\9ae_pÜt_out_·ck\91_\9a£¹
+(
+p_txrx
+->
+p
+.p,
+
+529 
+out_pÜt
+, 
+pkt
+[2]);
+
+530 
+       `¹e_p\9d\96\9ae_ah_·ck\91_drÝ
+(
+p_txrx
+->
+p
+.p, 
+pkt_mask2
+);
+
+533 \ 4
+ETH_TYPE_IPV4
+:
+
+534 ià((*
+´ÙocÞ2
+ =ð
+IP_PROTOCOL_ICMP
+) &&
+
+535 (
+l\9ak
+->
+\9d
+ =ð
+       `¹e_be_to_ýu_32
+(*
+d¡_addr2
+))) {
+
+536 ià(
+       `is_phy_pÜt_´iv\8b
+(
+pkt
+[2]->
+pÜt
+)) {
+
+537 
+       `¹e_p\9d\96\9ae_pÜt_out_·ck\91_\9a£¹
+(
+
+538 
+p_txrx
+->
+p
+.p,
+
+539 
+out_pÜt
+, 
+pkt
+[2]);
+
+540 
+       `¹e_p\9d\96\9ae_ah_·ck\91_drÝ
+(
+
+541 
+p_txrx
+->
+p
+.p,
+
+542 
+pkt_mask2
+);
+
+548 #ifdeà
+IPV6
+
+
+549 \ 4
+ETH_TYPE_IPV6
+:
+
+550 ià(*
+´ÙocÞ2
+ =ð
+ICMPV6_PROTOCOL_ID
+) {
+
+551 #iâdeà
+VNF_ACL
+
+
+552 ià(!
+       `memcmp
+(
+\9dv6_h2
+->
+d¡_addr
+, 
+l\9ak
+->
+\9dv6
+, 16)
+
+553 || !
+       `memcmp
+(
+\9dv6_h2
+->
+d¡_addr
+, 
+sÞic\99ed_node_muÉiÿ¡_addr
+, 13)) {
+
+555 
+       `¹e_p\9d\96\9ae_pÜt_out_·ck\91_\9a£¹
+(
+p_txrx
+->
+p
+.p,
+
+556 
+out_pÜt
+, 
+pkt
+[2]);
+
+557 
+       `¹e_p\9d\96\9ae_ah_·ck\91_drÝ
+(
+p_txrx
+->
+p
+.p, 
+pkt_mask2
+);
+
+558 #iâdeà
+VNF_ACL
+
+
+560 
+       `´\9atf
+("Dropping\81he IPv6\85kt\n");
+
+561 
+       `¹e_p\9d\96\9ae_ah_·ck\91_drÝ
+(
+p_txrx
+->
+p
+.p, 
+pkt_mask2
+);
+
+569 
+       `¹e_p\9d\96\9ae_ah_·ck\91_drÝ
+(
+p_txrx
+->
+p
+.p, 
+pkt_mask2
+);
+
+573 ià((
+TXRX_DEBUG
+ > 2è&& (
+txrx_pkt_´\9at_couÁ
+ < 10)) {
+
+574 
+       `´\9at_pkt1
+(
+pkt
+[3]);
+
+575 
+txrx_pkt_´\9at_couÁ
+++;
+
+576 
+       `´\9atf
+("\nEth Typ %x, Prot %x, ETH_TYPE_ARP %x, "
+
+578 
+       `¹e_be_to_ýu_16
+(*
+\91h_´Ùo3
+), *
+´ÙocÞ3
+, 
+ETH_TYPE_ARP
+,
+
+579 
+ETH_TYPE_IPV4
+, 
+IP_PROTOCOL_ICMP
+);
+
+583 
+u\9at32_t
+d¡_addr_off£t3
+ =
+
+584 
+MBUF_HDR_ROOM
+ + 
+ETH_HDR_SIZE
+ + 
+IP_HDR_DST_ADR_OFST
+;
+
+585 
+u\9at32_t
+ *
+d¡_addr3
+ =
+
+586 
+       `RTE_MBUF_METADATA_UINT32_PTR
+(
+pkt
+, 
+d¡_addr_off£t3
+);
+
+588 ià(
+TXRX_DEBUG
+ > 2)
+
+589 ià(
+       `¹e_be_to_ýu_16
+(*
+\91h_´Ùo3
+è=ð
+ETH_TYPE_IPV4
+)
+
+590 
+       `´\9atf
+ ("%s:\86\9akIp: %x, d¡_addr3: %x\n", 
+__FUNCTION__
+, 
+l\9ak
+->
+\9d
+, *
+d¡_addr3
+);
+
+592 \1a
+       `¹e_be_to_ýu_16
+(*
+\91h_´Ùo3
+)) {
+
+593 \ 4
+ETH_TYPE_ARP
+:
+
+594 
+       `¹e_p\9d\96\9ae_pÜt_out_·ck\91_\9a£¹
+(
+p_txrx
+->
+p
+.p,
+
+595 
+out_pÜt
+, 
+pkt
+[3]);
+
+596 
+       `¹e_p\9d\96\9ae_ah_·ck\91_drÝ
+(
+p_txrx
+->
+p
+.p, 
+pkt_mask3
+);
+
+599 \ 4
+ETH_TYPE_IPV4
+:
+
+600 ià((*
+´ÙocÞ3
+ =ð
+IP_PROTOCOL_ICMP
+) &&
+
+601 (
+l\9ak
+->
+\9d
+ =ð
+       `¹e_be_to_ýu_32
+(*
+d¡_addr3
+))) {
+
+602 ià(
+       `is_phy_pÜt_´iv\8b
+(
+pkt
+[3]->
+pÜt
+)) {
+
+603 
+       `¹e_p\9d\96\9ae_pÜt_out_·ck\91_\9a£¹
+(
+
+604 
+p_txrx
+->
+p
+.p,
+
+605 
+out_pÜt
+, 
+pkt
+[3]);
+
+606 
+       `¹e_p\9d\96\9ae_ah_·ck\91_drÝ
+(
+
+607 
+p_txrx
+->
+p
+.p,
+
+608 
+pkt_mask3
+);
+
+614 #ifdeà
+IPV6
+
+
+615 \ 4
+ETH_TYPE_IPV6
+:
+
+616 ià(*
+´ÙocÞ3
+ =ð
+ICMPV6_PROTOCOL_ID
+) {
+
+617 #iâdeà
+VNF_ACL
+
+
+618 ià(!
+       `memcmp
+(
+\9dv6_h3
+->
+d¡_addr
+, 
+l\9ak
+->
+\9dv6
+, 16)
+
+619 || !
+       `memcmp
+(
+\9dv6_h3
+->
+d¡_addr
+, 
+sÞic\99ed_node_muÉiÿ¡_addr
+, 13)) {
+
+621 
+       `¹e_p\9d\96\9ae_pÜt_out_·ck\91_\9a£¹
+(
+p_txrx
+->
+p
+.p,
+
+622 
+out_pÜt
+, 
+pkt
+[3]);
+
+623 
+       `¹e_p\9d\96\9ae_ah_·ck\91_drÝ
+(
+p_txrx
+->
+p
+.p, 
+pkt_mask3
+);
+
+624 #iâdeà
+VNF_ACL
+
+
+626 
+       `´\9atf
+("Dropping\81he IPv6\85kt\n");
+
+627 
+       `¹e_p\9d\96\9ae_ah_·ck\91_drÝ
+(
+p_txrx
+->
+p
+.p, 
+pkt_mask3
+);
+
+635 
+       `¹e_p\9d\96\9ae_ah_·ck\91_drÝ
+(
+p_txrx
+->
+p
+.p, 
+pkt_mask3
+);
+
+639 
+p_txrx
+->
+»ûivedPktCouÁ
+ += 4;
+
+641 
+       }
+}
+
+643 
+PIPELINE_TXRX_KEY_PORT_IN_AH
+(
+pÜt_\9a_ah_txrx
+, 
+pkt_wÜk_txrx
+, 
+pkt4_wÜk_txrx
+);
+
+645 \18\1e*
+       $p\9d\96\9ae_txrx_\9a\99
+(\19
+p\9d\96\9ae_·¿ms
+ *
+·¿ms
+,
+
+646 
+__¹e_unu£d
\1e*
+¬g
+)
+
+648 \19
+p\9d\96\9ae
+ *
+p
+;
+
+649 \19
+p\9d\96\9ae_txrx
+ *
+p_±
+;
+
+650 
+u\9at32_t
+size
+, 
+i
+, 
+\9a_pÜts_¬g_size
+;
+
+652 
+       `´\9atf
+("Start\85ipeline_txrx_init\n");
+
+655 ià((
+·¿ms
+ =ð
+NULL
+) ||
+
+656 (
+·¿ms
+->
+n_pÜts_\9a
+ == 0) ||
+
+657 (
+·¿ms
+->
+n_pÜts_out
+ == 0))
+
+658 \15 
+NULL
+;
+
+661 
+size
+ = 
+       `RTE_CACHE_LINE_ROUNDUP
+(\17(\19
+p\9d\96\9ae_txrx
+));
+
+662 
+p
+ = 
+       `¹e_zm®loc
+(
+NULL
+, 
+size
+, 
+RTE_CACHE_LINE_SIZE
+);
+
+663 
+p_±
+ = (\19
+p\9d\96\9ae_txrx
+ *)
+p
+;
+
+664 ià(
+p
+ =ð
+NULL
+)
+
+665 \15 
+NULL
+;
+
+667 
+       `PLOG
+(
+p
+, 
+HIGH
+, "TXRX");
+
+668 
+       `¡rýy
+(
+p
+->
+Çme
+, 
+·¿ms
+->name);
+
+669 
+p
+->
+log_Ëv\96
+ = 
+·¿ms
+->log_level;
+
+671 
+p_±
+->
+»ûivedPktCouÁ
+ = 0;
+
+672 
+p_±
+->
+drݳdPktCouÁ
+ = 0;
+
+673 \ f
+i
+ = 0; i < 
+PIPELINE_MAX_PORT_IN
+; i++)
+
+674 
+p_±
+->
+l\9aks_m­
+[
+i
+] = 0xff;
+
+676 
+p_±
+->
+p\9d\96\9ae_num
+ = 0;
+
+677 
+       `´\9atf
+("txrx initialization of variables done\n");
+
+680 ià(
+       `p\9d\96\9ae_txrx_·r£_¬gs
+(
+p_±
+, 
+·¿ms
+))
+
+681 \15 
+NULL
+;
+
+685 \19
+¹e_p\9d\96\9ae_·¿ms
+p\9d\96\9ae_·¿ms
+ = {
+
+686 .
+Çme
+ = "TXRX",
+
+687 .
+sock\91_id
+ = 
+·¿ms
+->socket_id,
+
+688 .
+off£t_pÜt_id
+ = 0,
+
+691 
+p
+->°ð
+       `¹e_p\9d\96\9ae_ü\97\8b
+(&
+p\9d\96\9ae_·¿ms
+);
+
+692 ià(
+p
+->°=ð
+NULL
+) {
+
+693 
+       `¹e_ä\93
+(
+p
+);
+
+694 \15 
+NULL
+;
+
+698 
+p
+->
+n_pÜts_\9a
+ = 
+·¿ms
+->n_ports_in;
+
+699 
+p
+->
+n_pÜts_out
+ = 
+·¿ms
+->n_ports_out;
+
+700 
+p
+->
+n_\8fbËs
+ =\85->
+n_pÜts_\9a
+;
+
+703 
+\9a_pÜts_¬g_size
+ =
+
+704 
+       `RTE_CACHE_LINE_ROUNDUP
+((\17
+
+705 (\19
+p\9d\96\9ae_txrx_\9a_pÜt_h_¬g
+)) *
+
+706 (
+·¿ms
+->
+n_pÜts_\9a
+));
+
+707 \19
+p\9d\96\9ae_txrx_\9a_pÜt_h_¬g
+ *
+ =
+
+708 (\19
+p\9d\96\9ae_txrx_\9a_pÜt_h_¬g
+ *)
+       `¹e_zm®loc
+(
+NULL
+,
+
+709 
+\9a_pÜts_¬g_size
+,
+
+710 
+RTE_CACHE_LINE_SIZE
+);
+
+711 ià(
+ =ð
+NULL
+)
+
+712 \15 
+NULL
+;
+
+714 \ f
+i
+ = 0; i < 
+p
+->
+n_pÜts_\9a
+; i++) {
+
+716 (
+[
+i
+]).
+p
+ = 
+p_±
+;
+
+717 (
+[
+i
+]).
+\9a_pÜt_id
+ = i;
+
+718 \19
+¹e_p\9d\96\9ae_pÜt_\9a_·¿ms
+pÜt_·¿ms
+ = {
+
+719 .
+Ýs
+ =
+
+720 
+       `p\9d\96\9ae_pÜt_\9a_·¿ms_g\91_Ýs
+(&
+·¿ms
+->
+
+721 
+pÜt_\9a
+[
+i
+]),
+
+722 .
+¬g_ü\97\8b
+ =
+
+723 
+       `p\9d\96\9ae_pÜt_\9a_·¿ms_cÚv\94t
+(&
+·¿ms
+->
+
+724 
+pÜt_\9a
+[
+i
+]),
+
+725 .
+f_aùiÚ
+ = 
+NULL
+,
+
+726 .
+¬g_ah
+ = &(
+[
+i
+]),
+
+727 .
+bur¡_size
+ = 
+·¿ms
+->
+pÜt_\9a
+[
+i
+].burst_size,
+
+730 
+pÜt_·¿ms
+.
+f_aùiÚ
+ = 
+pÜt_\9a_ah_txrx
+;
+
+732 \12
+¡©us
+ = 
+       `¹e_p\9d\96\9ae_pÜt_\9a\97\8b
+(
+p
+->p,
+
+733 &
+pÜt_·¿ms
+,
+
+734 &
+p
+->
+pÜt_\9a_id
+[
+i
+]);
+
+736 ià(
+¡©us
+) {
+
+737 
+       `¹e_p\9d\96\9ae_ä\93
+(
+p
+->p);
+
+738 
+       `¹e_ä\93
+(
+p
+);
+
+739 \15 
+NULL
+;
+
+744 \ f
+i
+ = 0; i < 
+p
+->
+n_pÜts_out
+; i++) {
+
+745 \19
+¹e_p\9d\96\9ae_pÜt_out_·¿ms
+pÜt_·¿ms
+ = {
+
+746 .
+Ýs
+ =
+
+747 
+       `p\9d\96\9ae_pÜt_out_·¿ms_g\91_Ýs
+(&
+·¿ms
+->
+
+748 
+pÜt_out
+[
+i
+]),
+
+749 .
+¬g_ü\97\8b
+ =
+
+750 
+       `p\9d\96\9ae_pÜt_out_·¿ms_cÚv\94t
+(&
+·¿ms
+->
+
+751 
+pÜt_out
+[
+i
+]),
+
+752 .
+f_aùiÚ
+ = 
+NULL
+,
+
+753 .
+¬g_ah
+ = 
+NULL
+,
+
+756 \12
+¡©us
+ = 
+       `¹e_p\9d\96\9ae_pÜt_out_ü\97\8b
+(
+p
+->p,
+
+757 &
+pÜt_·¿ms
+,
+
+758 &
+p
+->
+pÜt_out_id
+[
+i
+]);
+
+760 ià(
+¡©us
+) {
+
+761 
+       `¹e_p\9d\96\9ae_ä\93
+(
+p
+->p);
+
+762 
+       `¹e_ä\93
+(
+p
+);
+
+763 \15 
+NULL
+;
+
+767 \12
+p\9d\96\9ae_num
+ = 0;
+
+768 \12
+¡©us
+ = 
+       `ssÿnf
+(
+·¿ms
+->
+Çme
+, "PIPELINE%d", &
+p\9d\96\9ae_num
+);
+
+769 ià(
+¡©us
+ < 0) {
+
+770 
+       `´\9atf
+("Unable\81o\84ead\85ipeline\82umber\n");
+
+771 \15 
+NULL
+;
+
+773 
+p_±
+->
+p\9d\96\9ae_num
+ = (
+u\9at8_t
+)\85ipeline_num;
+
+775 
+       `»gi¡\94_p\9d\96\9ae_Qs
+(
+p_±
+->
+p\9d\96\9ae_num
+, 
+p
+);
+
+776 
+       `£t_l\9ak_m­
+(
+p_±
+->
+p\9d\96\9ae_num
+, 
+p
+,\85_±->
+l\9aks_m­
+);
+
+777 
+       `£t_ou\8dÜt_id
+(
+p_±
+->
+p\9d\96\9ae_num
+, 
+p
+,\85_±->
+ou\8dÜt_id
+);
+
+780 \ f
+i
+ = 0; i < 
+p
+->
+n_pÜts_\9a
+; i++) {
+
+781 \19
+¹e_p\9d\96\9ae_\8fbË_·¿ms
+\8fbË_·¿ms
+ = {
+
+782 .
+Ýs
+ = &
+¹e_\8fbË_¡ub_Ýs
+,
+
+783 .
+¬g_ü\97\8b
+ = 
+NULL
+,
+
+784 .
+f_aùiÚ_h\99
+ = 
+NULL
+,
+
+785 .
+f_aùiÚ_miss
+ = 
+NULL
+,
+
+786 .
+¬g_ah
+ = 
+NULL
+,
+
+787 .
+aùiÚ_d©a_size
+ = 0,
+
+790 \12
+¡©us
+ = 
+       `¹e_p\9d\96\9ae_\8fbË_ü\97\8b
+(
+p
+->p,
+
+791 &
+\8fbË_·¿ms
+,
+
+792 &
+p
+->
+\8fbË_id
+[
+i
+]);
+
+794 ià(
+¡©us
+) {
+
+795 
+       `¹e_p\9d\96\9ae_ä\93
+(
+p
+->p);
+
+796 
+       `¹e_ä\93
+(
+p
+);
+
+797 \15 
+NULL
+;
+
+802 \ f
+i
+ = 0; i < 
+p
+->
+n_pÜts_\9a
+; i++) {
+
+803 \12
+¡©us
+ = 
+       `¹e_p\9d\96\9ae_pÜt_\9a_cÚÃù_to_\8f
+(
+p
+->p,
+
+804 
+p
+->
+
+805 
+pÜt_\9a_id
+
+
+806 [
+i
+],
+
+807 
+p
+->
+
+808 
+\8fbË_id
+[
+i
+]);
+
+810 ià(
+¡©us
+) {
+
+811 
+       `¹e_p\9d\96\9ae_ä\93
+(
+p
+->p);
+
+812 
+       `¹e_ä\93
+(
+p
+);
+
+813 \15 
+NULL
+;
+
+818 \ f
+i
+ = 0; i < 
+p
+->
+n_pÜts_\9a
+; i++) {
+
+819 \19
+¹e_p\9d\96\9ae_\8fbË_\92\8cy
+deçuÉ_\92\8cy
+ = {
+
+820 .
+aùiÚ
+ = 
+RTE_PIPELINE_ACTION_PORT
+,
+
+821 .
+pÜt_id
+ = 
+p
+->
+pÜt_out_id
+[
+i
+],
+
+824 \19
+¹e_p\9d\96\9ae_\8fbË_\92\8cy
+ *
+deçuÉ_\92\8cy_±r
+;
+
+826 \12
+¡©us
+ = 
+       `¹e_p\9d\96\9ae_\8fbË_deçuÉ_\92\8cy_add
+(
+
+827 
+p
+->p,
+
+828 
+p
+->
+
+829 
+\8fbË_id
+[
+i
+],
+
+830 &
+deçuÉ_\92\8cy
+,
+
+831 &
+deçuÉ_\92\8cy_±r
+);
+
+833 ià(
+¡©us
+) {
+
+834 
+       `¹e_p\9d\96\9ae_ä\93
+(
+p
+->p);
+
+835 
+       `¹e_ä\93
+(
+p
+);
+
+836 \15 
+NULL
+;
+
+841 \ f
+i
+ = 0; i < 
+p
+->
+n_pÜts_\9a
+; i++) {
+
+842 \12
+¡©us
+ = 
+       `¹e_p\9d\96\9ae_pÜt_\9a_\92abË
+(
+p
+->p,
+
+843 
+p
+->
+pÜt_\9a_id
+[
+i
+]);
+
+845 ià(
+¡©us
+) {
+
+846 
+       `¹e_p\9d\96\9ae_ä\93
+(
+p
+->p);
+
+847 
+       `¹e_ä\93
+(
+p
+);
+
+848 \15 
+NULL
+;
+
+853 ià(
+       `¹e_p\9d\96\9ae_check
+(
+p
+->p) < 0) {
+
+854 
+       `¹e_p\9d\96\9ae_ä\93
+(
+p
+->p);
+
+855 
+       `¹e_ä\93
+(
+p
+);
+
+856 \15 
+NULL
+;
+
+860 
+p
+->
+n_msgq
+ = 
+·¿ms
+->n_msgq;
+
+861 \ f
+i
+ = 0; i < 
+p
+->
+n_msgq
+; i++)
+
+862 
+p
+->
+msgq_\9a
+[
+i
+] = 
+·¿ms
+->msgq_in[i];
+
+863 \ f
+i
+ = 0; i < 
+p
+->
+n_msgq
+; i++)
+
+864 
+p
+->
+msgq_out
+[
+i
+] = 
+·¿ms
+->msgq_out[i];
+
+867 
+       `memýy
+(
+p
+->
+hªdËrs
+, handlers, \17(p->handlers));
+
+869 \15 
+p
+;
+
+870 
+       }
+}
+
+872 \18\12
+       $p\9d\96\9ae_txrx_ä\93
+(\1e*
+p\9d\96\9ae
+)
+
+874 \19
+p\9d\96\9ae
+ *
+p
+ = (\19pipeline *)pipeline;
+
+877 ià(
+p
+ =ð
+NULL
+)
+
+881 
+       `¹e_p\9d\96\9ae_ä\93
+(
+p
+->p);
+
+882 
+       `¹e_ä\93
+(
+p
+);
+
+884 
+       }
+}
+
+886 \18\12
+       $p\9d\96\9ae_txrx_tim\94
+(\1e*
+p\9d\96\9ae
+)
+
+888 \19
+p\9d\96\9ae
+ *
+p
+ = (\19pipeline *)pipeline;
+
+890 
+       `p\9d\96\9ae_msg_»q_hªdË
+(
+p
+);
+
+891 
+       `¹e_p\9d\96\9ae_æush
+(
+p
+->p);
+
+894 
+       }
+}
+
+897 
+       $p\9d\96\9ae_txrx_\8cack
+(\1e*
+p\9d\96\9ae
+, 
+u\9at32_t
+pÜt_\9a
+, u\9at32_\88*
+pÜt_out
+)
+
+899 \19
+p\9d\96\9ae
+ *
+p
+ = (\19pipeline *)pipeline;
+
+902 ià((
+p
+ =ð
+NULL
+è|| (
+pÜt_\9a
+ >ðp->
+n_pÜts_\9a
+è|| (
+pÜt_out
+ == NULL))
+
+905 *
+pÜt_out
+ = 
+pÜt_\9a
+ / 
+p
+->
+n_pÜts_\9a
+;
+
+907 
+       }
+}
+
+909 \19
+p\9d\96\9ae_be_Ýs
+       gp\9d\96\9ae_txrx_be_Ýs
+ = {
+
+910 .
+f_\9a\99
+ = 
+p\9d\96\9ae_txrx_\9a\99
+,
+
+911 .
+       gf_ä\93
+ = 
+p\9d\96\9ae_txrx_ä\93
+,
+
+912 .
+       gf_run
+ = 
+NULL
+,
+
+913 .
+       gf_tim\94
+ = 
+p\9d\96\9ae_txrx_tim\94
+,
+
+914 .
+       gf_\8cack
+ = 
+p\9d\96\9ae_txrx_\8cack
+,
+
+       @VIL/pipeline_txrx/pipeline_txrx_be.h
+
+17 #iâdeà
+__INCLUDE_PIPELINE_TXRX_BE_H__
+
+
+18 \ 1
+       #__INCLUDE_PIPELINE_TXRX_BE_H__
+
+
+       )
+
+20 \ 2
+       ~"p\9d\96\9ae_commÚ_be.h
+"
+
+21 \ 1
+       #PIPELINE_TXRX_KEY_PORT_IN_AH
+(
+f_ah
+, 
+f_pkt_wÜk
+, 
+f_pkt4_wÜk
+) \
+
+23 
+       `f_ah
+( \
+
+24 
+__¹e_unu£d
\19
+¹e_p\9d\96\9ae
+ *
+¹e_p
+, \
+
+25 \19
+¹e_mbuf
+ **
+pkts
+, \
+
+26 
+u\9at32_t
+n_pkts
+, \
+
+27 \1e*
+¬g
+) \
+
+29 
+u\9at32_t
+i
+, 
+j
+; \
+
+31 \ f
+j
+ = 0; j < 
+n_pkts
+; j++) \
+
+32 
+       `¹e_´eãtch0
+(
+pkts
+[
+j
+]); \
+
+34 
+pkt_bur¡_út
+ = 0; \
+
+35 \ f
+i
+ = 0; i < (
+n_pkts
+ & (~0x3LLU)); i += 4) \
+
+36 
+       `f_pkt4_wÜk
+(&
+pkts
+[
+i
+], i, 
+¬g
+); \
+
+38 \ f ; 
+i
+ < 
+n_pkts
+; i++) \
+
+39 
+       `f_pkt_wÜk
+(
+pkts
+[
+i
+], i, 
+¬g
+); \
+
+43 }
+
+       )
+
+45 \r\19
+p\9d\96\9ae_be_Ýs
+p\9d\96\9ae_txrx_be_Ýs
+;
+
+49 \f
+       ep\9d\96\9ae_txrx_msg_»q_ty³
+ {
+
+50 
+       mPIPELINE_TXRX_MSG_REQ_ENTRY_DBG
+,
+
+51 
+       mPIPELINE_TXRX_MSG_REQS
+
+
+56 \19
+       sp\9d\96\9ae_txrx_\92\8cy_dbg_msg_»q
+ {
+
+57 \f
+p\9d\96\9ae_msg_»q_ty³
+       mty³
+;
+
+58 \f
+p\9d\96\9ae_txrx_msg_»q_ty³
+       msubty³
+;
+
+61 
+u\9at8_t
+       md©a
+[5];
+
+67 \19
+       sp\9d\96\9ae_txrx_\9a_pÜt_h_¬g
+ {
+
+68 \19
+p\9d\96\9ae_txrx
+ *
+       mp
+;
+
+69 
+u\9at8_t
+       m\9a_pÜt_id
+;
+
+72 \19
+       sp\9d\96\9ae_txrx_\92\8cy_dbg_msg_r¥
+ {
+
+73 \12
+       m¡©us
+;
+
+       @vnf_common/app.h
+
+17 #iâdeà
+__INCLUDE_APP_H__
+
+
+18 \ 1
+       #__INCLUDE_APP_H__
+
+
+       )
+
+20 \ 2
+       ~<¡d\9at.h
+>
+
+21 \ 2
+       ~<¡r\9ag.h
+>
+
+23 \ 2
+       ~<¹e_commÚ.h
+>
+
+24 \ 2
+       ~<¹e_mempoÞ.h
+>
+
+25 \ 2
+       ~<¹e_r\9ag.h
+>
+
+26 \ 2
+       ~<¹e_sched.h
+>
+
+27 \ 2
+       ~<¹e_tim\94.h
+>
+
+28 \ 2
+       ~<cmdl\9ae_·r£.h
+>
+
+30 \ 2
+       ~<¹e_\91hdev.h
+>
+
+32 \ 2
+       ~"ýu_cÜe_m­.h
+"
+
+33 \ 2
+       ~"p\9d\96\9ae.h
+"
+
+35 \ 1
+       #APP_PARAM_NAME_SIZE
+PIPELINE_NAME_SIZE
+
+
+       )
+
+36 \ 1
+       #APP_LINK_PCI_BDF_SIZE
+ 32
+
+       )
+
+37 \19
+­p_l\9ak_·¿ms
+ *
+       gfd\9c_p_l\9ak
+;
+
+38 \19
+       s­p_mempoÞ_·¿ms
+ {
+
+39 \ 5*
+       mÇme
+;
+
+40 
+u\9at32_t
+       m·r£d
+;
+
+41 
+u\9at32_t
+       mbufãr_size
+;
+
+42 
+u\9at32_t
+       mpoÞ_size
+;
+
+43 
+u\9at32_t
+       mÿche_size
+;
+
+44 
+u\9at32_t
+       mýu_sock\91_id
+;
+
+47 \19
+       s­p_l\9ak_·¿ms
+ {
+
+48 \ 5*
+       mÇme
+;
+
+49 
+u\9at32_t
+       m·r£d
+;
+
+50 
+u\9at32_t
+       mpmd_id
+;
+
+51 
+u\9at32_t
+       m¬p_q
+;
+
+52 
+u\9at32_t
+       mtý_syn_q
+;
+
+53 
+u\9at32_t
+       m\9d_loÿl_q
+;
+
+54 
+u\9at32_t
+       mtý_loÿl_q
+;
+
+55 
+u\9at32_t
+       mudp_loÿl_q
+;
+
+56 
+u\9at32_t
+       msùp_loÿl_q
+;
+
+57 
+u\9at32_t
+       m¡©e
+;
+
+58 
+u\9at32_t
+       m\9d
+;
+
+59 
+u\9at8_t
+       m\9dv6
+[16];
+
+60 
+u\9at32_t
+       md\95th
+;
+
+61 
+u\9at32_t
+       md\95th_\9dv6
+;
+
+62 
+u\9at64_t
+       mmac_addr
+;
+
+63 \ 5
+       mpci_bdf
+[
+APP_LINK_PCI_BDF_SIZE
+];
+
+65 \19
+¹e_\91h_cÚf
+       mcÚf
+;
+
+66 
+u\9at8_t
+       m´omisc
+;
+
+69 \19
+       s­p_pktq_hwq_\9a_·¿ms
+ {
+
+70 \ 5*
+       mÇme
+;
+
+71 
+u\9at32_t
+       m·r£d
+;
+
+72 
+u\9at32_t
+       mmempoÞ_id
+;
+
+73 
+u\9at32_t
+       msize
+;
+
+74 
+u\9at32_t
+       mbur¡
+;
+
+76 \19
+¹e_\91h_rxcÚf
+       mcÚf
+;
+
+79 \19
+       s­p_pktq_hwq_out_·¿ms
+ {
+
+80 \ 5*
+       mÇme
+;
+
+81 
+u\9at32_t
+       m·r£d
+;
+
+82 
+u\9at32_t
+       msize
+;
+
+83 
+u\9at32_t
+       mbur¡
+;
+
+84 
+u\9at32_t
+       mdrÝËss
+;
+
+85 
+u\9at64_t
+       mn_»\8c\9bs
+;
+
+86 \19
+¹e_\91h_txcÚf
+       mcÚf
+;
+
+89 \19
+       s­p_pktq_swq_·¿ms
+ {
+
+90 \ 5*
+       mÇme
+;
+
+91 
+u\9at32_t
+       m·r£d
+;
+
+92 
+u\9at32_t
+       msize
+;
+
+93 
+u\9at32_t
+       mbur¡_»ad
+;
+
+94 
+u\9at32_t
+       mbur¡_wr\99e
+;
+
+95 
+u\9at32_t
+       mdrÝËss
+;
+
+96 
+u\9at64_t
+       mn_»\8c\9bs
+;
+
+97 
+u\9at32_t
+       mýu_sock\91_id
+;
+
+98 
+u\9at32_t
+       m\9dv4_äag
+;
+
+99 
+u\9at32_t
+       m\9dv6_äag
+;
+
+100 
+u\9at32_t
+       m\9dv4_¿s
+;
+
+101 
+u\9at32_t
+       m\9dv6_¿s
+;
+
+102 
+u\9at32_t
+       mmtu
+;
+
+103 
+u\9at32_t
+       mm\91ad©a_size
+;
+
+104 
+u\9at32_t
+       mmempoÞ_d\9ceù_id
+;
+
+105 
+u\9at32_t
+       mmempoÞ_\9ad\9ceù_id
+;
+
+108 #iâdeà
+APP_FILE_NAME_SIZE
+
+
+109 \ 1
+       #APP_FILE_NAME_SIZE
+ 256
+
+       )
+
+112 #iâdeà
+APP_MAX_SCHED_SUBPORTS
+
+
+113 \ 1
+       #APP_MAX_SCHED_SUBPORTS
+ 8
+
+       )
+
+116 #iâdeà
+APP_MAX_SCHED_PIPES
+
+
+117 \ 1
+       #APP_MAX_SCHED_PIPES
+ 4096
+
+       )
+
+120 \19
+       s­p_pktq_tm_·¿ms
+ {
+
+121 \ 5*
+       mÇme
+;
+
+122 
+u\9at32_t
+       m·r£d
+;
+
+123 cڡ \ 5*
+       mf\9ee_Çme
+;
+
+124 \19
+¹e_sched_pÜt_·¿ms
+       msched_pÜt_·¿ms
+;
+
+125 \19
+¹e_sched_subpÜt_·¿ms
+
+
+126 
+       msched_subpÜt_·¿ms
+[
+APP_MAX_SCHED_SUBPORTS
+];
+
+127 \19
+¹e_sched_p\9de_·¿ms
+
+
+128 
+       msched_p\9de_´of\9ees
+[
+RTE_SCHED_PIPE_PROFILES_PER_PORT
+];
+
+129 \12
+       msched_p\9de_to_´of\9ee
+[
+APP_MAX_SCHED_SUBPORTS
+ * 
+APP_MAX_SCHED_PIPES
+];
+
+130 
+u\9at32_t
+       mbur¡_»ad
+;
+
+131 
+u\9at32_t
+       mbur¡_wr\99e
+;
+
+134 \19
+       s­p_pktq_sourû_·¿ms
+ {
+
+135 \ 5*
+       mÇme
+;
+
+136 
+u\9at32_t
+       m·r£d
+;
+
+137 
+u\9at32_t
+       mmempoÞ_id
+;
+
+138 
+u\9at32_t
+       mbur¡
+;
+
+139 \ 5*
+       mf\9ee_Çme
+;
+
+140 
+u\9at32_t
+       mn_by\8bs_³r_pkt
+;
+
+143 \19
+       s­p_pktq_s\9ak_·¿ms
+ {
+
+144 \ 5*
+       mÇme
+;
+
+145 
+u\9at8_t
+       m·r£d
+;
+
+146 \ 5*
+       mf\9ee_Çme
+;
+
+147 
+u\9at32_t
+       mn_pkts_to_dump
+;
+
+150 \19
+       s­p_msgq_·¿ms
+ {
+
+151 \ 5*
+       mÇme
+;
+
+152 
+u\9at32_t
+       m·r£d
+;
+
+153 
+u\9at32_t
+       msize
+;
+
+154 
+u\9at32_t
+       mýu_sock\91_id
+;
+
+157 \f
+       e­p_pktq_\9a_ty³
+ {
+
+158 
+       mAPP_PKTQ_IN_HWQ
+,
+
+159 
+       mAPP_PKTQ_IN_SWQ
+,
+
+160 
+       mAPP_PKTQ_IN_TM
+,
+
+161 
+       mAPP_PKTQ_IN_SOURCE
+,
+
+164 \19
+       s­p_pktq_\9a_·¿ms
+ {
+
+165 \f
+­p_pktq_\9a_ty³
+       mty³
+;
+
+166 
+u\9at32_t
+       mid
+;
+
+169 \f
+       e­p_pktq_out_ty³
+ {
+
+170 
+       mAPP_PKTQ_OUT_HWQ
+,
+
+171 
+       mAPP_PKTQ_OUT_SWQ
+,
+
+172 
+       mAPP_PKTQ_OUT_TM
+,
+
+173 
+       mAPP_PKTQ_OUT_SINK
+,
+
+176 \19
+       s­p_pktq_out_·¿ms
+ {
+
+177 \f
+­p_pktq_out_ty³
+       mty³
+;
+
+178 
+u\9at32_t
+       mid
+;
+
+181 #iâdeà
+APP_PIPELINE_TYPE_SIZE
+
+
+182 \ 1
+       #APP_PIPELINE_TYPE_SIZE
+ 64
+
+       )
+
+185 \ 1
+       #APP_MAX_PIPELINE_PKTQ_IN
+PIPELINE_MAX_PORT_IN
+
+
+       )
+
+186 \ 1
+       #APP_MAX_PIPELINE_PKTQ_OUT
+PIPELINE_MAX_PORT_OUT
+
+
+       )
+
+187 \ 1
+       #APP_MAX_PIPELINE_MSGQ_IN
+PIPELINE_MAX_MSGQ_IN
+
+
+       )
+
+188 \ 1
+       #APP_MAX_PIPELINE_MSGQ_OUT
+PIPELINE_MAX_MSGQ_OUT
+
+
+       )
+
+190 \ 1
+       #APP_MAX_PIPELINE_ARGS
+PIPELINE_MAX_ARGS
+
+
+       )
+
+192 \19
+       s­p_p\9d\96\9ae_·¿ms
+ {
+
+193 \ 5*
+       mÇme
+;
+
+194 
+u\9at8_t
+       m·r£d
+;
+
+196 \ 5
+       mty³
+[
+APP_PIPELINE_TYPE_SIZE
+];
+
+198 
+u\9at32_t
+       msock\91_id
+;
+
+199 
+u\9at32_t
+       mcÜe_id
+;
+
+200 
+u\9at32_t
+       mhy³r_th_id
+;
+
+202 \19
+­p_pktq_\9a_·¿ms
+       mpktq_\9a
+[
+APP_MAX_PIPELINE_PKTQ_IN
+];
+
+203 \19
+­p_pktq_out_·¿ms
+       mpktq_out
+[
+APP_MAX_PIPELINE_PKTQ_OUT
+];
+
+204 
+u\9at32_t
+       mmsgq_\9a
+[
+APP_MAX_PIPELINE_MSGQ_IN
+];
+
+205 
+u\9at32_t
+       mmsgq_out
+[
+APP_MAX_PIPELINE_MSGQ_OUT
+];
+
+207 
+u\9at32_t
+       mn_pktq_\9a
+;
+
+208 
+u\9at32_t
+       mn_pktq_out
+;
+
+209 
+u\9at32_t
+       mn_msgq_\9a
+;
+
+210 
+u\9at32_t
+       mn_msgq_out
+;
+
+212 
+u\9at32_t
+       mtim\94_³riod
+;
+
+214 \ 5*
+       m¬gs_Çme
+[
+APP_MAX_PIPELINE_ARGS
+];
+
+215 \ 5*
+       m¬gs_v®ue
+[
+APP_MAX_PIPELINE_ARGS
+];
+
+216 
+u\9at32_t
+       mn_¬gs
+;
+
+219 \19
+       s­p_p\9d\96\9ae_d©a
+ {
+
+220 \1e*
+       mbe
+;
+
+221 \1e*
+       mã
+;
+
+222 \19
+p\9d\96\9ae_ty³
+ *
+       m±y³
+;
+
+223 
+u\9at64_t
+       mtim\94_³riod
+;
+
+224 
+u\9at32_t
+       m\92abËd
+;
+
+227 \19
+       s­p_th»ad_p\9d\96\9ae_d©a
+ {
+
+228 
+u\9at32_t
+       mp\9d\96\9ae_id
+;
+
+229 \1e*
+       mbe
+;
+
+230 
+p\9d\96\9ae_be_Ý_run
+       mf_run
+;
+
+231 
+p\9d\96\9ae_be_Ý_tim\94
+       mf_tim\94
+;
+
+232 
+u\9at64_t
+       mtim\94_³riod
+;
+
+233 
+u\9at64_t
+       md\97dl\9ae
+;
+
+236 #iâdeà
+APP_MAX_THREAD_PIPELINES
+
+
+237 \ 1
+       #APP_MAX_THREAD_PIPELINES
+ 32
+
+       )
+
+240 #iâdeà
+APP_THREAD_TIMER_PERIOD
+
+
+241 \ 1
+       #APP_THREAD_TIMER_PERIOD
+ 1
+
+       )
+
+244 \19
+       s­p_th»ad_d©a
+ {
+
+245 \19
+­p_th»ad_p\9d\96\9ae_d©a
+       m»guÏr
+[
+APP_MAX_THREAD_PIPELINES
+];
+
+246 \19
+­p_th»ad_p\9d\96\9ae_d©a
+       mcu¡om
+[
+APP_MAX_THREAD_PIPELINES
+];
+
+248 
+u\9at32_t
+       mn_»guÏr
+;
+
+249 
+u\9at32_t
+       mn_cu¡om
+;
+
+251 
+u\9at64_t
+       mtim\94_³riod
+;
+
+252 
+u\9at64_t
+       mth»ad_»q_d\97dl\9ae
+;
+
+254 
+u\9at64_t
+       md\97dl\9ae
+;
+
+256 \19
+¹e_r\9ag
+ *
+       mmsgq_\9a
+;
+
+257 \19
+¹e_r\9ag
+ *
+       mmsgq_out
+;
+
+259 
+u\9at64_t
+       mh\97droom_time
+;
+
+260 
+u\9at64_t
+       mh\97droom_cyþes
+;
+
+261 \b
+       mh\97droom_¿tio
+;
+
+264 #iâdeà
+APP_MAX_LINKS
+
+
+265 \ 1
+       #APP_MAX_LINKS
+ 32
+
+       )
+
+268 \19
+       s­p_\97l_·¿ms
+ {
+
+270 \ 5*
+       mcÜem­
+;
+
+273 
+u\9at32_t
+       mma¡\94_lcÜe_´e£Á
+;
+
+274 
+u\9at32_t
+       mma¡\94_lcÜe
+;
+
+277 
+u\9at32_t
+       mchªÃls_´e£Á
+;
+
+278 
+u\9at32_t
+       mchªÃls
+;
+
+281 
+u\9at32_t
+       mmemÜy_´e£Á
+;
+
+282 
+u\9at32_t
+       mmemÜy
+;
+
+285 
+u\9at32_t
+       m¿nks_´e£Á
+;
+
+286 
+u\9at32_t
+       m¿nks
+;
+
+289 \ 5*
+       mpci_bÏckli¡
+[
+APP_MAX_LINKS
+];
+
+292 \ 5*
+       mpci_wh\99\96
+[
+APP_MAX_LINKS
+];
+
+295 \ 5*
+       mvdev
+[
+APP_MAX_LINKS
+];
+
+298 
+u\9at32_t
+       mvmw¬e_tsc_m­_´e£Á
+;
+
+299 \12
+       mvmw¬e_tsc_m­
+;
+
+302 \ 5*
+       m´oc_ty³
+;
+
+305 \ 5*
+       msy¦og
+;
+
+308 
+u\9at32_t
+       mlog_Ëv\96_´e£Á
+;
+
+309 
+u\9at32_t
+       mlog_Ëv\96
+;
+
+312 
+u\9at32_t
+       mv\94siÚ_´e£Á
+;
+
+313 \12
+       mv\94siÚ
+;
+
+316 
+u\9at32_t
+       mh\96p_´e£Á
+;
+
+317 \12
+       mh\96p
+;
+
+320 
+u\9at32_t
+       mno_huge_´e£Á
+;
+
+321 \12
+       mno_huge
+;
+
+324 
+u\9at32_t
+       mno_pci_´e£Á
+;
+
+325 \12
+       mno_pci
+;
+
+328 
+u\9at32_t
+       mno_h³t_´e£Á
+;
+
+329 \12
+       mno_h³t
+;
+
+332 
+u\9at32_t
+       mno_shcÚf_´e£Á
+;
+
+333 \12
+       mno_shcÚf
+;
+
+336 \ 5*
+       madd_driv\94
+;
+
+339 \ 5*
+       msock\91_mem
+;
+
+342 \ 5*
+       mhuge_d\9c
+;
+
+345 \ 5*
+       mf\9ee_´efix
+;
+
+348 \ 5*
+       mba£_v\9c\8fddr
+;
+
+351 
+u\9at32_t
+       mü\97\8b_uio_dev_´e£Á
+;
+
+352 \12
+       mü\97\8b_uio_dev
+;
+
+355 \ 5*
+       mvfio_\9a\8c
+;
+
+358 
+u\9at32_t
+       mx\92_dom0_´e£Á
+;
+
+359 \12
+       mx\92_dom0
+;
+
+362 #iâdeà
+APP_APPNAME_SIZE
+
+
+363 \ 1
+       #APP_APPNAME_SIZE
+ 256
+
+       )
+
+366 #iâdeà
+APP_MAX_MEMPOOLS
+
+
+367 \ 1
+       #APP_MAX_MEMPOOLS
+ 8
+
+       )
+
+370 #iâdeà
+APP_LINK_MAX_HWQ_IN
+
+
+371 \ 1
+       #APP_LINK_MAX_HWQ_IN
+ 64
+
+       )
+
+374 #iâdeà
+APP_LINK_MAX_HWQ_OUT
+
+
+375 \ 1
+       #APP_LINK_MAX_HWQ_OUT
+ 64
+
+       )
+
+378 \ 1
+       #APP_MAX_HWQ_IN
+ (
+APP_MAX_LINKS
+ * 
+APP_LINK_MAX_HWQ_IN
+)
+
+       )
+
+380 \ 1
+       #APP_MAX_HWQ_OUT
+ (
+APP_MAX_LINKS
+ * 
+APP_LINK_MAX_HWQ_OUT
+)
+
+       )
+
+382 #iâdeà
+APP_MAX_PKTQ_SWQ
+
+
+383 \ 1
+       #APP_MAX_PKTQ_SWQ
+ 256
+
+       )
+
+386 \ 1
+       #APP_MAX_PKTQ_TM
+APP_MAX_LINKS
+
+
+       )
+
+388 #iâdeà
+APP_MAX_PKTQ_SOURCE
+
+
+389 \ 1
+       #APP_MAX_PKTQ_SOURCE
+ 32
+
+       )
+
+392 #iâdeà
+APP_MAX_PKTQ_SINK
+
+
+393 \ 1
+       #APP_MAX_PKTQ_SINK
+ 32
+
+       )
+
+396 #iâdeà
+APP_MAX_MSGQ
+
+
+397 \ 1
+       #APP_MAX_MSGQ
+ 128
+
+       )
+
+400 #iâdeà
+APP_MAX_PIPELINES
+
+
+401 \ 1
+       #APP_MAX_PIPELINES
+ 64
+
+       )
+
+404 #iâdeà
+APP_EAL_ARGC
+
+
+405 \ 1
+       #APP_EAL_ARGC
+ 32
+
+       )
+
+408 #iâdeà
+APP_MAX_PIPELINE_TYPES
+
+
+409 \ 1
+       #APP_MAX_PIPELINE_TYPES
+ 64
+
+       )
+
+412 #iâdeà
+APP_MAX_THREADS
+
+
+413 \ 1
+       #APP_MAX_THREADS
+RTE_MAX_LCORE
+
+
+       )
+
+416 #iâdeà
+APP_MAX_CMDS
+
+
+417 \ 1
+       #APP_MAX_CMDS
+ 128
+
+       )
+
+420 #iâdeà
+APP_THREAD_HEADROOM_STATS_COLLECT
+
+
+421 \ 1
+       #APP_THREAD_HEADROOM_STATS_COLLECT
+ 1
+
+       )
+
+424 
+u\9at8_t
+       g\92abË_hwlb
+;
+
+425 
+u\9at8_t
+       g\92abË_æow_d\9c
+;
+
+427 \ 1
+       #APP_CORE_MASK_SIZE
+ \
+
+428 (
+RTE_MAX_LCORE
+ / 64 + ((RTE_MAX_LCORE % 64è? 1 : 0))
+
+       )
+
+430 \19
+       s­p_·¿ms
+ {
+
+432 \ 5
+       m­p_Çme
+[
+APP_APPNAME_SIZE
+];
+
+433 cڡ \ 5*
+       mcÚfig_f\9ee
+;
+
+434 cڡ \ 5*
+       msü\9dt_f\9ee
+;
+
+435 cڡ \ 5*
+       m·r£r_f\9ee
+;
+
+436 cڡ \ 5*
+       mou\8dut_f\9ee
+;
+
+437 cڡ \ 5*
+       m´\95roc
+;
+
+438 cڡ \ 5*
+       m´\95roc_¬gs
+;
+
+439 
+u\9at64_t
+       mpÜt_mask
+;
+
+440 
+u\9at32_t
+       mlog_Ëv\96
+;
+
+442 \19
+­p_\97l_·¿ms
+       m\97l_·¿ms
+;
+
+443 \19
+­p_mempoÞ_·¿ms
+       mmempoÞ_·¿ms
+[
+APP_MAX_MEMPOOLS
+];
+
+444 \19
+­p_l\9ak_·¿ms
+       ml\9ak_·¿ms
+[
+APP_MAX_LINKS
+];
+
+445 \19
+­p_pktq_hwq_\9a_·¿ms
+       mhwq_\9a_·¿ms
+[
+APP_MAX_HWQ_IN
+];
+
+446 \19
+­p_pktq_hwq_out_·¿ms
+       mhwq_out_·¿ms
+[
+APP_MAX_HWQ_OUT
+];
+
+447 \19
+­p_pktq_swq_·¿ms
+       mswq_·¿ms
+[
+APP_MAX_PKTQ_SWQ
+];
+
+448 \19
+­p_pktq_tm_·¿ms
+       mtm_·¿ms
+[
+APP_MAX_PKTQ_TM
+];
+
+449 \19
+­p_pktq_sourû_·¿ms
+       msourû_·¿ms
+[
+APP_MAX_PKTQ_SOURCE
+];
+
+450 \19
+­p_pktq_s\9ak_·¿ms
+       ms\9ak_·¿ms
+[
+APP_MAX_PKTQ_SINK
+];
+
+451 \19
+­p_msgq_·¿ms
+       mmsgq_·¿ms
+[
+APP_MAX_MSGQ
+];
+
+452 \19
+­p_p\9d\96\9ae_·¿ms
+       mp\9d\96\9ae_·¿ms
+[
+APP_MAX_PIPELINES
+];
+
+454 
+u\9at32_t
+       mn_mempoÞs
+;
+
+455 
+u\9at32_t
+       mn_l\9aks
+;
+
+456 
+u\9at32_t
+       mn_pktq_hwq_\9a
+;
+
+457 
+u\9at32_t
+       mn_pktq_hwq_out
+;
+
+458 
+u\9at32_t
+       mn_pktq_swq
+;
+
+459 
+u\9at32_t
+       mn_pktq_tm
+;
+
+460 
+u\9at32_t
+       mn_pktq_sourû
+;
+
+461 
+u\9at32_t
+       mn_pktq_s\9ak
+;
+
+462 
+u\9at32_t
+       mn_msgq
+;
+
+463 
+u\9at32_t
+       mn_p\9d\96\9aes
+;
+
+465 
+u\9at32_t
+       mh\97d\94_csum_»q
+;
+
+466 
+u\9at32_t
+       mn_hwlb_q
+;
+
+468 \ 5*
+       m\97l_¬gv
+[1 + 
+APP_EAL_ARGC
+];
+
+469 \19
+ýu_cÜe_m­
+ *
+       mcÜe_m­
+;
+
+470 
+u\9at64_t
+       mcÜe_mask
+[
+APP_CORE_MASK_SIZE
+];
+
+471 \19
+¹e_mempoÞ
+ *
+       mmempoÞ
+[
+APP_MAX_MEMPOOLS
+];
+
+472 \19
+¹e_r\9ag
+ *
+       mswq
+[
+APP_MAX_PKTQ_SWQ
+];
+
+473 \19
+¹e_sched_pÜt
+ *
+       mtm
+[
+APP_MAX_PKTQ_TM
+];
+
+474 \19
+¹e_r\9ag
+ *
+       mmsgq
+[
+APP_MAX_MSGQ
+];
+
+475 \19
+p\9d\96\9ae_ty³
+       mp\9d\96\9ae_ty³
+[
+APP_MAX_PIPELINE_TYPES
+];
+
+476 \19
+­p_p\9d\96\9ae_d©a
+       mp\9d\96\9ae_d©a
+[
+APP_MAX_PIPELINES
+];
+
+477 \19
+­p_th»ad_d©a
+       mth»ad_d©a
+[
+APP_MAX_THREADS
+];
+
+478 
+cmdl\9ae_·r£_ùx_t
+       mcmds
+[
+APP_MAX_CMDS
+ + 1];
+
+480 \12
+       m\97l_¬gc
+;
+
+481 
+u\9at32_t
+       mn_p\9d\96\9ae_ty³s
+;
+
+482 
+u\9at32_t
+       mn_cmds
+;
+
+485 \ 1
+       #APP_PARAM_VALID
+(
+obj
+è((obj)->
+Çme
+ !ð
+NULL
+)
+
+       )
+
+487 \ 1
+       #APP_PARAM_COUNT
+(
+obj_¬¿y
+, 
+n_objs
+) \
+
+489 
+size_t
+i
+; \
+
+491 
+n_objs
+ = 0; \
+
+492 \ f
+i
+ = 0; i < 
+       `RTE_DIM
+(
+obj_¬¿y
+); i++) \
+
+493 ià(
+       `APP_PARAM_VALID
+(&((
+obj_¬¿y
+)[
+i
+]))) \
+
+494 
+n_objs
+++; \
+
+495 }
+
+       )
+
+497 \ 1
+       #APP_PARAM_FIND
+(
+obj_¬¿y
+, 
+key
+) \
+
+499 
+ssize_t
+obj_idx
+; \
+
+500 cڡ 
+ssize_t
+obj_couÁ
+ = 
+       `RTE_DIM
+(
+obj_¬¿y
+); \
+
+502 \ f
+obj_idx
+ = 0; obj_idx < 
+obj_couÁ
+; obj_idx++) { \
+
+503 ià(!
+       `APP_PARAM_VALID
+(&((
+obj_¬¿y
+)[
+obj_idx
+]))) \
+
+506 ià(
+       `¡rcmp
+(
+key
+, (
+obj_¬¿y
+)[
+obj_idx
+].
+Çme
+) == 0) \
+
+509 
+obj_idx
+ < 
+obj_couÁ
+ ? obj_idx : -
+ENOENT
+; \
+
+510 })
+
+       )
+
+512 \ 1
+       #APP_PARAM_FIND_BY_ID
+(
+obj_¬¿y
+, 
+´efix
+, 
+id
+, 
+obj
+) \
+
+514 \ 5
+Çme
+[
+APP_PARAM_NAME_SIZE
+]; \
+
+515 
+ssize_t
+pos
+; \
+
+517 
+       `¥r\9atf
+(
+Çme
+, 
+´efix
+ "%" 
+PRIu32
+, 
+id
+); \
+
+518 
+pos
+ = 
+       `APP_PARAM_FIND
+(
+obj_¬¿y
+, 
+Çme
+); \
+
+519 
+obj
+ = (
+pos
+ < 0è? 
+NULL
+ : &((
+obj_¬¿y
+)[pos]); \
+
+520 } \1f0)
+
+       )
+
+522 \ 1
+       #APP_PARAM_GET_ID
+(
+obj
+, 
+´efix
+, 
+id
+) \
+
+524 
+       `ssÿnf
+(
+obj
+->
+Çme
+, 
+´efix
+ "%" 
+SCNu32
+, &
+id
+); \
+
+526 
+
+       )
+
+527 \ 1
+       #APP_PARAM_ADD
+(
+obj_¬¿y
+, 
+obj_Çme
+) \
+
+529 
+ssize_t
+obj_idx
+; \
+
+530 cڡ 
+ssize_t
+obj_couÁ
+ = 
+       `RTE_DIM
+(
+obj_¬¿y
+); \
+
+532 
+obj_idx
+ = 
+       `APP_PARAM_FIND
+(
+obj_¬¿y
+, 
+obj_Çme
+); \
+
+533 ià(
+obj_idx
+ < 0) { \
+
+534 \ f
+obj_idx
+ = 0; obj_idx < 
+obj_couÁ
+; obj_idx++) { \
+
+535 ià(!
+       `APP_PARAM_VALID
+(&((
+obj_¬¿y
+)[
+obj_idx
+]))) \
+
+539 ià(
+obj_idx
+ < 
+obj_couÁ
+) { \
+
+540 (
+obj_¬¿y
+)[
+obj_idx
+].
+Çme
+ = 
+       `¡rdup
+(
+obj_Çme
+); \
+
+541 ià((
+obj_¬¿y
+)[
+obj_idx
+].
+Çme
+ =ð
+NULL
+) \
+
+542 
+obj_idx
+ = -
+EINVAL
+; \
+
+544 
+obj_idx
+ = -
+ENOMEM
+; \
+
+546 
+obj_idx
+; \
+
+547 })
+
+       )
+
+549 \ 1
+       #APP_CHECK
+(
+exp
+, 
+fmt
+, ...) \
+
+551 ià(!(
+exp
+)) { \
+
+552 
+       `år\9atf
+(
+¡d\94r
+, 
+fmt
+ "\n", ## 
+__VA_ARGS__
+); \
+
+553 
+       `abÜt
+(); \
+
+555 } \1f0)
+
+       )
+
+557 \f
+       e­p_log_Ëv\96
+ {
+
+558 
+       mAPP_LOG_LEVEL_HIGH
+ = 1,
+
+559 
+       mAPP_LOG_LEVEL_LOW
+,
+
+560 
+       mAPP_LOG_LEVELS
+
+
+563 \ 1
+       #APP_LOG
+(
+­p
+, 
+Ëv\96
+, 
+fmt
+, ...) \
+
+565 ià(
+­p
+->
+log_Ëv\96
+ >ð
+APP_LOG_LEVEL_
+ ## 
+Ëv\96
+) \
+
+566 
+       `år\9atf
+(
+¡dout
+, "[APP] " 
+fmt
+ "\n", ## 
+__VA_ARGS__
+); \
+
+567 } \1f0)
+
+       )
+
+569 \18
+\9al\9ae
+u\9at32_t
+
+
+570 
+       $­p_l\9ak_g\91_n_rxq
+(\19
+­p_·¿ms
+ *
+­p
+, \19
+­p_l\9ak_·¿ms
+ *
+l\9ak
+)
+
+572 
+u\9at32_t
+n_rxq
+ = 0, 
+l\9ak_id
+, 
+i
+;
+
+573 
+u\9at32_t
+n_pktq_hwq_\9a
+ = 
+       `RTE_MIN
+(
+­p
+->n_pktq_hwq_in,
+
+574 
+       `RTE_DIM
+(
+­p
+->
+hwq_\9a_·¿ms
+));
+
+576 
+       `APP_PARAM_GET_ID
+(
+l\9ak
+, "LINK", 
+l\9ak_id
+);
+
+578 \ f
+i
+ = 0; i < 
+n_pktq_hwq_\9a
+; i++) {
+
+579 \19
+­p_pktq_hwq_\9a_·¿ms
+ *
+p
+ = &
+­p
+->
+hwq_\9a_·¿ms
+[
+i
+];
+
+580 
+u\9at32_t
+rxq_l\9ak_id
+, 
+rxq_queue_id
+;
+
+582 
+       `ssÿnf
+(
+p
+->
+Çme
+, "RXQ%" 
+SCNu32
+ ".%" SCNu32,
+
+583 &
+rxq_l\9ak_id
+, &
+rxq_queue_id
+);
+
+584 ià(
+rxq_l\9ak_id
+ =ð
+l\9ak_id
+)
+
+585 
+n_rxq
+++;
+
+588 \15 
+n_rxq
+;
+
+589 
+       }
+}
+
+591 \18
+\9al\9ae
+u\9at32_t
+
+
+592 
+       $­p_l\9ak_g\91_n_txq
+(\19
+­p_·¿ms
+ *
+­p
+, \19
+­p_l\9ak_·¿ms
+ *
+l\9ak
+)
+
+594 
+u\9at32_t
+n_txq
+ = 0, 
+l\9ak_id
+, 
+i
+;
+
+595 
+u\9at32_t
+n_pktq_hwq_out
+ = 
+       `RTE_MIN
+(
+­p
+->n_pktq_hwq_out,
+
+596 
+       `RTE_DIM
+(
+­p
+->
+hwq_out_·¿ms
+));
+
+598 
+       `APP_PARAM_GET_ID
+(
+l\9ak
+, "LINK", 
+l\9ak_id
+);
+
+600 \ f
+i
+ = 0; i < 
+n_pktq_hwq_out
+; i++) {
+
+601 \19
+­p_pktq_hwq_out_·¿ms
+ *
+p
+ = &
+­p
+->
+hwq_out_·¿ms
+[
+i
+];
+
+602 
+u\9at32_t
+txq_l\9ak_id
+, 
+txq_queue_id
+;
+
+604 
+       `ssÿnf
+(
+p
+->
+Çme
+, "TXQ%" 
+SCNu32
+ ".%" SCNu32,
+
+605 &
+txq_l\9ak_id
+, &
+txq_queue_id
+);
+
+606 ià(
+txq_l\9ak_id
+ =ð
+l\9ak_id
+)
+
+607 
+n_txq
+++;
+
+610 \15 
+n_txq
+;
+
+611 
+       }
+}
+
+613 \18
+\9al\9ae
+u\9at32_t
+
+
+614 
+       $­p_rxq_g\91_»ad\94s
+(\19
+­p_·¿ms
+ *
+­p
+, \19
+­p_pktq_hwq_\9a_·¿ms
+ *
+rxq
+)
+
+616 
+u\9at32_t
+pos
+ = 
+rxq
+ - 
+­p
+->
+hwq_\9a_·¿ms
+;
+
+617 
+u\9at32_t
+n_p\9d\96\9aes
+ = 
+       `RTE_MIN
+(
+­p
+->n_pipelines,
+
+618 
+       `RTE_DIM
+(
+­p
+->
+p\9d\96\9ae_·¿ms
+));
+
+619 
+u\9at32_t
+n_»ad\94s
+ = 0, 
+i
+;
+
+621 \ f
+i
+ = 0; i < 
+n_p\9d\96\9aes
+; i++) {
+
+622 \19
+­p_p\9d\96\9ae_·¿ms
+ *
+p
+ = &
+­p
+->
+p\9d\96\9ae_·¿ms
+[
+i
+];
+
+623 
+u\9at32_t
+n_pktq_\9a
+ = 
+       `RTE_MIN
+(
+p
+->n_pktq_\9a
+       `RTE_DIM
+Õ->
+pktq_\9a
+));
+
+624 
+u\9at32_t
+j
+;
+
+626 \ f
+j
+ = 0; j < 
+n_pktq_\9a
+; j++) {
+
+627 \19
+­p_pktq_\9a_·¿ms
+ *
+pktq
+ = &
+p
+->
+pktq_\9a
+[
+j
+];
+
+629 ià((
+pktq
+->
+ty³
+ =ð
+APP_PKTQ_IN_HWQ
+) &&
+
+630 (
+pktq
+->
+id
+ =ð
+pos
+))
+
+631 
+n_»ad\94s
+++;
+
+635 \15 
+n_»ad\94s
+;
+
+636 
+       }
+}
+
+638 \18
+\9al\9ae
+u\9at32_t
+
+
+639 
+       $­p_swq_g\91_»ad\94s
+(\19
+­p_·¿ms
+ *
+­p
+, \19
+­p_pktq_swq_·¿ms
+ *
+swq
+)
+
+641 
+u\9at32_t
+pos
+ = 
+swq
+ - 
+­p
+->
+swq_·¿ms
+;
+
+642 
+u\9at32_t
+n_p\9d\96\9aes
+ = 
+       `RTE_MIN
+(
+­p
+->n_pipelines,
+
+643 
+       `RTE_DIM
+(
+­p
+->
+p\9d\96\9ae_·¿ms
+));
+
+644 
+u\9at32_t
+n_»ad\94s
+ = 0, 
+i
+;
+
+646 \ f
+i
+ = 0; i < 
+n_p\9d\96\9aes
+; i++) {
+
+647 \19
+­p_p\9d\96\9ae_·¿ms
+ *
+p
+ = &
+­p
+->
+p\9d\96\9ae_·¿ms
+[
+i
+];
+
+648 
+u\9at32_t
+n_pktq_\9a
+ = 
+       `RTE_MIN
+(
+p
+->n_pktq_\9a
+       `RTE_DIM
+Õ->
+pktq_\9a
+));
+
+649 
+u\9at32_t
+j
+;
+
+651 \ f
+j
+ = 0; j < 
+n_pktq_\9a
+; j++) {
+
+652 \19
+­p_pktq_\9a_·¿ms
+ *
+pktq
+ = &
+p
+->
+pktq_\9a
+[
+j
+];
+
+654 ià((
+pktq
+->
+ty³
+ =ð
+APP_PKTQ_IN_SWQ
+) &&
+
+655 (
+pktq
+->
+id
+ =ð
+pos
+))
+
+656 
+n_»ad\94s
+++;
+
+660 \15 
+n_»ad\94s
+;
+
+661 
+       }
+}
+
+663 \18
+\9al\9ae
+u\9at32_t
+
+
+664 
+       $­p_tm_g\91_»ad\94s
+(\19
+­p_·¿ms
+ *
+­p
+, \19
+­p_pktq_tm_·¿ms
+ *
+tm
+)
+
+666 
+u\9at32_t
+pos
+ = 
+tm
+ - 
+­p
+->
+tm_·¿ms
+;
+
+667 
+u\9at32_t
+n_p\9d\96\9aes
+ = 
+       `RTE_MIN
+(
+­p
+->n_pipelines,
+
+668 
+       `RTE_DIM
+(
+­p
+->
+p\9d\96\9ae_·¿ms
+));
+
+669 
+u\9at32_t
+n_»ad\94s
+ = 0, 
+i
+;
+
+671 \ f
+i
+ = 0; i < 
+n_p\9d\96\9aes
+; i++) {
+
+672 \19
+­p_p\9d\96\9ae_·¿ms
+ *
+p
+ = &
+­p
+->
+p\9d\96\9ae_·¿ms
+[
+i
+];
+
+673 
+u\9at32_t
+n_pktq_\9a
+ = 
+       `RTE_MIN
+(
+p
+->n_pktq_\9a
+       `RTE_DIM
+Õ->
+pktq_\9a
+));
+
+674 
+u\9at32_t
+j
+;
+
+676 \ f
+j
+ = 0; j < 
+n_pktq_\9a
+; j++) {
+
+677 \19
+­p_pktq_\9a_·¿ms
+ *
+pktq
+ = &
+p
+->
+pktq_\9a
+[
+j
+];
+
+679 ià((
+pktq
+->
+ty³
+ =ð
+APP_PKTQ_IN_TM
+) &&
+
+680 (
+pktq
+->
+id
+ =ð
+pos
+))
+
+681 
+n_»ad\94s
+++;
+
+685 \15 
+n_»ad\94s
+;
+
+686 
+       }
+}
+
+688 \18
+\9al\9ae
+u\9at32_t
+
+
+689 
+       $­p_sourû_g\91_»ad\94s
+(\19
+­p_·¿ms
+ *
+­p
+,
+
+690 \19
+­p_pktq_sourû_·¿ms
+ *
+sourû
+)
+
+692 
+u\9at32_t
+pos
+ = 
+sourû
+ - 
+­p
+->
+sourû_·¿ms
+;
+
+693 
+u\9at32_t
+n_p\9d\96\9aes
+ = 
+       `RTE_MIN
+(
+­p
+->n_pipelines,
+
+694 
+       `RTE_DIM
+(
+­p
+->
+p\9d\96\9ae_·¿ms
+));
+
+695 
+u\9at32_t
+n_»ad\94s
+ = 0, 
+i
+;
+
+697 \ f
+i
+ = 0; i < 
+n_p\9d\96\9aes
+; i++) {
+
+698 \19
+­p_p\9d\96\9ae_·¿ms
+ *
+p
+ = &
+­p
+->
+p\9d\96\9ae_·¿ms
+[
+i
+];
+
+699 
+u\9at32_t
+n_pktq_\9a
+ = 
+       `RTE_MIN
+(
+p
+->n_pktq_\9a
+       `RTE_DIM
+Õ->
+pktq_\9a
+));
+
+700 
+u\9at32_t
+j
+;
+
+702 \ f
+j
+ = 0; j < 
+n_pktq_\9a
+; j++) {
+
+703 \19
+­p_pktq_\9a_·¿ms
+ *
+pktq
+ = &
+p
+->
+pktq_\9a
+[
+j
+];
+
+705 ià((
+pktq
+->
+ty³
+ =ð
+APP_PKTQ_IN_SOURCE
+) &&
+
+706 (
+pktq
+->
+id
+ =ð
+pos
+))
+
+707 
+n_»ad\94s
+++;
+
+711 \15 
+n_»ad\94s
+;
+
+712 
+       }
+}
+
+714 \18
+\9al\9ae
+u\9at32_t
+
+
+715 
+       $­p_msgq_g\91_»ad\94s
+(\19
+­p_·¿ms
+ *
+­p
+, \19
+­p_msgq_·¿ms
+ *
+msgq
+)
+
+717 
+u\9at32_t
+pos
+ = 
+msgq
+ - 
+­p
+->
+msgq_·¿ms
+;
+
+718 
+u\9at32_t
+n_p\9d\96\9aes
+ = 
+       `RTE_MIN
+(
+­p
+->n_pipelines,
+
+719 
+       `RTE_DIM
+(
+­p
+->
+p\9d\96\9ae_·¿ms
+));
+
+720 
+u\9at32_t
+n_»ad\94s
+ = 0, 
+i
+;
+
+722 \ f
+i
+ = 0; i < 
+n_p\9d\96\9aes
+; i++) {
+
+723 \19
+­p_p\9d\96\9ae_·¿ms
+ *
+p
+ = &
+­p
+->
+p\9d\96\9ae_·¿ms
+[
+i
+];
+
+724 
+u\9at32_t
+n_msgq_\9a
+ = 
+       `RTE_MIN
+(
+p
+->n_msgq_\9a
+       `RTE_DIM
+Õ->
+msgq_\9a
+));
+
+725 
+u\9at32_t
+j
+;
+
+727 \ f
+j
+ = 0; j < 
+n_msgq_\9a
+; j++)
+
+728 ià(
+p
+->
+msgq_\9a
+[
+j
+] =ð
+pos
+)
+
+729 
+n_»ad\94s
+++;
+
+732 \15 
+n_»ad\94s
+;
+
+733 
+       }
+}
+
+735 \18
+\9al\9ae
+u\9at32_t
+
+
+736 
+       $­p_txq_g\91_wr\99\94s
+(\19
+­p_·¿ms
+ *
+­p
+, \19
+­p_pktq_hwq_out_·¿ms
+ *
+txq
+)
+
+738 
+u\9at32_t
+pos
+ = 
+txq
+ - 
+­p
+->
+hwq_out_·¿ms
+;
+
+739 
+u\9at32_t
+n_p\9d\96\9aes
+ = 
+       `RTE_MIN
+(
+­p
+->n_pipelines,
+
+740 
+       `RTE_DIM
+(
+­p
+->
+p\9d\96\9ae_·¿ms
+));
+
+741 
+u\9at32_t
+n_wr\99\94s
+ = 0, 
+i
+;
+
+743 \ f
+i
+ = 0; i < 
+n_p\9d\96\9aes
+; i++) {
+
+744 \19
+­p_p\9d\96\9ae_·¿ms
+ *
+p
+ = &
+­p
+->
+p\9d\96\9ae_·¿ms
+[
+i
+];
+
+745 
+u\9at32_t
+n_pktq_out
+ = 
+       `RTE_MIN
+(
+p
+->n_pktq_out,
+
+746 
+       `RTE_DIM
+(
+p
+->
+pktq_out
+));
+
+747 
+u\9at32_t
+j
+;
+
+749 \ f
+j
+ = 0; j < 
+n_pktq_out
+; j++) {
+
+750 \19
+­p_pktq_out_·¿ms
+ *
+pktq
+ = &
+p
+->
+pktq_out
+[
+j
+];
+
+752 ià((
+pktq
+->
+ty³
+ =ð
+APP_PKTQ_OUT_HWQ
+) &&
+
+753 (
+pktq
+->
+id
+ =ð
+pos
+))
+
+754 
+n_wr\99\94s
+++;
+
+758 \15 
+n_wr\99\94s
+;
+
+759 
+       }
+}
+
+761 \18
+\9al\9ae
+u\9at32_t
+
+
+762 
+       $­p_swq_g\91_wr\99\94s
+(\19
+­p_·¿ms
+ *
+­p
+, \19
+­p_pktq_swq_·¿ms
+ *
+swq
+)
+
+764 
+u\9at32_t
+pos
+ = 
+swq
+ - 
+­p
+->
+swq_·¿ms
+;
+
+765 
+u\9at32_t
+n_p\9d\96\9aes
+ = 
+       `RTE_MIN
+(
+­p
+->n_pipelines,
+
+766 
+       `RTE_DIM
+(
+­p
+->
+p\9d\96\9ae_·¿ms
+));
+
+767 
+u\9at32_t
+n_wr\99\94s
+ = 0, 
+i
+;
+
+769 \ f
+i
+ = 0; i < 
+n_p\9d\96\9aes
+; i++) {
+
+770 \19
+­p_p\9d\96\9ae_·¿ms
+ *
+p
+ = &
+­p
+->
+p\9d\96\9ae_·¿ms
+[
+i
+];
+
+771 
+u\9at32_t
+n_pktq_out
+ = 
+       `RTE_MIN
+(
+p
+->n_pktq_out,
+
+772 
+       `RTE_DIM
+(
+p
+->
+pktq_out
+));
+
+773 
+u\9at32_t
+j
+;
+
+775 \ f
+j
+ = 0; j < 
+n_pktq_out
+; j++) {
+
+776 \19
+­p_pktq_out_·¿ms
+ *
+pktq
+ = &
+p
+->
+pktq_out
+[
+j
+];
+
+778 ià((
+pktq
+->
+ty³
+ =ð
+APP_PKTQ_OUT_SWQ
+) &&
+
+779 (
+pktq
+->
+id
+ =ð
+pos
+))
+
+780 
+n_wr\99\94s
+++;
+
+784 \15 
+n_wr\99\94s
+;
+
+785 
+       }
+}
+
+787 \18
+\9al\9ae
+u\9at32_t
+
+
+788 
+       $­p_tm_g\91_wr\99\94s
+(\19
+­p_·¿ms
+ *
+­p
+, \19
+­p_pktq_tm_·¿ms
+ *
+tm
+)
+
+790 
+u\9at32_t
+pos
+ = 
+tm
+ - 
+­p
+->
+tm_·¿ms
+;
+
+791 
+u\9at32_t
+n_p\9d\96\9aes
+ = 
+       `RTE_MIN
+(
+­p
+->n_pipelines,
+
+792 
+       `RTE_DIM
+(
+­p
+->
+p\9d\96\9ae_·¿ms
+));
+
+793 
+u\9at32_t
+n_wr\99\94s
+ = 0, 
+i
+;
+
+795 \ f
+i
+ = 0; i < 
+n_p\9d\96\9aes
+; i++) {
+
+796 \19
+­p_p\9d\96\9ae_·¿ms
+ *
+p
+ = &
+­p
+->
+p\9d\96\9ae_·¿ms
+[
+i
+];
+
+797 
+u\9at32_t
+n_pktq_out
+ = 
+       `RTE_MIN
+(
+p
+->n_pktq_out,
+
+798 
+       `RTE_DIM
+(
+p
+->
+pktq_out
+));
+
+799 
+u\9at32_t
+j
+;
+
+801 \ f
+j
+ = 0; j < 
+n_pktq_out
+; j++) {
+
+802 \19
+­p_pktq_out_·¿ms
+ *
+pktq
+ = &
+p
+->
+pktq_out
+[
+j
+];
+
+804 ià((
+pktq
+->
+ty³
+ =ð
+APP_PKTQ_OUT_TM
+) &&
+
+805 (
+pktq
+->
+id
+ =ð
+pos
+))
+
+806 
+n_wr\99\94s
+++;
+
+810 \15 
+n_wr\99\94s
+;
+
+811 
+       }
+}
+
+813 \18
+\9al\9ae
+u\9at32_t
+
+
+814 
+       $­p_s\9ak_g\91_wr\99\94s
+(\19
+­p_·¿ms
+ *
+­p
+, \19
+­p_pktq_s\9ak_·¿ms
+ *
+s\9ak
+)
+
+816 
+u\9at32_t
+pos
+ = 
+s\9ak
+ - 
+­p
+->
+s\9ak_·¿ms
+;
+
+817 
+u\9at32_t
+n_p\9d\96\9aes
+ = 
+       `RTE_MIN
+(
+­p
+->n_pipelines,
+
+818 
+       `RTE_DIM
+(
+­p
+->
+p\9d\96\9ae_·¿ms
+));
+
+819 
+u\9at32_t
+n_wr\99\94s
+ = 0, 
+i
+;
+
+821 \ f
+i
+ = 0; i < 
+n_p\9d\96\9aes
+; i++) {
+
+822 \19
+­p_p\9d\96\9ae_·¿ms
+ *
+p
+ = &
+­p
+->
+p\9d\96\9ae_·¿ms
+[
+i
+];
+
+823 
+u\9at32_t
+n_pktq_out
+ = 
+       `RTE_MIN
+(
+p
+->n_pktq_out,
+
+824 
+       `RTE_DIM
+(
+p
+->
+pktq_out
+));
+
+825 
+u\9at32_t
+j
+;
+
+827 \ f
+j
+ = 0; j < 
+n_pktq_out
+; j++) {
+
+828 \19
+­p_pktq_out_·¿ms
+ *
+pktq
+ = &
+p
+->
+pktq_out
+[
+j
+];
+
+830 ià((
+pktq
+->
+ty³
+ =ð
+APP_PKTQ_OUT_SINK
+) &&
+
+831 (
+pktq
+->
+id
+ =ð
+pos
+))
+
+832 
+n_wr\99\94s
+++;
+
+836 \15 
+n_wr\99\94s
+;
+
+837 
+       }
+}
+
+839 \18
+\9al\9ae
+u\9at32_t
+
+
+840 
+       $­p_cÜe_is_\92abËd
+(\19
+­p_·¿ms
+ *
+­p
+, 
+u\9at32_t
+lcÜe_id
+) {
+
+841 \15(
+­p
+->
+cÜe_mask
+[
+lcÜe_id
+ / 64] &
+
+842 (1LLU << (
+lcÜe_id
+ % 64)));
+
+843 
+       }
+}
+
+845 \18
+\9al\9ae
\1e
+
+846 
+       $­p_cÜe_\92abË_\9a_cÜe_mask
+(\19
+­p_·¿ms
+ *
+­p
+, \12
+lcÜe_id
+) {
+
+847 
+­p
+->
+cÜe_mask
+[
+lcÜe_id
+ / 64] |= 1LLU << (lcore_id % 64);
+
+849 
+       }
+}
+
+851 \18
+\9al\9ae
\1e
+
+852 
+       $­p_cÜe_bu\9ed_cÜe_mask_¡r\9ag
+(\19
+­p_·¿ms
+ *
+­p
+, \ 5
+
+853 *
+mask_bufãr
+) {
+
+854 \12
+i
+;
+
+856 
+mask_bufãr
+[0] = '\0';
+
+857 \ f
+i
+ = (\12)
+       `RTE_DIM
+(
+­p
+->
+cÜe_mask
+); i > 0; i--) {
+
+859 \ 5
+bufãr
+[(64 / 8) * 2 + 1];
+
+860 
+       `mem£t
+(
+bufãr
+, 0, \17(buffer));
+
+861 
+       `¢´\9atf
+(
+bufãr
+, \17(bufãr), "%016" 
+PRIx64
+,
+
+862 
+­p
+->
+cÜe_mask
+[
+i
+-1]);
+
+863 
+       `¡rÿt
+(
+mask_bufãr
+, 
+bufãr
+);
+
+865 
+       }
+}
+
+867 \18
+\9al\9ae
+u\9at32_t
+
+
+868 
+       $­p_msgq_g\91_wr\99\94s
+(\19
+­p_·¿ms
+ *
+­p
+, \19
+­p_msgq_·¿ms
+ *
+msgq
+)
+
+870 
+u\9at32_t
+pos
+ = 
+msgq
+ - 
+­p
+->
+msgq_·¿ms
+;
+
+871 
+u\9at32_t
+n_p\9d\96\9aes
+ = 
+       `RTE_MIN
+(
+­p
+->n_pipelines,
+
+872 
+       `RTE_DIM
+(
+­p
+->
+p\9d\96\9ae_·¿ms
+));
+
+873 
+u\9at32_t
+n_wr\99\94s
+ = 0, 
+i
+;
+
+875 \ f
+i
+ = 0; i < 
+n_p\9d\96\9aes
+; i++) {
+
+876 \19
+­p_p\9d\96\9ae_·¿ms
+ *
+p
+ = &
+­p
+->
+p\9d\96\9ae_·¿ms
+[
+i
+];
+
+877 
+u\9at32_t
+n_msgq_out
+ = 
+       `RTE_MIN
+(
+p
+->n_msgq_out,
+
+878 
+       `RTE_DIM
+(
+p
+->
+msgq_out
+));
+
+879 
+u\9at32_t
+j
+;
+
+881 \ f
+j
+ = 0; j < 
+n_msgq_out
+; j++)
+
+882 ià(
+p
+->
+msgq_out
+[
+j
+] =ð
+pos
+)
+
+883 
+n_wr\99\94s
+++;
+
+886 \15 
+n_wr\99\94s
+;
+
+887 
+       }
+}
+
+889 \18
+\9al\9ae
\19
+­p_l\9ak_·¿ms
+ *
+
+890 
+       $­p_g\91_l\9ak_fÜ_rxq
+(\19
+­p_·¿ms
+ *
+­p
+, \19
+­p_pktq_hwq_\9a_·¿ms
+ *
+p
+)
+
+892 \ 5
+l\9ak_Çme
+[
+APP_PARAM_NAME_SIZE
+];
+
+893 
+ssize_t
+l\9ak_·¿m_idx
+;
+
+894 
+u\9at32_t
+rxq_l\9ak_id
+, 
+rxq_queue_id
+;
+
+896 
+       `ssÿnf
+(
+p
+->
+Çme
+, "RXQ%" 
+SCNu32
+ ".%" SCNu32,
+
+897 &
+rxq_l\9ak_id
+, &
+rxq_queue_id
+);
+
+898 
+       `¥r\9atf
+(
+l\9ak_Çme
+, "LINK%" 
+PRIu32
+, 
+rxq_l\9ak_id
+);
+
+899 
+l\9ak_·¿m_idx
+ = 
+       `APP_PARAM_FIND
+(
+­p
+->
+l\9ak_·¿ms
+, 
+l\9ak_Çme
+);
+
+900 
+       `APP_CHECK
+((
+l\9ak_·¿m_idx
+ >= 0),
+
+901 "CªnÙ f\9ad % fÜ %s", 
+l\9ak_Çme
+, 
+p
+->
+Çme
+);
+
+903 \15 &
+­p
+->
+l\9ak_·¿ms
+[
+l\9ak_·¿m_idx
+];
+
+904 
+       }
+}
+
+906 \18
+\9al\9ae
\19
+­p_l\9ak_·¿ms
+ *
+
+907 
+       $­p_g\91_l\9ak_fÜ_txq
+(\19
+­p_·¿ms
+ *
+­p
+, \19
+­p_pktq_hwq_out_·¿ms
+ *
+p
+)
+
+909 \ 5
+l\9ak_Çme
+[
+APP_PARAM_NAME_SIZE
+];
+
+910 
+ssize_t
+l\9ak_·¿m_idx
+;
+
+911 
+u\9at32_t
+txq_l\9ak_id
+, 
+txq_queue_id
+;
+
+913 
+       `ssÿnf
+(
+p
+->
+Çme
+, "TXQ%" 
+SCNu32
+ ".%" SCNu32,
+
+914 &
+txq_l\9ak_id
+, &
+txq_queue_id
+);
+
+915 
+       `¥r\9atf
+(
+l\9ak_Çme
+, "LINK%" 
+PRIu32
+, 
+txq_l\9ak_id
+);
+
+916 
+l\9ak_·¿m_idx
+ = 
+       `APP_PARAM_FIND
+(
+­p
+->
+l\9ak_·¿ms
+, 
+l\9ak_Çme
+);
+
+917 
+       `APP_CHECK
+((
+l\9ak_·¿m_idx
+ >= 0),
+
+918 "CªnÙ f\9ad % fÜ %s", 
+l\9ak_Çme
+, 
+p
+->
+Çme
+);
+
+920 \15 &
+­p
+->
+l\9ak_·¿ms
+[
+l\9ak_·¿m_idx
+];
+
+921 
+       }
+}
+
+923 \18
+\9al\9ae
\19
+­p_l\9ak_·¿ms
+ *
+
+924 
+       $­p_g\91_l\9ak_fÜ_tm
+(\19
+­p_·¿ms
+ *
+­p
+, \19
+­p_pktq_tm_·¿ms
+ *
+p_tm
+)
+
+926 \ 5
+l\9ak_Çme
+[
+APP_PARAM_NAME_SIZE
+];
+
+927 
+u\9at32_t
+l\9ak_id
+;
+
+928 
+ssize_t
+l\9ak_·¿m_idx
+;
+
+930 
+       `ssÿnf
+(
+p_tm
+->
+Çme
+, "TM%" 
+PRIu32
+, &
+l\9ak_id
+);
+
+931 
+       `¥r\9atf
+(
+l\9ak_Çme
+, "LINK%" 
+PRIu32
+, 
+l\9ak_id
+);
+
+932 
+l\9ak_·¿m_idx
+ = 
+       `APP_PARAM_FIND
+(
+­p
+->
+l\9ak_·¿ms
+, 
+l\9ak_Çme
+);
+
+933 
+       `APP_CHECK
+((
+l\9ak_·¿m_idx
+ >= 0),
+
+934 "CªnÙ f\9ad % fÜ %s", 
+l\9ak_Çme
+, 
+p_tm
+->
+Çme
+);
+
+936 \15 &
+­p
+->
+l\9ak_·¿ms
+[
+l\9ak_·¿m_idx
+];
+
+937 
+       }
+}
+
+939 \12
+­p_cÚfig_\9a\99
+(\19
+­p_·¿ms
+ *
+­p
+);
+
+941 \12
+­p_cÚfig_¬gs
+(\19
+­p_·¿ms
+ *
+­p
+,
+
+942 \12
+¬gc
+, \ 5**
+¬gv
+);
+
+944 \12
+­p_cÚfig_´\95roc
+(\19
+­p_·¿ms
+ *
+­p
+);
+
+946 \12
+­p_cÚfig_·r£
+(\19
+­p_·¿ms
+ *
+­p
+,
+
+947 cڡ \ 5*
+f\9ee_Çme
+);
+
+949 \12
+­p_cÚfig_·r£_tm
+(\19
+­p_·¿ms
+ *
+­p
+);
+
+951 \1e
+­p_cÚfig_§ve
+(\19
+­p_·¿ms
+ *
+­p
+,
+
+952 cڡ \ 5*
+f\9ee_Çme
+);
+
+954 \12
+­p_cÚfig_check
+(\19
+­p_·¿ms
+ *
+­p
+);
+
+956 \12
+­p_\9a\99
+(\19
+­p_·¿ms
+ *
+­p
+);
+
+958 \12
+­p_th»ad
+(\1e*
+¬g
+);
+
+960 \12
+­p_p\9d\96\9ae_ty³_»gi¡\94
+(\19
+­p_·¿ms
+ *
+­p
+,
+
+961 \19
+p\9d\96\9ae_ty³
+ *
+±y³
+);
+
+963 \19
+p\9d\96\9ae_ty³
+ *
+­p_p\9d\96\9ae_ty³_f\9ad
+(\19
+­p_·¿ms
+ *
+­p
+,
+
+964 \ 5*
+Çme
+);
+
+966 \1e
+­p_l\9ak_up_\9a\8bº®
+(\19
+­p_·¿ms
+ *
+­p
+,
+
+967 \19
+­p_l\9ak_·¿ms
+ *
+);
+
+969 \1e
+­p_l\9ak_down_\9a\8bº®
+(\19
+­p_·¿ms
+ *
+­p
+,
+
+970 \19
+­p_l\9ak_·¿ms
+ *
+);
+
+       @vnf_common/config_check.c
+
+17 \ 2
+       ~<¡dio.h
+>
+
+19 \ 2
+       ~<¹e_\9d.h
+>
+
+21 \ 2
+       ~"­p.h
+"
+
+23 
+u\9at8_t
+       gg_n_hwq_\9a
+;
+
+25 
+       $check_mempoÞs
+(\19
+­p_·¿ms
+ *
+­p
+)
+
+27 
+u\9at32_t
+i
+;
+
+29 \ f
+i
+ = 0; i < 
+­p
+->
+n_mempoÞs
+; i++) {
+
+30 \19
+­p_mempoÞ_·¿ms
+ *
+p
+ = &
+­p
+->
+mempoÞ_·¿ms
+[
+i
+];
+
+32 
+       `APP_CHECK
+((
+p
+->
+poÞ_size
+ > 0),
+
+33 "MempoÞ % siz\90i 0\n", 
+p
+->
+Çme
+);
+
+35 
+       `APP_CHECK
+((
+p
+->
+ÿche_size
+ > 0),
+
+36 "MempoÞ % ÿch\90siz\90i 0\n", 
+p
+->
+Çme
+);
+
+38 
+       `APP_CHECK
+(
+       `¹e_is_pow\94_of_2
+(
+p
+->
+ÿche_size
+),
+
+39 "MempoÞ % ÿch\90siz\90\87\85ow\94 oà2\n", 
+p
+->
+Çme
+);
+
+41 
+       }
+}
+
+44 
+       $check_l\9aks
+(\19
+­p_·¿ms
+ *
+­p
+)
+
+46 
+u\9at32_t
+i
+;
+
+49 ià(
+­p
+->
+pÜt_mask
+) {
+
+50 
+u\9at32_t
+n_l\9aks_pÜt_mask
+ =
+
+51 
+       `__bu\9et\9a_pÝcouÁÎ
+(
+­p
+->
+pÜt_mask
+);
+
+53 
+       `APP_CHECK
+((
+­p
+->
+n_l\9aks
+ =ð
+n_l\9aks_pÜt_mask
+),
+
+57 \ f
+i
+ = 0; i < 
+­p
+->
+n_l\9aks
+; i++) {
+
+58 \19
+­p_l\9ak_·¿ms
+ *
+l\9ak
+ = &
+­p
+->
+l\9ak_·¿ms
+[
+i
+];
+
+59 
+u\9at32_t
+rxq_max
+, 
+n_rxq
+, 
+n_txq
+, 
+l\9ak_id
+, 
+i
+;
+
+61 
+       `APP_PARAM_GET_ID
+(
+l\9ak
+, "LINK", 
+l\9ak_id
+);
+
+64 
+rxq_max
+ = 0;
+
+65 ià(
+l\9ak
+->
+¬p_q
+ > 
+rxq_max
+)
+
+66 
+rxq_max
+ = 
+l\9ak
+->
+¬p_q
+;
+
+67 ià(
+l\9ak
+->
+tý_syn_q
+ > 
+rxq_max
+)
+
+68 
+rxq_max
+ = 
+l\9ak
+->
+tý_syn_q
+;
+
+69 ià(
+l\9ak
+->
+\9d_loÿl_q
+ > 
+rxq_max
+)
+
+70 
+rxq_max
+ = 
+l\9ak
+->
+\9d_loÿl_q
+;
+
+71 ià(
+l\9ak
+->
+tý_loÿl_q
+ > 
+rxq_max
+)
+
+72 
+rxq_max
+ = 
+l\9ak
+->
+tý_loÿl_q
+;
+
+73 ià(
+l\9ak
+->
+udp_loÿl_q
+ > 
+rxq_max
+)
+
+74 
+rxq_max
+ = 
+l\9ak
+->
+udp_loÿl_q
+;
+
+75 ià(
+l\9ak
+->
+sùp_loÿl_q
+ > 
+rxq_max
+)
+
+76 
+rxq_max
+ = 
+l\9ak
+->
+sùp_loÿl_q
+;
+
+78 if(
+\92abË_hwlb
+ || 
+\92abË_æow_d\9c
+){
+
+79 
+g_n_hwq_\9a
+ = 
+­p
+->
+n_hwlb_q
+;
+
+80 
+rxq_max
+ = (
+g_n_hwq_\9a
+ - 1);
+
+81 \ f
+i
+ = 
+g_n_hwq_\9a
+; i <ð
+rxq_max
+; i++)
+
+82 
+       `APP_CHECK
+(((
+l\9ak
+->
+¬p_q
+ =ð
+i
+) ||
+
+83 (
+l\9ak
+->
+tý_syn_q
+ =ð
+i
+) ||
+
+84 (
+l\9ak
+->
+\9d_loÿl_q
+ =ð
+i
+) ||
+
+85 (
+l\9ak
+->
+tý_loÿl_q
+ =ð
+i
+) ||
+
+86 (
+l\9ak
+->
+udp_loÿl_q
+ =ð
+i
+) ||
+
+87 (
+l\9ak
+->
+sùp_loÿl_q
+ =ð
+i
+)),
+
+88 "% RXQ ¬\90nÙ cÚtiguou (A)\n", 
+l\9ak
+->
+Çme
+);
+
+92 \ f
+i
+ = 1; i <ð
+rxq_max
+; i++)
+
+93 
+       `APP_CHECK
+(((
+l\9ak
+->
+¬p_q
+ =ð
+i
+) ||
+
+94 (
+l\9ak
+->
+tý_syn_q
+ =ð
+i
+) ||
+
+95 (
+l\9ak
+->
+\9d_loÿl_q
+ =ð
+i
+) ||
+
+96 (
+l\9ak
+->
+tý_loÿl_q
+ =ð
+i
+) ||
+
+97 (
+l\9ak
+->
+udp_loÿl_q
+ =ð
+i
+) ||
+
+98 (
+l\9ak
+->
+sùp_loÿl_q
+ =ð
+i
+)),
+
+99 "% RXQ ¬\90nÙ cÚtiguou (A)\n", 
+l\9ak
+->
+Çme
+);
+
+101 
+n_rxq
+ = 
+       `­p_l\9ak_g\91_n_rxq
+(
+­p
+, 
+l\9ak
+);
+
+103 
+       `APP_CHECK
+((
+n_rxq
+), "% dÛ nÙ hav\90ªy RXQ\n", 
+l\9ak
+->
+Çme
+);
+
+104 
+       `´\9atf
+("n_rxq = %d\n",
+n_rxq
+);
+
+105 
+       `´\9atf
+("rxq_max = %d\n",
+rxq_max
+);
+
+109 \ f
+i
+ = 0; i < 
+n_rxq
+; i++) {
+
+110 \ 5
+Çme
+[
+APP_PARAM_NAME_SIZE
+];
+
+111 \12
+pos
+;
+
+113 
+       `¥r\9atf
+(
+Çme
+, "RXQ%" 
+PRIu32
+ ".%" PRIu32,
+
+114 
+l\9ak_id
+, 
+i
+);
+
+115 
+pos
+ = 
+       `APP_PARAM_FIND
+(
+­p
+->
+hwq_\9a_·¿ms
+, 
+Çme
+);
+
+116 
+       `APP_CHECK
+((
+pos
+ >= 0),
+
+117 "% RXQ ¬\90nÙ cÚtiguou (C)\n", 
+l\9ak
+->
+Çme
+);
+
+121 
+n_txq
+ = 
+       `­p_l\9ak_g\91_n_txq
+(
+­p
+, 
+l\9ak
+);
+
+123 
+       `APP_CHECK
+((
+n_txq
+), "% dÛ nÙ hav\90ªy TXQ\n", 
+l\9ak
+->
+Çme
+);
+
+125 \ f
+i
+ = 0; i < 
+n_txq
+; i++) {
+
+126 \ 5
+Çme
+[
+APP_PARAM_NAME_SIZE
+];
+
+127 \12
+pos
+;
+
+129 
+       `¥r\9atf
+(
+Çme
+, "TXQ%" 
+PRIu32
+ ".%" PRIu32,
+
+130 
+l\9ak_id
+, 
+i
+);
+
+131 
+pos
+ = 
+       `APP_PARAM_FIND
+(
+­p
+->
+hwq_out_·¿ms
+, 
+Çme
+);
+
+132 
+       `APP_CHECK
+((
+pos
+ >= 0),
+
+133 "% TXQ ¬\90nÙ cÚtiguous\n", 
+l\9ak
+->
+Çme
+);
+
+136 
+       }
+}
+
+139 
+       $check_rxqs
+(\19
+­p_·¿ms
+ *
+­p
+)
+
+141 
+u\9at32_t
+i
+;
+
+143 \ f
+i
+ = 0; i < 
+­p
+->
+n_pktq_hwq_\9a
+; i++) {
+
+144 \19
+­p_pktq_hwq_\9a_·¿ms
+ *
+p
+ = &
+­p
+->
+hwq_\9a_·¿ms
+[
+i
+];
+
+145 
+u\9at32_t
+n_»ad\94s
+ = 
+       `­p_rxq_g\91_»ad\94s
+(
+­p
+, 
+p
+);
+
+147 
+       `APP_CHECK
+((
+p
+->
+size
+ > 0),
+
+148 "% siz\90i 0\n", 
+p
+->
+Çme
+);
+
+150 
+       `APP_CHECK
+((
+       `¹e_is_pow\94_of_2
+(
+p
+->
+size
+)),
+
+151 "% siz\90i nÙ\87\85ow\94 oà2\n", 
+p
+->
+Çme
+);
+
+153 
+       `APP_CHECK
+((
+p
+->
+bur¡
+ > 0),
+
+154 "% bur¡ siz\90i 0\n", 
+p
+->
+Çme
+);
+
+156 
+       `APP_CHECK
+((
+p
+->
+bur¡
+ <ðp->
+size
+),
+
+157 "% bur¡ siz\90i bigg\94\81hª it size\n", 
+p
+->
+Çme
+);
+
+159 
+       `APP_CHECK
+((
+n_»ad\94s
+ != 0),
+
+160 "% ha nØ»ad\94\n", 
+p
+->
+Çme
+);
+
+162 
+       `APP_CHECK
+((
+n_»ad\94s
+ == 1),
+
+163 "% ha mÜ\90thª oÃ\84\97d\94\n", 
+p
+->
+Çme
+);
+
+165 
+       }
+}
+
+168 
+       $check_txqs
+(\19
+­p_·¿ms
+ *
+­p
+)
+
+170 
+u\9at32_t
+i
+;
+
+172 \ f
+i
+ = 0; i < 
+­p
+->
+n_pktq_hwq_out
+; i++) {
+
+173 \19
+­p_pktq_hwq_out_·¿ms
+ *
+p
+ = &
+­p
+->
+hwq_out_·¿ms
+[
+i
+];
+
+174 
+u\9at32_t
+n_wr\99\94s
+ = 
+       `­p_txq_g\91_wr\99\94s
+(
+­p
+, 
+p
+);
+
+176 
+       `APP_CHECK
+((
+p
+->
+size
+ > 0),
+
+177 "% siz\90i 0\n", 
+p
+->
+Çme
+);
+
+179 
+       `APP_CHECK
+((
+       `¹e_is_pow\94_of_2
+(
+p
+->
+size
+)),
+
+180 "% siz\90i nÙ\87\85ow\94 oà2\n", 
+p
+->
+Çme
+);
+
+182 
+       `APP_CHECK
+((
+p
+->
+bur¡
+ > 0),
+
+183 "% bur¡ siz\90i 0\n", 
+p
+->
+Çme
+);
+
+185 
+       `APP_CHECK
+((
+p
+->
+bur¡
+ <ðp->
+size
+),
+
+186 "% bur¡ siz\90i bigg\94\81hª it size\n", 
+p
+->
+Çme
+);
+
+188 
+       `APP_CHECK
+((
+n_wr\99\94s
+ != 0),
+
+189 "% ha nØwr\99\94\n", 
+p
+->
+Çme
+);
+
+191 
+       `APP_CHECK
+((
+n_wr\99\94s
+ == 1),
+
+192 "% ha mÜ\90thª oàwr\99\94\n", 
+p
+->
+Çme
+);
+
+194 
+       }
+}
+
+197 
+       $check_swqs
+(\19
+­p_·¿ms
+ *
+­p
+)
+
+199 
+u\9at32_t
+i
+;
+
+201 \ f
+i
+ = 0; i < 
+­p
+->
+n_pktq_swq
+; i++) {
+
+202 \19
+­p_pktq_swq_·¿ms
+ *
+p
+ = &
+­p
+->
+swq_·¿ms
+[
+i
+];
+
+203 
+u\9at32_t
+n_»ad\94s
+ = 
+       `­p_swq_g\91_»ad\94s
+(
+­p
+, 
+p
+);
+
+204 
+u\9at32_t
+n_wr\99\94s
+ = 
+       `­p_swq_g\91_wr\99\94s
+(
+­p
+, 
+p
+);
+
+205 
+u\9at32_t
+n_æags
+;
+
+207 
+       `APP_CHECK
+((
+p
+->
+size
+ > 0),
+
+208 "% siz\90i 0\n", 
+p
+->
+Çme
+);
+
+210 
+       `APP_CHECK
+((
+       `¹e_is_pow\94_of_2
+(
+p
+->
+size
+)),
+
+211 "% siz\90i nÙ\87\85ow\94 oà2\n", 
+p
+->
+Çme
+);
+
+213 
+       `APP_CHECK
+((
+p
+->
+bur¡_»ad
+ > 0),
+
+214 "% »ad bur¡ siz\90i 0\n", 
+p
+->
+Çme
+);
+
+216 
+       `APP_CHECK
+((
+p
+->
+bur¡_»ad
+ <ðp->
+size
+),
+
+218 
+p
+->
+Çme
+);
+
+220 
+       `APP_CHECK
+((
+p
+->
+bur¡_wr\99e
+ > 0),
+
+221 "% wr\99\90bur¡ siz\90i 0\n", 
+p
+->
+Çme
+);
+
+223 
+       `APP_CHECK
+((
+p
+->
+bur¡_wr\99e
+ <ðp->
+size
+),
+
+225 
+p
+->
+Çme
+);
+
+227 
+       `APP_CHECK
+((
+n_»ad\94s
+ != 0),
+
+228 "% ha nØ»ad\94\n", 
+p
+->
+Çme
+);
+
+230 ià(
+n_»ad\94s
+ > 1)
+
+231 
+       `APP_LOG
+(
+­p
+, 
+LOW
+, "% ha mÜ\90thª oÃ\84\97d\94", 
+p
+->
+Çme
+);
+
+233 
+       `APP_CHECK
+((
+n_wr\99\94s
+ != 0),
+
+234 "% ha nØwr\99\94\n", 
+p
+->
+Çme
+);
+
+236 ià(
+n_wr\99\94s
+ > 1)
+
+237 
+       `APP_LOG
+(
+­p
+, 
+LOW
+, "% ha mÜ\90thª oàwr\99\94", 
+p
+->
+Çme
+);
+
+239 
+n_æags
+ = 
+p
+->
+\9dv4_äag
+ +\85->
+\9dv6_äag
+ +\85->
+\9dv4_¿s
+ +\85->
+\9dv6_¿s
+;
+
+241 
+       `APP_CHECK
+((
+n_æags
+ < 2),
+
+243 
+p
+->
+Çme
+);
+
+245 
+       `APP_CHECK
+((!((
+n_»ad\94s
+ > 1è&& (
+n_æags
+ == 1))),
+
+248 
+p
+->
+Çme
+);
+
+250 
+       `APP_CHECK
+((!((
+n_wr\99\94s
+ > 1è&& (
+n_æags
+ == 1))),
+
+253 
+p
+->
+Çme
+);
+
+255 
+n_æags
+ = 
+p
+->
+\9dv4_¿s
+ +\85->
+\9dv6_¿s
+;
+
+257 
+       `APP_CHECK
+((!((
+p
+->
+drÝËss
+ =ð1è&& (
+n_æags
+ == 1))),
+
+258 "% ha drÝËs wh\92\84\97s£mbly mod\90\92abËd\n", 
+p
+->
+Çme
+);
+
+260 
+n_æags
+ = 
+p
+->
+\9dv4_äag
+ +\85->
+\9dv6_äag
+;
+
+262 ià(
+n_æags
+ == 1) {
+
+263 
+u\9at16_t
+\9d_hdr_size
+ = (
+p
+->
+\9dv4_äag
+è? \17(\19
+\9dv4_hdr
+) :
+
+264 \17(\19
+\9dv6_hdr
+);
+
+266 
+       `APP_CHECK
+((
+p
+->
+mtu
+ > 
+\9d_hdr_size
+),
+
+267 "% mtu siz\90i sm®Ë¸thª i°h\97d\94\n", 
+p
+->
+Çme
+);
+
+269 
+       `APP_CHECK
+((!((
+p
+->
+mtu
+ - 
+\9d_hdr_size
+) % 8)),
+
+270 "% mtu siz\90\9acÜ»ù\n", 
+p
+->
+Çme
+);
+
+273 
+       }
+}
+
+276 
+       $check_tms
+(\19
+­p_·¿ms
+ *
+­p
+)
+
+278 
+u\9at32_t
+i
+;
+
+280 \ f
+i
+ = 0; i < 
+­p
+->
+n_pktq_tm
+; i++) {
+
+281 \19
+­p_pktq_tm_·¿ms
+ *
+p
+ = &
+­p
+->
+tm_·¿ms
+[
+i
+];
+
+282 
+u\9at32_t
+n_»ad\94s
+ = 
+       `­p_tm_g\91_»ad\94s
+(
+­p
+, 
+p
+);
+
+283 
+u\9at32_t
+n_wr\99\94s
+ = 
+       `­p_tm_g\91_wr\99\94s
+(
+­p
+, 
+p
+);
+
+285 
+       `APP_CHECK
+((
+n_»ad\94s
+ != 0),
+
+286 "% ha nØ»ad\94\n", 
+p
+->
+Çme
+);
+
+288 
+       `APP_CHECK
+((
+n_»ad\94s
+ == 1),
+
+289 "% ha mÜ\90thª oÃ\84\97d\94\n", 
+p
+->
+Çme
+);
+
+291 
+       `APP_CHECK
+((
+n_wr\99\94s
+ != 0),
+
+292 "% ha nØwr\99\94\n", 
+p
+->
+Çme
+);
+
+294 
+       `APP_CHECK
+((
+n_wr\99\94s
+ == 1),
+
+295 "% ha mÜ\90thª oàwr\99\94\n", 
+p
+->
+Çme
+);
+
+297 
+       }
+}
+
+300 
+       $check_sourûs
+(\19
+­p_·¿ms
+ *
+­p
+)
+
+302 
+u\9at32_t
+i
+;
+
+304 \ f
+i
+ = 0; i < 
+­p
+->
+n_pktq_sourû
+; i++) {
+
+305 \19
+­p_pktq_sourû_·¿ms
+ *
+p
+ = &
+­p
+->
+sourû_·¿ms
+[
+i
+];
+
+306 
+u\9at32_t
+n_»ad\94s
+ = 
+       `­p_sourû_g\91_»ad\94s
+(
+­p
+, 
+p
+);
+
+308 
+       `APP_CHECK
+((
+n_»ad\94s
+ != 0),
+
+309 "% ha nØ»ad\94\n", 
+p
+->
+Çme
+);
+
+311 
+       `APP_CHECK
+((
+n_»ad\94s
+ == 1),
+
+312 "% ha mÜ\90thª oÃ\84\97d\94\n", 
+p
+->
+Çme
+);
+
+314 
+       }
+}
+
+317 
+       $check_s\9aks
+(\19
+­p_·¿ms
+ *
+­p
+)
+
+319 
+u\9at32_t
+i
+;
+
+321 \ f
+i
+ = 0; i < 
+­p
+->
+n_pktq_s\9ak
+; i++) {
+
+322 \19
+­p_pktq_s\9ak_·¿ms
+ *
+p
+ = &
+­p
+->
+s\9ak_·¿ms
+[
+i
+];
+
+323 
+u\9at32_t
+n_wr\99\94s
+ = 
+       `­p_s\9ak_g\91_wr\99\94s
+(
+­p
+, 
+p
+);
+
+325 
+       `APP_CHECK
+((
+n_wr\99\94s
+ != 0),
+
+326 "% ha nØwr\99\94\n", 
+p
+->
+Çme
+);
+
+328 
+       `APP_CHECK
+((
+n_wr\99\94s
+ == 1),
+
+329 "% ha mÜ\90thª oàwr\99\94\n", 
+p
+->
+Çme
+);
+
+331 
+       }
+}
+
+334 
+       $check_msgqs
+(\19
+­p_·¿ms
+ *
+­p
+)
+
+336 
+u\9at32_t
+i
+;
+
+338 \ f
+i
+ = 0; i < 
+­p
+->
+n_msgq
+; i++) {
+
+339 \19
+­p_msgq_·¿ms
+ *
+p
+ = &
+­p
+->
+msgq_·¿ms
+[
+i
+];
+
+340 
+u\9at32_t
+n_»ad\94s
+ = 
+       `­p_msgq_g\91_»ad\94s
+(
+­p
+, 
+p
+);
+
+341 
+u\9at32_t
+n_wr\99\94s
+ = 
+       `­p_msgq_g\91_wr\99\94s
+(
+­p
+, 
+p
+);
+
+342 
+u\9at32_t
+msgq_»q_p\9d\96\9ae
+, 
+msgq_r¥_p\9d\96\9ae
+;
+
+343 
+u\9at32_t
+msgq_»q_cÜe
+, 
+msgq_r¥_cÜe
+;
+
+345 
+       `APP_CHECK
+((
+p
+->
+size
+ > 0),
+
+346 "% siz\90i 0\n", 
+p
+->
+Çme
+);
+
+348 
+       `APP_CHECK
+((
+       `¹e_is_pow\94_of_2
+(
+p
+->
+size
+)),
+
+349 "% siz\90i nÙ\87\85ow\94 oà2\n", 
+p
+->
+Çme
+);
+
+351 
+msgq_»q_p\9d\96\9ae
+ = (
+       `¡ºcmp
+(
+p
+->
+Çme
+, "MSGQ-REQ-PIPELINE",
+
+352 
+       `¡¾\92
+("MSGQ-REQ-PIPELINE")) == 0);
+
+354 
+msgq_r¥_p\9d\96\9ae
+ = (
+       `¡ºcmp
+(
+p
+->
+Çme
+, "MSGQ-RSP-PIPELINE",
+
+355 
+       `¡¾\92
+("MSGQ-RSP-PIPELINE")) == 0);
+
+357 
+msgq_»q_cÜe
+ = (
+       `¡ºcmp
+(
+p
+->
+Çme
+, "MSGQ-REQ-CORE",
+
+358 
+       `¡¾\92
+("MSGQ-REQ-CORE")) == 0);
+
+360 
+msgq_r¥_cÜe
+ = (
+       `¡ºcmp
+(
+p
+->
+Çme
+, "MSGQ-RSP-CORE",
+
+361 
+       `¡¾\92
+("MSGQ-RSP-CORE")) == 0);
+
+363 ià((
+msgq_»q_p\9d\96\9ae
+ == 0) &&
+
+364 (
+msgq_r¥_p\9d\96\9ae
+ == 0) &&
+
+365 (
+msgq_»q_cÜe
+ == 0) &&
+
+366 (
+msgq_r¥_cÜe
+ == 0)) {
+
+367 
+       `APP_CHECK
+((
+n_»ad\94s
+ != 0),
+
+368 "% ha nØ»ad\94\n", 
+p
+->
+Çme
+);
+
+370 
+       `APP_CHECK
+((
+n_»ad\94s
+ == 1),
+
+371 "% ha mÜ\90thª oÃ\84\97d\94\n", 
+p
+->
+Çme
+);
+
+373 
+       `APP_CHECK
+((
+n_wr\99\94s
+ != 0),
+
+374 "% ha nØwr\99\94\n", 
+p
+->
+Çme
+);
+
+376 
+       `APP_CHECK
+((
+n_wr\99\94s
+ == 1),
+
+377 "% ha mÜ\90thª oàwr\99\94\n", 
+p
+->
+Çme
+);
+
+380 ià(
+msgq_»q_p\9d\96\9ae
+) {
+
+381 \19
+­p_p\9d\96\9ae_·¿ms
+ *
+p\9d\96\9ae
+;
+
+382 
+u\9at32_t
+p\9d\96\9ae_id
+;
+
+384 
+       `APP_PARAM_GET_ID
+(
+p
+, "MSGQ-REQ-PIPELINE", 
+p\9d\96\9ae_id
+);
+
+386 
+       `APP_PARAM_FIND_BY_ID
+(
+­p
+->
+p\9d\96\9ae_·¿ms
+,
+
+388 
+p\9d\96\9ae_id
+,
+
+389 
+p\9d\96\9ae
+);
+
+391 
+       `APP_CHECK
+((
+p\9d\96\9ae
+ !ð
+NULL
+),
+
+393 
+p
+->
+Çme
+);
+
+396 ià(
+msgq_r¥_p\9d\96\9ae
+) {
+
+397 \19
+­p_p\9d\96\9ae_·¿ms
+ *
+p\9d\96\9ae
+;
+
+398 
+u\9at32_t
+p\9d\96\9ae_id
+;
+
+400 
+       `APP_PARAM_GET_ID
+(
+p
+, "MSGQ-RSP-PIPELINE", 
+p\9d\96\9ae_id
+);
+
+402 
+       `APP_PARAM_FIND_BY_ID
+(
+­p
+->
+p\9d\96\9ae_·¿ms
+,
+
+404 
+p\9d\96\9ae_id
+,
+
+405 
+p\9d\96\9ae
+);
+
+407 
+       `APP_CHECK
+((
+p\9d\96\9ae
+ !ð
+NULL
+),
+
+409 
+p
+->
+Çme
+);
+
+412 
+       }
+}
+
+415 
+       $check_p\9d\96\9aes
+(\19
+­p_·¿ms
+ *
+­p
+)
+
+417 
+u\9at32_t
+i
+;
+
+419 \ f
+i
+ = 0; i < 
+­p
+->
+n_p\9d\96\9aes
+; i++) {
+
+420 \19
+­p_p\9d\96\9ae_·¿ms
+ *
+p
+ = &
+­p
+->
+p\9d\96\9ae_·¿ms
+[
+i
+];
+
+422 
+       `APP_CHECK
+((
+p
+->
+n_msgq_\9a
+ =ðp->
+n_msgq_out
+),
+
+424 "th\90numb\94 oàou\8du\88MSGQs\n", 
+p
+->
+Çme
+);
+
+426 
+       }
+}
+
+429 
+       $­p_cÚfig_check
+(\19
+­p_·¿ms
+ *
+­p
+)
+
+431 
+       `check_mempoÞs
+(
+­p
+);
+
+432 
+       `check_l\9aks
+(
+­p
+);
+
+433 
+       `check_rxqs
+(
+­p
+);
+
+434 
+       `check_txqs
+(
+­p
+);
+
+435 
+       `check_swqs
+(
+­p
+);
+
+436 
+       `check_tms
+(
+­p
+);
+
+437 
+       `check_sourûs
+(
+­p
+);
+
+438 
+       `check_s\9aks
+(
+­p
+);
+
+439 
+       `check_msgqs
+(
+­p
+);
+
+440 
+       `check_p\9d\96\9aes
+(
+­p
+);
+
+443 
+       }
+}
+
+       @vnf_common/config_parse.c
+
+16 \ 2
+       ~<¡d\9at.h
+>
+
+17 \ 2
+       ~<¡dlib.h
+>
+
+18 \ 2
+       ~<¡dio.h
+>
+
+19 \ 2
+       ~<ùy³.h
+>
+
+20 \ 2
+       ~<g\91Ýt.h
+>
+
+21 \ 2
+       ~<\94ºo.h
+>
+
+22 \ 2
+       ~<¡d¬g.h
+>
+
+23 \ 2
+       ~<¡r\9ag.h
+>
+
+24 \ 2
+       ~<libg\92.h
+>
+
+25 \ 2
+       ~<uni¡d.h
+>
+
+26 \ 2
+       ~<sys/wa\99.h
+>
+
+28 \ 2
+       ~<¹e_\94ºo.h
+>
+
+29 \ 2
+       ~<¹e_cfgf\9ee.h
+>
+
+30 \ 2
+       ~<¹e_¡r\9ag_âs.h
+>
+
+32 \ 2
+       ~"­p.h
+"
+
+33 \ 2
+       ~"·r£r.h
+"
+
+39 \18\19
+­p_·¿ms
+       g­p_·¿ms_deçuÉ
+ = {
+
+40 .
+cÚfig_f\9ee
+ = "./config/ip_pipeline.cfg",
+
+41 .
+       glog_Ëv\96
+ = 
+APP_LOG_LEVEL_HIGH
+,
+
+42 .
+       gpÜt_mask
+ = 0,
+
+44 .
+       g\97l_·¿ms
+ = {
+
+45 .
+chªÃls
+ = 4,
+
+49 \18cڡ \19
+­p_mempoÞ_·¿ms
+       gmempoÞ_·¿ms_deçuÉ
+ = {
+
+50 .
+·r£d
+ = 0,
+
+51 .
+       gbufãr_size
+ = 2048 + \17(\19
+¹e_mbuf
+è+ 
+RTE_PKTMBUF_HEADROOM
+,
+
+52 .
+       gpoÞ_size
+ = 32 * 1024,
+
+53 .
+       gÿche_size
+ = 256,
+
+54 .
+       gýu_sock\91_id
+ = 0,
+
+57 \18cڡ \19
+­p_l\9ak_·¿ms
+       gl\9ak_·¿ms_deçuÉ
+ = {
+
+58 .
+·r£d
+ = 0,
+
+59 .
+       gpmd_id
+ = 0,
+
+60 .
+       g¬p_q
+ = 0,
+
+61 .
+       gtý_syn_q
+ = 0,
+
+62 .
+       g\9d_loÿl_q
+ = 0,
+
+63 .
+       gtý_loÿl_q
+ = 0,
+
+64 .
+       gudp_loÿl_q
+ = 0,
+
+65 .
+       gsùp_loÿl_q
+ = 0,
+
+66 .
+       g¡©e
+ = 0,
+
+67 .
+       g\9d
+ = 0,
+
+68 .
+       g\9dv6
+ = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
+
+69 .
+       gd\95th
+ = 0,
+
+70 .
+       gd\95th_\9dv6
+ = 0,
+
+71 .
+       gmac_addr
+ = 0,
+
+72 .
+       gpci_bdf
+ = {0},
+
+74 .
+       gcÚf
+ = {
+
+75 .
+l\9ak_¥\93ds
+ = 0,
+
+76 .
+       grxmode
+ = {
+
+77 .
+mq_mode
+ = 
+ETH_MQ_RX_NONE
+,
+
+79 .
+       gh\97d\94_¥l\99
+ = 0,
+
+80 .
+       ghw_\9d_checksum
+ = 0,
+
+81 .
+       ghw_vÏn_f\9e\8br
+ = 0,
+
+82 .
+       ghw_vÏn_¡r\9d
+ = 0,
+
+83 .
+       ghw_vÏn_ex\8bnd
+ = 0,
+
+84 .
+       gjumbo_äame
+ = 0,
+
+85 .
+       ghw_¡r\9d_üc
+ = 0,
+
+86 .
+       g\92abË_sÿ\89\94
+ = 0,
+
+88 .
+       gmax_rx_pkt_Ën
+ = 9000,
+
+89 .
+       g¥l\99_hdr_size
+ = 0,
+
+91 .
+       gtxmode
+ = {
+
+92 .
+mq_mode
+ = 
+ETH_MQ_TX_NONE
+,
+
+94 .
+       gÍbk_mode
+ = 0,
+
+95 #iâdeà
+VNF_ACL
+
+
+96 #ifdeà
+LSC_GRARP
+
+
+97 .
+       g\9a\8c_cÚf
+ = {
+
+98 .
+lsc
+ = 1,
+
+104 .
+       g´omisc
+ = 1,
+
+107 \18cڡ \19
+­p_pktq_hwq_\9a_·¿ms
+       gdeçuÉ_hwq_\9a_·¿ms
+ = {
+
+108 .
+·r£d
+ = 0,
+
+109 .
+       gmempoÞ_id
+ = 0,
+
+110 .
+       gsize
+ = 128,
+
+111 .
+       gbur¡
+ = 32,
+
+113 .
+       gcÚf
+ = {
+
+114 .
+rx_th»sh
+ = {
+
+115 .
+±h»sh
+ = 8,
+
+116 .
+       ghth»sh
+ = 8,
+
+117 .
+       gwth»sh
+ = 4,
+
+119 .
+       grx_ä\93_th»sh
+ = 64,
+
+120 .
+       grx_drÝ_\92
+ = 0,
+
+121 .
+       grx_deã¼ed_¡¬t
+ = 0,
+
+125 \18cڡ \19
+­p_pktq_hwq_out_·¿ms
+       gdeçuÉ_hwq_out_·¿ms
+ = {
+
+126 .
+·r£d
+ = 0,
+
+127 .
+       gsize
+ = 512,
+
+128 .
+       gbur¡
+ = 32,
+
+129 .
+       gdrÝËss
+ = 0,
+
+130 .
+       gn_»\8c\9bs
+ = 0,
+
+132 .
+       gcÚf
+ = {
+
+133 .
+tx_th»sh
+ = {
+
+134 .
+±h»sh
+ = 36,
+
+135 .
+       ghth»sh
+ = 0,
+
+136 .
+       gwth»sh
+ = 0,
+
+138 .
+       gtx_rs_th»sh
+ = 0,
+
+139 .
+       gtx_ä\93_th»sh
+ = 0,
+
+140 .
+       gtxq_æags
+ = 
+ETH_TXQ_FLAGS_NOMULTSEGS
+ |
+
+141 
+ETH_TXQ_FLAGS_NOOFFLOADS
+,
+
+142 .
+       gtx_deã¼ed_¡¬t
+ = 0,
+
+146 \18cڡ \19
+­p_pktq_swq_·¿ms
+       gdeçuÉ_swq_·¿ms
+ = {
+
+147 .
+·r£d
+ = 0,
+
+148 .
+       gsize
+ = 256,
+
+149 .
+       gbur¡_»ad
+ = 32,
+
+150 .
+       gbur¡_wr\99e
+ = 32,
+
+151 .
+       gdrÝËss
+ = 0,
+
+152 .
+       gn_»\8c\9bs
+ = 0,
+
+153 .
+       gýu_sock\91_id
+ = 0,
+
+154 .
+       g\9dv4_äag
+ = 0,
+
+155 .
+       g\9dv6_äag
+ = 0,
+
+156 .
+       g\9dv4_¿s
+ = 0,
+
+157 .
+       g\9dv6_¿s
+ = 0,
+
+158 .
+       gmtu
+ = 0,
+
+159 .
+       gm\91ad©a_size
+ = 0,
+
+160 .
+       gmempoÞ_d\9ceù_id
+ = 0,
+
+161 .
+       gmempoÞ_\9ad\9ceù_id
+ = 0,
+
+164 \19
+­p_pktq_tm_·¿ms
+       gdeçuÉ_tm_·¿ms
+ = {
+
+165 .
+·r£d
+ = 0,
+
+166 .
+       gf\9ee_Çme
+ = "./config/tm_profile.cfg",
+
+167 .
+       gbur¡_»ad
+ = 64,
+
+168 .
+       gbur¡_wr\99e
+ = 32,
+
+171 \19
+­p_pktq_sourû_·¿ms
+       gdeçuÉ_sourû_·¿ms
+ = {
+
+172 .
+·r£d
+ = 0,
+
+173 .
+       gmempoÞ_id
+ = 0,
+
+174 .
+       gbur¡
+ = 32,
+
+175 .
+       gf\9ee_Çme
+ = 
+NULL
+,
+
+176 .
+       gn_by\8bs_³r_pkt
+ = 0,
+
+179 \19
+­p_pktq_s\9ak_·¿ms
+       gdeçuÉ_s\9ak_·¿ms
+ = {
+
+180 .
+·r£d
+ = 0,
+
+181 .
+       gf\9ee_Çme
+ = 
+NULL
+,
+
+182 .
+       gn_pkts_to_dump
+ = 0,
+
+185 \19
+­p_msgq_·¿ms
+       gdeçuÉ_msgq_·¿ms
+ = {
+
+186 .
+·r£d
+ = 0,
+
+187 .
+       gsize
+ = 64,
+
+188 .
+       gýu_sock\91_id
+ = 0,
+
+191 \19
+­p_p\9d\96\9ae_·¿ms
+       gdeçuÉ_p\9d\96\9ae_·¿ms
+ = {
+
+192 .
+·r£d
+ = 0,
+
+193 .
+       gsock\91_id
+ = 0,
+
+194 .
+       gcÜe_id
+ = 0,
+
+195 .
+       ghy³r_th_id
+ = 0,
+
+196 .
+       gn_pktq_\9a
+ = 0,
+
+197 .
+       gn_pktq_out
+ = 0,
+
+198 .
+       gn_msgq_\9a
+ = 0,
+
+199 .
+       gn_msgq_out
+ = 0,
+
+200 .
+       gtim\94_³riod
+ = 1,
+
+201 .
+       gn_¬gs
+ = 0,
+
+204 \18cڡ \ 5
+       g­p_u§ge
+[] =
+
+220 
+       $­p_´\9at_u§ge
+(\ 5*
+´gÇme
+)
+
+222 
+       `¹e_ex\99
+(0, 
+­p_u§ge
+, 
+´gÇme
+, 
+­p_·¿ms_deçuÉ
+.
+cÚfig_f\9ee
+);
+
+223 
+       }
+}
+
+225 \ 1
+       #sk\9d_wh\99e_¥aûs
+(
+pos
+) \
+
+227 
+       `__ty³of__
+(
+pos
+_p
+ = (pos); \
+
+228 \ f ; 
+       `is¥aû
+(*
+_p
+); _p++); \
+
+229 
+_p
+; \
+
+230 })
+
+       )
+
+232 \ 1
+       #PARSER_PARAM_ADD_CHECK
+(
+»suÉ
+, 
+·¿ms_¬¿y
+, 
+£ùiÚ_Çme
+) \
+
+234 
+       `APP_CHECK
+((
+»suÉ
+ !ð-
+EINVAL
+), \
+
+236 
+       `APP_CHECK
+((
+»suÉ
+ !ð-
+ENOMEM
+), \
+
+237 "P¬£\83¼Ü:\81oØmªy \"%s\" seùiÚs", 
+£ùiÚ_Çme
+); \
+
+238 
+       `APP_CHECK
+(((
+»suÉ
+ >ð0è&& (
+·¿ms_¬¿y
+)[»suÉ].
+·r£d
+ == 0),\
+
+239 "P¬£\83¼Ü: du¶iÿ\8b \"%s\" seùiÚ", 
+£ùiÚ_Çme
+); \
+
+240 
+       `APP_CHECK
+((
+»suÉ
+ >= 0), \
+
+241 "P¬£\83¼Ü iÀ£ùiÚ \"%s\"", 
+£ùiÚ_Çme
+); \
+
+242 } \1f0)
+
+       )
+
+245 
+       $·r£r_»ad_¬g_boÞ
+(cڡ \ 5*
+p
+)
+
+247 
+p
+ = 
+       `sk\9d_wh\99e_¥aûs
+(p);
+
+248 \12
+»suÉ
+ = -
+EINVAL
+;
+
+250 ià(((
+p
+[0] == 'y') && (p[1] == 'e') && (p[2] == 's')) ||
+
+251 ((
+p
+[0] == 'Y') && (p[1] == 'E') && (p[2] == 'S'))) {
+
+252 
+p
+ += 3;
+
+253 
+»suÉ
+ = 1;
+
+256 ià(((
+p
+[0] == 'o') && (p[1] == 'n')) ||
+
+257 ((
+p
+[0] == 'O') && (p[1] == 'N'))) {
+
+258 
+p
+ += 2;
+
+259 
+»suÉ
+ = 1;
+
+262 ià(((
+p
+[0] == 'n') && (p[1] == 'o')) ||
+
+263 ((
+p
+[0] == 'N') && (p[1] == 'O'))) {
+
+264 
+p
+ += 2;
+
+265 
+»suÉ
+ = 0;
+
+268 ià(((
+p
+[0] == 'o') && (p[1] == 'f') && (p[2] == 'f')) ||
+
+269 ((
+p
+[0] == 'O') && (p[1] == 'F') && (p[2] == 'F'))) {
+
+270 
+p
+ += 3;
+
+271 
+»suÉ
+ = 0;
+
+274 
+p
+ = 
+       `sk\9d_wh\99e_¥aûs
+(p);
+
+276 ià(
+p
+[0] != '\0')
+
+277 \15 -
+EINVAL
+;
+
+279 \15 
+»suÉ
+;
+
+280 
+       }
+}
+
+282 \ 1
+       #PARSE_ERROR
+(
+exp
+, 
+£ùiÚ
+, 
+\92\8cy
+) \
+
+283 
+       `APP_CHECK
+(
+exp
+, "P¬£\83¼Ü iÀ£ùiÚ \"%s\":\83Áry \"%s\"\n", 
+£ùiÚ
+, 
+\92\8cy
+)
+
+       )
+
+285 \ 1
+       #PARSE_ERROR_MESSAGE
+(
+exp
+, 
+£ùiÚ
+, 
+\92\8cy
+, 
+mes§ge
+) \
+
+286 
+       `APP_CHECK
+(
+exp
+, "Parse\83rror in section \"%s\",\83ntry \"%s\": %s\n", \
+
+287 
+£ùiÚ
+, 
+\92\8cy
+, 
+mes§ge
+)
+
+       )
+
+290 \ 1
+       #PARSE_ERROR_MALLOC
+(
+exp
+) \
+
+291 
+       `APP_CHECK
+(
+exp
+, "P¬£\83¼Ü:\82Øä\93 memÜy\n")
+
+       )
+
+293 \ 1
+       #PARSE_ERROR_SECTION
+(
+exp
+, 
+£ùiÚ
+) \
+
+294 
+       `APP_CHECK
+(
+exp
+, "P¬£\83¼Ü iÀ£ùiÚ \"%s\"", 
+£ùiÚ
+)
+
+       )
+
+296 \ 1
+       #PARSE_ERROR_SECTION_NO_ENTRIES
+(
+exp
+, 
+£ùiÚ
+) \
+
+297 
+       `APP_CHECK
+(
+exp
+, "P¬£\83¼Ü iÀ£ùiÚ \"%s\":\82Ø\92\8c\9bs\n", 
+£ùiÚ
+)
+
+       )
+
+299 \ 1
+       #PARSE_WARNING_IGNORED
+(
+exp
+, 
+£ùiÚ
+, 
+\92\8cy
+) \
+
+301 ià(!(
+exp
+)) \
+
+302 
+       `år\9atf
+(
+¡d\94r
+, "Parse warning in section \"%s\": " \
+
+303 "\92\8cy \"%s\" i ignÜed\n", 
+£ùiÚ
+, 
+\92\8cy
+); \
+
+304 \1f0)
+
+       )
+
+306 \ 1
+       #PARSE_ERROR_INVALID
+(
+exp
+, 
+£ùiÚ
+, 
+\92\8cy
+) \
+
+307 
+       `APP_CHECK
+(
+exp
+, "Parse\83rror in section \"%s\": unrecognized\83ntry \"%s\"\n",\
+
+308 
+£ùiÚ
+, 
+\92\8cy
+)
+
+       )
+
+310 \ 1
+       #PARSE_ERROR_DUPLICATE
+(
+exp
+, 
+£ùiÚ
+, 
+\92\8cy
+) \
+
+311 
+       `APP_CHECK
+(
+exp
+, "Parse\83rror in section \"%s\": duplicate\83ntry \"%s\"\n",\
+
+312 
+£ùiÚ
+, 
+\92\8cy
+)
+
+       )
+
+315 
+       $·r£r_»ad_u\9at64
+(
+u\9at64_t
+ *
+v®ue
+, cڡ \ 5*
+p
+)
+
+317 \ 5*
+Ãxt
+;
+
+318 
+u\9at64_t
+v®
+;
+
+320 
+p
+ = 
+       `sk\9d_wh\99e_¥aûs
+(p);
+
+321 ià(!
+       `isdig\99
+(*
+p
+))
+
+322 \15 -
+EINVAL
+;
+
+324 
+v®
+ = 
+       `¡¹oul
+(
+p
+, &
+Ãxt
+, 10);
+
+325 ià(
+p
+ =ð
+Ãxt
+)
+
+326 \15 -
+EINVAL
+;
+
+328 
+p
+ = 
+Ãxt
+;
+
+329 \1a*
+p
+) {
+
+331 
+v®
+ *= 1024ULL;
+
+334 
+v®
+ *= 1024ULL;
+
+337 
+v®
+ *= 1024ULL;
+
+341 
+v®
+ *= 1024ULL;
+
+342 
+p
+++;
+
+346 
+p
+ = 
+       `sk\9d_wh\99e_¥aûs
+(p);
+
+347 ià(*
+p
+ != '\0')
+
+348 \15 -
+EINVAL
+;
+
+350 *
+v®ue
+ = 
+v®
+;
+
+352 
+       }
+}
+
+355 
+       $·r£r_»ad_u\9at32
+(
+u\9at32_t
+ *
+v®ue
+, cڡ \ 5*
+p
+)
+
+357 
+u\9at64_t
+v®
+ = 0;
+
+358 \12
+»t
+ = 
+       `·r£r_»ad_u\9at64
+(&
+v®
+, 
+p
+);
+
+360 ià(
+»t
+ < 0)
+
+361 \15 
+»t
+;
+
+363 ià(
+v®
+ > 
+UINT32_MAX
+)
+
+364 \15 -
+ERANGE
+;
+
+366 *
+v®ue
+ = 
+v®
+;
+
+368 
+       }
+}
+
+371 
+       $·r£_p\9d\96\9ae_cÜe
+(
+u\9at32_t
+ *
+sock\91
+,
+
+372 
+u\9at32_t
+ *
+cÜe
+,
+
+373 
+u\9at32_t
+ *
+ht
+,
+
+374 cڡ \ 5*
+\92\8cy
+)
+
+376 
+size_t
+num_Ën
+;
+
+377 \ 5
+num
+[8];
+
+379 
+u\9at32_t
+s
+ = 0, 
+c
+ = 0, 
+h
+ = 0, 
+v®
+;
+
+380 
+u\9at8_t
+s_·r£d
+ = 0, 
+c_·r£d
+ = 0, 
+h_·r£d
+ = 0;
+
+381 cڡ \ 5*
+Ãxt
+ = 
+       `sk\9d_wh\99e_¥aûs
+(
+\92\8cy
+);
+
+382 \ 5
+ty³
+;
+
+385 \1f*
+Ãxt
+ != '\0') {
+
+387 ià(
+s_·r£d
+ && 
+c_·r£d
+ && 
+h_·r£d
+)
+
+388 \15 -
+EINVAL
+;
+
+390 
+ty³
+ = *
+Ãxt
+;
+
+391 \1a
+ty³
+) {
+
+394 ià(
+s_·r£d
+ || 
+c_·r£d
+ || 
+h_·r£d
+)
+
+395 \15 -
+EINVAL
+;
+
+396 
+s_·r£d
+ = 1;
+
+397 
+Ãxt
+++;
+
+401 ià(
+c_·r£d
+ || 
+h_·r£d
+)
+
+402 \15 -
+EINVAL
+;
+
+403 
+c_·r£d
+ = 1;
+
+404 
+Ãxt
+++;
+
+408 ià(
+h_·r£d
+)
+
+409 \15 -
+EINVAL
+;
+
+410 
+h_·r£d
+ = 1;
+
+411 
+Ãxt
+++;
+
+415 ià(!
+       `isdig\99
+(*
+Ãxt
+è|| 
+s_·r£d
+ || 
+c_·r£d
+ || 
+h_·r£d
+)
+
+416 \15 -
+EINVAL
+;
+
+418 
+ty³
+ = 'C';
+
+421 \ f
+num_Ën
+ = 0; *
+Ãxt
+ != '\0';\82ext++,\82um_len++) {
+
+422 ià(
+num_Ën
+ =ð
+       `RTE_DIM
+(
+num
+))
+
+423 \15 -
+EINVAL
+;
+
+425 ià(!
+       `isdig\99
+(*
+Ãxt
+))
+
+428 
+num
+[
+num_Ën
+] = *
+Ãxt
+;
+
+431 ià(
+num_Ën
+ =ð0 && 
+ty³
+ != 'h' &&\81ype != 'H')
+
+432 \15 -
+EINVAL
+;
+
+434 ià(
+num_Ën
+ !ð0 && (
+ty³
+ == 'h' ||\81ype == 'H'))
+
+435 \15 -
+EINVAL
+;
+
+436 if(
+num_Ën
+ < \17(
+num
+))
+
+437 
+num
+[
+num_Ën
+] = '\0';
+
+438 
+v®
+ = 
+       `¡¹Þ
+(
+num
+, 
+NULL
+, 10);
+
+440 
+h
+ = 0;
+
+441 \1a
+ty³
+) {
+
+444 
+s
+ = 
+v®
+;
+
+448 
+c
+ = 
+v®
+;
+
+452 
+h
+ = 1;
+
+457 *
+sock\91
+ = 
+s
+;
+
+458 *
+cÜe
+ = 
+c
+;
+
+459 *
+ht
+ = 
+h
+;
+
+461 
+       }
+}
+
+463 \18
+u\9at32_t
+
+
+464 
+       $g\91_hex_v®
+(\ 5
+c
+)
+
+466 \1a
+c
+) {
+
+469 \15 
+c
+ - '0';
+
+471 \15 
+c
+ - 'A' + 10;
+
+473 \15 
+c
+ - 'a' + 10;
+
+477 
+       }
+}
+
+480 
+       $·r£_hex_¡r\9ag
+(\ 5*
+¤c
+, 
+u\9at8_t
+ *
+d¡
+, 
+u\9at32_t
+ *
+size
+)
+
+482 \ 5*
+c
+;
+
+483 
+u\9at32_t
+Ën
+, 
+i
+;
+
+486 ià((
+¤c
+ =ð
+NULL
+) ||
+
+487 (
+d¡
+ =ð
+NULL
+) ||
+
+488 (
+size
+ =ð
+NULL
+) ||
+
+489 (*
+size
+ == 0))
+
+492 
+Ën
+ = 
+       `¡¾\92
+(
+¤c
+);
+
+493 ià(((
+Ën
+ & 3) != 0) ||
+
+494 (
+Ën
+ > (*
+size
+) * 2))
+
+496 *
+size
+ = 
+Ën
+ / 2;
+
+498 \ f
+c
+ = 
+¤c
+; *c != 0; c++) {
+
+499 ià((((*
+c
+) >= '0') && ((*c) <= '9')) ||
+
+500 (((*
+c
+) >= 'A') && ((*c) <= 'F')) ||
+
+501 (((*
+c
+) >= 'a') && ((*c) <= 'f')))
+
+508 \ f
+i
+ = 0; i < *
+size
+; i++)
+
+509 
+d¡
+[
+i
+] = 
+       `g\91_hex_v®
+(
+¤c
+[2 * i]) * 16 +
+
+510 
+       `g\91_hex_v®
+(
+¤c
+[2 * 
+i
+ + 1]);
+
+513 
+       }
+}
+
+515 \18
+size_t
+
+
+516 
+       $sk\9d_dig\99s
+(cڡ \ 5*
+¤c
+)
+
+518 
+size_t
+i
+;
+
+520 \ f
+i
+ = 0; 
+       `isdig\99
+(
+¤c
+[i]); i++);
+
+522 \15 
+i
+;
+
+523 
+       }
+}
+
+526 
+       $v®id©e_Çme
+(cڡ \ 5*
+Çme
+, cڡ \ 5*
+´efix
+, \12
+num
+)
+
+528 
+size_t
+i
+, 
+j
+;
+
+530 \ f
+i
+ = 0; (
+Çme
+[i] !ð'\0'è&& (
+´efix
+[i] != '\0'); i++) {
+
+531 ià(
+Çme
+[
+i
+] !ð
+´efix
+[i])
+
+535 ià(
+´efix
+[
+i
+] != '\0')
+
+538 ià(!
+num
+) {
+
+539 ià(
+Çme
+[
+i
+] != '\0')
+
+545 ià(
+num
+ == 2) {
+
+546 
+j
+ = 
+       `sk\9d_dig\99s
+(&
+Çme
+[
+i
+]);
+
+547 
+i
+ +ð
+j
+;
+
+548 ià((
+j
+ =ð0è|| (
+Çme
+[
+i
+] != '.'))
+
+550 
+i
+++;
+
+553 ià(
+num
+ == 1) {
+
+554 
+j
+ = 
+       `sk\9d_dig\99s
+(&
+Çme
+[
+i
+]);
+
+555 
+i
+ +ð
+j
+;
+
+556 ià((
+j
+ =ð0è|| (
+Çme
+[
+i
+] != '\0'))
+
+561 
+       }
+}
+
+564 
+       $·r£_\97l
+(\19
+­p_·¿ms
+ *
+­p
+,
+
+565 cڡ \ 5*
+£ùiÚ_Çme
+,
+
+566 \19
+¹e_cfgf\9ee
+ *
+cfg
+)
+
+568 \19
+­p_\97l_·¿ms
+ *
+p
+ = &
+­p
+->
+\97l_·¿ms
+;
+
+569 \19
+¹e_cfgf\9ee_\92\8cy
+ *
+\92\8c\9bs
+;
+
+570 \12
+n_\92\8c\9bs
+, 
+i
+;
+
+572 
+n_\92\8c\9bs
+ = 
+       `¹e_cfgf\9ee_£ùiÚ_num_\92\8c\9bs
+(
+cfg
+, 
+£ùiÚ_Çme
+);
+
+573 
+       `PARSE_ERROR_SECTION_NO_ENTRIES
+((
+n_\92\8c\9bs
+ > 0), 
+£ùiÚ_Çme
+);
+
+575 
+\92\8c\9bs
+ = 
+       `m®loc
+(
+n_\92\8c\9bs
+ * \17(\19
+¹e_cfgf\9ee_\92\8cy
+));
+
+576 
+       `PARSE_ERROR_MALLOC
+(
+\92\8c\9bs
+ !ð
+NULL
+);
+
+578 
+       `¹e_cfgf\9ee_£ùiÚ_\92\8c\9bs
+(
+cfg
+, 
+£ùiÚ_Çme
+, 
+\92\8c\9bs
+, 
+n_\92\8c\9bs
+);
+
+580 \ f
+i
+ = 0; i < 
+n_\92\8c\9bs
+; i++) {
+
+581 \19
+¹e_cfgf\9ee_\92\8cy
+ *
+\92\8cy
+ = &
+\92\8c\9bs
+[
+i
+];
+
+584 ià(
+       `¡rcmp
+(
+\92\8cy
+->
+Çme
+, "c") == 0) {
+
+585 
+       `PARSE_WARNING_IGNORED
+(0, 
+£ùiÚ_Çme
+, 
+\92\8cy
+->
+Çme
+);
+
+590 ià(
+       `¡rcmp
+(
+\92\8cy
+->
+Çme
+, "l") == 0) {
+
+591 
+       `PARSE_WARNING_IGNORED
+(0, 
+£ùiÚ_Çme
+, 
+\92\8cy
+->
+Çme
+);
+
+596 ià(
+       `¡rcmp
+(
+\92\8cy
+->
+Çme
+, "lcores") == 0) {
+
+597 
+       `PARSE_ERROR_DUPLICATE
+((
+p
+->
+cÜem­
+ =ð
+NULL
+),
+
+598 
+£ùiÚ_Çme
+,
+
+599 
+\92\8cy
+->
+Çme
+);
+
+600 
+p
+->
+cÜem­
+ = 
+       `¡rdup
+(
+\92\8cy
+->
+v®ue
+);
+
+605 ià(
+       `¡rcmp
+(
+\92\8cy
+->
+Çme
+, "master_lcore") == 0) {
+
+606 \12
+¡©us
+;
+
+608 
+       `PARSE_ERROR_DUPLICATE
+((
+p
+->
+ma¡\94_lcÜe_´e£Á
+ == 0),
+
+609 
+£ùiÚ_Çme
+,
+
+610 
+\92\8cy
+->
+Çme
+);
+
+611 
+p
+->
+ma¡\94_lcÜe_´e£Á
+ = 1;
+
+613 
+¡©us
+ = 
+       `·r£r_»ad_u\9at32
+(&
+p
+->
+ma¡\94_lcÜe
+,
+
+614 
+\92\8cy
+->
+v®ue
+);
+
+615 
+       `PARSE_ERROR
+((
+¡©us
+ =ð0), 
+£ùiÚ_Çme
+, 
+\92\8cy
+->
+Çme
+);
+
+620 ià(
+       `¡rcmp
+(
+\92\8cy
+->
+Çme
+, "n") == 0) {
+
+621 \12
+¡©us
+;
+
+623 
+       `PARSE_ERROR_DUPLICATE
+((
+p
+->
+chªÃls_´e£Á
+ == 0),
+
+624 
+£ùiÚ_Çme
+,
+
+625 
+\92\8cy
+->
+Çme
+);
+
+626 
+p
+->
+chªÃls_´e£Á
+ = 1;
+
+628 
+¡©us
+ = 
+       `·r£r_»ad_u\9at32
+(&
+p
+->
+chªÃls
+, 
+\92\8cy
+->
+v®ue
+);
+
+629 
+       `PARSE_ERROR
+((
+¡©us
+ =ð0), 
+£ùiÚ_Çme
+, 
+\92\8cy
+->
+Çme
+);
+
+634 ià(
+       `¡rcmp
+(
+\92\8cy
+->
+Çme
+, "m") == 0) {
+
+635 \12
+¡©us
+;
+
+637 
+       `PARSE_ERROR_DUPLICATE
+((
+p
+->
+memÜy_´e£Á
+ == 0),
+
+638 
+£ùiÚ_Çme
+,
+
+639 
+\92\8cy
+->
+Çme
+);
+
+640 
+p
+->
+memÜy_´e£Á
+ = 1;
+
+642 
+¡©us
+ = 
+       `·r£r_»ad_u\9at32
+(&
+p
+->
+memÜy
+, 
+\92\8cy
+->
+v®ue
+);
+
+643 
+       `PARSE_ERROR
+((
+¡©us
+ =ð0), 
+£ùiÚ_Çme
+, 
+\92\8cy
+->
+Çme
+);
+
+648 ià(
+       `¡rcmp
+(
+\92\8cy
+->
+Çme
+, "r") == 0) {
+
+649 \12
+¡©us
+;
+
+651 
+       `PARSE_ERROR_DUPLICATE
+((
+p
+->
+¿nks_´e£Á
+ == 0),
+
+652 
+£ùiÚ_Çme
+,
+
+653 
+\92\8cy
+->
+Çme
+);
+
+654 
+p
+->
+¿nks_´e£Á
+ = 1;
+
+656 
+¡©us
+ = 
+       `·r£r_»ad_u\9at32
+(&
+p
+->
+¿nks
+, 
+\92\8cy
+->
+v®ue
+);
+
+657 
+       `PARSE_ERROR
+((
+¡©us
+ =ð0), 
+£ùiÚ_Çme
+, 
+\92\8cy
+->
+Çme
+);
+
+662 ià((
+       `¡rcmp
+(
+\92\8cy
+->
+Çme
+, "pci_blacklist") == 0) ||
+
+663 (
+       `¡rcmp
+(
+\92\8cy
+->
+Çme
+, "b") == 0)) {
+
+664 
+u\9at32_t
+i
+;
+
+666 \ f
+i
+ = 0; i < 
+APP_MAX_LINKS
+; i++) {
+
+667 ià(
+p
+->
+pci_bÏckli¡
+[
+i
+])
+
+670 
+p
+->
+pci_bÏckli¡
+[
+i
+] =
+
+671 
+       `¡rdup
+(
+\92\8cy
+->
+v®ue
+);
+
+672 
+       `PARSE_ERROR_MALLOC
+(
+p
+->
+pci_bÏckli¡
+[
+i
+]);
+
+677 
+       `PARSE_ERROR_MESSAGE
+((
+i
+ < 
+APP_MAX_LINKS
+),
+
+678 
+£ùiÚ_Çme
+, 
+\92\8cy
+->
+Çme
+,
+
+684 ià((
+       `¡rcmp
+(
+\92\8cy
+->
+Çme
+, "pci_whitelist") == 0) ||
+
+685 (
+       `¡rcmp
+(
+\92\8cy
+->
+Çme
+, "w") == 0)) {
+
+686 
+u\9at32_t
+i
+;
+
+688 
+       `PARSE_ERROR_MESSAGE
+((
+­p
+->
+pÜt_mask
+ != 0),
+
+689 
+£ùiÚ_Çme
+, 
+\92\8cy
+->
+Çme
+, "entry\81o be "
+
+693 \ f
+i
+ = 0; i < 
+APP_MAX_LINKS
+; i++) {
+
+694 ià(
+p
+->
+pci_wh\99\96
+[
+i
+])
+
+697 
+p
+->
+pci_wh\99\96
+[
+i
+] = 
+       `¡rdup
+(
+\92\8cy
+->
+v®ue
+);
+
+698 
+       `PARSE_ERROR_MALLOC
+(
+p
+->
+pci_wh\99\96
+[
+i
+]);
+
+703 
+       `PARSE_ERROR_MESSAGE
+((
+i
+ < 
+APP_MAX_LINKS
+),
+
+704 
+£ùiÚ_Çme
+, 
+\92\8cy
+->
+Çme
+,
+
+710 ià(
+       `¡rcmp
+(
+\92\8cy
+->
+Çme
+, "vdev") == 0) {
+
+711 
+u\9at32_t
+i
+;
+
+713 \ f
+i
+ = 0; i < 
+APP_MAX_LINKS
+; i++) {
+
+714 ià(
+p
+->
+vdev
+[
+i
+])
+
+717 
+p
+->
+vdev
+[
+i
+] = 
+       `¡rdup
+(
+\92\8cy
+->
+v®ue
+);
+
+718 
+       `PARSE_ERROR_MALLOC
+(
+p
+->
+vdev
+[
+i
+]);
+
+723 
+       `PARSE_ERROR_MESSAGE
+((
+i
+ < 
+APP_MAX_LINKS
+),
+
+724 
+£ùiÚ_Çme
+, 
+\92\8cy
+->
+Çme
+,
+
+730 ià(
+       `¡rcmp
+(
+\92\8cy
+->
+Çme
+, "vmware_tsc_map") == 0) {
+
+731 \12
+v®
+;
+
+733 
+       `PARSE_ERROR_DUPLICATE
+((
+p
+->
+vmw¬e_tsc_m­_´e£Á
+ == 0),
+
+734 
+£ùiÚ_Çme
+,
+
+735 
+\92\8cy
+->
+Çme
+);
+
+736 
+p
+->
+vmw¬e_tsc_m­_´e£Á
+ = 1;
+
+738 
+v®
+ = 
+       `·r£r_»ad_¬g_boÞ
+(
+\92\8cy
+->
+v®ue
+);
+
+739 
+       `PARSE_ERROR
+((
+v®
+ >ð0), 
+£ùiÚ_Çme
+, 
+\92\8cy
+->
+Çme
+);
+
+740 
+p
+->
+vmw¬e_tsc_m­
+ = 
+v®
+;
+
+745 ià(
+       `¡rcmp
+(
+\92\8cy
+->
+Çme
+, "proc_type") == 0) {
+
+746 
+       `PARSE_ERROR_DUPLICATE
+((
+p
+->
+´oc_ty³
+ =ð
+NULL
+),
+
+747 
+£ùiÚ_Çme
+,
+
+748 
+\92\8cy
+->
+Çme
+);
+
+749 
+p
+->
+´oc_ty³
+ = 
+       `¡rdup
+(
+\92\8cy
+->
+v®ue
+);
+
+754 ià(
+       `¡rcmp
+(
+\92\8cy
+->
+Çme
+, "syslog") == 0) {
+
+755 
+       `PARSE_ERROR_DUPLICATE
+((
+p
+->
+sy¦og
+ =ð
+NULL
+),
+
+756 
+£ùiÚ_Çme
+,
+
+757 
+\92\8cy
+->
+Çme
+);
+
+758 
+p
+->
+sy¦og
+ = 
+       `¡rdup
+(
+\92\8cy
+->
+v®ue
+);
+
+763 ià(
+       `¡rcmp
+(
+\92\8cy
+->
+Çme
+, "log_level") == 0) {
+
+764 \12
+¡©us
+;
+
+766 
+       `PARSE_ERROR_DUPLICATE
+((
+p
+->
+log_Ëv\96_´e£Á
+ == 0),
+
+767 
+£ùiÚ_Çme
+,
+
+768 
+\92\8cy
+->
+Çme
+);
+
+769 
+p
+->
+log_Ëv\96_´e£Á
+ = 1;
+
+771 
+¡©us
+ = 
+       `·r£r_»ad_u\9at32
+(&
+p
+->
+log_Ëv\96
+,
+
+772 
+\92\8cy
+->
+v®ue
+);
+
+773 
+       `PARSE_ERROR
+((
+¡©us
+ =ð0), 
+£ùiÚ_Çme
+, 
+\92\8cy
+->
+Çme
+);
+
+778 ià(
+       `¡rcmp
+(
+\92\8cy
+->
+Çme
+, "v") == 0) {
+
+779 \12
+v®
+;
+
+781 
+       `PARSE_ERROR_DUPLICATE
+((
+p
+->
+v\94siÚ_´e£Á
+ == 0),
+
+782 
+£ùiÚ_Çme
+,
+
+783 
+\92\8cy
+->
+Çme
+);
+
+784 
+p
+->
+v\94siÚ_´e£Á
+ = 1;
+
+786 
+v®
+ = 
+       `·r£r_»ad_¬g_boÞ
+(
+\92\8cy
+->
+v®ue
+);
+
+787 
+       `PARSE_ERROR
+((
+v®
+ >ð0), 
+£ùiÚ_Çme
+, 
+\92\8cy
+->
+Çme
+);
+
+788 
+p
+->
+v\94siÚ
+ = 
+v®
+;
+
+793 ià((
+       `¡rcmp
+(
+\92\8cy
+->
+Çme
+, "help") == 0) ||
+
+794 (
+       `¡rcmp
+(
+\92\8cy
+->
+Çme
+, "h") == 0)) {
+
+795 \12
+v®
+;
+
+797 
+       `PARSE_ERROR_DUPLICATE
+((
+p
+->
+h\96p_´e£Á
+ == 0),
+
+798 
+£ùiÚ_Çme
+,
+
+799 
+\92\8cy
+->
+Çme
+);
+
+800 
+p
+->
+h\96p_´e£Á
+ = 1;
+
+802 
+v®
+ = 
+       `·r£r_»ad_¬g_boÞ
+(
+\92\8cy
+->
+v®ue
+);
+
+803 
+       `PARSE_ERROR
+((
+v®
+ >ð0), 
+£ùiÚ_Çme
+, 
+\92\8cy
+->
+Çme
+);
+
+804 
+p
+->
+h\96p
+ = 
+v®
+;
+
+809 ià(
+       `¡rcmp
+(
+\92\8cy
+->
+Çme
+, "no_huge") == 0) {
+
+810 \12
+v®
+;
+
+812 
+       `PARSE_ERROR_DUPLICATE
+((
+p
+->
+no_huge_´e£Á
+ == 0),
+
+813 
+£ùiÚ_Çme
+,
+
+814 
+\92\8cy
+->
+Çme
+);
+
+815 
+p
+->
+no_huge_´e£Á
+ = 1;
+
+817 
+v®
+ = 
+       `·r£r_»ad_¬g_boÞ
+(
+\92\8cy
+->
+v®ue
+);
+
+818 
+       `PARSE_ERROR
+((
+v®
+ >ð0), 
+£ùiÚ_Çme
+, 
+\92\8cy
+->
+Çme
+);
+
+819 
+p
+->
+no_huge
+ = 
+v®
+;
+
+824 ià(
+       `¡rcmp
+(
+\92\8cy
+->
+Çme
+, "no_pci") == 0) {
+
+825 \12
+v®
+;
+
+827 
+       `PARSE_ERROR_DUPLICATE
+((
+p
+->
+no_pci_´e£Á
+ == 0),
+
+828 
+£ùiÚ_Çme
+,
+
+829 
+\92\8cy
+->
+Çme
+);
+
+830 
+p
+->
+no_pci_´e£Á
+ = 1;
+
+832 
+v®
+ = 
+       `·r£r_»ad_¬g_boÞ
+(
+\92\8cy
+->
+v®ue
+);
+
+833 
+       `PARSE_ERROR
+((
+v®
+ >ð0), 
+£ùiÚ_Çme
+, 
+\92\8cy
+->
+Çme
+);
+
+834 
+p
+->
+no_pci
+ = 
+v®
+;
+
+839 ià(
+       `¡rcmp
+(
+\92\8cy
+->
+Çme
+, "no_hpet") == 0) {
+
+840 \12
+v®
+;
+
+842 
+       `PARSE_ERROR_DUPLICATE
+((
+p
+->
+no_h³t_´e£Á
+ == 0),
+
+843 
+£ùiÚ_Çme
+,
+
+844 
+\92\8cy
+->
+Çme
+);
+
+845 
+p
+->
+no_h³t_´e£Á
+ = 1;
+
+847 
+v®
+ = 
+       `·r£r_»ad_¬g_boÞ
+(
+\92\8cy
+->
+v®ue
+);
+
+848 
+       `PARSE_ERROR
+((
+v®
+ >ð0), 
+£ùiÚ_Çme
+, 
+\92\8cy
+->
+Çme
+);
+
+849 
+p
+->
+no_h³t
+ = 
+v®
+;
+
+854 ià(
+       `¡rcmp
+(
+\92\8cy
+->
+Çme
+, "no_shconf") == 0) {
+
+855 \12
+v®
+;
+
+857 
+       `PARSE_ERROR_DUPLICATE
+((
+p
+->
+no_shcÚf_´e£Á
+ == 0),
+
+858 
+£ùiÚ_Çme
+,
+
+859 
+\92\8cy
+->
+Çme
+);
+
+860 
+p
+->
+no_shcÚf_´e£Á
+ = 1;
+
+862 
+v®
+ = 
+       `·r£r_»ad_¬g_boÞ
+(
+\92\8cy
+->
+v®ue
+);
+
+863 
+       `PARSE_ERROR
+((
+v®
+ >ð0), 
+£ùiÚ_Çme
+, 
+\92\8cy
+->
+Çme
+);
+
+864 
+p
+->
+no_shcÚf
+ = 
+v®
+;
+
+869 ià(
+       `¡rcmp
+(
+\92\8cy
+->
+Çme
+, "d") == 0) {
+
+870 
+       `PARSE_ERROR_DUPLICATE
+((
+p
+->
+add_driv\94
+ =ð
+NULL
+),
+
+871 
+£ùiÚ_Çme
+,
+
+872 
+\92\8cy
+->
+Çme
+);
+
+873 
+p
+->
+add_driv\94
+ = 
+       `¡rdup
+(
+\92\8cy
+->
+v®ue
+);
+
+878 ià(
+       `¡rcmp
+(
+\92\8cy
+->
+Çme
+, "socket_mem") == 0) {
+
+879 
+       `PARSE_ERROR_DUPLICATE
+((
+p
+->
+sock\91_mem
+ =ð
+NULL
+),
+
+880 
+£ùiÚ_Çme
+,
+
+881 
+\92\8cy
+->
+Çme
+);
+
+882 
+p
+->
+sock\91_mem
+ = 
+       `¡rdup
+(
+\92\8cy
+->
+v®ue
+);
+
+887 ià(
+       `¡rcmp
+(
+\92\8cy
+->
+Çme
+, "huge_dir") == 0) {
+
+888 
+       `PARSE_ERROR_DUPLICATE
+((
+p
+->
+huge_d\9c
+ =ð
+NULL
+),
+
+889 
+£ùiÚ_Çme
+,
+
+890 
+\92\8cy
+->
+Çme
+);
+
+891 
+p
+->
+huge_d\9c
+ = 
+       `¡rdup
+(
+\92\8cy
+->
+v®ue
+);
+
+896 ià(
+       `¡rcmp
+(
+\92\8cy
+->
+Çme
+, "file_prefix") == 0) {
+
+897 
+       `PARSE_ERROR_DUPLICATE
+((
+p
+->
+f\9ee_´efix
+ =ð
+NULL
+),
+
+898 
+£ùiÚ_Çme
+,
+
+899 
+\92\8cy
+->
+Çme
+);
+
+900 
+p
+->
+f\9ee_´efix
+ = 
+       `¡rdup
+(
+\92\8cy
+->
+v®ue
+);
+
+905 ià(
+       `¡rcmp
+(
+\92\8cy
+->
+Çme
+, "base_virtaddr") == 0) {
+
+906 
+       `PARSE_ERROR_DUPLICATE
+((
+p
+->
+ba£_v\9c\8fddr
+ =ð
+NULL
+),
+
+907 
+£ùiÚ_Çme
+,
+
+908 
+\92\8cy
+->
+Çme
+);
+
+909 
+p
+->
+ba£_v\9c\8fddr
+ = 
+       `¡rdup
+(
+\92\8cy
+->
+v®ue
+);
+
+914 ià(
+       `¡rcmp
+(
+\92\8cy
+->
+Çme
+, "create_uio_dev") == 0) {
+
+915 \12
+v®
+;
+
+917 
+       `PARSE_ERROR_DUPLICATE
+((
+p
+->
\97\8b_uio_dev_´e£Á
+ == 0),
+
+918 
+£ùiÚ_Çme
+,
+
+919 
+\92\8cy
+->
+Çme
+);
+
+920 
+p
+->
\97\8b_uio_dev_´e£Á
+ = 1;
+
+922 
+v®
+ = 
+       `·r£r_»ad_¬g_boÞ
+(
+\92\8cy
+->
+v®ue
+);
+
+923 
+       `PARSE_ERROR
+((
+v®
+ >ð0), 
+£ùiÚ_Çme
+, 
+\92\8cy
+->
+Çme
+);
+
+924 
+p
+->
\97\8b_uio_dev
+ = 
+v®
+;
+
+929 ià(
+       `¡rcmp
+(
+\92\8cy
+->
+Çme
+, "vfio_intr") == 0) {
+
+930 
+       `PARSE_ERROR_DUPLICATE
+((
+p
+->
+vfio_\9a\8c
+ =ð
+NULL
+),
+
+931 
+£ùiÚ_Çme
+,
+
+932 
+\92\8cy
+->
+Çme
+);
+
+933 
+p
+->
+vfio_\9a\8c
+ = 
+       `¡rdup
+(
+\92\8cy
+->
+v®ue
+);
+
+938 ià(
+       `¡rcmp
+(
+\92\8cy
+->
+Çme
+, "xen_dom0") == 0) {
+
+939 \12
+v®
+;
+
+941 
+       `PARSE_ERROR_DUPLICATE
+((
+p
+->
+x\92_dom0_´e£Á
+ == 0),
+
+942 
+£ùiÚ_Çme
+,
+
+943 
+\92\8cy
+->
+Çme
+);
+
+944 
+p
+->
+x\92_dom0_´e£Á
+ = 1;
+
+946 
+v®
+ = 
+       `·r£r_»ad_¬g_boÞ
+(
+\92\8cy
+->
+v®ue
+);
+
+947 
+       `PARSE_ERROR
+((
+v®
+ >ð0), 
+£ùiÚ_Çme
+, 
+\92\8cy
+->
+Çme
+);
+
+948 
+p
+->
+x\92_dom0
+ = 
+v®
+;
+
+953 
+       `PARSE_ERROR_INVALID
+(0, 
+£ùiÚ_Çme
+, 
+\92\8cy
+->
+Çme
+);
+
+956 
+       `ä\93
+(
+\92\8c\9bs
+);
+
+957 
+       }
+}
+
+960 
+       $·r£_p\9d\96\9ae_pÿp_sourû
+(\19
+­p_·¿ms
+ *
+­p
+,
+
+961 \19
+­p_p\9d\96\9ae_·¿ms
+ *
+p
+,
+
+962 cڡ \ 5*
+f\9ee_Çme
+, cڡ \ 5*
+ý_size
+)
+
+964 cڡ \ 5*
+Ãxt
+ = 
+NULL
+;
+
+965 \ 5*
+\92d
+;
+
+966 
+u\9at32_t
+i
+;
+
+967 \12
+·r£_f\9ee
+ = 0;
+
+969 ià(
+f\9ee_Çme
+ && !
+ý_size
+) {
+
+970 
+Ãxt
+ = 
+f\9ee_Çme
+;
+
+971 
+·r£_f\9ee
+ = 1;
+
+972 } \vià(
+ý_size
+ && !
+f\9ee_Çme
+) {
+
+973 
+Ãxt
+ = 
+ý_size
+;
+
+974 
+·r£_f\9ee
+ = 0;
+
+976 \15 -
+EINVAL
+;
+
+978 \ 5
+Çme
+[
+APP_PARAM_NAME_SIZE
+];
+
+979 
+size_t
+Çme_Ën
+;
+
+981 ià(
+p
+->
+n_pktq_\9a
+ == 0)
+
+982 \15 -
+EINVAL
+;
+
+984 
+i
+ = 0;
+
+985 \1f*
+Ãxt
+ != '\0') {
+
+986 
+u\9at32_t
+id
+;
+
+988 ià(
+i
+ >ð
+p
+->
+n_pktq_\9a
+)
+
+989 \15 -
+EINVAL
+;
+
+991 
+id
+ = 
+p
+->
+pktq_\9a
+[
+i
+].id;
+
+993 
+\92d
+ = 
+       `¡rchr
+(
+Ãxt
+, ' ');
+
+994 ià(!
+\92d
+)
+
+995 
+Çme_Ën
+ = 
+       `¡¾\92
+(
+Ãxt
+);
+
+997 
+Çme_Ën
+ = 
+\92d
+ - 
+Ãxt
+;
+
+999 ià(
+Çme_Ën
+ =ð0 ||\82ame_ËÀ=ð\17(
+Çme
+))
+
+1000 \15 -
+EINVAL
+;
+
+1002 
+       `¡ºýy
+(
+Çme
+, 
+Ãxt
+, 
+Çme_Ën
+);
+
+1003 
+Çme
+[
+Çme_Ën
+] = '\0';
+
+1004 
+Ãxt
+ +ð
+Çme_Ën
+;
+
+1005 ià(*
+Ãxt
+ != '\0')
+
+1006 
+Ãxt
+++;
+
+1008 ià(
+·r£_f\9ee
+) {
+
+1009 
+­p
+->
+sourû_·¿ms
+[
+id
+].
+f\9ee_Çme
+ = 
+       `¡rdup
+(
+Çme
+);
+
+1010 ià(
+­p
+->
+sourû_·¿ms
+[
+id
+].
+f\9ee_Çme
+ =ð
+NULL
+)
+
+1011 \15 -
+ENOMEM
+;
+
+1013 ià(
+       `·r£r_»ad_u\9at32
+(
+
+1014 &
+­p
+->
+sourû_·¿ms
+[
+id
+].
+n_by\8bs_³r_pkt
+,
+
+1015 
+Çme
+) != 0) {
+
+1016 ià(
+­p
+->
+sourû_·¿ms
+[
+id
+].
+
+1017 
+f\9ee_Çme
+ !ð
+NULL
+)
+
+1018 
+       `ä\93
+(
+­p
+->
+sourû_·¿ms
+[
+id
+].
+
+1019 
+f\9ee_Çme
+);
+
+1020 \15 -
+EINVAL
+;
+
+1024 
+i
+++;
+
+1026 ià(
+i
+ =ð
+p
+->
+n_pktq_\9a
+)
+
+1030 \15 -
+EINVAL
+;
+
+1031 
+       }
+}
+
+1034 
+       $·r£_p\9d\96\9ae_pÿp_s\9ak
+(\19
+­p_·¿ms
+ *
+­p
+,
+
+1035 \19
+­p_p\9d\96\9ae_·¿ms
+ *
+p
+,
+
+1036 cڡ \ 5*
+f\9ee_Çme
+, cڡ \ 5*
+n_pkts_to_dump
+)
+
+1038 cڡ \ 5*
+Ãxt
+ = 
+NULL
+;
+
+1039 \ 5*
+\92d
+;
+
+1040 
+u\9at32_t
+i
+;
+
+1041 \12
+·r£_f\9ee
+ = 0;
+
+1043 ià(
+f\9ee_Çme
+ && !
+n_pkts_to_dump
+) {
+
+1044 
+Ãxt
+ = 
+f\9ee_Çme
+;
+
+1045 
+·r£_f\9ee
+ = 1;
+
+1046 } \vià(
+n_pkts_to_dump
+ && !
+f\9ee_Çme
+) {
+
+1047 
+Ãxt
+ = 
+n_pkts_to_dump
+;
+
+1048 
+·r£_f\9ee
+ = 0;
+
+1050 \15 -
+EINVAL
+;
+
+1052 \ 5
+Çme
+[
+APP_PARAM_NAME_SIZE
+];
+
+1053 
+size_t
+Çme_Ën
+;
+
+1055 ià(
+p
+->
+n_pktq_out
+ == 0)
+
+1056 \15 -
+EINVAL
+;
+
+1058 
+i
+ = 0;
+
+1059 \1f*
+Ãxt
+ != '\0') {
+
+1060 
+u\9at32_t
+id
+;
+
+1062 ià(
+i
+ >ð
+p
+->
+n_pktq_out
+)
+
+1063 \15 -
+EINVAL
+;
+
+1065 
+id
+ = 
+p
+->
+pktq_out
+[
+i
+].id;
+
+1067 
+\92d
+ = 
+       `¡rchr
+(
+Ãxt
+, ' ');
+
+1068 ià(!
+\92d
+)
+
+1069 
+Çme_Ën
+ = 
+       `¡¾\92
+(
+Ãxt
+);
+
+1071 
+Çme_Ën
+ = 
+\92d
+ - 
+Ãxt
+;
+
+1073 ià(
+Çme_Ën
+ =ð0 ||\82ame_ËÀ=ð\17(
+Çme
+))
+
+1074 \15 -
+EINVAL
+;
+
+1076 
+       `¡ºýy
+(
+Çme
+, 
+Ãxt
+, 
+Çme_Ën
+);
+
+1077 
+Çme
+[
+Çme_Ën
+] = '\0';
+
+1078 
+Ãxt
+ +ð
+Çme_Ën
+;
+
+1079 ià(*
+Ãxt
+ != '\0')
+
+1080 
+Ãxt
+++;
+
+1082 ià(
+·r£_f\9ee
+) {
+
+1083 
+­p
+->
+s\9ak_·¿ms
+[
+id
+].
+f\9ee_Çme
+ = 
+       `¡rdup
+(
+Çme
+);
+
+1084 ià(
+­p
+->
+s\9ak_·¿ms
+[
+id
+].
+f\9ee_Çme
+ =ð
+NULL
+)
+
+1085 \15 -
+ENOMEM
+;
+
+1087 ià(
+       `·r£r_»ad_u\9at32
+(
+
+1088 &
+­p
+->
+s\9ak_·¿ms
+[
+id
+].
+n_pkts_to_dump
+,
+
+1089 
+Çme
+) != 0) {
+
+1090 ià(
+­p
+->
+s\9ak_·¿ms
+[
+id
+].
+f\9ee_Çme
+ !=
+
+1091 
+NULL
+)
+
+1092 
+       `ä\93
+(
+­p
+->
+s\9ak_·¿ms
+[
+id
+].
+
+1093 
+f\9ee_Çme
+);
+
+1094 \15 -
+EINVAL
+;
+
+1098 
+i
+++;
+
+1100 ià(
+i
+ =ð
+p
+->
+n_pktq_out
+)
+
+1104 \15 -
+EINVAL
+;
+
+1105 
+       }
+}
+
+1108 
+       $·r£_p\9d\96\9ae_pktq_\9a
+(\19
+­p_·¿ms
+ *
+­p
+,
+
+1109 \19
+­p_p\9d\96\9ae_·¿ms
+ *
+p
+,
+
+1110 cڡ \ 5*
+v®ue
+)
+
+1112 cڡ \ 5*
+Ãxt
+ = 
+v®ue
+;
+
+1113 if(
+Ãxt
+ =ð
+NULL
+)
+
+1114 \15 -
+EINVAL
+;
+
+1115 \ 5*
+\92d
+;
+
+1116 \ 5
+Çme
+[
+APP_PARAM_NAME_SIZE
+];
+
+1117 
+size_t
+Çme_Ën
+;
+
+1119 \1f*
+Ãxt
+ != '\0') {
+
+1120 \f
+­p_pktq_\9a_ty³
+ty³
+;
+
+1121 \12
+id
+;
+
+1122 \ 5*
+\92d_¥aû
+;
+
+1123 \ 5*
+\92d_\8fb
+;
+
+1124 if(
+Ãxt
+ !ð
+NULL
+)
+
+1125 
+Ãxt
+ = 
+       `sk\9d_wh\99e_¥aûs
+(next);
+
+1126 ià(!
+Ãxt
+)
+
+1129 
+\92d_¥aû
+ = 
+       `¡rchr
+(
+Ãxt
+, ' ');
+
+1130 
+\92d_\8fb
+ = 
+       `¡rchr
+(
+Ãxt
+, ' ');
+
+1132 ià(
+\92d_¥aû
+ && (!
+\92d_\8fb
+))
+
+1133 
+\92d
+ = 
+\92d_¥aû
+;
+
+1134 \vià((!
+\92d_¥aû
+è&& 
+\92d_\8fb
+)
+
+1135 
+\92d
+ = 
+\92d_\8fb
+;
+
+1136 \vià(
+\92d_¥aû
+ && 
+\92d_\8fb
+)
+
+1137 
+\92d
+ = 
+       `RTE_MIN
+(
+\92d_¥aû
+, 
+\92d_\8fb
+);
+
+1139 
+\92d
+ = 
+NULL
+;
+
+1141 ià(!
+\92d
+)
+
+1142 
+Çme_Ën
+ = 
+       `¡¾\92
+(
+Ãxt
+);
+
+1144 
+Çme_Ën
+ = 
+\92d
+ - 
+Ãxt
+;
+
+1146 ià(
+Çme_Ën
+ =ð0 ||\82ame_ËÀ=ð\17(
+Çme
+))
+
+1147 \15 -
+EINVAL
+;
+
+1149 
+       `¡ºýy
+(
+Çme
+, 
+Ãxt
+, 
+Çme_Ën
+);
+
+1150 
+Çme
+[
+Çme_Ën
+] = '\0';
+
+1151 
+Ãxt
+ +ð
+Çme_Ën
+;
+
+1152 ià(*
+Ãxt
+ != '\0')
+
+1153 
+Ãxt
+++;
+
+1155 ià(
+       `v®id©e_Çme
+(
+Çme
+, "RXQ", 2) == 0) {
+
+1156 
+ty³
+ = 
+APP_PKTQ_IN_HWQ
+;
+
+1157 
+id
+ = 
+       `APP_PARAM_ADD
+(
+­p
+->
+hwq_\9a_·¿ms
+, 
+Çme
+);
+
+1158 } \vià(
+       `v®id©e_Çme
+(
+Çme
+, "SWQ", 1) == 0) {
+
+1159 
+ty³
+ = 
+APP_PKTQ_IN_SWQ
+;
+
+1160 
+id
+ = 
+       `APP_PARAM_ADD
+(
+­p
+->
+swq_·¿ms
+, 
+Çme
+);
+
+1161 } \vià(
+       `v®id©e_Çme
+(
+Çme
+, "TM", 1) == 0) {
+
+1162 
+ty³
+ = 
+APP_PKTQ_IN_TM
+;
+
+1163 
+id
+ = 
+       `APP_PARAM_ADD
+(
+­p
+->
+tm_·¿ms
+, 
+Çme
+);
+
+1164 } \vià(
+       `v®id©e_Çme
+(
+Çme
+, "SOURCE", 1) == 0) {
+
+1165 
+ty³
+ = 
+APP_PKTQ_IN_SOURCE
+;
+
+1166 
+id
+ = 
+       `APP_PARAM_ADD
+(
+­p
+->
+sourû_·¿ms
+, 
+Çme
+);
+
+1168 \15 -
+EINVAL
+;
+
+1170 ià(
+id
+ < 0)
+
+1171 \15 
+id
+;
+
+1173 
+p
+->
+pktq_\9a
+[p->
+n_pktq_\9a
+].
+ty³
+ =\81ype;
+
+1174 
+p
+->
+pktq_\9a
+[p->
+n_pktq_\9a
+].
+id
+ = (
+u\9at32_t
+) id;
+
+1175 
+p
+->
+n_pktq_\9a
+++;
+
+1179 
+       }
+}
+
+1182 
+       $·r£_p\9d\96\9ae_pktq_out
+(\19
+­p_·¿ms
+ *
+­p
+,
+
+1183 \19
+­p_p\9d\96\9ae_·¿ms
+ *
+p
+,
+
+1184 cڡ \ 5*
+v®ue
+)
+
+1186 cڡ \ 5*
+Ãxt
+ = 
+v®ue
+;
+
+1187 if(
+Ãxt
+ =ð
+NULL
+)
+
+1188 \15 -
+EINVAL
+;
+
+1189 \ 5*
+\92d
+;
+
+1190 \ 5
+Çme
+[
+APP_PARAM_NAME_SIZE
+];
+
+1191 
+size_t
+Çme_Ën
+;
+
+1193 \1f*
+Ãxt
+ != '\0') {
+
+1194 \f
+­p_pktq_out_ty³
+ty³
+;
+
+1195 \12
+id
+;
+
+1196 \ 5*
+\92d_¥aû
+;
+
+1197 \ 5*
+\92d_\8fb
+;
+
+1198 if(
+Ãxt
+ !ð
+NULL
+)
+
+1199 
+Ãxt
+ = 
+       `sk\9d_wh\99e_¥aûs
+(next);
+
+1200 ià(!
+Ãxt
+)
+
+1203 
+\92d_¥aû
+ = 
+       `¡rchr
+(
+Ãxt
+, ' ');
+
+1204 
+\92d_\8fb
+ = 
+       `¡rchr
+(
+Ãxt
+, ' ');
+
+1206 ià(
+\92d_¥aû
+ && (!
+\92d_\8fb
+))
+
+1207 
+\92d
+ = 
+\92d_¥aû
+;
+
+1208 \vià((!
+\92d_¥aû
+è&& 
+\92d_\8fb
+)
+
+1209 
+\92d
+ = 
+\92d_\8fb
+;
+
+1210 \vià(
+\92d_¥aû
+ && 
+\92d_\8fb
+)
+
+1211 
+\92d
+ = 
+       `RTE_MIN
+(
+\92d_¥aû
+, 
+\92d_\8fb
+);
+
+1213 
+\92d
+ = 
+NULL
+;
+
+1215 ià(!
+\92d
+)
+
+1216 
+Çme_Ën
+ = 
+       `¡¾\92
+(
+Ãxt
+);
+
+1218 
+Çme_Ën
+ = 
+\92d
+ - 
+Ãxt
+;
+
+1220 ià(
+Çme_Ën
+ =ð0 ||\82ame_ËÀ=ð\17(
+Çme
+))
+
+1221 \15 -
+EINVAL
+;
+
+1223 
+       `¡ºýy
+(
+Çme
+, 
+Ãxt
+, 
+Çme_Ën
+);
+
+1224 
+Çme
+[
+Çme_Ën
+] = '\0';
+
+1225 
+Ãxt
+ +ð
+Çme_Ën
+;
+
+1226 ià(*
+Ãxt
+ != '\0')
+
+1227 
+Ãxt
+++;
+
+1228 ià(
+       `v®id©e_Çme
+(
+Çme
+, "TXQ", 2) == 0) {
+
+1229 
+ty³
+ = 
+APP_PKTQ_OUT_HWQ
+;
+
+1230 
+id
+ = 
+       `APP_PARAM_ADD
+(
+­p
+->
+hwq_out_·¿ms
+, 
+Çme
+);
+
+1231 } \vià(
+       `v®id©e_Çme
+(
+Çme
+, "SWQ", 1) == 0) {
+
+1232 
+ty³
+ = 
+APP_PKTQ_OUT_SWQ
+;
+
+1233 
+id
+ = 
+       `APP_PARAM_ADD
+(
+­p
+->
+swq_·¿ms
+, 
+Çme
+);
+
+1234 } \vià(
+       `v®id©e_Çme
+(
+Çme
+, "TM", 1) == 0) {
+
+1235 
+ty³
+ = 
+APP_PKTQ_OUT_TM
+;
+
+1236 
+id
+ = 
+       `APP_PARAM_ADD
+(
+­p
+->
+tm_·¿ms
+, 
+Çme
+);
+
+1237 } \vià(
+       `v®id©e_Çme
+(
+Çme
+, "SINK", 1) == 0) {
+
+1238 
+ty³
+ = 
+APP_PKTQ_OUT_SINK
+;
+
+1239 
+id
+ = 
+       `APP_PARAM_ADD
+(
+­p
+->
+s\9ak_·¿ms
+, 
+Çme
+);
+
+1241 \15 -
+EINVAL
+;
+
+1243 ià(
+id
+ < 0)
+
+1244 \15 
+id
+;
+
+1246 
+p
+->
+pktq_out
+[p->
+n_pktq_out
+].
+ty³
+ =\81ype;
+
+1247 
+p
+->
+pktq_out
+[p->
+n_pktq_out
+].
+id
+ = id;
+
+1248 
+p
+->
+n_pktq_out
+++;
+
+1252 
+       }
+}
+
+1255 
+       $·r£_p\9d\96\9ae_msgq_\9a
+(\19
+­p_·¿ms
+ *
+­p
+,
+
+1256 \19
+­p_p\9d\96\9ae_·¿ms
+ *
+p
+,
+
+1257 cڡ \ 5*
+v®ue
+)
+
+1259 cڡ \ 5*
+Ãxt
+ = 
+v®ue
+;
+
+1260 if(
+Ãxt
+ =ð
+NULL
+)
+
+1261 \15 -
+EINVAL
+;
+
+1262 \ 5*
+\92d
+;
+
+1263 \ 5
+Çme
+[
+APP_PARAM_NAME_SIZE
+];
+
+1264 
+size_t
+Çme_Ën
+;
+
+1265 
+ssize_t
+idx
+;
+
+1267 \1f*
+Ãxt
+ != '\0') {
+
+1268 \ 5*
+\92d_¥aû
+;
+
+1269 \ 5*
+\92d_\8fb
+;
+
+1270 if(
+Ãxt
+ !ð
+NULL
+)
+
+1271 
+Ãxt
+ = 
+       `sk\9d_wh\99e_¥aûs
+(next);
+
+1272 ià(!
+Ãxt
+)
+
+1275 
+\92d_¥aû
+ = 
+       `¡rchr
+(
+Ãxt
+, ' ');
+
+1276 
+\92d_\8fb
+ = 
+       `¡rchr
+(
+Ãxt
+, ' ');
+
+1278 ià(
+\92d_¥aû
+ && (!
+\92d_\8fb
+))
+
+1279 
+\92d
+ = 
+\92d_¥aû
+;
+
+1280 \vià((!
+\92d_¥aû
+è&& 
+\92d_\8fb
+)
+
+1281 
+\92d
+ = 
+\92d_\8fb
+;
+
+1282 \vià(
+\92d_¥aû
+ && 
+\92d_\8fb
+)
+
+1283 
+\92d
+ = 
+       `RTE_MIN
+(
+\92d_¥aû
+, 
+\92d_\8fb
+);
+
+1285 
+\92d
+ = 
+NULL
+;
+
+1287 ià(!
+\92d
+)
+
+1288 
+Çme_Ën
+ = 
+       `¡¾\92
+(
+Ãxt
+);
+
+1290 
+Çme_Ën
+ = 
+\92d
+ - 
+Ãxt
+;
+
+1292 ià(
+Çme_Ën
+ =ð0 ||\82ame_ËÀ=ð\17(
+Çme
+))
+
+1293 \15 -
+EINVAL
+;
+
+1295 
+       `¡ºýy
+(
+Çme
+, 
+Ãxt
+, 
+Çme_Ën
+);
+
+1296 
+Çme
+[
+Çme_Ën
+] = '\0';
+
+1297 
+Ãxt
+ +ð
+Çme_Ën
+;
+
+1298 ià(*
+Ãxt
+ != '\0')
+
+1299 
+Ãxt
+++;
+
+1301 ià(
+       `v®id©e_Çme
+(
+Çme
+, "MSGQ", 1) != 0)
+
+1302 \15 -
+EINVAL
+;
+
+1304 
+idx
+ = 
+       `APP_PARAM_ADD
+(
+­p
+->
+msgq_·¿ms
+, 
+Çme
+);
+
+1305 ià(
+idx
+ < 0)
+
+1306 \15 
+idx
+;
+
+1308 
+p
+->
+msgq_\9a
+[p->
+n_msgq_\9a
+] = 
+idx
+;
+
+1309 
+p
+->
+n_msgq_\9a
+++;
+
+1313 
+       }
+}
+
+1316 
+       $·r£_p\9d\96\9ae_msgq_out
+(\19
+­p_·¿ms
+ *
+­p
+,
+
+1317 \19
+­p_p\9d\96\9ae_·¿ms
+ *
+p
+,
+
+1318 cڡ \ 5*
+v®ue
+)
+
+1320 cڡ \ 5*
+Ãxt
+ = 
+v®ue
+;
+
+1321 if(
+Ãxt
+ =ð
+NULL
+)
+
+1322 \15 -
+EINVAL
+;
+
+1323 \ 5*
+\92d
+;
+
+1324 \ 5
+Çme
+[
+APP_PARAM_NAME_SIZE
+];
+
+1325 
+size_t
+Çme_Ën
+;
+
+1326 
+ssize_t
+idx
+;
+
+1328 \1f*
+Ãxt
+ != '\0') {
+
+1329 \ 5*
+\92d_¥aû
+;
+
+1330 \ 5*
+\92d_\8fb
+;
+
+1331 if(
+Ãxt
+ !ð
+NULL
+)
+
+1332 
+Ãxt
+ = 
+       `sk\9d_wh\99e_¥aûs
+(next);
+
+1333 ià(!
+Ãxt
+)
+
+1336 
+\92d_¥aû
+ = 
+       `¡rchr
+(
+Ãxt
+, ' ');
+
+1337 
+\92d_\8fb
+ = 
+       `¡rchr
+(
+Ãxt
+, ' ');
+
+1339 ià(
+\92d_¥aû
+ && (!
+\92d_\8fb
+))
+
+1340 
+\92d
+ = 
+\92d_¥aû
+;
+
+1341 \vià((!
+\92d_¥aû
+è&& 
+\92d_\8fb
+)
+
+1342 
+\92d
+ = 
+\92d_\8fb
+;
+
+1343 \vià(
+\92d_¥aû
+ && 
+\92d_\8fb
+)
+
+1344 
+\92d
+ = 
+       `RTE_MIN
+(
+\92d_¥aû
+, 
+\92d_\8fb
+);
+
+1346 
+\92d
+ = 
+NULL
+;
+
+1348 ià(!
+\92d
+)
+
+1349 
+Çme_Ën
+ = 
+       `¡¾\92
+(
+Ãxt
+);
+
+1351 
+Çme_Ën
+ = 
+\92d
+ - 
+Ãxt
+;
+
+1353 ià(
+Çme_Ën
+ =ð0 ||\82ame_ËÀ=ð\17(
+Çme
+))
+
+1354 \15 -
+EINVAL
+;
+
+1356 
+       `¡ºýy
+(
+Çme
+, 
+Ãxt
+, 
+Çme_Ën
+);
+
+1357 
+Çme
+[
+Çme_Ën
+] = '\0';
+
+1358 
+Ãxt
+ +ð
+Çme_Ën
+;
+
+1359 ià(*
+Ãxt
+ != '\0')
+
+1360 
+Ãxt
+++;
+
+1362 ià(
+       `v®id©e_Çme
+(
+Çme
+, "MSGQ", 1) != 0)
+
+1363 \15 -
+EINVAL
+;
+
+1365 
+idx
+ = 
+       `APP_PARAM_ADD
+(
+­p
+->
+msgq_·¿ms
+, 
+Çme
+);
+
+1366 ià(
+idx
+ < 0)
+
+1367 \15 
+idx
+;
+
+1369 
+p
+->
+msgq_out
+[p->
+n_msgq_out
+] = 
+idx
+;
+
+1370 
+p
+->
+n_msgq_out
+++;
+
+1374 
+       }
+}
+
+1377 
+       $·r£_p\9d\96\9ae
+(\19
+­p_·¿ms
+ *
+­p
+,
+
+1378 cڡ \ 5*
+£ùiÚ_Çme
+,
+
+1379 \19
+¹e_cfgf\9ee
+ *
+cfg
+)
+
+1381 \ 5
+Çme
+[
+CFG_NAME_LEN
+];
+
+1382 \19
+­p_p\9d\96\9ae_·¿ms
+ *
+·¿m
+;
+
+1383 \19
+¹e_cfgf\9ee_\92\8cy
+ *
+\92\8c\9bs
+;
+
+1384 
+ssize_t
+·¿m_idx
+;
+
+1385 \12
+n_\92\8c\9bs
+, 
+i
+;
+
+1387 
+n_\92\8c\9bs
+ = 
+       `¹e_cfgf\9ee_£ùiÚ_num_\92\8c\9bs
+(
+cfg
+, 
+£ùiÚ_Çme
+);
+
+1388 
+       `PARSE_ERROR_SECTION_NO_ENTRIES
+((
+n_\92\8c\9bs
+ > 0), 
+£ùiÚ_Çme
+);
+
+1390 
+\92\8c\9bs
+ = 
+       `m®loc
+(
+n_\92\8c\9bs
+ * \17(\19
+¹e_cfgf\9ee_\92\8cy
+));
+
+1391 
+       `PARSE_ERROR_MALLOC
+(
+\92\8c\9bs
+ !ð
+NULL
+);
+
+1393 
+       `¹e_cfgf\9ee_£ùiÚ_\92\8c\9bs
+(
+cfg
+, 
+£ùiÚ_Çme
+, 
+\92\8c\9bs
+, 
+n_\92\8c\9bs
+);
+
+1395 
+·¿m_idx
+ = 
+       `APP_PARAM_ADD
+(
+­p
+->
+p\9d\96\9ae_·¿ms
+, 
+£ùiÚ_Çme
+);
+
+1396 
+       `PARSER_PARAM_ADD_CHECK
+(
+·¿m_idx
+, 
+­p
+->
+p\9d\96\9ae_·¿ms
+, 
+£ùiÚ_Çme
+);
+
+1398 
+·¿m
+ = &
+­p
+->
+p\9d\96\9ae_·¿ms
+[
+·¿m_idx
+];
+
+1400 \ f
+i
+ = 0; i < 
+n_\92\8c\9bs
+; i++) {
+
+1401 \19
+¹e_cfgf\9ee_\92\8cy
+ *
+\92t
+ = &
+\92\8c\9bs
+[
+i
+];
+
+1403 ià(
+       `¡rcmp
+(
+\92t
+->
+Çme
+, "type") == 0) {
+
+1404 \12
+w_size
+ = 
+       `¢´\9atf
+(
+·¿m
+->
+ty³
+, 
+       `RTE_DIM
+(param->type),
+
+1405 "%s", 
+\92t
+->
+v®ue
+);
+
+1407 
+       `PARSE_ERROR
+(((
+w_size
+ > 0) &&
+
+1408 (
+w_size
+ < (\12)
+       `RTE_DIM
+(
+·¿m
+->
+ty³
+))),
+
+1409 
+£ùiÚ_Çme
+,
+
+1410 
+\92t
+->
+Çme
+);
+
+1414 ià(
+       `¡rcmp
+(
+\92t
+->
+Çme
+, "core") == 0) {
+
+1415 \12
+¡©us
+ = 
+       `·r£_p\9d\96\9ae_cÜe
+(
+
+1416 &
+·¿m
+->
+sock\91_id
+, &·¿m->
+cÜe_id
+,
+
+1417 &
+·¿m
+->
+hy³r_th_id
+, 
+\92t
+->
+v®ue
+);
+
+1419 
+       `PARSE_ERROR
+((
+¡©us
+ =ð0), 
+£ùiÚ_Çme
+,
+
+1420 
+\92t
+->
+Çme
+);
+
+1424 ià(
+       `¡rcmp
+(
+\92t
+->
+Çme
+, "pktq_in") == 0) {
+
+1425 \12
+¡©us
+ = 
+       `·r£_p\9d\96\9ae_pktq_\9a
+(
+­p
+, 
+·¿m
+,
+
+1426 
+\92t
+->
+v®ue
+);
+
+1428 
+       `PARSE_ERROR
+((
+¡©us
+ =ð0), 
+£ùiÚ_Çme
+,
+
+1429 
+\92t
+->
+Çme
+);
+
+1433 ià(
+       `¡rcmp
+(
+\92t
+->
+Çme
+, "pktq_out") == 0) {
+
+1434 \12
+¡©us
+ = 
+       `·r£_p\9d\96\9ae_pktq_out
+(
+­p
+, 
+·¿m
+,
+
+1435 
+\92t
+->
+v®ue
+);
+
+1437 
+       `PARSE_ERROR
+((
+¡©us
+ =ð0), 
+£ùiÚ_Çme
+,
+
+1438 
+\92t
+->
+Çme
+);
+
+1442 ià(
+       `¡rcmp
+(
+\92t
+->
+Çme
+, "msgq_in") == 0) {
+
+1443 \12
+¡©us
+ = 
+       `·r£_p\9d\96\9ae_msgq_\9a
+(
+­p
+, 
+·¿m
+,
+
+1444 
+\92t
+->
+v®ue
+);
+
+1446 
+       `PARSE_ERROR
+((
+¡©us
+ =ð0), 
+£ùiÚ_Çme
+,
+
+1447 
+\92t
+->
+Çme
+);
+
+1451 ià(
+       `¡rcmp
+(
+\92t
+->
+Çme
+, "msgq_out") == 0) {
+
+1452 \12
+¡©us
+ = 
+       `·r£_p\9d\96\9ae_msgq_out
+(
+­p
+, 
+·¿m
+,
+
+1453 
+\92t
+->
+v®ue
+);
+
+1455 
+       `PARSE_ERROR
+((
+¡©us
+ =ð0), 
+£ùiÚ_Çme
+,
+
+1456 
+\92t
+->
+Çme
+);
+
+1460 ià(
+       `¡rcmp
+(
+\92t
+->
+Çme
+, "timer_period") == 0) {
+
+1461 \12
+¡©us
+ = 
+       `·r£r_»ad_u\9at32
+(
+
+1462 &
+·¿m
+->
+tim\94_³riod
+,
+
+1463 
+\92t
+->
+v®ue
+);
+
+1465 
+       `PARSE_ERROR
+((
+¡©us
+ =ð0), 
+£ùiÚ_Çme
+,
+
+1466 
+\92t
+->
+Çme
+);
+
+1470 ià(
+       `¡rcmp
+(
+\92t
+->
+Çme
+, "pcap_file_rd") == 0) {
+
+1471 \12
+¡©us
+;
+
+1473 #iâdeà
+RTE_PORT_PCAP
+
+
+1474 
+       `PARSE_ERROR_INVALID
+(0, 
+£ùiÚ_Çme
+, 
+\92t
+->
+Çme
+);
+
+1477 
+¡©us
+ = 
+       `·r£_p\9d\96\9ae_pÿp_sourû
+(
+­p
+,
+
+1478 
+·¿m
+, 
+\92t
+->
+v®ue
+, 
+NULL
+);
+
+1480 
+       `PARSE_ERROR
+((
+¡©us
+ =ð0), 
+£ùiÚ_Çme
+,
+
+1481 
+\92t
+->
+Çme
+);
+
+1485 ià(
+       `¡rcmp
+(
+\92t
+->
+Çme
+, "pcap_bytes_rd_per_pkt") == 0) {
+
+1486 \12
+¡©us
+;
+
+1488 #iâdeà
+RTE_PORT_PCAP
+
+
+1489 
+       `PARSE_ERROR_INVALID
+(0, 
+£ùiÚ_Çme
+, 
+\92t
+->
+Çme
+);
+
+1492 
+¡©us
+ = 
+       `·r£_p\9d\96\9ae_pÿp_sourû
+(
+­p
+,
+
+1493 
+·¿m
+, 
+NULL
+, 
+\92t
+->
+v®ue
+);
+
+1495 
+       `PARSE_ERROR
+((
+¡©us
+ =ð0), 
+£ùiÚ_Çme
+,
+
+1496 
+\92t
+->
+Çme
+);
+
+1500 ià(
+       `¡rcmp
+(
+\92t
+->
+Çme
+, "pcap_file_wr") == 0) {
+
+1501 \12
+¡©us
+;
+
+1503 #iâdeà
+RTE_PORT_PCAP
+
+
+1504 
+       `PARSE_ERROR_INVALID
+(0, 
+£ùiÚ_Çme
+, 
+\92t
+->
+Çme
+);
+
+1507 
+¡©us
+ = 
+       `·r£_p\9d\96\9ae_pÿp_s\9ak
+(
+­p
+, 
+·¿m
+,
+
+1508 
+\92t
+->
+v®ue
+, 
+NULL
+);
+
+1510 
+       `PARSE_ERROR
+((
+¡©us
+ =ð0), 
+£ùiÚ_Çme
+,
+
+1511 
+\92t
+->
+Çme
+);
+
+1515 ià(
+       `¡rcmp
+(
+\92t
+->
+Çme
+, "pcap_n_pkt_wr") == 0) {
+
+1516 \12
+¡©us
+;
+
+1518 #iâdeà
+RTE_PORT_PCAP
+
+
+1519 
+       `PARSE_ERROR_INVALID
+(0, 
+£ùiÚ_Çme
+, 
+\92t
+->
+Çme
+);
+
+1522 
+¡©us
+ = 
+       `·r£_p\9d\96\9ae_pÿp_s\9ak
+(
+­p
+, 
+·¿m
+,
+
+1523 
+NULL
+, 
+\92t
+->
+v®ue
+);
+
+1525 
+       `PARSE_ERROR
+((
+¡©us
+ =ð0), 
+£ùiÚ_Çme
+,
+
+1526 
+\92t
+->
+Çme
+);
+
+1531 
+       `APP_CHECK
+((
+·¿m
+->
+n_¬gs
+ < 
+APP_MAX_PIPELINE_ARGS
+),
+
+1533 "p\9d\96\9a\90¥ecif\9bd\85¬am\91\94s", 
+£ùiÚ_Çme
+);
+
+1535 
+·¿m
+->
+¬gs_Çme
+[·¿m->
+n_¬gs
+] = 
+       `¡rdup
+(
+\92t
+->
+Çme
+);
+
+1536 
+·¿m
+->
+¬gs_v®ue
+[·¿m->
+n_¬gs
+] = 
+       `¡rdup
+(
+\92t
+->
+v®ue
+);
+
+1538 
+       `APP_CHECK
+((
+·¿m
+->
+¬gs_Çme
+[·¿m->
+n_¬gs
+] !ð
+NULL
+) &&
+
+1539 (
+·¿m
+->
+¬gs_v®ue
+[·¿m->
+n_¬gs
+] !ð
+NULL
+),
+
+1542 
+·¿m
+->
+n_¬gs
+++;
+
+1545 
+·¿m
+->
+·r£d
+ = 1;
+
+1547 
+       `¢´\9atf
+(
+Çme
+, \17Òame), "MSGQ-REQ-%s", 
+£ùiÚ_Çme
+);
+
+1548 
+·¿m_idx
+ = 
+       `APP_PARAM_ADD
+(
+­p
+->
+msgq_·¿ms
+, 
+Çme
+);
+
+1549 
+       `PARSER_PARAM_ADD_CHECK
+(
+·¿m_idx
+, 
+­p
+->
+msgq_·¿ms
+, 
+Çme
+);
+
+1550 
+­p
+->
+msgq_·¿ms
+[
+·¿m_idx
+].
+ýu_sock\91_id
+ = 
+·¿m
+->
+sock\91_id
+;
+
+1551 
+·¿m
+->
+msgq_\9a
+[·¿m->
+n_msgq_\9a
+++] = 
+·¿m_idx
+;
+
+1553 
+       `¢´\9atf
+(
+Çme
+, \17Òame), "MSGQ-RSP-%s", 
+£ùiÚ_Çme
+);
+
+1554 
+·¿m_idx
+ = 
+       `APP_PARAM_ADD
+(
+­p
+->
+msgq_·¿ms
+, 
+Çme
+);
+
+1555 
+       `PARSER_PARAM_ADD_CHECK
+(
+·¿m_idx
+, 
+­p
+->
+msgq_·¿ms
+, 
+Çme
+);
+
+1556 
+­p
+->
+msgq_·¿ms
+[
+·¿m_idx
+].
+ýu_sock\91_id
+ = 
+·¿m
+->
+sock\91_id
+;
+
+1557 
+·¿m
+->
+msgq_out
+[·¿m->
+n_msgq_out
+++] = 
+·¿m_idx
+;
+
+1559 
+       `¢´\9atf
+(
+Çme
+, \17Òame), "MSGQ-REQ-CORE-s%" 
+PRIu32
+ "c%" PRIu32 "%s",
+
+1560 
+·¿m
+->
+sock\91_id
+,
+
+1561 
+·¿m
+->
+cÜe_id
+,
+
+1562 (
+·¿m
+->
+hy³r_th_id
+) ? "h" : "");
+
+1563 
+·¿m_idx
+ = 
+       `APP_PARAM_ADD
+(
+­p
+->
+msgq_·¿ms
+, 
+Çme
+);
+
+1564 
+       `PARSER_PARAM_ADD_CHECK
+(
+·¿m_idx
+, 
+­p
+->
+msgq_·¿ms
+, 
+Çme
+);
+
+1565 
+­p
+->
+msgq_·¿ms
+[
+·¿m_idx
+].
+ýu_sock\91_id
+ = 
+·¿m
+->
+sock\91_id
+;
+
+1567 
+       `¢´\9atf
+(
+Çme
+, \17Òame), "MSGQ-RSP-CORE-s%" 
+PRIu32
+ "c%" PRIu32 "%s",
+
+1568 
+·¿m
+->
+sock\91_id
+,
+
+1569 
+·¿m
+->
+cÜe_id
+,
+
+1570 (
+·¿m
+->
+hy³r_th_id
+) ? "h" : "");
+
+1571 
+·¿m_idx
+ = 
+       `APP_PARAM_ADD
+(
+­p
+->
+msgq_·¿ms
+, 
+Çme
+);
+
+1572 
+       `PARSER_PARAM_ADD_CHECK
+(
+·¿m_idx
+, 
+­p
+->
+msgq_·¿ms
+, 
+Çme
+);
+
+1573 
+­p
+->
+msgq_·¿ms
+[
+·¿m_idx
+].
+ýu_sock\91_id
+ = 
+·¿m
+->
+sock\91_id
+;
+
+1575 
+       `ä\93
+(
+\92\8c\9bs
+);
+
+1576 
+       }
+}
+
+1579 
+       $·r£_mempoÞ
+(\19
+­p_·¿ms
+ *
+­p
+,
+
+1580 cڡ \ 5*
+£ùiÚ_Çme
+,
+
+1581 \19
+¹e_cfgf\9ee
+ *
+cfg
+)
+
+1583 \19
+­p_mempoÞ_·¿ms
+ *
+·¿m
+;
+
+1584 \19
+¹e_cfgf\9ee_\92\8cy
+ *
+\92\8c\9bs
+;
+
+1585 
+ssize_t
+·¿m_idx
+;
+
+1586 \12
+n_\92\8c\9bs
+, 
+i
+;
+
+1588 
+n_\92\8c\9bs
+ = 
+       `¹e_cfgf\9ee_£ùiÚ_num_\92\8c\9bs
+(
+cfg
+, 
+£ùiÚ_Çme
+);
+
+1589 
+       `PARSE_ERROR_SECTION_NO_ENTRIES
+((
+n_\92\8c\9bs
+ > 0), 
+£ùiÚ_Çme
+);
+
+1591 
+\92\8c\9bs
+ = 
+       `m®loc
+(
+n_\92\8c\9bs
+ * \17(\19
+¹e_cfgf\9ee_\92\8cy
+));
+
+1592 
+       `PARSE_ERROR_MALLOC
+(
+\92\8c\9bs
+ !ð
+NULL
+);
+
+1594 
+       `¹e_cfgf\9ee_£ùiÚ_\92\8c\9bs
+(
+cfg
+, 
+£ùiÚ_Çme
+, 
+\92\8c\9bs
+, 
+n_\92\8c\9bs
+);
+
+1596 
+·¿m_idx
+ = 
+       `APP_PARAM_ADD
+(
+­p
+->
+mempoÞ_·¿ms
+, 
+£ùiÚ_Çme
+);
+
+1597 
+       `PARSER_PARAM_ADD_CHECK
+(
+·¿m_idx
+, 
+­p
+->
+mempoÞ_·¿ms
+, 
+£ùiÚ_Çme
+);
+
+1599 
+·¿m
+ = &
+­p
+->
+mempoÞ_·¿ms
+[
+·¿m_idx
+];
+
+1601 \ f
+i
+ = 0; i < 
+n_\92\8c\9bs
+; i++) {
+
+1602 \19
+¹e_cfgf\9ee_\92\8cy
+ *
+\92t
+ = &
+\92\8c\9bs
+[
+i
+];
+
+1604 ià(
+       `¡rcmp
+(
+\92t
+->
+Çme
+, "buffer_size") == 0) {
+
+1605 \12
+¡©us
+ = 
+       `·r£r_»ad_u\9at32
+(
+
+1606 &
+·¿m
+->
+bufãr_size
+, 
+\92t
+->
+v®ue
+);
+
+1608 
+       `PARSE_ERROR
+((
+¡©us
+ =ð0), 
+£ùiÚ_Çme
+,
+
+1609 
+\92t
+->
+Çme
+);
+
+1613 ià(
+       `¡rcmp
+(
+\92t
+->
+Çme
+, "pool_size") == 0) {
+
+1614 \12
+¡©us
+ = 
+       `·r£r_»ad_u\9at32
+(
+
+1615 &
+·¿m
+->
+poÞ_size
+, 
+\92t
+->
+v®ue
+);
+
+1617 
+       `PARSE_ERROR
+((
+¡©us
+ =ð0), 
+£ùiÚ_Çme
+,
+
+1618 
+\92t
+->
+Çme
+);
+
+1622 ià(
+       `¡rcmp
+(
+\92t
+->
+Çme
+, "cache_size") == 0) {
+
+1623 \12
+¡©us
+ = 
+       `·r£r_»ad_u\9at32
+(
+
+1624 &
+·¿m
+->
+ÿche_size
+, 
+\92t
+->
+v®ue
+);
+
+1626 
+       `PARSE_ERROR
+((
+¡©us
+ =ð0), 
+£ùiÚ_Çme
+,
+
+1627 
+\92t
+->
+Çme
+);
+
+1631 ià(
+       `¡rcmp
+(
+\92t
+->
+Çme
+, "cpu") == 0) {
+
+1632 \12
+¡©us
+ = 
+       `·r£r_»ad_u\9at32
+(
+
+1633 &
+·¿m
+->
+ýu_sock\91_id
+, 
+\92t
+->
+v®ue
+);
+
+1635 
+       `PARSE_ERROR
+((
+¡©us
+ =ð0), 
+£ùiÚ_Çme
+,
+
+1636 
+\92t
+->
+Çme
+);
+
+1641 
+       `PARSE_ERROR_INVALID
+(0, 
+£ùiÚ_Çme
+, 
+\92t
+->
+Çme
+);
+
+1644 
+·¿m
+->
+·r£d
+ = 1;
+
+1646 
+       `ä\93
+(
+\92\8c\9bs
+);
+
+1647 
+       }
+}
+
+1650 
+       $·r£_l\9ak
+(\19
+­p_·¿ms
+ *
+­p
+,
+
+1651 cڡ \ 5*
+£ùiÚ_Çme
+,
+
+1652 \19
+¹e_cfgf\9ee
+ *
+cfg
+)
+
+1654 \19
+­p_l\9ak_·¿ms
+ *
+·¿m
+;
+
+1655 \19
+¹e_cfgf\9ee_\92\8cy
+ *
+\92\8c\9bs
+;
+
+1656 \12
+n_\92\8c\9bs
+, 
+i
+;
+
+1657 \12
+pci_bdf_´e£Á
+ = 0;
+
+1658 
+ssize_t
+·¿m_idx
+;
+
+1660 
+n_\92\8c\9bs
+ = 
+       `¹e_cfgf\9ee_£ùiÚ_num_\92\8c\9bs
+(
+cfg
+, 
+£ùiÚ_Çme
+);
+
+1661 
+       `PARSE_ERROR_SECTION_NO_ENTRIES
+((
+n_\92\8c\9bs
+ > 0), 
+£ùiÚ_Çme
+);
+
+1663 
+\92\8c\9bs
+ = 
+       `m®loc
+(
+n_\92\8c\9bs
+ * \17(\19
+¹e_cfgf\9ee_\92\8cy
+));
+
+1664 
+       `PARSE_ERROR_MALLOC
+(
+\92\8c\9bs
+ !ð
+NULL
+);
+
+1666 
+       `¹e_cfgf\9ee_£ùiÚ_\92\8c\9bs
+(
+cfg
+, 
+£ùiÚ_Çme
+, 
+\92\8c\9bs
+, 
+n_\92\8c\9bs
+);
+
+1668 
+·¿m_idx
+ = 
+       `APP_PARAM_ADD
+(
+­p
+->
+l\9ak_·¿ms
+, 
+£ùiÚ_Çme
+);
+
+1669 
+       `PARSER_PARAM_ADD_CHECK
+(
+·¿m_idx
+, 
+­p
+->
+l\9ak_·¿ms
+, 
+£ùiÚ_Çme
+);
+
+1671 
+·¿m
+ = &
+­p
+->
+l\9ak_·¿ms
+[
+·¿m_idx
+];
+
+1673 \ f
+i
+ = 0; i < 
+n_\92\8c\9bs
+; i++) {
+
+1674 \19
+¹e_cfgf\9ee_\92\8cy
+ *
+\92t
+ = &
+\92\8c\9bs
+[
+i
+];
+
+1676 ià(
+       `¡rcmp
+(
+\92t
+->
+Çme
+, "promisc") == 0) {
+
+1677 \12
+¡©us
+ = 
+       `·r£r_»ad_¬g_boÞ
+(
+\92t
+->
+v®ue
+);
+
+1679 
+       `PARSE_ERROR
+((
+¡©us
+ !ð-
+EINVAL
+), 
+£ùiÚ_Çme
+,
+
+1680 
+\92t
+->
+Çme
+);
+
+1681 
+·¿m
+->
+´omisc
+ = 
+¡©us
+;
+
+1685 ià(
+       `¡rcmp
+(
+\92t
+->
+Çme
+, "arp_q") == 0) {
+
+1686 \12
+¡©us
+ = 
+       `·r£r_»ad_u\9at32
+(&
+·¿m
+->
+¬p_q
+,
+
+1687 
+\92t
+->
+v®ue
+);
+
+1689 
+       `PARSE_ERROR
+((
+¡©us
+ =ð0), 
+£ùiÚ_Çme
+,
+
+1690 
+\92t
+->
+Çme
+);
+
+1694 ià(
+       `¡rcmp
+(
+\92t
+->
+Çme
+, "tcp_syn_q") == 0) {
+
+1695 \12
+¡©us
+ = 
+       `·r£r_»ad_u\9at32
+(
+
+1696 &
+·¿m
+->
+tý_syn_q
+, 
+\92t
+->
+v®ue
+);
+
+1698 
+       `PARSE_ERROR
+((
+¡©us
+ =ð0), 
+£ùiÚ_Çme
+, 
+\92t
+->
+Çme
+);
+
+1702 ià(
+       `¡rcmp
+(
+\92t
+->
+Çme
+, "ip_local_q") == 0) {
+
+1703 \12
+¡©us
+ = 
+       `·r£r_»ad_u\9at32
+(
+
+1704 &
+·¿m
+->
+\9d_loÿl_q
+, 
+\92t
+->
+v®ue
+);
+
+1706 
+       `PARSE_ERROR
+((
+¡©us
+ =ð0), 
+£ùiÚ_Çme
+,
+
+1707 
+\92t
+->
+Çme
+);
+
+1712 ià(
+       `¡rcmp
+(
+\92t
+->
+Çme
+, "tcp_local_q") == 0) {
+
+1713 \12
+¡©us
+ = 
+       `·r£r_»ad_u\9at32
+(
+
+1714 &
+·¿m
+->
+tý_loÿl_q
+, 
+\92t
+->
+v®ue
+);
+
+1716 
+       `PARSE_ERROR
+((
+¡©us
+ =ð0), 
+£ùiÚ_Çme
+,
+
+1717 
+\92t
+->
+Çme
+);
+
+1721 ià(
+       `¡rcmp
+(
+\92t
+->
+Çme
+, "udp_local_q") == 0) {
+
+1722 \12
+¡©us
+ = 
+       `·r£r_»ad_u\9at32
+(
+
+1723 &
+·¿m
+->
+udp_loÿl_q
+, 
+\92t
+->
+v®ue
+);
+
+1725 
+       `PARSE_ERROR
+((
+¡©us
+ =ð0), 
+£ùiÚ_Çme
+,
+
+1726 
+\92t
+->
+Çme
+);
+
+1730 ià(
+       `¡rcmp
+(
+\92t
+->
+Çme
+, "sctp_local_q") == 0) {
+
+1731 \12
+¡©us
+ = 
+       `·r£r_»ad_u\9at32
+(
+
+1732 &
+·¿m
+->
+sùp_loÿl_q
+, 
+\92t
+->
+v®ue
+);
+
+1734 
+       `PARSE_ERROR
+((
+¡©us
+ =ð0), 
+£ùiÚ_Çme
+,
+
+1735 
+\92t
+->
+Çme
+);
+
+1739 ià(
+       `¡rcmp
+(
+\92t
+->
+Çme
+, "pci_bdf") == 0) {
+
+1740 
+       `PARSE_ERROR_DUPLICATE
+((
+pci_bdf_´e£Á
+ == 0),
+
+1741 
+£ùiÚ_Çme
+, 
+\92t
+->
+Çme
+);
+
+1743 
+       `¢´\9atf
+(
+·¿m
+->
+pci_bdf
+, 
+APP_LINK_PCI_BDF_SIZE
+,
+
+1744 "%s", 
+\92t
+->
+v®ue
+);
+
+1745 
+pci_bdf_´e£Á
+ = 1;
+
+1750 
+       `PARSE_ERROR_INVALID
+(0, 
+£ùiÚ_Çme
+, 
+\92t
+->
+Çme
+);
+
+1754 ià(
+­p
+->
+pÜt_mask
+)
+
+1755 
+       `PARSE_ERROR_MESSAGE
+((
+pci_bdf_´e£Á
+ == 0),
+
+1756 
+£ùiÚ_Çme
+, "pci_bdf",
+
+1759 
+       `PARSE_ERROR_MESSAGE
+((
+pci_bdf_´e£Á
+),
+
+1760 
+£ùiÚ_Çme
+, "pci_bdf",
+
+1764 
+·¿m
+->
+·r£d
+ = 1;
+
+1766 
+       `ä\93
+(
+\92\8c\9bs
+);
+
+1767 
+       }
+}
+
+1770 
+       $·r£_rxq
+(\19
+­p_·¿ms
+ *
+­p
+,
+
+1771 cڡ \ 5*
+£ùiÚ_Çme
+,
+
+1772 \19
+¹e_cfgf\9ee
+ *
+cfg
+)
+
+1774 \19
+­p_pktq_hwq_\9a_·¿ms
+ *
+·¿m
+;
+
+1775 \19
+¹e_cfgf\9ee_\92\8cy
+ *
+\92\8c\9bs
+;
+
+1776 \12
+n_\92\8c\9bs
+, 
+i
+;
+
+1777 
+ssize_t
+·¿m_idx
+;
+
+1779 
+n_\92\8c\9bs
+ = 
+       `¹e_cfgf\9ee_£ùiÚ_num_\92\8c\9bs
+(
+cfg
+, 
+£ùiÚ_Çme
+);
+
+1780 
+       `PARSE_ERROR_SECTION_NO_ENTRIES
+((
+n_\92\8c\9bs
+ > 0), 
+£ùiÚ_Çme
+);
+
+1782 
+\92\8c\9bs
+ = 
+       `m®loc
+(
+n_\92\8c\9bs
+ * \17(\19
+¹e_cfgf\9ee_\92\8cy
+));
+
+1783 
+       `PARSE_ERROR_MALLOC
+(
+\92\8c\9bs
+ !ð
+NULL
+);
+
+1785 
+       `¹e_cfgf\9ee_£ùiÚ_\92\8c\9bs
+(
+cfg
+, 
+£ùiÚ_Çme
+, 
+\92\8c\9bs
+, 
+n_\92\8c\9bs
+);
+
+1787 
+·¿m_idx
+ = 
+       `APP_PARAM_ADD
+(
+­p
+->
+hwq_\9a_·¿ms
+, 
+£ùiÚ_Çme
+);
+
+1788 
+       `PARSER_PARAM_ADD_CHECK
+(
+·¿m_idx
+, 
+­p
+->
+hwq_\9a_·¿ms
+, 
+£ùiÚ_Çme
+);
+
+1790 
+·¿m
+ = &
+­p
+->
+hwq_\9a_·¿ms
+[
+·¿m_idx
+];
+
+1792 \ f
+i
+ = 0; i < 
+n_\92\8c\9bs
+; i++) {
+
+1793 \19
+¹e_cfgf\9ee_\92\8cy
+ *
+\92t
+ = &
+\92\8c\9bs
+[
+i
+];
+
+1795 ià(
+       `¡rcmp
+(
+\92t
+->
+Çme
+, "mempool") == 0) {
+
+1796 \12
+¡©us
+ = 
+       `v®id©e_Çme
+(
+\92t
+->
+v®ue
+,
+
+1798 
+ssize_t
+idx
+;
+
+1800 
+       `PARSE_ERROR
+((
+¡©us
+ =ð0), 
+£ùiÚ_Çme
+,
+
+1801 
+\92t
+->
+Çme
+);
+
+1802 
+idx
+ = 
+       `APP_PARAM_ADD
+(
+­p
+->
+mempoÞ_·¿ms
+,
+
+1803 
+\92t
+->
+v®ue
+);
+
+1804 
+       `PARSER_PARAM_ADD_CHECK
+(
+idx
+, 
+­p
+->
+mempoÞ_·¿ms
+,
+
+1805 
+£ùiÚ_Çme
+);
+
+1806 
+·¿m
+->
+mempoÞ_id
+ = 
+idx
+;
+
+1810 ià(
+       `¡rcmp
+(
+\92t
+->
+Çme
+, "size") == 0) {
+
+1811 \12
+¡©us
+ = 
+       `·r£r_»ad_u\9at32
+(&
+·¿m
+->
+size
+,
+
+1812 
+\92t
+->
+v®ue
+);
+
+1814 
+       `PARSE_ERROR
+((
+¡©us
+ =ð0), 
+£ùiÚ_Çme
+,
+
+1815 
+\92t
+->
+Çme
+);
+
+1819 ià(
+       `¡rcmp
+(
+\92t
+->
+Çme
+, "burst") == 0) {
+
+1820 \12
+¡©us
+ = 
+       `·r£r_»ad_u\9at32
+(&
+·¿m
+->
+bur¡
+,
+
+1821 
+\92t
+->
+v®ue
+);
+
+1823 
+       `PARSE_ERROR
+((
+¡©us
+ =ð0), 
+£ùiÚ_Çme
+,
+
+1824 
+\92t
+->
+Çme
+);
+
+1829 
+       `PARSE_ERROR_INVALID
+(0, 
+£ùiÚ_Çme
+, 
+\92t
+->
+Çme
+);
+
+1832 
+·¿m
+->
+·r£d
+ = 1;
+
+1834 
+       `ä\93
+(
+\92\8c\9bs
+);
+
+1835 
+       }
+}
+
+1838 
+       $·r£_txq
+(\19
+­p_·¿ms
+ *
+­p
+,
+
+1839 cڡ \ 5*
+£ùiÚ_Çme
+,
+
+1840 \19
+¹e_cfgf\9ee
+ *
+cfg
+)
+
+1842 \19
+­p_pktq_hwq_out_·¿ms
+ *
+·¿m
+;
+
+1843 \19
+¹e_cfgf\9ee_\92\8cy
+ *
+\92\8c\9bs
+;
+
+1844 \12
+n_\92\8c\9bs
+, 
+i
+;
+
+1845 
+ssize_t
+·¿m_idx
+;
+
+1847 
+n_\92\8c\9bs
+ = 
+       `¹e_cfgf\9ee_£ùiÚ_num_\92\8c\9bs
+(
+cfg
+, 
+£ùiÚ_Çme
+);
+
+1848 
+       `PARSE_ERROR_SECTION_NO_ENTRIES
+((
+n_\92\8c\9bs
+ > 0), 
+£ùiÚ_Çme
+);
+
+1850 
+\92\8c\9bs
+ = 
+       `m®loc
+(
+n_\92\8c\9bs
+ * \17(\19
+¹e_cfgf\9ee_\92\8cy
+));
+
+1851 
+       `PARSE_ERROR_MALLOC
+(
+\92\8c\9bs
+ !ð
+NULL
+);
+
+1853 
+       `¹e_cfgf\9ee_£ùiÚ_\92\8c\9bs
+(
+cfg
+, 
+£ùiÚ_Çme
+, 
+\92\8c\9bs
+, 
+n_\92\8c\9bs
+);
+
+1855 
+·¿m_idx
+ = 
+       `APP_PARAM_ADD
+(
+­p
+->
+hwq_out_·¿ms
+, 
+£ùiÚ_Çme
+);
+
+1856 
+       `PARSER_PARAM_ADD_CHECK
+(
+·¿m_idx
+, 
+­p
+->
+hwq_out_·¿ms
+, 
+£ùiÚ_Çme
+);
+
+1858 
+·¿m
+ = &
+­p
+->
+hwq_out_·¿ms
+[
+·¿m_idx
+];
+
+1860 \ f
+i
+ = 0; i < 
+n_\92\8c\9bs
+; i++) {
+
+1861 \19
+¹e_cfgf\9ee_\92\8cy
+ *
+\92t
+ = &
+\92\8c\9bs
+[
+i
+];
+
+1863 ià(
+       `¡rcmp
+(
+\92t
+->
+Çme
+, "size") == 0) {
+
+1864 \12
+¡©us
+ = 
+       `·r£r_»ad_u\9at32
+(&
+·¿m
+->
+size
+,
+
+1865 
+\92t
+->
+v®ue
+);
+
+1867 
+       `PARSE_ERROR
+((
+¡©us
+ =ð0), 
+£ùiÚ_Çme
+,
+
+1868 
+\92t
+->
+Çme
+);
+
+1872 ià(
+       `¡rcmp
+(
+\92t
+->
+Çme
+, "burst") == 0) {
+
+1873 \12
+¡©us
+ = 
+       `·r£r_»ad_u\9at32
+(&
+·¿m
+->
+bur¡
+,
+
+1874 
+\92t
+->
+v®ue
+);
+
+1876 
+       `PARSE_ERROR
+((
+¡©us
+ =ð0), 
+£ùiÚ_Çme
+,
+
+1877 
+\92t
+->
+Çme
+);
+
+1881 ià(
+       `¡rcmp
+(
+\92t
+->
+Çme
+, "dropless") == 0) {
+
+1882 \12
+¡©us
+ = 
+       `·r£r_»ad_¬g_boÞ
+(
+\92t
+->
+v®ue
+);
+
+1885 
+       `PARSE_ERROR
+((
+¡©us
+ !ð-
+EINVAL
+), 
+£ùiÚ_Çme
+,
+
+1886 
+\92t
+->
+Çme
+);
+
+1887 
+·¿m
+->
+drÝËss
+ = 
+¡©us
+;
+
+1892 
+       `PARSE_ERROR_INVALID
+(0, 
+£ùiÚ_Çme
+, 
+\92t
+->
+Çme
+);
+
+1895 
+·¿m
+->
+·r£d
+ = 1;
+
+1897 
+       `ä\93
+(
+\92\8c\9bs
+);
+
+1898 
+       }
+}
+
+1901 
+       $·r£_swq
+(\19
+­p_·¿ms
+ *
+­p
+,
+
+1902 cڡ \ 5*
+£ùiÚ_Çme
+,
+
+1903 \19
+¹e_cfgf\9ee
+ *
+cfg
+)
+
+1905 \19
+­p_pktq_swq_·¿ms
+ *
+·¿m
+;
+
+1906 \19
+¹e_cfgf\9ee_\92\8cy
+ *
+\92\8c\9bs
+;
+
+1907 \12
+n_\92\8c\9bs
+, 
+i
+;
+
+1908 
+u\9at32_t
+mtu_´e£Á
+ = 0;
+
+1909 
+u\9at32_t
+m\91ad©a_size_´e£Á
+ = 0;
+
+1910 
+u\9at32_t
+mempoÞ_d\9ceù_´e£Á
+ = 0;
+
+1911 
+u\9at32_t
+mempoÞ_\9ad\9ceù_´e£Á
+ = 0;
+
+1913 
+ssize_t
+·¿m_idx
+;
+
+1915 
+n_\92\8c\9bs
+ = 
+       `¹e_cfgf\9ee_£ùiÚ_num_\92\8c\9bs
+(
+cfg
+, 
+£ùiÚ_Çme
+);
+
+1916 
+       `PARSE_ERROR_SECTION_NO_ENTRIES
+((
+n_\92\8c\9bs
+ > 0), 
+£ùiÚ_Çme
+);
+
+1918 
+\92\8c\9bs
+ = 
+       `m®loc
+(
+n_\92\8c\9bs
+ * \17(\19
+¹e_cfgf\9ee_\92\8cy
+));
+
+1919 
+       `PARSE_ERROR_MALLOC
+(
+\92\8c\9bs
+ !ð
+NULL
+);
+
+1921 
+       `¹e_cfgf\9ee_£ùiÚ_\92\8c\9bs
+(
+cfg
+, 
+£ùiÚ_Çme
+, 
+\92\8c\9bs
+, 
+n_\92\8c\9bs
+);
+
+1923 
+·¿m_idx
+ = 
+       `APP_PARAM_ADD
+(
+­p
+->
+swq_·¿ms
+, 
+£ùiÚ_Çme
+);
+
+1924 
+       `PARSER_PARAM_ADD_CHECK
+(
+·¿m_idx
+, 
+­p
+->
+swq_·¿ms
+, 
+£ùiÚ_Çme
+);
+
+1926 
+·¿m
+ = &
+­p
+->
+swq_·¿ms
+[
+·¿m_idx
+];
+
+1928 \ f
+i
+ = 0; i < 
+n_\92\8c\9bs
+; i++) {
+
+1929 \19
+¹e_cfgf\9ee_\92\8cy
+ *
+\92t
+ = &
+\92\8c\9bs
+[
+i
+];
+
+1931 ià(
+       `¡rcmp
+(
+\92t
+->
+Çme
+, "size") == 0) {
+
+1932 \12
+¡©us
+ = 
+       `·r£r_»ad_u\9at32
+(&
+·¿m
+->
+size
+,
+
+1933 
+\92t
+->
+v®ue
+);
+
+1935 
+       `PARSE_ERROR
+((
+¡©us
+ =ð0), 
+£ùiÚ_Çme
+,
+
+1936 
+\92t
+->
+Çme
+);
+
+1940 ià(
+       `¡rcmp
+(
+\92t
+->
+Çme
+, "burst_read") == 0) {
+
+1941 \12
+¡©us
+ = 
+       `·r£r_»ad_u\9at32
+(&
+
+1942 
+·¿m
+->
+bur¡_»ad
+, 
+\92t
+->
+v®ue
+);
+
+1944 
+       `PARSE_ERROR
+((
+¡©us
+ =ð0), 
+£ùiÚ_Çme
+,
+
+1945 
+\92t
+->
+Çme
+);
+
+1949 ià(
+       `¡rcmp
+(
+\92t
+->
+Çme
+, "burst_write") == 0) {
+
+1950 \12
+¡©us
+ = 
+       `·r£r_»ad_u\9at32
+(
+
+1951 &
+·¿m
+->
+bur¡_wr\99e
+, 
+\92t
+->
+v®ue
+);
+
+1953 
+       `PARSE_ERROR
+((
+¡©us
+ =ð0), 
+£ùiÚ_Çme
+,
+
+1954 
+\92t
+->
+Çme
+);
+
+1958 ià(
+       `¡rcmp
+(
+\92t
+->
+Çme
+, "dropless") == 0) {
+
+1959 \12
+¡©us
+ = 
+       `·r£r_»ad_¬g_boÞ
+(
+\92t
+->
+v®ue
+);
+
+1961 
+       `PARSE_ERROR
+((
+¡©us
+ !ð-
+EINVAL
+), 
+£ùiÚ_Çme
+,
+
+1962 
+\92t
+->
+Çme
+);
+
+1963 
+·¿m
+->
+drÝËss
+ = 
+¡©us
+;
+
+1967 ià(
+       `¡rcmp
+(
+\92t
+->
+Çme
+, "n_retries") == 0) {
+
+1968 \12
+¡©us
+ = 
+       `·r£r_»ad_u\9at64
+(&
+·¿m
+->
+n_»\8c\9bs
+,
+
+1969 
+\92t
+->
+v®ue
+);
+
+1971 
+       `PARSE_ERROR
+((
+¡©us
+ =ð0), 
+£ùiÚ_Çme
+,
+
+1972 
+\92t
+->
+Çme
+);
+
+1976 ià(
+       `¡rcmp
+(
+\92t
+->
+Çme
+, "cpu") == 0) {
+
+1977 \12
+¡©us
+ = 
+       `·r£r_»ad_u\9at32
+(
+
+1978 &
+·¿m
+->
+ýu_sock\91_id
+, 
+\92t
+->
+v®ue
+);
+
+1980 
+       `PARSE_ERROR
+((
+¡©us
+ =ð0), 
+£ùiÚ_Çme
+, 
+\92t
+->
+Çme
+);
+
+1984 ià(
+       `¡rcmp
+(
+\92t
+->
+Çme
+, "ipv4_frag") == 0) {
+
+1985 \12
+¡©us
+ = 
+       `·r£r_»ad_¬g_boÞ
+(
+\92t
+->
+v®ue
+);
+
+1987 
+       `PARSE_ERROR
+((
+¡©us
+ !ð-
+EINVAL
+), 
+£ùiÚ_Çme
+,
+
+1988 
+\92t
+->
+Çme
+);
+
+1990 
+·¿m
+->
+\9dv4_äag
+ = 
+¡©us
+;
+
+1991 ià(
+·¿m
+->
+mtu
+ == 0)
+
+1992 
+·¿m
+->
+mtu
+ = 1500;
+
+1997 ià(
+       `¡rcmp
+(
+\92t
+->
+Çme
+, "ipv6_frag") == 0) {
+
+1998 \12
+¡©us
+ = 
+       `·r£r_»ad_¬g_boÞ
+(
+\92t
+->
+v®ue
+);
+
+2000 
+       `PARSE_ERROR
+((
+¡©us
+ !ð-
+EINVAL
+), 
+£ùiÚ_Çme
+,
+
+2001 
+\92t
+->
+Çme
+);
+
+2002 
+·¿m
+->
+\9dv6_äag
+ = 
+¡©us
+;
+
+2003 ià(
+·¿m
+->
+mtu
+ == 0)
+
+2004 
+·¿m
+->
+mtu
+ = 1320;
+
+2008 ià(
+       `¡rcmp
+(
+\92t
+->
+Çme
+, "ipv4_ras") == 0) {
+
+2009 \12
+¡©us
+ = 
+       `·r£r_»ad_¬g_boÞ
+(
+\92t
+->
+v®ue
+);
+
+2011 
+       `PARSE_ERROR
+((
+¡©us
+ !ð-
+EINVAL
+), 
+£ùiÚ_Çme
+,
+
+2012 
+\92t
+->
+Çme
+);
+
+2013 
+·¿m
+->
+\9dv4_¿s
+ = 
+¡©us
+;
+
+2017 ià(
+       `¡rcmp
+(
+\92t
+->
+Çme
+, "ipv6_ras") == 0) {
+
+2018 \12
+¡©us
+ = 
+       `·r£r_»ad_¬g_boÞ
+(
+\92t
+->
+v®ue
+);
+
+2020 
+       `PARSE_ERROR
+((
+¡©us
+ !ð-
+EINVAL
+), 
+£ùiÚ_Çme
+,
+
+2021 
+\92t
+->
+Çme
+);
+
+2022 
+·¿m
+->
+\9dv6_¿s
+ = 
+¡©us
+;
+
+2026 ià(
+       `¡rcmp
+(
+\92t
+->
+Çme
+, "mtu") == 0) {
+
+2027 \12
+¡©us
+ = 
+       `·r£r_»ad_u\9at32
+(&
+·¿m
+->
+mtu
+,
+
+2028 
+\92t
+->
+v®ue
+);
+
+2030 
+       `PARSE_ERROR
+((
+¡©us
+ =ð0), 
+£ùiÚ_Çme
+,
+
+2031 
+\92t
+->
+Çme
+);
+
+2032 
+mtu_´e£Á
+ = 1;
+
+2036 ià(
+       `¡rcmp
+(
+\92t
+->
+Çme
+, "metadata_size") == 0) {
+
+2037 \12
+¡©us
+ = 
+       `·r£r_»ad_u\9at32
+(
+
+2038 &
+·¿m
+->
+m\91ad©a_size
+, 
+\92t
+->
+v®ue
+);
+
+2040 
+       `PARSE_ERROR
+((
+¡©us
+ =ð0), 
+£ùiÚ_Çme
+,
+
+2041 
+\92t
+->
+Çme
+);
+
+2042 
+m\91ad©a_size_´e£Á
+ = 1;
+
+2046 ià(
+       `¡rcmp
+(
+\92t
+->
+Çme
+, "mempool_direct") == 0) {
+
+2047 \12
+¡©us
+ = 
+       `v®id©e_Çme
+(
+\92t
+->
+v®ue
+,
+
+2049 
+ssize_t
+idx
+;
+
+2051 
+       `PARSE_ERROR
+((
+¡©us
+ =ð0), 
+£ùiÚ_Çme
+,
+
+2052 
+\92t
+->
+Çme
+);
+
+2054 
+idx
+ = 
+       `APP_PARAM_ADD
+(
+­p
+->
+mempoÞ_·¿ms
+,
+
+2055 
+\92t
+->
+v®ue
+);
+
+2056 
+       `PARSER_PARAM_ADD_CHECK
+(
+idx
+, 
+­p
+->
+mempoÞ_·¿ms
+,
+
+2057 
+£ùiÚ_Çme
+);
+
+2058 
+·¿m
+->
+mempoÞ_d\9ceù_id
+ = 
+idx
+;
+
+2059 
+mempoÞ_d\9ceù_´e£Á
+ = 1;
+
+2063 ià(
+       `¡rcmp
+(
+\92t
+->
+Çme
+, "mempool_indirect") == 0) {
+
+2064 \12
+¡©us
+ = 
+       `v®id©e_Çme
+(
+\92t
+->
+v®ue
+,
+
+2066 
+ssize_t
+idx
+;
+
+2068 
+       `PARSE_ERROR
+((
+¡©us
+ =ð0), 
+£ùiÚ_Çme
+,
+
+2069 
+\92t
+->
+Çme
+);
+
+2070 
+idx
+ = 
+       `APP_PARAM_ADD
+(
+­p
+->
+mempoÞ_·¿ms
+,
+
+2071 
+\92t
+->
+v®ue
+);
+
+2072 
+       `PARSER_PARAM_ADD_CHECK
+(
+idx
+, 
+­p
+->
+mempoÞ_·¿ms
+,
+
+2073 
+£ùiÚ_Çme
+);
+
+2074 
+·¿m
+->
+mempoÞ_\9ad\9ceù_id
+ = 
+idx
+;
+
+2075 
+mempoÞ_\9ad\9ceù_´e£Á
+ = 1;
+
+2080 
+       `PARSE_ERROR_INVALID
+(0, 
+£ùiÚ_Çme
+, 
+\92t
+->
+Çme
+);
+
+2083 
+       `APP_CHECK
+(((
+mtu_´e£Á
+) &&
+
+2084 ((
+·¿m
+->
+\9dv4_äag
+ =ð1è|| (·¿m->
+\9dv6_äag
+ == 1))),
+
+2087 
+£ùiÚ_Çme
+);
+
+2089 
+       `APP_CHECK
+(((
+m\91ad©a_size_´e£Á
+) &&
+
+2090 ((
+·¿m
+->
+\9dv4_äag
+ =ð1è|| (·¿m->
+\9dv6_äag
+ == 1))),
+
+2093 "nÙ\87Îowed", 
+£ùiÚ_Çme
+);
+
+2095 
+       `APP_CHECK
+(((
+mempoÞ_d\9ceù_´e£Á
+) &&
+
+2096 ((
+·¿m
+->
+\9dv4_äag
+ =ð1è|| (·¿m->
+\9dv6_äag
+ == 1))),
+
+2099 "nÙ\87Îowed", 
+£ùiÚ_Çme
+);
+
+2101 
+       `APP_CHECK
+(((
+mempoÞ_\9ad\9ceù_´e£Á
+) &&
+
+2102 ((
+·¿m
+->
+\9dv4_äag
+ =ð1è|| (·¿m->
+\9dv6_äag
+ == 1))),
+
+2105 "nÙ\87Îowed", 
+£ùiÚ_Çme
+);
+
+2107 
+·¿m
+->
+·r£d
+ = 1;
+
+2109 
+       `ä\93
+(
+\92\8c\9bs
+);
+
+2110 
+       }
+}
+
+2113 
+       $·r£_tm
+(\19
+­p_·¿ms
+ *
+­p
+,
+
+2114 cڡ \ 5*
+£ùiÚ_Çme
+,
+
+2115 \19
+¹e_cfgf\9ee
+ *
+cfg
+)
+
+2117 \19
+­p_pktq_tm_·¿ms
+ *
+·¿m
+;
+
+2118 \19
+¹e_cfgf\9ee_\92\8cy
+ *
+\92\8c\9bs
+;
+
+2119 \12
+n_\92\8c\9bs
+, 
+i
+;
+
+2120 
+ssize_t
+·¿m_idx
+;
+
+2122 
+n_\92\8c\9bs
+ = 
+       `¹e_cfgf\9ee_£ùiÚ_num_\92\8c\9bs
+(
+cfg
+, 
+£ùiÚ_Çme
+);
+
+2123 
+       `PARSE_ERROR_SECTION_NO_ENTRIES
+((
+n_\92\8c\9bs
+ > 0), 
+£ùiÚ_Çme
+);
+
+2125 
+\92\8c\9bs
+ = 
+       `m®loc
+(
+n_\92\8c\9bs
+ * \17(\19
+¹e_cfgf\9ee_\92\8cy
+));
+
+2126 
+       `PARSE_ERROR_MALLOC
+(
+\92\8c\9bs
+ !ð
+NULL
+);
+
+2128 
+       `¹e_cfgf\9ee_£ùiÚ_\92\8c\9bs
+(
+cfg
+, 
+£ùiÚ_Çme
+, 
+\92\8c\9bs
+, 
+n_\92\8c\9bs
+);
+
+2130 
+·¿m_idx
+ = 
+       `APP_PARAM_ADD
+(
+­p
+->
+tm_·¿ms
+, 
+£ùiÚ_Çme
+);
+
+2131 
+       `PARSER_PARAM_ADD_CHECK
+(
+·¿m_idx
+, 
+­p
+->
+tm_·¿ms
+, 
+£ùiÚ_Çme
+);
+
+2133 
+·¿m
+ = &
+­p
+->
+tm_·¿ms
+[
+·¿m_idx
+];
+
+2135 \ f
+i
+ = 0; i < 
+n_\92\8c\9bs
+; i++) {
+
+2136 \19
+¹e_cfgf\9ee_\92\8cy
+ *
+\92t
+ = &
+\92\8c\9bs
+[
+i
+];
+
+2138 ià(
+       `¡rcmp
+(
+\92t
+->
+Çme
+, "cfg") == 0) {
+
+2139 
+·¿m
+->
+f\9ee_Çme
+ = 
+       `¡rdup
+(
+\92t
+->
+v®ue
+);
+
+2140 
+       `PARSE_ERROR_MALLOC
+(
+·¿m
+->
+f\9ee_Çme
+ !ð
+NULL
+);
+
+2144 ià(
+       `¡rcmp
+(
+\92t
+->
+Çme
+, "burst_read") == 0) {
+
+2145 \12
+¡©us
+ = 
+       `·r£r_»ad_u\9at32
+(
+
+2146 &
+·¿m
+->
+bur¡_»ad
+, 
+\92t
+->
+v®ue
+);
+
+2148 
+       `PARSE_ERROR
+((
+¡©us
+ =ð0), 
+£ùiÚ_Çme
+,
+
+2149 
+\92t
+->
+Çme
+);
+
+2153 ià(
+       `¡rcmp
+(
+\92t
+->
+Çme
+, "burst_write") == 0) {
+
+2154 \12
+¡©us
+ = 
+       `·r£r_»ad_u\9at32
+(
+
+2155 &
+·¿m
+->
+bur¡_wr\99e
+, 
+\92t
+->
+v®ue
+);
+
+2157 
+       `PARSE_ERROR
+((
+¡©us
+ =ð0), 
+£ùiÚ_Çme
+,
+
+2158 
+\92t
+->
+Çme
+);
+
+2163 
+       `PARSE_ERROR_INVALID
+(0, 
+£ùiÚ_Çme
+, 
+\92t
+->
+Çme
+);
+
+2166 
+·¿m
+->
+·r£d
+ = 1;
+
+2168 
+       `ä\93
+(
+\92\8c\9bs
+);
+
+2169 
+       }
+}
+
+2172 
+       $·r£_sourû
+(\19
+­p_·¿ms
+ *
+­p
+,
+
+2173 cڡ \ 5*
+£ùiÚ_Çme
+,
+
+2174 \19
+¹e_cfgf\9ee
+ *
+cfg
+)
+
+2176 \19
+­p_pktq_sourû_·¿ms
+ *
+·¿m
+;
+
+2177 \19
+¹e_cfgf\9ee_\92\8cy
+ *
+\92\8c\9bs
+;
+
+2178 \12
+n_\92\8c\9bs
+, 
+i
+;
+
+2179 
+ssize_t
+·¿m_idx
+;
+
+2180 
+u\9at32_t
+pÿp_f\9ee_´e£Á
+ = 0;
+
+2181 
+u\9at32_t
+pÿp_size_´e£Á
+ = 0;
+
+2183 
+n_\92\8c\9bs
+ = 
+       `¹e_cfgf\9ee_£ùiÚ_num_\92\8c\9bs
+(
+cfg
+, 
+£ùiÚ_Çme
+);
+
+2184 
+       `PARSE_ERROR_SECTION_NO_ENTRIES
+((
+n_\92\8c\9bs
+ > 0), 
+£ùiÚ_Çme
+);
+
+2186 
+\92\8c\9bs
+ = 
+       `m®loc
+(
+n_\92\8c\9bs
+ * \17(\19
+¹e_cfgf\9ee_\92\8cy
+));
+
+2187 
+       `PARSE_ERROR_MALLOC
+(
+\92\8c\9bs
+ !ð
+NULL
+);
+
+2189 
+       `¹e_cfgf\9ee_£ùiÚ_\92\8c\9bs
+(
+cfg
+, 
+£ùiÚ_Çme
+, 
+\92\8c\9bs
+, 
+n_\92\8c\9bs
+);
+
+2191 
+·¿m_idx
+ = 
+       `APP_PARAM_ADD
+(
+­p
+->
+sourû_·¿ms
+, 
+£ùiÚ_Çme
+);
+
+2192 
+       `PARSER_PARAM_ADD_CHECK
+(
+·¿m_idx
+, 
+­p
+->
+sourû_·¿ms
+, 
+£ùiÚ_Çme
+);
+
+2194 
+·¿m
+ = &
+­p
+->
+sourû_·¿ms
+[
+·¿m_idx
+];
+
+2196 \ f
+i
+ = 0; i < 
+n_\92\8c\9bs
+; i++) {
+
+2197 \19
+¹e_cfgf\9ee_\92\8cy
+ *
+\92t
+ = &
+\92\8c\9bs
+[
+i
+];
+
+2199 ià(
+       `¡rcmp
+(
+\92t
+->
+Çme
+, "mempool") == 0) {
+
+2200 \12
+¡©us
+ = 
+       `v®id©e_Çme
+(
+\92t
+->
+v®ue
+,
+
+2202 
+ssize_t
+idx
+;
+
+2204 
+       `PARSE_ERROR
+((
+¡©us
+ =ð0), 
+£ùiÚ_Çme
+,
+
+2205 
+\92t
+->
+Çme
+);
+
+2206 
+idx
+ = 
+       `APP_PARAM_ADD
+(
+­p
+->
+mempoÞ_·¿ms
+,
+
+2207 
+\92t
+->
+v®ue
+);
+
+2208 
+       `PARSER_PARAM_ADD_CHECK
+(
+idx
+, 
+­p
+->
+mempoÞ_·¿ms
+,
+
+2209 
+£ùiÚ_Çme
+);
+
+2210 
+·¿m
+->
+mempoÞ_id
+ = 
+idx
+;
+
+2214 ià(
+       `¡rcmp
+(
+\92t
+->
+Çme
+, "burst") == 0) {
+
+2215 \12
+¡©us
+ = 
+       `·r£r_»ad_u\9at32
+(&
+·¿m
+->
+bur¡
+,
+
+2216 
+\92t
+->
+v®ue
+);
+
+2218 
+       `PARSE_ERROR
+((
+¡©us
+ =ð0), 
+£ùiÚ_Çme
+,
+
+2219 
+\92t
+->
+Çme
+);
+
+2223 ià(
+       `¡rcmp
+(
+\92t
+->
+Çme
+, "pcap_file_rd")) {
+
+2224 
+       `PARSE_ERROR_DUPLICATE
+((
+pÿp_f\9ee_´e£Á
+ == 0),
+
+2225 
+£ùiÚ_Çme
+, 
+\92t
+->
+Çme
+);
+
+2227 
+·¿m
+->
+f\9ee_Çme
+ = 
+       `¡rdup
+(
+\92t
+->
+v®ue
+);
+
+2229 
+       `PARSE_ERROR_MALLOC
+(
+·¿m
+->
+f\9ee_Çme
+ !ð
+NULL
+);
+
+2230 
+pÿp_f\9ee_´e£Á
+ = 1;
+
+2235 ià(
+       `¡rcmp
+(
+\92t
+->
+Çme
+, "pcap_bytes_rd_per_pkt") == 0) {
+
+2236 \12
+¡©us
+;
+
+2238 
+       `PARSE_ERROR_DUPLICATE
+((
+pÿp_size_´e£Á
+ == 0),
+
+2239 
+£ùiÚ_Çme
+, 
+\92t
+->
+Çme
+);
+
+2241 
+¡©us
+ = 
+       `·r£r_»ad_u\9at32
+(
+
+2242 &
+·¿m
+->
+n_by\8bs_³r_pkt
+, 
+\92t
+->
+v®ue
+);
+
+2244 
+       `PARSE_ERROR
+((
+¡©us
+ =ð0), 
+£ùiÚ_Çme
+,
+
+2245 
+\92t
+->
+Çme
+);
+
+2246 
+pÿp_size_´e£Á
+ = 1;
+
+2252 
+       `PARSE_ERROR_INVALID
+(0, 
+£ùiÚ_Çme
+, 
+\92t
+->
+Çme
+);
+
+2255 
+·¿m
+->
+·r£d
+ = 1;
+
+2257 
+       `ä\93
+(
+\92\8c\9bs
+);
+
+2258 
+       }
+}
+
+2261 
+       $·r£_s\9ak
+(\19
+­p_·¿ms
+ *
+­p
+,
+
+2262 cڡ \ 5*
+£ùiÚ_Çme
+,
+
+2263 \19
+¹e_cfgf\9ee
+ *
+cfg
+)
+
+2265 \19
+­p_pktq_s\9ak_·¿ms
+ *
+·¿m
+;
+
+2266 \19
+¹e_cfgf\9ee_\92\8cy
+ *
+\92\8c\9bs
+;
+
+2267 \12
+n_\92\8c\9bs
+, 
+i
+;
+
+2268 
+ssize_t
+·¿m_idx
+;
+
+2269 
+u\9at32_t
+pÿp_f\9ee_´e£Á
+ = 0;
+
+2270 
+u\9at32_t
+pÿp_n_pkt_´e£Á
+ = 0;
+
+2272 
+n_\92\8c\9bs
+ = 
+       `¹e_cfgf\9ee_£ùiÚ_num_\92\8c\9bs
+(
+cfg
+, 
+£ùiÚ_Çme
+);
+
+2273 
+       `PARSE_ERROR_SECTION_NO_ENTRIES
+((
+n_\92\8c\9bs
+ > 0), 
+£ùiÚ_Çme
+);
+
+2275 
+\92\8c\9bs
+ = 
+       `m®loc
+(
+n_\92\8c\9bs
+ * \17(\19
+¹e_cfgf\9ee_\92\8cy
+));
+
+2276 
+       `PARSE_ERROR_MALLOC
+(
+\92\8c\9bs
+ !ð
+NULL
+);
+
+2278 
+       `¹e_cfgf\9ee_£ùiÚ_\92\8c\9bs
+(
+cfg
+, 
+£ùiÚ_Çme
+, 
+\92\8c\9bs
+, 
+n_\92\8c\9bs
+);
+
+2280 
+·¿m_idx
+ = 
+       `APP_PARAM_ADD
+(
+­p
+->
+s\9ak_·¿ms
+, 
+£ùiÚ_Çme
+);
+
+2281 
+       `PARSER_PARAM_ADD_CHECK
+(
+·¿m_idx
+, 
+­p
+->
+s\9ak_·¿ms
+, 
+£ùiÚ_Çme
+);
+
+2283 
+·¿m
+ = &
+­p
+->
+s\9ak_·¿ms
+[
+·¿m_idx
+];
+
+2285 \ f
+i
+ = 0; i < 
+n_\92\8c\9bs
+; i++) {
+
+2286 \19
+¹e_cfgf\9ee_\92\8cy
+ *
+\92t
+ = &
+\92\8c\9bs
+[
+i
+];
+
+2288 ià(
+       `¡rcmp
+(
+\92t
+->
+Çme
+, "pcap_file_wr")) {
+
+2289 
+       `PARSE_ERROR_DUPLICATE
+((
+pÿp_f\9ee_´e£Á
+ == 0),
+
+2290 
+£ùiÚ_Çme
+, 
+\92t
+->
+Çme
+);
+
+2292 
+·¿m
+->
+f\9ee_Çme
+ = 
+       `¡rdup
+(
+\92t
+->
+v®ue
+);
+
+2294 
+       `PARSE_ERROR_MALLOC
+((
+·¿m
+->
+f\9ee_Çme
+ !ð
+NULL
+));
+
+2299 ià(
+       `¡rcmp
+(
+\92t
+->
+Çme
+, "pcap_n_pkt_wr")) {
+
+2300 \12
+¡©us
+;
+
+2302 
+       `PARSE_ERROR_DUPLICATE
+((
+pÿp_n_pkt_´e£Á
+ == 0),
+
+2303 
+£ùiÚ_Çme
+, 
+\92t
+->
+Çme
+);
+
+2305 
+¡©us
+ = 
+       `·r£r_»ad_u\9at32
+(
+
+2306 &
+·¿m
+->
+n_pkts_to_dump
+, 
+\92t
+->
+v®ue
+);
+
+2308 
+       `PARSE_ERROR
+((
+¡©us
+ =ð0), 
+£ùiÚ_Çme
+,
+
+2309 
+\92t
+->
+Çme
+);
+
+2315 
+       `PARSE_ERROR_INVALID
+(0, 
+£ùiÚ_Çme
+, 
+\92t
+->
+Çme
+);
+
+2318 
+·¿m
+->
+·r£d
+ = 1;
+
+2320 
+       `ä\93
+(
+\92\8c\9bs
+);
+
+2321 
+       }
+}
+
+2324 
+       $·r£_msgq_»q_p\9d\96\9ae
+(\19
+­p_·¿ms
+ *
+­p
+,
+
+2325 cڡ \ 5*
+£ùiÚ_Çme
+,
+
+2326 \19
+¹e_cfgf\9ee
+ *
+cfg
+)
+
+2328 \19
+­p_msgq_·¿ms
+ *
+·¿m
+;
+
+2329 \19
+¹e_cfgf\9ee_\92\8cy
+ *
+\92\8c\9bs
+;
+
+2330 \12
+n_\92\8c\9bs
+, 
+i
+;
+
+2331 
+ssize_t
+·¿m_idx
+;
+
+2333 
+n_\92\8c\9bs
+ = 
+       `¹e_cfgf\9ee_£ùiÚ_num_\92\8c\9bs
+(
+cfg
+, 
+£ùiÚ_Çme
+);
+
+2334 
+       `PARSE_ERROR_SECTION_NO_ENTRIES
+((
+n_\92\8c\9bs
+ > 0), 
+£ùiÚ_Çme
+);
+
+2336 
+\92\8c\9bs
+ = 
+       `m®loc
+(
+n_\92\8c\9bs
+ * \17(\19
+¹e_cfgf\9ee_\92\8cy
+));
+
+2337 
+       `PARSE_ERROR_MALLOC
+(
+\92\8c\9bs
+ !ð
+NULL
+);
+
+2339 
+       `¹e_cfgf\9ee_£ùiÚ_\92\8c\9bs
+(
+cfg
+, 
+£ùiÚ_Çme
+, 
+\92\8c\9bs
+, 
+n_\92\8c\9bs
+);
+
+2341 
+·¿m_idx
+ = 
+       `APP_PARAM_ADD
+(
+­p
+->
+msgq_·¿ms
+, 
+£ùiÚ_Çme
+);
+
+2342 
+       `PARSER_PARAM_ADD_CHECK
+(
+·¿m_idx
+, 
+­p
+->
+msgq_·¿ms
+, 
+£ùiÚ_Çme
+);
+
+2344 
+·¿m
+ = &
+­p
+->
+msgq_·¿ms
+[
+·¿m_idx
+];
+
+2346 \ f
+i
+ = 0; i < 
+n_\92\8c\9bs
+; i++) {
+
+2347 \19
+¹e_cfgf\9ee_\92\8cy
+ *
+\92t
+ = &
+\92\8c\9bs
+[
+i
+];
+
+2349 ià(
+       `¡rcmp
+(
+\92t
+->
+Çme
+, "size") == 0) {
+
+2350 \12
+¡©us
+ = 
+       `·r£r_»ad_u\9at32
+(&
+·¿m
+->
+size
+,
+
+2351 
+\92t
+->
+v®ue
+);
+
+2353 
+       `PARSE_ERROR
+((
+¡©us
+ =ð0), 
+£ùiÚ_Çme
+,
+
+2354 
+\92t
+->
+Çme
+);
+
+2359 
+       `PARSE_ERROR_INVALID
+(0, 
+£ùiÚ_Çme
+, 
+\92t
+->
+Çme
+);
+
+2362 
+·¿m
+->
+·r£d
+ = 1;
+
+2363 
+       `ä\93
+(
+\92\8c\9bs
+);
+
+2364 
+       }
+}
+
+2367 
+       $·r£_msgq_r¥_p\9d\96\9ae
+(\19
+­p_·¿ms
+ *
+­p
+,
+
+2368 cڡ \ 5*
+£ùiÚ_Çme
+,
+
+2369 \19
+¹e_cfgf\9ee
+ *
+cfg
+)
+
+2371 \19
+­p_msgq_·¿ms
+ *
+·¿m
+;
+
+2372 \19
+¹e_cfgf\9ee_\92\8cy
+ *
+\92\8c\9bs
+;
+
+2373 \12
+n_\92\8c\9bs
+, 
+i
+;
+
+2374 
+ssize_t
+·¿m_idx
+;
+
+2376 
+n_\92\8c\9bs
+ = 
+       `¹e_cfgf\9ee_£ùiÚ_num_\92\8c\9bs
+(
+cfg
+, 
+£ùiÚ_Çme
+);
+
+2377 
+       `PARSE_ERROR_SECTION_NO_ENTRIES
+((
+n_\92\8c\9bs
+ > 0), 
+£ùiÚ_Çme
+);
+
+2379 
+\92\8c\9bs
+ = 
+       `m®loc
+(
+n_\92\8c\9bs
+ * \17(\19
+¹e_cfgf\9ee_\92\8cy
+));
+
+2380 
+       `PARSE_ERROR_MALLOC
+(
+\92\8c\9bs
+ !ð
+NULL
+);
+
+2382 
+       `¹e_cfgf\9ee_£ùiÚ_\92\8c\9bs
+(
+cfg
+, 
+£ùiÚ_Çme
+, 
+\92\8c\9bs
+, 
+n_\92\8c\9bs
+);
+
+2384 
+·¿m_idx
+ = 
+       `APP_PARAM_ADD
+(
+­p
+->
+msgq_·¿ms
+, 
+£ùiÚ_Çme
+);
+
+2385 
+       `PARSER_PARAM_ADD_CHECK
+(
+·¿m_idx
+, 
+­p
+->
+msgq_·¿ms
+, 
+£ùiÚ_Çme
+);
+
+2387 
+·¿m
+ = &
+­p
+->
+msgq_·¿ms
+[
+·¿m_idx
+];
+
+2389 \ f
+i
+ = 0; i < 
+n_\92\8c\9bs
+; i++) {
+
+2390 \19
+¹e_cfgf\9ee_\92\8cy
+ *
+\92t
+ = &
+\92\8c\9bs
+[
+i
+];
+
+2392 ià(
+       `¡rcmp
+(
+\92t
+->
+Çme
+, "size") == 0) {
+
+2393 \12
+¡©us
+ = 
+       `·r£r_»ad_u\9at32
+(&
+·¿m
+->
+size
+,
+
+2394 
+\92t
+->
+v®ue
+);
+
+2396 
+       `PARSE_ERROR
+((
+¡©us
+ =ð0), 
+£ùiÚ_Çme
+,
+
+2397 
+\92t
+->
+Çme
+);
+
+2402 
+       `PARSE_ERROR_INVALID
+(0, 
+£ùiÚ_Çme
+, 
+\92t
+->
+Çme
+);
+
+2405 
+·¿m
+->
+·r£d
+ = 1;
+
+2407 
+       `ä\93
+(
+\92\8c\9bs
+);
+
+2408 
+       }
+}
+
+2411 
+       $·r£_msgq
+(\19
+­p_·¿ms
+ *
+­p
+,
+
+2412 cڡ \ 5*
+£ùiÚ_Çme
+,
+
+2413 \19
+¹e_cfgf\9ee
+ *
+cfg
+)
+
+2415 \19
+­p_msgq_·¿ms
+ *
+·¿m
+;
+
+2416 \19
+¹e_cfgf\9ee_\92\8cy
+ *
+\92\8c\9bs
+;
+
+2417 \12
+n_\92\8c\9bs
+, 
+i
+;
+
+2418 
+ssize_t
+·¿m_idx
+;
+
+2420 
+n_\92\8c\9bs
+ = 
+       `¹e_cfgf\9ee_£ùiÚ_num_\92\8c\9bs
+(
+cfg
+, 
+£ùiÚ_Çme
+);
+
+2421 
+       `PARSE_ERROR_SECTION_NO_ENTRIES
+((
+n_\92\8c\9bs
+ > 0), 
+£ùiÚ_Çme
+);
+
+2423 
+\92\8c\9bs
+ = 
+       `m®loc
+(
+n_\92\8c\9bs
+ * \17(\19
+¹e_cfgf\9ee_\92\8cy
+));
+
+2424 
+       `PARSE_ERROR_MALLOC
+(
+\92\8c\9bs
+ !ð
+NULL
+);
+
+2426 
+       `¹e_cfgf\9ee_£ùiÚ_\92\8c\9bs
+(
+cfg
+, 
+£ùiÚ_Çme
+, 
+\92\8c\9bs
+, 
+n_\92\8c\9bs
+);
+
+2428 
+·¿m_idx
+ = 
+       `APP_PARAM_ADD
+(
+­p
+->
+msgq_·¿ms
+, 
+£ùiÚ_Çme
+);
+
+2429 
+       `PARSER_PARAM_ADD_CHECK
+(
+·¿m_idx
+, 
+­p
+->
+msgq_·¿ms
+, 
+£ùiÚ_Çme
+);
+
+2431 
+·¿m
+ = &
+­p
+->
+msgq_·¿ms
+[
+·¿m_idx
+];
+
+2433 \ f
+i
+ = 0; i < 
+n_\92\8c\9bs
+; i++) {
+
+2434 \19
+¹e_cfgf\9ee_\92\8cy
+ *
+\92t
+ = &
+\92\8c\9bs
+[
+i
+];
+
+2436 ià(
+       `¡rcmp
+(
+\92t
+->
+Çme
+, "size") == 0) {
+
+2437 \12
+¡©us
+ = 
+       `·r£r_»ad_u\9at32
+(&
+·¿m
+->
+size
+,
+
+2438 
+\92t
+->
+v®ue
+);
+
+2440 
+       `PARSE_ERROR
+((
+¡©us
+ =ð0), 
+£ùiÚ_Çme
+,
+
+2441 
+\92t
+->
+Çme
+);
+
+2445 ià(
+       `¡rcmp
+(
+\92t
+->
+Çme
+, "cpu") == 0) {
+
+2446 \12
+¡©us
+ = 
+       `·r£r_»ad_u\9at32
+(
+
+2447 &
+·¿m
+->
+ýu_sock\91_id
+, 
+\92t
+->
+v®ue
+);
+
+2449 
+       `PARSE_ERROR
+((
+¡©us
+ =ð0), 
+£ùiÚ_Çme
+,
+
+2450 
+\92t
+->
+Çme
+);
+
+2455 
+       `PARSE_ERROR_INVALID
+(0, 
+£ùiÚ_Çme
+, 
+\92t
+->
+Çme
+);
+
+2458 
+·¿m
+->
+·r£d
+ = 1;
+
+2460 
+       `ä\93
+(
+\92\8c\9bs
+);
+
+2461 
+       }
+}
+
+2463 \e\1e(*
+       tcÚfig_£ùiÚ_lßd
+)(\19
+       t­p_·¿ms
+ *
+       tp
+,
+
+2464 cڡ \ 5*
+       t£ùiÚ_Çme
+,
+
+2465 \19
+       t¹e_cfgf\9ee
+ *
+       tcfg
+);
+
+2467 \19
+       scÚfig_£ùiÚ
+ {
+
+2468 cڡ \ 5
+´efix
+[
+CFG_NAME_LEN
+];
+
+2469 \12
+numb\94s
+;
+
+2470 
+cÚfig_£ùiÚ_lßd
+lßd
+;
+
+2473 \18cڡ \19
+cÚfig_£ùiÚ
+cfg_f\9ee_scheme
+[] = {
+
+2474 {"EAL", 0, 
+·r£_\97l
+},
+
+2475 {"PIPELINE", 1, 
+·r£_p\9d\96\9ae
+},
+
+2476 {"MEMPOOL", 1, 
+·r£_mempoÞ
+},
+
+2477 {"LINK", 1, 
+·r£_l\9ak
+},
+
+2478 {"RXQ", 2, 
+·r£_rxq
+},
+
+2479 {"TXQ", 2, 
+·r£_txq
+},
+
+2480 {"SWQ", 1, 
+·r£_swq
+},
+
+2481 {"TM", 1, 
+·r£_tm
+},
+
+2482 {"SOURCE", 1, 
+·r£_sourû
+},
+
+2483 {"SINK", 1, 
+·r£_s\9ak
+},
+
+2484 {"MSGQ-REQ-PIPELINE", 1, 
+·r£_msgq_»q_p\9d\96\9ae
+},
+
+2485 {"MSGQ-RSP-PIPELINE", 1, 
+·r£_msgq_r¥_p\9d\96\9ae
+},
+
+2486 {"MSGQ", 1, 
+·r£_msgq
+},
+
+2487 
+       }
+};
+
+2490 
+       $ü\97\8b_im¶ic\99_mempoÞs
+(\19
+­p_·¿ms
+ *
+­p
+)
+
+2492 
+ssize_t
+idx
+;
+
+2494 
+idx
+ = 
+       `APP_PARAM_ADD
+(
+­p
+->
+mempoÞ_·¿ms
+, "MEMPOOL0");
+
+2495 
+       `PARSER_PARAM_ADD_CHECK
+(
+idx
+, 
+­p
+->
+mempoÞ_·¿ms
+, "start-up");
+
+2496 
+       }
+}
+
+2499 
+       $ü\97\8b_im¶ic\99_l\9aks_äom_pÜt_mask
+(\19
+­p_·¿ms
+ *
+­p
+,
+
+2500 
+u\9at64_t
+pÜt_mask
+)
+
+2502 
+u\9at32_t
+pmd_id
+, 
+l\9ak_id
+;
+
+2504 
+l\9ak_id
+ = 0;
+
+2505 \ f
+pmd_id
+ = 0;\85md_id < 
+RTE_MAX_ETHPORTS
+;\85md_id++) {
+
+2506 \ 5
+Çme
+[
+APP_PARAM_NAME_SIZE
+];
+
+2507 
+ssize_t
+idx
+;
+
+2509 ià((
+pÜt_mask
+ & (1LLU << 
+pmd_id
+)) == 0)
+
+2512 
+       `¢´\9atf
+(
+Çme
+, \17Òame), "LINK%" 
+PRIu32
+, 
+l\9ak_id
+);
+
+2513 
+idx
+ = 
+       `APP_PARAM_ADD
+(
+­p
+->
+l\9ak_·¿ms
+, 
+Çme
+);
+
+2514 
+       `PARSER_PARAM_ADD_CHECK
+(
+idx
+, 
+­p
+->
+l\9ak_·¿ms
+, 
+Çme
+);
+
+2516 
+­p
+->
+l\9ak_·¿ms
+[
+idx
+].
+pmd_id
+ =\85md_id;
+
+2517 
+l\9ak_id
+++;
+
+2519 
+       }
+}
+
+2522 
+       $assign_l\9ak_pmd_id_äom_pci_bdf
+(\19
+­p_·¿ms
+ *
+­p
+)
+
+2524 
+u\9at32_t
+i
+;
+
+2526 \ f
+i
+ = 0; i < 
+­p
+->
+n_l\9aks
+; i++) {
+
+2527 \19
+­p_l\9ak_·¿ms
+ *
+l\9ak
+ = &
+­p
+->
+l\9ak_·¿ms
+[
+i
+];
+
+2529 
+l\9ak
+->
+pmd_id
+ = 
+i
+;
+
+2531 
+       }
+}
+
+2534 
+       $­p_cÚfig_·r£
+(\19
+­p_·¿ms
+ *
+­p
+, cڡ \ 5*
+f\9ee_Çme
+)
+
+2536 \19
+¹e_cfgf\9ee
+ *
+cfg
+;
+
+2537 \ 5**
+£ùiÚ_Çmes
+;
+
+2538 \12
+i
+, 
+j
+, 
+£ù_couÁ
+;
+
+2541 
+       `ü\97\8b_im¶ic\99_mempoÞs
+(
+­p
+);
+
+2544 ià(
+­p
+->
+pÜt_mask
+)
+
+2545 
+       `ü\97\8b_im¶ic\99_l\9aks_äom_pÜt_mask
+(
+­p
+,\87µ->
+pÜt_mask
+);
+
+2548 
+cfg
+ = 
+       `¹e_cfgf\9ee_lßd
+(
+f\9ee_Çme
+, 0);
+
+2549 
+       `APP_CHECK
+((
+cfg
+ !ð
+NULL
+), "Parse\83rror: Unable\81o\86oad config "
+
+2550 "f\9e\90%s", 
+f\9ee_Çme
+);
+
+2552 
+£ù_couÁ
+ = 
+       `¹e_cfgf\9ee_num_£ùiÚs
+(
+cfg
+, 
+NULL
+, 0);
+
+2553 
+       `APP_CHECK
+((
+£ù_couÁ
+ > 0), "Parse\83rror:\82umber of sections "
+
+2554 "\9a f\9e\90\"%s\"\84\91uº %d", 
+f\9ee_Çme
+,
+
+2555 
+£ù_couÁ
+);
+
+2557 
+£ùiÚ_Çmes
+ = 
+       `m®loc
+(
+£ù_couÁ
+ * \17(\ 5*));
+
+2558 
+       `PARSE_ERROR_MALLOC
+(
+£ùiÚ_Çmes
+ !ð
+NULL
+);
+
+2560 \ f
+i
+ = 0; i < 
+£ù_couÁ
+; i++)
+
+2561 
+£ùiÚ_Çmes
+[
+i
+] = 
+       `m®loc
+(
+CFG_NAME_LEN
+);
+
+2563 
+       `¹e_cfgf\9ee_£ùiÚs
+(
+cfg
+, 
+£ùiÚ_Çmes
+, 
+£ù_couÁ
+);
+
+2565 \ f
+i
+ = 0; i < 
+£ù_couÁ
+; i++) {
+
+2566 cڡ \19
+cÚfig_£ùiÚ
+ *
+sch_s
+;
+
+2567 \12
+Ën
+, 
+cfg_Çme_Ën
+;
+
+2569 
+cfg_Çme_Ën
+ = 
+       `¡¾\92
+(
+£ùiÚ_Çmes
+[
+i
+]);
+
+2572 \ f
+j
+ = 0; j < (\12)
+       `RTE_DIM
+(
+cfg_f\9ee_scheme
+); j++) {
+
+2573 
+sch_s
+ = &
+cfg_f\9ee_scheme
+[
+j
+];
+
+2574 
+Ën
+ = 
+       `¡¾\92
+(
+sch_s
+->
+´efix
+);
+
+2576 ià(
+cfg_Çme_Ën
+ < 
+Ën
+)
+
+2585 ià((
+£ùiÚ_Çmes
+[
+i
+][
+Ën
+] != '\0') &&
+
+2586 !
+       `isdig\99
+(
+£ùiÚ_Çmes
+[
+i
+][
+Ën
+]))
+
+2589 ià(
+       `¡ºcmp
+(
+sch_s
+->
+´efix
+, 
+£ùiÚ_Çmes
+[
+i
+], 
+Ën
+) == 0)
+
+2593 
+       `APP_CHECK
+(
+j
+ < (\12)
+       `RTE_DIM
+(
+cfg_f\9ee_scheme
+),
+
+2595 
+£ùiÚ_Çmes
+[
+i
+]);
+
+2597 
+       `APP_CHECK
+(
+       `v®id©e_Çme
+(
+£ùiÚ_Çmes
+[
+i
+],
+
+2598 
+sch_s
+->
+´efix
+,
+
+2599 
+sch_s
+->
+numb\94s
+) == 0,
+
+2601 
+£ùiÚ_Çmes
+[
+i
+]);
+
+2603 
+sch_s
+->
+       `lßd
+(
+­p
+, 
+£ùiÚ_Çmes
+[
+i
+], 
+cfg
+);
+
+2606 \ f
+i
+ = 0; i < 
+£ù_couÁ
+; i++)
+
+2607 
+       `ä\93
+(
+£ùiÚ_Çmes
+[
+i
+]);
+
+2609 
+       `ä\93
+(
+£ùiÚ_Çmes
+);
+
+2611 
+       `¹e_cfgf\9ee_þo£
+(
+cfg
+);
+
+2613 
+       `APP_PARAM_COUNT
+(
+­p
+->
+mempoÞ_·¿ms
+,\87µ->
+n_mempoÞs
+);
+
+2614 
+       `APP_PARAM_COUNT
+(
+­p
+->
+l\9ak_·¿ms
+,\87µ->
+n_l\9aks
+);
+
+2615 
+       `APP_PARAM_COUNT
+(
+­p
+->
+hwq_\9a_·¿ms
+,\87µ->
+n_pktq_hwq_\9a
+);
+
+2616 
+       `APP_PARAM_COUNT
+(
+­p
+->
+hwq_out_·¿ms
+,\87µ->
+n_pktq_hwq_out
+);
+
+2617 
+       `APP_PARAM_COUNT
+(
+­p
+->
+swq_·¿ms
+,\87µ->
+n_pktq_swq
+);
+
+2618 
+       `APP_PARAM_COUNT
+(
+­p
+->
+tm_·¿ms
+,\87µ->
+n_pktq_tm
+);
+
+2619 
+       `APP_PARAM_COUNT
+(
+­p
+->
+sourû_·¿ms
+,\87µ->
+n_pktq_sourû
+);
+
+2620 
+       `APP_PARAM_COUNT
+(
+­p
+->
+s\9ak_·¿ms
+,\87µ->
+n_pktq_s\9ak
+);
+
+2621 
+       `APP_PARAM_COUNT
+(
+­p
+->
+msgq_·¿ms
+,\87µ->
+n_msgq
+);
+
+2622 
+       `APP_PARAM_COUNT
+(
+­p
+->
+p\9d\96\9ae_·¿ms
+,\87µ->
+n_p\9d\96\9aes
+);
+
+2624 #ifdeà
+RTE_PORT_PCAP
+
+
+2625 \ f
+i
+ = 0; i < (\12)
+­p
+->
+n_pktq_sourû
+; i++) {
+
+2626 \19
+­p_pktq_sourû_·¿ms
+ *
+p
+ = &
+­p
+->
+sourû_·¿ms
+[
+i
+];
+
+2628 
+       `APP_CHECK
+((
+p
+->
+f\9ee_Çme
+), "Parse\83rror: missing "
+
+2630 
+p
+->
+Çme
+);
+
+2633 \ f
+i
+ = 0; i < (\12)
+­p
+->
+n_pktq_sourû
+; i++) {
+
+2634 \19
+­p_pktq_sourû_·¿ms
+ *
+p
+ = &
+­p
+->
+sourû_·¿ms
+[
+i
+];
+
+2636 
+       `APP_CHECK
+((!
+p
+->
+f\9ee_Çme
+), "Parse\83rror: invalid field "
+
+2637 "\"pÿp_f\9ee_rd\" fÜ \"%s\"", 
+p
+->
+Çme
+);
+
+2641 ià(
+­p
+->
+pÜt_mask
+ == 0)
+
+2642 
+       `assign_l\9ak_pmd_id_äom_pci_bdf
+(
+­p
+);
+
+2645 
+       `­p_cÚfig_§ve
+(
+­p
+,\87µ->
+ou\8dut_f\9ee
+);
+
+2648 
+       `­p_cÚfig_·r£_tm
+(
+­p
+);
+
+2651 
+       }
+}
+
+2654 
+       $§ve_\97l_·¿ms
+(\19
+­p_·¿ms
+ *
+­p
+, 
+FILE
+ *
+f
+)
+
+2656 \19
+­p_\97l_·¿ms
+ *
+p
+ = &
+­p
+->
+\97l_·¿ms
+;
+
+2657 
+u\9at32_t
+i
+;
+
+2659 
+       `år\9atf
+(
+f
+, "[EAL]\n");
+
+2661 ià(
+p
+->
+cÜem­
+)
+
+2662 
+       `år\9atf
+(
+f
+, "% ð%s\n", "lcÜes", 
+p
+->
+cÜem­
+);
+
+2664 ià(
+p
+->
+ma¡\94_lcÜe_´e£Á
+)
+
+2665 
+       `år\9atf
+(
+f
+, "% ð%" 
+PRIu32
+ "\n",
+
+2666 "ma¡\94_lcÜe", 
+p
+->
+ma¡\94_lcÜe
+);
+
+2668 
+       `år\9atf
+(
+f
+, "% ð%" 
+PRIu32
+ "\n", "n", 
+p
+->
+chªÃls
+);
+
+2670 ià(
+p
+->
+memÜy_´e£Á
+)
+
+2671 
+       `år\9atf
+(
+f
+, "% ð%" 
+PRIu32
+ "\n", "m", 
+p
+->
+memÜy
+);
+
+2673 ià(
+p
+->
+¿nks_´e£Á
+)
+
+2674 
+       `år\9atf
+(
+f
+, "% ð%" 
+PRIu32
+ "\n", "r", 
+p
+->
+¿nks
+);
+
+2676 \ f
+i
+ = 0; i < 
+APP_MAX_LINKS
+; i++) {
+
+2677 ià(
+p
+->
+pci_bÏckli¡
+[
+i
+] =ð
+NULL
+)
+
+2680 
+       `år\9atf
+(
+f
+, "%s = %s\n", "pci_blacklist",
+
+2681 
+p
+->
+pci_bÏckli¡
+[
+i
+]);
+
+2684 \ f
+i
+ = 0; i < 
+APP_MAX_LINKS
+; i++) {
+
+2685 ià(
+p
+->
+pci_wh\99\96
+[
+i
+] =ð
+NULL
+)
+
+2688 
+       `år\9atf
+(
+f
+, "%s = %s\n", "pci_whitelist",
+
+2689 
+p
+->
+pci_wh\99\96
+[
+i
+]);
+
+2692 \ f
+i
+ = 0; i < 
+APP_MAX_LINKS
+; i++) {
+
+2693 ià(
+p
+->
+vdev
+[
+i
+] =ð
+NULL
+)
+
+2696 
+       `år\9atf
+(
+f
+, "%s = %s\n", "vdev",
+
+2697 
+p
+->
+vdev
+[
+i
+]);
+
+2700 ià(
+p
+->
+vmw¬e_tsc_m­_´e£Á
+)
+
+2701 
+       `år\9atf
+(
+f
+, "%s = %s\n", "vmware_tsc_map",
+
+2702 (
+p
+->
+vmw¬e_tsc_m­
+) ? "yes" : "no");
+
+2704 ià(
+p
+->
+´oc_ty³
+)
+
+2705 
+       `år\9atf
+(
+f
+, "% ð%s\n", "´oc_ty³", 
+p
+->
+´oc_ty³
+);
+
+2707 ià(
+p
+->
+sy¦og
+)
+
+2708 
+       `år\9atf
+(
+f
+, "% ð%s\n", "sy¦og", 
+p
+->
+sy¦og
+);
+
+2710 ià(
+p
+->
+log_Ëv\96_´e£Á
+)
+
+2711 
+       `år\9atf
+(
+f
+, "% ð%" 
+PRIu32
+ "\n", "log_Ëv\96", 
+p
+->
+log_Ëv\96
+);
+
+2713 ià(
+p
+->
+v\94siÚ_´e£Á
+)
+
+2714 
+       `år\9atf
+(
+f
+, "% ð%s\n", "v", (
+p
+->
+v\94siÚ
+) ? "yes" : "no");
+
+2716 ià(
+p
+->
+h\96p_´e£Á
+)
+
+2717 
+       `år\9atf
+(
+f
+, "% ð%s\n", "h\96p", (
+p
+->
+h\96p
+) ? "yes" : "no");
+
+2719 ià(
+p
+->
+no_huge_´e£Á
+)
+
+2720 
+       `år\9atf
+(
+f
+, "% ð%s\n", "no_huge", (
+p
+->
+no_huge
+) ? "yes" : "no");
+
+2722 ià(
+p
+->
+no_pci_´e£Á
+)
+
+2723 
+       `år\9atf
+(
+f
+, "% ð%s\n", "no_pci", (
+p
+->
+no_pci
+) ? "yes" : "no");
+
+2725 ià(
+p
+->
+no_h³t_´e£Á
+)
+
+2726 
+       `år\9atf
+(
+f
+, "% ð%s\n", "no_h³t", (
+p
+->
+no_h³t
+) ? "yes" : "no");
+
+2728 ià(
+p
+->
+no_shcÚf_´e£Á
+)
+
+2729 
+       `år\9atf
+(
+f
+, "%s = %s\n", "no_shconf",
+
+2730 (
+p
+->
+no_shcÚf
+) ? "yes" : "no");
+
+2732 ià(
+p
+->
+add_driv\94
+)
+
+2733 
+       `år\9atf
+(
+f
+, "% ð%s\n", "d", 
+p
+->
+add_driv\94
+);
+
+2735 ià(
+p
+->
+sock\91_mem
+)
+
+2736 
+       `år\9atf
+(
+f
+, "% ð%s\n", "sock\91_mem", 
+p
+->
+sock\91_mem
+);
+
+2738 ià(
+p
+->
+huge_d\9c
+)
+
+2739 
+       `år\9atf
+(
+f
+, "% ð%s\n", "huge_d\9c", 
+p
+->
+huge_d\9c
+);
+
+2741 ià(
+p
+->
+f\9ee_´efix
+)
+
+2742 
+       `år\9atf
+(
+f
+, "% ð%s\n", "f\9ee_´efix", 
+p
+->
+f\9ee_´efix
+);
+
+2744 ià(
+p
+->
+ba£_v\9c\8fddr
+)
+
+2745 
+       `år\9atf
+(
+f
+, "% ð%s\n", "ba£_v\9c\8fddr", 
+p
+->
+ba£_v\9c\8fddr
+);
+
+2747 ià(
+p
+->
\97\8b_uio_dev_´e£Á
+)
+
+2748 
+       `år\9atf
+(
+f
+, "%s = %s\n", "create_uio_dev",
+
+2749 (
+p
+->
\97\8b_uio_dev
+) ? "yes" : "no");
+
+2751 ià(
+p
+->
+vfio_\9a\8c
+)
+
+2752 
+       `år\9atf
+(
+f
+, "% ð%s\n", "vfio_\9a\8c", 
+p
+->
+vfio_\9a\8c
+);
+
+2754 ià(
+p
+->
+x\92_dom0_´e£Á
+)
+
+2755 
+       `år\9atf
+(
+f
+, "%s = %s\n", "xen_dom0",
+
+2756 (
+p
+->
+x\92_dom0
+) ? "yes" : "no");
+
+2758 
+       `åutc
+('\n', 
+f
+);
+
+2759 
+       }
+}
+
+2762 
+       $§ve_mempoÞ_·¿ms
+(\19
+­p_·¿ms
+ *
+­p
+, 
+FILE
+ *
+f
+)
+
+2764 \19
+­p_mempoÞ_·¿ms
+ *
+p
+;
+
+2765 
+size_t
+i
+, 
+couÁ
+;
+
+2767 
+couÁ
+ = 
+       `RTE_DIM
+(
+­p
+->
+mempoÞ_·¿ms
+);
+
+2768 \ f
+i
+ = 0; i < 
+couÁ
+; i++) {
+
+2769 
+p
+ = &
+­p
+->
+mempoÞ_·¿ms
+[
+i
+];
+
+2770 ià(!
+       `APP_PARAM_VALID
+(
+p
+))
+
+2773 
+       `år\9atf
+(
+f
+, "[%s]\n", 
+p
+->
+Çme
+);
+
+2774 
+       `år\9atf
+(
+f
+, "% ð%" 
+PRIu32
+ "\n", "bufãr_size", 
+p
+->
+bufãr_size
+);
+
+2775 
+       `år\9atf
+(
+f
+, "% ð%" 
+PRIu32
+ "\n", "poÞ_size", 
+p
+->
+poÞ_size
+);
+
+2776 
+       `år\9atf
+(
+f
+, "% ð%" 
+PRIu32
+ "\n", "ÿche_size", 
+p
+->
+ÿche_size
+);
+
+2777 
+       `år\9atf
+(
+f
+, "% ð%" 
+PRIu32
+ "\n", "ýu", 
+p
+->
+ýu_sock\91_id
+);
+
+2779 
+       `åutc
+('\n', 
+f
+);
+
+2781 
+       }
+}
+
+2784 
+       $§ve_l\9aks_·¿ms
+(\19
+­p_·¿ms
+ *
+­p
+, 
+FILE
+ *
+f
+)
+
+2786 \19
+­p_l\9ak_·¿ms
+ *
+p
+;
+
+2787 
+size_t
+i
+, 
+couÁ
+;
+
+2789 
+couÁ
+ = 
+       `RTE_DIM
+(
+­p
+->
+l\9ak_·¿ms
+);
+
+2790 \ f
+i
+ = 0; i < 
+couÁ
+; i++) {
+
+2791 
+p
+ = &
+­p
+->
+l\9ak_·¿ms
+[
+i
+];
+
+2792 ià(!
+       `APP_PARAM_VALID
+(
+p
+))
+
+2795 
+       `år\9atf
+(
+f
+, "[%s]\n", 
+p
+->
+Çme
+);
+
+2796 
+       `år\9atf
+(
+f
+, "; % ð%" 
+PRIu32
+ "\n", "pmd_id", 
+p
+->
+pmd_id
+);
+
+2797 
+       `år\9atf
+(
+f
+, "% ð%s\n", "´omisc", 
+p
+->
+´omisc
+ ? "yes" : "no");
+
+2798 
+       `år\9atf
+(
+f
+, "% ð%" 
+PRIu32
+ "\n", "¬p_q", 
+p
+->
+¬p_q
+);
+
+2799 
+       `år\9atf
+(
+f
+, "% ð%" 
+PRIu32
+ "\n", "tcp_syn_q",
+
+2800 
+p
+->
+tý_syn_q
+);
+
+2801 
+       `år\9atf
+(
+f
+, "% ð%" 
+PRIu32
+ "\n", "\9d_loÿl_q", 
+p
+->
+\9d_loÿl_q
+);
+
+2802 
+       `år\9atf
+(
+f
+, "% ð%" 
+PRIu32
+ "\n", "tý_loÿl_q", 
+p
+->
+tý_loÿl_q
+);
+
+2803 
+       `år\9atf
+(
+f
+, "% ð%" 
+PRIu32
+ "\n", "udp_loÿl_q", 
+p
+->
+udp_loÿl_q
+);
+
+2804 
+       `år\9atf
+(
+f
+, "% ð%" 
+PRIu32
+ "\n", "sctp_local_q",
+
+2805 
+p
+->
+sùp_loÿl_q
+);
+
+2807 ià(
+       `¡¾\92
+(
+p
+->
+pci_bdf
+))
+
+2808 
+       `år\9atf
+(
+f
+, "% ð%s\n", "pci_bdf", 
+p
+->
+pci_bdf
+);
+
+2810 
+       `åutc
+('\n', 
+f
+);
+
+2812 
+       }
+}
+
+2815 
+       $§ve_rxq_·¿ms
+(\19
+­p_·¿ms
+ *
+­p
+, 
+FILE
+ *
+f
+)
+
+2817 \19
+­p_pktq_hwq_\9a_·¿ms
+ *
+p
+;
+
+2818 
+size_t
+i
+, 
+couÁ
+;
+
+2820 
+couÁ
+ = 
+       `RTE_DIM
+(
+­p
+->
+hwq_\9a_·¿ms
+);
+
+2821 \ f
+i
+ = 0; i < 
+couÁ
+; i++) {
+
+2822 
+p
+ = &
+­p
+->
+hwq_\9a_·¿ms
+[
+i
+];
+
+2823 ià(!
+       `APP_PARAM_VALID
+(
+p
+))
+
+2826 
+       `år\9atf
+(
+f
+, "[%s]\n", 
+p
+->
+Çme
+);
+
+2827 
+       `år\9atf
+(
+f
+, "%s = %s\n",
+
+2829 
+­p
+->
+mempoÞ_·¿ms
+[
+p
+->
+mempoÞ_id
+].
+Çme
+);
+
+2830 
+       `år\9atf
+(
+f
+, "% ð%" 
+PRIu32
+ "\n", "size", 
+p
+->
+size
+);
+
+2831 
+       `år\9atf
+(
+f
+, "% ð%" 
+PRIu32
+ "\n", "bur¡", 
+p
+->
+bur¡
+);
+
+2833 
+       `åutc
+('\n', 
+f
+);
+
+2835 
+       }
+}
+
+2838 
+       $§ve_txq_·¿ms
+(\19
+­p_·¿ms
+ *
+­p
+, 
+FILE
+ *
+f
+)
+
+2840 \19
+­p_pktq_hwq_out_·¿ms
+ *
+p
+;
+
+2841 
+size_t
+i
+, 
+couÁ
+;
+
+2843 
+couÁ
+ = 
+       `RTE_DIM
+(
+­p
+->
+hwq_out_·¿ms
+);
+
+2844 \ f
+i
+ = 0; i < 
+couÁ
+; i++) {
+
+2845 
+p
+ = &
+­p
+->
+hwq_out_·¿ms
+[
+i
+];
+
+2846 ià(!
+       `APP_PARAM_VALID
+(
+p
+))
+
+2849 
+       `år\9atf
+(
+f
+, "[%s]\n", 
+p
+->
+Çme
+);
+
+2850 
+       `år\9atf
+(
+f
+, "% ð%" 
+PRIu32
+ "\n", "size", 
+p
+->
+size
+);
+
+2851 
+       `år\9atf
+(
+f
+, "% ð%" 
+PRIu32
+ "\n", "bur¡", 
+p
+->
+bur¡
+);
+
+2852 
+       `år\9atf
+(
+f
+, "%s = %s\n",
+
+2854 
+p
+->
+drÝËss
+ ? "yes" : "no");
+
+2856 
+       `åutc
+('\n', 
+f
+);
+
+2858 
+       }
+}
+
+2861 
+       $§ve_swq_·¿ms
+(\19
+­p_·¿ms
+ *
+­p
+, 
+FILE
+ *
+f
+)
+
+2863 \19
+­p_pktq_swq_·¿ms
+ *
+p
+;
+
+2864 
+size_t
+i
+, 
+couÁ
+;
+
+2866 
+couÁ
+ = 
+       `RTE_DIM
+(
+­p
+->
+swq_·¿ms
+);
+
+2867 \ f
+i
+ = 0; i < 
+couÁ
+; i++) {
+
+2868 
+p
+ = &
+­p
+->
+swq_·¿ms
+[
+i
+];
+
+2869 ià(!
+       `APP_PARAM_VALID
+(
+p
+))
+
+2872 
+       `år\9atf
+(
+f
+, "[%s]\n", 
+p
+->
+Çme
+);
+
+2873 
+       `år\9atf
+(
+f
+, "% ð%" 
+PRIu32
+ "\n", "size", 
+p
+->
+size
+);
+
+2874 
+       `år\9atf
+(
+f
+, "% ð%" 
+PRIu32
+ "\n", "bur¡_»ad", 
+p
+->
+bur¡_»ad
+);
+
+2875 
+       `år\9atf
+(
+f
+, "% ð%" 
+PRIu32
+ "\n", "bur¡_wr\99e", 
+p
+->
+bur¡_wr\99e
+);
+
+2876 
+       `år\9atf
+(
+f
+, "% ð%s\n", "drÝËss", 
+p
+->
+drÝËss
+ ? "yes" : "no");
+
+2877 
+       `år\9atf
+(
+f
+, "% ð%" 
+PRIu64
+ "\n", "n_»\8c\9bs", 
+p
+->
+n_»\8c\9bs
+);
+
+2878 
+       `år\9atf
+(
+f
+, "% ð%" 
+PRIu32
+ "\n", "ýu", 
+p
+->
+ýu_sock\91_id
+);
+
+2879 
+       `år\9atf
+(
+f
+, "% ð%s\n", "\9dv4_äag", 
+p
+->
+\9dv4_äag
+ ? "yes" : "no");
+
+2880 
+       `år\9atf
+(
+f
+, "% ð%s\n", "\9dv6_äag", 
+p
+->
+\9dv6_äag
+ ? "yes" : "no");
+
+2881 
+       `år\9atf
+(
+f
+, "% ð%s\n", "\9dv4_¿s", 
+p
+->
+\9dv4_¿s
+ ? "yes" : "no");
+
+2882 
+       `år\9atf
+(
+f
+, "% ð%s\n", "\9dv6_¿s", 
+p
+->
+\9dv6_¿s
+ ? "yes" : "no");
+
+2883 ià((
+p
+->
+\9dv4_äag
+ =ð1è|| (p->
+\9dv6_äag
+ == 1)) {
+
+2884 
+       `år\9atf
+(
+f
+, "% ð%" 
+PRIu32
+ "\n", "mtu", 
+p
+->
+mtu
+);
+
+2885 
+       `år\9atf
+(
+f
+, "% ð%" 
+PRIu32
+ "\n", "m\91ad©a_size", 
+p
+->
+m\91ad©a_size
+);
+
+2886 
+       `år\9atf
+(
+f
+, "%s = %s\n",
+
+2888 
+­p
+->
+mempoÞ_·¿ms
+[
+p
+->
+mempoÞ_d\9ceù_id
+].
+Çme
+);
+
+2889 
+       `år\9atf
+(
+f
+, "%s = %s\n",
+
+2891 
+­p
+->
+mempoÞ_·¿ms
+[
+p
+->
+mempoÞ_\9ad\9ceù_id
+].
+Çme
+);
+
+2894 
+       `åutc
+('\n', 
+f
+);
+
+2896 
+       }
+}
+
+2899 
+       $§ve_tm_·¿ms
+(\19
+­p_·¿ms
+ *
+­p
+, 
+FILE
+ *
+f
+)
+
+2901 \19
+­p_pktq_tm_·¿ms
+ *
+p
+;
+
+2902 
+size_t
+i
+, 
+couÁ
+;
+
+2904 
+couÁ
+ = 
+       `RTE_DIM
+(
+­p
+->
+tm_·¿ms
+);
+
+2905 \ f
+i
+ = 0; i < 
+couÁ
+; i++) {
+
+2906 
+p
+ = &
+­p
+->
+tm_·¿ms
+[
+i
+];
+
+2907 ià(!
+       `APP_PARAM_VALID
+(
+p
+))
+
+2910 
+       `år\9atf
+(
+f
+, "[%s]\n", 
+p
+->
+Çme
+);
+
+2911 
+       `år\9atf
+(
+f
+, "% ð%s\n", "cfg", 
+p
+->
+f\9ee_Çme
+);
+
+2912 
+       `år\9atf
+(
+f
+, "% ð%" 
+PRIu32
+ "\n", "bur¡_»ad", 
+p
+->
+bur¡_»ad
+);
+
+2913 
+       `år\9atf
+(
+f
+, "% ð%" 
+PRIu32
+ "\n", "bur¡_wr\99e", 
+p
+->
+bur¡_wr\99e
+);
+
+2915 
+       `åutc
+('\n', 
+f
+);
+
+2917 
+       }
+}
+
+2920 
+       $§ve_sourû_·¿ms
+(\19
+­p_·¿ms
+ *
+­p
+, 
+FILE
+ *
+f
+)
+
+2922 \19
+­p_pktq_sourû_·¿ms
+ *
+p
+;
+
+2923 
+size_t
+i
+, 
+couÁ
+;
+
+2925 
+couÁ
+ = 
+       `RTE_DIM
+(
+­p
+->
+sourû_·¿ms
+);
+
+2926 \ f
+i
+ = 0; i < 
+couÁ
+; i++) {
+
+2927 
+p
+ = &
+­p
+->
+sourû_·¿ms
+[
+i
+];
+
+2928 ià(!
+       `APP_PARAM_VALID
+(
+p
+))
+
+2931 
+       `år\9atf
+(
+f
+, "[%s]\n", 
+p
+->
+Çme
+);
+
+2932 
+       `år\9atf
+(
+f
+, "%s = %s\n",
+
+2934 
+­p
+->
+mempoÞ_·¿ms
+[
+p
+->
+mempoÞ_id
+].
+Çme
+);
+
+2935 
+       `år\9atf
+(
+f
+, "% ð%" 
+PRIu32
+ "\n", "bur¡", 
+p
+->
+bur¡
+);
+
+2936 
+       `år\9atf
+(
+f
+, "% ð%s\n", "pÿp_f\9ee_rd", 
+p
+->
+f\9ee_Çme
+);
+
+2937 
+       `år\9atf
+(
+f
+, "% ð%" 
+PRIu32
+ "\n", "pcap_bytes_rd_per_pkt",
+
+2938 
+p
+->
+n_by\8bs_³r_pkt
+);
+
+2939 
+       `åutc
+('\n', 
+f
+);
+
+2941 
+       }
+}
+
+2944 
+       $§ve_s\9ak_·¿ms
+(\19
+­p_·¿ms
+ *
+­p
+, 
+FILE
+ *
+f
+)
+
+2946 \19
+­p_pktq_s\9ak_·¿ms
+ *
+p
+;
+
+2947 
+size_t
+i
+, 
+couÁ
+;
+
+2949 
+couÁ
+ = 
+       `RTE_DIM
+(
+­p
+->
+s\9ak_·¿ms
+);
+
+2950 \ f
+i
+ = 0; i < 
+couÁ
+; i++) {
+
+2951 
+p
+ = &
+­p
+->
+s\9ak_·¿ms
+[
+i
+];
+
+2952 ià(!
+       `APP_PARAM_VALID
+(
+p
+))
+
+2955 
+       `år\9atf
+(
+f
+, "[%s]\n", 
+p
+->
+Çme
+);
+
+2956 
+       `år\9atf
+(
+f
+, "% ð%s\n", "pÿp_f\9ee_wr", 
+p
+->
+f\9ee_Çme
+);
+
+2957 
+       `år\9atf
+(
+f
+, "% ð%" 
+PRIu32
+ "\n",
+
+2958 "pÿp_n_pkt_wr", 
+p
+->
+n_pkts_to_dump
+);
+
+2959 
+       `åutc
+('\n', 
+f
+);
+
+2961 
+       }
+}
+
+2964 
+       $§ve_msgq_·¿ms
+(\19
+­p_·¿ms
+ *
+­p
+, 
+FILE
+ *
+f
+)
+
+2966 \19
+­p_msgq_·¿ms
+ *
+p
+;
+
+2967 
+size_t
+i
+, 
+couÁ
+;
+
+2969 
+couÁ
+ = 
+       `RTE_DIM
+(
+­p
+->
+msgq_·¿ms
+);
+
+2970 \ f
+i
+ = 0; i < 
+couÁ
+; i++) {
+
+2971 
+p
+ = &
+­p
+->
+msgq_·¿ms
+[
+i
+];
+
+2972 ià(!
+       `APP_PARAM_VALID
+(
+p
+))
+
+2975 
+       `år\9atf
+(
+f
+, "[%s]\n", 
+p
+->
+Çme
+);
+
+2976 
+       `år\9atf
+(
+f
+, "% ð%" 
+PRIu32
+ "\n", "size", 
+p
+->
+size
+);
+
+2977 
+       `år\9atf
+(
+f
+, "% ð%" 
+PRIu32
+ "\n", "ýu", 
+p
+->
+ýu_sock\91_id
+);
+
+2979 
+       `åutc
+('\n', 
+f
+);
+
+2981 
+       }
+}
+
+2984 
+       $§ve_p\9d\96\9ae_·¿ms
+(\19
+­p_·¿ms
+ *
+­p
+, 
+FILE
+ *
+f
+)
+
+2986 
+size_t
+i
+, 
+couÁ
+;
+
+2988 
+couÁ
+ = 
+       `RTE_DIM
+(
+­p
+->
+p\9d\96\9ae_·¿ms
+);
+
+2989 \ f
+i
+ = 0; i < 
+couÁ
+; i++) {
+
+2990 \19
+­p_p\9d\96\9ae_·¿ms
+ *
+p
+ = &
+­p
+->
+p\9d\96\9ae_·¿ms
+[
+i
+];
+
+2992 ià(!
+       `APP_PARAM_VALID
+(
+p
+))
+
+2996 
+       `år\9atf
+(
+f
+, "[%s]\n", 
+p
+->
+Çme
+);
+
+2999 
+       `år\9atf
+(
+f
+, "ty³ = %s\n", 
+p
+->
+ty³
+);
+
+3002 
+       `år\9atf
+(
+f
+, "cÜ\90ðs%" 
+PRIu32
+ "c%" PRIu32 "%s\n",
+
+3003 
+p
+->
+sock\91_id
+,
+
+3004 
+p
+->
+cÜe_id
+,
+
+3005 (
+p
+->
+hy³r_th_id
+) ? "h" : "");
+
+3008 ià(
+p
+->
+n_pktq_\9a
+) {
+
+3009 
+u\9at32_t
+j
+;
+
+3011 
+       `år\9atf
+(
+f
+, "pktq_in =");
+
+3012 \ f
+j
+ = 0; j < 
+p
+->
+n_pktq_\9a
+; j++) {
+
+3013 \19
+­p_pktq_\9a_·¿ms
+ *
+ = &
+p
+->
+pktq_\9a
+[
+j
+];
+
+3014 \ 5*
+Çme
+;
+
+3016 \1a
+->
+ty³
+) {
+
+3017 \ 4
+APP_PKTQ_IN_HWQ
+:
+
+3018 
+Çme
+ = 
+­p
+->
+hwq_\9a_·¿ms
+[
+->
+id
+].name;
+
+3020 \ 4
+APP_PKTQ_IN_SWQ
+:
+
+3021 
+Çme
+ = 
+­p
+->
+swq_·¿ms
+[
+->
+id
+].name;
+
+3023 \ 4
+APP_PKTQ_IN_TM
+:
+
+3024 
+Çme
+ = 
+­p
+->
+tm_·¿ms
+[
+->
+id
+].name;
+
+3026 \ 4
+APP_PKTQ_IN_SOURCE
+:
+
+3027 
+Çme
+ = 
+­p
+->
+sourû_·¿ms
+[
+->
+id
+].name;
+
+3030 
+       `APP_CHECK
+(0, "System\83rror "
+
+3035 
+       `år\9atf
+(
+f
+, " %s", 
+Çme
+);
+
+3037 
+       `år\9atf
+(
+f
+, "\n");
+
+3041 ià(
+p
+->
+n_pktq_out
+) {
+
+3042 
+u\9at32_t
+j
+;
+
+3044 
+       `år\9atf
+(
+f
+, "pktq_out =");
+
+3045 \ f
+j
+ = 0; j < 
+p
+->
+n_pktq_out
+; j++) {
+
+3046 \19
+­p_pktq_out_·¿ms
+ *
+ =
+
+3047 &
+p
+->
+pktq_out
+[
+j
+];
+
+3048 \ 5*
+Çme
+;
+
+3050 \1a
+->
+ty³
+) {
+
+3051 \ 4
+APP_PKTQ_OUT_HWQ
+:
+
+3052 
+Çme
+ = 
+­p
+->
+hwq_out_·¿ms
+[
+->
+id
+].name;
+
+3054 \ 4
+APP_PKTQ_OUT_SWQ
+:
+
+3055 
+Çme
+ = 
+­p
+->
+swq_·¿ms
+[
+->
+id
+].name;
+
+3057 \ 4
+APP_PKTQ_OUT_TM
+:
+
+3058 
+Çme
+ = 
+­p
+->
+tm_·¿ms
+[
+->
+id
+].name;
+
+3060 \ 4
+APP_PKTQ_OUT_SINK
+:
+
+3061 
+Çme
+ = 
+­p
+->
+s\9ak_·¿ms
+[
+->
+id
+].name;
+
+3064 
+       `APP_CHECK
+(0, "System\83rror "
+
+3069 
+       `år\9atf
+(
+f
+, " %s", 
+Çme
+);
+
+3071 
+       `år\9atf
+(
+f
+, "\n");
+
+3075 ià(
+p
+->
+n_msgq_\9a
+) {
+
+3076 
+u\9at32_t
+j
+;
+
+3078 
+       `år\9atf
+(
+f
+, "msgq_in =");
+
+3079 \ f
+j
+ = 0; j < 
+p
+->
+n_msgq_\9a
+; j++) {
+
+3080 
+u\9at32_t
+id
+ = 
+p
+->
+msgq_\9a
+[
+j
+];
+
+3081 \ 5*
+Çme
+ = 
+­p
+->
+msgq_·¿ms
+[
+id
+].name;
+
+3083 
+       `år\9atf
+(
+f
+, " %s", 
+Çme
+);
+
+3085 
+       `år\9atf
+(
+f
+, "\n");
+
+3089 ià(
+p
+->
+n_msgq_out
+) {
+
+3090 
+u\9at32_t
+j
+;
+
+3092 
+       `år\9atf
+(
+f
+, "msgq_out =");
+
+3093 \ f
+j
+ = 0; j < 
+p
+->
+n_msgq_out
+; j++) {
+
+3094 
+u\9at32_t
+id
+ = 
+p
+->
+msgq_out
+[
+j
+];
+
+3095 \ 5*
+Çme
+ = 
+­p
+->
+msgq_·¿ms
+[
+id
+].name;
+
+3097 
+       `år\9atf
+(
+f
+, " %s", 
+Çme
+);
+
+3099 
+       `år\9atf
+(
+f
+, "\n");
+
+3103 
+       `år\9atf
+(
+f
+, "tim\94_³riod = %" 
+PRIu32
+ "\n", 
+p
+->
+tim\94_³riod
+);
+
+3106 ià(
+p
+->
+n_¬gs
+) {
+
+3107 
+u\9at32_t
+j
+;
+
+3109 \ f
+j
+ = 0; j < 
+p
+->
+n_¬gs
+; j++)
+
+3110 
+       `år\9atf
+(
+f
+, "% ð%s\n", 
+p
+->
+¬gs_Çme
+[
+j
+],
+
+3111 
+p
+->
+¬gs_v®ue
+[
+j
+]);
+
+3114 
+       `år\9atf
+(
+f
+, "\n");
+
+3116 
+       }
+}
+
+3119 
+       $­p_cÚfig_§ve
+(\19
+­p_·¿ms
+ *
+­p
+, cڡ \ 5*
+f\9ee_Çme
+)
+
+3121 
+FILE
+ *
+f\9ee
+;
+
+3122 \ 5*
+Çme
+, *
+d\9c_Çme
+;
+
+3123 \12
+¡©us
+;
+
+3125 
+Çme
+ = 
+       `¡rdup
+(
+f\9ee_Çme
+);
+
+3126 
+d\9c_Çme
+ = 
+       `d\9cÇme
+(
+Çme
+);
+
+3127 
+¡©us
+ = 
+       `acûss
+(
+d\9c_Çme
+, 
+W_OK
+);
+
+3128 
+       `APP_CHECK
+((
+¡©us
+ == 0),
+
+3130 "\"%s\"\81اv\90cÚfigu¿tiÚ\n", 
+d\9c_Çme
+);
+
+3132 
+f\9ee
+ = 
+       `fݒ
+(
+f\9ee_Çme
+, "w");
+
+3133 
+       `APP_CHECK
+((
+f\9ee
+ !ð
+NULL
+),
+
+3135 
+f\9ee_Çme
+);
+
+3137 
+       `§ve_\97l_·¿ms
+(
+­p
+, 
+f\9ee
+);
+
+3138 
+       `§ve_p\9d\96\9ae_·¿ms
+(
+­p
+, 
+f\9ee
+);
+
+3139 
+       `§ve_mempoÞ_·¿ms
+(
+­p
+, 
+f\9ee
+);
+
+3140 
+       `§ve_l\9aks_·¿ms
+(
+­p
+, 
+f\9ee
+);
+
+3141 
+       `§ve_rxq_·¿ms
+(
+­p
+, 
+f\9ee
+);
+
+3142 
+       `§ve_txq_·¿ms
+(
+­p
+, 
+f\9ee
+);
+
+3143 
+       `§ve_swq_·¿ms
+(
+­p
+, 
+f\9ee
+);
+
+3144 
+       `§ve_tm_·¿ms
+(
+­p
+, 
+f\9ee
+);
+
+3145 
+       `§ve_sourû_·¿ms
+(
+­p
+, 
+f\9ee
+);
+
+3146 
+       `§ve_s\9ak_·¿ms
+(
+­p
+, 
+f\9ee
+);
+
+3147 
+       `§ve_msgq_·¿ms
+(
+­p
+, 
+f\9ee
+);
+
+3149 
+       `fþo£
+(
+f\9ee
+);
+
+3150 
+       `ä\93
+(
+Çme
+);
+
+3151 
+       }
+}
+
+3154 
+       $­p_cÚfig_\9a\99
+(\19
+­p_·¿ms
+ *
+­p
+)
+
+3156 
+size_t
+i
+;
+
+3158 
+       `memýy
+(
+­p
+, &
+­p_·¿ms_deçuÉ
+, \17(\19
+­p_·¿ms
+));
+
+3160 \ f
+i
+ = 0; i < 
+       `RTE_DIM
+(
+­p
+->
+mempoÞ_·¿ms
+); i++)
+
+3161 
+       `memýy
+(&
+­p
+->
+mempoÞ_·¿ms
+[
+i
+],
+
+3162 &
+mempoÞ_·¿ms_deçuÉ
+,
+
+3163 \17(\19
+­p_mempoÞ_·¿ms
+));
+
+3165 \ f
+i
+ = 0; i < 
+       `RTE_DIM
+(
+­p
+->
+l\9ak_·¿ms
+); i++)
+
+3166 
+       `memýy
+(&
+­p
+->
+l\9ak_·¿ms
+[
+i
+],
+
+3167 &
+l\9ak_·¿ms_deçuÉ
+,
+
+3168 \17(\19
+­p_l\9ak_·¿ms
+));
+
+3170 \ f
+i
+ = 0; i < 
+       `RTE_DIM
+(
+­p
+->
+hwq_\9a_·¿ms
+); i++)
+
+3171 
+       `memýy
+(&
+­p
+->
+hwq_\9a_·¿ms
+[
+i
+],
+
+3172 &
+deçuÉ_hwq_\9a_·¿ms
+,
+
+3173 \17(
+deçuÉ_hwq_\9a_·¿ms
+));
+
+3175 \ f
+i
+ = 0; i < 
+       `RTE_DIM
+(
+­p
+->
+hwq_out_·¿ms
+); i++)
+
+3176 
+       `memýy
+(&
+­p
+->
+hwq_out_·¿ms
+[
+i
+],
+
+3177 &
+deçuÉ_hwq_out_·¿ms
+,
+
+3178 \17(
+deçuÉ_hwq_out_·¿ms
+));
+
+3180 \ f
+i
+ = 0; i < 
+       `RTE_DIM
+(
+­p
+->
+swq_·¿ms
+); i++)
+
+3181 
+       `memýy
+(&
+­p
+->
+swq_·¿ms
+[
+i
+],
+
+3182 &
+deçuÉ_swq_·¿ms
+,
+
+3183 \17(
+deçuÉ_swq_·¿ms
+));
+
+3185 \ f
+i
+ = 0; i < 
+       `RTE_DIM
+(
+­p
+->
+tm_·¿ms
+); i++)
+
+3186 
+       `memýy
+(&
+­p
+->
+tm_·¿ms
+[
+i
+],
+
+3187 &
+deçuÉ_tm_·¿ms
+,
+
+3188 \17(
+deçuÉ_tm_·¿ms
+));
+
+3190 \ f
+i
+ = 0; i < 
+       `RTE_DIM
+(
+­p
+->
+sourû_·¿ms
+); i++)
+
+3191 
+       `memýy
+(&
+­p
+->
+sourû_·¿ms
+[
+i
+],
+
+3192 &
+deçuÉ_sourû_·¿ms
+,
+
+3193 \17(
+deçuÉ_sourû_·¿ms
+));
+
+3195 \ f
+i
+ = 0; i < 
+       `RTE_DIM
+(
+­p
+->
+s\9ak_·¿ms
+); i++)
+
+3196 
+       `memýy
+(&
+­p
+->
+s\9ak_·¿ms
+[
+i
+],
+
+3197 &
+deçuÉ_s\9ak_·¿ms
+,
+
+3198 \17(
+deçuÉ_s\9ak_·¿ms
+));
+
+3200 \ f
+i
+ = 0; i < 
+       `RTE_DIM
+(
+­p
+->
+msgq_·¿ms
+); i++)
+
+3201 
+       `memýy
+(&
+­p
+->
+msgq_·¿ms
+[
+i
+],
+
+3202 &
+deçuÉ_msgq_·¿ms
+,
+
+3203 \17(
+deçuÉ_msgq_·¿ms
+));
+
+3205 \ f
+i
+ = 0; i < 
+       `RTE_DIM
+(
+­p
+->
+p\9d\96\9ae_·¿ms
+); i++)
+
+3206 
+       `memýy
+(&
+­p
+->
+p\9d\96\9ae_·¿ms
+[
+i
+],
+
+3207 &
+deçuÉ_p\9d\96\9ae_·¿ms
+,
+
+3208 \17(
+deçuÉ_p\9d\96\9ae_·¿ms
+));
+
+3211 
+       }
+}
+
+3214 
+       $f\9e\92amedup
+(cڡ \ 5*
+f\9e\92ame
+, cڡ \ 5*
+suffix
+)
+
+3216 \ 5*
+s
+ = 
+       `m®loc
+(
+       `¡¾\92
+(
+f\9e\92ame
+è+ s\8cËn(
+suffix
+) + 1);
+
+3218 ià(!
+s
+)
+
+3219 \15 
+NULL
+;
+
+3221 
+       `¥r\9atf
+(
+s
+, "%s%s", 
+f\9e\92ame
+, 
+suffix
+);
+
+3222 \15 
+s
+;
+
+3223 
+       }
+}
+
+3226 
+       $­p_cÚfig_¬gs
+(\19
+­p_·¿ms
+ *
+­p
+, \12
+¬gc
+, \ 5**
+¬gv
+)
+
+3228 cڡ \ 5*
+݊ame
+;
+
+3229 \12
+Ýt
+, 
+ÝtiÚ_\9adex
+;
+
+3230 \12
+f_´e£Á
+, 
+s_´e£Á
+, 
+p_´e£Á
+, 
+l_´e£Á
+;
+
+3231 \12
\95roc_´e£Á
+, 
\95roc_·¿ms_´e£Á
+, 
+di§bË_csum_´e£Á
+;
+
+3232 \12
+hwlb_´e£Á
+;
+
+3233 \12
+æow_d\9c_´e£Á
+;
+
+3234 \12
+sÿÃd
+ = 0;
+
+3236 \18\19
+ÝtiÚ
+lgÝts
+[] = {
+
+3242 { 
+NULL
+, 0, 0, 0 }
+
+3246 
+       `¡ºýy
+(
+­p
+->
+­p_Çme
+, 
+¬gv
+[0], 
+APP_APPNAME_SIZE
+ - 1);
+
+3248 
+f_´e£Á
+ = 0;
+
+3249 
+s_´e£Á
+ = 0;
+
+3250 
+p_´e£Á
+ = 0;
+
+3251 
+l_´e£Á
+ = 0;
+
+3252 
+di§bË_csum_´e£Á
+ = 0;
+
+3253 
\95roc_´e£Á
+ = 0;
+
+3254 
\95roc_·¿ms_´e£Á
+ = 0;
+
+3255 
+­p
+->
+h\97d\94_csum_»q
+ =1;
+
+3256 
+hwlb_´e£Á
+ = 0;
+
+3257 
+æow_d\9c_´e£Á
+ = 0;
+
+3260 \1f(
+Ýt
+ = 
+       `g\91Ýt_lÚg
+(
+¬gc
+, 
+¬gv
+, "f:s:p:l:", 
+lgÝts
+,
+
+3261 &
+ÝtiÚ_\9adex
+)è!ð
+EOF
+)
+
+3262 \1a
+Ýt
+) {
+
+3264 ià(
+f_´e£Á
+)
+
+3265 
+       `¹e_·nic
+("Error: Config file is\85rovided "
+
+3267 
+f_´e£Á
+ = 1;
+
+3269 ià(!
+       `¡¾\92
+(
+ݏrg
+))
+
+3270 
+       `¹e_·nic
+("Error: Config file\82ame is\82ull\n");
+
+3272 
+­p
+->
+cÚfig_f\9ee
+ = 
+       `¡rdup
+(
+ݏrg
+);
+
+3273 ià(
+­p
+->
+cÚfig_f\9ee
+ =ð
+NULL
+)
+
+3274 
+       `¹e_·nic
+("Error: Memory\87llocation failure\n");
+
+3279 ià(
+s_´e£Á
+)
+
+3280 
+       `¹e_·nic
+("Error: Script file is\85rovided "
+
+3282 
+s_´e£Á
+ = 1;
+
+3284 ià(!
+       `¡¾\92
+(
+ݏrg
+))
+
+3285 
+       `¹e_·nic
+("Error: Script file\82ame is\82ull\n");
+
+3287 
+­p
+->
+sü\9dt_f\9ee
+ = 
+       `¡rdup
+(
+ݏrg
+);
+
+3288 ià(
+­p
+->
+sü\9dt_f\9ee
+ =ð
+NULL
+)
+
+3289 
+       `¹e_·nic
+("Error: Memory\87llocation failure\n");
+
+3294 ià(
+p_´e£Á
+)
+
+3295 
+       `¹e_·nic
+("Error: PORT_MASK is\85rovided "
+
+3297 
+p_´e£Á
+ = 1;
+
+3299 ià((
+       `ssÿnf
+(
+ݏrg
+, "%" 
+SCNx64
+ "%n", &
+­p
+->
+pÜt_mask
+,
+
+3300 &
+sÿÃd
+) != 1) ||
+
+3301 ((
+size_t
+sÿÃd
+ !ð
+       `¡¾\92
+(
+ݏrg
+)))
+
+3302 
+       `¹e_·nic
+("Error: PORT_MASK is\82ot "
+
+3305 ià(
+­p
+->
+pÜt_mask
+ == 0)
+
+3306 
+       `¹e_·nic
+("Error: PORT_MASK is\82ull\n");
+
+3311 ià(
+l_´e£Á
+)
+
+3312 
+       `¹e_·nic
+("Error: LOG_LEVEL is\85rovided "
+
+3314 
+l_´e£Á
+ = 1;
+
+3316 ià((
+       `ssÿnf
+(
+ݏrg
+, "%" 
+SCNu32
+ "%n", &
+­p
+->
+log_Ëv\96
+,
+
+3317 &
+sÿÃd
+) != 1) ||
+
+3318 ((
+size_t
+sÿÃd
+ !ð
+       `¡¾\92
+(
+ݏrg
+)) ||
+
+3319 (
+­p
+->
+log_Ëv\96
+ >ð
+APP_LOG_LEVELS
+))
+
+3320 
+       `¹e_·nic
+("Error: LOG_LEVEL invalid value\n");
+
+3325 
+݊ame
+ = 
+lgÝts
+[
+ÝtiÚ_\9adex
+].
+Çme
+;
+
+3327 ià(
+       `¡rcmp
+(
+݊ame
+, "hwlb") == 0) {
+
+3328 ià(
+hwlb_´e£Á
+)
+
+3329 
+       `¹e_·nic
+("Error: hwlb\87rgument "
+
+3331 
+hwlb_´e£Á
+ = 1;
+
+3332 
+       `´\9atf
+(" HWLB is configured\n");
+
+3334 
+­p
+->
+n_hwlb_q
+ = 
+       `©oi
+(
+ݏrg
+);
+
+3336 if(!
+­p
+->
+n_hwlb_q
+)
+
+3337 
+       `¹e_·nic
+("HWQs for HWLB must be\87tleast 1\n");
+
+3339 
+       `´\9atf
+("NØoàHWQ fÜ HWLB\87» %d\n",
+­p
+->
+n_hwlb_q
+);
+
+3340 
+\92abË_hwlb
+ = 1;
+
+3344 ià(
+       `¡rcmp
+(
+݊ame
+, "flow_dir") == 0) {
+
+3345 ià(
+æow_d\9c_´e£Á
+)
+
+3346 
+       `¹e_·nic
+("Error: flow_dir\87rgument "
+
+3348 
+æow_d\9c_´e£Á
+ = 1;
+
+3349 
+       `´\9atf
+(" FLOW DIR is configured\n");
+
+3351 
+\92abË_æow_d\9c
+ = 1;
+
+3356 ià(
+       `¡rcmp
+(
+݊ame
+, "disable-hw-csum") == 0) {
+
+3357 ià(
+di§bË_csum_´e£Á
+)
+
+3358 
+       `¹e_·nic
+("Error: disable-hw-csum\87rgument "
+
+3361 
+       `´\9atf
+("Disable TCP/UDP HW checksumi\n");
+
+3362 
+­p
+->
+h\97d\94_csum_»q
+ = 0;
+
+3363 
+di§bË_csum_´e£Á
+ = 1;
+
+3367 ià(
+       `¡rcmp
+(
+݊ame
+, "preproc") == 0) {
+
+3368 ià(
\95roc_´e£Á
+)
+
+3369 
+       `¹e_·nic
+("Error: Preprocessor\87rgument "
+
+3371 
\95roc_´e£Á
+ = 1;
+
+3373 
+­p
+->
\95roc
+ = 
+       `¡rdup
+(
+ݏrg
+);
+
+3377 ià(
+       `¡rcmp
+(
+݊ame
+, "preproc-args") == 0) {
+
+3378 ià(
\95roc_·¿ms_´e£Á
+)
+
+3379 
+       `¹e_·nic
+("Error: Preprocessor\87rgs "
+
+3381 
\95roc_·¿ms_´e£Á
+ = 1;
+
+3383 
+­p
+->
\95roc_¬gs
+ = 
+       `¡rdup
+(
+ݏrg
+);
+
+3387 
+       `­p_´\9at_u§ge
+(
+¬gv
+[0]);
+
+3391 
+       `­p_´\9at_u§ge
+(
+¬gv
+[0]);
+
+3394 
+Ýt\9ad
+ = 0;
+
+3397 ià(
\95roc_·¿ms_´e£Á
+ && (
\95roc_´e£Á
+ == 0))
+
+3398 
+       `¹e_·nic
+("Error: Preprocessor\87rgs specified while "
+
+3401 
+­p
+->
+·r£r_f\9ee
+ = 
\95roc_´e£Á
+ ?
+
+3402 
+       `f\9e\92amedup
+(
+­p
+->
+cÚfig_f\9ee
+, ".preproc") :
+
+3403 
+       `¡rdup
+(
+­p
+->
+cÚfig_f\9ee
+);
+
+3404 
+­p
+->
+ou\8dut_f\9ee
+ = 
+       `f\9e\92amedup
+׵->
+cÚfig_f\9ee
+, ".out");
+
+3407 
+       }
+}
+
+3410 
+       $­p_cÚfig_´\95roc
+(\19
+­p_·¿ms
+ *
+­p
+)
+
+3412 \ 5
+bufãr
+[256];
+
+3413 \12
+¡©us
+;
+
+3415 ià(
+­p
+->
\95roc
+ =ð
+NULL
+)
+
+3418 
+¡©us
+ = 
+       `acûss
+(
+­p
+->
+cÚfig_f\9ee
+, 
+F_OK
+ | 
+R_OK
+);
+
+3419 
+       `APP_CHECK
+((
+¡©us
+ == 0), "Error: Unable\81o open file %s",
+
+3420 
+­p
+->
+cÚfig_f\9ee
+);
+
+3422 
+       `¢´\9atf
+(
+bufãr
+, \17(buffer), "%s %s %s > %s",
+
+3423 
+­p
+->
\95roc
+,
+
+3424 
+­p
+->
\95roc_¬gs
+ ?\87pp->preproc_args : "",
+
+3425 
+­p
+->
+cÚfig_f\9ee
+,
+
+3426 
+­p
+->
+·r£r_f\9ee
+);
+
+3428 
+¡©us
+ = 
+       `sy¡em
+(
+bufãr
+);
+
+3429 
+       `APP_CHECK
+((
+       `WIFEXITED
+(
+¡©us
+è&& (
+       `WEXITSTATUS
+(status) == 0)),
+
+3431 
+­p
+->
+cÚfig_f\9ee
+);
+
+3433 \15 
+¡©us
+;
+
+3434 
+       }
+}
+
+       @vnf_common/config_parse_tm.c
+
+16 \ 2
+       ~<¡d\9at.h
+>
+
+17 \ 2
+       ~<¡dlib.h
+>
+
+18 \ 2
+       ~<¡dio.h
+>
+
+19 \ 2
+       ~<ùy³.h
+>
+
+20 \ 2
+       ~<g\91Ýt.h
+>
+
+21 \ 2
+       ~<\94ºo.h
+>
+
+22 \ 2
+       ~<¡d¬g.h
+>
+
+23 \ 2
+       ~<¡r\9ag.h
+>
+
+24 \ 2
+       ~<libg\92.h
+>
+
+25 \ 2
+       ~<uni¡d.h
+>
+
+27 \ 2
+       ~<¹e_\94ºo.h
+>
+
+28 \ 2
+       ~<¹e_cfgf\9ee.h
+>
+
+29 \ 2
+       ~<¹e_¡r\9ag_âs.h
+>
+
+31 \ 2
+       ~"­p.h
+"
+
+34 
+       $tm_cfgf\9ee_lßd_sched_pÜt
+(
+
+35 \19
+¹e_cfgf\9ee
+ *
+f\9ee
+,
+
+36 \19
+¹e_sched_pÜt_·¿ms
+ *
+pÜt_·¿ms
+)
+
+38 cڡ \ 5*
+\92\8cy
+;
+
+39 \12
+j
+;
+
+41 
+\92\8cy
+ = 
+       `¹e_cfgf\9ee_g\91_\92\8cy
+(
+f\9ee
+, "port", "frame overhead");
+
+42 ià(
+\92\8cy
+)
+
+43 
+pÜt_·¿ms
+->
+äame_ov\94h\97d
+ = (
+u\9at32_t
+)
+       `©oi
+(
+\92\8cy
+);
+
+45 
+\92\8cy
+ = 
+       `¹e_cfgf\9ee_g\91_\92\8cy
+(
+f\9ee
+, "port", "mtu");
+
+46 ià(
+\92\8cy
+)
+
+47 
+pÜt_·¿ms
+->
+mtu
+ = (
+u\9at32_t
+)
+       `©oi
+(
+\92\8cy
+);
+
+49 
+\92\8cy
+ = 
+       `¹e_cfgf\9ee_g\91_\92\8cy
+(
+f\9ee
+,
+
+52 ià(
+\92\8cy
+)
+
+53 
+pÜt_·¿ms
+->
+n_subpÜts_³r_pÜt
+ = (
+u\9at32_t
+       `©oi
+(
+\92\8cy
+);
+
+55 
+\92\8cy
+ = 
+       `¹e_cfgf\9ee_g\91_\92\8cy
+(
+f\9ee
+,
+
+58 ià(
+\92\8cy
+)
+
+59 
+pÜt_·¿ms
+->
+n_p\9des_³r_subpÜt
+ = (
+u\9at32_t
+       `©oi
+(
+\92\8cy
+);
+
+61 
+\92\8cy
+ = 
+       `¹e_cfgf\9ee_g\91_\92\8cy
+(
+f\9ee
+, "port", "queue sizes");
+
+62 ià(
+\92\8cy
+) {
+
+63 \ 5*
+Ãxt
+;
+
+65 \ f
+j
+ = 0; j < 
+RTE_SCHED_TRAFFIC_CLASSES_PER_PIPE
+; j++) {
+
+66 
+pÜt_·¿ms
+->
+qsize
+[
+j
+] = (
+u\9at16_t
+)
+
+67 
+       `¡¹Þ
+(
+\92\8cy
+, &
+Ãxt
+, 10);
+
+68 ià(
+Ãxt
+ =ð
+NULL
+)
+
+70 
+\92\8cy
+ = 
+Ãxt
+;
+
+74 #ifdeà
+RTE_SCHED_RED
+
+
+75 \ f
+j
+ = 0; j < 
+RTE_SCHED_TRAFFIC_CLASSES_PER_PIPE
+; j++) {
+
+76 \ 5
+¡r
+[32];
+
+79 
+       `¢´\9atf
+(
+¡r
+, \17(¡r), "tø%" 
+PRId32
+ " w»d m\9a", 
+j
+);
+
+80 
+\92\8cy
+ = 
+       `¹e_cfgf\9ee_g\91_\92\8cy
+(
+f\9ee
+, "»d", 
+¡r
+);
+
+81 ià(
+\92\8cy
+) {
+
+82 \ 5*
+Ãxt
+;
+
+83 \12
+k
+;
+
+86 \ f
+k
+ = 0; k < 
+e_RTE_METER_COLORS
+; k++) {
+
+87 
+pÜt_·¿ms
+->
+»d_·¿ms
+[
+j
+][
+k
+].
+m\9a_th
+
+
+88 ð(
+u\9at16_t
+)
+       `¡¹Þ
+(
+\92\8cy
+, &
+Ãxt
+, 10);
+
+89 ià(
+Ãxt
+ =ð
+NULL
+)
+
+91 
+\92\8cy
+ = 
+Ãxt
+;
+
+96 
+       `¢´\9atf
+(
+¡r
+, \17(¡r), "tø%" 
+PRId32
+ " w»d max", 
+j
+);
+
+97 
+\92\8cy
+ = 
+       `¹e_cfgf\9ee_g\91_\92\8cy
+(
+f\9ee
+, "»d", 
+¡r
+);
+
+98 ià(
+\92\8cy
+) {
+
+99 \ 5*
+Ãxt
+;
+
+100 \12
+k
+;
+
+103 \ f
+k
+ = 0; k < 
+e_RTE_METER_COLORS
+; k++) {
+
+104 
+pÜt_·¿ms
+->
+»d_·¿ms
+[
+j
+][
+k
+].
+max_th
+
+
+105 ð(
+u\9at16_t
+)
+       `¡¹Þ
+(
+\92\8cy
+, &
+Ãxt
+, 10);
+
+106 ià(
+Ãxt
+ =ð
+NULL
+)
+
+108 
+\92\8cy
+ = 
+Ãxt
+;
+
+113 
+       `¢´\9atf
+(
+¡r
+, \17(¡r), "tø%" 
+PRId32
+ " w»d inv\85rob", 
+j
+);
+
+114 
+\92\8cy
+ = 
+       `¹e_cfgf\9ee_g\91_\92\8cy
+(
+f\9ee
+, "»d", 
+¡r
+);
+
+115 ià(
+\92\8cy
+) {
+
+116 \ 5*
+Ãxt
+;
+
+117 \12
+k
+;
+
+120 \ f
+k
+ = 0; k < 
+e_RTE_METER_COLORS
+; k++) {
+
+121 
+pÜt_·¿ms
+->
+»d_·¿ms
+[
+j
+][
+k
+].
+maxp_\9av
+
+
+122 ð(
+u\9at8_t
+)
+       `¡¹Þ
+(
+\92\8cy
+, &
+Ãxt
+, 10);
+
+124 ià(
+Ãxt
+ =ð
+NULL
+)
+
+126 
+\92\8cy
+ = 
+Ãxt
+;
+
+131 
+       `¢´\9atf
+(
+¡r
+, \17(¡r), "tø%" 
+PRId32
+ " w»d weight", 
+j
+);
+
+132 
+\92\8cy
+ = 
+       `¹e_cfgf\9ee_g\91_\92\8cy
+(
+f\9ee
+, "»d", 
+¡r
+);
+
+133 ià(
+\92\8cy
+) {
+
+134 \ 5*
+Ãxt
+;
+
+135 \12
+k
+;
+
+138 \ f
+k
+ = 0; k < 
+e_RTE_METER_COLORS
+; k++) {
+
+139 
+pÜt_·¿ms
+->
+»d_·¿ms
+[
+j
+][
+k
+].
+wq_log2
+
+
+140 ð(
+u\9at8_t
+)
+       `¡¹Þ
+(
+\92\8cy
+, &
+Ãxt
+, 10);
+
+141 ià(
+Ãxt
+ =ð
+NULL
+)
+
+143 
+\92\8cy
+ = 
+Ãxt
+;
+
+150 
+       }
+}
+
+153 
+       $tm_cfgf\9ee_lßd_sched_p\9de
+(
+
+154 \19
+¹e_cfgf\9ee
+ *
+f\9ee
+,
+
+155 \19
+¹e_sched_pÜt_·¿ms
+ *
+pÜt_·¿ms
+,
+
+156 \19
+¹e_sched_p\9de_·¿ms
+ *
+p\9de_·¿ms
+)
+
+158 \12
+i
+, 
+j
+;
+
+159 \ 5*
+Ãxt
+;
+
+160 cڡ \ 5*
+\92\8cy
+;
+
+161 \12
+´of\9ees
+;
+
+163 
+´of\9ees
+ = 
+       `¹e_cfgf\9ee_num_£ùiÚs
+(
+f\9ee
+,
+
+165 
+pÜt_·¿ms
+->
+n_p\9de_´of\9ees
+ = 
+´of\9ees
+;
+
+167 \ f
+j
+ = 0; j < 
+´of\9ees
+; j++) {
+
+168 \ 5
+p\9de_Çme
+[32];
+
+170 
+       `¢´\9atf
+(
+p\9de_Çme
+, \17(pipe_name),
+
+171 "p\9d\90´of\9e\90%" 
+PRId32
+, 
+j
+);
+
+173 
+\92\8cy
+ = 
+       `¹e_cfgf\9ee_g\91_\92\8cy
+(
+f\9ee
+, 
+p\9de_Çme
+, "tb\84ate");
+
+174 ià(
+\92\8cy
+)
+
+175 
+p\9de_·¿ms
+[
+j
+].
+tb_¿\8b
+ = (
+u\9at32_t
+       `©oi
+(
+\92\8cy
+);
+
+177 
+\92\8cy
+ = 
+       `¹e_cfgf\9ee_g\91_\92\8cy
+(
+f\9ee
+, 
+p\9de_Çme
+, "tb size");
+
+178 ià(
+\92\8cy
+)
+
+179 
+p\9de_·¿ms
+[
+j
+].
+tb_size
+ = (
+u\9at32_t
+       `©oi
+(
+\92\8cy
+);
+
+181 
+\92\8cy
+ = 
+       `¹e_cfgf\9ee_g\91_\92\8cy
+(
+f\9ee
+, 
+p\9de_Çme
+, "tc\85eriod");
+
+182 ià(
+\92\8cy
+)
+
+183 
+p\9de_·¿ms
+[
+j
+].
+tc_³riod
+ = (
+u\9at32_t
+       `©oi
+(
+\92\8cy
+);
+
+185 
+\92\8cy
+ = 
+       `¹e_cfgf\9ee_g\91_\92\8cy
+(
+f\9ee
+, 
+p\9de_Çme
+, "tc 0\84ate");
+
+186 ià(
+\92\8cy
+)
+
+187 
+p\9de_·¿ms
+[
+j
+].
+tc_¿\8b
+[0] = (
+u\9at32_t
+       `©oi
+(
+\92\8cy
+);
+
+189 
+\92\8cy
+ = 
+       `¹e_cfgf\9ee_g\91_\92\8cy
+(
+f\9ee
+, 
+p\9de_Çme
+, "tc 1\84ate");
+
+190 ià(
+\92\8cy
+)
+
+191 
+p\9de_·¿ms
+[
+j
+].
+tc_¿\8b
+[1] = (
+u\9at32_t
+       `©oi
+(
+\92\8cy
+);
+
+193 
+\92\8cy
+ = 
+       `¹e_cfgf\9ee_g\91_\92\8cy
+(
+f\9ee
+, 
+p\9de_Çme
+, "tc 2\84ate");
+
+194 ià(
+\92\8cy
+)
+
+195 
+p\9de_·¿ms
+[
+j
+].
+tc_¿\8b
+[2] = (
+u\9at32_t
+       `©oi
+(
+\92\8cy
+);
+
+197 
+\92\8cy
+ = 
+       `¹e_cfgf\9ee_g\91_\92\8cy
+(
+f\9ee
+, 
+p\9de_Çme
+, "tc 3\84ate");
+
+198 ià(
+\92\8cy
+)
+
+199 
+p\9de_·¿ms
+[
+j
+].
+tc_¿\8b
+[3] = (
+u\9at32_t
+       `©oi
+(
+\92\8cy
+);
+
+201 #ifdeà
+RTE_SCHED_SUBPORT_TC_OV
+
+
+202 
+\92\8cy
+ = 
+       `¹e_cfgf\9ee_g\91_\92\8cy
+(
+f\9ee
+, 
+p\9de_Çme
+,
+
+204 ià(
+\92\8cy
+)
+
+205 
+p\9de_·¿ms
+[
+j
+].
+tc_ov_weight
+ = (
+u\9at8_t
+)
+       `©oi
+(
+\92\8cy
+);
+
+208 
+\92\8cy
+ = 
+       `¹e_cfgf\9ee_g\91_\92\8cy
+(
+f\9ee
+,
+
+209 
+p\9de_Çme
+,
+
+211 ià(
+\92\8cy
+)
+
+212 \ f
+i
+ = 0; i < 
+RTE_SCHED_QUEUES_PER_TRAFFIC_CLASS
+; i++) {
+
+213 
+p\9de_·¿ms
+[
+j
+].
+w¼_weights
+[
+RTE_SCHED_TRAFFIC_CLASSES_PER_PIPE
+*0 + 
+i
+] =
+
+214 (
+u\9at8_t
+       `¡¹Þ
+(
+\92\8cy
+, &
+Ãxt
+, 10);
+
+215 ià(
+Ãxt
+ =ð
+NULL
+)
+
+217 
+\92\8cy
+ = 
+Ãxt
+;
+
+220 
+\92\8cy
+ = 
+       `¹e_cfgf\9ee_g\91_\92\8cy
+(
+f\9ee
+, 
+p\9de_Çme
+, "tc 1 wrr weights");
+
+221 ià(
+\92\8cy
+)
+
+222 \ f
+i
+ = 0; i < 
+RTE_SCHED_QUEUES_PER_TRAFFIC_CLASS
+; i++) {
+
+223 
+p\9de_·¿ms
+[
+j
+].
+w¼_weights
+[
+RTE_SCHED_TRAFFIC_CLASSES_PER_PIPE
+*1 + 
+i
+] =
+
+224 (
+u\9at8_t
+       `¡¹Þ
+(
+\92\8cy
+, &
+Ãxt
+, 10);
+
+225 ià(
+Ãxt
+ =ð
+NULL
+)
+
+227 
+\92\8cy
+ = 
+Ãxt
+;
+
+230 
+\92\8cy
+ = 
+       `¹e_cfgf\9ee_g\91_\92\8cy
+(
+f\9ee
+, 
+p\9de_Çme
+, "tc 2 wrr weights");
+
+231 ià(
+\92\8cy
+)
+
+232 \ f
+i
+ = 0; i < 
+RTE_SCHED_QUEUES_PER_TRAFFIC_CLASS
+; i++) {
+
+233 
+p\9de_·¿ms
+[
+j
+].
+w¼_weights
+[
+RTE_SCHED_TRAFFIC_CLASSES_PER_PIPE
+*2 + 
+i
+] =
+
+234 (
+u\9at8_t
+       `¡¹Þ
+(
+\92\8cy
+, &
+Ãxt
+, 10);
+
+235 ià(
+Ãxt
+ =ð
+NULL
+)
+
+237 
+\92\8cy
+ = 
+Ãxt
+;
+
+240 
+\92\8cy
+ = 
+       `¹e_cfgf\9ee_g\91_\92\8cy
+(
+f\9ee
+, 
+p\9de_Çme
+, "tc 3 wrr weights");
+
+241 ià(
+\92\8cy
+)
+
+242 \ f
+i
+ = 0; i < 
+RTE_SCHED_QUEUES_PER_TRAFFIC_CLASS
+; i++) {
+
+243 
+p\9de_·¿ms
+[
+j
+].
+w¼_weights
+[
+RTE_SCHED_TRAFFIC_CLASSES_PER_PIPE
+*3 + 
+i
+] =
+
+244 (
+u\9at8_t
+       `¡¹Þ
+(
+\92\8cy
+, &
+Ãxt
+, 10);
+
+245 ià(
+Ãxt
+ =ð
+NULL
+)
+
+247 
+\92\8cy
+ = 
+Ãxt
+;
+
+251 
+       }
+}
+
+254 
+       $tm_cfgf\9ee_lßd_sched_subpÜt
+(
+
+255 \19
+¹e_cfgf\9ee
+ *
+f\9ee
+,
+
+256 \19
+¹e_sched_subpÜt_·¿ms
+ *
+subpÜt_·¿ms
+,
+
+257 \12*
+p\9de_to_´of\9ee
+)
+
+259 cڡ \ 5*
+\92\8cy
+;
+
+260 \12
+i
+, 
+j
+, 
+k
+;
+
+262 \ f
+i
+ = 0; i < 
+APP_MAX_SCHED_SUBPORTS
+; i++) {
+
+263 \ 5
+£c_Çme
+[
+CFG_NAME_LEN
+];
+
+265 
+       `¢´\9atf
+(
+£c_Çme
+, \17(sec_name),
+
+266 "subp܈%" 
+PRId32
+, 
+i
+);
+
+268 ià(
+       `¹e_cfgf\9ee_has_£ùiÚ
+(
+f\9ee
+, 
+£c_Çme
+)) {
+
+269 
+\92\8cy
+ = 
+       `¹e_cfgf\9ee_g\91_\92\8cy
+(
+f\9ee
+,
+
+270 
+£c_Çme
+,
+
+272 ià(
+\92\8cy
+)
+
+273 
+subpÜt_·¿ms
+[
+i
+].
+tb_¿\8b
+ =
+
+274 (
+u\9at32_t
+       `©oi
+(
+\92\8cy
+);
+
+276 
+\92\8cy
+ = 
+       `¹e_cfgf\9ee_g\91_\92\8cy
+(
+f\9ee
+,
+
+277 
+£c_Çme
+,
+
+279 ià(
+\92\8cy
+)
+
+280 
+subpÜt_·¿ms
+[
+i
+].
+tb_size
+ =
+
+281 (
+u\9at32_t
+       `©oi
+(
+\92\8cy
+);
+
+283 
+\92\8cy
+ = 
+       `¹e_cfgf\9ee_g\91_\92\8cy
+(
+f\9ee
+,
+
+284 
+£c_Çme
+,
+
+286 ià(
+\92\8cy
+)
+
+287 
+subpÜt_·¿ms
+[
+i
+].
+tc_³riod
+ =
+
+288 (
+u\9at32_t
+       `©oi
+(
+\92\8cy
+);
+
+290 
+\92\8cy
+ = 
+       `¹e_cfgf\9ee_g\91_\92\8cy
+(
+f\9ee
+,
+
+291 
+£c_Çme
+,
+
+293 ià(
+\92\8cy
+)
+
+294 
+subpÜt_·¿ms
+[
+i
+].
+tc_¿\8b
+[0] =
+
+295 (
+u\9at32_t
+       `©oi
+(
+\92\8cy
+);
+
+297 
+\92\8cy
+ = 
+       `¹e_cfgf\9ee_g\91_\92\8cy
+(
+f\9ee
+,
+
+298 
+£c_Çme
+,
+
+300 ià(
+\92\8cy
+)
+
+301 
+subpÜt_·¿ms
+[
+i
+].
+tc_¿\8b
+[1] =
+
+302 (
+u\9at32_t
+       `©oi
+(
+\92\8cy
+);
+
+304 
+\92\8cy
+ = 
+       `¹e_cfgf\9ee_g\91_\92\8cy
+(
+f\9ee
+,
+
+305 
+£c_Çme
+,
+
+307 ià(
+\92\8cy
+)
+
+308 
+subpÜt_·¿ms
+[
+i
+].
+tc_¿\8b
+[2] =
+
+309 (
+u\9at32_t
+       `©oi
+(
+\92\8cy
+);
+
+311 
+\92\8cy
+ = 
+       `¹e_cfgf\9ee_g\91_\92\8cy
+(
+f\9ee
+,
+
+312 
+£c_Çme
+,
+
+314 ià(
+\92\8cy
+)
+
+315 
+subpÜt_·¿ms
+[
+i
+].
+tc_¿\8b
+[3] =
+
+316 (
+u\9at32_t
+       `©oi
+(
+\92\8cy
+);
+
+318 \12
+n_\92\8c\9bs
+ = 
+       `¹e_cfgf\9ee_£ùiÚ_num_\92\8c\9bs
+(
+f\9ee
+,
+
+319 
+£c_Çme
+);
+
+320 \19
+¹e_cfgf\9ee_\92\8cy
+\92\8c\9bs
+[
+n_\92\8c\9bs
+];
+
+322 
+       `¹e_cfgf\9ee_£ùiÚ_\92\8c\9bs
+(
+f\9ee
+,
+
+323 
+£c_Çme
+,
+
+324 
+\92\8c\9bs
+,
+
+325 
+n_\92\8c\9bs
+);
+
+327 \ f
+j
+ = 0; j < 
+n_\92\8c\9bs
+; j++)
+
+328 ià(
+       `¡ºcmp
+("pipe",
+
+329 
+\92\8c\9bs
+[
+j
+].
+Çme
+,
+
+331 \12
+´of\9ee
+;
+
+332 \ 5*
+tok\92s
+[2] = {
+NULL
+, NULL};
+
+333 \12
+n_tok\92s
+;
+
+334 \12
+beg\9a
+, 
+\92d
+;
+
+335 \ 5
+Çme
+[
+CFG_NAME_LEN
+ + 1];
+
+337 
+´of\9ee
+ = 
+       `©oi
+(
+\92\8c\9bs
+[
+j
+].
+v®ue
+);
+
+338 
+       `¡ºýy
+(
+Çme
+,
+
+339 
+\92\8c\9bs
+[
+j
+].
+Çme
+,
+
+340 \17(
+Çme
+));
+
+341 
+n_tok\92s
+ = 
+       `¹e_¡r¥l\99
+(
+
+342 &
+Çme
+[\17("pipe")],
+
+343 
+       `¡ºËn
+(
+Çme
+, 
+CFG_NAME_LEN
+),
+
+344 
+tok\92s
+, 2, '-');
+
+346 
+beg\9a
+ = 
+       `©oi
+(
+tok\92s
+[0]);
+
+347 ià(
+n_tok\92s
+ == 2)
+
+348 
+\92d
+ = 
+       `©oi
+(
+tok\92s
+[1]);
+
+350 
+\92d
+ = 
+beg\9a
+;
+
+352 ià((
+\92d
+ >ð
+APP_MAX_SCHED_PIPES
+) ||
+
+353 (
+beg\9a
+ > 
+\92d
+))
+
+356 \ f
+k
+ = 
+beg\9a
+; k <ð
+\92d
+; k++) {
+
+357 \ 5
+´of\9ee_Çme
+[
+CFG_NAME_LEN
+];
+
+359 
+       `¢´\9atf
+(
+´of\9ee_Çme
+,
+
+360 \17(
+´of\9ee_Çme
+),
+
+361 "p\9d\90´of\9e\90%" 
+PRId32
+,
+
+362 
+´of\9ee
+);
+
+363 ià(
+       `¹e_cfgf\9ee_has_£ùiÚ
+(
+f\9ee
+, 
+´of\9ee_Çme
+))
+
+364 
+p\9de_to_´of\9ee
+[
+i
+ * 
+APP_MAX_SCHED_PIPES
+ + 
+k
+] = 
+´of\9ee
+;
+
+366 
+       `¹e_ex\99
+(
+EXIT_FAILURE
+,
+
+368 
+\92\8c\9bs
+[
+j
+].
+v®ue
+);
+
+375 
+       }
+}
+
+378 
+       $tm_cfgf\9ee_lßd
+(\19
+­p_pktq_tm_·¿ms
+ *
+tm
+)
+
+380 \19
+¹e_cfgf\9ee
+ *
+f\9ee
+;
+
+381 
+u\9at32_t
+i
+;
+
+383 
+       `mem£t
+(
+tm
+->
+sched_subpÜt_·¿ms
+, 0, \17(tm->sched_subport_params));
+
+384 
+       `mem£t
+(
+tm
+->
+sched_p\9de_´of\9ees
+, 0, \17(tm->sched_pipe_profiles));
+
+385 
+       `mem£t
+(&
+tm
+->
+sched_pÜt_·¿ms
+, 0, \17(tm->sched_port_params));
+
+386 \ f
+i
+ = 0; i < 
+APP_MAX_SCHED_SUBPORTS
+ * 
+APP_MAX_SCHED_PIPES
+; i++)
+
+387 
+tm
+->
+sched_p\9de_to_´of\9ee
+[
+i
+] = -1;
+
+389 
+tm
+->
+sched_pÜt_·¿ms
+.
+p\9de_´of\9ees
+ = &tm->
+sched_p\9de_´of\9ees
+[0];
+
+391 ià(
+tm
+->
+f\9ee_Çme
+[0] == '\0')
+
+394 
+f\9ee
+ = 
+       `¹e_cfgf\9ee_lßd
+(
+tm
+->
+f\9ee_Çme
+, 0);
+
+395 ià(
+f\9ee
+ =ð
+NULL
+)
+
+398 
+       `tm_cfgf\9ee_lßd_sched_pÜt
+(
+f\9ee
+,
+
+399 &
+tm
+->
+sched_pÜt_·¿ms
+);
+
+400 
+       `tm_cfgf\9ee_lßd_sched_subpÜt
+(
+f\9ee
+,
+
+401 
+tm
+->
+sched_subpÜt_·¿ms
+,
+
+402 
+tm
+->
+sched_p\9de_to_´of\9ee
+);
+
+403 
+       `tm_cfgf\9ee_lßd_sched_p\9de
+(
+f\9ee
+,
+
+404 &
+tm
+->
+sched_pÜt_·¿ms
+,
+
+405 
+tm
+->
+sched_p\9de_´of\9ees
+);
+
+407 
+       `¹e_cfgf\9ee_þo£
+(
+f\9ee
+);
+
+409 
+       }
+}
+
+412 
+       $­p_cÚfig_·r£_tm
+(\19
+­p_·¿ms
+ *
+­p
+)
+
+414 
+u\9at32_t
+i
+;
+
+416 \ f
+i
+ = 0; i < 
+       `RTE_DIM
+(
+­p
+->
+tm_·¿ms
+); i++) {
+
+417 \19
+­p_pktq_tm_·¿ms
+ *
+p
+ = &
+­p
+->
+tm_·¿ms
+[
+i
+];
+
+418 \12
+¡©us
+;
+
+420 ià(!
+       `APP_PARAM_VALID
+(
+p
+))
+
+423 
+¡©us
+ = 
+       `tm_cfgf\9ee_lßd
+(
+p
+);
+
+424 
+       `APP_CHECK
+(
+¡©us
+ == 0,
+
+426 
+p
+->
+Çme
+,
+
+427 
+p
+->
+f\9ee_Çme
+);
+
+431 
+       }
+}
+
+       @vnf_common/cpu_core_map.c
+
+17 \ 2
+       ~<\9a\89y³s.h
+>
+
+18 \ 2
+       ~<¡dlib.h
+>
+
+19 \ 2
+       ~<¡dio.h
+>
+
+20 \ 2
+       ~<¡r\9ag.h
+>
+
+22 \ 2
+       ~<¹e_lcÜe.h
+>
+
+24 \ 2
+       ~"ýu_cÜe_m­.h
+"
+
+26 \19
+       sýu_cÜe_m­
+ {
+
+27 
+u\9at32_t
+       mn_max_sock\91s
+;
+
+28 
+u\9at32_t
+       mn_max_cÜes_³r_sock\91
+;
+
+29 
+u\9at32_t
+       mn_max_ht_³r_cÜe
+;
+
+30 
+u\9at32_t
+       mn_sock\91s
+;
+
+31 
+u\9at32_t
+       mn_cÜes_³r_sock\91
+;
+
+32 
+u\9at32_t
+       mn_ht_³r_cÜe
+;
+
+33 \12
+       mm­
+[0];
+
+36 \18
+\9al\9ae
+u\9at32_t
+
+
+37 
+       $ýu_cÜe_m­_pos
+(\19
+ýu_cÜe_m­
+ *
+m­
+,
+
+38 
+u\9at32_t
+sock\91_id
+,
+
+39 
+u\9at32_t
+cÜe_id
+,
+
+40 
+u\9at32_t
+ht_id
+)
+
+42 \15 (
+sock\91_id
+ * 
+m­
+->
+n_max_cÜes_³r_sock\91
+ + 
+cÜe_id
+) *
+
+43 
+m­
+->
+n_max_ht_³r_cÜe
+ + 
+ht_id
+;
+
+44 
+       }
+}
+
+47 
+ýu_cÜe_m­_compu\8b_\97l
+(\19
+ýu_cÜe_m­
+ *
+m­
+);
+
+50 
+ýu_cÜe_m­_compu\8b_l\9aux
+(\19
+ýu_cÜe_m­
+ *
+m­
+);
+
+53 
+ýu_cÜe_m­_compu\8b_ªd_check
+(\19
+ýu_cÜe_m­
+ *
+m­
+);
+
+55 \19
+ýu_cÜe_m­
+ *
+
+56 
+       $ýu_cÜe_m­_\9a\99
+(
+u\9at32_t
+n_max_sock\91s
+,
+
+57 
+u\9at32_t
+n_max_cÜes_³r_sock\91
+,
+
+58 
+u\9at32_t
+n_max_ht_³r_cÜe
+,
+
+59 
+u\9at32_t
+\97l_\9a\99\9flized
+)
+
+61 
+u\9at32_t
+m­_size
+, 
+m­_mem_size
+, 
+i
+;
+
+62 \19
+ýu_cÜe_m­
+ *
+m­
+;
+
+63 \12
+¡©us
+;
+
+66 ià((
+n_max_sock\91s
+ == 0) ||
+
+67 (
+n_max_cÜes_³r_sock\91
+ == 0) ||
+
+68 (
+n_max_ht_³r_cÜe
+ == 0))
+
+69 \15 
+NULL
+;
+
+72 
+m­_size
+ = 
+n_max_sock\91s
+ * 
+n_max_cÜes_³r_sock\91
+ * 
+n_max_ht_³r_cÜe
+;
+
+73 
+m­_mem_size
+ = \17(\19
+ýu_cÜe_m­
+è+ 
+m­_size
+ * \17(\12);
+
+74 
+m­
+ = (\19
+ýu_cÜe_m­
+ *è
+       `m®loc
+(
+m­_mem_size
+);
+
+75 ià(
+m­
+ =ð
+NULL
+)
+
+76 \15 
+NULL
+;
+
+79 
+m­
+->
+n_max_sock\91s
+ =\82_max_sockets;
+
+80 
+m­
+->
+n_max_cÜes_³r_sock\91
+ =\82_max_cores_per_socket;
+
+81 
+m­
+->
+n_max_ht_³r_cÜe
+ =\82_max_ht_per_core;
+
+82 
+m­
+->
+n_sock\91s
+ = 0;
+
+83 
+m­
+->
+n_cÜes_³r_sock\91
+ = 0;
+
+84 
+m­
+->
+n_ht_³r_cÜe
+ = 0;
+
+86 \ f
+i
+ = 0; i < 
+m­_size
+; i++)
+
+87 
+m­
+->m­[
+i
+] = -1;
+
+89 
+¡©us
+ = (
+\97l_\9a\99\9flized
+) ?
+
+90 
+       `ýu_cÜe_m­_compu\8b_\97l
+(
+m­
+) :
+
+91 
+       `ýu_cÜe_m­_compu\8b_l\9aux
+(
+m­
+);
+
+93 ià(
+¡©us
+) {
+
+94 
+       `ä\93
+(
+m­
+);
+
+95 \15 
+NULL
+;
+
+98 
+¡©us
+ = 
+       `ýu_cÜe_m­_compu\8b_ªd_check
+(
+m­
+);
+
+99 ià(
+¡©us
+) {
+
+100 
+       `ä\93
+(
+m­
+);
+
+101 \15 
+NULL
+;
+
+104 \15 
+m­
+;
+
+105 
+       }
+}
+
+108 
+       $ýu_cÜe_m­_compu\8b_\97l
+(\19
+ýu_cÜe_m­
+ *
+m­
+)
+
+110 
+u\9at32_t
+sock\91_id
+, 
+cÜe_id
+, 
+ht_id
+;
+
+113 \ f
+sock\91_id
+ = 0; sock\91_id < 
+m­
+->
+n_max_sock\91s
+; socket_id++) {
+
+114 
+u\9at32_t
+n_d\91eùed
+, 
+cÜe_id_cÚtig
+;
+
+115 \12
+lcÜe_id
+;
+
+117 
+n_d\91eùed
+ = 0;
+
+118 \ f
+lcÜe_id
+ = 0;\86cÜe_id < 
+RTE_MAX_LCORE
+;\86core_id++) {
+
+119 \19
+lcÜe_cÚfig
+ *
+p
+ = &lcÜe_cÚfig[
+lcÜe_id
+];
+
+121 ià((
+p
+->
+d\91eùed
+è&& (p->
+sock\91_id
+ == socket_id))
+
+122 
+n_d\91eùed
+++;
+
+125 
+cÜe_id_cÚtig
+ = 0;
+
+127 \ f
+cÜe_id
+ = 0; 
+n_d\91eùed
+ ; core_id++) {
+
+128 
+ht_id
+ = 0;
+
+130 \ f
+lcÜe_id
+ = 0;
+
+131 
+lcÜe_id
+ < 
+RTE_MAX_LCORE
+;
+
+132 
+lcÜe_id
+++) {
+
+133 \19
+lcÜe_cÚfig
+ *
+p
+ =
+
+134 &
+lcÜe_cÚfig
+[
+lcÜe_id
+];
+
+136 ià((
+p
+->
+d\91eùed
+) &&
+
+137 (
+p
+->
+sock\91_id
+ == socket_id) &&
+
+138 (
+p
+->
+cÜe_id
+ == core_id)) {
+
+139 
+u\9at32_t
+pos
+ = 
+       `ýu_cÜe_m­_pos
+(
+m­
+,
+
+140 
+sock\91_id
+,
+
+141 
+cÜe_id_cÚtig
+,
+
+142 
+ht_id
+);
+
+144 
+m­
+->m­[
+pos
+] = 
+lcÜe_id
+;
+
+145 
+ht_id
+++;
+
+146 
+n_d\91eùed
+--;
+
+150 ià(
+ht_id
+) {
+
+151 
+cÜe_id_cÚtig
+++;
+
+152 ià(
+cÜe_id_cÚtig
+ ==
+
+153 
+m­
+->
+n_max_cÜes_³r_sock\91
+)
+
+160 
+       }
+}
+
+163 
+       $ýu_cÜe_m­_compu\8b_ªd_check
+(\19
+ýu_cÜe_m­
+ *
+m­
+)
+
+165 
+u\9at32_t
+sock\91_id
+, 
+cÜe_id
+, 
+ht_id
+;
+
+168 \ f
+ht_id
+ = 0; ht_id < 
+m­
+->
+n_max_ht_³r_cÜe
+; ht_id++) {
+
+169 ià(
+m­
+->m­[
+ht_id
+] == -1)
+
+172 
+m­
+->
+n_ht_³r_cÜe
+++;
+
+175 ià(
+m­
+->
+n_ht_³r_cÜe
+ == 0)
+
+178 \ f
+cÜe_id
+ = 0; cÜe_id < 
+m­
+->
+n_max_cÜes_³r_sock\91
+; core_id++) {
+
+179 
+u\9at32_t
+pos
+ = 
+cÜe_id
+ * 
+m­
+->
+n_max_ht_³r_cÜe
+;
+
+181 ià(
+m­
+->m­[
+pos
+] == -1)
+
+184 
+m­
+->
+n_cÜes_³r_sock\91
+++;
+
+187 ià(
+m­
+->
+n_cÜes_³r_sock\91
+ == 0)
+
+190 \ f
+sock\91_id
+ = 0; sock\91_id < 
+m­
+->
+n_max_sock\91s
+; socket_id++) {
+
+191 
+u\9at32_t
+pos
+ = 
+sock\91_id
+ * 
+m­
+->
+n_max_cÜes_³r_sock\91
+ *
+
+192 
+m­
+->
+n_max_ht_³r_cÜe
+;
+
+194 ià(
+m­
+->m­[
+pos
+] == -1)
+
+197 
+m­
+->
+n_sock\91s
+++;
+
+200 ià(
+m­
+->
+n_sock\91s
+ == 0)
+
+205 \ f
+sock\91_id
+ = 0; sock\91_id < 
+m­
+->
+n_sock\91s
+; socket_id++) {
+
+206 \ f
+cÜe_id
+ = 0; cÜe_id < 
+m­
+->
+n_cÜes_³r_sock\91
+; core_id++)
+
+207 \ f
+ht_id
+ = 0;
+
+208 
+ht_id
+ < 
+m­
+->
+n_max_ht_³r_cÜe
+;
+
+209 
+ht_id
+++) {
+
+210 
+u\9at32_t
+pos
+ = (
+sock\91_id
+ *
+
+211 
+m­
+->
+n_max_cÜes_³r_sock\91
+ + 
+cÜe_id
+) *
+
+212 
+m­
+->
+n_max_ht_³r_cÜe
+ + 
+ht_id
+;
+
+214 ià(((
+ht_id
+ < 
+m­
+->
+n_ht_³r_cÜe
+) &&
+
+215 (
+m­
+->m­[
+pos
+] == -1)) ||
+
+216 ((
+ht_id
+ >ð
+m­
+->
+n_ht_³r_cÜe
+) &&
+
+217 (
+m­
+->m­[
+pos
+] != -1)))
+
+221 \ f ; 
+cÜe_id
+ < 
+m­
+->
+n_max_cÜes_³r_sock\91
+; core_id++)
+
+222 \ f
+ht_id
+ = 0;
+
+223 
+ht_id
+ < 
+m­
+->
+n_max_ht_³r_cÜe
+;
+
+224 
+ht_id
+++) {
+
+225 
+u\9at32_t
+pos
+ = 
+       `ýu_cÜe_m­_pos
+(
+m­
+,
+
+226 
+sock\91_id
+,
+
+227 
+cÜe_id
+,
+
+228 
+ht_id
+);
+
+230 ià(
+m­
+->m­[
+pos
+] != -1)
+
+236 
+       }
+}
+
+238 \ 1
+       #FILE_LINUX_CPU_N_LCORES
+ \
+
+239 "/sys/deviûs/sy¡em/ýu/´e£Á"
+
+       )
+
+242 
+       $ýu_cÜe_m­_g\91_n_lcÜes_l\9aux
+(\1e)
+
+244 \ 5
+bufãr
+[64], *
+¡r\9ag
+;
+
+245 
+FILE
+ *
+fd
+;
+
+247 
+fd
+ = 
+       `fݒ
+(
+FILE_LINUX_CPU_N_LCORES
+, "r");
+
+248 ià(
+fd
+ =ð
+NULL
+)
+
+251 ià(
+       `fg\91s
+(
+bufãr
+, \17(bufãr), 
+fd
+è=ð
+NULL
+) {
+
+252 
+       `fþo£
+(
+fd
+);
+
+256 
+       `fþo£
+(
+fd
+);
+
+258 
+¡r\9ag
+ = 
+       `\9adex
+(
+bufãr
+, '-');
+
+259 ià(
+¡r\9ag
+ =ð
+NULL
+)
+
+262 \15 
+       `©oi
+(++
+¡r\9ag
+) + 1;
+
+263 
+       }
+}
+
+265 \ 1
+       #FILE_LINUX_CPU_CORE_ID
+ \
+
+266 "/sys/deviûs/sy¡em/ýu/ýu%" 
+PRIu32
+ "/tÝÞogy/cÜe_id"
+
+       )
+
+269 
+       $ýu_cÜe_m­_g\91_cÜe_id_l\9aux
+(\12
+lcÜe_id
+)
+
+271 \ 5
+bufãr
+[64];
+
+272 
+FILE
+ *
+fd
+;
+
+273 \12
+cÜe_id
+;
+
+275 
+       `¢´\9atf
+(
+bufãr
+, \17(bufãr), 
+FILE_LINUX_CPU_CORE_ID
+, 
+lcÜe_id
+);
+
+276 
+fd
+ = 
+       `fݒ
+(
+bufãr
+, "r");
+
+277 ià(
+fd
+ =ð
+NULL
+)
+
+280 ià(
+       `fg\91s
+(
+bufãr
+, \17(bufãr), 
+fd
+è=ð
+NULL
+) {
+
+281 
+       `fþo£
+(
+fd
+);
+
+285 
+       `fþo£
+(
+fd
+);
+
+287 
+cÜe_id
+ = 
+       `©oi
+(
+bufãr
+);
+
+288 \15 
+cÜe_id
+;
+
+289 
+       }
+}
+
+291 \ 1
+       #FILE_LINUX_CPU_SOCKET_ID
+ \
+
+292 "/sys/deviûs/sy¡em/ýu/ýu%" 
+PRIu32
+ "/tÝÞogy/physiÿl_·ckage_id"
+
+       )
+
+295 
+       $ýu_cÜe_m­_g\91_sock\91_id_l\9aux
+(\12
+lcÜe_id
+)
+
+297 \ 5
+bufãr
+[64];
+
+298 
+FILE
+ *
+fd
+;
+
+299 \12
+sock\91_id
+;
+
+301 
+       `¢´\9atf
+(
+bufãr
+, \17(bufãr), 
+FILE_LINUX_CPU_SOCKET_ID
+, 
+lcÜe_id
+);
+
+302 
+fd
+ = 
+       `fݒ
+(
+bufãr
+, "r");
+
+303 ià(
+fd
+ =ð
+NULL
+)
+
+306 ià(
+       `fg\91s
+(
+bufãr
+, \17(bufãr), 
+fd
+è=ð
+NULL
+) {
+
+307 
+       `fþo£
+(
+fd
+);
+
+311 
+       `fþo£
+(
+fd
+);
+
+313 
+sock\91_id
+ = 
+       `©oi
+(
+bufãr
+);
+
+314 \15 
+sock\91_id
+;
+
+315 
+       }
+}
+
+318 
+       $ýu_cÜe_m­_compu\8b_l\9aux
+(\19
+ýu_cÜe_m­
+ *
+m­
+)
+
+320 
+u\9at32_t
+sock\91_id
+, 
+cÜe_id
+, 
+ht_id
+;
+
+321 \12
+n_lcÜes
+;
+
+323 
+n_lcÜes
+ = 
+       `ýu_cÜe_m­_g\91_n_lcÜes_l\9aux
+();
+
+324 ià(
+n_lcÜes
+ <= 0)
+
+328 \ f
+sock\91_id
+ = 0; sock\91_id < 
+m­
+->
+n_max_sock\91s
+; socket_id++) {
+
+329 
+u\9at32_t
+n_d\91eùed
+, 
+cÜe_id_cÚtig
+;
+
+330 \12
+lcÜe_id
+;
+
+332 
+n_d\91eùed
+ = 0;
+
+333 \ f
+lcÜe_id
+ = 0;\86cÜe_id < 
+n_lcÜes
+;\86core_id++) {
+
+334 \12
+lcÜe_sock\91_id
+ =
+
+335 
+       `ýu_cÜe_m­_g\91_sock\91_id_l\9aux
+(
+lcÜe_id
+);
+
+337 ià(
+lcÜe_sock\91_id
+ < 0)
+
+340 ià(((
+u\9at32_t
+lcÜe_sock\91_id
+è=ð
+sock\91_id
+)
+
+341 
+n_d\91eùed
+++;
+
+344 
+cÜe_id_cÚtig
+ = 0;
+
+346 \ f
+cÜe_id
+ = 0; 
+n_d\91eùed
+ ; core_id++) {
+
+347 
+ht_id
+ = 0;
+
+349 \ f
+lcÜe_id
+ = 0;\86cÜe_id < 
+n_lcÜes
+;\86core_id++) {
+
+350 \12
+lcÜe_sock\91_id
+ =
+
+351 
+       `ýu_cÜe_m­_g\91_sock\91_id_l\9aux
+(
+
+352 
+lcÜe_id
+);
+
+354 ià(
+lcÜe_sock\91_id
+ < 0)
+
+357 \12
+lcÜe_cÜe_id
+ =
+
+358 
+       `ýu_cÜe_m­_g\91_cÜe_id_l\9aux
+(
+
+359 
+lcÜe_id
+);
+
+361 ià(
+lcÜe_cÜe_id
+ < 0)
+
+364 ià(((
+u\9at32_t
+lcÜe_sock\91_id
+ =ð
+sock\91_id
+) &&
+
+365 ((
+u\9at32_t
+lcÜe_cÜe_id
+ =ð
+cÜe_id
+)) {
+
+366 
+u\9at32_t
+pos
+ = 
+       `ýu_cÜe_m­_pos
+(
+m­
+,
+
+367 
+sock\91_id
+,
+
+368 
+cÜe_id_cÚtig
+,
+
+369 
+ht_id
+);
+
+371 
+m­
+->m­[
+pos
+] = 
+lcÜe_id
+;
+
+372 
+ht_id
+++;
+
+373 
+n_d\91eùed
+--;
+
+377 ià(
+ht_id
+) {
+
+378 
+cÜe_id_cÚtig
+++;
+
+379 ià(
+cÜe_id_cÚtig
+ ==
+
+380 
+m­
+->
+n_max_cÜes_³r_sock\91
+)
+
+387 
+       }
+}
+
+390 
+       $ýu_cÜe_m­_´\9at
+(\19
+ýu_cÜe_m­
+ *
+m­
+)
+
+392 
+u\9at32_t
+sock\91_id
+, 
+cÜe_id
+, 
+ht_id
+;
+
+394 ià(
+m­
+ =ð
+NULL
+)
+
+397 \ f
+sock\91_id
+ = 0; sock\91_id < 
+m­
+->
+n_sock\91s
+; socket_id++) {
+
+398 
+       `´\9atf
+("Sock\91 %" 
+PRIu32
+ ":\n", 
+sock\91_id
+);
+
+400 \ f
+cÜe_id
+ = 0;
+
+401 
+cÜe_id
+ < 
+m­
+->
+n_cÜes_³r_sock\91
+;
+
+402 
+cÜe_id
+++) {
+
+403 
+       `´\9atf
+("[%" 
+PRIu32
+ "] = [", 
+cÜe_id
+);
+
+405 \ f
+ht_id
+ = 0; ht_id < 
+m­
+->
+n_ht_³r_cÜe
+; ht_id++) {
+
+406 \12
+lcÜe_id
+ = 
+       `ýu_cÜe_m­_g\91_lcÜe_id
+(
+m­
+,
+
+407 
+sock\91_id
+,
+
+408 
+cÜe_id
+,
+
+409 
+ht_id
+);
+
+411 
+u\9at32_t
+cÜe_id_nÚcÚtig
+ =
+
+412 
+       `ýu_cÜe_m­_g\91_cÜe_id_l\9aux
+(
+
+413 
+lcÜe_id
+);
+
+415 
+       `´\9atf
+(" %" 
+PRId32
+ " (%" 
+PRIu32
+ ") ",
+
+416 
+lcÜe_id
+,
+
+417 
+cÜe_id_nÚcÚtig
+);
+
+420 
+       `´\9atf
+("]\n");
+
+423 
+       }
+}
+
+425 
+u\9at32_t
+
+
+426 
+       $ýu_cÜe_m­_g\91_n_sock\91s
+(\19
+ýu_cÜe_m­
+ *
+m­
+)
+
+428 ià(
+m­
+ =ð
+NULL
+)
+
+431 \15 
+m­
+->
+n_sock\91s
+;
+
+432 
+       }
+}
+
+434 
+u\9at32_t
+
+
+435 
+       $ýu_cÜe_m­_g\91_n_cÜes_³r_sock\91
+(\19
+ýu_cÜe_m­
+ *
+m­
+)
+
+437 ià(
+m­
+ =ð
+NULL
+)
+
+440 \15 
+m­
+->
+n_cÜes_³r_sock\91
+;
+
+441 
+       }
+}
+
+443 
+u\9at32_t
+
+
+444 
+       $ýu_cÜe_m­_g\91_n_ht_³r_cÜe
+(\19
+ýu_cÜe_m­
+ *
+m­
+)
+
+446 ià(
+m­
+ =ð
+NULL
+)
+
+449 \15 
+m­
+->
+n_ht_³r_cÜe
+;
+
+450 
+       }
+}
+
+453 
+       $ýu_cÜe_m­_g\91_lcÜe_id
+(\19
+ýu_cÜe_m­
+ *
+m­
+,
+
+454 
+u\9at32_t
+sock\91_id
+,
+
+455 
+u\9at32_t
+cÜe_id
+,
+
+456 
+u\9at32_t
+ht_id
+)
+
+458 
+u\9at32_t
+pos
+;
+
+460 ià((
+m­
+ =ð
+NULL
+) ||
+
+461 (
+sock\91_id
+ >ð
+m­
+->
+n_sock\91s
+) ||
+
+462 (
+cÜe_id
+ >ð
+m­
+->
+n_cÜes_³r_sock\91
+) ||
+
+463 (
+ht_id
+ >ð
+m­
+->
+n_ht_³r_cÜe
+))
+
+466 
+pos
+ = 
+       `ýu_cÜe_m­_pos
+(
+m­
+, 
+sock\91_id
+, 
+cÜe_id
+, 
+ht_id
+);
+
+468 \15 
+m­
+->m­[
+pos
+];
+
+469 
+       }
+}
+
+472 
+       $ýu_cÜe_m­_ä\93
+(\19
+ýu_cÜe_m­
+ *
+m­
+)
+
+474 
+       `ä\93
+(
+m­
+);
+
+475 
+       }
+}
+
+       @vnf_common/cpu_core_map.h
+
+17 #iâdeà
+__INCLUDE_CPU_CORE_MAP_H__
+
+
+18 \ 1
+       #__INCLUDE_CPU_CORE_MAP_H__
+
+
+       )
+
+20 \ 2
+       ~<¡dio.h
+>
+
+22 \ 2
+       ~<¹e_lcÜe.h
+>
+
+24 \19
+       gýu_cÜe_m­
+;
+
+26 \19
+ýu_cÜe_m­
+ *
+
+27 
+ýu_cÜe_m­_\9a\99
+(
+u\9at32_t
+n_max_sock\91s
+,
+
+28 
+u\9at32_t
+n_max_cÜes_³r_sock\91
+,
+
+29 
+u\9at32_t
+n_max_ht_³r_cÜe
+,
+
+30 
+u\9at32_t
+\97l_\9a\99\9flized
+);
+
+32 
+u\9at32_t
+
+
+33 
+ýu_cÜe_m­_g\91_n_sock\91s
+(\19
+ýu_cÜe_m­
+ *
+m­
+);
+
+35 
+u\9at32_t
+
+
+36 
+ýu_cÜe_m­_g\91_n_cÜes_³r_sock\91
+(\19
+ýu_cÜe_m­
+ *
+m­
+);
+
+38 
+u\9at32_t
+
+
+39 
+ýu_cÜe_m­_g\91_n_ht_³r_cÜe
+(\19
+ýu_cÜe_m­
+ *
+m­
+);
+
+42 
+ýu_cÜe_m­_g\91_lcÜe_id
+(\19
+ýu_cÜe_m­
+ *
+m­
+,
+
+43 
+u\9at32_t
+sock\91_id
+,
+
+44 
+u\9at32_t
+cÜe_id
+,
+
+45 
+u\9at32_t
+ht_id
+);
+
+47 \1e
+ýu_cÜe_m­_´\9at
+(\19
+ýu_cÜe_m­
+ *
+m­
+);
+
+50 
+ýu_cÜe_m­_ä\93
+(\19
+ýu_cÜe_m­
+ *
+m­
+);
+
+       @vnf_common/hash_func.h
+
+16 #iâdeà
+__INCLUDE_HASH_FUNC_H__
+
+
+17 \ 1
+       #__INCLUDE_HASH_FUNC_H__
+
+
+       )
+
+19 \18
+\9al\9ae
+u\9at64_t
+
+
+20 
+       $hash_xÜ_key8
+(\1e*
+key
+, 
+__¹e_unu£d
+u\9at32_t
+key_size
+, 
+u\9at64_t
+£ed
+)
+
+22 
+u\9at64_t
+ *
+k
+ = 
+key
+;
+
+23 
+u\9at64_t
+xÜ0
+;
+
+25 
+xÜ0
+ = 
+£ed
+ ^ 
+k
+[0];
+
+27 \15 (
+xÜ0
+ >> 32) ^ xor0;
+
+28 
+       }
+}
+
+30 \18
+\9al\9ae
+u\9at64_t
+
+
+31 
+       $hash_xÜ_key16
+(\1e*
+key
+, 
+__¹e_unu£d
+u\9at32_t
+key_size
+, 
+u\9at64_t
+£ed
+)
+
+33 
+u\9at64_t
+ *
+k
+ = 
+key
+;
+
+34 
+u\9at64_t
+xÜ0
+;
+
+36 
+xÜ0
+ = (
+k
+[0] ^ 
+£ed
+) ^ k[1];
+
+38 \15 (
+xÜ0
+ >> 32) ^ xor0;
+
+39 
+       }
+}
+
+41 \18
+\9al\9ae
+u\9at64_t
+
+
+42 
+       $hash_xÜ_key24
+(\1e*
+key
+, 
+__¹e_unu£d
+u\9at32_t
+key_size
+, 
+u\9at64_t
+£ed
+)
+
+44 
+u\9at64_t
+ *
+k
+ = 
+key
+;
+
+45 
+u\9at64_t
+xÜ0
+;
+
+47 
+xÜ0
+ = (
+k
+[0] ^ 
+£ed
+) ^ k[1];
+
+49 
+xÜ0
+ ^ð
+k
+[2];
+
+51 \15 (
+xÜ0
+ >> 32) ^ xor0;
+
+52 
+       }
+}
+
+54 \18
+\9al\9ae
+u\9at64_t
+
+
+55 
+       $hash_xÜ_key32
+(\1e*
+key
+, 
+__¹e_unu£d
+u\9at32_t
+key_size
+, 
+u\9at64_t
+£ed
+)
+
+57 
+u\9at64_t
+ *
+k
+ = 
+key
+;
+
+58 
+u\9at64_t
+xÜ0
+, 
+xÜ1
+;
+
+60 
+xÜ0
+ = (
+k
+[0] ^ 
+£ed
+) ^ k[1];
+
+61 
+xÜ1
+ = 
+k
+[2] ^ k[3];
+
+63 
+xÜ0
+ ^ð
+xÜ1
+;
+
+65 \15 (
+xÜ0
+ >> 32) ^ xor0;
+
+66 
+       }
+}
+
+68 \18
+\9al\9ae
+u\9at64_t
+
+
+69 
+       $hash_xÜ_key40
+(\1e*
+key
+, 
+__¹e_unu£d
+u\9at32_t
+key_size
+, 
+u\9at64_t
+£ed
+)
+
+71 
+u\9at64_t
+ *
+k
+ = 
+key
+;
+
+72 
+u\9at64_t
+xÜ0
+, 
+xÜ1
+;
+
+74 
+xÜ0
+ = (
+k
+[0] ^ 
+£ed
+) ^ k[1];
+
+75 
+xÜ1
+ = 
+k
+[2] ^ k[3];
+
+77 
+xÜ0
+ ^ð
+xÜ1
+;
+
+79 
+xÜ0
+ ^ð
+k
+[4];
+
+81 \15 (
+xÜ0
+ >> 32) ^ xor0;
+
+82 
+       }
+}
+
+84 \18
+\9al\9ae
+u\9at64_t
+
+
+85 
+       $hash_xÜ_key48
+(\1e*
+key
+, 
+__¹e_unu£d
+u\9at32_t
+key_size
+, 
+u\9at64_t
+£ed
+)
+
+87 
+u\9at64_t
+ *
+k
+ = 
+key
+;
+
+88 
+u\9at64_t
+xÜ0
+, 
+xÜ1
+, 
+xÜ2
+;
+
+90 
+xÜ0
+ = (
+k
+[0] ^ 
+£ed
+) ^ k[1];
+
+91 
+xÜ1
+ = 
+k
+[2] ^ k[3];
+
+92 
+xÜ2
+ = 
+k
+[4] ^ k[5];
+
+94 
+xÜ0
+ ^ð
+xÜ1
+;
+
+96 
+xÜ0
+ ^ð
+xÜ2
+;
+
+98 \15 (
+xÜ0
+ >> 32) ^ xor0;
+
+99 
+       }
+}
+
+101 \18
+\9al\9ae
+u\9at64_t
+
+
+102 
+       $hash_xÜ_key56
+(\1e*
+key
+, 
+__¹e_unu£d
+u\9at32_t
+key_size
+, 
+u\9at64_t
+£ed
+)
+
+104 
+u\9at64_t
+ *
+k
+ = 
+key
+;
+
+105 
+u\9at64_t
+xÜ0
+, 
+xÜ1
+, 
+xÜ2
+;
+
+107 
+xÜ0
+ = (
+k
+[0] ^ 
+£ed
+) ^ k[1];
+
+108 
+xÜ1
+ = 
+k
+[2] ^ k[3];
+
+109 
+xÜ2
+ = 
+k
+[4] ^ k[5];
+
+111 
+xÜ0
+ ^ð
+xÜ1
+;
+
+112 
+xÜ2
+ ^ð
+k
+[6];
+
+114 
+xÜ0
+ ^ð
+xÜ2
+;
+
+116 \15 (
+xÜ0
+ >> 32) ^ xor0;
+
+117 
+       }
+}
+
+119 \18
+\9al\9ae
+u\9at64_t
+
+
+120 
+       $hash_xÜ_key64
+(\1e*
+key
+, 
+__¹e_unu£d
+u\9at32_t
+key_size
+, 
+u\9at64_t
+£ed
+)
+
+122 
+u\9at64_t
+ *
+k
+ = 
+key
+;
+
+123 
+u\9at64_t
+xÜ0
+, 
+xÜ1
+, 
+xÜ2
+, 
+xÜ3
+;
+
+125 
+xÜ0
+ = (
+k
+[0] ^ 
+£ed
+) ^ k[1];
+
+126 
+xÜ1
+ = 
+k
+[2] ^ k[3];
+
+127 
+xÜ2
+ = 
+k
+[4] ^ k[5];
+
+128 
+xÜ3
+ = 
+k
+[6] ^ k[7];
+
+130 
+xÜ0
+ ^ð
+xÜ1
+;
+
+131 
+xÜ2
+ ^ð
+xÜ3
+;
+
+133 
+xÜ0
+ ^ð
+xÜ2
+;
+
+135 \15 (
+xÜ0
+ >> 32) ^ xor0;
+
+136 
+       }
+}
+
+138 #ià
+def\9aed
+(
+RTE_ARCH_X86_64
+è&& def\9aed(
+RTE_MACHINE_CPUFLAG_SSE4_2
+)
+
+140 \ 2
+       ~<x86\9a\8c\9a.h
+>
+
+142 \18
+\9al\9ae
+u\9at64_t
+
+
+143 
+       $hash_üc_key8
+(\1e*
+key
+, 
+__¹e_unu£d
+u\9at32_t
+key_size
+, 
+u\9at64_t
+£ed
+)
+
+145 
+u\9at64_t
+ *
+k
+ = 
+key
+;
+
+146 
+u\9at64_t
+üc0
+;
+
+148 
+üc0
+ = 
+       `_mm_üc32_u64
+(
+£ed
+, 
+k
+[0]);
+
+150 \15 
+üc0
+;
+
+151 
+       }
+}
+
+153 \18
+\9al\9ae
+u\9at64_t
+
+
+154 
+       $hash_üc_key16
+(\1e*
+key
+, 
+__¹e_unu£d
+u\9at32_t
+key_size
+, 
+u\9at64_t
+£ed
+)
+
+156 
+u\9at64_t
+ *
+k
+ = 
+key
+;
+
+157 
+u\9at64_t
+k0
+, 
+üc0
+, 
+üc1
+;
+
+159 
+k0
+ = 
+k
+[0];
+
+161 
+üc0
+ = 
+       `_mm_üc32_u64
+(
+k0
+, 
+£ed
+);
+
+162 
+üc1
+ = 
+       `_mm_üc32_u64
+(
+k0
+ >> 32, 
+k
+[1]);
+
+164 
+üc0
+ ^ð
+üc1
+;
+
+166 \15 
+üc0
+;
+
+167 
+       }
+}
+
+169 \18
+\9al\9ae
+u\9at64_t
+
+
+170 
+       $hash_üc_key24
+(\1e*
+key
+, 
+__¹e_unu£d
+u\9at32_t
+key_size
+, 
+u\9at64_t
+£ed
+)
+
+172 
+u\9at64_t
+ *
+k
+ = 
+key
+;
+
+173 
+u\9at64_t
+k0
+, 
+k2
+, 
+üc0
+, 
+üc1
+;
+
+175 
+k0
+ = 
+k
+[0];
+
+176 
+k2
+ = 
+k
+[2];
+
+178 
+üc0
+ = 
+       `_mm_üc32_u64
+(
+k0
+, 
+£ed
+);
+
+179 
+üc1
+ = 
+       `_mm_üc32_u64
+(
+k0
+ >> 32, 
+k
+[1]);
+
+181 
+üc0
+ = 
+       `_mm_üc32_u64
+(üc0, 
+k2
+);
+
+183 
+üc0
+ ^ð
+üc1
+;
+
+185 \15 
+üc0
+;
+
+186 
+       }
+}
+
+188 \18
+\9al\9ae
+u\9at64_t
+
+
+189 
+       $hash_üc_key32
+(\1e*
+key
+, 
+__¹e_unu£d
+u\9at32_t
+key_size
+, 
+u\9at64_t
+£ed
+)
+
+191 
+u\9at64_t
+ *
+k
+ = 
+key
+;
+
+192 
+u\9at64_t
+k0
+, 
+k2
+, 
+üc0
+, 
+üc1
+, 
+üc2
+, 
+üc3
+;
+
+194 
+k0
+ = 
+k
+[0];
+
+195 
+k2
+ = 
+k
+[2];
+
+197 
+üc0
+ = 
+       `_mm_üc32_u64
+(
+k0
+, 
+£ed
+);
+
+198 
+üc1
+ = 
+       `_mm_üc32_u64
+(
+k0
+ >> 32, 
+k
+[1]);
+
+200 
+üc2
+ = 
+       `_mm_üc32_u64
+(
+k2
+, 
+k
+[3]);
+
+201 
+üc3
+ = 
+k2
+ >> 32;
+
+203 
+üc0
+ = 
+       `_mm_üc32_u64
+(üc0, 
+üc1
+);
+
+204 
+üc1
+ = 
+       `_mm_üc32_u64
+(
+üc2
+, 
+üc3
+);
+
+206 
+üc0
+ ^ð
+üc1
+;
+
+208 \15 
+üc0
+;
+
+209 
+       }
+}
+
+211 \18
+\9al\9ae
+u\9at64_t
+
+
+212 
+       $hash_üc_key40
+(\1e*
+key
+, 
+__¹e_unu£d
+u\9at32_t
+key_size
+, 
+u\9at64_t
+£ed
+)
+
+214 
+u\9at64_t
+ *
+k
+ = 
+key
+;
+
+215 
+u\9at64_t
+k0
+, 
+k2
+, 
+üc0
+, 
+üc1
+, 
+üc2
+, 
+üc3
+;
+
+217 
+k0
+ = 
+k
+[0];
+
+218 
+k2
+ = 
+k
+[2];
+
+220 
+üc0
+ = 
+       `_mm_üc32_u64
+(
+k0
+, 
+£ed
+);
+
+221 
+üc1
+ = 
+       `_mm_üc32_u64
+(
+k0
+ >> 32, 
+k
+[1]);
+
+223 
+üc2
+ = 
+       `_mm_üc32_u64
+(
+k2
+, 
+k
+[3]);
+
+224 
+üc3
+ = 
+       `_mm_üc32_u64
+(
+k2
+ >> 32, 
+k
+[4]);
+
+226 
+üc0
+ = 
+       `_mm_üc32_u64
+(üc0, 
+üc1
+);
+
+227 
+üc1
+ = 
+       `_mm_üc32_u64
+(
+üc2
+, 
+üc3
+);
+
+229 
+üc0
+ ^ð
+üc1
+;
+
+231 \15 
+üc0
+;
+
+232 
+       }
+}
+
+234 \18
+\9al\9ae
+u\9at64_t
+
+
+235 
+       $hash_üc_key48
+(\1e*
+key
+, 
+__¹e_unu£d
+u\9at32_t
+key_size
+, 
+u\9at64_t
+£ed
+)
+
+237 
+u\9at64_t
+ *
+k
+ = 
+key
+;
+
+238 
+u\9at64_t
+k0
+, 
+k2
+, 
+k5
+, 
+üc0
+, 
+üc1
+, 
+üc2
+, 
+üc3
+;
+
+240 
+k0
+ = 
+k
+[0];
+
+241 
+k2
+ = 
+k
+[2];
+
+242 
+k5
+ = 
+k
+[5];
+
+244 
+üc0
+ = 
+       `_mm_üc32_u64
+(
+k0
+, 
+£ed
+);
+
+245 
+üc1
+ = 
+       `_mm_üc32_u64
+(
+k0
+ >> 32, 
+k
+[1]);
+
+247 
+üc2
+ = 
+       `_mm_üc32_u64
+(
+k2
+, 
+k
+[3]);
+
+248 
+üc3
+ = 
+       `_mm_üc32_u64
+(
+k2
+ >> 32, 
+k
+[4]);
+
+250 
+üc0
+ = 
+       `_mm_üc32_u64
+(üc0, (
+üc1
+ << 32è^ 
+üc2
+);
+
+251 
+üc1
+ = 
+       `_mm_üc32_u64
+(
+üc3
+, 
+k5
+);
+
+253 
+üc0
+ ^ð
+üc1
+;
+
+255 \15 
+üc0
+;
+
+256 
+       }
+}
+
+258 \18
+\9al\9ae
+u\9at64_t
+
+
+259 
+       $hash_üc_key56
+(\1e*
+key
+, 
+__¹e_unu£d
+u\9at32_t
+key_size
+, 
+u\9at64_t
+£ed
+)
+
+261 
+u\9at64_t
+ *
+k
+ = 
+key
+;
+
+262 
+u\9at64_t
+k0
+, 
+k2
+, 
+k5
+, 
+üc0
+, 
+üc1
+, 
+üc2
+, 
+üc3
+, 
+üc4
+, 
+üc5
+;
+
+264 
+k0
+ = 
+k
+[0];
+
+265 
+k2
+ = 
+k
+[2];
+
+266 
+k5
+ = 
+k
+[5];
+
+268 
+üc0
+ = 
+       `_mm_üc32_u64
+(
+k0
+, 
+£ed
+);
+
+269 
+üc1
+ = 
+       `_mm_üc32_u64
+(
+k0
+ >> 32, 
+k
+[1]);
+
+271 
+üc2
+ = 
+       `_mm_üc32_u64
+(
+k2
+, 
+k
+[3]);
+
+272 
+üc3
+ = 
+       `_mm_üc32_u64
+(
+k2
+ >> 32, 
+k
+[4]);
+
+274 
+üc4
+ = 
+       `_mm_üc32_u64
+(
+k5
+, 
+k
+[6]);
+
+275 
+üc5
+ = 
+k5
+ >> 32;
+
+277 
+üc0
+ = 
+       `_mm_üc32_u64
+(üc0, (
+üc1
+ << 32è^ 
+üc2
+);
+
+278 
+üc1
+ = 
+       `_mm_üc32_u64
+(
+üc3
+, (
+üc4
+ << 32è^ 
+üc5
+);
+
+280 
+üc0
+ ^ð
+üc1
+;
+
+282 \15 
+üc0
+;
+
+283 
+       }
+}
+
+285 \18
+\9al\9ae
+u\9at64_t
+
+
+286 
+       $hash_üc_key64
+(\1e*
+key
+, 
+__¹e_unu£d
+u\9at32_t
+key_size
+, 
+u\9at64_t
+£ed
+)
+
+288 
+u\9at64_t
+ *
+k
+ = 
+key
+;
+
+289 
+u\9at64_t
+k0
+, 
+k2
+, 
+k5
+, 
+üc0
+, 
+üc1
+, 
+üc2
+, 
+üc3
+, 
+üc4
+, 
+üc5
+;
+
+291 
+k0
+ = 
+k
+[0];
+
+292 
+k2
+ = 
+k
+[2];
+
+293 
+k5
+ = 
+k
+[5];
+
+295 
+üc0
+ = 
+       `_mm_üc32_u64
+(
+k0
+, 
+£ed
+);
+
+296 
+üc1
+ = 
+       `_mm_üc32_u64
+(
+k0
+ >> 32, 
+k
+[1]);
+
+298 
+üc2
+ = 
+       `_mm_üc32_u64
+(
+k2
+, 
+k
+[3]);
+
+299 
+üc3
+ = 
+       `_mm_üc32_u64
+(
+k2
+ >> 32, 
+k
+[4]);
+
+301 
+üc4
+ = 
+       `_mm_üc32_u64
+(
+k5
+, 
+k
+[6]);
+
+302 
+üc5
+ = 
+       `_mm_üc32_u64
+(
+k5
+ >> 32, 
+k
+[7]);
+
+304 
+üc0
+ = 
+       `_mm_üc32_u64
+(üc0, (
+üc1
+ << 32è^ 
+üc2
+);
+
+305 
+üc1
+ = 
+       `_mm_üc32_u64
+(
+üc3
+, (
+üc4
+ << 32è^ 
+üc5
+);
+
+307 
+üc0
+ ^ð
+üc1
+;
+
+309 \15 
+üc0
+;
+
+310 
+       }
+}
+
+312 \ 1
+       #hash_deçuÉ_key8
+hash_üc_key8
+
+
+       )
+
+313 \ 1
+       #hash_deçuÉ_key16
+hash_üc_key16
+
+
+       )
+
+314 \ 1
+       #hash_deçuÉ_key24
+hash_üc_key24
+
+
+       )
+
+315 \ 1
+       #hash_deçuÉ_key32
+hash_üc_key32
+
+
+       )
+
+316 \ 1
+       #hash_deçuÉ_key40
+hash_üc_key40
+
+
+       )
+
+317 \ 1
+       #hash_deçuÉ_key48
+hash_üc_key48
+
+
+       )
+
+318 \ 1
+       #hash_deçuÉ_key56
+hash_üc_key56
+
+
+       )
+
+319 \ 1
+       #hash_deçuÉ_key64
+hash_üc_key64
+
+
+       )
+
+323 \ 1
+       #hash_deçuÉ_key8
+hash_xÜ_key8
+
+
+       )
+
+324 \ 1
+       #hash_deçuÉ_key16
+hash_xÜ_key16
+
+
+       )
+
+325 \ 1
+       #hash_deçuÉ_key24
+hash_xÜ_key24
+
+
+       )
+
+326 \ 1
+       #hash_deçuÉ_key32
+hash_xÜ_key32
+
+
+       )
+
+327 \ 1
+       #hash_deçuÉ_key40
+hash_xÜ_key40
+
+
+       )
+
+328 \ 1
+       #hash_deçuÉ_key48
+hash_xÜ_key48
+
+
+       )
+
+329 \ 1
+       #hash_deçuÉ_key56
+hash_xÜ_key56
+
+
+       )
+
+330 \ 1
+       #hash_deçuÉ_key64
+hash_xÜ_key64
+
+
+       )
+
+       @vnf_common/parser.h
+
+17 #iâdeà
+__INCLUDE_PARSER_H__
+
+
+18 \ 1
+       #__INCLUDE_PARSER_H__
+
+
+       )
+
+21 
+·r£r_»ad_¬g_boÞ
+(cڡ \ 5*
+p
+);
+
+24 
+·r£r_»ad_u\9at64
+(
+u\9at64_t
+ *
+v®ue
+, cڡ \ 5*
+p
+);
+
+27 
+·r£r_»ad_u\9at32
+(
+u\9at32_t
+ *
+v®ue
+, cڡ \ 5*
+p
+);
+
+30 
+·r£_hex_¡r\9ag
+(\ 5*
+¤c
+, 
+u\9at8_t
+ *
+d¡
+, 
+u\9at32_t
+ *
+size
+);
+
+       @vnf_common/pipeline.h
+
+17 #iâdeà
+__INCLUDE_PIPELINE_H__
+
+
+18 \ 1
+       #__INCLUDE_PIPELINE_H__
+
+
+       )
+
+20 \ 2
+       ~<cmdl\9ae_·r£.h
+>
+
+22 \ 2
+       ~"p\9d\96\9ae_be.h
+"
+
+28 \e\1e* (*
+       tp\9d\96\9ae_ã_Ý_\9a\99
+)(\19
+       tp\9d\96\9ae_·¿ms
+ *
+       t·¿ms
+, \1e*
+       t¬g
+);
+
+30 \e\12(*
+       tp\9d\96\9ae_ã_Ý_ä\93
+)(\1e*
+       tp\9d\96\9ae
+);
+
+32 \19
+       sp\9d\96\9ae_ã_Ýs
+ {
+
+33 
+p\9d\96\9ae_ã_Ý_\9a\99
+f_\9a\99
+;
+
+34 
+p\9d\96\9ae_ã_Ý_ä\93
+f_ä\93
+;
+
+35 
+cmdl\9ae_·r£_ùx_t
+ *
+cmds
+;
+
+42 \19
+       sp\9d\96\9ae_ty³
+ {
+
+43 cڡ \ 5*
+Çme
+;
+
+46 \19
+p\9d\96\9ae_be_Ýs
+ *
+be_Ýs
+;
+
+49 \19
+p\9d\96\9ae_ã_Ýs
+ *
+ã_Ýs
+;
+
+52 \18
+\9al\9ae
+u\9at32_t
+
+
+53 
+       $p\9d\96\9ae_ty³_cmds_couÁ
+(\19
+p\9d\96\9ae_ty³
+ *
+±y³
+)
+
+55 
+cmdl\9ae_·r£_ùx_t
+ *
+cmds
+;
+
+56 
+u\9at32_t
+n_cmds
+;
+
+58 ià(
+±y³
+->
+ã_Ýs
+ =ð
+NULL
+)
+
+61 
+cmds
+ = 
+±y³
+->
+ã_Ýs
+->cmds;
+
+62 ià(
+cmds
+ =ð
+NULL
+)
+
+65 \ f
+n_cmds
+ = 0; 
+cmds
+[n_cmds];\82_cmds++);
+
+67 \15 
+n_cmds
+;
+
+68 
+       }
+}
+
+71 
+·r£_p\9d\96\9ae_cÜe
+(
+u\9at32_t
+ *
+sock\91
+,
+
+72 
+u\9at32_t
+ *
+cÜe
+,
+
+73 
+u\9at32_t
+ *
+ht
+,
+
+74 cڡ \ 5*
+\92\8cy
+);
+
+       @vnf_common/pipeline_actions_common.h
+
+16 #iâdeà
+__INCLUDE_PIPELINE_ACTIONS_COMMON_H__
+
+
+17 \ 1
+       #__INCLUDE_PIPELINE_ACTIONS_COMMON_H__
+
+
+       )
+
+19 \ 2
+       ~<¡d\9at.h
+>
+
+21 \ 2
+       ~<¹e_commÚ.h
+>
+
+22 \ 2
+       ~<¹e_cyþes.h
+>
+
+23 \ 2
+       ~<¹e_mbuf.h
+>
+
+24 \ 2
+       ~<¹e_p\9d\96\9ae.h
+>
+
+26 \ 1
+       #PIPELINE_PORT_IN_AH
+(
+f_ah
+, 
+f_pkt_wÜk
+, 
+f_pkt4_wÜk
+) \
+
+28 
+       `f_ah
+( \
+
+29 
+__¹e_unu£d
\19
+¹e_p\9d\96\9ae
+ *
+p
+, \
+
+30 \19
+¹e_mbuf
+ **
+pkts
+, \
+
+31 
+u\9at32_t
+n_pkts
+, \
+
+32 \1e*
+¬g
+) \
+
+34 
+u\9at32_t
+i
+; \
+
+36 \ f
+i
+ = 0; i < (
+n_pkts
+ & (~0x3LLU)); i += 4) \
+
+37 
+       `f_pkt4_wÜk
+(&
+pkts
+[
+i
+], 
+¬g
+); \
+
+39 \ f ; 
+i
+ < 
+n_pkts
+; i++) \
+
+40 
+       `f_pkt_wÜk
+(
+pkts
+[
+i
+], 
+¬g
+); \
+
+43 }
+
+       )
+
+45 \ 1
+       #PIPELINE_PORT_IN_AH_HIJACK_ALL
+(
+f_ah
+, 
+f_pkt_wÜk
+, 
+f_pkt4_wÜk
+) \
+
+47 
+       `f_ah
+( \
+
+48 \19
+¹e_p\9d\96\9ae
+ *
+p
+, \
+
+49 \19
+¹e_mbuf
+ **
+pkts
+, \
+
+50 
+u\9at32_t
+n_pkts
+, \
+
+51 \1e*
+¬g
+) \
+
+53 
+u\9at64_t
+pkt_mask
+ = 
+       `RTE_LEN2MASK
+(
+n_pkts
+, uint64_t); \
+
+54 
+u\9at32_t
+i
+; \
+
+56 
+       `¹e_p\9d\96\9ae_ah_·ck\91_hijack
+(
+p
+, 
+pkt_mask
+); \
+
+58 \ f
+i
+ = 0; i < (
+n_pkts
+ & (~0x3LLU)); i += 4) \
+
+59 
+       `f_pkt4_wÜk
+(&
+pkts
+[
+i
+], 
+¬g
+); \
+
+61 \ f ; 
+i
+ < 
+n_pkts
+; i++) \
+
+62 
+       `f_pkt_wÜk
+(
+pkts
+[
+i
+], 
+¬g
+); \
+
+65 }
+
+       )
+
+67 \ 1
+       #PIPELINE_TABLE_AH_HIT
+(
+f_ah
+, 
+f_pkt_wÜk
+, 
+f_pkt4_wÜk
+) \
+
+69 
+       `f_ah
+( \
+
+70 
+__¹e_unu£d
\19
+¹e_p\9d\96\9ae
+ *
+p
+, \
+
+71 \19
+¹e_mbuf
+ **
+pkts
+, \
+
+72 
+u\9at64_t
+pkts_\9a_mask
+, \
+
+73 \19
+¹e_p\9d\96\9ae_\8fbË_\92\8cy
+ **
+\92\8c\9bs
+, \
+
+74 \1e*
+¬g
+) \
+
+76 ià((
+pkts_\9a_mask
+ & (pkts_in_mask + 1)) == 0) { \
+
+77 
+u\9at64_t
+n_pkts
+ = 
+       `__bu\9et\9a_pÝcouÁÎ
+(
+pkts_\9a_mask
+); \
+
+78 
+u\9at32_t
+i
+; \
+
+80 \ f
+i
+ = 0; i < (
+n_pkts
+ & (~0x3LLU)); i += 4) \
+
+81 
+       `f_pkt4_wÜk
+(&
+pkts
+[
+i
+], &
+\92\8c\9bs
+[i], 
+¬g
+); \
+
+83 \ f ; 
+i
+ < 
+n_pkts
+; i++) \
+
+84 
+       `f_pkt_wÜk
+(
+pkts
+[
+i
+], 
+\92\8c\9bs
+[i], 
+¬g
+); \
+
+86 \ f ; 
+pkts_\9a_mask
+; ) { \
+
+87 
+u\9at32_t
+pos
+ = 
+       `__bu\9et\9a_ùzÎ
+(
+pkts_\9a_mask
+); \
+
+88 
+u\9at64_t
+pkt_mask
+ = 1LLU << 
+pos
+; \
+
+90 
+pkts_\9a_mask
+ &ð~
+pkt_mask
+; \
+
+91 
+       `f_pkt_wÜk
+(
+pkts
+[
+pos
+], 
+\92\8c\9bs
+[pos], 
+¬g
+); \
+
+95 }
+
+       )
+
+97 \ 1
+       #PIPELINE_TABLE_AH_MISS
+(
+f_ah
+, 
+f_pkt_wÜk
+, 
+f_pkt4_wÜk
+) \
+
+99 
+       `f_ah
+( \
+
+100 
+__¹e_unu£d
\19
+¹e_p\9d\96\9ae
+ *
+p
+, \
+
+101 \19
+¹e_mbuf
+ **
+pkts
+, \
+
+102 
+u\9at64_t
+pkts_\9a_mask
+, \
+
+103 \19
+¹e_p\9d\96\9ae_\8fbË_\92\8cy
+ *
+\92\8cy
+, \
+
+104 \1e*
+¬g
+) \
+
+106 ià((
+pkts_\9a_mask
+ & (pkts_in_mask + 1)) == 0) { \
+
+107 
+u\9at64_t
+n_pkts
+ = 
+       `__bu\9et\9a_pÝcouÁÎ
+(
+pkts_\9a_mask
+); \
+
+108 
+u\9at32_t
+i
+; \
+
+110 \ f
+i
+ = 0; i < (
+n_pkts
+ & (~0x3LLU)); i += 4) \
+
+111 
+       `f_pkt4_wÜk
+(&
+pkts
+[
+i
+], 
+\92\8cy
+, 
+¬g
+); \
+
+113 \ f ; 
+i
+ < 
+n_pkts
+; i++) \
+
+114 
+       `f_pkt_wÜk
+(
+pkts
+[
+i
+], 
+\92\8cy
+, 
+¬g
+); \
+
+116 \ f ; 
+pkts_\9a_mask
+; ) { \
+
+117 
+u\9at32_t
+pos
+ = 
+       `__bu\9et\9a_ùzÎ
+(
+pkts_\9a_mask
+); \
+
+118 
+u\9at64_t
+pkt_mask
+ = 1LLU << 
+pos
+; \
+
+120 
+pkts_\9a_mask
+ &ð~
+pkt_mask
+; \
+
+121 
+       `f_pkt_wÜk
+(
+pkts
+[
+pos
+], 
+\92\8cy
+, 
+¬g
+); \
+
+125 }
+
+       )
+
+127 \ 1
+       #PIPELINE_TABLE_AH_HIT_DROP_TIME
+(
+f_ah
+, 
+f_pkt_wÜk
+, 
+f_pkt4_wÜk
+) \
+
+129 
+       `f_ah
+( \
+
+130 \19
+¹e_p\9d\96\9ae
+ *
+p
+, \
+
+131 \19
+¹e_mbuf
+ **
+pkts
+, \
+
+132 
+u\9at64_t
+pkts_mask
+, \
+
+133 \19
+¹e_p\9d\96\9ae_\8fbË_\92\8cy
+ **
+\92\8c\9bs
+, \
+
+134 \1e*
+¬g
+) \
+
+136 
+u\9at64_t
+pkts_\9a_mask
+ = 
+pkts_mask
+; \
+
+137 
+u\9at64_t
+pkts_out_mask
+ = 
+pkts_mask
+; \
+
+138 
+u\9at64_t
+time
+ = 
+       `¹e_rdtsc
+(); \
+
+140 ià((
+pkts_\9a_mask
+ & (pkts_in_mask + 1)) == 0) { \
+
+141 
+u\9at64_t
+n_pkts
+ = 
+       `__bu\9et\9a_pÝcouÁÎ
+(
+pkts_\9a_mask
+); \
+
+142 
+u\9at32_t
+i
+; \
+
+144 \ f
+i
+ = 0; i < (
+n_pkts
+ & (~0x3LLU)); i += 4) { \
+
+145 
+u\9at64_t
+mask
+ = 
+       `f_pkt4_wÜk
+(&
+pkts
+[
+i
+], \
+
+146 &
+\92\8c\9bs
+[
+i
+], 
+¬g
+, 
+time
+); \
+
+147 
+pkts_out_mask
+ ^ð
+mask
+ << 
+i
+; \
+
+150 \ f ; 
+i
+ < 
+n_pkts
+; i++) { \
+
+151 
+u\9at64_t
+mask
+ = 
+       `f_pkt_wÜk
+(
+pkts
+[
+i
+], \
+
+152 
+\92\8c\9bs
+[
+i
+], 
+¬g
+, 
+time
+); \
+
+153 
+pkts_out_mask
+ ^ð
+mask
+ << 
+i
+; \
+
+156 \ f ; 
+pkts_\9a_mask
+; ) { \
+
+157 
+u\9at32_t
+pos
+ = 
+       `__bu\9et\9a_ùzÎ
+(
+pkts_\9a_mask
+); \
+
+158 
+u\9at64_t
+pkt_mask
+ = 1LLU << 
+pos
+; \
+
+159 
+u\9at64_t
+mask
+ = 
+       `f_pkt_wÜk
+(
+pkts
+[
+pos
+], \
+
+160 
+\92\8c\9bs
+[
+pos
+], 
+¬g
+, 
+time
+); \
+
+162 
+pkts_\9a_mask
+ &ð~
+pkt_mask
+; \
+
+163 
+pkts_out_mask
+ ^ð
+mask
+ << 
+pos
+; \
+
+166 
+       `¹e_p\9d\96\9ae_ah_·ck\91_drÝ
+(
+p
+, 
+pkts_out_mask
+ ^ 
+pkts_mask
+); \
+
+169 }
+
+       )
+
+171 \ 1
+       #PIPELINE_TABLE_AH_MISS_DROP_TIME
+(
+f_ah
+, 
+f_pkt_wÜk
+, 
+f_pkt4_wÜk
+) \
+
+173 
+       `f_ah
+( \
+
+174 \19
+¹e_p\9d\96\9ae
+ *
+p
+, \
+
+175 \19
+¹e_mbuf
+ **
+pkts
+, \
+
+176 
+u\9at64_t
+pkts_mask
+, \
+
+177 \19
+¹e_p\9d\96\9ae_\8fbË_\92\8cy
+ *
+\92\8cy
+, \
+
+178 \1e*
+¬g
+) \
+
+180 
+u\9at64_t
+pkts_\9a_mask
+ = 
+pkts_mask
+; \
+
+181 
+u\9at64_t
+pkts_out_mask
+ = 
+pkts_mask
+; \
+
+182 
+u\9at64_t
+time
+ = 
+       `¹e_rdtsc
+(); \
+
+184 ià((
+pkts_\9a_mask
+ & (pkts_in_mask + 1)) == 0) { \
+
+185 
+u\9at64_t
+n_pkts
+ = 
+       `__bu\9et\9a_pÝcouÁÎ
+(
+pkts_\9a_mask
+); \
+
+186 
+u\9at32_t
+i
+; \
+
+188 \ f
+i
+ = 0; i < (
+n_pkts
+ & (~0x3LLU)); i += 4) { \
+
+189 
+u\9at64_t
+mask
+ = 
+       `f_pkt4_wÜk
+(&
+pkts
+[
+i
+], \
+
+190 
+\92\8cy
+, 
+¬g
+, 
+time
+); \
+
+191 
+pkts_out_mask
+ ^ð
+mask
+ << 
+i
+; \
+
+194 \ f ; 
+i
+ < 
+n_pkts
+; i++) { \
+
+195 
+u\9at64_t
+mask
+ = 
+       `f_pkt_wÜk
+(
+pkts
+[
+i
+], 
+\92\8cy
+, 
+¬g
+, 
+time
+);\
+
+196 
+pkts_out_mask
+ ^ð
+mask
+ << 
+i
+; \
+
+199 \ f ; 
+pkts_\9a_mask
+; ) { \
+
+200 
+u\9at32_t
+pos
+ = 
+       `__bu\9et\9a_ùzÎ
+(
+pkts_\9a_mask
+); \
+
+201 
+u\9at64_t
+pkt_mask
+ = 1LLU << 
+pos
+; \
+
+202 
+u\9at64_t
+mask
+ = 
+       `f_pkt_wÜk
+(
+pkts
+[
+pos
+], \
+
+203 
+\92\8cy
+, 
+¬g
+, 
+time
+); \
+
+205 
+pkts_\9a_mask
+ &ð~
+pkt_mask
+; \
+
+206 
+pkts_out_mask
+ ^ð
+mask
+ << 
+pos
+; \
+
+209 
+       `¹e_p\9d\96\9ae_ah_·ck\91_drÝ
+(
+p
+, 
+pkts_out_mask
+ ^ 
+pkts_mask
+); \
+
+212 }
+
+       )
+
+       @vnf_common/pipeline_be.h
+
+17 #iâdeà
+__INCLUDE_PIPELINE_BE_H__
+
+
+18 \ 1
+       #__INCLUDE_PIPELINE_BE_H__
+
+
+       )
+
+20 \ 2
+       ~<¹e_pÜt_\91hdev.h
+>
+
+21 \ 2
+       ~<¹e_pÜt_r\9ag.h
+>
+
+22 \ 2
+       ~<¹e_pÜt_äag.h
+>
+
+23 \ 2
+       ~<¹e_pÜt_¿s.h
+>
+
+24 \ 2
+       ~<¹e_pÜt_sched.h
+>
+
+25 \ 2
+       ~<¹e_pÜt_sourû_s\9ak.h
+>
+
+26 \ 2
+       ~<¹e_p\9d\96\9ae.h
+>
+
+28 \f
+       ep\9d\96\9ae_pÜt_\9a_ty³
+ {
+
+29 
+       mPIPELINE_PORT_IN_ETHDEV_READER
+,
+
+30 
+       mPIPELINE_PORT_IN_RING_READER
+,
+
+31 
+       mPIPELINE_PORT_IN_RING_MULTI_READER
+,
+
+32 
+       mPIPELINE_PORT_IN_RING_READER_IPV4_FRAG
+,
+
+33 
+       mPIPELINE_PORT_IN_RING_READER_IPV6_FRAG
+,
+
+34 
+       mPIPELINE_PORT_IN_SCHED_READER
+,
+
+35 
+       mPIPELINE_PORT_IN_SOURCE
+,
+
+38 \19
+       sp\9d\96\9ae_pÜt_\9a_·¿ms
+ {
+
+39 \f
+p\9d\96\9ae_pÜt_\9a_ty³
+       mty³
+;
+
+41 \19
+¹e_pÜt_\91hdev_»ad\94_·¿ms
+       m\91hdev
+;
+
+42 \19
+¹e_pÜt_r\9ag_»ad\94_·¿ms
+       mr\9ag
+;
+
+43 \19
+¹e_pÜt_r\9ag_muÉi_»ad\94_·¿ms
+       mr\9ag_muÉi
+;
+
+44 \19
+¹e_pÜt_r\9ag_»ad\94_\9dv4_äag_·¿ms
+       mr\9ag_\9dv4_äag
+;
+
+45 \19
+¹e_pÜt_r\9ag_»ad\94_\9dv6_äag_·¿ms
+       mr\9ag_\9dv6_äag
+;
+
+46 \19
+¹e_pÜt_sched_»ad\94_·¿ms
+       msched
+;
+
+47 \19
+¹e_pÜt_sourû_·¿ms
+       msourû
+;
+
+48 } 
+       m·¿ms
+;
+
+49 
+u\9at32_t
+       mbur¡_size
+;
+
+52 \18
+\9al\9ae
\1e*
+
+53 
+       $p\9d\96\9ae_pÜt_\9a_·¿ms_cÚv\94t
+(\19
+p\9d\96\9ae_pÜt_\9a_·¿ms
+ *
+p
+)
+
+55 \1a
+p
+->
+ty³
+) {
+
+56 \ 4
+PIPELINE_PORT_IN_ETHDEV_READER
+:
+
+57 \15 (\1e*è&
+p
+->
+·¿ms
+.
+\91hdev
+;
+
+58 \ 4
+PIPELINE_PORT_IN_RING_READER
+:
+
+59 \15 (\1e*è&
+p
+->
+·¿ms
+.
+r\9ag
+;
+
+60 \ 4
+PIPELINE_PORT_IN_RING_MULTI_READER
+:
+
+61 \15 (\1e*è&
+p
+->
+·¿ms
+.
+r\9ag_muÉi
+;
+
+62 \ 4
+PIPELINE_PORT_IN_RING_READER_IPV4_FRAG
+:
+
+63 \15 (\1e*è&
+p
+->
+·¿ms
+.
+r\9ag_\9dv4_äag
+;
+
+64 \ 4
+PIPELINE_PORT_IN_RING_READER_IPV6_FRAG
+:
+
+65 \15 (\1e*è&
+p
+->
+·¿ms
+.
+r\9ag_\9dv6_äag
+;
+
+66 \ 4
+PIPELINE_PORT_IN_SCHED_READER
+:
+
+67 \15 (\1e*è&
+p
+->
+·¿ms
+.
+sched
+;
+
+68 \ 4
+PIPELINE_PORT_IN_SOURCE
+:
+
+69 \15 (\1e*è&
+p
+->
+·¿ms
+.
+sourû
+;
+
+71 \15 
+NULL
+;
+
+73 
+       }
+}
+
+75 \18
+\9al\9ae
\19
+¹e_pÜt_\9a_Ýs
+ *
+
+76 
+       $p\9d\96\9ae_pÜt_\9a_·¿ms_g\91_Ýs
+(\19
+p\9d\96\9ae_pÜt_\9a_·¿ms
+ *
+p
+)
+
+78 \1a
+p
+->
+ty³
+) {
+
+79 \ 4
+PIPELINE_PORT_IN_ETHDEV_READER
+:
+
+80 \15 &
+¹e_pÜt_\91hdev_»ad\94_Ýs
+;
+
+81 \ 4
+PIPELINE_PORT_IN_RING_READER
+:
+
+82 \15 &
+¹e_pÜt_r\9ag_»ad\94_Ýs
+;
+
+83 \ 4
+PIPELINE_PORT_IN_RING_MULTI_READER
+:
+
+84 \15 &
+¹e_pÜt_r\9ag_muÉi_»ad\94_Ýs
+;
+
+85 \ 4
+PIPELINE_PORT_IN_RING_READER_IPV4_FRAG
+:
+
+86 \15 &
+¹e_pÜt_r\9ag_»ad\94_\9dv4_äag_Ýs
+;
+
+87 \ 4
+PIPELINE_PORT_IN_RING_READER_IPV6_FRAG
+:
+
+88 \15 &
+¹e_pÜt_r\9ag_»ad\94_\9dv6_äag_Ýs
+;
+
+89 \ 4
+PIPELINE_PORT_IN_SCHED_READER
+:
+
+90 \15 &
+¹e_pÜt_sched_»ad\94_Ýs
+;
+
+91 \ 4
+PIPELINE_PORT_IN_SOURCE
+:
+
+92 \15 &
+¹e_pÜt_sourû_Ýs
+;
+
+94 \15 
+NULL
+;
+
+96 
+       }
+}
+
+98 \f
+       ep\9d\96\9ae_pÜt_out_ty³
+ {
+
+99 
+       mPIPELINE_PORT_OUT_ETHDEV_WRITER
+,
+
+100 
+       mPIPELINE_PORT_OUT_ETHDEV_WRITER_NODROP
+,
+
+101 
+       mPIPELINE_PORT_OUT_RING_WRITER
+,
+
+102 
+       mPIPELINE_PORT_OUT_RING_MULTI_WRITER
+,
+
+103 
+       mPIPELINE_PORT_OUT_RING_WRITER_NODROP
+,
+
+104 
+       mPIPELINE_PORT_OUT_RING_MULTI_WRITER_NODROP
+,
+
+105 
+       mPIPELINE_PORT_OUT_RING_WRITER_IPV4_RAS
+,
+
+106 
+       mPIPELINE_PORT_OUT_RING_WRITER_IPV6_RAS
+,
+
+107 
+       mPIPELINE_PORT_OUT_SCHED_WRITER
+,
+
+108 
+       mPIPELINE_PORT_OUT_SINK
+,
+
+111 \19
+       sp\9d\96\9ae_pÜt_out_·¿ms
+ {
+
+112 \f
+p\9d\96\9ae_pÜt_out_ty³
+       mty³
+;
+
+114 \19
+¹e_pÜt_\91hdev_wr\99\94_·¿ms
+       m\91hdev
+;
+
+115 \19
+¹e_pÜt_\91hdev_wr\99\94_nodrÝ_·¿ms
+       m\91hdev_nodrÝ
+;
+
+116 \19
+¹e_pÜt_r\9ag_wr\99\94_·¿ms
+       mr\9ag
+;
+
+117 \19
+¹e_pÜt_r\9ag_muÉi_wr\99\94_·¿ms
+       mr\9ag_muÉi
+;
+
+118 \19
+¹e_pÜt_r\9ag_wr\99\94_nodrÝ_·¿ms
+       mr\9ag_nodrÝ
+;
+
+119 \19
+¹e_pÜt_r\9ag_muÉi_wr\99\94_nodrÝ_·¿ms
+       mr\9ag_muÉi_nodrÝ
+;
+
+120 \19
+¹e_pÜt_r\9ag_wr\99\94_\9dv4_¿s_·¿ms
+       mr\9ag_\9dv4_¿s
+;
+
+121 \19
+¹e_pÜt_r\9ag_wr\99\94_\9dv6_¿s_·¿ms
+       mr\9ag_\9dv6_¿s
+;
+
+122 \19
+¹e_pÜt_sched_wr\99\94_·¿ms
+       msched
+;
+
+123 \19
+¹e_pÜt_s\9ak_·¿ms
+       ms\9ak
+;
+
+124 } 
+       m·¿ms
+;
+
+127 \18
+\9al\9ae
\1e*
+
+128 
+       $p\9d\96\9ae_pÜt_out_·¿ms_cÚv\94t
+(\19
+p\9d\96\9ae_pÜt_out_·¿ms
+ *
+p
+)
+
+130 \1a
+p
+->
+ty³
+) {
+
+131 \ 4
+PIPELINE_PORT_OUT_ETHDEV_WRITER
+:
+
+132 \15 (\1e*è&
+p
+->
+·¿ms
+.
+\91hdev
+;
+
+133 \ 4
+PIPELINE_PORT_OUT_ETHDEV_WRITER_NODROP
+:
+
+134 \15 (\1e*è&
+p
+->
+·¿ms
+.
+\91hdev_nodrÝ
+;
+
+135 \ 4
+PIPELINE_PORT_OUT_RING_WRITER
+:
+
+136 \15 (\1e*è&
+p
+->
+·¿ms
+.
+r\9ag
+;
+
+137 \ 4
+PIPELINE_PORT_OUT_RING_MULTI_WRITER
+:
+
+138 \15 (\1e*è&
+p
+->
+·¿ms
+.
+r\9ag_muÉi
+;
+
+139 \ 4
+PIPELINE_PORT_OUT_RING_WRITER_NODROP
+:
+
+140 \15 (\1e*è&
+p
+->
+·¿ms
+.
+r\9ag_nodrÝ
+;
+
+141 \ 4
+PIPELINE_PORT_OUT_RING_MULTI_WRITER_NODROP
+:
+
+142 \15 (\1e*è&
+p
+->
+·¿ms
+.
+r\9ag_muÉi_nodrÝ
+;
+
+143 \ 4
+PIPELINE_PORT_OUT_RING_WRITER_IPV4_RAS
+:
+
+144 \15 (\1e*è&
+p
+->
+·¿ms
+.
+r\9ag_\9dv4_¿s
+;
+
+145 \ 4
+PIPELINE_PORT_OUT_RING_WRITER_IPV6_RAS
+:
+
+146 \15 (\1e*è&
+p
+->
+·¿ms
+.
+r\9ag_\9dv6_¿s
+;
+
+147 \ 4
+PIPELINE_PORT_OUT_SCHED_WRITER
+:
+
+148 \15 (\1e*è&
+p
+->
+·¿ms
+.
+sched
+;
+
+149 \ 4
+PIPELINE_PORT_OUT_SINK
+:
+
+150 \15 (\1e*è&
+p
+->
+·¿ms
+.
+s\9ak
+;
+
+152 \15 
+NULL
+;
+
+154 
+       }
+}
+
+156 \18
+\9al\9ae
\1e*
+
+157 
+       $p\9d\96\9ae_pÜt_out_·¿ms_g\91_Ýs
+(\19
+p\9d\96\9ae_pÜt_out_·¿ms
+ *
+p
+)
+
+159 \1a
+p
+->
+ty³
+) {
+
+160 \ 4
+PIPELINE_PORT_OUT_ETHDEV_WRITER
+:
+
+161 \15 &
+¹e_pÜt_\91hdev_wr\99\94_Ýs
+;
+
+162 \ 4
+PIPELINE_PORT_OUT_ETHDEV_WRITER_NODROP
+:
+
+163 \15 &
+¹e_pÜt_\91hdev_wr\99\94_nodrÝ_Ýs
+;
+
+164 \ 4
+PIPELINE_PORT_OUT_RING_WRITER
+:
+
+165 \15 &
+¹e_pÜt_r\9ag_wr\99\94_Ýs
+;
+
+166 \ 4
+PIPELINE_PORT_OUT_RING_MULTI_WRITER
+:
+
+167 \15 &
+¹e_pÜt_r\9ag_muÉi_wr\99\94_Ýs
+;
+
+168 \ 4
+PIPELINE_PORT_OUT_RING_WRITER_NODROP
+:
+
+169 \15 &
+¹e_pÜt_r\9ag_wr\99\94_nodrÝ_Ýs
+;
+
+170 \ 4
+PIPELINE_PORT_OUT_RING_MULTI_WRITER_NODROP
+:
+
+171 \15 &
+¹e_pÜt_r\9ag_muÉi_wr\99\94_nodrÝ_Ýs
+;
+
+172 \ 4
+PIPELINE_PORT_OUT_RING_WRITER_IPV4_RAS
+:
+
+173 \15 &
+¹e_pÜt_r\9ag_wr\99\94_\9dv4_¿s_Ýs
+;
+
+174 \ 4
+PIPELINE_PORT_OUT_RING_WRITER_IPV6_RAS
+:
+
+175 \15 &
+¹e_pÜt_r\9ag_wr\99\94_\9dv6_¿s_Ýs
+;
+
+176 \ 4
+PIPELINE_PORT_OUT_SCHED_WRITER
+:
+
+177 \15 &
+¹e_pÜt_sched_wr\99\94_Ýs
+;
+
+178 \ 4
+PIPELINE_PORT_OUT_SINK
+:
+
+179 \15 &
+¹e_pÜt_s\9ak_Ýs
+;
+
+181 \15 
+NULL
+;
+
+183 
+       }
+}
+
+185 #iâdeà
+PIPELINE_NAME_SIZE
+
+
+186 \ 1
+       #PIPELINE_NAME_SIZE
+ 64
+
+       )
+
+189 #iâdeà
+PIPELINE_MAX_PORT_IN
+
+
+190 \ 1
+       #PIPELINE_MAX_PORT_IN
+ 64
+
+       )
+
+193 #iâdeà
+PIPELINE_MAX_PORT_OUT
+
+
+194 \ 1
+       #PIPELINE_MAX_PORT_OUT
+ 64
+
+       )
+
+197 #iâdeà
+PIPELINE_MAX_TABLES
+
+
+198 \ 1
+       #PIPELINE_MAX_TABLES
+ 64
+
+       )
+
+201 #iâdeà
+PIPELINE_MAX_MSGQ_IN
+
+
+202 \ 1
+       #PIPELINE_MAX_MSGQ_IN
+ 64
+
+       )
+
+205 #iâdeà
+PIPELINE_MAX_MSGQ_OUT
+
+
+206 \ 1
+       #PIPELINE_MAX_MSGQ_OUT
+ 64
+
+       )
+
+209 #iâdeà
+PIPELINE_MAX_ARGS
+
+
+210 \ 1
+       #PIPELINE_MAX_ARGS
+ 64
+
+       )
+
+213 \19
+       sp\9d\96\9ae_·¿ms
+ {
+
+214 \ 5
+       mÇme
+[
+PIPELINE_NAME_SIZE
+];
+
+216 \19
+p\9d\96\9ae_pÜt_\9a_·¿ms
+       mpÜt_\9a
+[
+PIPELINE_MAX_PORT_IN
+];
+
+217 \19
+p\9d\96\9ae_pÜt_out_·¿ms
+       mpÜt_out
+[
+PIPELINE_MAX_PORT_OUT
+];
+
+218 \19
+¹e_r\9ag
+ *
+       mmsgq_\9a
+[
+PIPELINE_MAX_MSGQ_IN
+];
+
+219 \19
+¹e_r\9ag
+ *
+       mmsgq_out
+[
+PIPELINE_MAX_MSGQ_OUT
+];
+
+221 
+u\9at32_t
+       mn_pÜts_\9a
+;
+
+222 
+u\9at32_t
+       mn_pÜts_out
+;
+
+223 
+u\9at32_t
+       mn_msgq
+;
+
+225 \12
+       msock\91_id
+;
+
+227 \ 5*
+       m¬gs_Çme
+[
+PIPELINE_MAX_ARGS
+];
+
+228 \ 5*
+       m¬gs_v®ue
+[
+PIPELINE_MAX_ARGS
+];
+
+229 
+u\9at32_t
+       mn_¬gs
+;
+
+231 
+u\9at32_t
+       mlog_Ëv\96
+;
+
+238 \e\1e* (*
+       tp\9d\96\9ae_be_Ý_\9a\99
+)(\19
+       tp\9d\96\9ae_·¿ms
+ *
+       t·¿ms
+,
+
+239 \1e*
+       t¬g
+);
+
+241 \e\12(*
+       tp\9d\96\9ae_be_Ý_ä\93
+)(\1e*
+       tp\9d\96\9ae
+);
+
+243 \e\12(*
+       tp\9d\96\9ae_be_Ý_run
+)(\1e*
+       tp\9d\96\9ae
+);
+
+245 \e\12(*
+       tp\9d\96\9ae_be_Ý_tim\94
+)(\1e*
+       tp\9d\96\9ae
+);
+
+247 \e\12(*
+       tp\9d\96\9ae_be_Ý_\8cack
+)(\1e*
+       tp\9d\96\9ae
+,
+
+248 
+       tu\9at32_t
+       tpÜt_\9a
+,
+
+249 
+       tu\9at32_t
+ *
+       tpÜt_out
+);
+
+251 \19
+       sp\9d\96\9ae_be_Ýs
+ {
+
+252 
+p\9d\96\9ae_be_Ý_\9a\99
+f_\9a\99
+;
+
+253 
+p\9d\96\9ae_be_Ý_ä\93
+f_ä\93
+;
+
+254 
+p\9d\96\9ae_be_Ý_run
+f_run
+;
+
+255 
+p\9d\96\9ae_be_Ý_tim\94
+f_tim\94
+;
+
+256 
+p\9d\96\9ae_be_Ý_\8cack
+f_\8cack
+;
+
+260 \ 1
+       #PIPELINE_ARG_CHECK
+(
+exp
+, 
+fmt
+, ...) \
+
+262 ià(!(
+exp
+)) { \
+
+263 
+       `år\9atf
+(
+¡d\94r
+, 
+fmt
+ "\n", ## 
+__VA_ARGS__
+); \
+
+266 
+       }
+} \1f0)
+
+       )
+
+268 \ 1
+       #PIPELINE_PARSE_ERR_INV_VAL
+(
+exp
+, 
+£ùiÚ
+, 
+\92\8cy
+, 
+v®
+) \
+
+269 
+       `PIPELINE_ARG_CHECK
+(
+exp
+, "Parse\83rror in section \"%s\":\83ntry \"%s\" " \
+
+270 "ha \9av®id v®u\90(\"%s\")", 
+£ùiÚ
+, 
+\92\8cy
+, 
+v®
+)
+
+       )
+
+272 \ 1
+       #PIPELINE_PARSE_ERR_OUT_RNG
+(
+exp
+, 
+£ùiÚ
+, 
+\92\8cy
+, 
+v®
+) \
+
+273 
+       `PIPELINE_ARG_CHECK
+(
+exp
+, "Parse\83rror in section \"%s\":\83ntry \"%s\" " \
+
+274 "v®u\90i ou\88oà¿ng\90(\"%s\")", 
+£ùiÚ
+, 
+\92\8cy
+, 
+v®
+)
+
+       )
+
+276 \ 1
+       #PIPELINE_PARSE_ERR_DUPLICATE
+(
+exp
+, 
+£ùiÚ
+, 
+\92\8cy
+) \
+
+277 
+       `PIPELINE_ARG_CHECK
+(
+exp
+, "Parse\83rror in section \"%s\": duplicated " \
+
+278 "\92\8cy \"%s\"", 
+£ùiÚ
+, 
+\92\8cy
+)
+
+       )
+
+280 \ 1
+       #PIPELINE_PARSE_ERR_INV_ENT
+(
+exp
+, 
+£ùiÚ
+, 
+\92\8cy
+) \
+
+281 
+       `PIPELINE_ARG_CHECK
+(
+exp
+, "Parse\83rror in section \"%s\": invalid\83ntry " \
+
+282 "\"%s\"", 
+£ùiÚ
+, 
+\92\8cy
+)
+
+       )
+
+284 \ 1
+       #PIPELINE_PARSE_ERR_MANDATORY
+(
+exp
+, 
+£ùiÚ
+, 
+\92\8cy
+) \
+
+285 
+       `PIPELINE_ARG_CHECK
+(
+exp
+, "Parse\83rror in section \"%s\": mandatory " \
+
+286 "\92\8cy \"%s\" i miss\9ag", 
+£ùiÚ
+, 
+\92\8cy
+)
+
+       )
+
+       @vnf_common/thread.c
+
+17 \ 2
+       ~<¹e_commÚ.h
+>
+
+18 \ 2
+       ~<¹e_cyþes.h
+>
+
+19 \ 2
+       ~<¹e_p\9d\96\9ae.h
+>
+
+21 \ 2
+       ~"p\9d\96\9ae_commÚ_be.h
+"
+
+22 \ 2
+       ~"­p.h
+"
+
+23 \ 2
+       ~"th»ad.h
+"
+
+25 #ià
+APP_THREAD_HEADROOM_STATS_COLLECT
+
+
+27 \ 1
+       #PIPELINE_RUN_REGULAR
+(
+th»ad
+, 
+p\9d\96\9ae
+) \
+
+29 
+u\9at64_t
+t0
+ = 
+       `¹e_rdtsc_´eci£
+(); \
+
+30 \12
+n_pkts
+ = 
+       `¹e_p\9d\96\9ae_run
+(
+p\9d\96\9ae
+->
+p
+); \
+
+32 ià(
+n_pkts
+ == 0) { \
+
+33 
+u\9at64_t
+t1
+ = 
+       `¹e_rdtsc_´eci£
+(); \
+
+35 
+th»ad
+->
+h\97droom_cyþes
+ +ð
+t1
+ - 
+t0
+; \
+
+37 } \1f0)
+
+       )
+
+40 \ 1
+       #PIPELINE_RUN_CUSTOM
+(
+th»ad
+, 
+d©a
+) \
+
+42 
+u\9at64_t
+t0
+ = 
+       `¹e_rdtsc_´eci£
+(); \
+
+43 \12
+n_pkts
+ = 
+d©a
+->
+       `f_run
+(d©a->
+be
+); \
+
+45 ià(
+n_pkts
+ == 0) { \
+
+46 
+u\9at64_t
+t1
+ = 
+       `¹e_rdtsc_´eci£
+(); \
+
+48 
+th»ad
+->
+h\97droom_cyþes
+ +ð
+t1
+ - 
+t0
+; \
+
+50 } \1f0)
+
+       )
+
+54 \ 1
+       #PIPELINE_RUN_REGULAR
+(
+th»ad
+, 
+p\9d\96\9ae
+) \
+
+55 
+       `¹e_p\9d\96\9ae_run
+(
+p\9d\96\9ae
+->
+p
+)
+
+       )
+
+57 \ 1
+       #PIPELINE_RUN_CUSTOM
+(
+th»ad
+, 
+d©a
+) \
+
+58 
+d©a
+->
+       `f_run
+(d©a->
+be
+)
+
+       )
+
+62 \18
+\9al\9ae
\1e*
+
+63 
+       $th»ad_msg_»cv
+(\19
+¹e_r\9ag
+ *
+r
+)
+
+65 \1e*
+msg
+;
+
+66 \12
+¡©us
+ = 
+       `¹e_r\9ag_sc_dequeue
+(
+r
+, &
+msg
+);
+
+68 ià(
+¡©us
+ != 0)
+
+69 \15 
+NULL
+;
+
+71 \15 
+msg
+;
+
+72 
+       }
+}
+
+74 \18
+\9al\9ae
\1e
+
+75 
+       $th»ad_msg_£nd
+(\19
+¹e_r\9ag
+ *
+r
+,
+
+76 \1e*
+msg
+)
+
+78 \12
+¡©us
+;
+
+81 
+¡©us
+ = 
+       `¹e_r\9ag_¥_\92queue
+(
+r
+, 
+msg
+);
+
+82 } \1f
+¡©us
+ =ð-
+ENOBUFS
+);
+
+83 
+       }
+}
+
+86 
+       $th»ad_p\9d\96\9ae_\92abË
+(\19
+­p_th»ad_d©a
+ *
+t
+,
+
+87 \19
+th»ad_p\9d\96\9ae_\92abË_msg_»q
+ *
+»q
+)
+
+89 \19
+­p_th»ad_p\9d\96\9ae_d©a
+ *
+p
+;
+
+91 ià(
+»q
+->
+f_run
+ =ð
+NULL
+) {
+
+92 ià(
+t
+->
+n_»guÏr
+ >ð
+APP_MAX_THREAD_PIPELINES
+)
+
+95 ià(
+t
+->
+n_cu¡om
+ >ð
+APP_MAX_THREAD_PIPELINES
+)
+
+99 
+p
+ = (
+»q
+->
+f_run
+ =ð
+NULL
+) ?
+
+100 &
+t
+->
+»guÏr
+[t->
+n_»guÏr
+] :
+
+101 &
+t
+->
+cu¡om
+[t->
+n_cu¡om
+];
+
+103 
+p
+->
+p\9d\96\9ae_id
+ = 
+»q
+->pipeline_id;
+
+104 
+p
+->
+be
+ = 
+»q
+->be;
+
+105 
+p
+->
+f_run
+ = 
+»q
+->f_run;
+
+106 
+p
+->
+f_tim\94
+ = 
+»q
+->f_timer;
+
+107 
+p
+->
+tim\94_³riod
+ = 
+»q
+->timer_period;
+
+108 
+p
+->
+d\97dl\9ae
+ = 0;
+
+110 ià(
+»q
+->
+f_run
+ =ð
+NULL
+)
+
+111 
+t
+->
+n_»guÏr
+++;
+
+113 
+t
+->
+n_cu¡om
+++;
+
+116 
+       }
+}
+
+119 
+       $th»ad_p\9d\96\9ae_di§bË
+(\19
+­p_th»ad_d©a
+ *
+t
+,
+
+120 \19
+th»ad_p\9d\96\9ae_di§bË_msg_»q
+ *
+»q
+)
+
+122 
+u\9at32_t
+n_»guÏr
+ = 
+       `RTE_MIN
+(
+t
+->n_»guÏr, 
+       `RTE_DIM
+Ñ->
+»guÏr
+));
+
+123 
+u\9at32_t
+n_cu¡om
+ = 
+       `RTE_MIN
+(
+t
+->n_cu¡om, 
+       `RTE_DIM
+Ñ->
+cu¡om
+));
+
+124 
+u\9at32_t
+i
+;
+
+127 \ f
+i
+ = 0; i < 
+n_»guÏr
+; i++) {
+
+128 ià(
+t
+->
+»guÏr
+[
+i
+].
+p\9d\96\9ae_id
+ !ð
+»q
+->pipeline_id)
+
+131 ià(
+i
+ < 
+n_»guÏr
+ - 1)
+
+132 
+       `memýy
+(&
+t
+->
+»guÏr
+[
+i
+],
+
+133 &
+t
+->
+»guÏr
+[
+i
++1],
+
+134 (
+n_»guÏr
+ - 1 - 
+i
+è* \17(\19
+­p_th»ad_p\9d\96\9ae_d©a
+));
+
+136 
+n_»guÏr
+--;
+
+137 
+t
+->
+n_»guÏr
+ =\82_regular;
+
+143 \ f
+i
+ = 0; i < 
+n_cu¡om
+; i++) {
+
+144 ià(
+t
+->
+cu¡om
+[
+i
+].
+p\9d\96\9ae_id
+ !ð
+»q
+->pipeline_id)
+
+147 ià(
+i
+ < 
+n_cu¡om
+ - 1)
+
+148 
+       `memýy
+(&
+t
+->
+cu¡om
+[
+i
+],
+
+149 &
+t
+->
+cu¡om
+[
+i
++1],
+
+150 (
+n_cu¡om
+ - 1 - 
+i
+è* \17(\19
+­p_th»ad_p\9d\96\9ae_d©a
+));
+
+152 
+n_cu¡om
+--;
+
+153 
+t
+->
+n_cu¡om
+ =\82_custom;
+
+160 
+       }
+}
+
+163 
+       $th»ad_msg_»q_hªdË
+(\19
+­p_th»ad_d©a
+ *
+t
+)
+
+165 \1e*
+msg_±r
+;
+
+166 \19
+th»ad_msg_»q
+ *
+»q
+;
+
+167 \19
+th»ad_msg_r¥
+ *
+r¥
+;
+
+169 
+msg_±r
+ = 
+       `th»ad_msg_»cv
+(
+t
+->
+msgq_\9a
+);
+
+170 
+»q
+ = 
+msg_±r
+;
+
+171 
+r¥
+ = 
+msg_±r
+;
+
+173 ià(
+»q
+ !ð
+NULL
+)
+
+174 \1a
+»q
+->
+ty³
+) {
+
+175 \ 4
+THREAD_MSG_REQ_PIPELINE_ENABLE
+: {
+
+176 
+r¥
+->
+¡©us
+ = 
+       `th»ad_p\9d\96\9ae_\92abË
+(
+t
+,
+
+177 (\19
+th»ad_p\9d\96\9ae_\92abË_msg_»q
+ *è
+»q
+);
+
+178 
+       `th»ad_msg_£nd
+(
+t
+->
+msgq_out
+, 
+r¥
+);
+
+182 \ 4
+THREAD_MSG_REQ_PIPELINE_DISABLE
+: {
+
+183 
+r¥
+->
+¡©us
+ = 
+       `th»ad_p\9d\96\9ae_di§bË
+(
+t
+,
+
+184 (\19
+th»ad_p\9d\96\9ae_di§bË_msg_»q
+ *è
+»q
+);
+
+185 
+       `th»ad_msg_£nd
+(
+t
+->
+msgq_out
+, 
+r¥
+);
+
+189 \ 4
+THREAD_MSG_REQ_HEADROOM_READ
+: {
+
+190 \19
+th»ad_h\97droom_»ad_msg_r¥
+ *
+r¥
+ =
+
+191 (\19
+th»ad_h\97droom_»ad_msg_r¥
+ *)
+
+192 
+»q
+;
+
+194 
+r¥
+->
+h\97droom_¿tio
+ = 
+t
+->headroom_ratio;
+
+195 
+r¥
+->
+¡©us
+ = 0;
+
+196 
+       `th»ad_msg_£nd
+(
+t
+->
+msgq_out
+, 
+r¥
+);
+
+204 
+       }
+}
+
+207 
+       $th»ad_h\97droom_upd©e
+(\19
+­p_th»ad_d©a
+ *
+t
+, 
+u\9at64_t
+time
+)
+
+209 
+u\9at64_t
+time_diff
+ = 
+time
+ - 
+t
+->
+h\97droom_time
+;
+
+211 
+t
+->
+h\97droom_¿tio
+ =
+
+212 ((\bè
+t
+->
+h\97droom_cyþes
+è/ ((\bè
+time_diff
+);
+
+214 
+t
+->
+h\97droom_cyþes
+ = 0;
+
+215 
+t
+->
+h\97droom_time
+ = 
+       `¹e_rdtsc_´eci£
+();
+
+216 
+       }
+}
+
+219 
+       $­p_th»ad
+(\1e*
+¬g
+)
+
+221 \19
+­p_·¿ms
+ *
+­p
+ = (\19­p_·¿m *è
+¬g
+;
+
+222 
+u\9at32_t
+cÜe_id
+ = 
+       `¹e_lcÜe_id
+(), 
+i
+, 
+j
+;
+
+223 \19
+­p_th»ad_d©a
+ *
+t
+ = &
+­p
+->
+th»ad_d©a
+[
+cÜe_id
+];
+
+225 \ f
+i
+ = 0; ; i++) {
+
+226 
+u\9at32_t
+n_»guÏr
+ = 
+       `RTE_MIN
+(
+t
+->n_»guÏr, 
+       `RTE_DIM
+Ñ->
+»guÏr
+));
+
+227 
+u\9at32_t
+n_cu¡om
+ = 
+       `RTE_MIN
+(
+t
+->n_cu¡om, 
+       `RTE_DIM
+Ñ->
+cu¡om
+));
+
+230 \ f
+j
+ = 0; j < 
+n_»guÏr
+; j++) {
+
+231 \19
+­p_th»ad_p\9d\96\9ae_d©a
+ *
+d©a
+ = &
+t
+->
+»guÏr
+[
+j
+];
+
+232 \19
+p\9d\96\9ae
+ *
+p
+ = 
+d©a
+->
+be
+;
+
+234 
+       `PIPELINE_RUN_REGULAR
+(
+t
+, 
+p
+);
+
+238 \ f
+j
+ = 0; j < 
+n_cu¡om
+; j++) {
+
+239 \19
+­p_th»ad_p\9d\96\9ae_d©a
+ *
+d©a
+ = &
+t
+->
+cu¡om
+[
+j
+];
+
+241 
+       `PIPELINE_RUN_CUSTOM
+(
+t
+, 
+d©a
+);
+
+245 ià((
+i
+ & 0xF) == 0) {
+
+246 
+u\9at64_t
+time
+ = 
+       `¹e_g\91_tsc_cyþes
+();
+
+247 
+u\9at64_t
+t_d\97dl\9ae
+ = 
+UINT64_MAX
+;
+
+249 ià(
+time
+ < 
+t
+->
+d\97dl\9ae
+)
+
+253 \ f
+j
+ = 0; j < 
+n_»guÏr
+; j++) {
+
+254 \19
+­p_th»ad_p\9d\96\9ae_d©a
+ *
+d©a
+ =
+
+255 &
+t
+->
+»guÏr
+[
+j
+];
+
+256 
+u\9at64_t
+p_d\97dl\9ae
+ = 
+d©a
+->
+d\97dl\9ae
+;
+
+258 ià(
+p_d\97dl\9ae
+ <ð
+time
+) {
+
+259 
+d©a
+->
+       `f_tim\94
+(d©a->
+be
+);
+
+260 
+p_d\97dl\9ae
+ = 
+time
+ + 
+d©a
+->
+tim\94_³riod
+;
+
+261 
+d©a
+->
+d\97dl\9ae
+ = 
+p_d\97dl\9ae
+;
+
+264 ià(
+p_d\97dl\9ae
+ < 
+t_d\97dl\9ae
+)
+
+265 
+t_d\97dl\9ae
+ = 
+p_d\97dl\9ae
+;
+
+269 \ f
+j
+ = 0; j < 
+n_cu¡om
+; j++) {
+
+270 \19
+­p_th»ad_p\9d\96\9ae_d©a
+ *
+d©a
+ =
+
+271 &
+t
+->
+cu¡om
+[
+j
+];
+
+272 
+u\9at64_t
+p_d\97dl\9ae
+ = 
+d©a
+->
+d\97dl\9ae
+;
+
+274 ià(
+p_d\97dl\9ae
+ <ð
+time
+) {
+
+275 
+d©a
+->
+       `f_tim\94
+(d©a->
+be
+);
+
+276 
+p_d\97dl\9ae
+ = 
+time
+ + 
+d©a
+->
+tim\94_³riod
+;
+
+277 
+d©a
+->
+d\97dl\9ae
+ = 
+p_d\97dl\9ae
+;
+
+280 ià(
+p_d\97dl\9ae
+ < 
+t_d\97dl\9ae
+)
+
+281 
+t_d\97dl\9ae
+ = 
+p_d\97dl\9ae
+;
+
+286 
+u\9at64_t
+d\97dl\9ae
+ = 
+t
+->
+th»ad_»q_d\97dl\9ae
+;
+
+288 ià(
+d\97dl\9ae
+ <ð
+time
+) {
+
+289 
+       `th»ad_msg_»q_hªdË
+(
+t
+);
+
+290 
+       `th»ad_h\97droom_upd©e
+(
+t
+, 
+time
+);
+
+291 
+d\97dl\9ae
+ = 
+time
+ + 
+t
+->
+tim\94_³riod
+;
+
+292 
+t
+->
+th»ad_»q_d\97dl\9ae
+ = 
+d\97dl\9ae
+;
+
+295 ià(
+d\97dl\9ae
+ < 
+t_d\97dl\9ae
+)
+
+296 
+t_d\97dl\9ae
+ = 
+d\97dl\9ae
+;
+
+300 
+t
+->
+d\97dl\9ae
+ = 
+t_d\97dl\9ae
+;
+
+305 
+       }
+}
+
+       @vnf_common/thread.h
+
+17 #iâdeà
+THREAD_H_
+
+
+18 \ 1
+       #THREAD_H_
+
+
+       )
+
+20 \ 2
+       ~"­p.h
+"
+
+21 \ 2
+       ~"p\9d\96\9ae_be.h
+"
+
+23 \f
+       eth»ad_msg_»q_ty³
+ {
+
+24 
+       mTHREAD_MSG_REQ_PIPELINE_ENABLE
+ = 0,
+
+25 
+       mTHREAD_MSG_REQ_PIPELINE_DISABLE
+,
+
+26 
+       mTHREAD_MSG_REQ_HEADROOM_READ
+,
+
+27 
+       mTHREAD_MSG_REQS
+
+
+30 \19
+       sth»ad_msg_»q
+ {
+
+31 \f
+th»ad_msg_»q_ty³
+       mty³
+;
+
+34 \19
+       sth»ad_msg_r¥
+ {
+
+35 \12
+       m¡©us
+;
+
+41 \19
+       sth»ad_p\9d\96\9ae_\92abË_msg_»q
+ {
+
+42 \f
+th»ad_msg_»q_ty³
+       mty³
+;
+
+44 
+u\9at32_t
+       mp\9d\96\9ae_id
+;
+
+45 \1e*
+       mbe
+;
+
+46 
+p\9d\96\9ae_be_Ý_run
+       mf_run
+;
+
+47 
+p\9d\96\9ae_be_Ý_tim\94
+       mf_tim\94
+;
+
+48 
+u\9at64_t
+       mtim\94_³riod
+;
+
+51 \19
+       sth»ad_p\9d\96\9ae_\92abË_msg_r¥
+ {
+
+52 \12
+       m¡©us
+;
+
+58 \19
+       sth»ad_p\9d\96\9ae_di§bË_msg_»q
+ {
+
+59 \f
+th»ad_msg_»q_ty³
+       mty³
+;
+
+61 
+u\9at32_t
+       mp\9d\96\9ae_id
+;
+
+64 \19
+       sth»ad_p\9d\96\9ae_di§bË_msg_r¥
+ {
+
+65 \12
+       m¡©us
+;
+
+71 \19
+       sth»ad_h\97droom_»ad_msg_»q
+ {
+
+72 \f
+th»ad_msg_»q_ty³
+       mty³
+;
+
+75 \19
+       sth»ad_h\97droom_»ad_msg_r¥
+ {
+
+76 \12
+       m¡©us
+;
+
+78 \b
+       mh\97droom_¿tio
+;
+
+       @vnf_common/thread_fe.c
+
+17 \ 2
+       ~<¹e_commÚ.h
+>
+
+18 \ 2
+       ~<¹e_r\9ag.h
+>
+
+19 \ 2
+       ~<¹e_m®loc.h
+>
+
+20 \ 2
+       ~<cmdl\9ae_rdl\9ae.h
+>
+
+21 \ 2
+       ~<cmdl\9ae_·r£.h
+>
+
+22 \ 2
+       ~<cmdl\9ae_·r£_num.h
+>
+
+23 \ 2
+       ~<cmdl\9ae_·r£_¡r\9ag.h
+>
+
+24 \ 2
+       ~<cmdl\9ae_·r£_\9daddr.h
+>
+
+25 \ 2
+       ~<cmdl\9ae_·r£_\91h\94addr.h
+>
+
+26 \ 2
+       ~<cmdl\9ae_sock\91.h
+>
+
+27 \ 2
+       ~<cmdl\9ae.h
+>
+
+29 \ 2
+       ~"th»ad.h
+"
+
+30 \ 2
+       ~"th»ad_ã.h
+"
+
+31 \ 2
+       ~"p\9d\96\9ae.h
+"
+
+32 \ 2
+       ~"p\9d\96\9ae_commÚ_ã.h
+"
+
+33 \ 2
+       ~"­p.h
+"
+
+35 \18
+\9al\9ae
\1e*
+
+36 
+       $th»ad_msg_£nd_»cv
+(\19
+­p_·¿ms
+ *
+­p
+,
+
+37 
+u\9at32_t
+sock\91_id
+, u\9at32_\88
+cÜe_id
+, u\9at32_\88
+ht_id
+,
+
+38 \1e*
+msg
+,
+
+39 
+u\9at32_t
+timeout_ms
+)
+
+41 \19
+¹e_r\9ag
+ *
+r_»q
+ = 
+       `­p_th»ad_msgq_\9a_g\91
+(
+­p
+,
+
+42 
+sock\91_id
+, 
+cÜe_id
+, 
+ht_id
+);
+
+43 if(
+r_»q
+ =ð
+NULL
+)
+
+44 \15 
+NULL
+;
+
+45 \19
+¹e_r\9ag
+ *
+r_r¥
+ = 
+       `­p_th»ad_msgq_out_g\91
+(
+­p
+,
+
+46 
+sock\91_id
+, 
+cÜe_id
+, 
+ht_id
+);
+
+47 if(
+r_r¥
+ =ð
+NULL
+)
+
+48 \15 
+NULL
+;
+
+49 
+u\9at64_t
+hz
+ = 
+       `¹e_g\91_tsc_hz
+();
+
+50 \1e*
+msg_»cv
+;
+
+51 
+u\9at64_t
+d\97dl\9ae
+;
+
+52 \12
+¡©us
+;
+
+56 
+¡©us
+ = 
+       `¹e_r\9ag_¥_\92queue
+(
+r_»q
+, (\1e
+msg
+);
+
+57 } \1f
+¡©us
+ =ð-
+ENOBUFS
+);
+
+60 
+d\97dl\9ae
+ = (
+timeout_ms
+) ?
+
+61 (
+       `¹e_rdtsc
+(è+ ((
+hz
+ * 
+timeout_ms
+) / 1000)) :
+
+62 
+UINT64_MAX
+;
+
+65 ià(
+       `¹e_rdtsc
+(è> 
+d\97dl\9ae
+)
+
+66 \15 
+NULL
+;
+
+68 
+¡©us
+ = 
+       `¹e_r\9ag_sc_dequeue
+(
+r_r¥
+, &
+msg_»cv
+);
+
+69 } \1f
+¡©us
+ != 0);
+
+71 \15 
+msg_»cv
+;
+
+72 
+       }
+}
+
+75 
+       $­p_p\9d\96\9ae_\92abË
+(\19
+­p_·¿ms
+ *
+­p
+,
+
+76 
+u\9at32_t
+sock\91_id
+,
+
+77 
+u\9at32_t
+cÜe_id
+,
+
+78 
+u\9at32_t
+hy³r_th_id
+,
+
+79 
+u\9at32_t
+p\9d\96\9ae_id
+)
+
+81 \19
+th»ad_p\9d\96\9ae_\92abË_msg_»q
+ *
+»q
+;
+
+82 \19
+th»ad_p\9d\96\9ae_\92abË_msg_r¥
+ *
+r¥
+;
+
+83 \12
+th»ad_id
+;
+
+84 \19
+­p_p\9d\96\9ae_d©a
+ *
+p
+;
+
+85 \19
+­p_p\9d\96\9ae_·¿ms
+ *
+p_·¿ms
+;
+
+86 \19
+p\9d\96\9ae_ty³
+ *
+p_ty³
+;
+
+87 \12
+¡©us
+;
+
+89 ià(
+­p
+ =ð
+NULL
+)
+
+92 
+th»ad_id
+ = 
+       `ýu_cÜe_m­_g\91_lcÜe_id
+(
+­p
+->
+cÜe_m­
+,
+
+93 
+sock\91_id
+,
+
+94 
+cÜe_id
+,
+
+95 
+hy³r_th_id
+);
+
+97 ià((
+th»ad_id
+ < 0è|| !
+       `­p_cÜe_is_\92abËd
+(
+­p
+,\81hread_id))
+
+100 ià(
+       `­p_p\9d\96\9ae_d©a
+(
+­p
+, 
+p\9d\96\9ae_id
+è=ð
+NULL
+)
+
+103 
+p
+ = &
+­p
+->
+p\9d\96\9ae_d©a
+[
+p\9d\96\9ae_id
+];
+
+104 
+p_·¿ms
+ = &
+­p
+->
+p\9d\96\9ae_·¿ms
+[
+p\9d\96\9ae_id
+];
+
+105 
+p_ty³
+ = 
+       `­p_p\9d\96\9ae_ty³_f\9ad
+(
+­p
+, 
+p_·¿ms
+->
+ty³
+);
+
+106 ià(
+p_ty³
+ =ð
+NULL
+)
+
+109 ià(
+p
+->
+\92abËd
+ == 1)
+
+112 
+»q
+ = 
+       `­p_msg_®loc
+(
+­p
+);
+
+113 ià(
+»q
+ =ð
+NULL
+)
+
+116 
+»q
+->
+ty³
+ = 
+THREAD_MSG_REQ_PIPELINE_ENABLE
+;
+
+117 
+»q
+->
+p\9d\96\9ae_id
+ =\85ipeline_id;
+
+118 
+»q
+->
+be
+ = 
+p
+->be;
+
+119 
+»q
+->
+f_run
+ = 
+p_ty³
+->
+be_Ýs
+->f_run;
+
+120 
+»q
+->
+f_tim\94
+ = 
+p_ty³
+->
+be_Ýs
+->f_timer;
+
+121 
+»q
+->
+tim\94_³riod
+ = 
+p
+->timer_period;
+
+123 
+r¥
+ = 
+       `th»ad_msg_£nd_»cv
+(
+­p
+,
+
+124 
+sock\91_id
+, 
+cÜe_id
+, 
+hy³r_th_id
+, 
+»q
+, 
+MSG_TIMEOUT_DEFAULT
+);
+
+125 ià(
+r¥
+ =ð
+NULL
+)
+
+128 
+¡©us
+ = 
+r¥
+->status;
+
+129 
+       `­p_msg_ä\93
+(
+­p
+, 
+r¥
+);
+
+131 ià(
+¡©us
+ != 0)
+
+134 
+p
+->
+\92abËd
+ = 1;
+
+136 
+       }
+}
+
+139 
+       $­p_p\9d\96\9ae_di§bË
+(\19
+­p_·¿ms
+ *
+­p
+,
+
+140 
+u\9at32_t
+sock\91_id
+,
+
+141 
+u\9at32_t
+cÜe_id
+,
+
+142 
+u\9at32_t
+hy³r_th_id
+,
+
+143 
+u\9at32_t
+p\9d\96\9ae_id
+)
+
+145 \19
+th»ad_p\9d\96\9ae_di§bË_msg_»q
+ *
+»q
+;
+
+146 \19
+th»ad_p\9d\96\9ae_di§bË_msg_r¥
+ *
+r¥
+;
+
+147 \12
+th»ad_id
+;
+
+148 \19
+­p_p\9d\96\9ae_d©a
+ *
+p
+;
+
+149 \12
+¡©us
+;
+
+151 ià(
+­p
+ =ð
+NULL
+)
+
+154 
+th»ad_id
+ = 
+       `ýu_cÜe_m­_g\91_lcÜe_id
+(
+­p
+->
+cÜe_m­
+,
+
+155 
+sock\91_id
+,
+
+156 
+cÜe_id
+,
+
+157 
+hy³r_th_id
+);
+
+159 ià((
+th»ad_id
+ < 0è|| !
+       `­p_cÜe_is_\92abËd
+(
+­p
+,\81hread_id))
+
+162 ià(
+       `­p_p\9d\96\9ae_d©a
+(
+­p
+, 
+p\9d\96\9ae_id
+è=ð
+NULL
+)
+
+165 
+p
+ = &
+­p
+->
+p\9d\96\9ae_d©a
+[
+p\9d\96\9ae_id
+];
+
+167 ià(
+p
+->
+\92abËd
+ == 0)
+
+170 
+»q
+ = 
+       `­p_msg_®loc
+(
+­p
+);
+
+171 ià(
+»q
+ =ð
+NULL
+)
+
+174 
+»q
+->
+ty³
+ = 
+THREAD_MSG_REQ_PIPELINE_DISABLE
+;
+
+175 
+»q
+->
+p\9d\96\9ae_id
+ =\85ipeline_id;
+
+177 
+r¥
+ = 
+       `th»ad_msg_£nd_»cv
+(
+­p
+,
+
+178 
+sock\91_id
+, 
+cÜe_id
+, 
+hy³r_th_id
+, 
+»q
+, 
+MSG_TIMEOUT_DEFAULT
+);
+
+180 ià(
+r¥
+ =ð
+NULL
+)
+
+183 
+¡©us
+ = 
+r¥
+->status;
+
+184 
+       `­p_msg_ä\93
+(
+­p
+, 
+r¥
+);
+
+186 ià(
+¡©us
+ != 0)
+
+189 
+p
+->
+\92abËd
+ = 0;
+
+191 
+       }
+}
+
+194 
+       $­p_th»ad_h\97droom
+(\19
+­p_·¿ms
+ *
+­p
+,
+
+195 
+u\9at32_t
+sock\91_id
+,
+
+196 
+u\9at32_t
+cÜe_id
+,
+
+197 
+u\9at32_t
+hy³r_th_id
+)
+
+199 \19
+th»ad_h\97droom_»ad_msg_»q
+ *
+»q
+;
+
+200 \19
+th»ad_h\97droom_»ad_msg_r¥
+ *
+r¥
+;
+
+201 \12
+th»ad_id
+;
+
+202 \12
+¡©us
+;
+
+204 ià(
+­p
+ =ð
+NULL
+)
+
+207 
+th»ad_id
+ = 
+       `ýu_cÜe_m­_g\91_lcÜe_id
+(
+­p
+->
+cÜe_m­
+,
+
+208 
+sock\91_id
+,
+
+209 
+cÜe_id
+,
+
+210 
+hy³r_th_id
+);
+
+212 ià((
+th»ad_id
+ < 0è|| !
+       `­p_cÜe_is_\92abËd
+(
+­p
+,\81hread_id))
+
+215 
+»q
+ = 
+       `­p_msg_®loc
+(
+­p
+);
+
+216 ià(
+»q
+ =ð
+NULL
+)
+
+219 
+»q
+->
+ty³
+ = 
+THREAD_MSG_REQ_HEADROOM_READ
+;
+
+221 
+r¥
+ = 
+       `th»ad_msg_£nd_»cv
+(
+­p
+,
+
+222 
+sock\91_id
+, 
+cÜe_id
+, 
+hy³r_th_id
+, 
+»q
+, 
+MSG_TIMEOUT_DEFAULT
+);
+
+224 ià(
+r¥
+ =ð
+NULL
+)
+
+227 
+¡©us
+ = 
+r¥
+->status;
+
+229 ià(
+¡©us
+ != 0)
+
+232 
+       `´\9atf
+("%.3f%%\n", 
+r¥
+->
+h\97droom_¿tio
+ * 100);
+
+235 
+       `­p_msg_ä\93
+(
+­p
+, 
+r¥
+);
+
+238 
+       }
+}
+
+244 \19
+       scmd_p\9d\96\9ae_\92abË_»suÉ
+ {
+
+245 
+cmdl\9ae_fixed_¡r\9ag_t
+       mt_¡r\9ag
+;
+
+246 
+cmdl\9ae_fixed_¡r\9ag_t
+       mt_id_¡r\9ag
+;
+
+247 
+cmdl\9ae_fixed_¡r\9ag_t
+       mp\9d\96\9ae_¡r\9ag
+;
+
+248 
+u\9at32_t
+       mp\9d\96\9ae_id
+;
+
+249 
+cmdl\9ae_fixed_¡r\9ag_t
+       m\92abË_¡r\9ag
+;
+
+253 
+       $cmd_p\9d\96\9ae_\92abË_·r£d
+(
+
+254 \1e*
+·r£d_»suÉ
+,
+
+255 
+__¹e_unu£d
\19
+cmdl\9ae
+ *
+,
+
+256 \1e*
+d©a
+)
+
+258 \19
+cmd_p\9d\96\9ae_\92abË_»suÉ
+ *
+·¿ms
+ = 
+·r£d_»suÉ
+;
+
+259 \19
+­p_·¿ms
+ *
+­p
+ = 
+d©a
+;
+
+260 \12
+¡©us
+;
+
+261 
+u\9at32_t
+cÜe_id
+, 
+sock\91_id
+, 
+hy³r_th_id
+;
+
+263 ià(
+       `·r£_p\9d\96\9ae_cÜe
+(&
+sock\91_id
+,
+
+264 &
+cÜe_id
+,
+
+265 &
+hy³r_th_id
+,
+
+266 
+·¿ms
+->
+t_id_¡r\9ag
+) != 0) {
+
+267 
+       `´\9atf
+("Command failed\n");
+
+271 
+¡©us
+ = 
+       `­p_p\9d\96\9ae_\92abË
+(
+­p
+,
+
+272 
+sock\91_id
+,
+
+273 
+cÜe_id
+,
+
+274 
+hy³r_th_id
+,
+
+275 
+·¿ms
+->
+p\9d\96\9ae_id
+);
+
+277 ià(
+¡©us
+ != 0)
+
+278 
+       `´\9atf
+("Command failed\n");
+
+279 
+       }
+}
+
+281 
+cmdl\9ae_·r£_tok\92_¡r\9ag_t
+       gcmd_p\9d\96\9ae_\92abË_t_¡r\9ag
+ =
+
+282 
+TOKEN_STRING_INITIALIZER
+(\19
+cmd_p\9d\96\9ae_\92abË_»suÉ
+, 
+t_¡r\9ag
+, "t");
+
+284 
+cmdl\9ae_·r£_tok\92_¡r\9ag_t
+       gcmd_p\9d\96\9ae_\92abË_t_id_¡r\9ag
+ =
+
+285 
+TOKEN_STRING_INITIALIZER
+(\19
+cmd_p\9d\96\9ae_\92abË_»suÉ
+, 
+t_id_¡r\9ag
+,
+
+286 
+NULL
+);
+
+288 
+cmdl\9ae_·r£_tok\92_¡r\9ag_t
+       gcmd_p\9d\96\9ae_\92abË_p\9d\96\9ae_¡r\9ag
+ =
+
+289 
+TOKEN_STRING_INITIALIZER
+(\19
+cmd_p\9d\96\9ae_\92abË_»suÉ
+, 
+p\9d\96\9ae_¡r\9ag
+,
+
+292 
+cmdl\9ae_·r£_tok\92_num_t
+       gcmd_p\9d\96\9ae_\92abË_p\9d\96\9ae_id
+ =
+
+293 
+TOKEN_NUM_INITIALIZER
+(\19
+cmd_p\9d\96\9ae_\92abË_»suÉ
+, 
+p\9d\96\9ae_id
+,
+
+294 
+UINT32
+);
+
+296 
+cmdl\9ae_·r£_tok\92_¡r\9ag_t
+       gcmd_p\9d\96\9ae_\92abË_\92abË_¡r\9ag
+ =
+
+297 
+TOKEN_STRING_INITIALIZER
+(\19
+cmd_p\9d\96\9ae_\92abË_»suÉ
+, 
+\92abË_¡r\9ag
+,
+
+300 
+cmdl\9ae_·r£_\9a¡_t
+       gcmd_p\9d\96\9ae_\92abË
+ = {
+
+301 .
+f
+ = 
+cmd_p\9d\96\9ae_\92abË_·r£d
+,
+
+302 .
+       gd©a
+ = 
+NULL
+,
+
+303 .
+       gh\96p_¡r
+ = "Enable\85ipeline on specified core",
+
+304 .
+       gtok\92s
+ = {
+
+305 (\1e*)&
+cmd_p\9d\96\9ae_\92abË_t_¡r\9ag
+,
+
+306 (\1e*)&
+cmd_p\9d\96\9ae_\92abË_t_id_¡r\9ag
+,
+
+307 (\1e*)&
+cmd_p\9d\96\9ae_\92abË_p\9d\96\9ae_¡r\9ag
+,
+
+308 (\1e*)&
+cmd_p\9d\96\9ae_\92abË_p\9d\96\9ae_id
+,
+
+309 (\1e*)&
+cmd_p\9d\96\9ae_\92abË_\92abË_¡r\9ag
+,
+
+310 
+NULL
+,
+
+318 \19
+       scmd_p\9d\96\9ae_di§bË_»suÉ
+ {
+
+319 
+cmdl\9ae_fixed_¡r\9ag_t
+       mt_¡r\9ag
+;
+
+320 
+cmdl\9ae_fixed_¡r\9ag_t
+       mt_id_¡r\9ag
+;
+
+321 
+cmdl\9ae_fixed_¡r\9ag_t
+       mp\9d\96\9ae_¡r\9ag
+;
+
+322 
+u\9at32_t
+       mp\9d\96\9ae_id
+;
+
+323 
+cmdl\9ae_fixed_¡r\9ag_t
+       mdi§bË_¡r\9ag
+;
+
+327 
+       $cmd_p\9d\96\9ae_di§bË_·r£d
+(
+
+328 \1e*
+·r£d_»suÉ
+,
+
+329 
+__¹e_unu£d
\19
+cmdl\9ae
+ *
+,
+
+330 \1e*
+d©a
+)
+
+332 \19
+cmd_p\9d\96\9ae_di§bË_»suÉ
+ *
+·¿ms
+ = 
+·r£d_»suÉ
+;
+
+333 \19
+­p_·¿ms
+ *
+­p
+ = 
+d©a
+;
+
+334 \12
+¡©us
+;
+
+335 
+u\9at32_t
+cÜe_id
+, 
+sock\91_id
+, 
+hy³r_th_id
+;
+
+337 ià(
+       `·r£_p\9d\96\9ae_cÜe
+(&
+sock\91_id
+,
+
+338 &
+cÜe_id
+,
+
+339 &
+hy³r_th_id
+,
+
+340 
+·¿ms
+->
+t_id_¡r\9ag
+) != 0) {
+
+341 
+       `´\9atf
+("Command failed\n");
+
+345 
+¡©us
+ = 
+       `­p_p\9d\96\9ae_di§bË
+(
+­p
+,
+
+346 
+sock\91_id
+,
+
+347 
+cÜe_id
+,
+
+348 
+hy³r_th_id
+,
+
+349 
+·¿ms
+->
+p\9d\96\9ae_id
+);
+
+351 ià(
+¡©us
+ != 0)
+
+352 
+       `´\9atf
+("Command failed\n");
+
+353 
+       }
+}
+
+355 
+cmdl\9ae_·r£_tok\92_¡r\9ag_t
+       gcmd_p\9d\96\9ae_di§bË_t_¡r\9ag
+ =
+
+356 
+TOKEN_STRING_INITIALIZER
+(\19
+cmd_p\9d\96\9ae_di§bË_»suÉ
+, 
+t_¡r\9ag
+, "t");
+
+358 
+cmdl\9ae_·r£_tok\92_¡r\9ag_t
+       gcmd_p\9d\96\9ae_di§bË_t_id_¡r\9ag
+ =
+
+359 
+TOKEN_STRING_INITIALIZER
+(\19
+cmd_p\9d\96\9ae_di§bË_»suÉ
+, 
+t_id_¡r\9ag
+,
+
+360 
+NULL
+);
+
+362 
+cmdl\9ae_·r£_tok\92_¡r\9ag_t
+       gcmd_p\9d\96\9ae_di§bË_p\9d\96\9ae_¡r\9ag
+ =
+
+363 
+TOKEN_STRING_INITIALIZER
+(\19
+cmd_p\9d\96\9ae_di§bË_»suÉ
+,
+
+364 
+p\9d\96\9ae_¡r\9ag
+, "pipeline");
+
+366 
+cmdl\9ae_·r£_tok\92_num_t
+       gcmd_p\9d\96\9ae_di§bË_p\9d\96\9ae_id
+ =
+
+367 
+TOKEN_NUM_INITIALIZER
+(\19
+cmd_p\9d\96\9ae_di§bË_»suÉ
+, 
+p\9d\96\9ae_id
+,
+
+368 
+UINT32
+);
+
+370 
+cmdl\9ae_·r£_tok\92_¡r\9ag_t
+       gcmd_p\9d\96\9ae_di§bË_di§bË_¡r\9ag
+ =
+
+371 
+TOKEN_STRING_INITIALIZER
+(\19
+cmd_p\9d\96\9ae_di§bË_»suÉ
+, 
+di§bË_¡r\9ag
+,
+
+374 
+cmdl\9ae_·r£_\9a¡_t
+       gcmd_p\9d\96\9ae_di§bË
+ = {
+
+375 .
+f
+ = 
+cmd_p\9d\96\9ae_di§bË_·r£d
+,
+
+376 .
+       gd©a
+ = 
+NULL
+,
+
+377 .
+       gh\96p_¡r
+ = "Disable\85ipeline on specified core",
+
+378 .
+       gtok\92s
+ = {
+
+379 (\1e*)&
+cmd_p\9d\96\9ae_di§bË_t_¡r\9ag
+,
+
+380 (\1e*)&
+cmd_p\9d\96\9ae_di§bË_t_id_¡r\9ag
+,
+
+381 (\1e*)&
+cmd_p\9d\96\9ae_di§bË_p\9d\96\9ae_¡r\9ag
+,
+
+382 (\1e*)&
+cmd_p\9d\96\9ae_di§bË_p\9d\96\9ae_id
+,
+
+383 (\1e*)&
+cmd_p\9d\96\9ae_di§bË_di§bË_¡r\9ag
+,
+
+384 
+NULL
+,
+
+393 \19
+       scmd_th»ad_h\97droom_»suÉ
+ {
+
+394 
+cmdl\9ae_fixed_¡r\9ag_t
+       mt_¡r\9ag
+;
+
+395 
+cmdl\9ae_fixed_¡r\9ag_t
+       mt_id_¡r\9ag
+;
+
+396 
+cmdl\9ae_fixed_¡r\9ag_t
+       mh\97droom_¡r\9ag
+;
+
+400 
+       $cmd_th»ad_h\97droom_·r£d
+(
+
+401 \1e*
+·r£d_»suÉ
+,
+
+402 
+__¹e_unu£d
\19
+cmdl\9ae
+ *
+,
+
+403 \1e*
+d©a
+)
+
+405 \19
+cmd_th»ad_h\97droom_»suÉ
+ *
+·¿ms
+ = 
+·r£d_»suÉ
+;
+
+406 \19
+­p_·¿ms
+ *
+­p
+ = 
+d©a
+;
+
+407 \12
+¡©us
+;
+
+408 
+u\9at32_t
+cÜe_id
+, 
+sock\91_id
+, 
+hy³r_th_id
+;
+
+410 ià(
+       `·r£_p\9d\96\9ae_cÜe
+(&
+sock\91_id
+,
+
+411 &
+cÜe_id
+,
+
+412 &
+hy³r_th_id
+,
+
+413 
+·¿ms
+->
+t_id_¡r\9ag
+) != 0) {
+
+414 
+       `´\9atf
+("Command failed\n");
+
+418 
+¡©us
+ = 
+       `­p_th»ad_h\97droom
+(
+­p
+,
+
+419 
+sock\91_id
+,
+
+420 
+cÜe_id
+,
+
+421 
+hy³r_th_id
+);
+
+423 ià(
+¡©us
+ != 0)
+
+424 
+       `´\9atf
+("Command failed\n");
+
+425 
+       }
+}
+
+427 
+cmdl\9ae_·r£_tok\92_¡r\9ag_t
+       gcmd_th»ad_h\97droom_t_¡r\9ag
+ =
+
+428 
+TOKEN_STRING_INITIALIZER
+(\19
+cmd_th»ad_h\97droom_»suÉ
+,
+
+429 
+t_¡r\9ag
+, "t");
+
+431 
+cmdl\9ae_·r£_tok\92_¡r\9ag_t
+       gcmd_th»ad_h\97droom_t_id_¡r\9ag
+ =
+
+432 
+TOKEN_STRING_INITIALIZER
+(\19
+cmd_th»ad_h\97droom_»suÉ
+,
+
+433 
+t_id_¡r\9ag
+, 
+NULL
+);
+
+435 
+cmdl\9ae_·r£_tok\92_¡r\9ag_t
+       gcmd_th»ad_h\97droom_h\97droom_¡r\9ag
+ =
+
+436 
+TOKEN_STRING_INITIALIZER
+(\19
+cmd_th»ad_h\97droom_»suÉ
+,
+
+437 
+h\97droom_¡r\9ag
+, "headroom");
+
+439 
+cmdl\9ae_·r£_\9a¡_t
+       gcmd_th»ad_h\97droom
+ = {
+
+440 .
+f
+ = 
+cmd_th»ad_h\97droom_·r£d
+,
+
+441 .
+       gd©a
+ = 
+NULL
+,
+
+442 .
+       gh\96p_¡r
+ = "Display\81hread headroom",
+
+443 .
+       gtok\92s
+ = {
+
+444 (\1e*)&
+cmd_th»ad_h\97droom_t_¡r\9ag
+,
+
+445 (\1e*)&
+cmd_th»ad_h\97droom_t_id_¡r\9ag
+,
+
+446 (\1e*)&
+cmd_th»ad_h\97droom_h\97droom_¡r\9ag
+,
+
+447 
+NULL
+,
+
+452 \18
+cmdl\9ae_·r£_ùx_t
+       gth»ad_cmds
+[] = {
+
+453 (
+cmdl\9ae_·r£_\9a¡_t
+ *è&
+cmd_p\9d\96\9ae_\92abË
+,
+
+454 (
+cmdl\9ae_·r£_\9a¡_t
+ *è&
+cmd_p\9d\96\9ae_di§bË
+,
+
+455 (
+cmdl\9ae_·r£_\9a¡_t
+ *è&
+cmd_th»ad_h\97droom
+,
+
+456 
+NULL
+,
+
+460 
+       $­p_p\9d\96\9ae_th»ad_cmd_push
+(\19
+­p_·¿ms
+ *
+­p
+)
+
+462 
+u\9at32_t
+n_cmds
+, 
+i
+;
+
+465 
+n_cmds
+ = 
+       `RTE_DIM
+(
+th»ad_cmds
+) - 1;
+
+466 ià(
+n_cmds
+ > 
+APP_MAX_CMDS
+ - 
+­p
+->n_cmds)
+
+467 \15 -
+ENOMEM
+;
+
+470 
+       `memýy
+(&
+­p
+->
+cmds
+[­p->
+n_cmds
+], 
+th»ad_cmds
+,
+
+471 
+n_cmds
+ * \17(
+cmdl\9ae_·r£_ùx_t
+));
+
+473 \ f
+i
+ = 0; i < 
+n_cmds
+; i++)
+
+474 
+­p
+->
+cmds
+[­p->
+n_cmds
+ + 
+i
+]->
+d©a
+ =\87pp;
+
+476 
+­p
+->
+n_cmds
+ +=\82_cmds;
+
+477 
+­p
+->
+cmds
+[­p->
+n_cmds
+] = 
+NULL
+;
+
+480 
+       }
+}
+
+       @vnf_common/thread_fe.h
+
+17 #iâdeà
+THREAD_FE_H_
+
+
+18 \ 1
+       #THREAD_FE_H_
+
+
+       )
+
+20 \18
+\9al\9ae
\19
+¹e_r\9ag
+ *
+
+21 
+       $­p_th»ad_msgq_\9a_g\91
+(\19
+­p_·¿ms
+ *
+­p
+,
+
+22 
+u\9at32_t
+sock\91_id
+, u\9at32_\88
+cÜe_id
+, u\9at32_\88
+ht_id
+)
+
+24 \ 5
+msgq_Çme
+[32];
+
+25 
+ssize_t
+·¿m_idx
+;
+
+27 
+       `¢´\9atf
+(
+msgq_Çme
+, \17(msgq_name),
+
+28 "MSGQ-REQ-CORE-s%" 
+PRIu32
+ "c%" PRIu32 "%s",
+
+29 
+sock\91_id
+,
+
+30 
+cÜe_id
+,
+
+31 (
+ht_id
+) ? "h" : "");
+
+32 
+·¿m_idx
+ = 
+       `APP_PARAM_FIND
+(
+­p
+->
+msgq_·¿ms
+, 
+msgq_Çme
+);
+
+34 ià(
+·¿m_idx
+ < 0)
+
+35 \15 
+NULL
+;
+
+37 \15 
+­p
+->
+msgq
+[
+·¿m_idx
+];
+
+38 
+       }
+}
+
+40 \18
+\9al\9ae
\19
+¹e_r\9ag
+ *
+
+41 
+       $­p_th»ad_msgq_out_g\91
+(\19
+­p_·¿ms
+ *
+­p
+,
+
+42 
+u\9at32_t
+sock\91_id
+, u\9at32_\88
+cÜe_id
+, u\9at32_\88
+ht_id
+)
+
+44 \ 5
+msgq_Çme
+[32];
+
+45 
+ssize_t
+·¿m_idx
+;
+
+47 
+       `¢´\9atf
+(
+msgq_Çme
+, \17(msgq_name),
+
+48 "MSGQ-RSP-CORE-s%" 
+PRIu32
+ "c%" PRIu32 "%s",
+
+49 
+sock\91_id
+,
+
+50 
+cÜe_id
+,
+
+51 (
+ht_id
+) ? "h" : "");
+
+52 
+·¿m_idx
+ = 
+       `APP_PARAM_FIND
+(
+­p
+->
+msgq_·¿ms
+, 
+msgq_Çme
+);
+
+54 ià(
+·¿m_idx
+ < 0)
+
+55 \15 
+NULL
+;
+
+57 \15 
+­p
+->
+msgq
+[
+·¿m_idx
+];
+
+59 
+       }
+}
+
+62 
+­p_p\9d\96\9ae_th»ad_cmd_push
+(\19
+­p_·¿ms
+ *
+­p
+);
+
+65 
+­p_p\9d\96\9ae_\92abË
+(\19
+­p_·¿ms
+ *
+­p
+,
+
+66 
+u\9at32_t
+cÜe_id
+,
+
+67 
+u\9at32_t
+sock\91_id
+,
+
+68 
+u\9at32_t
+hy³r_th_id
+,
+
+69 
+u\9at32_t
+p\9d\96\9ae_id
+);
+
+72 
+­p_p\9d\96\9ae_di§bË
+(\19
+­p_·¿ms
+ *
+­p
+,
+
+73 
+u\9at32_t
+cÜe_id
+,
+
+74 
+u\9at32_t
+sock\91_id
+,
+
+75 
+u\9at32_t
+hy³r_th_id
+,
+
+76 
+u\9at32_t
+p\9d\96\9ae_id
+);
+
+79 
+­p_th»ad_h\97droom
+(\19
+­p_·¿ms
+ *
+­p
+,
+
+80 
+u\9at32_t
+cÜe_id
+,
+
+81 
+u\9at32_t
+sock\91_id
+,
+
+82 
+u\9at32_t
+hy³r_th_id
+);
+
+       @vnf_common/vnf_common.c
+
+17 \ 2
+       ~<¡d\9at.h
+>
+
+18 \ 2
+       ~<¡dio.h
+>
+
+19 \ 2
+       ~"vnf_commÚ.h
+"
+
+20 \ 2
+       ~"p\9d\96\9ae_¬picmp_be.h
+"
+
+21 #iâdeà
+VNF_ACL
+
+
+22 \ 2
+       ~"lib_¬p.h
+"
+
+25 
+u\9at8_t
+       g\9a_pÜt_d\9c_a
+[
+PIPELINE_MAX_PORT_IN
+];
+
+26 
+u\9at8_t
+       g´v_to_pub_m­
+[
+PIPELINE_MAX_PORT_IN
+];
+
+27 
+u\9at8_t
+       gpub_to_´v_m­
+[
+PIPELINE_MAX_PORT_IN
+];
+
+28 
+u\9at8_t
+       g´v_\9a_pÜt_a
+[
+PIPELINE_MAX_PORT_IN
+];
+
+29 
+u\9at8_t
+       g´v_que_pÜt_\9adex
+[
+PIPELINE_MAX_PORT_IN
+];
+
+30 
+u\9at8_t
+       g\9a_pÜt_eg»ss_´v
+[
+PIPELINE_MAX_PORT_IN
+];
+
+32 
+u\9at8_t
+       $g\91_\9a_pÜt_d\9c
+(
+u\9at8_t
+\9a_pÜt_id
+)
+
+34 \15 
+\9a_pÜt_d\9c_a
+[
+\9a_pÜt_id
+];
+
+35 
+       }
+}
+
+37 
+u\9at8_t
+       $is_phy_pÜt_´iv\8b
+(
+u\9at16_t
+phy_pÜt
+)
+
+39 \15 
+\9a_pÜt_d\9c_a
+[
+phy_pÜt
+];
+
+40 
+       }
+}
+
+42 
+u\9at8_t
+       $is_pÜt_\9adex_´iv\8b
+(
+u\9at16_t
+phy_pÜt
+)
+
+44 \15 
+\9a_pÜt_eg»ss_´v
+[
+phy_pÜt
+];
+
+45 
+       }
+}
+
+47 
+u\9at32_t
+       $g\91_´v_to_pub_pÜt
+(
+u\9at32_t
+ *
+\9d_addr
+, 
+u\9at8_t
+ty³
+)
+
+49 
+u\9at32_t
+de¡_if
+ = 0xff;
+
+51 \1a
+ty³
+) {
+
+54 
+u\9at32_t
+nh\9d
+;
+
+55 
+nh\9d
+ = 
+       `g\91_nh
+(
+\9d_addr
+[0], &
+de¡_if
+);
+
+57 ià(
+nh\9d
+)
+
+58 \15 
+de¡_if
+;
+
+64 
+u\9at8_t
+nh\9dv6
+[16];
+
+65 
+       `g\91_nh_\9dv6
+((
+u\9at8_t
+ *)
+\9d_addr
+, &
+de¡_if
+, &
+nh\9dv6
+[0]);
+
+66 ià(
+de¡_if
+ != 0xff)
+
+67 \15 
+de¡_if
+;
+
+73 
+       }
+}
+
+75 
+u\9at32_t
+       $g\91_pub_to_´v_pÜt
+(
+u\9at32_t
+ *
+\9d_addr
+, 
+u\9at8_t
+ty³
+)
+
+77 
+u\9at32_t
+de¡_if
+ = 0xff;
+
+79 \1a
+ty³
+) {
+
+82 
+u\9at32_t
+nh\9d
+;
+
+83 
+nh\9d
+ = 
+       `g\91_nh
+(
+\9d_addr
+[0], &
+de¡_if
+);
+
+85 ià(
+nh\9d
+)
+
+86 \15 
+de¡_if
+;
+
+92 
+u\9at8_t
+nh\9dv6
+[16];
+
+93 
+       `g\91_nh_\9dv6
+((
+u\9at8_t
+ *)
+\9d_addr
+, &
+de¡_if
+, &
+nh\9dv6
+[0]);
+
+94 ià(
+de¡_if
+ != 0xff)
+
+95 \15 
+de¡_if
+;
+
+101 
+       }
+}
+
+103 \1e
+       $show_pÜts_\9afo
+(\1e)
+
+105 
+       `´\9atf
+("\n\9a_pÜt_d\9c_a: %d %d %d %d %d", 
+\9a_pÜt_d\9c_a
+[0],
+
+106 
+\9a_pÜt_d\9c_a
+[1], in_port_dir_a[2], in_port_dir_a[3],
+
+107 
+\9a_pÜt_d\9c_a
+[4]);
+
+109 
+u\9at8_t
+i
+ = 0, 
+j
+ = 0;
+
+111 
+       `´\9atf
+("\nprv_to_pub_map: ");
+
+112 \ f
+i
+ = 0; i < 
+PIPELINE_MAX_PORT_IN
+; i++) {
+
+113 ià(
+´v_to_pub_m­
+[
+i
+] != 0xff)
+
+114 
+       `´\9atf
+("(%d,%dè ", 
+i
+, 
+´v_to_pub_m­
+[i]);
+
+117 
+       `´\9atf
+("\npub_to_prv_map: ");
+
+118 \ f
+i
+ = 0; i < 
+PIPELINE_MAX_PORT_IN
+; i++) {
+
+119 ià(
+pub_to_´v_m­
+[
+i
+] != 0xff)
+
+120 
+       `´\9atf
+("(%d,%dè ", 
+i
+, 
+pub_to_´v_m­
+[i]);
+
+123 
+       `´\9atf
+("\n%d\83Ár\9b \9a PÜt MAC Li¡\n", 
+l\9ak_hw_addr_¬¿y_idx
+);
+
+124 \ f
+j
+ = 0; j < 
+l\9ak_hw_addr_¬¿y_idx
+; j++) {
+
+125 \19
+\91h\94_addr
+ *
+l\9ak_hw_addr
+ = 
+       `g\91_l\9ak_hw_addr
+(
+j
+);
+
+127 \ f
+i
+ = 0; i < 6; i++)
+
+128 
+       `´\9atf
+(" %02x ", ((\19
+\91h\94_addr
+ *)
+l\9ak_hw_addr
+)->
+addr_by\8bs
+[
+i
+]);
+
+129 
+       `´\9atf
+("\n");
+
+131 
+       }
+}
+
+133 \1e
+       $\8cim
+(\ 5*
+\9aput
+)
+
+135 \12
+i
+, 
+j
+ = 0;
+
+136 \12
+Ën
+ = 
+       `¡¾\92
+(
+\9aput
+);
+
+137 \ 5
+»suÉ
+[
+Ën
+ + 1];
+
+139 
+       `mem£t
+(
+»suÉ
+, 0, \17(result));
+
+140 \ f
+i
+ = 0; 
+\9aput
+[i] != '\0'; i++) {
+
+141 ià(!
+       `is¥aû
+(
+\9aput
+[
+i
+]))
+
+142 
+»suÉ
+[
+j
+++] = 
+\9aput
+[
+i
+];
+
+145 
+       `¡ºýy
+(
+\9aput
+, 
+»suÉ
+, 
+Ën
+);
+
+146 
+       }
+}
+
+       @vnf_common/vnf_common.h
+
+17 #iâdeà
+__INCLUDE_VNF_COMMON_H__
+
+
+18 \ 1
+       #__INCLUDE_VNF_COMMON_H__
+
+
+       )
+
+20 \ 2
+       ~<¹e_p\9d\96\9ae.h
+>
+
+21 \ 2
+       ~<¹e_\91h\94.h
+>
+
+23 \ 1
+       #MBUF_HDR_ROOM
+ 256
+
+       )
+
+24 \ 1
+       #ETH_HDR_SIZE
+ 14
+
+       )
+
+25 \ 1
+       #IP_HDR_SRC_ADR_OFST
+ 12
+
+       )
+
+26 \ 1
+       #IP_HDR_DST_ADR_OFST
+ 16
+
+       )
+
+27 \ 1
+       #IP_HDR_PROTOCOL_OFST
+ 9
+
+       )
+
+28 \ 1
+       #IP_HDR_SIZE
+ 20
+
+       )
+
+29 \ 1
+       #IPV6_HDR_SRC_ADR_OFST
+ 8
+
+       )
+
+30 \ 1
+       #IPV6_HDR_DST_ADR_OFST
+ 24
+
+       )
+
+31 \ 1
+       #IPV6_HDR_PROTOCOL_OFST
+ 6
+
+       )
+
+32 \ 1
+       #IPV6_HDR_SIZE
+ 40
+
+       )
+
+34 \ 1
+       #ETH_TYPE_ARP
+ 0x0806
+
+       )
+
+35 \ 1
+       #ETH_TYPE_IPV4
+ 0x0800
+
+       )
+
+37 \ 1
+       #IP_PROTOCOL_ICMP
+ 1
+
+       )
+
+38 \ 1
+       #IP_PROTOCOL_TCP
+ 6
+
+       )
+
+39 \ 1
+       #IP_PROTOCOL_UDP
+ 17
+
+       )
+
+41 \ 1
+       #ETH_TYPE_IPV6
+ 0x86DD
+
+       )
+
+42 \ 1
+       #IP_PROTOCOL_ICMPV6
+ 58
+
+       )
+
+44 \ 1
+       #PKT_ING_DIR
+ 0
+
+       )
+
+45 \ 1
+       #PKT_EGR_DIR
+ 1
+
+       )
+
+47 #iâdeà
+PIPELINE_MAX_PORT_IN
+
+
+48 \ 1
+       #PIPELINE_MAX_PORT_IN
+ 16
+
+       )
+
+51 \ 1
+       #RTE_PIPELINE_MAX_NAME_SZ
+ 124
+
+       )
+
+53 \ 1
+       #INVALID_DESTIF
+ 255
+
+       )
+
+56 
+       mVNF_PRV_PORT_ID
+,
+
+57 
+       mVNF_PUB_PORT_ID
+,
+
+59 \1e
+show_pÜts_\9afo
+(\1e);
+
+60 \1e
+\8cim
+(\ 5*
+\9aput
+);
+
+61 
+u\9at8_t
+g\91_\9a_pÜt_d\9c
+(u\9at8_\88
+\9a_pÜt_id
+);
+
+62 
+u\9at8_t
+is_phy_pÜt_´iv\8b
+(
+u\9at16_t
+phy_pÜt
+);
+
+63 
+u\9at32_t
+g\91_´v_to_pub_pÜt
+(u\9at32_\88*
+\9d_addr
+, 
+u\9at8_t
+ty³
+);
+
+64 
+u\9at32_t
+g\91_pub_to_´v_pÜt
+(u\9at32_\88*
+\9d_addr
+, 
+u\9at8_t
+ty³
+);
+
+66 \18
+\9al\9ae
\1e
+       $drÝ_pkt
+(
+u\9at32_t
+pkt_num
+, 
+u\9at64_t
+ *
+mask
+)
+
+68 *
+mask
+ ^ð1LLU << 
+pkt_num
+;
+
+69 
+       }
+}
+
+71 \r
+u\9at8_t
+\9a_pÜt_d\9c_a
+[
+PIPELINE_MAX_PORT_IN
+];
+
+72 \r
+u\9at8_t
+´v_to_pub_m­
+[
+PIPELINE_MAX_PORT_IN
+];
+
+73 \r
+u\9at8_t
+pub_to_´v_m­
+[
+PIPELINE_MAX_PORT_IN
+];
+
+74 \r
+u\9at8_t
+´v_\9a_pÜt_a
+[
+PIPELINE_MAX_PORT_IN
+];
+
+76 \r
+u\9at32_t
+l\9ak_hw_addr_¬¿y_idx
+;
+
+78 \19
+       s¹e_pÜt_\9a
+ {
+
+80 \19
+¹e_pÜt_\9a_Ýs
+       mÝs
+;
+
+81 
+¹e_p\9d\96\9ae_pÜt_\9a_aùiÚ_hªdËr
+       mf_aùiÚ
+;
+
+82 \1e*
+       m¬g_ah
+;
+
+83 
+u\9at32_t
+       mbur¡_size
+;
+
+86 
+u\9at32_t
+       m\8fbË_id
+;
+
+89 \1e*
+       mh_pÜt
+;
+
+92 \19
+¹e_pÜt_\9a
+ *
+       mÃxt
+;
+
+95 
+u\9at64_t
+       mn_pkts_drݳd_by_ah
+;
+
+98 \19
+       s¹e_pÜt_out
+ {
+
+100 \19
+¹e_pÜt_out_Ýs
+       mÝs
+;
+
+101 
+¹e_p\9d\96\9ae_pÜt_out_aùiÚ_hªdËr
+       mf_aùiÚ
+;
+
+102 \1e*
+       m¬g_ah
+;
+
+105 \1e*
+       mh_pÜt
+;
+
+108 
+u\9at64_t
+       mn_pkts_drݳd_by_ah
+;
+
+111 \19
+       s¹e_\8f
+ {
+
+113 \19
+¹e_\8fbË_Ýs
+       mÝs
+;
+
+114 
+¹e_p\9d\96\9ae_\8fbË_aùiÚ_hªdËr_h\99
+       mf_aùiÚ_h\99
+;
+
+115 
+¹e_p\9d\96\9ae_\8fbË_aùiÚ_hªdËr_miss
+       mf_aùiÚ_miss
+;
+
+116 \1e*
+       m¬g_ah
+;
+
+117 \19
+¹e_p\9d\96\9ae_\8fbË_\92\8cy
+ *
+       mdeçuÉ_\92\8cy
+;
+
+118 
+u\9at32_t
+       m\92\8cy_size
+;
+
+120 
+u\9at32_t
+       m\8fbË_Ãxt_id
+;
+
+121 
+u\9at32_t
+       m\8fbË_Ãxt_id_v®id
+;
+
+124 \1e*
+       mh_\8f
+;
+
+127 
+u\9at64_t
+       mn_pkts_drݳd_by_lkp_h\99_ah
+;
+
+128 
+u\9at64_t
+       mn_pkts_drݳd_by_lkp_miss_ah
+;
+
+129 
+u\9at64_t
+       mn_pkts_drݳd_lkp_h\99
+;
+
+130 
+u\9at64_t
+       mn_pkts_drݳd_lkp_miss
+;
+
+134 \19
+       s¹e_p\9d\96\9ae
+ {
+
+136 \ 5
+       mÇme
+[
+RTE_PIPELINE_MAX_NAME_SZ
+];
+
+137 \12
+       msock\91_id
+;
+
+138 
+u\9at32_t
+       moff£t_pÜt_id
+;
+
+141 \19
+¹e_pÜt_\9a
+       mpÜts_\9a
+[
+RTE_PIPELINE_PORT_IN_MAX
+];
+
+142 \19
+¹e_pÜt_out
+       mpÜts_out
+[
+RTE_PIPELINE_PORT_OUT_MAX
+];
+
+143 \19
+¹e_\8f
+       m\8fbËs
+[
+RTE_PIPELINE_TABLE_MAX
+];
+
+146 
+u\9at32_t
+       mnum_pÜts_\9a
+;
+
+147 
+u\9at32_t
+       mnum_pÜts_out
+;
+
+148 
+u\9at32_t
+       mnum_\8fbËs
+;
+
+151 
+u\9at64_t
+       m\92abËd_pÜt_\9a_mask
+;
+
+152 \19
+¹e_pÜt_\9a
+ *
+       mpÜt_\9a_Ãxt
+;
+
+155 \19
+¹e_mbuf
+ *
+       mpkts
+[
+RTE_PORT_IN_BURST_SIZE_MAX
+];
+
+156 \19
+¹e_p\9d\96\9ae_\8fbË_\92\8cy
+ *
+       m\92\8c\9bs
+[
+RTE_PORT_IN_BURST_SIZE_MAX
+];
+
+157 
+u\9at64_t
+       maùiÚ_mask0
+[
+RTE_PIPELINE_ACTIONS
+];
+
+158 
+u\9at64_t
+       maùiÚ_mask1
+[
+RTE_PIPELINE_ACTIONS
+];
+
+159 
+u\9at64_t
+       mpkts_mask
+;
+
+160 
+u\9at64_t
+       mn_pkts_ah_drÝ
+;
+
+161 
+u\9at64_t
+       mpkts_drÝ_mask
+;
+
+162 } 
+       g__¹e_ÿche_®igÃd
+;
+
+165 \19
+       s¹e_pÜt_\91hdev_wr\99\94
+ {
+
+166 \19
+¹e_pÜt_out_¡©s
+       m¡©s
+;
+
+168 \19
+¹e_mbuf
+ *
+       mtx_buf
+[2 * 
+RTE_PORT_IN_BURST_SIZE_MAX
+];
+
+169 
+u\9at32_t
+       mtx_bur¡_sz
+;
+
+170 
+u\9at16_t
+       mtx_buf_couÁ
+;
+
+171 
+u\9at64_t
+       mbsz_mask
+;
+
+172 
+u\9at16_t
+       mqueue_id
+;
+
+173 
+u\9at8_t
+       mpÜt_id
+;
+
+175 \19
+       s¹e_pÜt_\91hdev_»ad\94
+ {
+
+176 \19
+¹e_pÜt_\9a_¡©s
+       m¡©s
+;
+
+178 
+u\9at16_t
+       mqueue_id
+;
+
+179 
+u\9at8_t
+       mpÜt_id
+;
+
+181 \19
+       s¹e_pÜt_r\9ag_wr\99\94
+ {
+
+182 \19
+¹e_pÜt_out_¡©s
+       m¡©s
+;
+
+184 \19
+¹e_mbuf
+ *
+       mtx_buf
+[2 * 
+RTE_PORT_IN_BURST_SIZE_MAX
+];
+
+185 \19
+¹e_r\9ag
+ *
+       mr\9ag
+;
+
+186 
+u\9at32_t
+       mtx_bur¡_sz
+;
+
+187 
+u\9at32_t
+       mtx_buf_couÁ
+;
+
+188 
+u\9at64_t
+       mbsz_mask
+;
+
+189 
+u\9at32_t
+       mis_muÉi
+;
+
+191 \19
+       s¹e_pÜt_r\9ag_»ad\94
+ {
+
+192 \19
+¹e_pÜt_\9a_¡©s
+       m¡©s
+;
+
+194 \19
+¹e_r\9ag
+ *
+       mr\9ag
+;
+
+197 
+u\9at8_t
+g\91_\9a_pÜt_d\9c
+(u\9at8_\88
+\9a_pÜt_id
+);
+
+198 
+u\9at8_t
+is_phy_pÜt_´iv\8b
+(
+u\9at16_t
+phy_pÜt
+);
+
+199 
+u\9at8_t
+is_pÜt_\9adex_´iv\8b
+(
+u\9at16_t
+phy_pÜt
+);
+
+       @vnf_common/vnf_define.h
+
+17 #iâdeà
+__INCLUDE_VNF_DEFINE_H__
+
+
+18 \ 1
+       #__INCLUDE_VNF_DEFINE_H__
+
+
+       )
+
+19 \ 1
+       #DEBUG_LEVEL_4
+ 4
+
+       )
+
+20 \ 1
+       #PKT_BUFFER_SIZE
+ 64
+
+       )
+
+21 \ 1
+       #PVT_PUB_MAP
+ 2
+
+       )
+
+22 \ 1
+       #IPV6_ADD_SIZE
+ 16
+
+       )
+
+23 \ 1
+       #TWO_BYTE_PRINT
+ 3
+
+       )
+
+24 \ 1
+       #VERSION_NO_BYTE
+ 4
+
+       )
+
+25 \ 1
+       #BIT_CARRY
+ 16
+
+       )
+
+26 \ 1
+       #HW_ADDR_SIZE
+ 20
+
+       )
+
+27 \ 1
+       #IPV6_ADD_CMP_MULTI
+ 13
+
+       )
+
+28 \ 1
+       #DIV_CONV_HZ_SEC
+ 1000
+
+       )
+
+       @/usr/include/arpa/inet.h
+
+18 #iâdeà
+_ARPA_INET_H
+
+
+19 \ 1
+       #_ARPA_INET_H
+ 1
+
+       )
+
+21 \ 2
+       ~<ã©u»s.h
+>
+
+22 \ 2
+       ~<Ãt\9a\91/\9a.h
+>
+
+25 #iâdeà
+__sockËn_t_def\9aed
+
+
+26 \e
+__sockËn_t
+       tsockËn_t
+;
+
+27 \ 1
+       #__sockËn_t_def\9aed
+
+
+       )
+
+30 
+__BEGIN_DECLS
+
+
+34 \r
+\9a_addr_t
+       $\9a\91_addr
+ (cڡ \ 5*
+__ý
+__THROW
+;
+
+37 \r
+\9a_addr_t
+       $\9a\91_Êaof
+ (\19
+\9a_addr
+__\9a
+__THROW
+;
+
+41 \r\19
+\9a_addr
+       $\9a\91_mak\97ddr
+ (
+\9a_addr_t
+__Ãt
+, in_addr_\88
+__ho¡
+)
+
+42 
+__THROW
+;
+
+45 \r
+\9a_addr_t
+       $\9a\91_Ãtof
+ (\19
+\9a_addr
+__\9a
+__THROW
+;
+
+49 \r
+\9a_addr_t
+       $\9a\91_ÃtwÜk
+ (cڡ \ 5*
+__ý
+__THROW
+;
+
+53 \r\ 5*
+       $\9a\91_Áß
+ (\19
+\9a_addr
+__\9a
+__THROW
+;
+
+58 \r\12
+       $\9a\91_±Ú
+ (\12
+__af
+, cڡ \ 5*
+__»¡riù
+__ý
+,
+
+59 \1e*
+__»¡riù
+__buf
+__THROW
+;
+
+64 \rcڡ \ 5*
+       $\9a\91_ÁÝ
+ (\12
+__af
+, cڡ \1e*
+__»¡riù
+__ý
+,
+
+65 \ 5*
+__»¡riù
+__buf
+, 
+sockËn_t
+__Ën
+)
+
+66 
+__THROW
+;
+
+70 #ifdeà
+__USE_MISC
+
+
+73 \r\12
+       $\9a\91_©Ú
+ (cڡ \ 5*
+__ý
+, \19
+\9a_addr
+ *
+__\9ap
+__THROW
+;
+
+77 \r\ 5*
+       $\9a\91\8f
+ (
+\9a_addr_t
+__Ãt
+, \ 5*
+__buf
+, 
+size_t
+__Ën
+__THROW
+;
+
+82 \r\ 5*
+       $\9a\91_Ãt_ÁÝ
+ (\12
+__af
+, cڡ \1e*
+__ý
+, \12
+__b\99s
+,
+
+83 \ 5*
+__buf
+, 
+size_t
+__Ën
+__THROW
+;
+
+88 \r\12
+       $\9a\91_Ãt_±Ú
+ (\12
+__af
+, cڡ \ 5*
+__ý
+,
+
+89 \1e*
+__buf
+, 
+size_t
+__Ën
+__THROW
+;
+
+94 \r\1d\12
+       $\9a\91_n§p_addr
+ (cڡ \ 5*
+__ý
+,
+
+95 \1d\ 5*
+__buf
+, \12
+__Ën
+__THROW
+;
+
+99 \r\ 5*
+       $\9a\91_n§p_Áß
+ (\12
+__Ën
+, cڡ \1d\ 5*
+__ý
+,
+
+100 \ 5*
+__buf
+__THROW
+;
+
+103 
+__END_DECLS
+
+
+       @/usr/include/ctype.h
+
+22 #iâdef 
+_CTYPE_H
+
+
+23 \ 1
+       #_CTYPE_H
+ 1
+
+       )
+
+25 \ 2
+       ~<ã©u»s.h
+>
+
+26 \ 2
+       ~<b\99s/ty³s.h
+>
+
+28 
+       g__BEGIN_DECLS
+
+
+30 #iâdeà
+_ISb\99
+
+
+39 \ 2
+       ~<\92d\9fn.h
+>
+
+40 #ià
+__BYTE_ORDER
+ =ð
+__BIG_ENDIAN
+
+
+41 \ 1
+       #_ISb\99
+(
+b\99
+è(1 << (b\99))
+
+       )
+
+43 \ 1
+       #_ISb\99
+(
+b\99
+è((b\99è< 8 ? ((1 << (b\99)è<< 8è: ((1 << (b\99)è>> 8))
+
+       )
+
+48 
+       m_ISuµ\94
+ = 
+_ISb\99
+ (0),
+
+49 
+       m_ISlow\94
+ = 
+_ISb\99
+ (1),
+
+50 
+       m_IS®pha
+ = 
+_ISb\99
+ (2),
+
+51 
+       m_ISdig\99
+ = 
+_ISb\99
+ (3),
+
+52 
+       m_ISxdig\99
+ = 
+_ISb\99
+ (4),
+
+53 
+       m_IS¥aû
+ = 
+_ISb\99
+ (5),
+
+54 
+       m_IS´\9at
+ = 
+_ISb\99
+ (6),
+
+55 
+       m_ISg¿ph
+ = 
+_ISb\99
+ (7),
+
+56 
+       m_ISbÏnk
+ = 
+_ISb\99
+ (8),
+
+57 
+       m_ISú\8cl
+ = 
+_ISb\99
+ (9),
+
+58 
+       m_ISpunù
+ = 
+_ISb\99
+ (10),
+
+59 
+       m_IS®num
+ = 
+_ISb\99
+ (11)
+
+79 \rcڡ \1d\16\12**
+       $__ùy³_b_loc
+ (\1e)
+
+80 
+__THROW
+       `__©\8cibu\8b__
+ ((
+__cڡ__
+));
+
+81 \rcڡ 
+__\9at32_t
+ **
+       $__ùy³_tÞow\94_loc
+ (\1e)
+
+82 
+__THROW
+       `__©\8cibu\8b__
+ ((
+__cڡ__
+));
+
+83 \rcڡ 
+__\9at32_t
+ **
+       $__ùy³_touµ\94_loc
+ (\1e)
+
+84 
+__THROW
+       `__©\8cibu\8b__
+ ((
+__cڡ__
+));
+
+87 #iâdeà
+__ýlu¥lus
+
+
+88 \ 1
+       #__isùy³
+(
+c
+, 
+ty³
+) \
+
+89 ((*
+       `__ùy³_b_loc
+ ())[(\12è(
+c
+)] & (\1d\16\12è
+ty³
+)
+
+       )
+
+90 #\96
+def\9aed
+__USE_EXTERN_INLINES
+
+
+91 \ 1
+       #__isùy³_f
+(
+ty³
+) \
+
+92 
+__ex\8bº_\9al\9ae
\12\
+
+93 
+is
+##
+       `ty³
+ (\12
+__c
+__THROW
+ \
+
+95 \15 (*
+       `__ùy³_b_loc
+ ())[(\12è(
+__c
+)] & (\1d\16\12è
+_IS
+##
+ty³
+; \
+
+96 
+       }
+
+       )
+}
+
+99 \ 1
+       #__i§scii
+(
+c
+è(((cè& ~0x7fè=ð0è
+
+       )
+
+100 \ 1
+       #__tßscii
+(
+c
+è((cè& 0x7fè
+
+       )
+
+102 \ 1
+       #__exùy³
+(
+Çme
\r\12
+       `Çme
+ (\12è
+__THROW
+
+
+       )
+
+104 
+__BEGIN_NAMESPACE_STD
+
+
+110 
+__exùy³
+ (
+i§Êum
+);
+
+111 
+__exùy³
+ (
+i§Íha
+);
+
+112 
+__exùy³
+ (
+isú\8cl
+);
+
+113 
+__exùy³
+ (
+isdig\99
+);
+
+114 
+__exùy³
+ (
+i¦ow\94
+);
+
+115 
+__exùy³
+ (
+isg¿ph
+);
+
+116 
+__exùy³
+ (
+i¥r\9at
+);
+
+117 
+__exùy³
+ (
+i¥unù
+);
+
+118 
+__exùy³
+ (
+is¥aû
+);
+
+119 
+__exùy³
+ (
+isuµ\94
+);
+
+120 
+__exùy³
+ (
+isxdig\99
+);
+
+124 \r\12
+       $tÞow\94
+ (\12
+__c
+__THROW
+;
+
+127 \r\12
+       $touµ\94
+ (\12
+__c
+__THROW
+;
+
+129 
+__END_NAMESPACE_STD
+
+
+133 #ifdef 
+__USE_ISOC99
+
+
+134 
+__BEGIN_NAMESPACE_C99
+
+
+136 
+       `__exùy³
+ (
+isbÏnk
+);
+
+138 
+__END_NAMESPACE_C99
+
+
+141 #ifdeà
+__USE_GNU
+
+
+143 \r\12
+       $isùy³
+ (\12
+__c
+, \12
+__mask
+__THROW
+;
+
+146 #ià
+def\9aed
+__USE_MISC
+ || def\9aed 
+__USE_XOPEN
+
+
+150 \r\12
+       $i§scii
+ (\12
+__c
+__THROW
+;
+
+154 \r\12
+       $tßscii
+ (\12
+__c
+__THROW
+;
+
+158 
+       `__exùy³
+ (
+_touµ\94
+);
+
+159 
+       `__exùy³
+ (
+_tÞow\94
+);
+
+163 \ 1
+       #__tobody
+(
+c
+, 
+f
+, 
+a
+, 
+¬gs
+) \
+
+164 (
+__ex\8bnsiÚ__
+ \
+
+165 ({ \12
+__»s
+; \
+
+166 ià(\17 (
+c
+) > 1) \
+
+168 ià(
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+c
+)) \
+
+170 \12
+__c
+ = (
+c
+); \
+
+171 
+__»s
+ = 
+__c
+ < -128 || __ø> 255 ? __ø: (
+a
+)[__c]; \
+
+174 
+__»s
+ = 
+f
+¬gs
+; \
+
+177 
+__»s
+ = (
+a
+)[(\12è(
+c
+)]; \
+
+178 
+__»s
+; 
+       }
+}))
+
+       )
+
+180 #ià!
+def\9aed
+__NO_CTYPE
+
+
+181 #ifdeà
+__isùy³_f
+
+
+182 
+       $__isùy³_f
+ (
+®num
+)
+
+183 
+       $__isùy³_f
+ (
+®pha
+)
+
+184 
+       $__isùy³_f
+ (
\8cl
+)
+
+185 
+       $__isùy³_f
+ (
+dig\99
+)
+
+186 
+       $__isùy³_f
+ (
+low\94
+)
+
+187 
+       $__isùy³_f
+ (
+g¿ph
+)
+
+188 
+       $__isùy³_f
+ (
\9at
+)
+
+189 
+       $__isùy³_f
+ (
+punù
+)
+
+190 
+       $__isùy³_f
+ (
+¥aû
+)
+
+191 
+       $__isùy³_f
+ (
+uµ\94
+)
+
+192 
+       $__isùy³_f
+ (
+xdig\99
+)
+
+193 #ifdeà
+__USE_ISOC99
+
+
+194 
+       $__isùy³_f
+ (
+bÏnk
+)
+
+196 #\96
+def\9aed
+__isùy³
+
+
+197 \ 1
+       #i§Êum
+(
+c
+       `__isùy³
+((c), 
+_IS®num
+)
+
+       )
+
+198 \ 1
+       #i§Íha
+(
+c
+       `__isùy³
+((c), 
+_IS®pha
+)
+
+       )
+
+199 \ 1
+       #isú\8cl
+(
+c
+       `__isùy³
+((c), 
+_ISú\8cl
+)
+
+       )
+
+200 \ 1
+       #isdig\99
+(
+c
+       `__isùy³
+((c), 
+_ISdig\99
+)
+
+       )
+
+201 \ 1
+       #i¦ow\94
+(
+c
+       `__isùy³
+((c), 
+_ISlow\94
+)
+
+       )
+
+202 \ 1
+       #isg¿ph
+(
+c
+       `__isùy³
+((c), 
+_ISg¿ph
+)
+
+       )
+
+203 \ 1
+       #i¥r\9at
+(
+c
+       `__isùy³
+((c), 
+_IS´\9at
+)
+
+       )
+
+204 \ 1
+       #i¥unù
+(
+c
+       `__isùy³
+((c), 
+_ISpunù
+)
+
+       )
+
+205 \ 1
+       #is¥aû
+(
+c
+       `__isùy³
+((c), 
+_IS¥aû
+)
+
+       )
+
+206 \ 1
+       #isuµ\94
+(
+c
+       `__isùy³
+((c), 
+_ISuµ\94
+)
+
+       )
+
+207 \ 1
+       #isxdig\99
+(
+c
+       `__isùy³
+((c), 
+_ISxdig\99
+)
+
+       )
+
+208 #ifdeà
+__USE_ISOC99
+
+
+209 \ 1
+       #isbÏnk
+(
+c
+       `__isùy³
+((c), 
+_ISbÏnk
+)
+
+       )
+
+213 #ifdeà
+__USE_EXTERN_INLINES
+
+
+214 
+__ex\8bº_\9al\9ae
\12
+
+215 
+       `__NTH
+ (
+       $tÞow\94
+ (\12
+__c
+))
+
+217 \15 
+__c
+ >ð-128 && __ø< 256 ? (*
+       `__ùy³_tÞow\94_loc
+ ())[__c] : __c;
+
+218 
+       }
+}
+
+220 
+__ex\8bº_\9al\9ae
\12
+
+221 
+__NTH
+ (
+       $touµ\94
+ (\12
+__c
+))
+
+223 \15 
+__c
+ >ð-128 && __ø< 256 ? (*
+       `__ùy³_touµ\94_loc
+ ())[__c] : __c;
+
+224 
+       }
+}
+
+227 #ià
+__GNUC__
+ >ð2 && 
+def\9aed
+__OPTIMIZE__
+ && !def\9aed 
+__ýlu¥lus
+
+
+228 \ 1
+       #tÞow\94
+(
+c
+       `__tobody
+ (c, 
+tÞow\94
+, *
+       `__ùy³_tÞow\94_loc
+ (), (c))
+
+       )
+
+229 \ 1
+       #touµ\94
+(
+c
+       `__tobody
+ (c, 
+touµ\94
+, *
+       `__ùy³_touµ\94_loc
+ (), (c))
+
+       )
+
+232 #ià
+def\9aed
+__USE_MISC
+ || def\9aed 
+__USE_XOPEN
+
+
+233 \ 1
+       #i§scii
+(
+c
+       `__i§scii
+ (c)
+
+       )
+
+234 \ 1
+       #tßscii
+(
+c
+       `__tßscii
+ (c)
+
+       )
+
+236 \ 1
+       #_tÞow\94
+(
+c
+è((\12è(*
+       `__ùy³_tÞow\94_loc
+ ())[(\12è(c)])
+
+       )
+
+237 \ 1
+       #_touµ\94
+(
+c
+è((\12è(*
+       `__ùy³_touµ\94_loc
+ ())[(\12è(c)])
+
+       )
+
+243 #ifdeà
+__USE_XOPEN2K8
+
+
+257 \ 2
+       ~<xloÿË.h
+>
+
+261 \ 1
+       #__isùy³_l
+(
+c
+, 
+ty³
+, 
+loÿË
+) \
+
+262 ((
+loÿË
+)->
+__ùy³_b
+[(\12è(
+c
+)] & (\1d\16\12è
+ty³
+)
+
+       )
+
+264 \ 1
+       #__exùy³_l
+(
+Çme
+) \
+
+265 \r\12
+       `Çme
+ (\12
+__loÿË_t
+__THROW
+
+
+       )
+
+271 
+__exùy³_l
+ (
+i§Êum_l
+);
+
+272 
+__exùy³_l
+ (
+i§Íha_l
+);
+
+273 
+__exùy³_l
+ (
+isú\8cl_l
+);
+
+274 
+__exùy³_l
+ (
+isdig\99_l
+);
+
+275 
+__exùy³_l
+ (
+i¦ow\94_l
+);
+
+276 
+__exùy³_l
+ (
+isg¿ph_l
+);
+
+277 
+__exùy³_l
+ (
+i¥r\9at_l
+);
+
+278 
+__exùy³_l
+ (
+i¥unù_l
+);
+
+279 
+__exùy³_l
+ (
+is¥aû_l
+);
+
+280 
+__exùy³_l
+ (
+isuµ\94_l
+);
+
+281 
+__exùy³_l
+ (
+isxdig\99_l
+);
+
+283 
+__exùy³_l
+ (
+isbÏnk_l
+);
+
+287 \r\12
+       $__tÞow\94_l
+ (\12
+__c
+, 
+__loÿË_t
+__l
+__THROW
+;
+
+288 \r\12
+       $tÞow\94_l
+ (\12
+__c
+, 
+__loÿË_t
+__l
+__THROW
+;
+
+291 \r\12
+       $__touµ\94_l
+ (\12
+__c
+, 
+__loÿË_t
+__l
+__THROW
+;
+
+292 \r\12
+       $touµ\94_l
+ (\12
+__c
+, 
+__loÿË_t
+__l
+__THROW
+;
+
+294 #ià
+__GNUC__
+ >ð2 && 
+def\9aed
+__OPTIMIZE__
+ && !def\9aed 
+__ýlu¥lus
+
+
+295 \ 1
+       #__tÞow\94_l
+(
+c
+, 
+loÿË
+) \
+
+296 
+       `__tobody
+ (
+c
+, 
+__tÞow\94_l
+, (
+loÿË
+)->
+__ùy³_tÞow\94
+, (c,\86oÿË))
+
+       )
+
+297 \ 1
+       #__touµ\94_l
+(
+c
+, 
+loÿË
+) \
+
+298 
+       `__tobody
+ (
+c
+, 
+__touµ\94_l
+, (
+loÿË
+)->
+__ùy³_touµ\94
+, (c,\86oÿË))
+
+       )
+
+299 \ 1
+       #tÞow\94_l
+(
+c
+, 
+loÿË
+       `__tÞow\94_l
+ ((c), (loÿË))
+
+       )
+
+300 \ 1
+       #touµ\94_l
+(
+c
+, 
+loÿË
+       `__touµ\94_l
+ ((c), (loÿË))
+
+       )
+
+304 #iâdeà
+__NO_CTYPE
+
+
+305 \ 1
+       #__i§Êum_l
+(
+c
+,
+l
+       `__isùy³_l
+((c), 
+_IS®num
+, (l))
+
+       )
+
+306 \ 1
+       #__i§Íha_l
+(
+c
+,
+l
+       `__isùy³_l
+((c), 
+_IS®pha
+, (l))
+
+       )
+
+307 \ 1
+       #__isú\8cl_l
+(
+c
+,
+l
+       `__isùy³_l
+((c), 
+_ISú\8cl
+, (l))
+
+       )
+
+308 \ 1
+       #__isdig\99_l
+(
+c
+,
+l
+       `__isùy³_l
+((c), 
+_ISdig\99
+, (l))
+
+       )
+
+309 \ 1
+       #__i¦ow\94_l
+(
+c
+,
+l
+       `__isùy³_l
+((c), 
+_ISlow\94
+, (l))
+
+       )
+
+310 \ 1
+       #__isg¿ph_l
+(
+c
+,
+l
+       `__isùy³_l
+((c), 
+_ISg¿ph
+, (l))
+
+       )
+
+311 \ 1
+       #__i¥r\9at_l
+(
+c
+,
+l
+       `__isùy³_l
+((c), 
+_IS´\9at
+, (l))
+
+       )
+
+312 \ 1
+       #__i¥unù_l
+(
+c
+,
+l
+       `__isùy³_l
+((c), 
+_ISpunù
+, (l))
+
+       )
+
+313 \ 1
+       #__is¥aû_l
+(
+c
+,
+l
+       `__isùy³_l
+((c), 
+_IS¥aû
+, (l))
+
+       )
+
+314 \ 1
+       #__isuµ\94_l
+(
+c
+,
+l
+       `__isùy³_l
+((c), 
+_ISuµ\94
+, (l))
+
+       )
+
+315 \ 1
+       #__isxdig\99_l
+(
+c
+,
+l
+       `__isùy³_l
+((c), 
+_ISxdig\99
+, (l))
+
+       )
+
+317 \ 1
+       #__isbÏnk_l
+(
+c
+,
+l
+       `__isùy³_l
+((c), 
+_ISbÏnk
+, (l))
+
+       )
+
+319 #ifdeà
+__USE_MISC
+
+
+320 \ 1
+       #__i§scii_l
+(
+c
+,
+l
+è(Ö), 
+       `__i§scii
+ (c))
+
+       )
+
+321 \ 1
+       #__tßscii_l
+(
+c
+,
+l
+è(Ö), 
+       `__tßscii
+ (c))
+
+       )
+
+324 \ 1
+       #i§Êum_l
+(
+c
+,
+l
+       `__i§Êum_l
+ ((c), (l))
+
+       )
+
+325 \ 1
+       #i§Íha_l
+(
+c
+,
+l
+       `__i§Íha_l
+ ((c), (l))
+
+       )
+
+326 \ 1
+       #isú\8cl_l
+(
+c
+,
+l
+       `__isú\8cl_l
+ ((c), (l))
+
+       )
+
+327 \ 1
+       #isdig\99_l
+(
+c
+,
+l
+       `__isdig\99_l
+ ((c), (l))
+
+       )
+
+328 \ 1
+       #i¦ow\94_l
+(
+c
+,
+l
+       `__i¦ow\94_l
+ ((c), (l))
+
+       )
+
+329 \ 1
+       #isg¿ph_l
+(
+c
+,
+l
+       `__isg¿ph_l
+ ((c), (l))
+
+       )
+
+330 \ 1
+       #i¥r\9at_l
+(
+c
+,
+l
+       `__i¥r\9at_l
+ ((c), (l))
+
+       )
+
+331 \ 1
+       #i¥unù_l
+(
+c
+,
+l
+       `__i¥unù_l
+ ((c), (l))
+
+       )
+
+332 \ 1
+       #is¥aû_l
+(
+c
+,
+l
+       `__is¥aû_l
+ ((c), (l))
+
+       )
+
+333 \ 1
+       #isuµ\94_l
+(
+c
+,
+l
+       `__isuµ\94_l
+ ((c), (l))
+
+       )
+
+334 \ 1
+       #isxdig\99_l
+(
+c
+,
+l
+       `__isxdig\99_l
+ ((c), (l))
+
+       )
+
+336 \ 1
+       #isbÏnk_l
+(
+c
+,
+l
+       `__isbÏnk_l
+ ((c), (l))
+
+       )
+
+338 #ifdeà
+__USE_MISC
+
+
+339 \ 1
+       #i§scii_l
+(
+c
+,
+l
+       `__i§scii_l
+ ((c), (l))
+
+       )
+
+340 \ 1
+       #tßscii_l
+(
+c
+,
+l
+       `__tßscii_l
+ ((c), (l))
+
+       )
+
+347 
+__END_DECLS
+
+
+       @/usr/include/errno.h
+
+22 #iâdef 
+_ERRNO_H
+
+
+26 #iâdef 
+__Ãed_Em©h
+
+
+27 \ 1
+       #_ERRNO_H
+ 1
+
+       )
+
+28 \ 2
+       ~<ã©u»s.h
+>
+
+31 
+       g__BEGIN_DECLS
+
+
+35 \ 2
+       ~<b\99s/\94ºo.h
+>
+
+36 #undeà
+__Ãed_Em©h
+
+
+38 #ifdef 
+_ERRNO_H
+
+
+45 #iâdef 
+\94ºo
+
+
+46 \r\12
+\94ºo
+;
+
+49 #ifdeà
+__USE_GNU
+
+
+54 \r\ 5*
+´og¿m_\9avoÿtiÚ_Çme
+, *
+´og¿m_\9avoÿtiÚ_shÜt_Çme
+;
+
+58 
+       g__END_DECLS
+
+
+66 #ià
+def\9aed
+__USE_GNU
+ || def\9aed 
+__Ãed_\94rÜ_t
+
+
+67 #iâdeà
+__\94rÜ_t_def\9aed
+
+
+68 \e\12
+       t\94rÜ_t
+;
+
+69 \ 1
+       #__\94rÜ_t_def\9aed
+ 1
+
+       )
+
+71 #undeà
+__Ãed_\94rÜ_t
+
+
+       @/usr/include/execinfo.h
+
+18 #iâdeà
+_EXECINFO_H
+
+
+19 \ 1
+       #_EXECINFO_H
+ 1
+
+       )
+
+21 \ 2
+       ~<ã©u»s.h
+>
+
+23 
+__BEGIN_DECLS
+
+
+27 \r\12
+       $back\8c
+ (\1e**
+__¬¿y
+, \12
+__size
+       `__nÚnuÎ
+ ((1));
+
+32 \r\ 5**
+       $back\8caû_symbÞs
+ (\1e*cڡ *
+__¬¿y
+, \12
+__size
+)
+
+33 
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+38 \r\1e
+       $back\8caû_symbÞs_fd
+ (\1e*cڡ *
+__¬¿y
+, \12
+__size
+, \12
+__fd
+)
+
+39 
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+41 
+__END_DECLS
+
+
+       @/usr/include/fcntl.h
+
+22 #iâdef 
+_FCNTL_H
+
+
+23 \ 1
+       #_FCNTL_H
+ 1
+
+       )
+
+25 \ 2
+       ~<ã©u»s.h
+>
+
+28 
+       g__BEGIN_DECLS
+
+
+31 \ 2
+       ~<b\99s/ty³s.h
+>
+
+35 \ 2
+       ~<b\99s/fú\8e.h
+>
+
+39 #ifdeà
+__O_TMPFILE
+
+
+40 \ 1
+       #__OPEN_NEEDS_MODE
+(
+oæag
+) \
+
+41 (((
+oæag
+è& 
+O_CREAT
+è!ð0 || ((oæagè& 
+__O_TMPFILE
+è=ð__O_TMPFILE)
+
+       )
+
+43 \ 1
+       #__OPEN_NEEDS_MODE
+(
+oæag
+è(((oæagè& 
+O_CREAT
+è!ð0)
+
+       )
+
+49 #iâdeà
+__mode_t_def\9aed
+
+
+50 \e
+__mode_t
+       tmode_t
+;
+
+51 \ 1
+       #__mode_t_def\9aed
+
+
+       )
+
+54 #iâdeà
+__off_t_def\9aed
+
+
+55 #iâdeà
+__USE_FILE_OFFSET64
+
+
+56 \e
+__off_t
+       toff_t
+;
+
+58 \e
+__off64_t
+       toff_t
+;
+
+60 \ 1
+       #__off_t_def\9aed
+
+
+       )
+
+63 #ià
+def\9aed
+__USE_LARGEFILE64
+ && !def\9aed 
+__off64_t_def\9aed
+
+
+64 \e
+__off64_t
+       toff64_t
+;
+
+65 \ 1
+       #__off64_t_def\9aed
+
+
+       )
+
+68 #iâdeà
+__pid_t_def\9aed
+
+
+69 \e
+__pid_t
+       tpid_t
+;
+
+70 \ 1
+       #__pid_t_def\9aed
+
+
+       )
+
+74 #ià
+def\9aed
+__USE_XOPEN
+ || def\9aed 
+__USE_XOPEN2K8
+
+
+75 \ 1
+       #__Ãed_time¥ec
+
+
+       )
+
+76 \ 2
+       ~<time.h
+>
+
+77 \ 2
+       ~<b\99s/¡©.h
+>
+
+79 \ 1
+       #S_IFMT
+__S_IFMT
+
+
+       )
+
+80 \ 1
+       #S_IFDIR
+__S_IFDIR
+
+
+       )
+
+81 \ 1
+       #S_IFCHR
+__S_IFCHR
+
+
+       )
+
+82 \ 1
+       #S_IFBLK
+__S_IFBLK
+
+
+       )
+
+83 \ 1
+       #S_IFREG
+__S_IFREG
+
+
+       )
+
+84 #ifdeà
+__S_IFIFO
+
+
+85 \ 1
+       #S_IFIFO
+__S_IFIFO
+
+
+       )
+
+87 #ifdeà
+__S_IFLNK
+
+
+88 \ 1
+       #S_IFLNK
+__S_IFLNK
+
+
+       )
+
+90 #ià(
+def\9aed
+__USE_UNIX98
+ || def\9aed 
+__USE_XOPEN2K8
+è&& def\9aed 
+__S_IFSOCK
+
+
+91 \ 1
+       #S_IFSOCK
+__S_IFSOCK
+
+
+       )
+
+96 \ 1
+       #S_ISUID
+__S_ISUID
+
+
+       )
+
+97 \ 1
+       #S_ISGID
+__S_ISGID
+
+
+       )
+
+99 #ià
+def\9aed
+__USE_MISC
+ || def\9aed 
+__USE_XOPEN
+
+
+101 \ 1
+       #S_ISVTX
+__S_ISVTX
+
+
+       )
+
+104 \ 1
+       #S_IRUSR
+__S_IREAD
+
+
+       )
+
+105 \ 1
+       #S_IWUSR
+__S_IWRITE
+
+
+       )
+
+106 \ 1
+       #S_IXUSR
+__S_IEXEC
+
+
+       )
+
+108 \ 1
+       #S_IRWXU
+ (
+__S_IREAD
+|
+__S_IWRITE
+|
+__S_IEXEC
+)
+
+       )
+
+110 \ 1
+       #S_IRGRP
+ (
+S_IRUSR
+ >> 3è
+
+       )
+
+111 \ 1
+       #S_IWGRP
+ (
+S_IWUSR
+ >> 3è
+
+       )
+
+112 \ 1
+       #S_IXGRP
+ (
+S_IXUSR
+ >> 3è
+
+       )
+
+114 \ 1
+       #S_IRWXG
+ (
+S_IRWXU
+ >> 3)
+
+       )
+
+116 \ 1
+       #S_IROTH
+ (
+S_IRGRP
+ >> 3è
+
+       )
+
+117 \ 1
+       #S_IWOTH
+ (
+S_IWGRP
+ >> 3è
+
+       )
+
+118 \ 1
+       #S_IXOTH
+ (
+S_IXGRP
+ >> 3è
+
+       )
+
+120 \ 1
+       #S_IRWXO
+ (
+S_IRWXG
+ >> 3)
+
+       )
+
+123 #ifdef 
+__USE_MISC
+
+
+124 #iâdeà
+R_OK
+
+
+127 \ 1
+       #R_OK
+ 4
+
+       )
+
+128 \ 1
+       #W_OK
+ 2
+
+       )
+
+129 \ 1
+       #X_OK
+ 1
+
+       )
+
+130 \ 1
+       #F_OK
+ 0
+
+       )
+
+135 #ià
+def\9aed
+__USE_XOPEN
+ || def\9aed 
+__USE_XOPEN2K8
+
+
+136 \ 1
+       #SEEK_SET
+ 0
+
+       )
+
+137 \ 1
+       #SEEK_CUR
+ 1
+
+       )
+
+138 \ 1
+       #SEEK_END
+ 2
+
+       )
+
+146 \r\12
+fú\8e
+ (\12
+__fd
+, \12
+__cmd
+, ...);
+
+155 #iâdeà
+__USE_FILE_OFFSET64
+
+
+156 \r\12
+       $ݒ
+ (cڡ \ 5*
+__f\9ee
+, \12
+__oæag
+, ...è
+       `__nÚnuÎ
+ ((1));
+
+158 #ifdeà
+__REDIRECT
+
+
+159 \r\12
+       `__REDIRECT
+ (
+, (cڡ \ 5*
+__f\9ee
+, \12
+__oæag
+, ...), 
+ݒ64
+)
+
+160 
+       `__nÚnuÎ
+ ((1));
+
+162 \ 1
+       #ݒ
+ݒ64
+
+
+       )
+
+165 #ifdeà
+__USE_LARGEFILE64
+
+
+166 \r\12
+       $ݒ64
+ (cڡ \ 5*
+__f\9ee
+, \12
+__oæag
+, ...è
+       `__nÚnuÎ
+ ((1));
+
+169 #ifdeà
+__USE_ATFILE
+
+
+179 #iâdeà
+__USE_FILE_OFFSET64
+
+
+180 \r\12
+       $Ý\92©
+ (\12
+__fd
+, cڡ \ 5*
+__f\9ee
+, \12
+__oæag
+, ...)
+
+181 
+       `__nÚnuÎ
+ ((2));
+
+183 #ifdeà
+__REDIRECT
+
+
+184 \r\12
+       `__REDIRECT
+ (
\92©
+, (\12
+__fd
+, cڡ \ 5*
+__f\9ee
+, \12
+__oæag
+,
+
+185 ...), 
\92©64
+       `__nÚnuÎ
+ ((2));
+
+187 \ 1
+       #Ý\92©
\92©64
+
+
+       )
+
+190 #ifdeà
+__USE_LARGEFILE64
+
+
+191 \r\12
+       $Ý\92©64
+ (\12
+__fd
+, cڡ \ 5*
+__f\9ee
+, \12
+__oæag
+, ...)
+
+192 
+       `__nÚnuÎ
+ ((2));
+
+201 #iâdeà
+__USE_FILE_OFFSET64
+
+
+202 \r\12
+       $ü\97t
+ (cڡ \ 5*
+__f\9ee
+, 
+mode_t
+__mode
+       `__nÚnuÎ
+ ((1));
+
+204 #ifdeà
+__REDIRECT
+
+
+205 \r\12
+       `__REDIRECT
+ (
\97t
+, (cڡ \ 5*
+__f\9ee
+, 
+mode_t
+__mode
+),
+
+206 
\97t64
+       `__nÚnuÎ
+ ((1));
+
+208 \ 1
+       #ü\97t
\97t64
+
+
+       )
+
+211 #ifdeà
+__USE_LARGEFILE64
+
+
+212 \r\12
+       $ü\97t64
+ (cڡ \ 5*
+__f\9ee
+, 
+mode_t
+__mode
+       `__nÚnuÎ
+ ((1));
+
+215 #ià!
+def\9aed
+F_LOCK
+ && (def\9aed 
+__USE_MISC
+ || (def\9aed 
+__USE_XOPEN_EXTENDED
+ \
+
+216 && !
+def\9aed
+__USE_POSIX
+))
+
+225 \ 1
+       #F_ULOCK
+ 0
+
+       )
+
+226 \ 1
+       #F_LOCK
+ 1
+
+       )
+
+227 \ 1
+       #F_TLOCK
+ 2
+
+       )
+
+228 \ 1
+       #F_TEST
+ 3
+
+       )
+
+230 #iâdeà
+__USE_FILE_OFFSET64
+
+
+231 \r\12
+       `lockf
+ (\12
+__fd
+, \12
+__cmd
+, 
+off_t
+__Ën
+);
+
+233 #ifdeà
+__REDIRECT
+
+
+234 \r\12
+       `__REDIRECT
+ (
+lockf
+, (\12
+__fd
+, \12
+__cmd
+, 
+__off64_t
+__Ën
+), 
+lockf64
+);
+
+236 \ 1
+       #lockf
+lockf64
+
+
+       )
+
+239 #ifdeà
+__USE_LARGEFILE64
+
+
+240 \r\12
+       `lockf64
+ (\12
+__fd
+, \12
+__cmd
+, 
+off64_t
+__Ën
+);
+
+244 #ifdeà
+__USE_XOPEN2K
+
+
+247 #iâdeà
+__USE_FILE_OFFSET64
+
+
+248 \r\12
+       $posix_çdvi£
+ (\12
+__fd
+, 
+off_t
+__off£t
+, off_\88
+__Ën
+,
+
+249 \12
+__advi£
+__THROW
+;
+
+251 #ifdeà
+__REDIRECT_NTH
+
+
+252 \r\12
+       `__REDIRECT_NTH
+ (
+posix_çdvi£
+, (\12
+__fd
+, 
+__off64_t
+__off£t
+,
+
+253 
+__off64_t
+__Ën
+, \12
+__advi£
+),
+
+254 
+posix_çdvi£64
+);
+
+256 \ 1
+       #posix_çdvi£
+posix_çdvi£64
+
+
+       )
+
+259 #ifdeà
+__USE_LARGEFILE64
+
+
+260 \r\12
+       $posix_çdvi£64
+ (\12
+__fd
+, 
+off64_t
+__off£t
+, off64_\88
+__Ën
+,
+
+261 \12
+__advi£
+__THROW
+;
+
+269 #iâdeà
+__USE_FILE_OFFSET64
+
+
+270 \r\12
+       `posix_çÎoÿ\8b
+ (\12
+__fd
+, 
+off_t
+__off£t
+, off_\88
+__Ën
+);
+
+272 #ifdeà
+__REDIRECT
+
+
+273 \r\12
+       `__REDIRECT
+ (
+posix_çÎoÿ\8b
+, (\12
+__fd
+, 
+__off64_t
+__off£t
+,
+
+274 
+__off64_t
+__Ën
+),
+
+275 
+posix_çÎoÿ\8b64
+);
+
+277 \ 1
+       #posix_çÎoÿ\8b
+posix_çÎoÿ\8b64
+
+
+       )
+
+280 #ifdeà
+__USE_LARGEFILE64
+
+
+281 \r\12
+       `posix_çÎoÿ\8b64
+ (\12
+__fd
+, 
+off64_t
+__off£t
+, off64_\88
+__Ën
+);
+
+287 #ià
+__USE_FORTIFY_LEVEL
+ > 0 && 
+def\9aed
+__fÜtify_funùiÚ
+ \
+
+288 && 
+def\9aed
+__va_¬g_·ck_Ën
+
+
+289 \ 2
+       ~<b\99s/fú\8e2.h
+>
+
+292 
+__END_DECLS
+
+
+       @/usr/include/getopt.h
+
+19 #iâdeà
+_GETOPT_H
+
+
+21 #iâdeà
+__Ãed_g\91Ýt
+
+
+22 \ 1
+       #_GETOPT_H
+ 1
+
+       )
+
+32 #ià!
+def\9aed
+__GNU_LIBRARY__
+
+
+33 \ 2
+       ~<ùy³.h
+>
+
+36 #iâdeà
+__THROW
+
+
+37 #iâdeà
+__GNUC_PREREQ
+
+
+38 \ 1
+       #__GNUC_PREREQ
+(
+maj
+, 
+m\9a
+è(0)
+
+       )
+
+40 #ià
+def\9aed
+__ýlu¥lus
+ && 
+__GNUC_PREREQ
+ (2,8)
+
+41 \ 1
+       #__THROW
+       `throw
+ ()
+
+       )
+
+43 \ 1
+       #__THROW
+
+
+       )
+
+47 #ifdef 
+__ýlu¥lus
+
+
+57 \r\ 5*
+ݏrg
+;
+
+71 \r\12
+Ýt\9ad
+;
+
+76 \r\12
\8b¼
+;
+
+80 \r\12
+ÝtÝt
+;
+
+82 #iâdeà
+__Ãed_g\91Ýt
+
+
+104 \19
+       sÝtiÚ
+
+
+106 cڡ \ 5*
+       gÇme
+;
+
+109 \12
+       ghas_¬g
+;
+
+110 \12*
+       gæag
+;
+
+111 \12
+       gv®
+;
+
+116 \ 1
+       #no_¬gum\92t
+ 0
+
+       )
+
+117 \ 1
+       #»qu\9ced_¬gum\92t
+ 1
+
+       )
+
+118 \ 1
+       #ÝtiÚ®_¬gum\92t
+ 2
+
+       )
+
+146 #ifdeà
+__GNU_LIBRARY__
+
+
+150 \r\12
+g\91Ýt
+ (\12
+___¬gc
+, \ 5*cڡ *
+___¬gv
+, cڡ \ 5*
+__shÜtÝts
+)
+
+151 
+__THROW
+;
+
+153 #ià
+def\9aed
+__Ãed_g\91Ýt
+ && def\9aed 
+__USE_POSIX2
+ \
+
+154 && !
+def\9aed
+       g__USE_POSIX_IMPLICITLY
+ && !def\9aed 
+       g__USE_GNU
+
+
+158 #ifdeà
+__REDIRECT
+
+
+159 \r\12
+__REDIRECT_NTH
+ (
+g\91Ýt
+, (\12
+___¬gc
+, \ 5*cڡ *
+___¬gv
+,
+
+160 cڡ \ 5*
+__shÜtÝts
+),
+
+161 
+__posix_g\91Ýt
+);
+
+163 \r\12
+__posix_g\91Ýt
+ (\12
+___¬gc
+, \ 5*cڡ *
+___¬gv
+,
+
+164 cڡ \ 5*
+__shÜtÝts
+__THROW
+;
+
+165 \ 1
+       #g\91Ýt
+__posix_g\91Ýt
+
+
+       )
+
+169 \r\12
+g\91Ýt
+ ();
+
+172 #iâdeà
+__Ãed_g\91Ýt
+
+
+173 \r\12
+g\91Ýt_lÚg
+ (\12
+___¬gc
+, \ 5*cڡ *
+___¬gv
+,
+
+174 cڡ \ 5*
+__shÜtÝts
+,
+
+175 cڡ \19
+ÝtiÚ
+ *
+__lÚgÝts
+, \12*
+__lÚg\9ad
+)
+
+176 
+__THROW
+;
+
+177 \r\12
+g\91Ýt_lÚg_Úly
+ (\12
+___¬gc
+, \ 5*cڡ *
+___¬gv
+,
+
+178 cڡ \ 5*
+__shÜtÝts
+,
+
+179 cڡ \19
+ÝtiÚ
+ *
+__lÚgÝts
+, \12*
+__lÚg\9ad
+)
+
+180 
+__THROW
+;
+
+184 #ifdef 
+__ýlu¥lus
+
+
+189 #undeà
+__Ãed_g\91Ýt
+
+
+       @/usr/include/inttypes.h
+
+22 #iâdeà
+_INTTYPES_H
+
+
+23 \ 1
+       #_INTTYPES_H
+ 1
+
+       )
+
+25 \ 2
+       ~<ã©u»s.h
+>
+
+27 \ 2
+       ~<¡d\9at.h
+>
+
+30 #iâdeà
+____gwch¬_t_def\9aed
+
+
+31 #ifdeà
+__ýlu¥lus
+
+
+32 \ 1
+       #__gwch¬_t
+wch¬_t
+
+
+       )
+
+33 #\96
+def\9aed
+__WCHAR_TYPE__
+
+
+34 \e
+__WCHAR_TYPE__
+       t__gwch¬_t
+;
+
+36 \ 1
+       #__Ãed_wch¬_t
+
+
+       )
+
+37 \ 2
+       ~<¡ddef.h
+>
+
+38 \e
+wch¬_t
+       t__gwch¬_t
+;
+
+40 \ 1
+       #____gwch¬_t_def\9aed
+ 1
+
+       )
+
+43 #ià
+__WORDSIZE
+ == 64
+
+44 \ 1
+       #__PRI64_PREFIX
+ "l"
+
+       )
+
+45 \ 1
+       #__PRIPTR_PREFIX
+ "l"
+
+       )
+
+47 \ 1
+       #__PRI64_PREFIX
+ "Î"
+
+       )
+
+48 \ 1
+       #__PRIPTR_PREFIX
+
+
+       )
+
+54 \ 1
+       #PRId8
+ "d"
+
+       )
+
+55 \ 1
+       #PRId16
+ "d"
+
+       )
+
+56 \ 1
+       #PRId32
+ "d"
+
+       )
+
+57 \ 1
+       #PRId64
+__PRI64_PREFIX
+ "d"
+
+       )
+
+59 \ 1
+       #PRIdLEAST8
+ "d"
+
+       )
+
+60 \ 1
+       #PRIdLEAST16
+ "d"
+
+       )
+
+61 \ 1
+       #PRIdLEAST32
+ "d"
+
+       )
+
+62 \ 1
+       #PRIdLEAST64
+__PRI64_PREFIX
+ "d"
+
+       )
+
+64 \ 1
+       #PRIdFAST8
+ "d"
+
+       )
+
+65 \ 1
+       #PRIdFAST16
+__PRIPTR_PREFIX
+ "d"
+
+       )
+
+66 \ 1
+       #PRIdFAST32
+__PRIPTR_PREFIX
+ "d"
+
+       )
+
+67 \ 1
+       #PRIdFAST64
+__PRI64_PREFIX
+ "d"
+
+       )
+
+70 \ 1
+       #PRIi8
+ "i"
+
+       )
+
+71 \ 1
+       #PRIi16
+ "i"
+
+       )
+
+72 \ 1
+       #PRIi32
+ "i"
+
+       )
+
+73 \ 1
+       #PRIi64
+__PRI64_PREFIX
+ "i"
+
+       )
+
+75 \ 1
+       #PRIiLEAST8
+ "i"
+
+       )
+
+76 \ 1
+       #PRIiLEAST16
+ "i"
+
+       )
+
+77 \ 1
+       #PRIiLEAST32
+ "i"
+
+       )
+
+78 \ 1
+       #PRIiLEAST64
+__PRI64_PREFIX
+ "i"
+
+       )
+
+80 \ 1
+       #PRIiFAST8
+ "i"
+
+       )
+
+81 \ 1
+       #PRIiFAST16
+__PRIPTR_PREFIX
+ "i"
+
+       )
+
+82 \ 1
+       #PRIiFAST32
+__PRIPTR_PREFIX
+ "i"
+
+       )
+
+83 \ 1
+       #PRIiFAST64
+__PRI64_PREFIX
+ "i"
+
+       )
+
+86 \ 1
+       #PRIo8
+ "o"
+
+       )
+
+87 \ 1
+       #PRIo16
+ "o"
+
+       )
+
+88 \ 1
+       #PRIo32
+ "o"
+
+       )
+
+89 \ 1
+       #PRIo64
+__PRI64_PREFIX
+ "o"
+
+       )
+
+91 \ 1
+       #PRIoLEAST8
+ "o"
+
+       )
+
+92 \ 1
+       #PRIoLEAST16
+ "o"
+
+       )
+
+93 \ 1
+       #PRIoLEAST32
+ "o"
+
+       )
+
+94 \ 1
+       #PRIoLEAST64
+__PRI64_PREFIX
+ "o"
+
+       )
+
+96 \ 1
+       #PRIoFAST8
+ "o"
+
+       )
+
+97 \ 1
+       #PRIoFAST16
+__PRIPTR_PREFIX
+ "o"
+
+       )
+
+98 \ 1
+       #PRIoFAST32
+__PRIPTR_PREFIX
+ "o"
+
+       )
+
+99 \ 1
+       #PRIoFAST64
+__PRI64_PREFIX
+ "o"
+
+       )
+
+102 \ 1
+       #PRIu8
+ "u"
+
+       )
+
+103 \ 1
+       #PRIu16
+ "u"
+
+       )
+
+104 \ 1
+       #PRIu32
+ "u"
+
+       )
+
+105 \ 1
+       #PRIu64
+__PRI64_PREFIX
+ "u"
+
+       )
+
+107 \ 1
+       #PRIuLEAST8
+ "u"
+
+       )
+
+108 \ 1
+       #PRIuLEAST16
+ "u"
+
+       )
+
+109 \ 1
+       #PRIuLEAST32
+ "u"
+
+       )
+
+110 \ 1
+       #PRIuLEAST64
+__PRI64_PREFIX
+ "u"
+
+       )
+
+112 \ 1
+       #PRIuFAST8
+ "u"
+
+       )
+
+113 \ 1
+       #PRIuFAST16
+__PRIPTR_PREFIX
+ "u"
+
+       )
+
+114 \ 1
+       #PRIuFAST32
+__PRIPTR_PREFIX
+ "u"
+
+       )
+
+115 \ 1
+       #PRIuFAST64
+__PRI64_PREFIX
+ "u"
+
+       )
+
+118 \ 1
+       #PRIx8
+ "x"
+
+       )
+
+119 \ 1
+       #PRIx16
+ "x"
+
+       )
+
+120 \ 1
+       #PRIx32
+ "x"
+
+       )
+
+121 \ 1
+       #PRIx64
+__PRI64_PREFIX
+ "x"
+
+       )
+
+123 \ 1
+       #PRIxLEAST8
+ "x"
+
+       )
+
+124 \ 1
+       #PRIxLEAST16
+ "x"
+
+       )
+
+125 \ 1
+       #PRIxLEAST32
+ "x"
+
+       )
+
+126 \ 1
+       #PRIxLEAST64
+__PRI64_PREFIX
+ "x"
+
+       )
+
+128 \ 1
+       #PRIxFAST8
+ "x"
+
+       )
+
+129 \ 1
+       #PRIxFAST16
+__PRIPTR_PREFIX
+ "x"
+
+       )
+
+130 \ 1
+       #PRIxFAST32
+__PRIPTR_PREFIX
+ "x"
+
+       )
+
+131 \ 1
+       #PRIxFAST64
+__PRI64_PREFIX
+ "x"
+
+       )
+
+134 \ 1
+       #PRIX8
+ "X"
+
+       )
+
+135 \ 1
+       #PRIX16
+ "X"
+
+       )
+
+136 \ 1
+       #PRIX32
+ "X"
+
+       )
+
+137 \ 1
+       #PRIX64
+__PRI64_PREFIX
+ "X"
+
+       )
+
+139 \ 1
+       #PRIXLEAST8
+ "X"
+
+       )
+
+140 \ 1
+       #PRIXLEAST16
+ "X"
+
+       )
+
+141 \ 1
+       #PRIXLEAST32
+ "X"
+
+       )
+
+142 \ 1
+       #PRIXLEAST64
+__PRI64_PREFIX
+ "X"
+
+       )
+
+144 \ 1
+       #PRIXFAST8
+ "X"
+
+       )
+
+145 \ 1
+       #PRIXFAST16
+__PRIPTR_PREFIX
+ "X"
+
+       )
+
+146 \ 1
+       #PRIXFAST32
+__PRIPTR_PREFIX
+ "X"
+
+       )
+
+147 \ 1
+       #PRIXFAST64
+__PRI64_PREFIX
+ "X"
+
+       )
+
+151 \ 1
+       #PRIdMAX
+__PRI64_PREFIX
+ "d"
+
+       )
+
+152 \ 1
+       #PRIiMAX
+__PRI64_PREFIX
+ "i"
+
+       )
+
+153 \ 1
+       #PRIoMAX
+__PRI64_PREFIX
+ "o"
+
+       )
+
+154 \ 1
+       #PRIuMAX
+__PRI64_PREFIX
+ "u"
+
+       )
+
+155 \ 1
+       #PRIxMAX
+__PRI64_PREFIX
+ "x"
+
+       )
+
+156 \ 1
+       #PRIXMAX
+__PRI64_PREFIX
+ "X"
+
+       )
+
+160 \ 1
+       #PRIdPTR
+__PRIPTR_PREFIX
+ "d"
+
+       )
+
+161 \ 1
+       #PRIiPTR
+__PRIPTR_PREFIX
+ "i"
+
+       )
+
+162 \ 1
+       #PRIoPTR
+__PRIPTR_PREFIX
+ "o"
+
+       )
+
+163 \ 1
+       #PRIuPTR
+__PRIPTR_PREFIX
+ "u"
+
+       )
+
+164 \ 1
+       #PRIxPTR
+__PRIPTR_PREFIX
+ "x"
+
+       )
+
+165 \ 1
+       #PRIXPTR
+__PRIPTR_PREFIX
+ "X"
+
+       )
+
+171 \ 1
+       #SCNd8
+ "hhd"
+
+       )
+
+172 \ 1
+       #SCNd16
+ "hd"
+
+       )
+
+173 \ 1
+       #SCNd32
+ "d"
+
+       )
+
+174 \ 1
+       #SCNd64
+__PRI64_PREFIX
+ "d"
+
+       )
+
+176 \ 1
+       #SCNdLEAST8
+ "hhd"
+
+       )
+
+177 \ 1
+       #SCNdLEAST16
+ "hd"
+
+       )
+
+178 \ 1
+       #SCNdLEAST32
+ "d"
+
+       )
+
+179 \ 1
+       #SCNdLEAST64
+__PRI64_PREFIX
+ "d"
+
+       )
+
+181 \ 1
+       #SCNdFAST8
+ "hhd"
+
+       )
+
+182 \ 1
+       #SCNdFAST16
+__PRIPTR_PREFIX
+ "d"
+
+       )
+
+183 \ 1
+       #SCNdFAST32
+__PRIPTR_PREFIX
+ "d"
+
+       )
+
+184 \ 1
+       #SCNdFAST64
+__PRI64_PREFIX
+ "d"
+
+       )
+
+187 \ 1
+       #SCNi8
+ "hhi"
+
+       )
+
+188 \ 1
+       #SCNi16
+ "hi"
+
+       )
+
+189 \ 1
+       #SCNi32
+ "i"
+
+       )
+
+190 \ 1
+       #SCNi64
+__PRI64_PREFIX
+ "i"
+
+       )
+
+192 \ 1
+       #SCNiLEAST8
+ "hhi"
+
+       )
+
+193 \ 1
+       #SCNiLEAST16
+ "hi"
+
+       )
+
+194 \ 1
+       #SCNiLEAST32
+ "i"
+
+       )
+
+195 \ 1
+       #SCNiLEAST64
+__PRI64_PREFIX
+ "i"
+
+       )
+
+197 \ 1
+       #SCNiFAST8
+ "hhi"
+
+       )
+
+198 \ 1
+       #SCNiFAST16
+__PRIPTR_PREFIX
+ "i"
+
+       )
+
+199 \ 1
+       #SCNiFAST32
+__PRIPTR_PREFIX
+ "i"
+
+       )
+
+200 \ 1
+       #SCNiFAST64
+__PRI64_PREFIX
+ "i"
+
+       )
+
+203 \ 1
+       #SCNu8
+ "hhu"
+
+       )
+
+204 \ 1
+       #SCNu16
+ "hu"
+
+       )
+
+205 \ 1
+       #SCNu32
+ "u"
+
+       )
+
+206 \ 1
+       #SCNu64
+__PRI64_PREFIX
+ "u"
+
+       )
+
+208 \ 1
+       #SCNuLEAST8
+ "hhu"
+
+       )
+
+209 \ 1
+       #SCNuLEAST16
+ "hu"
+
+       )
+
+210 \ 1
+       #SCNuLEAST32
+ "u"
+
+       )
+
+211 \ 1
+       #SCNuLEAST64
+__PRI64_PREFIX
+ "u"
+
+       )
+
+213 \ 1
+       #SCNuFAST8
+ "hhu"
+
+       )
+
+214 \ 1
+       #SCNuFAST16
+__PRIPTR_PREFIX
+ "u"
+
+       )
+
+215 \ 1
+       #SCNuFAST32
+__PRIPTR_PREFIX
+ "u"
+
+       )
+
+216 \ 1
+       #SCNuFAST64
+__PRI64_PREFIX
+ "u"
+
+       )
+
+219 \ 1
+       #SCNo8
+ "hho"
+
+       )
+
+220 \ 1
+       #SCNo16
+ "ho"
+
+       )
+
+221 \ 1
+       #SCNo32
+ "o"
+
+       )
+
+222 \ 1
+       #SCNo64
+__PRI64_PREFIX
+ "o"
+
+       )
+
+224 \ 1
+       #SCNoLEAST8
+ "hho"
+
+       )
+
+225 \ 1
+       #SCNoLEAST16
+ "ho"
+
+       )
+
+226 \ 1
+       #SCNoLEAST32
+ "o"
+
+       )
+
+227 \ 1
+       #SCNoLEAST64
+__PRI64_PREFIX
+ "o"
+
+       )
+
+229 \ 1
+       #SCNoFAST8
+ "hho"
+
+       )
+
+230 \ 1
+       #SCNoFAST16
+__PRIPTR_PREFIX
+ "o"
+
+       )
+
+231 \ 1
+       #SCNoFAST32
+__PRIPTR_PREFIX
+ "o"
+
+       )
+
+232 \ 1
+       #SCNoFAST64
+__PRI64_PREFIX
+ "o"
+
+       )
+
+235 \ 1
+       #SCNx8
+ "hhx"
+
+       )
+
+236 \ 1
+       #SCNx16
+ "hx"
+
+       )
+
+237 \ 1
+       #SCNx32
+ "x"
+
+       )
+
+238 \ 1
+       #SCNx64
+__PRI64_PREFIX
+ "x"
+
+       )
+
+240 \ 1
+       #SCNxLEAST8
+ "hhx"
+
+       )
+
+241 \ 1
+       #SCNxLEAST16
+ "hx"
+
+       )
+
+242 \ 1
+       #SCNxLEAST32
+ "x"
+
+       )
+
+243 \ 1
+       #SCNxLEAST64
+__PRI64_PREFIX
+ "x"
+
+       )
+
+245 \ 1
+       #SCNxFAST8
+ "hhx"
+
+       )
+
+246 \ 1
+       #SCNxFAST16
+__PRIPTR_PREFIX
+ "x"
+
+       )
+
+247 \ 1
+       #SCNxFAST32
+__PRIPTR_PREFIX
+ "x"
+
+       )
+
+248 \ 1
+       #SCNxFAST64
+__PRI64_PREFIX
+ "x"
+
+       )
+
+252 \ 1
+       #SCNdMAX
+__PRI64_PREFIX
+ "d"
+
+       )
+
+253 \ 1
+       #SCNiMAX
+__PRI64_PREFIX
+ "i"
+
+       )
+
+254 \ 1
+       #SCNoMAX
+__PRI64_PREFIX
+ "o"
+
+       )
+
+255 \ 1
+       #SCNuMAX
+__PRI64_PREFIX
+ "u"
+
+       )
+
+256 \ 1
+       #SCNxMAX
+__PRI64_PREFIX
+ "x"
+
+       )
+
+259 \ 1
+       #SCNdPTR
+__PRIPTR_PREFIX
+ "d"
+
+       )
+
+260 \ 1
+       #SCNiPTR
+__PRIPTR_PREFIX
+ "i"
+
+       )
+
+261 \ 1
+       #SCNoPTR
+__PRIPTR_PREFIX
+ "o"
+
+       )
+
+262 \ 1
+       #SCNuPTR
+__PRIPTR_PREFIX
+ "u"
+
+       )
+
+263 \ 1
+       #SCNxPTR
+__PRIPTR_PREFIX
+ "x"
+
+       )
+
+266 
+       g__BEGIN_DECLS
+
+
+268 #ià
+__WORDSIZE
+ == 64
+
+273 \13\12
+       mquÙ
+;
+
+274 \13\12
+       m»m
+;
+
+275 } 
+       timaxdiv_t
+;
+
+282 
+__ex\8bnsiÚ__
\13\13\12
+       mquÙ
+;
+
+283 
+__ex\8bnsiÚ__
\13\13\12
+       m»m
+;
+
+284 } 
+       timaxdiv_t
+;
+
+290 \r
+\9atmax_t
+       $imaxabs
+ (
+\9atmax_t
+__n
+__THROW
+       `__©\8cibu\8b__
+ ((
+__cڡ__
+));
+
+293 \r
+imaxdiv_t
+       $imaxdiv
+ (
+\9atmax_t
+__num\94
+, iÁmax_\88
+__d\92om
+)
+
+294 
+__THROW
+       `__©\8cibu\8b__
+ ((
+__cڡ__
+));
+
+297 \r
+\9atmax_t
+       $¡¹oimax
+ (cڡ \ 5*
+__»¡riù
+__Ō
+,
+
+298 \ 5**
+__»¡riù
+__\92d±r
+, \12
+__ba£
+__THROW
+;
+
+301 \r
+u\9atmax_t
+       $¡¹oumax
+ (cڡ \ 5*
+__»¡riù
+__Ō
+,
+
+302 \ 5** 
+__»¡riù
+__\92d±r
+, \12
+__ba£
+__THROW
+;
+
+305 \r
+\9atmax_t
+       $wc¡oimax
+ (cڡ 
+__gwch¬_t
+ *
+__»¡riù
+__Ō
+,
+
+306 
+__gwch¬_t
+ **
+__»¡riù
+__\92d±r
+, \12
+__ba£
+)
+
+307 
+__THROW
+;
+
+310 \r
+u\9atmax_t
+       $wc¡oumax
+ (cڡ 
+__gwch¬_t
+ *
+__»¡riù
+__Ō
+,
+
+311 
+__gwch¬_t
+ ** 
+__»¡riù
+__\92d±r
+, \12
+__ba£
+)
+
+312 
+__THROW
+;
+
+314 #ifdeà
+__USE_EXTERN_INLINES
+
+
+316 #ià
+__WORDSIZE
+ == 64
+
+318 \r\13\12
+       $__¡¹Þ_\9a\8bº®
+ (cڡ \ 5*
+__»¡riù
+__Ō
+,
+
+319 \ 5**
+__»¡riù
+__\92d±r
+,
+
+320 \12
+__ba£
+, \12
+__group
+)
+
+321 
+__THROW
+       `__nÚnuÎ
+ ((1)è
+__wur
+;
+
+323 
+__ex\8bº_\9al\9ae
+\9atmax_t
+
+
+324 
+       `__NTH
+ (
+       $¡¹oimax
+ (cڡ \ 5*
+__»¡riù
+, \ 5**__»¡riù 
+\92d±r
+,
+
+325 \12
+ba£
+))
+
+327 \15 
+       `__¡¹Þ_\9a\8bº®
+ (
+, 
+\92d±r
+, 
+ba£
+, 0);
+
+328 
+       }
+}
+
+330 \r\1d\13\12
+       $__¡¹oul_\9a\8bº®
+ (cڡ \ 5*
+__»¡riù
+__Ō
+,
+
+331 \ 5** 
+__»¡riù
+__\92d±r
+,
+
+332 \12
+__ba£
+, \12
+__group
+)
+
+333 
+__THROW
+       `__nÚnuÎ
+ ((1)è
+__wur
+;
+
+335 
+__ex\8bº_\9al\9ae
+u\9atmax_t
+
+
+336 
+       `__NTH
+ (
+       $¡¹oumax
+ (cڡ \ 5*
+__»¡riù
+, \ 5**__»¡riù 
+\92d±r
+,
+
+337 \12
+ba£
+))
+
+339 \15 
+       `__¡¹oul_\9a\8bº®
+ (
+, 
+\92d±r
+, 
+ba£
+, 0);
+
+340 
+       }
+}
+
+342 \r\13\12
+       $__wc¡Þ_\9a\8bº®
+ (cڡ 
+__gwch¬_t
+ * 
+__»¡riù
+__Ō
+,
+
+343 
+__gwch¬_t
+ **
+__»¡riù
+__\92d±r
+,
+
+344 \12
+__ba£
+, \12
+__group
+)
+
+345 
+__THROW
+       `__nÚnuÎ
+ ((1)è
+__wur
+;
+
+347 
+__ex\8bº_\9al\9ae
+\9atmax_t
+
+
+348 
+       `__NTH
+ (
+       $wc¡oimax
+ (cڡ 
+__gwch¬_t
+ *
+__»¡riù
+,
+
+349 
+__gwch¬_t
+ **
+__»¡riù
+\92d±r
+, \12
+ba£
+))
+
+351 \15 
+       `__wc¡Þ_\9a\8bº®
+ (
+, 
+\92d±r
+, 
+ba£
+, 0);
+
+352 
+       }
+}
+
+354 \r\1d\13\12
+       $__wc¡oul_\9a\8bº®
+ (cڡ 
+__gwch¬_t
+ *
+
+355 
+__»¡riù
+__Ō
+,
+
+356 
+__gwch¬_t
+ **
+
+357 
+__»¡riù
+__\92d±r
+,
+
+358 \12
+__ba£
+, \12
+__group
+)
+
+359 
+__THROW
+       `__nÚnuÎ
+ ((1)è
+__wur
+;
+
+361 
+__ex\8bº_\9al\9ae
+u\9atmax_t
+
+
+362 
+       `__NTH
+ (
+       $wc¡oumax
+ (cڡ 
+__gwch¬_t
+ *
+__»¡riù
+,
+
+363 
+__gwch¬_t
+ **
+__»¡riù
+\92d±r
+, \12
+ba£
+))
+
+365 \15 
+       `__wc¡oul_\9a\8bº®
+ (
+, 
+\92d±r
+, 
+ba£
+, 0);
+
+366 
+       }
+}
+
+370 
+__ex\8bnsiÚ__
+
+
+371 \r\13\13\12
+       $__¡¹Þl_\9a\8bº®
+ (cڡ \ 5*
+__»¡riù
+__Ō
+,
+
+372 \ 5**
+__»¡riù
+__\92d±r
+,
+
+373 \12
+__ba£
+, \12
+__group
+)
+
+374 
+__THROW
+       `__nÚnuÎ
+ ((1)è
+__wur
+;
+
+376 
+__ex\8bº_\9al\9ae
+\9atmax_t
+
+
+377 
+       `__NTH
+ (
+       $¡¹oimax
+ (cڡ \ 5*
+__»¡riù
+, \ 5**__»¡riù 
+\92d±r
+,
+
+378 \12
+ba£
+))
+
+380 \15 
+       `__¡¹Þl_\9a\8bº®
+ (
+, 
+\92d±r
+, 
+ba£
+, 0);
+
+381 
+       }
+}
+
+383 
+__ex\8bnsiÚ__
+
+
+384 \r\1d\13\13\12
+       $__¡¹ouÎ_\9a\8bº®
+ (const \ 5*
+
+385 
+__»¡riù
+__Ō
+,
+
+387 
+__»¡riù
+__\92d±r
+,
+
+388 \12
+__ba£
+,
+
+389 \12
+__group
+)
+
+390 
+__THROW
+       `__nÚnuÎ
+ ((1)è
+__wur
+;
+
+392 
+__ex\8bº_\9al\9ae
+u\9atmax_t
+
+
+393 
+       `__NTH
+ (
+       $¡¹oumax
+ (cڡ \ 5*
+__»¡riù
+, \ 5**__»¡riù 
+\92d±r
+,
+
+394 \12
+ba£
+))
+
+396 \15 
+       `__¡¹ouÎ_\9a\8bº®
+ (
+, 
+\92d±r
+, 
+ba£
+, 0);
+
+397 
+       }
+}
+
+399 
+__ex\8bnsiÚ__
+
+
+400 \r\13\13\12
+       $__wc¡Þl_\9a\8bº®
+ (cڡ 
+__gwch¬_t
+ *
+__»¡riù
+__Ō
+,
+
+401 
+__gwch¬_t
+ **
+__»¡riù
+__\92d±r
+,
+
+402 \12
+__ba£
+, \12
+__group
+)
+
+403 
+__THROW
+       `__nÚnuÎ
+ ((1)è
+__wur
+;
+
+405 
+__ex\8bº_\9al\9ae
+\9atmax_t
+
+
+406 
+       `__NTH
+ (
+       $wc¡oimax
+ (cڡ 
+__gwch¬_t
+ *
+__»¡riù
+,
+
+407 
+__gwch¬_t
+ **
+__»¡riù
+\92d±r
+, \12
+ba£
+))
+
+409 \15 
+       `__wc¡Þl_\9a\8bº®
+ (
+, 
+\92d±r
+, 
+ba£
+, 0);
+
+410 
+       }
+}
+
+413 
+__ex\8bnsiÚ__
+
+
+414 \r\1d\13\13\12
+       $__wc¡ouÎ_\9a\8bº®
+ (cڡ 
+__gwch¬_t
+ *
+
+415 
+__»¡riù
+__Ō
+,
+
+416 
+__gwch¬_t
+ **
+
+417 
+__»¡riù
+__\92d±r
+,
+
+418 \12
+__ba£
+,
+
+419 \12
+__group
+)
+
+420 
+__THROW
+       `__nÚnuÎ
+ ((1)è
+__wur
+;
+
+422 
+__ex\8bº_\9al\9ae
+u\9atmax_t
+
+
+423 
+       `__NTH
+ (
+       $wc¡oumax
+ (cڡ 
+__gwch¬_t
+ *
+__»¡riù
+,
+
+424 
+__gwch¬_t
+ **
+__»¡riù
+\92d±r
+, \12
+ba£
+))
+
+426 \15 
+       `__wc¡ouÎ_\9a\8bº®
+ (
+, 
+\92d±r
+, 
+ba£
+, 0);
+
+427 
+       }
+}
+
+432 
+       g__END_DECLS
+
+
+       @/usr/include/libgen.h
+
+18 #iâdeà
+_LIBGEN_H
+
+
+19 \ 1
+       #_LIBGEN_H
+ 1
+
+       )
+
+21 \ 2
+       ~<ã©u»s.h
+>
+
+23 
+__BEGIN_DECLS
+
+
+26 \r\ 5*
+       $d\9cÇme
+ (\ 5*
+__·th
+__THROW
+;
+
+34 \r\ 5*
+       $__xpg_ba£Çme
+ (\ 5*
+__·th
+__THROW
+;
+
+35 \ 1
+       #ba£Çme
+__xpg_ba£Çme
+
+
+       )
+
+37 
+__END_DECLS
+
+
+       @/usr/include/math.h
+
+23 #iâdef 
+_MATH_H
+
+
+24 \ 1
+       #_MATH_H
+ 1
+
+       )
+
+26 \ 2
+       ~<ã©u»s.h
+>
+
+28 
+       g__BEGIN_DECLS
+
+
+31 \ 2
+       ~<b\99s/m©h-veùÜ.h
+>
+
+35 \ 2
+       ~<b\99s/huge_v®.h
+>
+
+36 #ifdeà
+__USE_ISOC99
+
+
+37 \ 2
+       ~<b\99s/huge_v®f.h
+>
+
+38 \ 2
+       ~<b\99s/huge_v®l.h
+>
+
+41 \ 2
+       ~<b\99s/\9af.h
+>
+
+44 \ 2
+       ~<b\99s/Çn.h
+>
+
+48 \ 2
+       ~<b\99s/m©hdef.h
+>
+
+55 \ 1
+       #__SIMD_DECL
+(
+funùiÚ
+       `__CONCAT
+ (
+__DECL_SIMD_
+, funùiÚ)
+
+       )
+
+57 \ 1
+       #__MATHCALL_VEC
+(
+funùiÚ
+, 
+suffix
+, 
+¬gs
+) \
+
+58 
+       `__SIMD_DECL
+ (
+       `__MATH_PRECNAME
+ (
+funùiÚ
+, 
+suffix
+)) \
+
+59 
+       `__MATHCALL
+ (
+funùiÚ
+, 
+suffix
+, 
+¬gs
+)
+
+       )
+
+61 \ 1
+       #__MATHDECL_VEC
+(
+ty³
+, 
+funùiÚ
+,
+suffix
+, 
+¬gs
+) \
+
+62 
+       `__SIMD_DECL
+ (
+       `__MATH_PRECNAME
+ (
+funùiÚ
+, 
+suffix
+)) \
+
+63 
+       `__MATHDECL
+(
+ty³
+, 
+funùiÚ
+,
+suffix
+, 
+¬gs
+)
+
+       )
+
+65 \ 1
+       #__MATHCALL
+(
+funùiÚ
+,
+suffix
+, 
+¬gs
+) \
+
+66 
+       `__MATHDECL
+ (
+_MdoubË_
+,
+funùiÚ
+,
+suffix
+, 
+¬gs
+)
+
+       )
+
+67 \ 1
+       #__MATHDECL
+(
+ty³
+, 
+funùiÚ
+,
+suffix
+, 
+¬gs
+) \
+
+68 
+       `__MATHDECL_1
+(
+ty³
+, 
+funùiÚ
+,
+suffix
+, 
+¬gs
+); \
+
+69 
+       `__MATHDECL_1
+(
+ty³
+, 
+       `__CONCAT
+(
+__
+,
+funùiÚ
+),
+suffix
+, 
+¬gs
+)
+
+       )
+
+70 \ 1
+       #__MATHCALLX
+(
+funùiÚ
+,
+suffix
+, 
+¬gs
+, 
\8cib
+) \
+
+71 
+       `__MATHDECLX
+ (
+_MdoubË_
+,
+funùiÚ
+,
+suffix
+, 
+¬gs
+, 
\8cib
+)
+
+       )
+
+72 \ 1
+       #__MATHDECLX
+(
+ty³
+, 
+funùiÚ
+,
+suffix
+, 
+¬gs
+, 
\8cib
+) \
+
+73 
+       `__MATHDECL_1
+(
+ty³
+, 
+funùiÚ
+,
+suffix
+, 
+¬gs
+       `__©\8cibu\8b__
+ (
\8cib
+); \
+
+74 
+       `__MATHDECL_1
+(
+ty³
+, 
+       `__CONCAT
+(
+__
+,
+funùiÚ
+),
+suffix
+, 
+¬gs
+       `__©\8cibu\8b__
+ (
\8cib
+)
+
+       )
+
+75 \ 1
+       #__MATHDECL_1
+(
+ty³
+, 
+funùiÚ
+,
+suffix
+, 
+¬gs
+) \
+
+76 \r
+ty³
+       `__MATH_PRECNAME
+(
+funùiÚ
+,
+suffix
+¬gs
+__THROW
+
+
+       )
+
+78 \ 1
+       #_MdoubË_
\b
+
+       )
+
+79 \ 1
+       #__MATH_PRECNAME
+(
+Çme
+,
+r
+       `__CONCAT
+Òame,r)
+
+       )
+
+80 \ 1
+       #__MATH_DECLARING_DOUBLE
+ 1
+
+       )
+
+81 \ 1
+       #_MdoubË_BEGIN_NAMESPACE
+__BEGIN_NAMESPACE_STD
+
+
+       )
+
+82 \ 1
+       #_MdoubË_END_NAMESPACE
+__END_NAMESPACE_STD
+
+
+       )
+
+83 \ 2
+       ~<b\99s/m©hÿÎs.h
+>
+
+84 #undeà
+_MdoubË_
+
+
+85 #undeà
+_MdoubË_BEGIN_NAMESPACE
+
+
+86 #undeà
+_MdoubË_END_NAMESPACE
+
+
+87 #undeà
+__MATH_PRECNAME
+
+
+88 #undeà
+__MATH_DECLARING_DOUBLE
+
+
+90 #ifdeà
+__USE_ISOC99
+
+
+96 #iâdeà
+_Mæßt_
+
+
+97 \ 1
+       #_Mæßt_
\ e
+
+       )
+
+99 \ 1
+       #_MdoubË_
+_Mæßt_
+
+
+       )
+
+100 \ 1
+       #__MATH_PRECNAME
+(
+Çme
+,
+r
+èÇme##
+f
+##
+       )
+r
+
+101 \ 1
+       #__MATH_DECLARING_DOUBLE
+ 0
+
+       )
+
+102 \ 1
+       #_MdoubË_BEGIN_NAMESPACE
+__BEGIN_NAMESPACE_C99
+
+
+       )
+
+103 \ 1
+       #_MdoubË_END_NAMESPACE
+__END_NAMESPACE_C99
+
+
+       )
+
+104 \ 2
+       ~<b\99s/m©hÿÎs.h
+>
+
+105 #undeà
+_MdoubË_
+
+
+106 #undeà
+_MdoubË_BEGIN_NAMESPACE
+
+
+107 #undeà
+_MdoubË_END_NAMESPACE
+
+
+108 #undeà
+__MATH_PRECNAME
+
+
+109 #undeà
+__MATH_DECLARING_DOUBLE
+
+
+111 #ià!(
+def\9aed
+__NO_LONG_DOUBLE_MATH
+ && def\9aed 
+_LIBC
+) \
+
+112 || 
+def\9aed
+__LDBL_COMPAT
+ \
+
+113 || 
+def\9aed
+_LIBC_TEST
+
+
+114 #ifdeà
+__LDBL_COMPAT
+
+
+116 #ifdeà
+__USE_ISOC99
+
+
+117 \r\ e
+       $__Ædbl_Ãx\89ow¬df
+ (\ e
+__x
+, \13\b
+__y
+)
+
+118 
+__THROW
+       `__©\8cibu\8b__
+ ((
+__cڡ__
+));
+
+119 #ifdeà
+__REDIRECT_NTH
+
+
+120 \r\ e
+       `__REDIRECT_NTH
+ (
+Ãx\89ow¬df
+, (\ e
+__x
+, \13\b
+__y
+),
+
+121 
+__Ædbl_Ãx\89ow¬df
+)
+
+122 
+       `__©\8cibu\8b__
+ ((
+__cڡ__
+));
+
+123 \r\b
+       `__REDIRECT_NTH
+ (
+Ãx\89ow¬d
+, (\b
+__x
+, \13\b
+__y
+),
+
+124 
+Ãx\8fá\94
+       `__©\8cibu\8b__
+ ((
+__cڡ__
+));
+
+125 \r\13\b
+       `__REDIRECT_NTH
+ (
+Ãx\89ow¬dl
+,
+
+126 (\13\b
+__x
+, \13\b
+__y
+),
+
+127 
+Ãx\8fá\94
+       `__©\8cibu\8b__
+ ((
+__cڡ__
+));
+
+131 #undeà
+__MATHDECL_1
+
+
+132 \ 1
+       #__MATHDECL_2
+(
+ty³
+, 
+funùiÚ
+,
+suffix
+, 
+¬gs
+, 
\9fs
+) \
+
+133 \r
+ty³
+       `__REDIRECT_NTH
+(
+       `__MATH_PRECNAME
+(
+funùiÚ
+,
+suffix
+), \
+
+134 
+¬gs
+, 
\9fs
+)
+
+       )
+
+135 \ 1
+       #__MATHDECL_1
+(
+ty³
+, 
+funùiÚ
+,
+suffix
+, 
+¬gs
+) \
+
+136 
+       `__MATHDECL_2
+(
+ty³
+, 
+funùiÚ
+,
+suffix
+, 
+¬gs
+, 
+       `__CONCAT
+(funùiÚ,suffix))
+
+       )
+
+142 #iâdeà
+_MlÚg_doubË_
+
+
+143 \ 1
+       #_MlÚg_doubË_
\13\b
+
+       )
+
+145 \ 1
+       #_MdoubË_
+_MlÚg_doubË_
+
+
+       )
+
+146 \ 1
+       #__MATH_PRECNAME
+(
+Çme
+,
+r
+èÇme##
+l
+##
+       )
+r
+
+147 \ 1
+       #__MATH_DECLARING_DOUBLE
+ 0
+
+       )
+
+148 \ 1
+       #_MdoubË_BEGIN_NAMESPACE
+__BEGIN_NAMESPACE_C99
+
+
+       )
+
+149 \ 1
+       #_MdoubË_END_NAMESPACE
+__END_NAMESPACE_C99
+
+
+       )
+
+150 \ 1
+       #__MATH_DECLARE_LDOUBLE
+ 1
+
+       )
+
+151 \ 2
+       ~<b\99s/m©hÿÎs.h
+>
+
+152 #undeà
+_MdoubË_
+
+
+153 #undeà
+_MdoubË_BEGIN_NAMESPACE
+
+
+154 #undeà
+_MdoubË_END_NAMESPACE
+
+
+155 #undeà
+__MATH_PRECNAME
+
+
+156 #undeà
+__MATH_DECLARING_DOUBLE
+
+
+161 #undeà
+__MATHDECL_1
+
+
+162 #undeà
+__MATHDECL
+
+
+163 #undeà
+__MATHCALL
+
+
+166 #ià
+def\9aed
+__USE_MISC
+ || def\9aed 
+__USE_XOPEN
+
+
+168 \r\12
+signgam
+;
+
+173 #ifdeà
+__USE_ISOC99
+
+
+211 
+FP_NAN
+ =
+
+212 \ 1
+       #FP_NAN
+ 0
+
+       )
+
+213 
+FP_NAN
+,
+
+214 
+FP_INFINITE
+ =
+
+215 \ 1
+       #FP_INFINITE
+ 1
+
+       )
+
+216 
+FP_INFINITE
+,
+
+217 
+FP_ZERO
+ =
+
+218 \ 1
+       #FP_ZERO
+ 2
+
+       )
+
+219 
+FP_ZERO
+,
+
+220 
+FP_SUBNORMAL
+ =
+
+221 \ 1
+       #FP_SUBNORMAL
+ 3
+
+       )
+
+222 
+FP_SUBNORMAL
+,
+
+223 
+FP_NORMAL
+ =
+
+224 \ 1
+       #FP_NORMAL
+ 4
+
+       )
+
+225 
+FP_NORMAL
+
+
+233 #ià
+       `__GNUC_PREREQ
+ (4,4è&& !
+def\9aed
+__SUPPORT_SNAN__
+ \
+
+234 && !
+def\9aed
+__OPTIMIZE_SIZE__
+
+
+235 \ 1
+       #åþassify
+(
+x
+       `__bu\9et\9a_åþassify
+ (
+FP_NAN
+, 
+FP_INFINITE
+, \
+
+236 
+FP_NORMAL
+, 
+FP_SUBNORMAL
+, 
+FP_ZERO
+, 
+x
+)
+
+       )
+
+237 #\96
+def\9aed
+__NO_LONG_DOUBLE_MATH
+
+
+238 \ 1
+       #åþassify
+(
+x
+) \
+
+239 (\17 (
+x
+è=ð\17 (\ eè? 
+       `__åþassifyf
+ (xè: 
+       `__åþassify
+ (x))
+
+       )
+
+241 \ 1
+       #åþassify
+(
+x
+) \
+
+242 (\17 (
+x
+) == \17 (\ e) \
+
+243 ? 
+       `__åþassifyf
+ (
+x
+) \
+
+244 : \17 (
+x
+) == \17 (\b) \
+
+245 ? 
+       `__åþassify
+ (
+x
+è: 
+       `__åþassifyl
+ (x))
+
+       )
+
+249 #ià
+       `__GNUC_PREREQ
+ (4,0)
+
+250 \ 1
+       #signb\99
+(
+x
+) \
+
+251 (\17 (
+x
+) == \17 (\ e) \
+
+252 ? 
+       `__bu\9et\9a_signb\99f
+ (
+x
+) \
+
+253 : \17 (
+x
+) == \17 (\b) \
+
+254 ? 
+       `__bu\9et\9a_signb\99
+ (
+x
+è: 
+       `__bu\9et\9a_signb\99l
+ (x))
+
+       )
+
+256 #ifdeà
+__NO_LONG_DOUBLE_MATH
+
+
+257 \ 1
+       #signb\99
+(
+x
+) \
+
+258 (\17 (
+x
+è=ð\17 (\ eè? 
+       `__signb\99f
+ (xè: 
+       `__signb\99
+ (x))
+
+       )
+
+260 \ 1
+       #signb\99
+(
+x
+) \
+
+261 (\17 (
+x
+) == \17 (\ e) \
+
+262 ? 
+       `__signb\99f
+ (
+x
+) \
+
+263 : \17 (
+x
+) == \17 (\b) \
+
+264 ? 
+       `__signb\99
+ (
+x
+è: 
+       `__signb\99l
+ (x))
+
+       )
+
+269 #ià
+       `__GNUC_PREREQ
+ (4,4è&& !
+def\9aed
+__SUPPORT_SNAN__
+
+
+270 \ 1
+       #isf\9a\99e
+(
+x
+       `__bu\9et\9a_isf\9a\99e
+ (x)
+
+       )
+
+271 #\96
+def\9aed
+__NO_LONG_DOUBLE_MATH
+
+
+272 \ 1
+       #isf\9a\99e
+(
+x
+) \
+
+273 (\17 (
+x
+è=ð\17 (\ eè? 
+       `__f\9a\99ef
+ (xè: 
+       `__f\9a\99e
+ (x))
+
+       )
+
+275 \ 1
+       #isf\9a\99e
+(
+x
+) \
+
+276 (\17 (
+x
+) == \17 (\ e) \
+
+277 ? 
+       `__f\9a\99ef
+ (
+x
+) \
+
+278 : \17 (
+x
+) == \17 (\b) \
+
+279 ? 
+       `__f\9a\99e
+ (
+x
+è: 
+       `__f\9a\99\96
+ (x))
+
+       )
+
+283 #ià
+       `__GNUC_PREREQ
+ (4,4è&& !
+def\9aed
+__SUPPORT_SNAN__
+
+
+284 \ 1
+       #i¢Üm®
+(
+x
+       `__bu\9et\9a_i¢Üm®
+ (x)
+
+       )
+
+286 \ 1
+       #i¢Üm®
+(
+x
+è(
+       `åþassify
+ (xè=ð
+FP_NORMAL
+)
+
+       )
+
+291 #ià
+       `__GNUC_PREREQ
+ (4,4è&& !
+def\9aed
+__SUPPORT_SNAN__
+
+
+292 \ 1
+       #i¢ª
+(
+x
+       `__bu\9et\9a_i¢ª
+ (x)
+
+       )
+
+293 #\96
+def\9aed
+__NO_LONG_DOUBLE_MATH
+
+
+294 \ 1
+       #i¢ª
+(
+x
+) \
+
+295 (\17 (
+x
+è=ð\17 (\ eè? 
+       `__i¢ªf
+ (xè: 
+       `__i¢ª
+ (x))
+
+       )
+
+297 \ 1
+       #i¢ª
+(
+x
+) \
+
+298 (\17 (
+x
+) == \17 (\ e) \
+
+299 ? 
+       `__i¢ªf
+ (
+x
+) \
+
+300 : \17 (
+x
+) == \17 (\b) \
+
+301 ? 
+       `__i¢ª
+ (
+x
+è: 
+       `__i¢ªl
+ (x))
+
+       )
+
+305 #ià
+       `__GNUC_PREREQ
+ (4,4è&& !
+def\9aed
+__SUPPORT_SNAN__
+
+
+306 \ 1
+       #is\9af
+(
+x
+       `__bu\9et\9a_is\9af_sign
+ (x)
+
+       )
+
+307 #\96
+def\9aed
+__NO_LONG_DOUBLE_MATH
+
+
+308 \ 1
+       #is\9af
+(
+x
+) \
+
+309 (\17 (
+x
+è=ð\17 (\ eè? 
+       `__is\9aff
+ (xè: 
+       `__is\9af
+ (x))
+
+       )
+
+311 \ 1
+       #is\9af
+(
+x
+) \
+
+312 (\17 (
+x
+) == \17 (\ e) \
+
+313 ? 
+       `__is\9aff
+ (
+x
+) \
+
+314 : \17 (
+x
+) == \17 (\b) \
+
+315 ? 
+       `__is\9af
+ (
+x
+è: 
+       `__is\9aæ
+ (x))
+
+       )
+
+319 \ 1
+       #MATH_ERRNO
+ 1
+
+       )
+
+320 \ 1
+       #MATH_ERREXCEPT
+ 2
+
+       )
+
+325 #iâdeà
+__FAST_MATH__
+
+
+326 \ 1
+       #m©h_\94rhªdl\9ag
+ (
+MATH_ERRNO
+ | 
+MATH_ERREXCEPT
+)
+
+       )
+
+331 #ifdeà
+__USE_GNU
+
+
+333 #ifdeà
+__NO_LONG_DOUBLE_MATH
+
+
+334 \ 1
+       #issigÇl\9ag
+(
+x
+) \
+
+335 (\17 (
+x
+è=ð\17 (\ eè? 
+       `__issigÇl\9agf
+ (xè: 
+       `__issigÇl\9ag
+ (x))
+
+       )
+
+337 \ 1
+       #issigÇl\9ag
+(
+x
+) \
+
+338 (\17 (
+x
+) == \17 (\ e) \
+
+339 ? 
+       `__issigÇl\9agf
+ (
+x
+) \
+
+340 : \17 (
+x
+) == \17 (\b) \
+
+341 ? 
+       `__issigÇl\9ag
+ (
+x
+è: 
+       `__issigÇl\9agl
+ (x))
+
+       )
+
+345 #ifdef 
+__USE_MISC
+
+
+349 
+_IEEE_
+ = -1,
+
+350 
+_SVID_
+,
+
+351 
+_XOPEN_
+,
+
+352 
+_POSIX_
+,
+
+353 
+_ISOC_
+
+
+354 } 
+       t_LIB_VERSION_TYPE
+;
+
+359 \r
+_LIB_VERSION_TYPE
+_LIB_VERSION
+;
+
+363 #ifdeà
+__USE_MISC
+
+
+369 #ifdeà
+__ýlu¥lus
+
+
+370 \19
+__exû±iÚ
+
+
+372 \19
+exû±iÚ
+
+
+375 \12
+ty³
+;
+
+376 \ 5*
+Çme
+;
+
+377 \b
+¬g1
+;
+
+378 \b
+¬g2
+;
+
+379 \b
+»tv®
+;
+
+380 
+       }
+};
+
+382 #ifdeà
+__ýlu¥lus
+
+
+383 \r\12
+       $m©h\94r
+ (\19
+__exû±iÚ
+ *
+__exc
+       `throw
+ ();
+
+385 \r\12
+       `m©h\94r
+ (\19
+exû±iÚ
+ *
+__exc
+);
+
+388 \ 1
+       #X_TLOSS
+ 1.41484755040568800000e+16
+
+       )
+
+391 \ 1
+       #DOMAIN
+ 1
+
+       )
+
+392 \ 1
+       #SING
+ 2
+
+       )
+
+393 \ 1
+       #OVERFLOW
+ 3
+
+       )
+
+394 \ 1
+       #UNDERFLOW
+ 4
+
+       )
+
+395 \ 1
+       #TLOSS
+ 5
+
+       )
+
+396 \ 1
+       #PLOSS
+ 6
+
+       )
+
+399 \ 1
+       #HUGE
+ 3.40282347e+38F
+
+       )
+
+403 #ifdeà
+__USE_XOPEN
+
+
+405 \ 1
+       #MAXFLOAT
+ 3.40282347e+38F
+
+       )
+
+412 #ià
+def\9aed
+__USE_MISC
+ || def\9aed 
+__USE_XOPEN
+
+
+413 \ 1
+       #M_E
+ 2.7182818284590452354
+
+       )
+
+414 \ 1
+       #M_LOG2E
+ 1.4426950408889634074
+
+       )
+
+415 \ 1
+       #M_LOG10E
+ 0.43429448190325182765
+
+       )
+
+416 \ 1
+       #M_LN2
+ 0.69314718055994530942
+
+       )
+
+417 \ 1
+       #M_LN10
+ 2.30258509299404568402
+
+       )
+
+418 \ 1
+       #M_PI
+ 3.14159265358979323846
+
+       )
+
+419 \ 1
+       #M_PI_2
+ 1.57079632679489661923
+
+       )
+
+420 \ 1
+       #M_PI_4
+ 0.78539816339744830962
+
+       )
+
+421 \ 1
+       #M_1_PI
+ 0.31830988618379067154
+
+       )
+
+422 \ 1
+       #M_2_PI
+ 0.63661977236758134308
+
+       )
+
+423 \ 1
+       #M_2_SQRTPI
+ 1.12837916709551257390
+
+       )
+
+424 \ 1
+       #M_SQRT2
+ 1.41421356237309504880
+
+       )
+
+425 \ 1
+       #M_SQRT1_2
+ 0.70710678118654752440
+
+       )
+
+431 #ifdeà
+__USE_GNU
+
+
+432 \ 1
+       #M_El
+ 2.718281828459045235360287471352662498L
+
+       )
+
+433 \ 1
+       #M_LOG2El
+ 1.442695040888963407359924681001892137L
+
+       )
+
+434 \ 1
+       #M_LOG10El
+ 0.434294481903251827651128918916605082L
+
+       )
+
+435 \ 1
+       #M_LN2l
+ 0.693147180559945309417232121458176568L
+
+       )
+
+436 \ 1
+       #M_LN10l
+ 2.302585092994045684017991454684364208L
+
+       )
+
+437 \ 1
+       #M_PIl
+ 3.141592653589793238462643383279502884L
+
+       )
+
+438 \ 1
+       #M_PI_2l
+ 1.570796326794896619231321691639751442L
+
+       )
+
+439 \ 1
+       #M_PI_4l
+ 0.785398163397448309615660845819875721L
+
+       )
+
+440 \ 1
+       #M_1_PIl
+ 0.318309886183790671537767526745028724L
+
+       )
+
+441 \ 1
+       #M_2_PIl
+ 0.636619772367581343075535053490057448L
+
+       )
+
+442 \ 1
+       #M_2_SQRTPIl
+ 1.128379167095512573896158903121545172L
+
+       )
+
+443 \ 1
+       #M_SQRT2l
+ 1.414213562373095048801688724209698079L
+
+       )
+
+444 \ 1
+       #M_SQRT1_2l
+ 0.707106781186547524400844362104849039L
+
+       )
+
+451 #ià
+def\9aed
+__STRICT_ANSI__
+ && !def\9aed 
+__NO_MATH_INLINES
+
+
+452 \ 1
+       #__NO_MATH_INLINES
+ 1
+
+       )
+
+455 #ià
+def\9aed
+__USE_ISOC99
+ && 
+       `__GNUC_PREREQ
+(2,97)
+
+462 \ 1
+       #isg»©\94
+(
+x
+, 
+y
+       `__bu\9et\9a_isg»©\94
+(x, y)
+
+       )
+
+463 \ 1
+       #isg»©\94equ®
+(
+x
+, 
+y
+       `__bu\9et\9a_isg»©\94equ®
+(x, y)
+
+       )
+
+464 \ 1
+       #i¦ess
+(
+x
+, 
+y
+       `__bu\9et\9a_i¦ess
+(x, y)
+
+       )
+
+465 \ 1
+       #i¦es£qu®
+(
+x
+, 
+y
+       `__bu\9et\9a_i¦es£qu®
+(x, y)
+
+       )
+
+466 \ 1
+       #i¦essg»©\94
+(
+x
+, 
+y
+       `__bu\9et\9a_i¦essg»©\94
+(x, y)
+
+       )
+
+467 \ 1
+       #isunÜd\94ed
+(
+u
+, 
+v
+       `__bu\9et\9a_isunÜd\94ed
+(u, v)
+
+       )
+
+471 #ifdeà
+__USE_EXTERN_INLINES
+
+
+472 \ 2
+       ~<b\99s/m©h\9al\9ae.h
+>
+
+477 #ià
+def\9aed
+__FINITE_MATH_ONLY__
+ && __FINITE_MATH_ONLY__ > 0
+
+478 \ 2
+       ~<b\99s/m©h-f\9a\99e.h
+>
+
+481 #ifdeà
+__USE_ISOC99
+
+
+485 #iâdeà
+isg»©\94
+
+
+486 \ 1
+       #isg»©\94
+(
+x
+, 
+y
+) \
+
+487 (
+__ex\8bnsiÚ__
+ \
+
+488 ({ 
+       `__ty³of__
+(
+x
+__x
+ = (x); __ty³of__(
+y
+__y
+ = (y); \
+
+489 !
+       `isunÜd\94ed
+ (
+__x
+, 
+__y
+è&& __x > __y; 
+       }
+}))
+
+       )
+
+493 #iâdeà
+isg»©\94equ®
+
+
+494 \ 1
+       #isg»©\94equ®
+(
+x
+, 
+y
+) \
+
+495 (
+__ex\8bnsiÚ__
+ \
+
+496 ({ 
+       `__ty³of__
+(
+x
+__x
+ = (x); __ty³of__(
+y
+__y
+ = (y); \
+
+497 !
+       `isunÜd\94ed
+ (
+__x
+, 
+__y
+è&& __x >ð__y; }))
+
+       )
+
+501 #iâdeà
+i¦ess
+
+
+502 \ 1
+       #i¦ess
+(
+x
+, 
+y
+) \
+
+503 (
+__ex\8bnsiÚ__
+ \
+
+504 ({ 
+       `__ty³of__
+(
+x
+__x
+ = (x); __ty³of__(
+y
+__y
+ = (y); \
+
+505 !
+       `isunÜd\94ed
+ (
+__x
+, 
+__y
+è&& __x < __y; }))
+
+       )
+
+509 #iâdeà
+i¦es£qu®
+
+
+510 \ 1
+       #i¦es£qu®
+(
+x
+, 
+y
+) \
+
+511 (
+__ex\8bnsiÚ__
+ \
+
+512 ({ 
+       `__ty³of__
+(
+x
+__x
+ = (x); __ty³of__(
+y
+__y
+ = (y); \
+
+513 !
+       `isunÜd\94ed
+ (
+__x
+, 
+__y
+è&& __x <ð__y; }))
+
+       )
+
+517 #iâdeà
+i¦essg»©\94
+
+
+518 \ 1
+       #i¦essg»©\94
+(
+x
+, 
+y
+) \
+
+519 (
+__ex\8bnsiÚ__
+ \
+
+520 ({ 
+       `__ty³of__
+(
+x
+__x
+ = (x); __ty³of__(
+y
+__y
+ = (y); \
+
+521 !
+       `isunÜd\94ed
+ (
+__x
+, 
+__y
+è&& (__x < __y || __y < __x); }))
+
+       )
+
+525 #iâdeà
+isunÜd\94ed
+
+
+526 \ 1
+       #isunÜd\94ed
+(
+u
+, 
+v
+) \
+
+527 (
+__ex\8bnsiÚ__
+ \
+
+528 ({ 
+       `__ty³of__
+(
+u
+__u
+ = (u); __ty³of__(
+v
+__v
+ = (v); \
+
+529 
+       `åþassify
+ (
+__u
+è=ð
+FP_NAN
+ || fpþassify (
+__v
+è=ðFP_NAN; }))
+
+       )
+
+534 
+       g__END_DECLS
+
+
+       @/usr/include/netinet/in.h
+
+18 #iâdef 
+_NETINET_IN_H
+
+
+19 \ 1
+       #_NETINET_IN_H
+ 1
+
+       )
+
+21 \ 2
+       ~<ã©u»s.h
+>
+
+22 \ 2
+       ~<¡d\9at.h
+>
+
+23 \ 2
+       ~<sys/sock\91.h
+>
+
+24 \ 2
+       ~<b\99s/ty³s.h
+>
+
+27 
+__BEGIN_DECLS
+
+
+30 \e
+u\9at32_t
+       t\9a_addr_t
+;
+
+31 \19
+       s\9a_addr
+
+
+33 
+\9a_addr_t
+       ms_addr
+;
+
+37 \ 2
+       ~<b\99s/\9a.h
+>
+
+42 
+       mIPPROTO_IP
+ = 0,
+
+43 \ 1
+       #IPPROTO_IP
+IPPROTO_IP
+
+
+       )
+
+44 
+       mIPPROTO_ICMP
+ = 1,
+
+45 \ 1
+       #IPPROTO_ICMP
+IPPROTO_ICMP
+
+
+       )
+
+46 
+       mIPPROTO_IGMP
+ = 2,
+
+47 \ 1
+       #IPPROTO_IGMP
+IPPROTO_IGMP
+
+
+       )
+
+48 
+       mIPPROTO_IPIP
+ = 4,
+
+49 \ 1
+       #IPPROTO_IPIP
+IPPROTO_IPIP
+
+
+       )
+
+50 
+       mIPPROTO_TCP
+ = 6,
+
+51 \ 1
+       #IPPROTO_TCP
+IPPROTO_TCP
+
+
+       )
+
+52 
+       mIPPROTO_EGP
+ = 8,
+
+53 \ 1
+       #IPPROTO_EGP
+IPPROTO_EGP
+
+
+       )
+
+54 
+       mIPPROTO_PUP
+ = 12,
+
+55 \ 1
+       #IPPROTO_PUP
+IPPROTO_PUP
+
+
+       )
+
+56 
+       mIPPROTO_UDP
+ = 17,
+
+57 \ 1
+       #IPPROTO_UDP
+IPPROTO_UDP
+
+
+       )
+
+58 
+       mIPPROTO_IDP
+ = 22,
+
+59 \ 1
+       #IPPROTO_IDP
+IPPROTO_IDP
+
+
+       )
+
+60 
+       mIPPROTO_TP
+ = 29,
+
+61 \ 1
+       #IPPROTO_TP
+IPPROTO_TP
+
+
+       )
+
+62 
+       mIPPROTO_DCCP
+ = 33,
+
+63 \ 1
+       #IPPROTO_DCCP
+IPPROTO_DCCP
+
+
+       )
+
+64 
+       mIPPROTO_IPV6
+ = 41,
+
+65 \ 1
+       #IPPROTO_IPV6
+IPPROTO_IPV6
+
+
+       )
+
+66 
+       mIPPROTO_RSVP
+ = 46,
+
+67 \ 1
+       #IPPROTO_RSVP
+IPPROTO_RSVP
+
+
+       )
+
+68 
+       mIPPROTO_GRE
+ = 47,
+
+69 \ 1
+       #IPPROTO_GRE
+IPPROTO_GRE
+
+
+       )
+
+70 
+       mIPPROTO_ESP
+ = 50,
+
+71 \ 1
+       #IPPROTO_ESP
+IPPROTO_ESP
+
+
+       )
+
+72 
+       mIPPROTO_AH
+ = 51,
+
+73 \ 1
+       #IPPROTO_AH
+IPPROTO_AH
+
+
+       )
+
+74 
+       mIPPROTO_MTP
+ = 92,
+
+75 \ 1
+       #IPPROTO_MTP
+IPPROTO_MTP
+
+
+       )
+
+76 
+       mIPPROTO_BEETPH
+ = 94,
+
+77 \ 1
+       #IPPROTO_BEETPH
+IPPROTO_BEETPH
+
+
+       )
+
+78 
+       mIPPROTO_ENCAP
+ = 98,
+
+79 \ 1
+       #IPPROTO_ENCAP
+IPPROTO_ENCAP
+
+
+       )
+
+80 
+       mIPPROTO_PIM
+ = 103,
+
+81 \ 1
+       #IPPROTO_PIM
+IPPROTO_PIM
+
+
+       )
+
+82 
+       mIPPROTO_COMP
+ = 108,
+
+83 \ 1
+       #IPPROTO_COMP
+IPPROTO_COMP
+
+
+       )
+
+84 
+       mIPPROTO_SCTP
+ = 132,
+
+85 \ 1
+       #IPPROTO_SCTP
+IPPROTO_SCTP
+
+
+       )
+
+86 
+       mIPPROTO_UDPLITE
+ = 136,
+
+87 \ 1
+       #IPPROTO_UDPLITE
+IPPROTO_UDPLITE
+
+
+       )
+
+88 
+       mIPPROTO_MPLS
+ = 137,
+
+89 \ 1
+       #IPPROTO_MPLS
+IPPROTO_MPLS
+
+
+       )
+
+90 
+       mIPPROTO_RAW
+ = 255,
+
+91 \ 1
+       #IPPROTO_RAW
+IPPROTO_RAW
+
+
+       )
+
+92 
+       mIPPROTO_MAX
+
+
+98 #iâdeà
+__USE_KERNEL_IPV6_DEFS
+
+
+101 
+       mIPPROTO_HOPOPTS
+ = 0,
+
+102 \ 1
+       #IPPROTO_HOPOPTS
+IPPROTO_HOPOPTS
+
+
+       )
+
+103 
+       mIPPROTO_ROUTING
+ = 43,
+
+104 \ 1
+       #IPPROTO_ROUTING
+IPPROTO_ROUTING
+
+
+       )
+
+105 
+       mIPPROTO_FRAGMENT
+ = 44,
+
+106 \ 1
+       #IPPROTO_FRAGMENT
+IPPROTO_FRAGMENT
+
+
+       )
+
+107 
+       mIPPROTO_ICMPV6
+ = 58,
+
+108 \ 1
+       #IPPROTO_ICMPV6
+IPPROTO_ICMPV6
+
+
+       )
+
+109 
+       mIPPROTO_NONE
+ = 59,
+
+110 \ 1
+       #IPPROTO_NONE
+IPPROTO_NONE
+
+
+       )
+
+111 
+       mIPPROTO_DSTOPTS
+ = 60,
+
+112 \ 1
+       #IPPROTO_DSTOPTS
+IPPROTO_DSTOPTS
+
+
+       )
+
+113 
+       mIPPROTO_MH
+ = 135
+
+114 \ 1
+       #IPPROTO_MH
+IPPROTO_MH
+
+
+       )
+
+119 \e
+u\9at16_t
+       t\9a_pÜt_t
+;
+
+124 
+       mIPPORT_ECHO
+ = 7,
+
+125 
+       mIPPORT_DISCARD
+ = 9,
+
+126 
+       mIPPORT_SYSTAT
+ = 11,
+
+127 
+       mIPPORT_DAYTIME
+ = 13,
+
+128 
+       mIPPORT_NETSTAT
+ = 15,
+
+129 
+       mIPPORT_FTP
+ = 21,
+
+130 
+       mIPPORT_TELNET
+ = 23,
+
+131 
+       mIPPORT_SMTP
+ = 25,
+
+132 
+       mIPPORT_TIMESERVER
+ = 37,
+
+133 
+       mIPPORT_NAMESERVER
+ = 42,
+
+134 
+       mIPPORT_WHOIS
+ = 43,
+
+135 
+       mIPPORT_MTP
+ = 57,
+
+137 
+       mIPPORT_TFTP
+ = 69,
+
+138 
+       mIPPORT_RJE
+ = 77,
+
+139 
+       mIPPORT_FINGER
+ = 79,
+
+140 
+       mIPPORT_TTYLINK
+ = 87,
+
+141 
+       mIPPORT_SUPDUP
+ = 95,
+
+144 
+       mIPPORT_EXECSERVER
+ = 512,
+
+145 
+       mIPPORT_LOGINSERVER
+ = 513,
+
+146 
+       mIPPORT_CMDSERVER
+ = 514,
+
+147 
+       mIPPORT_EFSSERVER
+ = 520,
+
+150 
+       mIPPORT_BIFFUDP
+ = 512,
+
+151 
+       mIPPORT_WHOSERVER
+ = 513,
+
+152 
+       mIPPORT_ROUTESERVER
+ = 520,
+
+155 
+       mIPPORT_RESERVED
+ = 1024,
+
+158 
+       mIPPORT_USERRESERVED
+ = 5000
+
+166 \ 1
+       #IN_CLASSA
+(
+a
+è((((
+\9a_addr_t
+)×)è& 0x80000000è=ð0)
+
+       )
+
+167 \ 1
+       #IN_CLASSA_NET
+ 0xff000000
+
+       )
+
+168 \ 1
+       #IN_CLASSA_NSHIFT
+ 24
+
+       )
+
+169 \ 1
+       #IN_CLASSA_HOST
+ (0xfffffffà& ~
+IN_CLASSA_NET
+)
+
+       )
+
+170 \ 1
+       #IN_CLASSA_MAX
+ 128
+
+       )
+
+172 \ 1
+       #IN_CLASSB
+(
+a
+è((((
+\9a_addr_t
+)×)è& 0xc0000000è=ð0x80000000)
+
+       )
+
+173 \ 1
+       #IN_CLASSB_NET
+ 0xffff0000
+
+       )
+
+174 \ 1
+       #IN_CLASSB_NSHIFT
+ 16
+
+       )
+
+175 \ 1
+       #IN_CLASSB_HOST
+ (0xfffffffà& ~
+IN_CLASSB_NET
+)
+
+       )
+
+176 \ 1
+       #IN_CLASSB_MAX
+ 65536
+
+       )
+
+178 \ 1
+       #IN_CLASSC
+(
+a
+è((((
+\9a_addr_t
+)×)è& 0xe0000000è=ð0xc0000000)
+
+       )
+
+179 \ 1
+       #IN_CLASSC_NET
+ 0xffffff00
+
+       )
+
+180 \ 1
+       #IN_CLASSC_NSHIFT
+ 8
+
+       )
+
+181 \ 1
+       #IN_CLASSC_HOST
+ (0xfffffffà& ~
+IN_CLASSC_NET
+)
+
+       )
+
+183 \ 1
+       #IN_CLASSD
+(
+a
+è((((
+\9a_addr_t
+)×)è& 0xf0000000è=ð0xe0000000)
+
+       )
+
+184 \ 1
+       #IN_MULTICAST
+(
+a
+       `IN_CLASSD
+×)
+
+       )
+
+186 \ 1
+       #IN_EXPERIMENTAL
+(
+a
+è((((
+\9a_addr_t
+)×)è& 0xe0000000è=ð0xe0000000)
+
+       )
+
+187 \ 1
+       #IN_BADCLASS
+(
+a
+è((((
+\9a_addr_t
+)×)è& 0xf0000000è=ð0xf0000000)
+
+       )
+
+190 \ 1
+       #INADDR_ANY
+ ((
+\9a_addr_t
+è0x00000000)
+
+       )
+
+192 \ 1
+       #INADDR_BROADCAST
+ ((
+\9a_addr_t
+è0xffffffff)
+
+       )
+
+194 \ 1
+       #INADDR_NONE
+ ((
+\9a_addr_t
+è0xffffffff)
+
+       )
+
+197 \ 1
+       #IN_LOOPBACKNET
+ 127
+
+       )
+
+199 #iâdeà
+INADDR_LOOPBACK
+
+
+200 \ 1
+       #INADDR_LOOPBACK
+ ((
+\9a_addr_t
+è0x7f000001è
+
+       )
+
+204 \ 1
+       #INADDR_UNSPEC_GROUP
+ ((
+\9a_addr_t
+è0xe0000000è
+
+       )
+
+205 \ 1
+       #INADDR_ALLHOSTS_GROUP
+ ((
+\9a_addr_t
+è0xe0000001è
+
+       )
+
+206 \ 1
+       #INADDR_ALLRTRS_GROUP
+ ((
+\9a_addr_t
+è0xe0000002è
+
+       )
+
+207 \ 1
+       #INADDR_MAX_LOCAL_GROUP
+ ((
+\9a_addr_t
+è0xe00000ffè
+
+       )
+
+209 #iâdeà
+__USE_KERNEL_IPV6_DEFS
+
+
+211 \19
+       s\9a6_addr
+
+
+215 
+u\9at8_t
+       m__u6_addr8
+[16];
+
+216 #ifdeà
+__USE_MISC
+
+
+217 
+u\9at16_t
+       m__u6_addr16
+[8];
+
+218 
+u\9at32_t
+       m__u6_addr32
+[4];
+
+220 } 
+       m__\9a6_u
+;
+
+221 \ 1
+       #s6_addr
+__\9a6_u
+.
+__u6_addr8
+
+
+       )
+
+222 #ifdeà
+__USE_MISC
+
+
+223 \ 1
+       #s6_addr16
+__\9a6_u
+.
+__u6_addr16
+
+
+       )
+
+224 \ 1
+       #s6_addr32
+__\9a6_u
+.
+__u6_addr32
+
+
+       )
+
+229 \rcڡ \19
+\9a6_addr
+\9a6addr_ªy
+;
+
+230 \rcڡ \19
+\9a6_addr
+\9a6addr_loÝback
+;
+
+231 \ 1
+       #IN6ADDR_ANY_INIT
+ { { { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 } } }
+
+       )
+
+232 \ 1
+       #IN6ADDR_LOOPBACK_INIT
+ { { { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 } } }
+
+       )
+
+234 \ 1
+       #INET_ADDRSTRLEN
+ 16
+
+       )
+
+235 \ 1
+       #INET6_ADDRSTRLEN
+ 46
+
+       )
+
+239 \19
+       ssockaddr_\9a
+
+
+241 
+__SOCKADDR_COMMON
+ (
+s\9a_
+);
+
+242 
+\9a_pÜt_t
+       ms\9a_pÜt
+;
+
+243 \19
+\9a_addr
+       ms\9a_addr
+;
+
+246 \1d\ 5
+       ms\9a_z\94o
+[\17 (\19
+sockaddr
+) -
+
+247 
+__SOCKADDR_COMMON_SIZE
+ -
+
+248 \17 (
+\9a_pÜt_t
+) -
+
+249 \17 (\19
+\9a_addr
+)];
+
+252 #iâdeà
+__USE_KERNEL_IPV6_DEFS
+
+
+254 \19
+       ssockaddr_\9a6
+
+
+256 
+__SOCKADDR_COMMON
+ (
+s\9a6_
+);
+
+257 
+\9a_pÜt_t
+       ms\9a6_pÜt
+;
+
+258 
+u\9at32_t
+       ms\9a6_æow\9afo
+;
+
+259 \19
+\9a6_addr
+       ms\9a6_addr
+;
+
+260 
+u\9at32_t
+       ms\9a6_scÝe_id
+;
+
+264 #ifdeà
+__USE_MISC
+
+
+266 \19
+       s\9d_m»q
+
+
+269 \19
+\9a_addr
+       mimr_muɟddr
+;
+
+272 \19
+\9a_addr
+       mimr_\9a\8brçû
+;
+
+275 \19
+       s\9d_m»q_sourû
+
+
+278 \19
+\9a_addr
+       mimr_muɟddr
+;
+
+281 \19
+\9a_addr
+       mimr_\9a\8brçû
+;
+
+284 \19
+\9a_addr
+       mimr_sourûaddr
+;
+
+288 #iâdeà
+__USE_KERNEL_IPV6_DEFS
+
+
+290 \19
+       s\9dv6_m»q
+
+
+293 \19
+\9a6_addr
+       m\9dv6mr_muÉ\9fddr
+;
+
+296 \1d\12
+       m\9dv6mr_\9a\8brçû
+;
+
+300 #ifdeà
+__USE_MISC
+
+
+302 \19
+       sgroup_»q
+
+
+305 
+u\9at32_t
+       mgr_\9a\8brçû
+;
+
+308 \19
+sockaddr_¡Üage
+       mgr_group
+;
+
+311 \19
+       sgroup_sourû_»q
+
+
+314 
+u\9at32_t
+       mg¤_\9a\8brçû
+;
+
+317 \19
+sockaddr_¡Üage
+       mg¤_group
+;
+
+320 \19
+sockaddr_¡Üage
+       mg¤_sourû
+;
+
+325 \19
+       s\9d_msf\9e\8br
+
+
+328 \19
+\9a_addr
+       mimsf_muɟddr
+;
+
+331 \19
+\9a_addr
+       mimsf_\9a\8brçû
+;
+
+334 
+u\9at32_t
+       mimsf_fmode
+;
+
+337 
+u\9at32_t
+       mimsf_num¤c
+;
+
+339 \19
+\9a_addr
+       mimsf_¦i¡
+[1];
+
+342 \ 1
+       #IP_MSFILTER_SIZE
+(
+num¤c
+è(\17 (\19
+\9d_msf\9e\8br
+) \
+
+343 - \17 (\19
+\9a_addr
+) \
+
+344 + (
+num¤c
+è* \17 (\19
+\9a_addr
+))
+
+       )
+
+346 \19
+       sgroup_f\9e\8br
+
+
+349 
+u\9at32_t
+       mgf_\9a\8brçû
+;
+
+352 \19
+sockaddr_¡Üage
+       mgf_group
+;
+
+355 
+u\9at32_t
+       mgf_fmode
+;
+
+358 
+u\9at32_t
+       mgf_num¤c
+;
+
+360 \19
+sockaddr_¡Üage
+       mgf_¦i¡
+[1];
+
+363 \ 1
+       #GROUP_FILTER_SIZE
+(
+num¤c
+è(\17 (\19
+group_f\9e\8br
+) \
+
+364 - \17 (\19
+sockaddr_¡Üage
+) \
+
+365 + ((
+num¤c
+) \
+
+366 * \17 (\19
+sockaddr_¡Üage
+)))
+
+       )
+
+376 \r
+u\9at32_t
+       $Áohl
+ (
+u\9at32_t
+__Ã\8eÚg
+__THROW
+       `__©\8cibu\8b__
+ ((
+__cڡ__
+));
+
+377 \r
+u\9at16_t
+       $Áohs
+ (
+u\9at16_t
+__ÃtshÜt
+)
+
+378 
+__THROW
+       `__©\8cibu\8b__
+ ((
+__cڡ__
+));
+
+379 \r
+u\9at32_t
+       $htÚl
+ (
+u\9at32_t
+__ho¡lÚg
+)
+
+380 
+__THROW
+       `__©\8cibu\8b__
+ ((
+__cڡ__
+));
+
+381 \r
+u\9at16_t
+       $htÚs
+ (
+u\9at16_t
+__ho¡shÜt
+)
+
+382 
+__THROW
+       `__©\8cibu\8b__
+ ((
+__cڡ__
+));
+
+384 \ 2
+       ~<\92d\9fn.h
+>
+
+387 \ 2
+       ~<b\99s/by\8bsw­.h
+>
+
+389 #ifdeà
+__OPTIMIZE__
+
+
+393 #ià
+__BYTE_ORDER
+ =ð
+__BIG_ENDIAN
+
+
+396 \ 1
+       #Áohl
+(
+x
+è(x)
+
+       )
+
+397 \ 1
+       #Áohs
+(
+x
+è(x)
+
+       )
+
+398 \ 1
+       #htÚl
+(
+x
+è(x)
+
+       )
+
+399 \ 1
+       #htÚs
+(
+x
+è(x)
+
+       )
+
+401 #ià
+__BYTE_ORDER
+ =ð
+__LITTLE_ENDIAN
+
+
+402 \ 1
+       #Áohl
+(
+x
+       `__bsw­_32
+ (x)
+
+       )
+
+403 \ 1
+       #Áohs
+(
+x
+       `__bsw­_16
+ (x)
+
+       )
+
+404 \ 1
+       #htÚl
+(
+x
+       `__bsw­_32
+ (x)
+
+       )
+
+405 \ 1
+       #htÚs
+(
+x
+       `__bsw­_16
+ (x)
+
+       )
+
+410 #ifdeà
+__GNUC__
+
+
+411 \ 1
+       #IN6_IS_ADDR_UNSPECIFIED
+(
+a
+) \
+
+412 (
+__ex\8bnsiÚ__
+ \
+
+413 ({ cڡ \19
+\9a6_addr
+ *
+__a
+ = (cÚ¡ \19\9a6_add¸*è(
+a
+); \
+
+414 
+__a
+->
+s6_addr32
+[0] == 0 \
+
+415 && 
+__a
+->
+s6_addr32
+[1] == 0 \
+
+416 && 
+__a
+->
+s6_addr32
+[2] == 0 \
+
+417 && 
+__a
+->
+s6_addr32
+[3] =ð0; 
+       }
+}))
+
+       )
+
+419 \ 1
+       #IN6_IS_ADDR_LOOPBACK
+(
+a
+) \
+
+420 (
+__ex\8bnsiÚ__
+ \
+
+421 ({ cڡ \19
+\9a6_addr
+ *
+__a
+ = (cÚ¡ \19\9a6_add¸*è(
+a
+); \
+
+422 
+__a
+->
+s6_addr32
+[0] == 0 \
+
+423 && 
+__a
+->
+s6_addr32
+[1] == 0 \
+
+424 && 
+__a
+->
+s6_addr32
+[2] == 0 \
+
+425 && 
+__a
+->
+s6_addr32
+[3] =ð
+       `htÚl
+ (1); }))
+
+       )
+
+427 \ 1
+       #IN6_IS_ADDR_LINKLOCAL
+(
+a
+) \
+
+428 (
+__ex\8bnsiÚ__
+ \
+
+429 ({ cڡ \19
+\9a6_addr
+ *
+__a
+ = (cÚ¡ \19\9a6_add¸*è(
+a
+); \
+
+430 (
+__a
+->
+s6_addr32
+[0] & 
+       `htÚl
+ (0xffc00000)è=ðhtÚÈ(0xã800000); }))
+
+       )
+
+432 \ 1
+       #IN6_IS_ADDR_SITELOCAL
+(
+a
+) \
+
+433 (
+__ex\8bnsiÚ__
+ \
+
+434 ({ cڡ \19
+\9a6_addr
+ *
+__a
+ = (cÚ¡ \19\9a6_add¸*è(
+a
+); \
+
+435 (
+__a
+->
+s6_addr32
+[0] & 
+       `htÚl
+ (0xffc00000)è=ðhtÚÈ(0xãc00000); }))
+
+       )
+
+437 \ 1
+       #IN6_IS_ADDR_V4MAPPED
+(
+a
+) \
+
+438 (
+__ex\8bnsiÚ__
+ \
+
+439 ({ cڡ \19
+\9a6_addr
+ *
+__a
+ = (cÚ¡ \19\9a6_add¸*è(
+a
+); \
+
+440 
+__a
+->
+s6_addr32
+[0] == 0 \
+
+441 && 
+__a
+->
+s6_addr32
+[1] == 0 \
+
+442 && 
+__a
+->
+s6_addr32
+[2] =ð
+       `htÚl
+ (0xffff); }))
+
+       )
+
+444 \ 1
+       #IN6_IS_ADDR_V4COMPAT
+(
+a
+) \
+
+445 (
+__ex\8bnsiÚ__
+ \
+
+446 ({ cڡ \19
+\9a6_addr
+ *
+__a
+ = (cÚ¡ \19\9a6_add¸*è(
+a
+); \
+
+447 
+__a
+->
+s6_addr32
+[0] == 0 \
+
+448 && 
+__a
+->
+s6_addr32
+[1] == 0 \
+
+449 && 
+__a
+->
+s6_addr32
+[2] == 0 \
+
+450 && 
+       `Áohl
+ (
+__a
+->
+s6_addr32
+[3]è> 1; }))
+
+       )
+
+452 \ 1
+       #IN6_ARE_ADDR_EQUAL
+(
+a
+,
+b
+) \
+
+453 (
+__ex\8bnsiÚ__
+ \
+
+454 ({ cڡ \19
+\9a6_addr
+ *
+__a
+ = (cÚ¡ \19\9a6_add¸*è(
+a
+); \
+
+455 cڡ \19
+\9a6_addr
+ *
+__b
+ = (cÚ¡ \19\9a6_add¸*è(
+b
+); \
+
+456 
+__a
+->
+s6_addr32
+[0] =ð
+__b
+->s6_addr32[0] \
+
+457 && 
+__a
+->
+s6_addr32
+[1] =ð
+__b
+->s6_addr32[1] \
+
+458 && 
+__a
+->
+s6_addr32
+[2] =ð
+__b
+->s6_addr32[2] \
+
+459 && 
+__a
+->
+s6_addr32
+[3] =ð
+__b
+->s6_addr32[3]; }))
+
+       )
+
+461 \ 1
+       #IN6_IS_ADDR_UNSPECIFIED
+(
+a
+) \
+
+462 (((cڡ 
+u\9at32_t
+ *è(
+a
+))[0] == 0 \
+
+463 && ((cڡ 
+u\9at32_t
+ *è(
+a
+))[1] == 0 \
+
+464 && ((cڡ 
+u\9at32_t
+ *è(
+a
+))[2] == 0 \
+
+465 && ((cڡ 
+u\9at32_t
+ *è(
+a
+))[3] =ð0)
+
+       )
+
+467 \ 1
+       #IN6_IS_ADDR_LOOPBACK
+(
+a
+) \
+
+468 (((cڡ 
+u\9at32_t
+ *è(
+a
+))[0] == 0 \
+
+469 && ((cڡ 
+u\9at32_t
+ *è(
+a
+))[1] == 0 \
+
+470 && ((cڡ 
+u\9at32_t
+ *è(
+a
+))[2] == 0 \
+
+471 && ((cڡ 
+u\9at32_t
+ *è(
+a
+))[3] =ð
+       `htÚl
+ (1))
+
+       )
+
+473 \ 1
+       #IN6_IS_ADDR_LINKLOCAL
+(
+a
+) \
+
+474 ((((cڡ 
+u\9at32_t
+ *è(
+a
+))[0] & 
+       `htÚl
+ (0xffc00000)) \
+
+475 =ð
+       `htÚl
+ (0xã800000))
+
+       )
+
+477 \ 1
+       #IN6_IS_ADDR_SITELOCAL
+(
+a
+) \
+
+478 ((((cڡ 
+u\9at32_t
+ *è(
+a
+))[0] & 
+       `htÚl
+ (0xffc00000)) \
+
+479 =ð
+       `htÚl
+ (0xãc00000))
+
+       )
+
+481 \ 1
+       #IN6_IS_ADDR_V4MAPPED
+(
+a
+) \
+
+482 ((((cڡ 
+u\9at32_t
+ *è(
+a
+))[0] == 0) \
+
+483 && (((cڡ 
+u\9at32_t
+ *è(
+a
+))[1] == 0) \
+
+484 && (((cڡ 
+u\9at32_t
+ *è(
+a
+))[2] =ð
+       `htÚl
+ (0xffff)))
+
+       )
+
+486 \ 1
+       #IN6_IS_ADDR_V4COMPAT
+(
+a
+) \
+
+487 ((((cڡ 
+u\9at32_t
+ *è(
+a
+))[0] == 0) \
+
+488 && (((cڡ 
+u\9at32_t
+ *è(
+a
+))[1] == 0) \
+
+489 && (((cڡ 
+u\9at32_t
+ *è(
+a
+))[2] == 0) \
+
+490 && (
+       `Áohl
+ (((cڡ 
+u\9at32_t
+ *è(
+a
+))[3]è> 1))
+
+       )
+
+492 \ 1
+       #IN6_ARE_ADDR_EQUAL
+(
+a
+,
+b
+) \
+
+493 ((((cڡ 
+u\9at32_t
+ *è(
+a
+))[0] =ð((cÚ¡ u\9at32_\88*è(
+b
+))[0]) \
+
+494 && (((cڡ 
+u\9at32_t
+ *è(
+a
+))[1] =ð((cÚ¡ u\9at32_\88*è(
+b
+))[1]) \
+
+495 && (((cڡ 
+u\9at32_t
+ *è(
+a
+))[2] =ð((cÚ¡ u\9at32_\88*è(
+b
+))[2]) \
+
+496 && (((cڡ 
+u\9at32_t
+ *è(
+a
+))[3] =ð((cÚ¡ u\9at32_\88*è(
+b
+))[3]))
+
+       )
+
+499 \ 1
+       #IN6_IS_ADDR_MULTICAST
+(
+a
+è(((cÚ¡ 
+u\9at8_t
+ *è×))[0] =ð0xff)
+
+       )
+
+501 #ifdeà
+__USE_MISC
+
+
+503 \r\12
+       $b\9ad»svpÜt
+ (\12
+__sockfd
+, \19
+sockaddr_\9a
+ *
+__sock_\9a
+__THROW
+;
+
+506 \r\12
+       $b\9ad»svpÜt6
+ (\12
+__sockfd
+, \19
+sockaddr_\9a6
+ *
+__sock_\9a
+)
+
+507 
+__THROW
+;
+
+511 \ 1
+       #IN6_IS_ADDR_MC_NODELOCAL
+(
+a
+) \
+
+512 (
+       `IN6_IS_ADDR_MULTICAST
+(
+a
+) \
+
+513 && ((((cڡ 
+u\9at8_t
+ *è(
+a
+))[1] & 0xfè=ð0x1))
+
+       )
+
+515 \ 1
+       #IN6_IS_ADDR_MC_LINKLOCAL
+(
+a
+) \
+
+516 (
+       `IN6_IS_ADDR_MULTICAST
+(
+a
+) \
+
+517 && ((((cڡ 
+u\9at8_t
+ *è(
+a
+))[1] & 0xfè=ð0x2))
+
+       )
+
+519 \ 1
+       #IN6_IS_ADDR_MC_SITELOCAL
+(
+a
+) \
+
+520 (
+       `IN6_IS_ADDR_MULTICAST
+(
+a
+) \
+
+521 && ((((cڡ 
+u\9at8_t
+ *è(
+a
+))[1] & 0xfè=ð0x5))
+
+       )
+
+523 \ 1
+       #IN6_IS_ADDR_MC_ORGLOCAL
+(
+a
+) \
+
+524 (
+       `IN6_IS_ADDR_MULTICAST
+(
+a
+) \
+
+525 && ((((cڡ 
+u\9at8_t
+ *è(
+a
+))[1] & 0xfè=ð0x8))
+
+       )
+
+527 \ 1
+       #IN6_IS_ADDR_MC_GLOBAL
+(
+a
+) \
+
+528 (
+       `IN6_IS_ADDR_MULTICAST
+(
+a
+) \
+
+529 && ((((cڡ 
+u\9at8_t
+ *è(
+a
+))[1] & 0xfè=ð0xe))
+
+       )
+
+532 #ifdeà
+__USE_GNU
+
+
+533 \19
+cmsghdr
+;
+
+535 #iâdeà
+__USE_KERNEL_IPV6_DEFS
+
+
+537 \19
+       s\9a6_pkt\9afo
+
+
+539 \19
+\9a6_addr
+\9di6_addr
+;
+
+540 \1d\12
+\9di6_if\9adex
+;
+
+544 \19
+       s\9d6_mtu\9afo
+
+
+546 \19
+sockaddr_\9a6
+\9d6m_addr
+;
+
+547 
+u\9at32_t
+\9d6m_mtu
+;
+
+552 \r\12
+       $\9a\916_ÝtiÚ_¥aû
+ (\12
+__nby\8bs
+)
+
+553 
+__THROW
+__©\8cibu\8b_d\95»ÿ\8bd__
+;
+
+554 \r\12
+       $\9a\916_ÝtiÚ_\9a\99
+ (\1e*
+__bp
+, \19
+cmsghdr
+ **
+__cmsgp
+,
+
+555 \12
+__ty³
+__THROW
+__©\8cibu\8b_d\95»ÿ\8bd__
+;
+
+556 \r\12
+       $\9a\916_ÝtiÚ_­³nd
+ (\19
+cmsghdr
+ *
+__cmsg
+,
+
+557 cڡ 
+u\9at8_t
+ *
+__ty³p
+, \12
+__muÉx
+,
+
+558 \12
+__¶usy
+__THROW
+__©\8cibu\8b_d\95»ÿ\8bd__
+;
+
+559 \r
+u\9at8_t
+ *
+       $\9a\916_ÝtiÚ_®loc
+ (\19
+cmsghdr
+ *
+__cmsg
+, \12
+__d©®\92
+,
+
+560 \12
+__muÉx
+, \12
+__¶usy
+)
+
+561 
+__THROW
+__©\8cibu\8b_d\95»ÿ\8bd__
+;
+
+562 \r\12
+       $\9a\916_ÝtiÚ_Ãxt
+ (cڡ \19
+cmsghdr
+ *
+__cmsg
+,
+
+563 
+u\9at8_t
+ **
+__\8d\8cp
+)
+
+564 
+__THROW
+__©\8cibu\8b_d\95»ÿ\8bd__
+;
+
+565 \r\12
+       $\9a\916_ÝtiÚ_f\9ad
+ (cڡ \19
+cmsghdr
+ *
+__cmsg
+,
+
+566 
+u\9at8_t
+ **
+__\8d\8cp
+, \12
+__ty³
+)
+
+567 
+__THROW
+__©\8cibu\8b_d\95»ÿ\8bd__
+;
+
+571 \r\12
+       $\9a\916_Ýt_\9a\99
+ (\1e*
+__extbuf
+, 
+sockËn_t
+__ex\8e\92
+__THROW
+;
+
+572 \r\12
+       $\9a\916_Ýt_­³nd
+ (\1e*
+__extbuf
+, 
+sockËn_t
+__ex\8e\92
+, \12
+__off£t
+,
+
+573 
+u\9at8_t
+__ty³
+, 
+sockËn_t
+__Ën
+, u\9at8_\88
+__®ign
+,
+
+574 \1e**
+__d©abuå
+__THROW
+;
+
+575 \r\12
+       $\9a\916_Ýt_f\9aish
+ (\1e*
+__extbuf
+, 
+sockËn_t
+__ex\8e\92
+, \12
+__off£t
+)
+
+576 
+__THROW
+;
+
+577 \r\12
+       $\9a\916_Ýt_£t_v®
+ (\1e*
+__d©abuf
+, \12
+__off£t
+, \1e*
+__v®
+,
+
+578 
+sockËn_t
+__v®Ën
+__THROW
+;
+
+579 \r\12
+       $\9a\916_Ýt_Ãxt
+ (\1e*
+__extbuf
+, 
+sockËn_t
+__ex\8e\92
+, \12
+__off£t
+,
+
+580 
+u\9at8_t
+ *
+__ty³p
+, 
+sockËn_t
+ *
+__ËÅ
+,
+
+581 \1e**
+__d©abuå
+__THROW
+;
+
+582 \r\12
+       $\9a\916_Ýt_f\9ad
+ (\1e*
+__extbuf
+, 
+sockËn_t
+__ex\8e\92
+, \12
+__off£t
+,
+
+583 
+u\9at8_t
+__ty³
+, 
+sockËn_t
+ *
+__ËÅ
+,
+
+584 \1e**
+__d©abuå
+__THROW
+;
+
+585 \r\12
+       $\9a\916_Ýt_g\91_v®
+ (\1e*
+__d©abuf
+, \12
+__off£t
+, \1e*
+__v®
+,
+
+586 
+sockËn_t
+__v®Ën
+__THROW
+;
+
+590 \r
+sockËn_t
+       $\9a\916_¹h_¥aû
+ (\12
+__ty³
+, \12
+__£gm\92ts
+__THROW
+;
+
+591 \r\1e*
+       $\9a\916_¹h_\9a\99
+ (\1e*
+__bp
+, 
+sockËn_t
+__bp_Ën
+, \12
+__ty³
+,
+
+592 \12
+__£gm\92ts
+__THROW
+;
+
+593 \r\12
+       $\9a\916_¹h_add
+ (\1e*
+__bp
+, cڡ \19
+\9a6_addr
+ *
+__addr
+__THROW
+;
+
+594 \r\12
+       $\9a\916_¹h_»v\94£
+ (cڡ \1e*
+__\9a
+, \1e*
+__out
+__THROW
+;
+
+595 \r\12
+       $\9a\916_¹h_£gm\92ts
+ (cڡ \1e*
+__bp
+__THROW
+;
+
+596 \r\19
+\9a6_addr
+ *
+       $\9a\916_¹h_g\91addr
+ (cڡ \1e*
+__bp
+, \12
+__\9adex
+)
+
+597 
+__THROW
+;
+
+603 \r\12
+       $g\91\9dv4sourûf\9e\8br
+ (\12
+__s
+, \19
+\9a_addr
+__\9a\8brçû_addr
+,
+
+604 \19
+\9a_addr
+__group
+, 
+u\9at32_t
+ *
+__fmode
+,
+
+605 
+u\9at32_t
+ *
+__num¤c
+, \19
+\9a_addr
+ *
+__¦i¡
+)
+
+606 
+__THROW
+;
+
+609 \r\12
+       $£t\9dv4sourûf\9e\8br
+ (\12
+__s
+, \19
+\9a_addr
+__\9a\8brçû_addr
+,
+
+610 \19
+\9a_addr
+__group
+, 
+u\9at32_t
+__fmode
+,
+
+611 
+u\9at32_t
+__num¤c
+,
+
+612 cڡ \19
+\9a_addr
+ *
+__¦i¡
+)
+
+613 
+__THROW
+;
+
+617 \r\12
+       $g\91sourûf\9e\8br
+ (\12
+__s
+, 
+u\9at32_t
+__\9a\8brçû_addr
+,
+
+618 cڡ \19
+sockaddr
+ *
+__group
+,
+
+619 
+sockËn_t
+__grou¶\92
+, 
+u\9at32_t
+ *
+__fmode
+,
+
+620 
+u\9at32_t
+ *
+__num¤c
+,
+
+621 \19
+sockaddr_¡Üage
+ *
+__¦i¡
+__THROW
+;
+
+624 \r\12
+       $£tsourûf\9e\8br
+ (\12
+__s
+, 
+u\9at32_t
+__\9a\8brçû_addr
+,
+
+625 cڡ \19
+sockaddr
+ *
+__group
+,
+
+626 
+sockËn_t
+__grou¶\92
+, 
+u\9at32_t
+__fmode
+,
+
+627 
+u\9at32_t
+__num¤c
+,
+
+628 cڡ \19
+sockaddr_¡Üage
+ *
+__¦i¡
+__THROW
+;
+
+631 
+__END_DECLS
+
+
+       @/usr/include/setjmp.h
+
+22 #iâdef 
+_SETJMP_H
+
+
+23 \ 1
+       #_SETJMP_H
+ 1
+
+       )
+
+25 \ 2
+       ~<ã©u»s.h
+>
+
+27 
+       g__BEGIN_DECLS
+
+
+29 \ 2
+       ~<b\99s/£tjmp.h
+>
+
+30 \ 2
+       ~<b\99s/sig£t.h
+>
+
+34 \19
+       s__jmp_buf_\8fg
+
+
+40 
+__jmp_buf
+       m__jmpbuf
+;
+
+41 \12
+       m__mask_was_§ved
+;
+
+42 
+__sig£t_t
+       m__§ved_mask
+;
+
+46 
+__BEGIN_NAMESPACE_STD
+
+
+48 \e\19
+__jmp_buf_\8fg
+       tjmp_buf
+[1];
+
+52 \r\12
+       $£tjmp
+ (
+jmp_buf
+__\92v
+__THROWNL
+;
+
+54 
+__END_NAMESPACE_STD
+
+
+59 \r\12
+       $__sig£tjmp
+ (\19
+__jmp_buf_\8fg
+__\92v
+[1], \12
+__§vemask
+__THROWNL
+;
+
+63 \r\12
+       $_£tjmp
+ (\19
+__jmp_buf_\8fg
+__\92v
+[1]è
+__THROWNL
+;
+
+67 \ 1
+       #£tjmp
+(
+\92v
+       `_£tjmp
+ (\92v)
+
+       )
+
+70 
+__BEGIN_NAMESPACE_STD
+
+
+74 \r\1e
+       $lÚgjmp
+ (\19
+__jmp_buf_\8fg
+__\92v
+[1], \12
+__v®
+)
+
+75 
+__THROWNL
+       `__©\8cibu\8b__
+ ((
+__nÜ\91uº__
+));
+
+77 
+__END_NAMESPACE_STD
+
+
+79 #ià
+def\9aed
+__USE_MISC
+ || def\9aed 
+__USE_XOPEN
+
+
+83 \r\1e
+       $_lÚgjmp
+ (\19
+__jmp_buf_\8fg
+__\92v
+[1], \12
+__v®
+)
+
+84 
+__THROWNL
+       `__©\8cibu\8b__
+ ((
+__nÜ\91uº__
+));
+
+88 #ifdef 
+__USE_POSIX
+
+
+92 \e\19
+__jmp_buf_\8fg
+       tsigjmp_buf
+[1];
+
+96 \ 1
+       #sig£tjmp
+(
+\92v
+, 
+§vemask
+       `__sig£tjmp
+ (\92v, savemask)
+
+       )
+
+102 \r\1e
+       $siglÚgjmp
+ (
+sigjmp_buf
+__\92v
+, \12
+__v®
+)
+
+103 
+__THROWNL
+       `__©\8cibu\8b__
+ ((
+__nÜ\91uº__
+));
+
+108 #ià
+__USE_FORTIFY_LEVEL
+ > 0
+
+109 \ 2
+       ~<b\99s/£tjmp2.h
+>
+
+112 
+__END_DECLS
+
+
+       @/usr/include/signal.h
+
+22 #iâdef 
+_SIGNAL_H
+
+
+24 #ià!
+def\9aed
+__Ãed_sig_©omic_t
+ && !def\9aed 
+__Ãed_sig£t_t
+
+
+25 \ 1
+       #_SIGNAL_H
+
+
+       )
+
+28 \ 2
+       ~<ã©u»s.h
+>
+
+30 
+       g__BEGIN_DECLS
+
+
+32 \ 2
+       ~<b\99s/sig£t.h
+>
+
+36 #ià
+def\9aed
+__Ãed_sig_©omic_t
+ || def\9aed 
+_SIGNAL_H
+
+
+37 #iâdeà
+__sig_©omic_t_def\9aed
+
+
+38 \ 1
+       #__sig_©omic_t_def\9aed
+
+
+       )
+
+39 
+__BEGIN_NAMESPACE_STD
+
+
+40 \e
+__sig_©omic_t
+       tsig_©omic_t
+;
+
+41 
+       g__END_NAMESPACE_STD
+
+
+43 #undeà
+__Ãed_sig_©omic_t
+
+
+46 #ià
+def\9aed
+__Ãed_sig£t_t
+ || (def\9aed 
+_SIGNAL_H
+ && def\9aed 
+__USE_POSIX
+)
+
+47 #iâdeà
+__sig£t_t_def\9aed
+
+
+48 \ 1
+       #__sig£t_t_def\9aed
+
+
+       )
+
+49 \e
+__sig£t_t
+       tsig£t_t
+;
+
+51 #undeà
+__Ãed_sig£t_t
+
+
+54 #ifdeà
+_SIGNAL_H
+
+
+56 \ 2
+       ~<b\99s/ty³s.h
+>
+
+57 \ 2
+       ~<b\99s/signum.h
+>
+
+59 #ià
+def\9aed
+__USE_XOPEN
+ || def\9aed 
+__USE_XOPEN2K
+
+
+60 #iâdeà
+__pid_t_def\9aed
+
+
+61 \e
+__pid_t
+       tpid_t
+;
+
+62 \ 1
+       #__pid_t_def\9aed
+
+
+       )
+
+64 #ifdeà
+__USE_XOPEN
+
+
+66 #iâdeà
+__uid_t_def\9aed
+
+
+67 \e
+__uid_t
+       tuid_t
+;
+
+68 \ 1
+       #__uid_t_def\9aed
+
+
+       )
+
+72 #ifdeà
+__USE_POSIX199309
+
+
+74 \ 1
+       #__Ãed_time¥ec
+
+
+       )
+
+75 \ 2
+       ~<time.h
+>
+
+78 #ià
+def\9aed
+__USE_POSIX199309
+ || def\9aed 
+__USE_XOPEN_EXTENDED
+
+
+80 \ 2
+       ~<b\99s/sig\9afo.h
+>
+
+85 \e\1e(*
+       t__sighªdËr_t
+) (\12);
+
+90 \r
+__sighªdËr_t
+       $__sysv_sigÇl
+ (\12
+__sig
+, 
+__sighªdËr_t
+__hªdËr
+)
+
+91 
+__THROW
+;
+
+92 #ifdeà
+__USE_GNU
+
+
+93 \r
+__sighªdËr_t
+       $sysv_sigÇl
+ (\12
+__sig
+, 
+__sighªdËr_t
+__hªdËr
+)
+
+94 
+__THROW
+;
+
+100 
+__BEGIN_NAMESPACE_STD
+
+
+101 #ifdeà
+__USE_MISC
+
+
+102 \r
+__sighªdËr_t
+       $sigÇl
+ (\12
+__sig
+, 
+__sighªdËr_t
+__hªdËr
+)
+
+103 
+__THROW
+;
+
+106 #ifdeà
+__REDIRECT_NTH
+
+
+107 \r
+__sighªdËr_t
+       `__REDIRECT_NTH
+ (
+sigÇl
+,
+
+108 (\12
+__sig
+, 
+__sighªdËr_t
+__hªdËr
+),
+
+109 
+__sysv_sigÇl
+);
+
+111 \ 1
+       #sigÇl
+__sysv_sigÇl
+
+
+       )
+
+114 
+__END_NAMESPACE_STD
+
+
+116 #ifdeà
+__USE_XOPEN
+
+
+119 \r
+__sighªdËr_t
+       $bsd_sigÇl
+ (\12
+__sig
+, 
+__sighªdËr_t
+__hªdËr
+)
+
+120 
+__THROW
+;
+
+126 #ifdeà
+__USE_POSIX
+
+
+127 \r\12
+       $k\9el
+ (
+__pid_t
+__pid
+, \12
+__sig
+__THROW
+;
+
+130 #ià
+def\9aed
+__USE_MISC
+ || def\9aed 
+__USE_XOPEN_EXTENDED
+
+
+134 \r\12
+       $k\9eÍg
+ (
+__pid_t
+__pg½
+, \12
+__sig
+__THROW
+;
+
+137 
+__BEGIN_NAMESPACE_STD
+
+
+139 \r\12
+       $¿i£
+ (\12
+__sig
+__THROW
+;
+
+140 
+__END_NAMESPACE_STD
+
+
+142 #ifdeà
+__USE_MISC
+
+
+144 \r
+__sighªdËr_t
+       $ssigÇl
+ (\12
+__sig
+, 
+__sighªdËr_t
+__hªdËr
+)
+
+145 
+__THROW
+;
+
+146 \r\12
+       $gsigÇl
+ (\12
+__sig
+__THROW
+;
+
+149 #ifdeà
+__USE_XOPEN2K8
+
+
+151 \r\1e
+       `psigÇl
+ (\12
+__sig
+, cڡ \ 5*
+__s
+);
+
+154 \r\1e
+       `psig\9afo
+ (cڡ 
+sig\9afo_t
+ *
+__p\9afo
+, cڡ \ 5*
+__s
+);
+
+166 #ifdeà
+__USE_XOPEN
+
+
+167 #ifdeà
+__GNUC__
+
+
+168 \r\12
+       $sig·u£
+ (\12
+__sig
+       `__asm__
+ ("__xpg_sigpause");
+
+170 \r\12
+       `__sig·u£
+ (\12
+__sig_Ü_mask
+, \12
+__is_sig
+);
+
+172 \ 1
+       #sig·u£
+(
+sig
+       `__sig·u£
+ ((sig), 1)
+
+       )
+
+177 #ifdeà
+__USE_MISC
+
+
+184 \ 1
+       #sigmask
+(
+sig
+       `__sigmask
+(sig)
+
+       )
+
+187 \r\12
+       $sigblock
+ (\12
+__mask
+__THROW
+__©\8cibu\8b_d\95»ÿ\8bd__
+;
+
+190 \r\12
+       $sig£tmask
+ (\12
+__mask
+__THROW
+__©\8cibu\8b_d\95»ÿ\8bd__
+;
+
+193 \r\12
+       $sigg\91mask
+ (\1eè
+__THROW
+__©\8cibu\8b_d\95»ÿ\8bd__
+;
+
+197 #ifdeà
+__USE_MISC
+
+
+198 \ 1
+       #NSIG
+_NSIG
+
+
+       )
+
+201 #ifdeà
+__USE_GNU
+
+
+202 \e
+__sighªdËr_t
+       tsighªdËr_t
+;
+
+206 #ifdeà
+__USE_MISC
+
+
+207 \e
+__sighªdËr_t
+       tsig_t
+;
+
+210 #ifdeà
+__USE_POSIX
+
+
+213 \r\12
+       $sigem±y£t
+ (
+sig£t_t
+ *
+__£t
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+216 \r\12
+       $sigf\9el£t
+ (
+sig£t_t
+ *
+__£t
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+219 \r\12
+       $sigadd£t
+ (
+sig£t_t
+ *
+__£t
+, \12
+__signo
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+222 \r\12
+       $sigd\96£t
+ (
+sig£t_t
+ *
+__£t
+, \12
+__signo
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+225 \r\12
+       $sigismemb\94
+ (cڡ 
+sig£t_t
+ *
+__£t
+, \12
+__signo
+)
+
+226 
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+228 #ifdeà
+__USE_GNU
+
+
+230 \r\12
+       $sigi£m±y£t
+ (cڡ 
+sig£t_t
+ *
+__£t
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+233 \r\12
+       $sigªd£t
+ (
+sig£t_t
+ *
+__£t
+, cÚ¡ sig£t_\88*
+__Ëá
+,
+
+234 cڡ 
+sig£t_t
+ *
+__right
+__THROW
+       `__nÚnuÎ
+ ((1, 2, 3));
+
+237 \r\12
+       $sigܣt
+ (
+sig£t_t
+ *
+__£t
+, cÚ¡ sig£t_\88*
+__Ëá
+,
+
+238 cڡ 
+sig£t_t
+ *
+__right
+__THROW
+       `__nÚnuÎ
+ ((1, 2, 3));
+
+243 \ 2
+       ~<b\99s/sigaùiÚ.h
+>
+
+246 \r\12
+       $sig´ocmask
+ (\12
+__how
+, cڡ 
+sig£t_t
+ *
+__»¡riù
+__£t
+,
+
+247 
+sig£t_t
+ *
+__»¡riù
+__o£t
+__THROW
+;
+
+254 \r\12
+       $sigsu¥\92d
+ (cڡ 
+sig£t_t
+ *
+__£t
+       `__nÚnuÎ
+ ((1));
+
+257 \r\12
+       $sigaùiÚ
+ (\12
+__sig
+, cڡ \19
+sigaùiÚ
+ *
+__»¡riù
+__aù
+,
+
+258 \19
+sigaùiÚ
+ *
+__»¡riù
+__ßù
+__THROW
+;
+
+261 \r\12
+       $sig³nd\9ag
+ (
+sig£t_t
+ *
+__£t
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+268 \r\12
+       $sigwa\99
+ (cڡ 
+sig£t_t
+ *
+__»¡riù
+__£t
+, \12*__»¡riù 
+__sig
+)
+
+269 
+       `__nÚnuÎ
+ ((1, 2));
+
+271 #ifdeà
+__USE_POSIX199309
+
+
+276 \r\12
+       $sigwa\99\9afo
+ (cڡ 
+sig£t_t
+ *
+__»¡riù
+__£t
+,
+
+277 
+sig\9afo_t
+ *
+__»¡riù
+__\9afo
+       `__nÚnuÎ
+ ((1));
+
+284 \r\12
+       $sigtimedwa\99
+ (cڡ 
+sig£t_t
+ *
+__»¡riù
+__£t
+,
+
+285 
+sig\9afo_t
+ *
+__»¡riù
+__\9afo
+,
+
+286 cڡ \19
+time¥ec
+ *
+__»¡riù
+__timeout
+)
+
+287 
+       `__nÚnuÎ
+ ((1));
+
+291 \r\12
+       $sigqueue
+ (
+__pid_t
+__pid
+, \12
+__sig
+, cڡ \1c
+sigv®
+__v®
+)
+
+292 
+__THROW
+;
+
+297 #ifdeà
+__USE_MISC
+
+
+301 \rcڡ \ 5*cڡ 
+_sys_sigli¡
+[
+_NSIG
+];
+
+302 \rcڡ \ 5*cڡ 
+sys_sigli¡
+[
+_NSIG
+];
+
+306 \ 2
+       ~<b\99s/sigcÚ\8bxt.h
+>
+
+309 \r\12
+       $sig»tuº
+ (\19
+sigcڋxt
+ *
+__sý
+__THROW
+;
+
+314 #ià
+def\9aed
+__USE_XOPEN_EXTENDED
+ || def\9aed 
+__USE_XOPEN2K8
+
+
+315 \ 1
+       #__Ãed_size_t
+
+
+       )
+
+316 \ 2
+       ~<¡ddef.h
+>
+
+321 \r\12
+       $sig\9a\8b¼u±
+ (\12
+__sig
+, \12
+__\9a\8b¼u±
+__THROW
+;
+
+323 \ 2
+       ~<b\99s/sig¡ack.h
+>
+
+324 #ià
+def\9aed
+__USE_XOPEN
+ || def\9aed 
+__USE_XOPEN2K8
+
+
+326 \ 2
+       ~<sys/ucڋxt.h
+>
+
+332 \r\12
+       $sig¡ack
+ (\19
+sig¡ack
+ *
+__ss
+, \19sig¡ack *
+__oss
+)
+
+333 
+__THROW
+__©\8cibu\8b_d\95»ÿ\8bd__
+;
+
+337 \r\12
+       $sig®t¡ack
+ (cڡ \19
+sig®t¡ack
+ *
+__»¡riù
+__ss
+,
+
+338 \19
+sig®t¡ack
+ *
+__»¡riù
+__oss
+__THROW
+;
+
+342 #ifdeà
+__USE_XOPEN_EXTENDED
+
+
+346 \r\12
+       $sighÞd
+ (\12
+__sig
+__THROW
+;
+
+349 \r\12
+       $sig»l£
+ (\12
+__sig
+__THROW
+;
+
+352 \r\12
+       $sigignÜe
+ (\12
+__sig
+__THROW
+;
+
+355 \r
+__sighªdËr_t
+       $sig£t
+ (\12
+__sig
+, 
+__sighªdËr_t
+__di¥
+__THROW
+;
+
+358 #ià
+def\9aed
+__USE_POSIX199506
+ || def\9aed 
+__USE_UNIX98
+
+
+361 \ 2
+       ~<b\99s/±h»adty³s.h
+>
+
+362 \ 2
+       ~<b\99s/sigth»ad.h
+>
+
+369 \r\12
+       $__libc_cu¼\92t_sig¹m\9a
+ (\1eè
+__THROW
+;
+
+371 \r\12
+       $__libc_cu¼\92t_sig¹max
+ (\1eè
+__THROW
+;
+
+375 
+__END_DECLS
+
+
+       @/usr/include/stdint.h
+
+22 #iâdeà
+_STDINT_H
+
+
+23 \ 1
+       #_STDINT_H
+ 1
+
+       )
+
+25 \ 2
+       ~<ã©u»s.h
+>
+
+26 \ 2
+       ~<b\99s/wch¬.h
+>
+
+27 \ 2
+       ~<b\99s/wÜdsize.h
+>
+
+34 #iâdeà
+__\9at8_t_def\9aed
+
+
+35 \ 1
+       #__\9at8_t_def\9aed
+
+
+       )
+
+36 \esigÃd \ 5
+       t\9at8_t
+;
+
+37 \e\16\12
+       t\9at16_t
+;
+
+38 \e\12
+       t\9at32_t
+;
+
+39 #ià
+__WORDSIZE
+ == 64
+
+40 \e\13\12
+       t\9at64_t
+;
+
+42 
+__ex\8bnsiÚ__
+
+
+43 \e\13\13\12
+       t\9at64_t
+;
+
+48 \e\1d\ 5
+       tu\9at8_t
+;
+
+49 \e\1d\16\12
+       tu\9at16_t
+;
+
+50 #iâdeà
+__u\9at32_t_def\9aed
+
+
+51 \e\1d\12
+       tu\9at32_t
+;
+
+52 \ 1
+       #__u\9at32_t_def\9aed
+
+
+       )
+
+54 #ià
+__WORDSIZE
+ == 64
+
+55 \e\1d\13\12
+       tu\9at64_t
+;
+
+57 
+__ex\8bnsiÚ__
+
+
+58 \e\1d\13\13\12
+       tu\9at64_t
+;
+
+65 \esigÃd \ 5
+       t\9at_Ëa¡8_t
+;
+
+66 \e\16\12
+       t\9at_Ëa¡16_t
+;
+
+67 \e\12
+       t\9at_Ëa¡32_t
+;
+
+68 #ià
+__WORDSIZE
+ == 64
+
+69 \e\13\12
+       t\9at_Ëa¡64_t
+;
+
+71 
+__ex\8bnsiÚ__
+
+
+72 \e\13\13\12
+       t\9at_Ëa¡64_t
+;
+
+76 \e\1d\ 5
+       tu\9at_Ëa¡8_t
+;
+
+77 \e\1d\16\12
+       tu\9at_Ëa¡16_t
+;
+
+78 \e\1d\12
+       tu\9at_Ëa¡32_t
+;
+
+79 #ià
+__WORDSIZE
+ == 64
+
+80 \e\1d\13\12
+       tu\9at_Ëa¡64_t
+;
+
+82 
+__ex\8bnsiÚ__
+
+
+83 \e\1d\13\13\12
+       tu\9at_Ëa¡64_t
+;
+
+90 \esigÃd \ 5
+       t\9at_ç¡8_t
+;
+
+91 #ià
+__WORDSIZE
+ == 64
+
+92 \e\13\12
+       t\9at_ç¡16_t
+;
+
+93 \e\13\12
+       t\9at_ç¡32_t
+;
+
+94 \e\13\12
+       t\9at_ç¡64_t
+;
+
+96 \e\12
+       t\9at_ç¡16_t
+;
+
+97 \e\12
+       t\9at_ç¡32_t
+;
+
+98 
+__ex\8bnsiÚ__
+
+
+99 \e\13\13\12
+       t\9at_ç¡64_t
+;
+
+103 \e\1d\ 5
+       tu\9at_ç¡8_t
+;
+
+104 #ià
+__WORDSIZE
+ == 64
+
+105 \e\1d\13\12
+       tu\9at_ç¡16_t
+;
+
+106 \e\1d\13\12
+       tu\9at_ç¡32_t
+;
+
+107 \e\1d\13\12
+       tu\9at_ç¡64_t
+;
+
+109 \e\1d\12
+       tu\9at_ç¡16_t
+;
+
+110 \e\1d\12
+       tu\9at_ç¡32_t
+;
+
+111 
+__ex\8bnsiÚ__
+
+
+112 \e\1d\13\13\12
+       tu\9at_ç¡64_t
+;
+
+117 #ià
+__WORDSIZE
+ == 64
+
+118 #iâdeà
+__\9a\8d\8c_t_def\9aed
+
+
+119 \e\13\12
+       t\9a\8d\8c_t
+;
+
+120 \ 1
+       #__\9a\8d\8c_t_def\9aed
+
+
+       )
+
+122 \e\1d\13\12
+       tu\9a\8d\8c_t
+;
+
+124 #iâdeà
+__\9a\8d\8c_t_def\9aed
+
+
+125 \e\12
+       t\9a\8d\8c_t
+;
+
+126 \ 1
+       #__\9a\8d\8c_t_def\9aed
+
+
+       )
+
+128 \e\1d\12
+       tu\9a\8d\8c_t
+;
+
+133 #ià
+__WORDSIZE
+ == 64
+
+134 \e\13\12
+       t\9atmax_t
+;
+
+135 \e\1d\13\12
+       tu\9atmax_t
+;
+
+137 
+__ex\8bnsiÚ__
+
+
+138 \e\13\13\12
+       t\9atmax_t
+;
+
+139 
+__ex\8bnsiÚ__
+
+
+140 \e\1d\13\13\12
+       tu\9atmax_t
+;
+
+144 #ià
+__WORDSIZE
+ == 64
+
+145 \ 1
+       #__INT64_C
+(
+c
+èø## 
+L
+
+
+       )
+
+146 \ 1
+       #__UINT64_C
+(
+c
+èø## 
+UL
+
+
+       )
+
+148 \ 1
+       #__INT64_C
+(
+c
+èø## 
+LL
+
+
+       )
+
+149 \ 1
+       #__UINT64_C
+(
+c
+èø## 
+ULL
+
+
+       )
+
+155 \ 1
+       #INT8_MIN
+ (-128)
+
+       )
+
+156 \ 1
+       #INT16_MIN
+ (-32767-1)
+
+       )
+
+157 \ 1
+       #INT32_MIN
+ (-2147483647-1)
+
+       )
+
+158 \ 1
+       #INT64_MIN
+ (-
+       `__INT64_C
+(9223372036854775807)-1)
+
+       )
+
+160 \ 1
+       #INT8_MAX
+ (127)
+
+       )
+
+161 \ 1
+       #INT16_MAX
+ (32767)
+
+       )
+
+162 \ 1
+       #INT32_MAX
+ (2147483647)
+
+       )
+
+163 \ 1
+       #INT64_MAX
+ (
+       `__INT64_C
+(9223372036854775807))
+
+       )
+
+166 \ 1
+       #UINT8_MAX
+ (255)
+
+       )
+
+167 \ 1
+       #UINT16_MAX
+ (65535)
+
+       )
+
+168 \ 1
+       #UINT32_MAX
+ (4294967295U)
+
+       )
+
+169 \ 1
+       #UINT64_MAX
+ (
+       `__UINT64_C
+(18446744073709551615))
+
+       )
+
+173 \ 1
+       #INT_LEAST8_MIN
+ (-128)
+
+       )
+
+174 \ 1
+       #INT_LEAST16_MIN
+ (-32767-1)
+
+       )
+
+175 \ 1
+       #INT_LEAST32_MIN
+ (-2147483647-1)
+
+       )
+
+176 \ 1
+       #INT_LEAST64_MIN
+ (-
+       `__INT64_C
+(9223372036854775807)-1)
+
+       )
+
+178 \ 1
+       #INT_LEAST8_MAX
+ (127)
+
+       )
+
+179 \ 1
+       #INT_LEAST16_MAX
+ (32767)
+
+       )
+
+180 \ 1
+       #INT_LEAST32_MAX
+ (2147483647)
+
+       )
+
+181 \ 1
+       #INT_LEAST64_MAX
+ (
+       `__INT64_C
+(9223372036854775807))
+
+       )
+
+184 \ 1
+       #UINT_LEAST8_MAX
+ (255)
+
+       )
+
+185 \ 1
+       #UINT_LEAST16_MAX
+ (65535)
+
+       )
+
+186 \ 1
+       #UINT_LEAST32_MAX
+ (4294967295U)
+
+       )
+
+187 \ 1
+       #UINT_LEAST64_MAX
+ (
+       `__UINT64_C
+(18446744073709551615))
+
+       )
+
+191 \ 1
+       #INT_FAST8_MIN
+ (-128)
+
+       )
+
+192 #ià
+__WORDSIZE
+ == 64
+
+193 \ 1
+       #INT_FAST16_MIN
+ (-9223372036854775807L-1)
+
+       )
+
+194 \ 1
+       #INT_FAST32_MIN
+ (-9223372036854775807L-1)
+
+       )
+
+196 \ 1
+       #INT_FAST16_MIN
+ (-2147483647-1)
+
+       )
+
+197 \ 1
+       #INT_FAST32_MIN
+ (-2147483647-1)
+
+       )
+
+199 \ 1
+       #INT_FAST64_MIN
+ (-
+       `__INT64_C
+(9223372036854775807)-1)
+
+       )
+
+201 \ 1
+       #INT_FAST8_MAX
+ (127)
+
+       )
+
+202 #ià
+__WORDSIZE
+ == 64
+
+203 \ 1
+       #INT_FAST16_MAX
+ (9223372036854775807L)
+
+       )
+
+204 \ 1
+       #INT_FAST32_MAX
+ (9223372036854775807L)
+
+       )
+
+206 \ 1
+       #INT_FAST16_MAX
+ (2147483647)
+
+       )
+
+207 \ 1
+       #INT_FAST32_MAX
+ (2147483647)
+
+       )
+
+209 \ 1
+       #INT_FAST64_MAX
+ (
+       `__INT64_C
+(9223372036854775807))
+
+       )
+
+212 \ 1
+       #UINT_FAST8_MAX
+ (255)
+
+       )
+
+213 #ià
+__WORDSIZE
+ == 64
+
+214 \ 1
+       #UINT_FAST16_MAX
+ (18446744073709551615UL)
+
+       )
+
+215 \ 1
+       #UINT_FAST32_MAX
+ (18446744073709551615UL)
+
+       )
+
+217 \ 1
+       #UINT_FAST16_MAX
+ (4294967295U)
+
+       )
+
+218 \ 1
+       #UINT_FAST32_MAX
+ (4294967295U)
+
+       )
+
+220 \ 1
+       #UINT_FAST64_MAX
+ (
+       `__UINT64_C
+(18446744073709551615))
+
+       )
+
+224 #ià
+__WORDSIZE
+ == 64
+
+225 \ 1
+       #INTPTR_MIN
+ (-9223372036854775807L-1)
+
+       )
+
+226 \ 1
+       #INTPTR_MAX
+ (9223372036854775807L)
+
+       )
+
+227 \ 1
+       #UINTPTR_MAX
+ (18446744073709551615UL)
+
+       )
+
+229 \ 1
+       #INTPTR_MIN
+ (-2147483647-1)
+
+       )
+
+230 \ 1
+       #INTPTR_MAX
+ (2147483647)
+
+       )
+
+231 \ 1
+       #UINTPTR_MAX
+ (4294967295U)
+
+       )
+
+236 \ 1
+       #INTMAX_MIN
+ (-
+       `__INT64_C
+(9223372036854775807)-1)
+
+       )
+
+238 \ 1
+       #INTMAX_MAX
+ (
+       `__INT64_C
+(9223372036854775807))
+
+       )
+
+241 \ 1
+       #UINTMAX_MAX
+ (
+       `__UINT64_C
+(18446744073709551615))
+
+       )
+
+247 #ià
+__WORDSIZE
+ == 64
+
+248 \ 1
+       #PTRDIFF_MIN
+ (-9223372036854775807L-1)
+
+       )
+
+249 \ 1
+       #PTRDIFF_MAX
+ (9223372036854775807L)
+
+       )
+
+251 \ 1
+       #PTRDIFF_MIN
+ (-2147483647-1)
+
+       )
+
+252 \ 1
+       #PTRDIFF_MAX
+ (2147483647)
+
+       )
+
+256 \ 1
+       #SIG_ATOMIC_MIN
+ (-2147483647-1)
+
+       )
+
+257 \ 1
+       #SIG_ATOMIC_MAX
+ (2147483647)
+
+       )
+
+260 #ià
+__WORDSIZE
+ == 64
+
+261 \ 1
+       #SIZE_MAX
+ (18446744073709551615UL)
+
+       )
+
+263 #ifdeà
+__WORDSIZE32_SIZE_ULONG
+
+
+264 \ 1
+       #SIZE_MAX
+ (4294967295UL)
+
+       )
+
+266 \ 1
+       #SIZE_MAX
+ (4294967295U)
+
+       )
+
+271 #iâdeà
+WCHAR_MIN
+
+
+273 \ 1
+       #WCHAR_MIN
+__WCHAR_MIN
+
+
+       )
+
+274 \ 1
+       #WCHAR_MAX
+__WCHAR_MAX
+
+
+       )
+
+278 \ 1
+       #WINT_MIN
+ (0u)
+
+       )
+
+279 \ 1
+       #WINT_MAX
+ (4294967295u)
+
+       )
+
+282 \ 1
+       #INT8_C
+(
+c
+       )
+c
+
+283 \ 1
+       #INT16_C
+(
+c
+       )
+c
+
+284 \ 1
+       #INT32_C
+(
+c
+       )
+c
+
+285 #ià
+__WORDSIZE
+ == 64
+
+286 \ 1
+       #INT64_C
+(
+c
+èø## 
+L
+
+
+       )
+
+288 \ 1
+       #INT64_C
+(
+c
+èø## 
+LL
+
+
+       )
+
+292 \ 1
+       #UINT8_C
+(
+c
+       )
+c
+
+293 \ 1
+       #UINT16_C
+(
+c
+       )
+c
+
+294 \ 1
+       #UINT32_C
+(
+c
+èø## 
+U
+
+
+       )
+
+295 #ià
+__WORDSIZE
+ == 64
+
+296 \ 1
+       #UINT64_C
+(
+c
+èø## 
+UL
+
+
+       )
+
+298 \ 1
+       #UINT64_C
+(
+c
+èø## 
+ULL
+
+
+       )
+
+302 #ià
+__WORDSIZE
+ == 64
+
+303 \ 1
+       #INTMAX_C
+(
+c
+èø## 
+L
+
+
+       )
+
+304 \ 1
+       #UINTMAX_C
+(
+c
+èø## 
+UL
+
+
+       )
+
+306 \ 1
+       #INTMAX_C
+(
+c
+èø## 
+LL
+
+
+       )
+
+307 \ 1
+       #UINTMAX_C
+(
+c
+èø## 
+ULL
+
+
+       )
+
+       @/usr/include/stdio.h
+
+23 #iâdeà
+_STDIO_H
+
+
+25 #ià!
+def\9aed
+__Ãed_FILE
+ && !def\9aed 
+__Ãed___FILE
+
+
+26 \ 1
+       #_STDIO_H
+ 1
+
+       )
+
+27 \ 2
+       ~<ã©u»s.h
+>
+
+29 
+       g__BEGIN_DECLS
+
+
+31 \ 1
+       #__Ãed_size_t
+
+
+       )
+
+32 \ 1
+       #__Ãed_NULL
+
+
+       )
+
+33 \ 2
+       ~<¡ddef.h
+>
+
+35 \ 2
+       ~<b\99s/ty³s.h
+>
+
+36 \ 1
+       #__Ãed_FILE
+
+
+       )
+
+37 \ 1
+       #__Ãed___FILE
+
+
+       )
+
+41 #ià!
+def\9aed
+__FILE_def\9aed
+ && def\9aed 
+__Ãed_FILE
+
+
+44 \19
+       g_IO_FILE
+;
+
+46 
+__BEGIN_NAMESPACE_STD
+
+
+48 \e\19
+_IO_FILE
+       tFILE
+;
+
+49 
+       g__END_NAMESPACE_STD
+
+
+50 #ià
+def\9aed
+__USE_LARGEFILE64
+ || def\9aed 
+__USE_POSIX
+ \
+
+51 || 
+def\9aed
+       g__USE_ISOC99
+ || def\9aed 
+       g__USE_XOPEN
+ \
+
+52 || 
+def\9aed
+__USE_POSIX2
+
+
+53 
+       $__USING_NAMESPACE_STD
+(
+FILE
+)
+
+56 \ 1
+       #__FILE_def\9aed
+ 1
+
+       )
+
+58 #undeà
+__Ãed_FILE
+
+
+61 #ià!
+def\9aed
+____FILE_def\9aed
+ && def\9aed 
+__Ãed___FILE
+
+
+64 \e\19
+_IO_FILE
+       t__FILE
+;
+
+66 \ 1
+       #____FILE_def\9aed
+ 1
+
+       )
+
+68 #undeà
+__Ãed___FILE
+
+
+71 #ifdef 
+_STDIO_H
+
+
+72 \ 1
+       #_STDIO_USES_IOSTREAM
+
+
+       )
+
+74 \ 2
+       ~<libio.h
+>
+
+76 #ià
+def\9aed
+__USE_XOPEN
+ || def\9aed 
+__USE_XOPEN2K8
+
+
+77 #ifdeà
+__GNUC__
+
+
+78 #iâdeà
+_VA_LIST_DEFINED
+
+
+79 \e
+_G_va_li¡
+       tva_li¡
+;
+
+80 \ 1
+       #_VA_LIST_DEFINED
+
+
+       )
+
+83 \ 2
+       ~<¡d¬g.h
+>
+
+87 #ifdeà
+__USE_XOPEN2K8
+
+
+88 #iâdeà
+__off_t_def\9aed
+
+
+89 #iâdeà
+__USE_FILE_OFFSET64
+
+
+90 \e
+__off_t
+       toff_t
+;
+
+92 \e
+__off64_t
+       toff_t
+;
+
+94 \ 1
+       #__off_t_def\9aed
+
+
+       )
+
+96 #ià
+def\9aed
+__USE_LARGEFILE64
+ && !def\9aed 
+__off64_t_def\9aed
+
+
+97 \e
+__off64_t
+       toff64_t
+;
+
+98 \ 1
+       #__off64_t_def\9aed
+
+
+       )
+
+101 #iâdeà
+__ssize_t_def\9aed
+
+
+102 \e
+__ssize_t
+       tssize_t
+;
+
+103 \ 1
+       #__ssize_t_def\9aed
+
+
+       )
+
+108 
+__BEGIN_NAMESPACE_STD
+
+
+109 #iâdeà
+__USE_FILE_OFFSET64
+
+
+110 \e
+_G_åos_t
+       tåos_t
+;
+
+112 \e
+_G_åos64_t
+       tåos_t
+;
+
+114 
+__END_NAMESPACE_STD
+
+
+115 #ifdeà
+__USE_LARGEFILE64
+
+
+116 \e
+_G_åos64_t
+       tåos64_t
+;
+
+120 \ 1
+       #_IOFBF
+ 0
+
+       )
+
+121 \ 1
+       #_IOLBF
+ 1
+
+       )
+
+122 \ 1
+       #_IONBF
+ 2
+
+       )
+
+126 #iâdeà
+BUFSIZ
+
+
+127 \ 1
+       #BUFSIZ
+_IO_BUFSIZ
+
+
+       )
+
+133 #iâdeà
+EOF
+
+
+134 \ 1
+       #EOF
+ (-1)
+
+       )
+
+140 \ 1
+       #SEEK_SET
+ 0
+
+       )
+
+141 \ 1
+       #SEEK_CUR
+ 1
+
+       )
+
+142 \ 1
+       #SEEK_END
+ 2
+
+       )
+
+143 #ifdeà
+__USE_GNU
+
+
+144 \ 1
+       #SEEK_DATA
+ 3
+
+       )
+
+145 \ 1
+       #SEEK_HOLE
+ 4
+
+       )
+
+149 #ià
+def\9aed
+__USE_MISC
+ || def\9aed 
+__USE_XOPEN
+
+
+151 \ 1
+       #P_tmpd\9c
+ "/tmp"
+
+       )
+
+164 \ 2
+       ~<b\99s/¡dio_lim.h
+>
+
+168 \r\19
+_IO_FILE
+ *
+¡d\9a
+;
+
+169 \r\19
+_IO_FILE
+ *
+¡dout
+;
+
+170 \r\19
+_IO_FILE
+ *
+¡d\94r
+;
+
+172 \ 1
+       #¡d\9a
+¡d\9a
+
+
+       )
+
+173 \ 1
+       #¡dout
+¡dout
+
+
+       )
+
+174 \ 1
+       #¡d\94r
+¡d\94r
+
+
+       )
+
+176 
+__BEGIN_NAMESPACE_STD
+
+
+178 \r\12
+       $»move
+ (cڡ \ 5*
+__f\9e\92ame
+__THROW
+;
+
+180 \r\12
+       $»Çme
+ (cڡ \ 5*
+__Þd
+, cڡ \ 5*
+__Ãw
+__THROW
+;
+
+181 
+__END_NAMESPACE_STD
+
+
+183 #ifdeà
+__USE_ATFILE
+
+
+185 \r\12
+       $»Çm\97t
+ (\12
+__Þdfd
+, cڡ \ 5*
+__Þd
+, \12
+__Ãwfd
+,
+
+186 cڡ \ 5*
+__Ãw
+__THROW
+;
+
+189 
+__BEGIN_NAMESPACE_STD
+
+
+194 #iâdeà
+__USE_FILE_OFFSET64
+
+
+195 \r
+FILE
+ *
+       $tmpf\9ee
+ (\1eè
+__wur
+;
+
+197 #ifdeà
+__REDIRECT
+
+
+198 \r
+FILE
+ *
+       `__REDIRECT
+ (
+tmpf\9ee
+, (\1e), 
+tmpf\9ee64
+__wur
+;
+
+200 \ 1
+       #tmpf\9ee
+tmpf\9ee64
+
+
+       )
+
+204 #ifdeà
+__USE_LARGEFILE64
+
+
+205 \r
+FILE
+ *
+       $tmpf\9ee64
+ (\1eè
+__wur
+;
+
+209 \r\ 5*
+       $tm²am
+ (\ 5*
+__s
+__THROW
+__wur
+;
+
+210 
+__END_NAMESPACE_STD
+
+
+212 #ifdeà
+__USE_MISC
+
+
+215 \r\ 5*
+       $tm²am_r
+ (\ 5*
+__s
+__THROW
+__wur
+;
+
+219 #ià
+def\9aed
+__USE_MISC
+ || def\9aed 
+__USE_XOPEN
+
+
+227 \r\ 5*
+       $\8bm²am
+ (cڡ \ 5*
+__d\9c
+, cڡ \ 5*
+__pfx
+)
+
+228 
+__THROW
+__©\8cibu\8b_m®loc__
+__wur
+;
+
+232 
+__BEGIN_NAMESPACE_STD
+
+
+237 \r\12
+       `fþo£
+ (
+FILE
+ *
+__¡»am
+);
+
+242 \r\12
+       `fæush
+ (
+FILE
+ *
+__¡»am
+);
+
+243 
+__END_NAMESPACE_STD
+
+
+245 #ifdeà
+__USE_MISC
+
+
+252 \r\12
+       `fæush_uÆocked
+ (
+FILE
+ *
+__¡»am
+);
+
+255 #ifdeà
+__USE_GNU
+
+
+262 \r\12
+       `fþo£®l
+ (\1e);
+
+266 
+__BEGIN_NAMESPACE_STD
+
+
+267 #iâdeà
+__USE_FILE_OFFSET64
+
+
+272 \r
+FILE
+ *
+       $fݒ
+ (cڡ \ 5*
+__»¡riù
+__f\9e\92ame
+,
+
+273 cڡ \ 5*
+__»¡riù
+__modes
+__wur
+;
+
+278 \r
+FILE
+ *
+       $äeÝ\92
+ (cڡ \ 5*
+__»¡riù
+__f\9e\92ame
+,
+
+279 cڡ \ 5*
+__»¡riù
+__modes
+,
+
+280 
+FILE
+ *
+__»¡riù
+__¡»am
+__wur
+;
+
+282 #ifdeà
+__REDIRECT
+
+
+283 \r
+FILE
+ *
+       `__REDIRECT
+ (
+fݒ
+, (cڡ \ 5*
+__»¡riù
+__f\9e\92ame
+,
+
+284 cڡ \ 5*
+__»¡riù
+__modes
+), 
+fݒ64
+)
+
+285 
+__wur
+;
+
+286 \r
+FILE
+ *
+       `__REDIRECT
+ (
+äeÝ\92
+, (cڡ \ 5*
+__»¡riù
+__f\9e\92ame
+,
+
+287 cڡ \ 5*
+__»¡riù
+__modes
+,
+
+288 
+FILE
+ *
+__»¡riù
+__¡»am
+), 
+äeÝ\9264
+)
+
+289 
+__wur
+;
+
+291 \ 1
+       #fݒ
+fݒ64
+
+
+       )
+
+292 \ 1
+       #äeÝ\92
+äeÝ\9264
+
+
+       )
+
+295 
+__END_NAMESPACE_STD
+
+
+296 #ifdeà
+__USE_LARGEFILE64
+
+
+297 \r
+FILE
+ *
+       $fݒ64
+ (cڡ \ 5*
+__»¡riù
+__f\9e\92ame
+,
+
+298 cڡ \ 5*
+__»¡riù
+__modes
+__wur
+;
+
+299 \r
+FILE
+ *
+       $äeÝ\9264
+ (cڡ \ 5*
+__»¡riù
+__f\9e\92ame
+,
+
+300 cڡ \ 5*
+__»¡riù
+__modes
+,
+
+301 
+FILE
+ *
+__»¡riù
+__¡»am
+__wur
+;
+
+304 #ifdef 
+__USE_POSIX
+
+
+306 \r
+FILE
+ *
+       $fdݒ
+ (\12
+__fd
+, cڡ \ 5*
+__modes
+__THROW
+__wur
+;
+
+309 #ifdef 
+__USE_GNU
+
+
+312 \r
+FILE
+ *
+       $fÝ\92cook\9b
+ (\1e*
+__»¡riù
+__magic_cook\9b
+,
+
+313 cڡ \ 5*
+__»¡riù
+__modes
+,
+
+314 
+_IO_cook\9b_io_funùiÚs_t
+__io_funcs
+__THROW
+__wur
+;
+
+317 #ifdeà
+__USE_XOPEN2K8
+
+
+319 \r
+FILE
+ *
+       $fmemݒ
+ (\1e*
+__s
+, 
+size_t
+__Ën
+, cڡ \ 5*
+__modes
+)
+
+320 
+__THROW
+__wur
+;
+
+325 \r
+FILE
+ *
+       $Ý\92_mem¡»am
+ (\ 5**
+__buæoc
+, 
+size_t
+ *
+__siz\96oc
+__THROW
+__wur
+;
+
+329 
+__BEGIN_NAMESPACE_STD
+
+
+332 \r\1e
+       $£tbuf
+ (
+FILE
+ *
+__»¡riù
+__¡»am
+, \ 5*__»¡riù 
+__buf
+__THROW
+;
+
+336 \r\12
+       $£tvbuf
+ (
+FILE
+ *
+__»¡riù
+__¡»am
+, \ 5*__»¡riù 
+__buf
+,
+
+337 \12
+__modes
+, 
+size_t
+__n
+__THROW
+;
+
+338 
+__END_NAMESPACE_STD
+
+
+340 #ifdef 
+__USE_MISC
+
+
+343 \r\1e
+       $£tbufãr
+ (
+FILE
+ *
+__»¡riù
+__¡»am
+, \ 5*__»¡riù 
+__buf
+,
+
+344 
+size_t
+__size
+__THROW
+;
+
+347 \r\1e
+       $£\8e\9aebuf
+ (
+FILE
+ *
+__¡»am
+__THROW
+;
+
+351 
+__BEGIN_NAMESPACE_STD
+
+
+356 \r\12
+       `år\9atf
+ (
+FILE
+ *
+__»¡riù
+__¡»am
+,
+
+357 cڡ \ 5*
+__»¡riù
+__fÜm©
+, ...);
+
+362 \r\12
+       `´\9atf
+ (cڡ \ 5*
+__»¡riù
+__fÜm©
+, ...);
+
+364 \r\12
+       $¥r\9atf
+ (\ 5*
+__»¡riù
+__s
+,
+
+365 cڡ \ 5*
+__»¡riù
+__fÜm©
+, ...è
+__THROWNL
+;
+
+371 \r\12
+       `vår\9atf
+ (
+FILE
+ *
+__»¡riù
+__s
+, cÚ¡ \ 5*__»¡riù 
+__fÜm©
+,
+
+372 
+_G_va_li¡
+__¬g
+);
+
+377 \r\12
+       `v´\9atf
+ (cڡ \ 5*
+__»¡riù
+__fÜm©
+, 
+_G_va_li¡
+__¬g
+);
+
+379 \r\12
+       $v¥r\9atf
+ (\ 5*
+__»¡riù
+__s
+, cÚ¡ \ 5*__»¡riù 
+__fÜm©
+,
+
+380 
+_G_va_li¡
+__¬g
+__THROWNL
+;
+
+381 
+__END_NAMESPACE_STD
+
+
+383 #ià
+def\9aed
+__USE_ISOC99
+ || def\9aed 
+__USE_UNIX98
+
+
+384 
+__BEGIN_NAMESPACE_C99
+
+
+386 \r\12
+       $¢´\9atf
+ (\ 5*
+__»¡riù
+__s
+, 
+size_t
+__maxËn
+,
+
+387 cڡ \ 5*
+__»¡riù
+__fÜm©
+, ...)
+
+388 
+__THROWNL
+       `__©\8cibu\8b__
+ ((
+       `__fÜm©__
+ (
+__´\9atf__
+, 3, 4)));
+
+390 \r\12
+       $v¢´\9atf
+ (\ 5*
+__»¡riù
+__s
+, 
+size_t
+__maxËn
+,
+
+391 cڡ \ 5*
+__»¡riù
+__fÜm©
+, 
+_G_va_li¡
+__¬g
+)
+
+392 
+__THROWNL
+       `__©\8cibu\8b__
+ ((
+       `__fÜm©__
+ (
+__´\9atf__
+, 3, 0)));
+
+393 
+__END_NAMESPACE_C99
+
+
+396 #ifdeà
+__USE_GNU
+
+
+399 \r\12
+       $va¥r\9atf
+ (\ 5**
+__»¡riù
+__±r
+, cÚ¡ \ 5*__»¡riù 
+__f
+,
+
+400 
+_G_va_li¡
+__¬g
+)
+
+401 
+__THROWNL
+       `__©\8cibu\8b__
+ ((
+       $__fÜm©__
+ (
+__´\9atf__
+, 2, 0))è
+__wur
+;
+
+402 \r\12
+       $__a¥r\9atf
+ (\ 5**
+__»¡riù
+__±r
+,
+
+403 cڡ \ 5*
+__»¡riù
+__fmt
+, ...)
+
+404 
+__THROWNL
+       `__©\8cibu\8b__
+ ((
+       $__fÜm©__
+ (
+__´\9atf__
+, 2, 3))è
+__wur
+;
+
+405 \r\12
+       $a¥r\9atf
+ (\ 5**
+__»¡riù
+__±r
+,
+
+406 cڡ \ 5*
+__»¡riù
+__fmt
+, ...)
+
+407 
+__THROWNL
+       `__©\8cibu\8b__
+ ((
+       $__fÜm©__
+ (
+__´\9atf__
+, 2, 3))è
+__wur
+;
+
+410 #ifdeà
+__USE_XOPEN2K8
+
+
+412 \r\12
+       $vd´\9atf
+ (\12
+__fd
+, cڡ \ 5*
+__»¡riù
+__fmt
+,
+
+413 
+_G_va_li¡
+__¬g
+)
+
+414 
+       `__©\8cibu\8b__
+ ((
+       `__fÜm©__
+ (
+__´\9atf__
+, 2, 0)));
+
+415 \r\12
+       $d´\9atf
+ (\12
+__fd
+, cڡ \ 5*
+__»¡riù
+__fmt
+, ...)
+
+416 
+       `__©\8cibu\8b__
+ ((
+       `__fÜm©__
+ (
+__´\9atf__
+, 2, 3)));
+
+420 
+__BEGIN_NAMESPACE_STD
+
+
+425 \r\12
+       $fsÿnf
+ (
+FILE
+ *
+__»¡riù
+__¡»am
+,
+
+426 cڡ \ 5*
+__»¡riù
+__fÜm©
+, ...è
+__wur
+;
+
+431 \r\12
+       $sÿnf
+ (cڡ \ 5*
+__»¡riù
+__fÜm©
+, ...è
+__wur
+;
+
+433 \r\12
+       $ssÿnf
+ (cڡ \ 5*
+__»¡riù
+__s
+,
+
+434 cڡ \ 5*
+__»¡riù
+__fÜm©
+, ...è
+__THROW
+;
+
+436 #ià
+def\9aed
+__USE_ISOC99
+ && !def\9aed 
+__USE_GNU
+ \
+
+437 && (!
+def\9aed
+__LDBL_COMPAT
+ || !def\9aed 
+__REDIRECT
+) \
+
+438 && (
+def\9aed
+__STRICT_ANSI__
+ || def\9aed 
+__USE_XOPEN2K
+)
+
+439 #ifdeà
+__REDIRECT
+
+
+443 \r\12
+       `__REDIRECT
+ (
+fsÿnf
+, (
+FILE
+ *
+__»¡riù
+__¡»am
+,
+
+444 cڡ \ 5*
+__»¡riù
+__fÜm©
+, ...),
+
+445 
+__isoc99_fsÿnf
+__wur
+;
+
+446 \r\12
+       `__REDIRECT
+ (
+sÿnf
+, (cڡ \ 5*
+__»¡riù
+__fÜm©
+, ...),
+
+447 
+__isoc99_sÿnf
+__wur
+;
+
+448 \r\12
+       `__REDIRECT_NTH
+ (
+ssÿnf
+, (cڡ \ 5*
+__»¡riù
+__s
+,
+
+449 cڡ \ 5*
+__»¡riù
+__fÜm©
+, ...),
+
+450 
+__isoc99_ssÿnf
+);
+
+452 \r\12
+       $__isoc99_fsÿnf
+ (
+FILE
+ *
+__»¡riù
+__¡»am
+,
+
+453 cڡ \ 5*
+__»¡riù
+__fÜm©
+, ...è
+__wur
+;
+
+454 \r\12
+       $__isoc99_sÿnf
+ (cڡ \ 5*
+__»¡riù
+__fÜm©
+, ...è
+__wur
+;
+
+455 \r\12
+       $__isoc99_ssÿnf
+ (cڡ \ 5*
+__»¡riù
+__s
+,
+
+456 cڡ \ 5*
+__»¡riù
+__fÜm©
+, ...è
+__THROW
+;
+
+457 \ 1
+       #fsÿnf
+__isoc99_fsÿnf
+
+
+       )
+
+458 \ 1
+       #sÿnf
+__isoc99_sÿnf
+
+
+       )
+
+459 \ 1
+       #ssÿnf
+__isoc99_ssÿnf
+
+
+       )
+
+463 
+__END_NAMESPACE_STD
+
+
+465 #ifdef 
+__USE_ISOC99
+
+
+466 
+__BEGIN_NAMESPACE_C99
+
+
+471 \r\12
+       $vfsÿnf
+ (
+FILE
+ *
+__»¡riù
+__s
+, cÚ¡ \ 5*__»¡riù 
+__fÜm©
+,
+
+472 
+_G_va_li¡
+__¬g
+)
+
+473 
+       `__©\8cibu\8b__
+ ((
+       $__fÜm©__
+ (
+__sÿnf__
+, 2, 0))è
+__wur
+;
+
+479 \r\12
+       $vsÿnf
+ (cڡ \ 5*
+__»¡riù
+__fÜm©
+, 
+_G_va_li¡
+__¬g
+)
+
+480 
+       `__©\8cibu\8b__
+ ((
+       $__fÜm©__
+ (
+__sÿnf__
+, 1, 0))è
+__wur
+;
+
+483 \r\12
+       $vssÿnf
+ (cڡ \ 5*
+__»¡riù
+__s
+,
+
+484 cڡ \ 5*
+__»¡riù
+__fÜm©
+, 
+_G_va_li¡
+__¬g
+)
+
+485 
+__THROW
+       `__©\8cibu\8b__
+ ((
+       `__fÜm©__
+ (
+__sÿnf__
+, 2, 0)));
+
+487 #ià!
+def\9aed
+__USE_GNU
+ \
+
+488 && (!
+def\9aed
+__LDBL_COMPAT
+ || !def\9aed 
+__REDIRECT
+) \
+
+489 && (
+def\9aed
+__STRICT_ANSI__
+ || def\9aed 
+__USE_XOPEN2K
+)
+
+490 #ifdeà
+__REDIRECT
+
+
+494 \r\12
+       `__REDIRECT
+ (
+vfsÿnf
+,
+
+495 (
+FILE
+ *
+__»¡riù
+__s
+,
+
+496 cڡ \ 5*
+__»¡riù
+__fÜm©
+, 
+_G_va_li¡
+__¬g
+),
+
+497 
+__isoc99_vfsÿnf
+)
+
+498 
+       `__©\8cibu\8b__
+ ((
+       $__fÜm©__
+ (
+__sÿnf__
+, 2, 0))è
+__wur
+;
+
+499 \r\12
+       `__REDIRECT
+ (
+vsÿnf
+, (cڡ \ 5*
+__»¡riù
+__fÜm©
+,
+
+500 
+_G_va_li¡
+__¬g
+), 
+__isoc99_vsÿnf
+)
+
+501 
+       `__©\8cibu\8b__
+ ((
+       $__fÜm©__
+ (
+__sÿnf__
+, 1, 0))è
+__wur
+;
+
+502 \r\12
+       `__REDIRECT_NTH
+ (
+vssÿnf
+,
+
+503 (cڡ \ 5*
+__»¡riù
+__s
+,
+
+504 cڡ \ 5*
+__»¡riù
+__fÜm©
+,
+
+505 
+_G_va_li¡
+__¬g
+), 
+__isoc99_vssÿnf
+)
+
+506 
+       `__©\8cibu\8b__
+ ((
+       `__fÜm©__
+ (
+__sÿnf__
+, 2, 0)));
+
+508 \r\12
+       $__isoc99_vfsÿnf
+ (
+FILE
+ *
+__»¡riù
+__s
+,
+
+509 cڡ \ 5*
+__»¡riù
+__fÜm©
+,
+
+510 
+_G_va_li¡
+__¬g
+__wur
+;
+
+511 \r\12
+       $__isoc99_vsÿnf
+ (cڡ \ 5*
+__»¡riù
+__fÜm©
+,
+
+512 
+_G_va_li¡
+__¬g
+__wur
+;
+
+513 \r\12
+       $__isoc99_vssÿnf
+ (cڡ \ 5*
+__»¡riù
+__s
+,
+
+514 cڡ \ 5*
+__»¡riù
+__fÜm©
+,
+
+515 
+_G_va_li¡
+__¬g
+__THROW
+;
+
+516 \ 1
+       #vfsÿnf
+__isoc99_vfsÿnf
+
+
+       )
+
+517 \ 1
+       #vsÿnf
+__isoc99_vsÿnf
+
+
+       )
+
+518 \ 1
+       #vssÿnf
+__isoc99_vssÿnf
+
+
+       )
+
+522 
+__END_NAMESPACE_C99
+
+
+526 
+__BEGIN_NAMESPACE_STD
+
+
+531 \r\12
+       `fg\91c
+ (
+FILE
+ *
+__¡»am
+);
+
+532 \r\12
+       `g\91c
+ (
+FILE
+ *
+__¡»am
+);
+
+538 \r\12
+       `g\91ch¬
+ (\1e);
+
+539 
+__END_NAMESPACE_STD
+
+
+543 \ 1
+       #g\91c
+(
+_å
+       `_IO_g\91c
+ (_å)
+
+       )
+
+545 #ifdeà
+__USE_POSIX
+
+
+550 \r\12
+       `g\91c_uÆocked
+ (
+FILE
+ *
+__¡»am
+);
+
+551 \r\12
+       `g\91ch¬_uÆocked
+ (\1e);
+
+554 #ifdeà
+__USE_MISC
+
+
+561 \r\12
+       `fg\91c_uÆocked
+ (
+FILE
+ *
+__¡»am
+);
+
+565 
+__BEGIN_NAMESPACE_STD
+
+
+573 \r\12
+       `åutc
+ (\12
+__c
+, 
+FILE
+ *
+__¡»am
+);
+
+574 \r\12
+       `putc
+ (\12
+__c
+, 
+FILE
+ *
+__¡»am
+);
+
+580 \r\12
+       `putch¬
+ (\12
+__c
+);
+
+581 
+__END_NAMESPACE_STD
+
+
+585 \ 1
+       #putc
+(
+_ch
+, 
+_å
+       `_IO_putc
+ (_ch, _å)
+
+       )
+
+587 #ifdeà
+__USE_MISC
+
+
+594 \r\12
+       `åutc_uÆocked
+ (\12
+__c
+, 
+FILE
+ *
+__¡»am
+);
+
+597 #ifdeà
+__USE_POSIX
+
+
+602 \r\12
+       `putc_uÆocked
+ (\12
+__c
+, 
+FILE
+ *
+__¡»am
+);
+
+603 \r\12
+       `putch¬_uÆocked
+ (\12
+__c
+);
+
+607 #ià
+def\9aed
+__USE_MISC
+ \
+
+608 || (
+def\9aed
+__USE_XOPEN
+ && !def\9aed 
+__USE_XOPEN2K
+)
+
+610 \r\12
+       `g\91w
+ (
+FILE
+ *
+__¡»am
+);
+
+613 \r\12
+       `putw
+ (\12
+__w
+, 
+FILE
+ *
+__¡»am
+);
+
+617 
+__BEGIN_NAMESPACE_STD
+
+
+622 \r\ 5*
+       $fg\91s
+ (\ 5*
+__»¡riù
+__s
+, \12
+__n
+, 
+FILE
+ *__»¡riù 
+__¡»am
+)
+
+623 
+__wur
+;
+
+625 #ià!
+def\9aed
+__USE_ISOC11
+ \
+
+626 || (
+def\9aed
+__ýlu¥lus
+ && __cplusplus <= 201103L)
+
+638 \r\ 5*
+       $g\91s
+ (\ 5*
+__s
+__wur
+__©\8cibu\8b_d\95»ÿ\8bd__
+;
+
+640 
+__END_NAMESPACE_STD
+
+
+642 #ifdeà
+__USE_GNU
+
+
+649 \r\ 5*
+       $fg\91s_uÆocked
+ (\ 5*
+__»¡riù
+__s
+, \12
+__n
+,
+
+650 
+FILE
+ *
+__»¡riù
+__¡»am
+__wur
+;
+
+654 #ifdef 
+__USE_XOPEN2K8
+
+
+665 \r
+_IO_ssize_t
+       $__g\91d\96im
+ (\ 5**
+__»¡riù
+__l\9a\95\8c
+,
+
+666 
+size_t
+ *
+__»¡riù
+__n
+, \12
+__d\96im\99\94
+,
+
+667 
+FILE
+ *
+__»¡riù
+__¡»am
+__wur
+;
+
+668 \r
+_IO_ssize_t
+       $g\91d\96im
+ (\ 5**
+__»¡riù
+__l\9a\95\8c
+,
+
+669 
+size_t
+ *
+__»¡riù
+__n
+, \12
+__d\96im\99\94
+,
+
+670 
+FILE
+ *
+__»¡riù
+__¡»am
+__wur
+;
+
+678 \r
+_IO_ssize_t
+       $g\91l\9ae
+ (\ 5**
+__»¡riù
+__l\9a\95\8c
+,
+
+679 
+size_t
+ *
+__»¡riù
+__n
+,
+
+680 
+FILE
+ *
+__»¡riù
+__¡»am
+__wur
+;
+
+684 
+__BEGIN_NAMESPACE_STD
+
+
+689 \r\12
+       `åuts
+ (cڡ \ 5*
+__»¡riù
+__s
+, 
+FILE
+ *__»¡riù 
+__¡»am
+);
+
+695 \r\12
+       `puts
+ (cڡ \ 5*
+__s
+);
+
+702 \r\12
+       `ung\91c
+ (\12
+__c
+, 
+FILE
+ *
+__¡»am
+);
+
+709 \r
+size_t
+       $ä\97d
+ (\1e*
+__»¡riù
+__±r
+, 
+size_t
+__size
+,
+
+710 
+size_t
+__n
+, 
+FILE
+ *
+__»¡riù
+__¡»am
+__wur
+;
+
+715 \r
+size_t
+       `fwr\99e
+ (cڡ \1e*
+__»¡riù
+__±r
+, size_\88
+__size
+,
+
+716 
+size_t
+__n
+, 
+FILE
+ *
+__»¡riù
+__s
+);
+
+717 
+__END_NAMESPACE_STD
+
+
+719 #ifdeà
+__USE_GNU
+
+
+726 \r\12
+       `åuts_uÆocked
+ (cڡ \ 5*
+__»¡riù
+__s
+,
+
+727 
+FILE
+ *
+__»¡riù
+__¡»am
+);
+
+730 #ifdeà
+__USE_MISC
+
+
+737 \r
+size_t
+       $ä\97d_uÆocked
+ (\1e*
+__»¡riù
+__±r
+, 
+size_t
+__size
+,
+
+738 
+size_t
+__n
+, 
+FILE
+ *
+__»¡riù
+__¡»am
+__wur
+;
+
+739 \r
+size_t
+       `fwr\99e_uÆocked
+ (cڡ \1e*
+__»¡riù
+__±r
+, size_\88
+__size
+,
+
+740 
+size_t
+__n
+, 
+FILE
+ *
+__»¡riù
+__¡»am
+);
+
+744 
+__BEGIN_NAMESPACE_STD
+
+
+749 \r\12
+       `f£ek
+ (
+FILE
+ *
+__¡»am
+, \13\12
+__off
+, \12
+__wh\92û
+);
+
+754 \r\13\12
+       $á\96l
+ (
+FILE
+ *
+__¡»am
+__wur
+;
+
+759 \r\1e
+       `»w\9ad
+ (
+FILE
+ *
+__¡»am
+);
+
+760 
+__END_NAMESPACE_STD
+
+
+767 #ià
+def\9aed
+__USE_LARGEFILE
+ || def\9aed 
+__USE_XOPEN2K
+
+
+768 #iâdeà
+__USE_FILE_OFFSET64
+
+
+773 \r\12
+       `f£eko
+ (
+FILE
+ *
+__¡»am
+, 
+__off_t
+__off
+, \12
+__wh\92û
+);
+
+778 \r
+__off_t
+       $á\96lo
+ (
+FILE
+ *
+__¡»am
+__wur
+;
+
+780 #ifdeà
+__REDIRECT
+
+
+781 \r\12
+       `__REDIRECT
+ (
+f£eko
+,
+
+782 (
+FILE
+ *
+__¡»am
+, 
+__off64_t
+__off
+, \12
+__wh\92û
+),
+
+783 
+f£eko64
+);
+
+784 \r
+__off64_t
+       `__REDIRECT
+ (
\96lo
+, (
+FILE
+ *
+__¡»am
+), 
\96lo64
+);
+
+786 \ 1
+       #f£eko
+f£eko64
+
+
+       )
+
+787 \ 1
+       #á\96lo
\96lo64
+
+
+       )
+
+792 
+__BEGIN_NAMESPACE_STD
+
+
+793 #iâdeà
+__USE_FILE_OFFSET64
+
+
+798 \r\12
+       `fg\91pos
+ (
+FILE
+ *
+__»¡riù
+__¡»am
+, 
+åos_t
+ *__»¡riù 
+__pos
+);
+
+803 \r\12
+       `f£\8dos
+ (
+FILE
+ *
+__¡»am
+, cڡ 
+åos_t
+ *
+__pos
+);
+
+805 #ifdeà
+__REDIRECT
+
+
+806 \r\12
+       `__REDIRECT
+ (
+fg\91pos
+, (
+FILE
+ *
+__»¡riù
+__¡»am
+,
+
+807 
+åos_t
+ *
+__»¡riù
+__pos
+), 
+fg\91pos64
+);
+
+808 \r\12
+       `__REDIRECT
+ (
+f£\8dos
+,
+
+809 (
+FILE
+ *
+__¡»am
+, cڡ 
+åos_t
+ *
+__pos
+), 
+f£\8dos64
+);
+
+811 \ 1
+       #fg\91pos
+fg\91pos64
+
+
+       )
+
+812 \ 1
+       #f£\8dos
+f£\8dos64
+
+
+       )
+
+815 
+__END_NAMESPACE_STD
+
+
+817 #ifdeà
+__USE_LARGEFILE64
+
+
+818 \r\12
+       `f£eko64
+ (
+FILE
+ *
+__¡»am
+, 
+__off64_t
+__off
+, \12
+__wh\92û
+);
+
+819 \r
+__off64_t
+       $á\96lo64
+ (
+FILE
+ *
+__¡»am
+__wur
+;
+
+820 \r\12
+       `fg\91pos64
+ (
+FILE
+ *
+__»¡riù
+__¡»am
+, 
+åos64_t
+ *__»¡riù 
+__pos
+);
+
+821 \r\12
+       `f£\8dos64
+ (
+FILE
+ *
+__¡»am
+, cڡ 
+åos64_t
+ *
+__pos
+);
+
+824 
+__BEGIN_NAMESPACE_STD
+
+
+826 \r\1e
+       $þ\97»¼
+ (
+FILE
+ *
+__¡»am
+__THROW
+;
+
+828 \r\12
+       $ãof
+ (
+FILE
+ *
+__¡»am
+__THROW
+__wur
+;
+
+830 \r\12
+       $ã¼Ü
+ (
+FILE
+ *
+__¡»am
+__THROW
+__wur
+;
+
+831 
+__END_NAMESPACE_STD
+
+
+833 #ifdeà
+__USE_MISC
+
+
+835 \r\1e
+       $þ\97»¼_uÆocked
+ (
+FILE
+ *
+__¡»am
+__THROW
+;
+
+836 \r\12
+       $ãof_uÆocked
+ (
+FILE
+ *
+__¡»am
+__THROW
+__wur
+;
+
+837 \r\12
+       $ã¼Ü_uÆocked
+ (
+FILE
+ *
+__¡»am
+__THROW
+__wur
+;
+
+841 
+__BEGIN_NAMESPACE_STD
+
+
+846 \r\1e
+       `³¼Ü
+ (cڡ \ 5*
+__s
+);
+
+847 
+__END_NAMESPACE_STD
+
+
+853 \ 2
+       ~<b\99s/sys_\94¾i¡.h
+>
+
+856 #ifdef 
+__USE_POSIX
+
+
+858 \r\12
+       $f\9e\92o
+ (
+FILE
+ *
+__¡»am
+__THROW
+__wur
+;
+
+861 #ifdeà
+__USE_MISC
+
+
+863 \r\12
+       $f\9e\92o_uÆocked
+ (
+FILE
+ *
+__¡»am
+__THROW
+__wur
+;
+
+867 #ifdeà
+__USE_POSIX2
+
+
+872 \r
+FILE
+ *
+       $pݒ
+ (cڡ \ 5*
+__commªd
+, cڡ \ 5*
+__modes
+__wur
+;
+
+878 \r\12
+       `pþo£
+ (
+FILE
+ *
+__¡»am
+);
+
+882 #ifdef 
+__USE_POSIX
+
+
+884 \r\ 5*
+       $ù\94mid
+ (\ 5*
+__s
+__THROW
+;
+
+888 #ifdeà
+__USE_XOPEN
+
+
+890 \r\ 5*
+       `cu£rid
+ (\ 5*
+__s
+);
+
+894 #ifdef 
+__USE_GNU
+
+
+895 \19
+ob¡ack
+;
+
+898 \r\12
+       $ob¡ack_´\9atf
+ (\19
+ob¡ack
+ *
+__»¡riù
+__ob¡ack
+,
+
+899 cڡ \ 5*
+__»¡riù
+__fÜm©
+, ...)
+
+900 
+__THROWNL
+       `__©\8cibu\8b__
+ ((
+       `__fÜm©__
+ (
+__´\9atf__
+, 2, 3)));
+
+901 \r\12
+       $ob¡ack_v´\9atf
+ (\19
+ob¡ack
+ *
+__»¡riù
+__ob¡ack
+,
+
+902 cڡ \ 5*
+__»¡riù
+__fÜm©
+,
+
+903 
+_G_va_li¡
+__¬gs
+)
+
+904 
+__THROWNL
+       `__©\8cibu\8b__
+ ((
+       `__fÜm©__
+ (
+__´\9atf__
+, 2, 0)));
+
+908 #ifdeà
+__USE_POSIX
+
+
+912 \r\1e
+       $æockf\9ee
+ (
+FILE
+ *
+__¡»am
+__THROW
+;
+
+916 \r\12
+       $árylockf\9ee
+ (
+FILE
+ *
+__¡»am
+__THROW
+__wur
+;
+
+919 \r\1e
+       $fuÆockf\9ee
+ (
+FILE
+ *
+__¡»am
+__THROW
+;
+
+922 #ià
+def\9aed
+__USE_XOPEN
+ && !def\9aed 
+__USE_XOPEN2K
+ && !def\9aed 
+__USE_GNU
+
+
+926 \ 1
+       #__Ãed_g\91Ýt
+
+
+       )
+
+927 \ 2
+       ~<g\91Ýt.h
+>
+
+932 #ifdeà
+__USE_EXTERN_INLINES
+
+
+933 \ 2
+       ~<b\99s/¡dio.h
+>
+
+935 #ià
+__USE_FORTIFY_LEVEL
+ > 0 && 
+def\9aed
+__fÜtify_funùiÚ
+
+
+936 \ 2
+       ~<b\99s/¡dio2.h
+>
+
+938 #ifdeà
+__LDBL_COMPAT
+
+
+939 \ 2
+       ~<b\99s/¡dio-ldbl.h
+>
+
+942 
+__END_DECLS
+
+
+       @/usr/include/stdlib.h
+
+22 #iâdef 
+_STDLIB_H
+
+
+24 \ 2
+       ~<ã©u»s.h
+>
+
+27 \ 1
+       #__Ãed_size_t
+
+
+       )
+
+28 #iâdeà
+__Ãed_m®loc_ªd_ÿÎoc
+
+
+29 \ 1
+       #__Ãed_wch¬_t
+
+
+       )
+
+30 \ 1
+       #__Ãed_NULL
+
+
+       )
+
+32 \ 2
+       ~<¡ddef.h
+>
+
+34 
+       g__BEGIN_DECLS
+
+
+36 #iâdeà
+__Ãed_m®loc_ªd_ÿÎoc
+
+
+37 \ 1
+       #_STDLIB_H
+ 1
+
+       )
+
+39 #ià(
+def\9aed
+__USE_XOPEN
+ || def\9aed 
+__USE_XOPEN2K8
+è&& !def\9aed 
+_SYS_WAIT_H
+
+
+41 \ 2
+       ~<b\99s/wa\99æags.h
+>
+
+42 \ 2
+       ~<b\99s/wa\99¡©us.h
+>
+
+44 #ifdeà
+__USE_MISC
+
+
+49 #ià
+def\9aed
+__GNUC__
+ && !def\9aed 
+__ýlu¥lus
+
+
+50 \ 1
+       #__WAIT_INT
+(
+¡©us
+) \
+
+51 (
+       `__ex\8bnsiÚ__
+ (((uniÚ { 
+       `__ty³of
+(
+¡©us
+__\9a
+; \12
+__i
+; }) \
+
+52 { .
+__\9a
+ = (
+¡©us
+è}).
+__i
+))
+
+       )
+
+54 \ 1
+       #__WAIT_INT
+(
+¡©us
+è(*(\12*è&(¡©us))
+
+       )
+
+62 #ià!
+def\9aed
+__GNUC__
+ || __GNUC__ < 2 || def\9aed 
+__ýlu¥lus
+
+
+63 \ 1
+       #__WAIT_STATUS
\1e*
+
+       )
+
+64 \ 1
+       #__WAIT_STATUS_DEFN
\1e*
+
+       )
+
+69 \1c
+wa\99
+ *
+       m__u±r
+;
+
+70 \12*
+       m__\9d\8c
+;
+
+71 } 
+       t__WAIT_STATUS
+       t__©\8cibu\8b__
+ ((
+       t__\8cª¥¬\92t_uniÚ__
+));
+
+72 \ 1
+       #__WAIT_STATUS_DEFN
\12*
+
+       )
+
+77 \ 1
+       #__WAIT_INT
+(
+¡©us
+è(¡©us)
+
+       )
+
+78 \ 1
+       #__WAIT_STATUS
\12*
+
+       )
+
+79 \ 1
+       #__WAIT_STATUS_DEFN
\12*
+
+       )
+
+84 \ 1
+       #WEXITSTATUS
+(
+¡©us
+       `__WEXITSTATUS
+ (
+       `__WAIT_INT
+ (¡©us))
+
+       )
+
+85 \ 1
+       #WTERMSIG
+(
+¡©us
+       `__WTERMSIG
+ (
+       `__WAIT_INT
+ (¡©us))
+
+       )
+
+86 \ 1
+       #WSTOPSIG
+(
+¡©us
+       `__WSTOPSIG
+ (
+       `__WAIT_INT
+ (¡©us))
+
+       )
+
+87 \ 1
+       #WIFEXITED
+(
+¡©us
+       `__WIFEXITED
+ (
+       `__WAIT_INT
+ (¡©us))
+
+       )
+
+88 \ 1
+       #WIFSIGNALED
+(
+¡©us
+       `__WIFSIGNALED
+ (
+       `__WAIT_INT
+ (¡©us))
+
+       )
+
+89 \ 1
+       #WIFSTOPPED
+(
+¡©us
+       `__WIFSTOPPED
+ (
+       `__WAIT_INT
+ (¡©us))
+
+       )
+
+90 #ifdeà
+__WIFCONTINUED
+
+
+91 \ 1
+       #WIFCONTINUED
+(
+¡©us
+       `__WIFCONTINUED
+ (
+       `__WAIT_INT
+ (¡©us))
+
+       )
+
+95 
+__BEGIN_NAMESPACE_STD
+
+
+99 \12
+       mquÙ
+;
+
+100 \12
+       m»m
+;
+
+101 } 
+       tdiv_t
+;
+
+104 #iâdeà
+__ldiv_t_def\9aed
+
+
+107 \13\12
+       mquÙ
+;
+
+108 \13\12
+       m»m
+;
+
+109 } 
+       tldiv_t
+;
+
+110 \ 1
+       #__ldiv_t_def\9aed
+ 1
+
+       )
+
+112 
+       g__END_NAMESPACE_STD
+
+
+114 #ià
+def\9aed
+__USE_ISOC99
+ && !def\9aed 
+__Îdiv_t_def\9aed
+
+
+115 
+__BEGIN_NAMESPACE_C99
+
+
+117 
+__ex\8bnsiÚ__
\estruct
+
+119 \13\13\12
+       mquÙ
+;
+
+120 \13\13\12
+       m»m
+;
+
+121 } 
+       tÎdiv_t
+;
+
+122 \ 1
+       #__Îdiv_t_def\9aed
+ 1
+
+       )
+
+123 
+       g__END_NAMESPACE_C99
+
+
+128 \ 1
+       #RAND_MAX
+ 2147483647
+
+       )
+
+133 \ 1
+       #EXIT_FAILURE
+ 1
+
+       )
+
+134 \ 1
+       #EXIT_SUCCESS
+ 0
+
+       )
+
+138 \ 1
+       #MB_CUR_MAX
+ (
+       `__ùy³_g\91_mb_cur_max
+ ())
+
+       )
+
+139 \r
+size_t
+       $__ùy³_g\91_mb_cur_max
+ (\1eè
+__THROW
+__wur
+;
+
+142 
+__BEGIN_NAMESPACE_STD
+
+
+144 \r\b
+       $©of
+ (cڡ \ 5*
+__Ō
+)
+
+145 
+__THROW
+__©\8cibu\8b_pu»__
+       `__nÚnuÎ
+ ((1)è
+__wur
+;
+
+147 \r\12
+       $©oi
+ (cڡ \ 5*
+__Ō
+)
+
+148 
+__THROW
+__©\8cibu\8b_pu»__
+       `__nÚnuÎ
+ ((1)è
+__wur
+;
+
+150 \r\13\12
+       $©Þ
+ (cڡ \ 5*
+__Ō
+)
+
+151 
+__THROW
+__©\8cibu\8b_pu»__
+       `__nÚnuÎ
+ ((1)è
+__wur
+;
+
+152 
+__END_NAMESPACE_STD
+
+
+154 #ifdeà
+__USE_ISOC99
+
+
+155 
+__BEGIN_NAMESPACE_C99
+
+
+157 
+__ex\8bnsiÚ__
\r\13\13\12
+       $©Þl
+ (cڡ \ 5*
+__Ō
+)
+
+158 
+__THROW
+__©\8cibu\8b_pu»__
+       `__nÚnuÎ
+ ((1)è
+__wur
+;
+
+159 
+__END_NAMESPACE_C99
+
+
+162 
+__BEGIN_NAMESPACE_STD
+
+
+164 \r\b
+       $¡¹od
+ (cڡ \ 5*
+__»¡riù
+__Ō
+,
+
+165 \ 5**
+__»¡riù
+__\92d±r
+)
+
+166 
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+167 
+__END_NAMESPACE_STD
+
+
+169 #ifdef 
+__USE_ISOC99
+
+
+170 
+__BEGIN_NAMESPACE_C99
+
+
+172 \r\ e
+       $¡¹of
+ (cڡ \ 5*
+__»¡riù
+__Ō
+,
+
+173 \ 5**
+__»¡riù
+__\92d±r
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+175 \r\13\b
+       $¡¹Þd
+ (cڡ \ 5*
+__»¡riù
+__Ō
+,
+
+176 \ 5**
+__»¡riù
+__\92d±r
+)
+
+177 
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+178 
+__END_NAMESPACE_C99
+
+
+181 
+__BEGIN_NAMESPACE_STD
+
+
+183 \r\13\12
+       $¡¹Þ
+ (cڡ \ 5*
+__»¡riù
+__Ō
+,
+
+184 \ 5**
+__»¡riù
+__\92d±r
+, \12
+__ba£
+)
+
+185 
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+187 \r\1d\13\12
+       $¡¹oul
+ (cڡ \ 5*
+__»¡riù
+__Ō
+,
+
+188 \ 5**
+__»¡riù
+__\92d±r
+, \12
+__ba£
+)
+
+189 
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+190 
+__END_NAMESPACE_STD
+
+
+192 #ifdeà
+__USE_MISC
+
+
+194 
+__ex\8bnsiÚ__
+
+
+195 \r\13\13\12
+       $¡¹oq
+ (cڡ \ 5*
+__»¡riù
+__Ō
+,
+
+196 \ 5**
+__»¡riù
+__\92d±r
+, \12
+__ba£
+)
+
+197 
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+199 
+__ex\8bnsiÚ__
+
+
+200 \r\1d\13\13\12
+       $¡¹ouq
+ (cڡ \ 5*
+__»¡riù
+__Ō
+,
+
+201 \ 5**
+__»¡riù
+__\92d±r
+, \12
+__ba£
+)
+
+202 
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+205 #ifdeà
+__USE_ISOC99
+
+
+206 
+__BEGIN_NAMESPACE_C99
+
+
+208 
+__ex\8bnsiÚ__
+
+
+209 \r\13\13\12
+       $¡¹Þl
+ (cڡ \ 5*
+__»¡riù
+__Ō
+,
+
+210 \ 5**
+__»¡riù
+__\92d±r
+, \12
+__ba£
+)
+
+211 
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+213 
+__ex\8bnsiÚ__
+
+
+214 \r\1d\13\13\12
+       $¡¹ouÎ
+ (cڡ \ 5*
+__»¡riù
+__Ō
+,
+
+215 \ 5**
+__»¡riù
+__\92d±r
+, \12
+__ba£
+)
+
+216 
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+217 
+__END_NAMESPACE_C99
+
+
+221 #ifdeà
+__USE_GNU
+
+
+235 \ 2
+       ~<xloÿË.h
+>
+
+239 \r\13\12
+       $¡¹Þ_l
+ (cڡ \ 5*
+__»¡riù
+__Ō
+,
+
+240 \ 5**
+__»¡riù
+__\92d±r
+, \12
+__ba£
+,
+
+241 
+__loÿË_t
+__loc
+__THROW
+       `__nÚnuÎ
+ ((1, 4));
+
+243 \r\1d\13\12
+       $¡¹oul_l
+ (cڡ \ 5*
+__»¡riù
+__Ō
+,
+
+244 \ 5**
+__»¡riù
+__\92d±r
+,
+
+245 \12
+__ba£
+, 
+__loÿË_t
+__loc
+)
+
+246 
+__THROW
+       `__nÚnuÎ
+ ((1, 4));
+
+248 
+__ex\8bnsiÚ__
+
+
+249 \r\13\13\12
+       $¡¹Þl_l
+ (cڡ \ 5*
+__»¡riù
+__Ō
+,
+
+250 \ 5**
+__»¡riù
+__\92d±r
+, \12
+__ba£
+,
+
+251 
+__loÿË_t
+__loc
+)
+
+252 
+__THROW
+       `__nÚnuÎ
+ ((1, 4));
+
+254 
+__ex\8bnsiÚ__
+
+
+255 \r\1d\13\13\12
+       $¡¹ouÎ_l
+ (cڡ \ 5*
+__»¡riù
+__Ō
+,
+
+256 \ 5**
+__»¡riù
+__\92d±r
+,
+
+257 \12
+__ba£
+, 
+__loÿË_t
+__loc
+)
+
+258 
+__THROW
+       `__nÚnuÎ
+ ((1, 4));
+
+260 \r\b
+       $¡¹od_l
+ (cڡ \ 5*
+__»¡riù
+__Ō
+,
+
+261 \ 5**
+__»¡riù
+__\92d±r
+, 
+__loÿË_t
+__loc
+)
+
+262 
+__THROW
+       `__nÚnuÎ
+ ((1, 3));
+
+264 \r\ e
+       $¡¹of_l
+ (cڡ \ 5*
+__»¡riù
+__Ō
+,
+
+265 \ 5**
+__»¡riù
+__\92d±r
+, 
+__loÿË_t
+__loc
+)
+
+266 
+__THROW
+       `__nÚnuÎ
+ ((1, 3));
+
+268 \r\13\b
+       $¡¹Þd_l
+ (cڡ \ 5*
+__»¡riù
+__Ō
+,
+
+269 \ 5**
+__»¡riù
+__\92d±r
+,
+
+270 
+__loÿË_t
+__loc
+)
+
+271 
+__THROW
+       `__nÚnuÎ
+ ((1, 3));
+
+275 #ifdeà
+__USE_EXTERN_INLINES
+
+
+276 
+__BEGIN_NAMESPACE_STD
+
+
+277 
+__ex\8bº_\9al\9ae
\12
+
+278 
+       `__NTH
+ (
+       $©oi
+ (cڡ \ 5*
+__Ō
+))
+
+280 \15 (\12è
+       `¡¹Þ
+ (
+__Ō
+, (\ 5**è
+NULL
+, 10);
+
+281 
+       }
+}
+
+282 
+__ex\8bº_\9al\9ae
\13\12
+
+283 
+__NTH
+ (
+       $©Þ
+ (cڡ \ 5*
+__Ō
+))
+
+285 \15 
+       `¡¹Þ
+ (
+__Ō
+, (\ 5**è
+NULL
+, 10);
+
+286 
+       }
+}
+
+287 
+       g__END_NAMESPACE_STD
+
+
+289 #ifdeà
+__USE_ISOC99
+
+
+290 
+__BEGIN_NAMESPACE_C99
+
+
+291 
+__ex\8bnsiÚ__
+__ex\8bº_\9al\9ae
\13\13\12
+
+292 
+__NTH
+ (
+       $©Þl
+ (cڡ \ 5*
+__Ō
+))
+
+294 \15 
+       `¡¹Þl
+ (
+__Ō
+, (\ 5**è
+NULL
+, 10);
+
+295 
+       }
+}
+
+296 
+       g__END_NAMESPACE_C99
+
+
+301 #ià
+def\9aed
+__USE_MISC
+ || def\9aed 
+__USE_XOPEN_EXTENDED
+
+
+305 \r\ 5*
+       $l64a
+ (\13\12
+__n
+__THROW
+__wur
+;
+
+308 \r\13\12
+       $a64l
+ (cڡ \ 5*
+__s
+)
+
+309 
+__THROW
+__©\8cibu\8b_pu»__
+       `__nÚnuÎ
+ ((1)è
+__wur
+;
+
+313 #ià
+def\9aed
+__USE_MISC
+ || def\9aed 
+__USE_XOPEN_EXTENDED
+
+
+314 \ 2
+       ~<sys/ty³s.h
+>
+
+321 \r\13\12
+       $¿ndom
+ (\1eè
+__THROW
+;
+
+324 \r\1e
+       $¤ªdom
+ (\1d\12
+__£ed
+__THROW
+;
+
+330 \r\ 5*
+       $\9a\99¡©e
+ (\1d\12
+__£ed
+, \ 5*
+__¡©ebuf
+,
+
+331 
+size_t
+__¡©\96\92
+__THROW
+       `__nÚnuÎ
+ ((2));
+
+335 \r\ 5*
+       $£t¡©e
+ (\ 5*
+__¡©ebuf
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+338 #ifdeà
+__USE_MISC
+
+
+343 \19
+       s¿ndom_d©a
+
+
+345 
+\9at32_t
+ *
\8c
+;
+
+346 
+\9at32_t
+ *
\8c
+;
+
+347 
+\9at32_t
+ *
+¡©e
+;
+
+348 \12
+¿nd_ty³
+;
+
+349 \12
+¿nd_deg
+;
+
+350 \12
+¿nd_£p
+;
+
+351 
+\9at32_t
+ *
+\92d_±r
+;
+
+354 \r\12
+       $¿ndom_r
+ (\19
+¿ndom_d©a
+ *
+__»¡riù
+__buf
+,
+
+355 
+\9at32_t
+ *
+__»¡riù
+__»suÉ
+__THROW
+       `__nÚnuÎ
+ ((1, 2));
+
+357 \r\12
+       $¤ªdom_r
+ (\1d\12
+__£ed
+, \19
+¿ndom_d©a
+ *
+__buf
+)
+
+358 
+__THROW
+       `__nÚnuÎ
+ ((2));
+
+360 \r\12
+       $\9a\99¡©e_r
+ (\1d\12
+__£ed
+, \ 5*
+__»¡riù
+__¡©ebuf
+,
+
+361 
+size_t
+__¡©\96\92
+,
+
+362 \19
+¿ndom_d©a
+ *
+__»¡riù
+__buf
+)
+
+363 
+__THROW
+       `__nÚnuÎ
+ ((2, 4));
+
+365 \r\12
+       $£t¡©e_r
+ (\ 5*
+__»¡riù
+__¡©ebuf
+,
+
+366 \19
+¿ndom_d©a
+ *
+__»¡riù
+__buf
+)
+
+367 
+__THROW
+       `__nÚnuÎ
+ ((1, 2));
+
+372 
+__BEGIN_NAMESPACE_STD
+
+
+374 \r\12
+       $¿nd
+ (\1eè
+__THROW
+;
+
+376 \r\1e
+       $¤ªd
+ (\1d\12
+__£ed
+__THROW
+;
+
+377 
+__END_NAMESPACE_STD
+
+
+379 #ifdeà
+__USE_POSIX
+
+
+381 \r\12
+       $¿nd_r
+ (\1d\12*
+__£ed
+__THROW
+;
+
+385 #ià
+def\9aed
+__USE_MISC
+ || def\9aed 
+__USE_XOPEN
+
+
+389 \r\b
+       $d¿nd48
+ (\1eè
+__THROW
+;
+
+390 \r\b
+       $\94ªd48
+ (\1d\16\12
+__xsubi
+[3]è
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+393 \r\13\12
+       $̪d48
+ (\1eè
+__THROW
+;
+
+394 \r\13\12
+       $Īd48
+ (\1d\16\12
+__xsubi
+[3])
+
+395 
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+398 \r\13\12
+       $m¿nd48
+ (\1eè
+__THROW
+;
+
+399 \r\13\12
+       $j¿nd48
+ (\1d\16\12
+__xsubi
+[3])
+
+400 
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+403 \r\1e
+       $¤ªd48
+ (\13\12
+__£edv®
+__THROW
+;
+
+404 \r\1d\16\12*
+       $£ed48
+ (\1d\16\12
+__£ed16v
+[3])
+
+405 
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+406 \r\1e
+       $lcÚg48
+ (\1d\16\12
+__·¿m
+[7]è
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+408 #ifdeà
+__USE_MISC
+
+
+412 \19
+       sd¿nd48_d©a
+
+
+414 \1d\16\12
+__x
+[3];
+
+415 \1d\16\12
+__Þd_x
+[3];
+
+416 \1d\16\12
+__c
+;
+
+417 \1d\16\12
+__\9a\99
+;
+
+418 
+__ex\8bnsiÚ__
\1d\13\13\12
+__a
+;
+
+423 \r\12
+       $d¿nd48_r
+ (\19
+d¿nd48_d©a
+ *
+__»¡riù
+__bufãr
+,
+
+424 \b*
+__»¡riù
+__»suÉ
+__THROW
+       `__nÚnuÎ
+ ((1, 2));
+
+425 \r\12
+       $\94ªd48_r
+ (\1d\16\12
+__xsubi
+[3],
+
+426 \19
+d¿nd48_d©a
+ *
+__»¡riù
+__bufãr
+,
+
+427 \b*
+__»¡riù
+__»suÉ
+__THROW
+       `__nÚnuÎ
+ ((1, 2));
+
+430 \r\12
+       $̪d48_r
+ (\19
+d¿nd48_d©a
+ *
+__»¡riù
+__bufãr
+,
+
+431 \13\12*
+__»¡riù
+__»suÉ
+)
+
+432 
+__THROW
+       `__nÚnuÎ
+ ((1, 2));
+
+433 \r\12
+       $Īd48_r
+ (\1d\16\12
+__xsubi
+[3],
+
+434 \19
+d¿nd48_d©a
+ *
+__»¡riù
+__bufãr
+,
+
+435 \13\12*
+__»¡riù
+__»suÉ
+)
+
+436 
+__THROW
+       `__nÚnuÎ
+ ((1, 2));
+
+439 \r\12
+       $m¿nd48_r
+ (\19
+d¿nd48_d©a
+ *
+__»¡riù
+__bufãr
+,
+
+440 \13\12*
+__»¡riù
+__»suÉ
+)
+
+441 
+__THROW
+       `__nÚnuÎ
+ ((1, 2));
+
+442 \r\12
+       $j¿nd48_r
+ (\1d\16\12
+__xsubi
+[3],
+
+443 \19
+d¿nd48_d©a
+ *
+__»¡riù
+__bufãr
+,
+
+444 \13\12*
+__»¡riù
+__»suÉ
+)
+
+445 
+__THROW
+       `__nÚnuÎ
+ ((1, 2));
+
+448 \r\12
+       $¤ªd48_r
+ (\13\12
+__£edv®
+, \19
+d¿nd48_d©a
+ *
+__bufãr
+)
+
+449 
+__THROW
+       `__nÚnuÎ
+ ((2));
+
+451 \r\12
+       $£ed48_r
+ (\1d\16\12
+__£ed16v
+[3],
+
+452 \19
+d¿nd48_d©a
+ *
+__bufãr
+__THROW
+       `__nÚnuÎ
+ ((1, 2));
+
+454 \r\12
+       $lcÚg48_r
+ (\1d\16\12
+__·¿m
+[7],
+
+455 \19
+d¿nd48_d©a
+ *
+__bufãr
+)
+
+456 
+__THROW
+       `__nÚnuÎ
+ ((1, 2));
+
+462 #iâdeà
+__m®loc_ªd_ÿÎoc_def\9aed
+
+
+463 \ 1
+       #__m®loc_ªd_ÿÎoc_def\9aed
+
+
+       )
+
+464 
+__BEGIN_NAMESPACE_STD
+
+
+466 \r\1e*
+       $m®loc
+ (
+size_t
+__size
+__THROW
+__©\8cibu\8b_m®loc__
+__wur
+;
+
+468 \r\1e*
+       $ÿÎoc
+ (
+size_t
+__nmemb
+, size_\88
+__size
+)
+
+469 
+__THROW
+__©\8cibu\8b_m®loc__
+__wur
+;
+
+470 
+__END_NAMESPACE_STD
+
+
+473 #iâdeà
+__Ãed_m®loc_ªd_ÿÎoc
+
+
+474 
+__BEGIN_NAMESPACE_STD
+
+
+480 \r\1e*
+       $»®loc
+ (\1e*
+__±r
+, 
+size_t
+__size
+)
+
+481 
+__THROW
+__©\8cibu\8b_w¬n_unu£d_»suÉ__
+;
+
+483 \r\1e
+       $ä\93
+ (\1e*
+__±r
+__THROW
+;
+
+484 
+__END_NAMESPACE_STD
+
+
+486 #ifdef 
+__USE_MISC
+
+
+488 \r\1e
+       $cä\93
+ (\1e*
+__±r
+__THROW
+;
+
+491 #ifdeà
+__USE_MISC
+
+
+492 \ 2
+       ~<®loÿ.h
+>
+
+495 #ià(
+def\9aed
+__USE_XOPEN_EXTENDED
+ && !def\9aed 
+__USE_XOPEN2K
+) \
+
+496 || 
+def\9aed
+__USE_MISC
+
+
+498 \r\1e*
+       $v®loc
+ (
+size_t
+__size
+__THROW
+__©\8cibu\8b_m®loc__
+__wur
+;
+
+501 #ifdeà
+__USE_XOPEN2K
+
+
+503 \r\12
+       $posix_mem®ign
+ (\1e**
+__mem±r
+, 
+size_t
+__®ignm\92t
+, size_\88
+__size
+)
+
+504 
+__THROW
+       `__nÚnuÎ
+ ((1)è
+__wur
+;
+
+507 #ifdeà
+__USE_ISOC11
+
+
+509 \r\1e*
+       $®igÃd_®loc
+ (
+size_t
+__®ignm\92t
+, size_\88
+__size
+)
+
+510 
+__THROW
+__©\8cibu\8b_m®loc__
+       `__©\8cibu\8b_®loc_size__
+ ((2)è
+__wur
+;
+
+513 
+__BEGIN_NAMESPACE_STD
+
+
+515 \r\1e
+       $abÜt
+ (\1eè
+__THROW
+       `__©\8cibu\8b__
+ ((
+__nÜ\91uº__
+));
+
+519 \r\12
+       $©ex\99
+ (\1e(*
+__func
+è(\1e
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+521 #ià
+def\9aed
+__USE_ISOC11
+ || def\9aed 
+__USE_ISOCXX11
+
+
+523 #ifdeà
+__ýlu¥lus
+
+
+524 \r"C++" \12
+       $©_quick_ex\99
+ (\1e(*
+__func
+) (\1e))
+
+525 
+__THROW
+       `__asm
+ ("©_quick_ex\99
+       `__nÚnuÎ
+ ((1));
+
+527 \r\12
+       $©_quick_ex\99
+ (\1e(*
+__func
+è(\1e
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+530 
+__END_NAMESPACE_STD
+
+
+532 #ifdef 
+__USE_MISC
+
+
+535 \r\12
+       $Ú_ex\99
+ (\1e(*
+__func
+è(\12
+__¡©us
+, \1e*
+__¬g
+), \1e*__arg)
+
+536 
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+539 
+__BEGIN_NAMESPACE_STD
+
+
+543 \r\1e
+       $ex\99
+ (\12
+__¡©us
+__THROW
+       `__©\8cibu\8b__
+ ((
+__nÜ\91uº__
+));
+
+545 #ià
+def\9aed
+__USE_ISOC11
+ || def\9aed 
+__USE_ISOCXX11
+
+
+549 \r\1e
+       $quick_ex\99
+ (\12
+__¡©us
+__THROW
+       `__©\8cibu\8b__
+ ((
+__nÜ\91uº__
+));
+
+551 
+__END_NAMESPACE_STD
+
+
+553 #ifdeà
+__USE_ISOC99
+
+
+554 
+__BEGIN_NAMESPACE_C99
+
+
+557 \r\1e
+       $_Ex\99
+ (\12
+__¡©us
+__THROW
+       `__©\8cibu\8b__
+ ((
+__nÜ\91uº__
+));
+
+558 
+__END_NAMESPACE_C99
+
+
+562 
+__BEGIN_NAMESPACE_STD
+
+
+564 \r\ 5*
+       $g\91\92v
+ (cڡ \ 5*
+__Çme
+__THROW
+       `__nÚnuÎ
+ ((1)è
+__wur
+;
+
+565 
+__END_NAMESPACE_STD
+
+
+567 #ifdeà
+__USE_GNU
+
+
+570 \r\ 5*
+       $£cu»_g\91\92v
+ (cڡ \ 5*
+__Çme
+)
+
+571 
+__THROW
+       `__nÚnuÎ
+ ((1)è
+__wur
+;
+
+574 #ià
+def\9aed
+__USE_MISC
+ || def\9aed 
+__USE_XOPEN
+
+
+578 \r\12
+       $pu\8bnv
+ (\ 5*
+__¡r\9ag
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+581 #ifdeà
+__USE_XOPEN2K
+
+
+584 \r\12
+       $£\8bnv
+ (cڡ \ 5*
+__Çme
+, cڡ \ 5*
+__v®ue
+, \12
+__»¶aû
+)
+
+585 
+__THROW
+       `__nÚnuÎ
+ ((2));
+
+588 \r\12
+       $un£\8bnv
+ (cڡ \ 5*
+__Çme
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+591 #ifdef 
+__USE_MISC
+
+
+595 \r\12
+       $þ\97»nv
+ (\1eè
+__THROW
+;
+
+599 #ià
+def\9aed
+__USE_MISC
+ \
+
+600 || (
+def\9aed
+__USE_XOPEN_EXTENDED
+ && !def\9aed 
+__USE_XOPEN2K8
+)
+
+606 \r\ 5*
+       $mk\8bmp
+ (\ 5*
+__\8bm¶©e
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+609 #ià
+def\9aed
+__USE_XOPEN_EXTENDED
+ || def\9aed 
+__USE_XOPEN2K8
+
+
+618 #iâdeà
+__USE_FILE_OFFSET64
+
+
+619 \r\12
+       $mk¡emp
+ (\ 5*
+__\8bm¶©e
+       `__nÚnuÎ
+ ((1)è
+__wur
+;
+
+621 #ifdeà
+__REDIRECT
+
+
+622 \r\12
+       `__REDIRECT
+ (
+mk¡emp
+, (\ 5*
+__\8bm¶©e
+), 
+mk¡emp64
+)
+
+623 
+       `__nÚnuÎ
+ ((1)è
+__wur
+;
+
+625 \ 1
+       #mk¡emp
+mk¡emp64
+
+
+       )
+
+628 #ifdeà
+__USE_LARGEFILE64
+
+
+629 \r\12
+       $mk¡emp64
+ (\ 5*
+__\8bm¶©e
+       `__nÚnuÎ
+ ((1)è
+__wur
+;
+
+633 #ifdeà
+__USE_MISC
+
+
+640 #iâdeà
+__USE_FILE_OFFSET64
+
+
+641 \r\12
+       $mk¡emps
+ (\ 5*
+__\8bm¶©e
+, \12
+__suffixËn
+       `__nÚnuÎ
+ ((1)è
+__wur
+;
+
+643 #ifdeà
+__REDIRECT
+
+
+644 \r\12
+       `__REDIRECT
+ (
+mk¡emps
+, (\ 5*
+__\8bm¶©e
+, \12
+__suffixËn
+),
+
+645 
+mk¡emps64
+       `__nÚnuÎ
+ ((1)è
+__wur
+;
+
+647 \ 1
+       #mk¡emps
+mk¡emps64
+
+
+       )
+
+650 #ifdeà
+__USE_LARGEFILE64
+
+
+651 \r\12
+       $mk¡emps64
+ (\ 5*
+__\8bm¶©e
+, \12
+__suffixËn
+)
+
+652 
+       `__nÚnuÎ
+ ((1)è
+__wur
+;
+
+656 #ifdeà
+__USE_XOPEN2K8
+
+
+662 \r\ 5*
+       $mkd\8bmp
+ (\ 5*
+__\8bm¶©e
+__THROW
+       `__nÚnuÎ
+ ((1)è
+__wur
+;
+
+665 #ifdeà
+__USE_GNU
+
+
+672 #iâdeà
+__USE_FILE_OFFSET64
+
+
+673 \r\12
+       $mko¡emp
+ (\ 5*
+__\8bm¶©e
+, \12
+__æags
+       `__nÚnuÎ
+ ((1)è
+__wur
+;
+
+675 #ifdeà
+__REDIRECT
+
+
+676 \r\12
+       `__REDIRECT
+ (
+mko¡emp
+, (\ 5*
+__\8bm¶©e
+, \12
+__æags
+), 
+mko¡emp64
+)
+
+677 
+       `__nÚnuÎ
+ ((1)è
+__wur
+;
+
+679 \ 1
+       #mko¡emp
+mko¡emp64
+
+
+       )
+
+682 #ifdeà
+__USE_LARGEFILE64
+
+
+683 \r\12
+       $mko¡emp64
+ (\ 5*
+__\8bm¶©e
+, \12
+__æags
+       `__nÚnuÎ
+ ((1)è
+__wur
+;
+
+692 #iâdeà
+__USE_FILE_OFFSET64
+
+
+693 \r\12
+       $mko¡emps
+ (\ 5*
+__\8bm¶©e
+, \12
+__suffixËn
+, \12
+__æags
+)
+
+694 
+       `__nÚnuÎ
+ ((1)è
+__wur
+;
+
+696 #ifdeà
+__REDIRECT
+
+
+697 \r\12
+       `__REDIRECT
+ (
+mko¡emps
+, (\ 5*
+__\8bm¶©e
+, \12
+__suffixËn
+,
+
+698 \12
+__æags
+), 
+mko¡emps64
+)
+
+699 
+       `__nÚnuÎ
+ ((1)è
+__wur
+;
+
+701 \ 1
+       #mko¡emps
+mko¡emps64
+
+
+       )
+
+704 #ifdeà
+__USE_LARGEFILE64
+
+
+705 \r\12
+       $mko¡emps64
+ (\ 5*
+__\8bm¶©e
+, \12
+__suffixËn
+, \12
+__æags
+)
+
+706 
+       `__nÚnuÎ
+ ((1)è
+__wur
+;
+
+711 
+__BEGIN_NAMESPACE_STD
+
+
+716 \r\12
+       $sy¡em
+ (cڡ \ 5*
+__commªd
+__wur
+;
+
+717 
+__END_NAMESPACE_STD
+
+
+720 #ifdef 
+__USE_GNU
+
+
+723 \r\ 5*
+       $ÿnÚiÿlize_f\9ee_Çme
+ (cڡ \ 5*
+__Çme
+)
+
+724 
+__THROW
+       `__nÚnuÎ
+ ((1)è
+__wur
+;
+
+727 #ià
+def\9aed
+__USE_MISC
+ || def\9aed 
+__USE_XOPEN_EXTENDED
+
+
+733 \r\ 5*
+       $»®·th
+ (cڡ \ 5*
+__»¡riù
+__Çme
+,
+
+734 \ 5*
+__»¡riù
+__»sÞved
+__THROW
+__wur
+;
+
+739 #iâdeà
+__COMPAR_FN_T
+
+
+740 \ 1
+       #__COMPAR_FN_T
+
+
+       )
+
+741 \e\12(*
+       t__com·r_â_t
+) (const \1e*, const \1e*);
+
+743 #ifdef 
+__USE_GNU
+
+
+744 \e
+__com·r_â_t
+       tcom·risÚ_â_t
+;
+
+747 #ifdeà
+__USE_GNU
+
+
+748 \e\12(*
+       t__com·r_d_â_t
+) (const \1e*, const \1e*, \1e*);
+
+751 
+__BEGIN_NAMESPACE_STD
+
+
+754 \r\1e*
+       $b£¬ch
+ (cڡ \1e*
+__key
+, cڡ \1e*
+__ba£
+,
+
+755 
+size_t
+__nmemb
+, size_\88
+__size
+, 
+__com·r_â_t
+__com·r
+)
+
+756 
+       `__nÚnuÎ
+ ((1, 2, 5)è
+__wur
+;
+
+758 #ifdeà
+__USE_EXTERN_INLINES
+
+
+759 \ 2
+       ~<b\99s/¡dlib-b£¬ch.h
+>
+
+764 \r\1e
+       $qsÜt
+ (\1e*
+__ba£
+, 
+size_t
+__nmemb
+, size_\88
+__size
+,
+
+765 
+__com·r_â_t
+__com·r
+       `__nÚnuÎ
+ ((1, 4));
+
+766 #ifdeà
+__USE_GNU
+
+
+767 \r\1e
+       $qsÜt_r
+ (\1e*
+__ba£
+, 
+size_t
+__nmemb
+, size_\88
+__size
+,
+
+768 
+__com·r_d_â_t
+__com·r
+, \1e*
+__¬g
+)
+
+769 
+       `__nÚnuÎ
+ ((1, 4));
+
+774 \r\12
+       $abs
+ (\12
+__x
+__THROW
+       `__©\8cibu\8b__
+ ((
+__cڡ__
+)è
+__wur
+;
+
+775 \r\13\12
+       $Ïbs
+ (\13\12
+__x
+__THROW
+       `__©\8cibu\8b__
+ ((
+__cڡ__
+)è
+__wur
+;
+
+776 
+__END_NAMESPACE_STD
+
+
+778 #ifdeà
+__USE_ISOC99
+
+
+779 
+__ex\8bnsiÚ__
\r\13\13\12
+       $Îabs
+ (\13\13\12
+__x
+)
+
+780 
+__THROW
+       `__©\8cibu\8b__
+ ((
+__cڡ__
+)è
+__wur
+;
+
+784 
+__BEGIN_NAMESPACE_STD
+
+
+788 \r
+div_t
+       $div
+ (\12
+__num\94
+, \12
+__d\92om
+)
+
+789 
+__THROW
+       `__©\8cibu\8b__
+ ((
+__cڡ__
+)è
+__wur
+;
+
+790 \r
+ldiv_t
+       $ldiv
+ (\13\12
+__num\94
+, \13\12
+__d\92om
+)
+
+791 
+__THROW
+       `__©\8cibu\8b__
+ ((
+__cڡ__
+)è
+__wur
+;
+
+792 
+__END_NAMESPACE_STD
+
+
+794 #ifdeà
+__USE_ISOC99
+
+
+795 
+__BEGIN_NAMESPACE_C99
+
+
+796 
+__ex\8bnsiÚ__
\r
+Îdiv_t
+       $Îdiv
+ (\13\13\12
+__num\94
+,
+
+797 \13\13\12
+__d\92om
+)
+
+798 
+__THROW
+       `__©\8cibu\8b__
+ ((
+__cڡ__
+)è
+__wur
+;
+
+799 
+__END_NAMESPACE_C99
+
+
+803 #ià(
+def\9aed
+__USE_XOPEN_EXTENDED
+ && !def\9aed 
+__USE_XOPEN2K8
+) \
+
+804 || 
+def\9aed
+__USE_MISC
+
+
+811 \r\ 5*
+       $ecvt
+ (\b
+__v®ue
+, \12
+__ndig\99
+, \12*
+__»¡riù
+__deýt
+,
+
+812 \12*
+__»¡riù
+__sign
+__THROW
+       `__nÚnuÎ
+ ((3, 4)è
+__wur
+;
+
+817 \r\ 5*
+       $fcvt
+ (\b
+__v®ue
+, \12
+__ndig\99
+, \12*
+__»¡riù
+__deýt
+,
+
+818 \12*
+__»¡riù
+__sign
+__THROW
+       `__nÚnuÎ
+ ((3, 4)è
+__wur
+;
+
+823 \r\ 5*
+       $gcvt
+ (\b
+__v®ue
+, \12
+__ndig\99
+, \ 5*
+__buf
+)
+
+824 
+__THROW
+       `__nÚnuÎ
+ ((3)è
+__wur
+;
+
+827 #ifdeà
+__USE_MISC
+
+
+829 \r\ 5*
+       $qecvt
+ (\13\b
+__v®ue
+, \12
+__ndig\99
+,
+
+830 \12*
+__»¡riù
+__deýt
+, \12*__»¡riù 
+__sign
+)
+
+831 
+__THROW
+       `__nÚnuÎ
+ ((3, 4)è
+__wur
+;
+
+832 \r\ 5*
+       $qfcvt
+ (\13\b
+__v®ue
+, \12
+__ndig\99
+,
+
+833 \12*
+__»¡riù
+__deýt
+, \12*__»¡riù 
+__sign
+)
+
+834 
+__THROW
+       `__nÚnuÎ
+ ((3, 4)è
+__wur
+;
+
+835 \r\ 5*
+       $qgcvt
+ (\13\b
+__v®ue
+, \12
+__ndig\99
+, \ 5*
+__buf
+)
+
+836 
+__THROW
+       `__nÚnuÎ
+ ((3)è
+__wur
+;
+
+841 \r\12
+       $ecvt_r
+ (\b
+__v®ue
+, \12
+__ndig\99
+, \12*
+__»¡riù
+__deýt
+,
+
+842 \12*
+__»¡riù
+__sign
+, \ 5*__»¡riù 
+__buf
+,
+
+843 
+size_t
+__Ën
+__THROW
+       `__nÚnuÎ
+ ((3, 4, 5));
+
+844 \r\12
+       $fcvt_r
+ (\b
+__v®ue
+, \12
+__ndig\99
+, \12*
+__»¡riù
+__deýt
+,
+
+845 \12*
+__»¡riù
+__sign
+, \ 5*__»¡riù 
+__buf
+,
+
+846 
+size_t
+__Ën
+__THROW
+       `__nÚnuÎ
+ ((3, 4, 5));
+
+848 \r\12
+       $qecvt_r
+ (\13\b
+__v®ue
+, \12
+__ndig\99
+,
+
+849 \12*
+__»¡riù
+__deýt
+, \12*__»¡riù 
+__sign
+,
+
+850 \ 5*
+__»¡riù
+__buf
+, 
+size_t
+__Ën
+)
+
+851 
+__THROW
+       `__nÚnuÎ
+ ((3, 4, 5));
+
+852 \r\12
+       $qfcvt_r
+ (\13\b
+__v®ue
+, \12
+__ndig\99
+,
+
+853 \12*
+__»¡riù
+__deýt
+, \12*__»¡riù 
+__sign
+,
+
+854 \ 5*
+__»¡riù
+__buf
+, 
+size_t
+__Ën
+)
+
+855 
+__THROW
+       `__nÚnuÎ
+ ((3, 4, 5));
+
+859 
+__BEGIN_NAMESPACE_STD
+
+
+862 \r\12
+       $mbËn
+ (cڡ \ 5*
+__s
+, 
+size_t
+__n
+__THROW
+;
+
+865 \r\12
+       $mbtowc
+ (
+wch¬_t
+ *
+__»¡riù
+__pwc
+,
+
+866 cڡ \ 5*
+__»¡riù
+__s
+, 
+size_t
+__n
+__THROW
+;
+
+869 \r\12
+       $wùomb
+ (\ 5*
+__s
+, 
+wch¬_t
+__wch¬
+__THROW
+;
+
+873 \r
+size_t
+       $mb¡owcs
+ (
+wch¬_t
+ *
+__»¡riù
+__pwcs
+,
+
+874 cڡ \ 5*
+__»¡riù
+__s
+, 
+size_t
+__n
+__THROW
+;
+
+876 \r
+size_t
+       $wc¡ombs
+ (\ 5*
+__»¡riù
+__s
+,
+
+877 cڡ 
+wch¬_t
+ *
+__»¡riù
+__pwcs
+, 
+size_t
+__n
+)
+
+878 
+__THROW
+;
+
+879 
+__END_NAMESPACE_STD
+
+
+882 #ifdeà
+__USE_MISC
+
+
+887 \r\12
+       $½m©ch
+ (cڡ \ 5*
+__»¥Ú£
+__THROW
+       `__nÚnuÎ
+ ((1)è
+__wur
+;
+
+891 #ià
+def\9aed
+__USE_XOPEN_EXTENDED
+ || def\9aed 
+__USE_XOPEN2K8
+
+
+898 \r\12
+       $g\91subÝt
+ (\ 5**
+__»¡riù
+__ÝtiÚp
+,
+
+899 \ 5*cڡ *
+__»¡riù
+__tok\92s
+,
+
+900 \ 5**
+__»¡riù
+__v®u\95
+)
+
+901 
+__THROW
+       `__nÚnuÎ
+ ((1, 2, 3)è
+__wur
+;
+
+905 #ifdeà
+__USE_XOPEN
+
+
+907 \r\1e
+       $£tkey
+ (cڡ \ 5*
+__key
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+913 #ifdeà
+__USE_XOPEN2KXSI
+
+
+915 \r\12
+       $posix_Ý\92±
+ (\12
+__oæag
+__wur
+;
+
+918 #ifdeà
+__USE_XOPEN
+
+
+923 \r\12
+       $g¿Á±
+ (\12
+__fd
+__THROW
+;
+
+927 \r\12
+       $uÆock±
+ (\12
+__fd
+__THROW
+;
+
+932 \r\ 5*
+       $±¢ame
+ (\12
+__fd
+__THROW
+__wur
+;
+
+935 #ifdeà
+__USE_GNU
+
+
+939 \r\12
+       $±¢ame_r
+ (\12
+__fd
+, \ 5*
+__buf
+, 
+size_t
+__buæ\92
+)
+
+940 
+__THROW
+       `__nÚnuÎ
+ ((2));
+
+943 \r\12
+       `g\91±
+ (\1e);
+
+946 #ifdeà
+__USE_MISC
+
+
+950 \r\12
+       $g\91lßdavg
+ (\b
+__lßdavg
+[], \12
+__ÃËm
+)
+
+951 
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+954 \ 2
+       ~<b\99s/¡dlib-æßt.h
+>
+
+957 #ià
+__USE_FORTIFY_LEVEL
+ > 0 && 
+def\9aed
+__fÜtify_funùiÚ
+
+
+958 \ 2
+       ~<b\99s/¡dlib.h
+>
+
+960 #ifdeà
+__LDBL_COMPAT
+
+
+961 \ 2
+       ~<b\99s/¡dlib-ldbl.h
+>
+
+965 #undeà
+__Ãed_m®loc_ªd_ÿÎoc
+
+
+967 
+__END_DECLS
+
+
+       @/usr/include/string.h
+
+22 #iâdef 
+_STRING_H
+
+
+23 \ 1
+       #_STRING_H
+ 1
+
+       )
+
+25 \ 2
+       ~<ã©u»s.h
+>
+
+27 
+       g__BEGIN_DECLS
+
+
+30 \ 1
+       #__Ãed_size_t
+
+
+       )
+
+31 \ 1
+       #__Ãed_NULL
+
+
+       )
+
+32 \ 2
+       ~<¡ddef.h
+>
+
+35 #ià
+def\9aed
+__ýlu¥lus
+ && 
+__GNUC_PREREQ
+ (4, 4)
+
+36 \ 1
+       #__CORRECT_ISO_CPP_STRING_H_PROTO
+
+
+       )
+
+40 
+__BEGIN_NAMESPACE_STD
+
+
+42 \r\1e*
+       $memýy
+ (\1e*
+__»¡riù
+__de¡
+, cÚ¡ \1e*__»¡riù 
+__¤c
+,
+
+43 
+size_t
+__n
+__THROW
+       `__nÚnuÎ
+ ((1, 2));
+
+46 \r\1e*
+       $memmove
+ (\1e*
+__de¡
+, cڡ \1e*
+__¤c
+, 
+size_t
+__n
+)
+
+47 
+__THROW
+       `__nÚnuÎ
+ ((1, 2));
+
+48 
+__END_NAMESPACE_STD
+
+
+53 #ià
+def\9aed
+__USE_MISC
+ || def\9aed 
+__USE_XOPEN
+
+
+54 \r\1e*
+       $memcýy
+ (\1e*
+__»¡riù
+__de¡
+, cÚ¡ \1e*__»¡riù 
+__¤c
+,
+
+55 \12
+__c
+, 
+size_t
+__n
+)
+
+56 
+__THROW
+       `__nÚnuÎ
+ ((1, 2));
+
+60 
+__BEGIN_NAMESPACE_STD
+
+
+62 \r\1e*
+       $mem£t
+ (\1e*
+__s
+, \12
+__c
+, 
+size_t
+__n
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+65 \r\12
+       $memcmp
+ (cڡ \1e*
+__s1
+, cڡ \1e*
+__s2
+, 
+size_t
+__n
+)
+
+66 
+__THROW
+__©\8cibu\8b_pu»__
+       `__nÚnuÎ
+ ((1, 2));
+
+69 #ifdeà
+__CORRECT_ISO_CPP_STRING_H_PROTO
+
+
+72 \r\1e*
+       `memchr
+ (\1e*
+__s
+, \12
+__c
+, 
+size_t
+__n
+)
+
+73 
+__THROW
+       `__asm
+ ("memchr"è
+__©\8cibu\8b_pu»__
+       `__nÚnuÎ
+ ((1));
+
+74 \rcڡ \1e*
+       `memchr
+ (cڡ \1e*
+__s
+, \12
+__c
+, 
+size_t
+__n
+)
+
+75 
+__THROW
+       `__asm
+ ("memchr"è
+__©\8cibu\8b_pu»__
+       `__nÚnuÎ
+ ((1));
+
+77 #ifdeà
+__OPTIMIZE__
+
+
+78 
+__ex\8bº_®ways_\9al\9ae
\1e*
+
+79 
+       `memchr
+ (\1e*
+__s
+, \12
+__c
+, 
+size_t
+__n
+__THROW
+
+
+81 \15 
+       `__bu\9et\9a_memchr
+ (
+__s
+, 
+__c
+, 
+__n
+);
+
+84 
+__ex\8bº_®ways_\9al\9ae
+ const \1e*
+
+85 
+       `memchr
+ (cڡ \1e*
+__s
+, \12
+__c
+, 
+size_t
+__n
+__THROW
+
+
+87 \15 
+       `__bu\9et\9a_memchr
+ (
+__s
+, 
+__c
+, 
+__n
+);
+
+90 
+       }
+}
+
+92 \r\1e*
+       $memchr
+ (cڡ \1e*
+__s
+, \12
+__c
+, 
+size_t
+__n
+)
+
+93 
+__THROW
+__©\8cibu\8b_pu»__
+       `__nÚnuÎ
+ ((1));
+
+95 
+__END_NAMESPACE_STD
+
+
+97 #ifdeà
+__USE_GNU
+
+
+100 #ifdeà
+__CORRECT_ISO_CPP_STRING_H_PROTO
+
+
+101 \r"C++" \1e*
+       $¿wmemchr
+ (\1e*
+__s
+, \12
+__c
+)
+
+102 
+__THROW
+       `__asm
+ ("¿wmemchr"è
+__©\8cibu\8b_pu»__
+       `__nÚnuÎ
+ ((1));
+
+103 \r"C++" cڡ \1e*
+       $¿wmemchr
+ (cڡ \1e*
+__s
+, \12
+__c
+)
+
+104 
+__THROW
+       `__asm
+ ("¿wmemchr"è
+__©\8cibu\8b_pu»__
+       `__nÚnuÎ
+ ((1));
+
+106 \r\1e*
+       $¿wmemchr
+ (cڡ \1e*
+__s
+, \12
+__c
+)
+
+107 
+__THROW
+__©\8cibu\8b_pu»__
+       `__nÚnuÎ
+ ((1));
+
+111 #ifdeà
+__CORRECT_ISO_CPP_STRING_H_PROTO
+
+
+112 \r"C++" \1e*
+       $memrchr
+ (\1e*
+__s
+, \12
+__c
+, 
+size_t
+__n
+)
+
+113 
+__THROW
+       `__asm
+ ("memrchr"è
+__©\8cibu\8b_pu»__
+       `__nÚnuÎ
+ ((1));
+
+114 \r"C++" cڡ \1e*
+       $memrchr
+ (cڡ \1e*
+__s
+, \12
+__c
+, 
+size_t
+__n
+)
+
+115 
+__THROW
+       `__asm
+ ("memrchr"è
+__©\8cibu\8b_pu»__
+       `__nÚnuÎ
+ ((1));
+
+117 \r\1e*
+       $memrchr
+ (cڡ \1e*
+__s
+, \12
+__c
+, 
+size_t
+__n
+)
+
+118 
+__THROW
+__©\8cibu\8b_pu»__
+       `__nÚnuÎ
+ ((1));
+
+123 
+__BEGIN_NAMESPACE_STD
+
+
+125 \r\ 5*
+       $¡rýy
+ (\ 5*
+__»¡riù
+__de¡
+, cÚ¡ \ 5*__»¡riù 
+__¤c
+)
+
+126 
+__THROW
+       `__nÚnuÎ
+ ((1, 2));
+
+128 \r\ 5*
+       $¡ºýy
+ (\ 5*
+__»¡riù
+__de¡
+,
+
+129 cڡ \ 5*
+__»¡riù
+__¤c
+, 
+size_t
+__n
+)
+
+130 
+__THROW
+       `__nÚnuÎ
+ ((1, 2));
+
+133 \r\ 5*
+       $¡rÿt
+ (\ 5*
+__»¡riù
+__de¡
+, cÚ¡ \ 5*__»¡riù 
+__¤c
+)
+
+134 
+__THROW
+       `__nÚnuÎ
+ ((1, 2));
+
+136 \r\ 5*
+       $¡ºÿt
+ (\ 5*
+__»¡riù
+__de¡
+, cÚ¡ \ 5*__»¡riù 
+__¤c
+,
+
+137 
+size_t
+__n
+__THROW
+       `__nÚnuÎ
+ ((1, 2));
+
+140 \r\12
+       $¡rcmp
+ (cڡ \ 5*
+__s1
+, cڡ \ 5*
+__s2
+)
+
+141 
+__THROW
+__©\8cibu\8b_pu»__
+       `__nÚnuÎ
+ ((1, 2));
+
+143 \r\12
+       $¡ºcmp
+ (cڡ \ 5*
+__s1
+, cڡ \ 5*
+__s2
+, 
+size_t
+__n
+)
+
+144 
+__THROW
+__©\8cibu\8b_pu»__
+       `__nÚnuÎ
+ ((1, 2));
+
+147 \r\12
+       $¡rcÞl
+ (cڡ \ 5*
+__s1
+, cڡ \ 5*
+__s2
+)
+
+148 
+__THROW
+__©\8cibu\8b_pu»__
+       `__nÚnuÎ
+ ((1, 2));
+
+150 \r
+size_t
+       $¡rxäm
+ (\ 5*
+__»¡riù
+__de¡
+,
+
+151 cڡ \ 5*
+__»¡riù
+__¤c
+, 
+size_t
+__n
+)
+
+152 
+__THROW
+       `__nÚnuÎ
+ ((2));
+
+153 
+__END_NAMESPACE_STD
+
+
+155 #ifdeà
+__USE_XOPEN2K8
+
+
+159 \ 2
+       ~<xloÿË.h
+>
+
+162 \r\12
+       $¡rcÞl_l
+ (cڡ \ 5*
+__s1
+, cڡ \ 5*
+__s2
+, 
+__loÿË_t
+__l
+)
+
+163 
+__THROW
+__©\8cibu\8b_pu»__
+       `__nÚnuÎ
+ ((1, 2, 3));
+
+165 \r
+size_t
+       $¡rxäm_l
+ (\ 5*
+__de¡
+, cڡ \ 5*
+__¤c
+, 
+size_t
+__n
+,
+
+166 
+__loÿË_t
+__l
+__THROW
+       `__nÚnuÎ
+ ((2, 4));
+
+169 #ià
+def\9aed
+__USE_XOPEN_EXTENDED
+ || def\9aed 
+__USE_XOPEN2K8
+
+
+171 \r\ 5*
+       $¡rdup
+ (cڡ \ 5*
+__s
+)
+
+172 
+__THROW
+__©\8cibu\8b_m®loc__
+       `__nÚnuÎ
+ ((1));
+
+178 #ià
+def\9aed
+__USE_XOPEN2K8
+
+
+179 \r\ 5*
+       $¡ºdup
+ (cڡ \ 5*
+__¡r\9ag
+, 
+size_t
+__n
+)
+
+180 
+__THROW
+__©\8cibu\8b_m®loc__
+       `__nÚnuÎ
+ ((1));
+
+183 #ià
+def\9aed
+__USE_GNU
+ && def\9aed 
+__GNUC__
+
+
+185 \ 1
+       #¡rdu·
+(
+s
+) \
+
+186 (
+__ex\8bnsiÚ__
+ \
+
+188 cڡ \ 5*
+__Þd
+ = (
+s
+); \
+
+189 
+size_t
+__Ën
+ = 
+       `¡¾\92
+ (
+__Þd
+) + 1; \
+
+190 \ 5*
+__Ãw
+ = (\ 5
+       `__bu\9et\9a_®loÿ
+ (
+__Ën
+); \
+
+191 (\ 5
+       `memýy
+ (
+__Ãw
+, 
+__Þd
+, 
+__Ën
+); \
+
+192 
+       }
+}))
+
+       )
+
+195 \ 1
+       #¡ºdu·
+(
+s
+, 
+n
+) \
+
+196 (
+__ex\8bnsiÚ__
+ \
+
+198 cڡ \ 5*
+__Þd
+ = (
+s
+); \
+
+199 
+size_t
+__Ën
+ = 
+       `¡ºËn
+ (
+__Þd
+, (
+n
+)); \
+
+200 \ 5*
+__Ãw
+ = (\ 5
+       `__bu\9et\9a_®loÿ
+ (
+__Ën
+ + 1); \
+
+201 
+__Ãw
+[
+__Ën
+] = '\0'; \
+
+202 (\ 5
+       `memýy
+ (
+__Ãw
+, 
+__Þd
+, 
+__Ën
+); \
+
+203 }))
+
+       )
+
+206 
+       g__BEGIN_NAMESPACE_STD
+
+
+208 #ifdeà
+__CORRECT_ISO_CPP_STRING_H_PROTO
+
+
+211 \r\ 5*
+¡rchr
+ (\ 5*
+__s
+, \12
+__c
+)
+
+212 
+__THROW
+__asm
+ ("¡rchr"è
+__©\8cibu\8b_pu»__
+__nÚnuÎ
+ ((1));
+
+213 \rcڡ \ 5*
+¡rchr
+ (cڡ \ 5*
+__s
+, \12
+__c
+)
+
+214 
+__THROW
+__asm
+ ("¡rchr"è
+__©\8cibu\8b_pu»__
+__nÚnuÎ
+ ((1));
+
+216 #ifdeà
+__OPTIMIZE__
+
+
+217 
+__ex\8bº_®ways_\9al\9ae
\ 5*
+
+218 
+¡rchr
+ (\ 5*
+__s
+, \12
+__c
+       g__THROW
+
+
+220 \15 
+__bu\9et\9a_¡rchr
+ (
+__s
+, 
+__c
+);
+
+223 
+__ex\8bº_®ways_\9al\9ae
+ const \ 5*
+
+224 
+¡rchr
+ (cڡ \ 5*
+__s
+, \12
+__c
+       g__THROW
+
+
+226 \15 
+__bu\9et\9a_¡rchr
+ (
+__s
+, 
+__c
+);
+
+231 \r\ 5*
+       $¡rchr
+ (cڡ \ 5*
+__s
+, \12
+__c
+)
+
+232 
+__THROW
+__©\8cibu\8b_pu»__
+       `__nÚnuÎ
+ ((1));
+
+235 #ifdeà
+__CORRECT_ISO_CPP_STRING_H_PROTO
+
+
+238 \r\ 5*
+       `¡¼chr
+ (\ 5*
+__s
+, \12
+__c
+)
+
+239 
+__THROW
+       `__asm
+ ("¡¼chr"è
+__©\8cibu\8b_pu»__
+       `__nÚnuÎ
+ ((1));
+
+240 \rcڡ \ 5*
+       `¡¼chr
+ (cڡ \ 5*
+__s
+, \12
+__c
+)
+
+241 
+__THROW
+       `__asm
+ ("¡¼chr"è
+__©\8cibu\8b_pu»__
+       `__nÚnuÎ
+ ((1));
+
+243 #ifdeà
+__OPTIMIZE__
+
+
+244 
+__ex\8bº_®ways_\9al\9ae
\ 5*
+
+245 
+       `¡¼chr
+ (\ 5*
+__s
+, \12
+__c
+__THROW
+
+
+247 \15 
+       `__bu\9et\9a_¡¼chr
+ (
+__s
+, 
+__c
+);
+
+250 
+__ex\8bº_®ways_\9al\9ae
+ const \ 5*
+
+251 
+       `¡¼chr
+ (cڡ \ 5*
+__s
+, \12
+__c
+__THROW
+
+
+253 \15 
+       `__bu\9et\9a_¡¼chr
+ (
+__s
+, 
+__c
+);
+
+256 
+       }
+}
+
+258 \r\ 5*
+       $¡¼chr
+ (cڡ \ 5*
+__s
+, \12
+__c
+)
+
+259 
+__THROW
+__©\8cibu\8b_pu»__
+       `__nÚnuÎ
+ ((1));
+
+261 
+__END_NAMESPACE_STD
+
+
+263 #ifdeà
+__USE_GNU
+
+
+266 #ifdeà
+__CORRECT_ISO_CPP_STRING_H_PROTO
+
+
+267 \r"C++" \ 5*
+       $¡rchºul
+ (\ 5*
+__s
+, \12
+__c
+)
+
+268 
+__THROW
+       `__asm
+ ("¡rchºul"è
+__©\8cibu\8b_pu»__
+       `__nÚnuÎ
+ ((1));
+
+269 \r"C++" cڡ \ 5*
+       $¡rchºul
+ (cڡ \ 5*
+__s
+, \12
+__c
+)
+
+270 
+__THROW
+       `__asm
+ ("¡rchºul"è
+__©\8cibu\8b_pu»__
+       `__nÚnuÎ
+ ((1));
+
+272 \r\ 5*
+       $¡rchºul
+ (cڡ \ 5*
+__s
+, \12
+__c
+)
+
+273 
+__THROW
+__©\8cibu\8b_pu»__
+       `__nÚnuÎ
+ ((1));
+
+277 
+__BEGIN_NAMESPACE_STD
+
+
+280 \r
+size_t
+       $¡rc¥n
+ (cڡ \ 5*
+__s
+, cڡ \ 5*
+__»jeù
+)
+
+281 
+__THROW
+__©\8cibu\8b_pu»__
+       `__nÚnuÎ
+ ((1, 2));
+
+284 \r
+size_t
+       $¡r¥n
+ (cڡ \ 5*
+__s
+, cڡ \ 5*
+__acû±
+)
+
+285 
+__THROW
+__©\8cibu\8b_pu»__
+       `__nÚnuÎ
+ ((1, 2));
+
+287 #ifdeà
+__CORRECT_ISO_CPP_STRING_H_PROTO
+
+
+290 \r\ 5*
+       `¡½brk
+ (\ 5*
+__s
+, cڡ \ 5*
+__acû±
+)
+
+291 
+__THROW
+       `__asm
+ ("¡½brk"è
+__©\8cibu\8b_pu»__
+       `__nÚnuÎ
+ ((1, 2));
+
+292 \rcڡ \ 5*
+       `¡½brk
+ (cڡ \ 5*
+__s
+, cڡ \ 5*
+__acû±
+)
+
+293 
+__THROW
+       `__asm
+ ("¡½brk"è
+__©\8cibu\8b_pu»__
+       `__nÚnuÎ
+ ((1, 2));
+
+295 #ifdeà
+__OPTIMIZE__
+
+
+296 
+__ex\8bº_®ways_\9al\9ae
\ 5*
+
+297 
+       `¡½brk
+ (\ 5*
+__s
+, cڡ \ 5*
+__acû±
+__THROW
+
+
+299 \15 
+       `__bu\9et\9a_¡½brk
+ (
+__s
+, 
+__acû±
+);
+
+302 
+__ex\8bº_®ways_\9al\9ae
+ const \ 5*
+
+303 
+       `¡½brk
+ (cڡ \ 5*
+__s
+, cڡ \ 5*
+__acû±
+__THROW
+
+
+305 \15 
+       `__bu\9et\9a_¡½brk
+ (
+__s
+, 
+__acû±
+);
+
+308 
+       }
+}
+
+310 \r\ 5*
+       $¡½brk
+ (cڡ \ 5*
+__s
+, cڡ \ 5*
+__acû±
+)
+
+311 
+__THROW
+__©\8cibu\8b_pu»__
+       `__nÚnuÎ
+ ((1, 2));
+
+314 #ifdeà
+__CORRECT_ISO_CPP_STRING_H_PROTO
+
+
+317 \r\ 5*
+       `¡r¡r
+ (\ 5*
+__hay¡ack
+, cڡ \ 5*
+__ÃedË
+)
+
+318 
+__THROW
+       `__asm
+ ("¡r¡r"è
+__©\8cibu\8b_pu»__
+       `__nÚnuÎ
+ ((1, 2));
+
+319 \rcڡ \ 5*
+       `¡r¡r
+ (cڡ \ 5*
+__hay¡ack
+, cڡ \ 5*
+__ÃedË
+)
+
+320 
+__THROW
+       `__asm
+ ("¡r¡r"è
+__©\8cibu\8b_pu»__
+       `__nÚnuÎ
+ ((1, 2));
+
+322 #ifdeà
+__OPTIMIZE__
+
+
+323 
+__ex\8bº_®ways_\9al\9ae
\ 5*
+
+324 
+       `¡r¡r
+ (\ 5*
+__hay¡ack
+, cڡ \ 5*
+__ÃedË
+__THROW
+
+
+326 \15 
+       `__bu\9et\9a_¡r¡r
+ (
+__hay¡ack
+, 
+__ÃedË
+);
+
+329 
+__ex\8bº_®ways_\9al\9ae
+ const \ 5*
+
+330 
+       `¡r¡r
+ (cڡ \ 5*
+__hay¡ack
+, cڡ \ 5*
+__ÃedË
+__THROW
+
+
+332 \15 
+       `__bu\9et\9a_¡r¡r
+ (
+__hay¡ack
+, 
+__ÃedË
+);
+
+335 
+       }
+}
+
+337 \r\ 5*
+       $¡r¡r
+ (cڡ \ 5*
+__hay¡ack
+, cڡ \ 5*
+__ÃedË
+)
+
+338 
+__THROW
+__©\8cibu\8b_pu»__
+       `__nÚnuÎ
+ ((1, 2));
+
+343 \r\ 5*
+       $¡¹ok
+ (\ 5*
+__»¡riù
+__s
+, cÚ¡ \ 5*__»¡riù 
+__d\96im
+)
+
+344 
+__THROW
+       `__nÚnuÎ
+ ((2));
+
+345 
+__END_NAMESPACE_STD
+
+
+349 \r\ 5*
+       $__¡¹ok_r
+ (\ 5*
+__»¡riù
+__s
+,
+
+350 cڡ \ 5*
+__»¡riù
+__d\96im
+,
+
+351 \ 5**
+__»¡riù
+__§ve_±r
+)
+
+352 
+__THROW
+       `__nÚnuÎ
+ ((2, 3));
+
+353 #ifdeà
+__USE_POSIX
+
+
+354 \r\ 5*
+       $¡¹ok_r
+ (\ 5*
+__»¡riù
+__s
+, cÚ¡ \ 5*__»¡riù 
+__d\96im
+,
+
+355 \ 5**
+__»¡riù
+__§ve_±r
+)
+
+356 
+__THROW
+       `__nÚnuÎ
+ ((2, 3));
+
+359 #ifdeà
+__USE_GNU
+
+
+361 #ifdeà
+__CORRECT_ISO_CPP_STRING_H_PROTO
+
+
+362 \r"C++" \ 5*
+       $¡rÿ£¡r
+ (\ 5*
+__hay¡ack
+, cڡ \ 5*
+__ÃedË
+)
+
+363 
+__THROW
+       `__asm
+ ("¡rÿ£¡r"è
+__©\8cibu\8b_pu»__
+       `__nÚnuÎ
+ ((1, 2));
+
+364 \r"C++" cڡ \ 5*
+       $¡rÿ£¡r
+ (cڡ \ 5*
+__hay¡ack
+,
+
+365 cڡ \ 5*
+__ÃedË
+)
+
+366 
+__THROW
+       `__asm
+ ("¡rÿ£¡r"è
+__©\8cibu\8b_pu»__
+       `__nÚnuÎ
+ ((1, 2));
+
+368 \r\ 5*
+       $¡rÿ£¡r
+ (cڡ \ 5*
+__hay¡ack
+, cڡ \ 5*
+__ÃedË
+)
+
+369 
+__THROW
+__©\8cibu\8b_pu»__
+       `__nÚnuÎ
+ ((1, 2));
+
+373 #ifdeà
+__USE_GNU
+
+
+377 \r\1e*
+       $memmem
+ (cڡ \1e*
+__hay¡ack
+, 
+size_t
+__hay¡ackËn
+,
+
+378 cڡ \1e*
+__ÃedË
+, 
+size_t
+__ÃedËËn
+)
+
+379 
+__THROW
+__©\8cibu\8b_pu»__
+       `__nÚnuÎ
+ ((1, 3));
+
+383 \r\1e*
+       $__mempýy
+ (\1e*
+__»¡riù
+__de¡
+,
+
+384 cڡ \1e*
+__»¡riù
+__¤c
+, 
+size_t
+__n
+)
+
+385 
+__THROW
+       `__nÚnuÎ
+ ((1, 2));
+
+386 \r\1e*
+       $mempýy
+ (\1e*
+__»¡riù
+__de¡
+,
+
+387 cڡ \1e*
+__»¡riù
+__¤c
+, 
+size_t
+__n
+)
+
+388 
+__THROW
+       `__nÚnuÎ
+ ((1, 2));
+
+392 
+__BEGIN_NAMESPACE_STD
+
+
+394 \r
+size_t
+       $¡¾\92
+ (cڡ \ 5*
+__s
+)
+
+395 
+__THROW
+__©\8cibu\8b_pu»__
+       `__nÚnuÎ
+ ((1));
+
+396 
+__END_NAMESPACE_STD
+
+
+398 #ifdef 
+__USE_XOPEN2K8
+
+
+401 \r
+size_t
+       $¡ºËn
+ (cڡ \ 5*
+__¡r\9ag
+, 
+size_t
+__maxËn
+)
+
+402 
+__THROW
+__©\8cibu\8b_pu»__
+       `__nÚnuÎ
+ ((1));
+
+406 
+__BEGIN_NAMESPACE_STD
+
+
+408 \r\ 5*
+       $¡»¼Ü
+ (\12
+__\94ºum
+__THROW
+;
+
+409 
+__END_NAMESPACE_STD
+
+
+410 #ifdeà
+__USE_XOPEN2K
+
+
+418 #ià
+def\9aed
+__USE_XOPEN2K
+ && !def\9aed 
+__USE_GNU
+
+
+421 #ifdeà
+__REDIRECT_NTH
+
+
+422 \r\12
+       `__REDIRECT_NTH
+ (
+¡»¼Ü_r
+,
+
+423 (\12
+__\94ºum
+, \ 5*
+__buf
+, 
+size_t
+__buæ\92
+),
+
+424 
+__xpg_¡»¼Ü_r
+       `__nÚnuÎ
+ ((2));
+
+426 \r\12
+       $__xpg_¡»¼Ü_r
+ (\12
+__\94ºum
+, \ 5*
+__buf
+, 
+size_t
+__buæ\92
+)
+
+427 
+__THROW
+       `__nÚnuÎ
+ ((2));
+
+428 \ 1
+       #¡»¼Ü_r
+__xpg_¡»¼Ü_r
+
+
+       )
+
+433 \r\ 5*
+       $¡»¼Ü_r
+ (\12
+__\94ºum
+, \ 5*
+__buf
+, 
+size_t
+__buæ\92
+)
+
+434 
+__THROW
+       `__nÚnuÎ
+ ((2)è
+__wur
+;
+
+438 #ifdeà
+__USE_XOPEN2K8
+
+
+440 \r\ 5*
+       $¡»¼Ü_l
+ (\12
+__\94ºum
+, 
+__loÿË_t
+__l
+__THROW
+;
+
+446 \r\1e
+       $__bz\94o
+ (\1e*
+__s
+, 
+size_t
+__n
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+448 #ifdeà
+__USE_MISC
+
+
+450 \r\1e
+       $bcÝy
+ (cڡ \1e*
+__¤c
+, \1e*
+__de¡
+, 
+size_t
+__n
+)
+
+451 
+__THROW
+       `__nÚnuÎ
+ ((1, 2));
+
+454 \r\1e
+       $bz\94o
+ (\1e*
+__s
+, 
+size_t
+__n
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+457 \r\12
+       $bcmp
+ (cڡ \1e*
+__s1
+, cڡ \1e*
+__s2
+, 
+size_t
+__n
+)
+
+458 
+__THROW
+__©\8cibu\8b_pu»__
+       `__nÚnuÎ
+ ((1, 2));
+
+461 #ifdeà
+__CORRECT_ISO_CPP_STRING_H_PROTO
+
+
+464 \r\ 5*
+       `\9adex
+ (\ 5*
+__s
+, \12
+__c
+)
+
+465 
+__THROW
+       `__asm
+ ("\9adex"è
+__©\8cibu\8b_pu»__
+       `__nÚnuÎ
+ ((1));
+
+466 \rcڡ \ 5*
+       `\9adex
+ (cڡ \ 5*
+__s
+, \12
+__c
+)
+
+467 
+__THROW
+       `__asm
+ ("\9adex"è
+__©\8cibu\8b_pu»__
+       `__nÚnuÎ
+ ((1));
+
+469 #ià
+def\9aed
+__OPTIMIZE__
+ && !def\9aed 
+__CORRECT_ISO_CPP_STRINGS_H_PROTO
+
+
+470 
+__ex\8bº_®ways_\9al\9ae
\ 5*
+
+471 
+       `\9adex
+ (\ 5*
+__s
+, \12
+__c
+__THROW
+
+
+473 \15 
+       `__bu\9et\9a_\9adex
+ (
+__s
+, 
+__c
+);
+
+476 
+__ex\8bº_®ways_\9al\9ae
+ const \ 5*
+
+477 
+       `\9adex
+ (cڡ \ 5*
+__s
+, \12
+__c
+__THROW
+
+
+479 \15 
+       `__bu\9et\9a_\9adex
+ (
+__s
+, 
+__c
+);
+
+482 
+       }
+}
+
+484 \r\ 5*
+       $\9adex
+ (cڡ \ 5*
+__s
+, \12
+__c
+)
+
+485 
+__THROW
+__©\8cibu\8b_pu»__
+       `__nÚnuÎ
+ ((1));
+
+489 #ifdeà
+__CORRECT_ISO_CPP_STRING_H_PROTO
+
+
+492 \r\ 5*
+       `r\9adex
+ (\ 5*
+__s
+, \12
+__c
+)
+
+493 
+__THROW
+       `__asm
+ ("r\9adex"è
+__©\8cibu\8b_pu»__
+       `__nÚnuÎ
+ ((1));
+
+494 \rcڡ \ 5*
+       `r\9adex
+ (cڡ \ 5*
+__s
+, \12
+__c
+)
+
+495 
+__THROW
+       `__asm
+ ("r\9adex"è
+__©\8cibu\8b_pu»__
+       `__nÚnuÎ
+ ((1));
+
+497 #ià
+def\9aed
+__OPTIMIZE__
+ && !def\9aed 
+__CORRECT_ISO_CPP_STRINGS_H_PROTO
+
+
+498 
+__ex\8bº_®ways_\9al\9ae
\ 5*
+
+499 
+       `r\9adex
+ (\ 5*
+__s
+, \12
+__c
+__THROW
+
+
+501 \15 
+       `__bu\9et\9a_r\9adex
+ (
+__s
+, 
+__c
+);
+
+504 
+__ex\8bº_®ways_\9al\9ae
+ const \ 5*
+
+505 
+       `r\9adex
+ (cڡ \ 5*
+__s
+, \12
+__c
+__THROW
+
+
+507 \15 
+       `__bu\9et\9a_r\9adex
+ (
+__s
+, 
+__c
+);
+
+510 
+       }
+}
+
+512 \r\ 5*
+       $r\9adex
+ (cڡ \ 5*
+__s
+, \12
+__c
+)
+
+513 
+__THROW
+__©\8cibu\8b_pu»__
+       `__nÚnuÎ
+ ((1));
+
+518 \r\12
+       $ffs
+ (\12
+__i
+__THROW
+       `__©\8cibu\8b__
+ ((
+__cڡ__
+));
+
+522 #ifdef 
+__USE_GNU
+
+
+523 \r\12
+       $ff¦
+ (\13\12
+__l
+__THROW
+       `__©\8cibu\8b__
+ ((
+__cڡ__
+));
+
+524 
+__ex\8bnsiÚ__
\r\12
+       $ff¦l
+ (\13\13\12
+__Î
+)
+
+525 
+__THROW
+       `__©\8cibu\8b__
+ ((
+__cڡ__
+));
+
+529 \r\12
+       $¡rÿ£cmp
+ (cڡ \ 5*
+__s1
+, cڡ \ 5*
+__s2
+)
+
+530 
+__THROW
+__©\8cibu\8b_pu»__
+       `__nÚnuÎ
+ ((1, 2));
+
+533 \r\12
+       $¡ºÿ£cmp
+ (cڡ \ 5*
+__s1
+, cڡ \ 5*
+__s2
+, 
+size_t
+__n
+)
+
+534 
+__THROW
+__©\8cibu\8b_pu»__
+       `__nÚnuÎ
+ ((1, 2));
+
+537 #ifdef 
+__USE_GNU
+
+
+540 \r\12
+       $¡rÿ£cmp_l
+ (cڡ \ 5*
+__s1
+, cڡ \ 5*
+__s2
+,
+
+541 
+__loÿË_t
+__loc
+)
+
+542 
+__THROW
+__©\8cibu\8b_pu»__
+       `__nÚnuÎ
+ ((1, 2, 3));
+
+544 \r\12
+       $¡ºÿ£cmp_l
+ (cڡ \ 5*
+__s1
+, cڡ \ 5*
+__s2
+,
+
+545 
+size_t
+__n
+, 
+__loÿË_t
+__loc
+)
+
+546 
+__THROW
+__©\8cibu\8b_pu»__
+       `__nÚnuÎ
+ ((1, 2, 4));
+
+549 #ifdef 
+__USE_MISC
+
+
+552 \r\ 5*
+       $¡r£p
+ (\ 5**
+__»¡riù
+__¡r\9agp
+,
+
+553 cڡ \ 5*
+__»¡riù
+__d\96im
+)
+
+554 
+__THROW
+       `__nÚnuÎ
+ ((1, 2));
+
+557 #ifdef 
+__USE_XOPEN2K8
+
+
+559 \r\ 5*
+       $¡rsigÇl
+ (\12
+__sig
+__THROW
+;
+
+562 \r\ 5*
+       $__¡pýy
+ (\ 5*
+__»¡riù
+__de¡
+, cÚ¡ \ 5*__»¡riù 
+__¤c
+)
+
+563 
+__THROW
+       `__nÚnuÎ
+ ((1, 2));
+
+564 \r\ 5*
+       $¡pýy
+ (\ 5*
+__»¡riù
+__de¡
+, cÚ¡ \ 5*__»¡riù 
+__¤c
+)
+
+565 
+__THROW
+       `__nÚnuÎ
+ ((1, 2));
+
+569 \r\ 5*
+       $__¡²ýy
+ (\ 5*
+__»¡riù
+__de¡
+,
+
+570 cڡ \ 5*
+__»¡riù
+__¤c
+, 
+size_t
+__n
+)
+
+571 
+__THROW
+       `__nÚnuÎ
+ ((1, 2));
+
+572 \r\ 5*
+       $¡²ýy
+ (\ 5*
+__»¡riù
+__de¡
+,
+
+573 cڡ \ 5*
+__»¡riù
+__¤c
+, 
+size_t
+__n
+)
+
+574 
+__THROW
+       `__nÚnuÎ
+ ((1, 2));
+
+577 #ifdef 
+__USE_GNU
+
+
+579 \r\12
+       $¡rv\94scmp
+ (cڡ \ 5*
+__s1
+, cڡ \ 5*
+__s2
+)
+
+580 
+__THROW
+__©\8cibu\8b_pu»__
+       `__nÚnuÎ
+ ((1, 2));
+
+583 \r\ 5*
+       $¡räy
+ (\ 5*
+__¡r\9ag
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+586 \r\1e*
+       $memäob
+ (\1e*
+__s
+, 
+size_t
+__n
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+588 #iâdeà
+ba£Çme
+
+
+593 #ifdeà
+__CORRECT_ISO_CPP_STRING_H_PROTO
+
+
+594 \r"C++" \ 5*
+       $ba£Çme
+ (\ 5*
+__f\9e\92ame
+)
+
+595 
+__THROW
+       `__asm
+ ("ba£Çme"è
+       `__nÚnuÎ
+ ((1));
+
+596 \r"C++" cڡ \ 5*
+       $ba£Çme
+ (cڡ \ 5*
+__f\9e\92ame
+)
+
+597 
+__THROW
+       `__asm
+ ("ba£Çme"è
+       `__nÚnuÎ
+ ((1));
+
+599 \r\ 5*
+       $ba£Çme
+ (cڡ \ 5*
+__f\9e\92ame
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+605 #ià
+def\9aed
+__GNUC__
+ && __GNUC__ >= 2
+
+606 #ià
+def\9aed
+__OPTIMIZE__
+ && !def\9aed 
+__OPTIMIZE_SIZE__
+ \
+
+607 && !
+def\9aed
+__NO_INLINE__
+ && !def\9aed 
+__ýlu¥lus
+
+
+627 \ 2
+       ~<b\99s/¡r\9ag.h
+>
+
+630 \ 2
+       ~<b\99s/¡r\9ag2.h
+>
+
+633 #ià
+__USE_FORTIFY_LEVEL
+ > 0 && 
+def\9aed
+__fÜtify_funùiÚ
+
+
+635 \ 2
+       ~<b\99s/¡r\9ag3.h
+>
+
+639 #ià
+def\9aed
+__USE_GNU
+ && def\9aed 
+__OPTIMIZE__
+ \
+
+640 && 
+def\9aed
+__ex\8bº_®ways_\9al\9ae
+ && 
+       $__GNUC_PREREQ
+ (3,2)
+
+641 #ià!
+def\9aed
+_FORCE_INLINES
+ && !def\9aed 
+_HAVE_STRING_ARCH_mempýy
+
+
+643 #undeà
+mempýy
+
+
+644 #undeà
+__mempýy
+
+
+645 \ 1
+       #mempýy
+(
+de¡
+, 
+¤c
+, 
+n
+       `__mempýy_\9al\9ae
+ (de¡, src,\82)
+
+       )
+
+646 \ 1
+       #__mempýy
+(
+de¡
+, 
+¤c
+, 
+n
+       `__mempýy_\9al\9ae
+ (de¡, src,\82)
+
+       )
+
+648 
+__ex\8bº_®ways_\9al\9ae
\1e*
+
+649 
+       $__mempýy_\9al\9ae
+ (\1e*
+__»¡riù
+__de¡
+,
+
+650 cڡ \1e*
+__»¡riù
+__¤c
+, 
+size_t
+__n
+)
+
+652 \15 (\ 5
+       `memýy
+ (
+__de¡
+, 
+__¤c
+, 
+__n
+) + __n;
+
+653 
+       }
+}
+
+658 
+       g__END_DECLS
+
+
+       @/usr/include/sys/param.h
+
+19 #iâdeà
+_SYS_PARAM_H
+
+
+20 \ 1
+       #_SYS_PARAM_H
+ 1
+
+       )
+
+22 \ 1
+       #__Ãed_NULL
+
+
+       )
+
+23 \ 2
+       ~<¡ddef.h
+>
+
+25 \ 2
+       ~<sys/ty³s.h
+>
+
+26 \ 2
+       ~<lim\99s.h
+>
+
+27 \ 2
+       ~<\92d\9fn.h
+>
+
+28 \ 2
+       ~<sigÇl.h
+>
+
+31 \ 2
+       ~<b\99s/·¿m.h
+>
+
+36 \ 1
+       #NBBY
+CHAR_BIT
+
+
+       )
+
+38 #ià!
+def\9aed
+NGROUPS
+ && def\9aed 
+NGROUPS_MAX
+
+
+39 \ 1
+       #NGROUPS
+NGROUPS_MAX
+
+
+       )
+
+41 #ià!
+def\9aed
+MAXSYMLINKS
+ && def\9aed 
+SYMLOOP_MAX
+
+
+42 \ 1
+       #MAXSYMLINKS
+SYMLOOP_MAX
+
+
+       )
+
+44 #ià!
+def\9aed
+CANBSIZ
+ && def\9aed 
+MAX_CANON
+
+
+45 \ 1
+       #CANBSIZ
+MAX_CANON
+
+
+       )
+
+47 #ià!
+def\9aed
+MAXPATHLEN
+ && def\9aed 
+PATH_MAX
+
+
+48 \ 1
+       #MAXPATHLEN
+PATH_MAX
+
+
+       )
+
+50 #ià!
+def\9aed
+NOFILE
+ && def\9aed 
+OPEN_MAX
+
+
+51 \ 1
+       #NOFILE
+OPEN_MAX
+
+
+       )
+
+53 #ià!
+def\9aed
+MAXHOSTNAMELEN
+ && def\9aed 
+HOST_NAME_MAX
+
+
+54 \ 1
+       #MAXHOSTNAMELEN
+HOST_NAME_MAX
+
+
+       )
+
+56 #iâdeà
+NCARGS
+
+
+57 #ifdeà
+ARG_MAX
+
+
+58 \ 1
+       #NCARGS
+ARG_MAX
+
+
+       )
+
+62 \ 1
+       #NCARGS
+INT_MAX
+
+
+       )
+
+68 #iâdeà
+NOGROUP
+
+
+69 \ 1
+       #NOGROUP
+ 65535
+
+       )
+
+71 #iâdeà
+NODEV
+
+
+72 \ 1
+       #NODEV
+ ((
+dev_t
+è-1è
+
+       )
+
+77 #iâdeà
+DEV_BSIZE
+
+
+78 \ 1
+       #DEV_BSIZE
+ 512
+
+       )
+
+83 \ 1
+       #£tb\99
+(
+a
+,
+i
+è(×)[(i)/
+NBBY
+] |ð1<<((i)%NBBY))
+
+       )
+
+84 \ 1
+       #þrb\99
+(
+a
+,
+i
+è(×)[(i)/
+NBBY
+] &ð~(1<<((i)%NBBY)))
+
+       )
+
+85 \ 1
+       #is£t
+(
+a
+,
+i
+è(×)[(i)/
+NBBY
+] & (1<<((i)%NBBY)))
+
+       )
+
+86 \ 1
+       #isþr
+(
+a
+,
+i
+è((×)[(i)/
+NBBY
+] & (1<<((i)%NBBY))è=ð0)
+
+       )
+
+89 #iâdeà
+howmªy
+
+
+90 \ 1
+       #howmªy
+(
+x
+, 
+y
+è(((xè+ ((yè- 1)è/ (y))
+
+       )
+
+92 #ifdeà
+__GNUC__
+
+
+93 \ 1
+       #roundup
+(
+x
+, 
+y
+è(
+       `__bu\9et\9a_cÚ¡ªt_p
+ (yè&& 
+       `pow\94of2
+ (y) \
+
+94 ? (((
+x
+è+ (
+y
+) - 1) & ~((y) - 1)) \
+
+95 : ((((
+x
+è+ ((
+y
+è- 1)è/ (y)è* (y)))
+
+       )
+
+97 \ 1
+       #roundup
+(
+x
+, 
+y
+è((((xè+ ((yè- 1)è/ (y)è* (y))
+
+       )
+
+99 \ 1
+       #pow\94of2
+(
+x
+è((((xè- 1è& (x)è=ð0)
+
+       )
+
+102 \ 1
+       #MIN
+(
+a
+,
+b
+è((×)<(b))?×):(b))
+
+       )
+
+103 \ 1
+       #MAX
+(
+a
+,
+b
+è((×)>(b))?×):(b))
+
+       )
+
+       @/usr/include/sys/queue.h
+
+32 #iâdef 
+_SYS_QUEUE_H_
+
+
+33 \ 1
+       #_SYS_QUEUE_H_
+
+
+       )
+
+84 \ 1
+       #LIST_HEAD
+(
+Çme
+, 
+ty³
+) \
+
+85 \19
+       sÇme
+ { \
+
+86 \19
+ty³
+ *
+lh_f\9c¡
+; \
+
+87 }
+
+       )
+
+89 \ 1
+       #LIST_HEAD_INITIALIZER
+(
+h\97d
+) \
+
+90 { 
+NULL
+ }
+
+       )
+
+92 \ 1
+       #LIST_ENTRY
+(
+ty³
+) \
+
+94 \19
+ty³
+ *
+Ë_Ãxt
+; \
+
+95 \19
+ty³
+ **
+Ë_´ev
+; \
+
+96 }
+
+       )
+
+101 \ 1
+       #LIST_INIT
+(
+h\97d
+) do { \
+
+102 (
+h\97d
+)->
+lh_f\9c¡
+ = 
+NULL
+; \
+
+103 } \1f 0)
+
+       )
+
+105 \ 1
+       #LIST_INSERT_AFTER
+(
+li¡\96m
+, 
+\96m
+, 
+f\9bld
+) do { \
+
+106 ià(((
+\96m
+)->
+f\9bld
+.
+Ë_Ãxt
+ = (
+li¡\96m
+)->f\9bld.Ë_Ãxtè!ð
+NULL
+) \
+
+107 (
+li¡\96m
+)->
+f\9bld
+.
+Ë_Ãxt
+->f\9bld.
+Ë_´ev
+ = \
+
+108 &(
+\96m
+)->
+f\9bld
+.
+Ë_Ãxt
+; \
+
+109 (
+li¡\96m
+)->
+f\9bld
+.
+Ë_Ãxt
+ = (
+\96m
+); \
+
+110 (
+\96m
+)->
+f\9bld
+.
+Ë_´ev
+ = &(
+li¡\96m
+)->f\9bld.
+Ë_Ãxt
+; \
+
+111 } \1f 0)
+
+       )
+
+113 \ 1
+       #LIST_INSERT_BEFORE
+(
+li¡\96m
+, 
+\96m
+, 
+f\9bld
+) do { \
+
+114 (
+\96m
+)->
+f\9bld
+.
+Ë_´ev
+ = (
+li¡\96m
+)->field.le_prev; \
+
+115 (
+\96m
+)->
+f\9bld
+.
+Ë_Ãxt
+ = (
+li¡\96m
+); \
+
+116 *(
+li¡\96m
+)->
+f\9bld
+.
+Ë_´ev
+ = (
+\96m
+); \
+
+117 (
+li¡\96m
+)->
+f\9bld
+.
+Ë_´ev
+ = &(
+\96m
+)->f\9bld.
+Ë_Ãxt
+; \
+
+118 } \1f 0)
+
+       )
+
+120 \ 1
+       #LIST_INSERT_HEAD
+(
+h\97d
+, 
+\96m
+, 
+f\9bld
+) do { \
+
+121 ià(((
+\96m
+)->
+f\9bld
+.
+Ë_Ãxt
+ = (
+h\97d
+)->
+lh_f\9c¡
+è!ð
+NULL
+) \
+
+122 (
+h\97d
+)->
+lh_f\9c¡
+->
+f\9bld
+.
+Ë_´ev
+ = &(
+\96m
+)->f\9bld.
+Ë_Ãxt
+;\
+
+123 (
+h\97d
+)->
+lh_f\9c¡
+ = (
+\96m
+); \
+
+124 (
+\96m
+)->
+f\9bld
+.
+Ë_´ev
+ = &(
+h\97d
+)->
+lh_f\9c¡
+; \
+
+125 } \1f 0)
+
+       )
+
+127 \ 1
+       #LIST_REMOVE
+(
+\96m
+, 
+f\9bld
+) do { \
+
+128 ià((
+\96m
+)->
+f\9bld
+.
+Ë_Ãxt
+ !ð
+NULL
+) \
+
+129 (
+\96m
+)->
+f\9bld
+.
+Ë_Ãxt
+->f\9bld.
+Ë_´ev
+ = \
+
+130 (
+\96m
+)->
+f\9bld
+.
+Ë_´ev
+; \
+
+131 *(
+\96m
+)->
+f\9bld
+.
+Ë_´ev
+ = (\96m)->f\9bld.
+Ë_Ãxt
+; \
+
+132 } \1f 0)
+
+       )
+
+134 \ 1
+       #LIST_FOREACH
+(
+v¬
+, 
+h\97d
+, 
+f\9bld
+) \
+
+135 \ f(
+v¬
+èð((
+h\97d
+)->
+lh_f\9c¡
+); \
+
+136 (
+v¬
+); \
+
+137 (
+v¬
+èð((v¬)->
+f\9bld
+.
+Ë_Ãxt
+))
+
+       )
+
+142 \ 1
+       #LIST_EMPTY
+(
+h\97d
+è((h\97d)->
+lh_f\9c¡
+ =ð
+NULL
+)
+
+       )
+
+143 \ 1
+       #LIST_FIRST
+(
+h\97d
+è((h\97d)->
+lh_f\9c¡
+)
+
+       )
+
+144 \ 1
+       #LIST_NEXT
+(
+\96m
+, 
+f\9bld
+è(Ólm)->f\9bld.
+Ë_Ãxt
+)
+
+       )
+
+150 \ 1
+       #SLIST_HEAD
+(
+Çme
+, 
+ty³
+) \
+
+151 \19
+       sÇme
+ { \
+
+152 \19
+ty³
+ *
+¦h_f\9c¡
+; \
+
+153 }
+
+       )
+
+155 \ 1
+       #SLIST_HEAD_INITIALIZER
+(
+h\97d
+) \
+
+156 { 
+NULL
+ }
+
+       )
+
+158 \ 1
+       #SLIST_ENTRY
+(
+ty³
+) \
+
+160 \19
+ty³
+ *
+¦e_Ãxt
+; \
+
+161 }
+
+       )
+
+166 \ 1
+       #SLIST_INIT
+(
+h\97d
+) do { \
+
+167 (
+h\97d
+)->
+¦h_f\9c¡
+ = 
+NULL
+; \
+
+168 } \1f 0)
+
+       )
+
+170 \ 1
+       #SLIST_INSERT_AFTER
+(
+¦i¡\96m
+, 
+\96m
+, 
+f\9bld
+) do { \
+
+171 (
+\96m
+)->
+f\9bld
+.
+¦e_Ãxt
+ = (
+¦i¡\96m
+)->field.sle_next; \
+
+172 (
+¦i¡\96m
+)->
+f\9bld
+.
+¦e_Ãxt
+ = (
+\96m
+); \
+
+173 } \1f 0)
+
+       )
+
+175 \ 1
+       #SLIST_INSERT_HEAD
+(
+h\97d
+, 
+\96m
+, 
+f\9bld
+) do { \
+
+176 (
+\96m
+)->
+f\9bld
+.
+¦e_Ãxt
+ = (
+h\97d
+)->
+¦h_f\9c¡
+; \
+
+177 (
+h\97d
+)->
+¦h_f\9c¡
+ = (
+\96m
+); \
+
+178 } \1f 0)
+
+       )
+
+180 \ 1
+       #SLIST_REMOVE_HEAD
+(
+h\97d
+, 
+f\9bld
+) do { \
+
+181 (
+h\97d
+)->
+¦h_f\9c¡
+ = (h\97d)->¦h_f\9c¡->
+f\9bld
+.
+¦e_Ãxt
+; \
+
+182 } \1f 0)
+
+       )
+
+184 \ 1
+       #SLIST_REMOVE
+(
+h\97d
+, 
+\96m
+, 
+ty³
+, 
+f\9bld
+) do { \
+
+185 ià((
+h\97d
+)->
+¦h_f\9c¡
+ =ð(
+\96m
+)) { \
+
+186 
+       `SLIST_REMOVE_HEAD
+((
+h\97d
+), 
+f\9bld
+); \
+
+189 \19
+ty³
+ *
+cu»lm
+ = (
+h\97d
+)->
+¦h_f\9c¡
+; \
+
+190 \1f
+cu»lm
+->
+f\9bld
+.
+¦e_Ãxt
+ !ð(
+\96m
+)) \
+
+191 
+cu»lm
+ = cu»lm->
+f\9bld
+.
+¦e_Ãxt
+; \
+
+192 
+cu»lm
+->
+f\9bld
+.
+¦e_Ãxt
+ = \
+
+193 
+cu»lm
+->
+f\9bld
+.
+¦e_Ãxt
+->field.sle_next; \
+
+195 } \1f 0)
+
+       )
+
+197 \ 1
+       #SLIST_FOREACH
+(
+v¬
+, 
+h\97d
+, 
+f\9bld
+) \
+
+198 \ f(
+v¬
+èð(
+h\97d
+)->
+¦h_f\9c¡
+; (v¬); (v¬èð(v¬)->
+f\9bld
+.
+¦e_Ãxt
+)
+
+       )
+
+203 \ 1
+       #SLIST_EMPTY
+(
+h\97d
+è((h\97d)->
+¦h_f\9c¡
+ =ð
+NULL
+)
+
+       )
+
+204 \ 1
+       #SLIST_FIRST
+(
+h\97d
+è((h\97d)->
+¦h_f\9c¡
+)
+
+       )
+
+205 \ 1
+       #SLIST_NEXT
+(
+\96m
+, 
+f\9bld
+è(Ólm)->f\9bld.
+¦e_Ãxt
+)
+
+       )
+
+211 \ 1
+       #STAILQ_HEAD
+(
+Çme
+, 
+ty³
+) \
+
+212 \19
+       sÇme
+ { \
+
+213 \19
+ty³
+ *
+¡qh_f\9c¡
+; \
+
+214 \19
+ty³
+ **
+¡qh_Ï¡
+; \
+
+215 }
+
+       )
+
+217 \ 1
+       #STAILQ_HEAD_INITIALIZER
+(
+h\97d
+) \
+
+218 { 
+NULL
+, &(
+h\97d
+).
+¡qh_f\9c¡
+ }
+
+       )
+
+220 \ 1
+       #STAILQ_ENTRY
+(
+ty³
+) \
+
+222 \19
+ty³
+ *
+¡qe_Ãxt
+; \
+
+223 }
+
+       )
+
+228 \ 1
+       #STAILQ_INIT
+(
+h\97d
+) do { \
+
+229 (
+h\97d
+)->
+¡qh_f\9c¡
+ = 
+NULL
+; \
+
+230 (
+h\97d
+)->
+¡qh_Ï¡
+ = &(h\97d)->
+¡qh_f\9c¡
+; \
+
+231 } \1f 0)
+
+       )
+
+233 \ 1
+       #STAILQ_INSERT_HEAD
+(
+h\97d
+, 
+\96m
+, 
+f\9bld
+) do { \
+
+234 ià(((
+\96m
+)->
+f\9bld
+.
+¡qe_Ãxt
+ = (
+h\97d
+)->
+¡qh_f\9c¡
+è=ð
+NULL
+) \
+
+235 (
+h\97d
+)->
+¡qh_Ï¡
+ = &(
+\96m
+)->
+f\9bld
+.
+¡qe_Ãxt
+; \
+
+236 (
+h\97d
+)->
+¡qh_f\9c¡
+ = (
+\96m
+); \
+
+237 } \1f 0)
+
+       )
+
+239 \ 1
+       #STAILQ_INSERT_TAIL
+(
+h\97d
+, 
+\96m
+, 
+f\9bld
+) do { \
+
+240 (
+\96m
+)->
+f\9bld
+.
+¡qe_Ãxt
+ = 
+NULL
+; \
+
+241 *(
+h\97d
+)->
+¡qh_Ï¡
+ = (
+\96m
+); \
+
+242 (
+h\97d
+)->
+¡qh_Ï¡
+ = &(
+\96m
+)->
+f\9bld
+.
+¡qe_Ãxt
+; \
+
+243 } \1f 0)
+
+       )
+
+245 \ 1
+       #STAILQ_INSERT_AFTER
+(
+h\97d
+, 
+li¡\96m
+, 
+\96m
+, 
+f\9bld
+) do { \
+
+246 ià(((
+\96m
+)->
+f\9bld
+.
+¡qe_Ãxt
+ = (
+li¡\96m
+)->f\9bld.¡qe_Ãxtè=ð
+NULL
+)\
+
+247 (
+h\97d
+)->
+¡qh_Ï¡
+ = &(
+\96m
+)->
+f\9bld
+.
+¡qe_Ãxt
+; \
+
+248 (
+li¡\96m
+)->
+f\9bld
+.
+¡qe_Ãxt
+ = (
+\96m
+); \
+
+249 } \1f 0)
+
+       )
+
+251 \ 1
+       #STAILQ_REMOVE_HEAD
+(
+h\97d
+, 
+f\9bld
+) do { \
+
+252 ià(((
+h\97d
+)->
+¡qh_f\9c¡
+ = (h\97d)->¡qh_f\9c¡->
+f\9bld
+.
+¡qe_Ãxt
+è=ð
+NULL
+) \
+
+253 (
+h\97d
+)->
+¡qh_Ï¡
+ = &(h\97d)->
+¡qh_f\9c¡
+; \
+
+254 } \1f 0)
+
+       )
+
+256 \ 1
+       #STAILQ_REMOVE
+(
+h\97d
+, 
+\96m
+, 
+ty³
+, 
+f\9bld
+) do { \
+
+257 ià((
+h\97d
+)->
+¡qh_f\9c¡
+ =ð(
+\96m
+)) { \
+
+258 
+       `STAILQ_REMOVE_HEAD
+((
+h\97d
+), 
+f\9bld
+); \
+
+260 \19
+ty³
+ *
+cu»lm
+ = (
+h\97d
+)->
+¡qh_f\9c¡
+; \
+
+261 \1f
+cu»lm
+->
+f\9bld
+.
+¡qe_Ãxt
+ !ð(
+\96m
+)) \
+
+262 
+cu»lm
+ = cu»lm->
+f\9bld
+.
+¡qe_Ãxt
+; \
+
+263 ià((
+cu»lm
+->
+f\9bld
+.
+¡qe_Ãxt
+ = \
+
+264 
+cu»lm
+->
+f\9bld
+.
+¡qe_Ãxt
+->f\9bld.¡qe_Ãxtè=ð
+NULL
+) \
+
+265 (
+h\97d
+)->
+¡qh_Ï¡
+ = &(
+cu»lm
+)->
+f\9bld
+.
+¡qe_Ãxt
+; \
+
+267 } \1f 0)
+
+       )
+
+269 \ 1
+       #STAILQ_FOREACH
+(
+v¬
+, 
+h\97d
+, 
+f\9bld
+) \
+
+270 \ f(
+v¬
+èð((
+h\97d
+)->
+¡qh_f\9c¡
+); \
+
+271 (
+v¬
+); \
+
+272 (
+v¬
+èð((v¬)->
+f\9bld
+.
+¡qe_Ãxt
+))
+
+       )
+
+274 \ 1
+       #STAILQ_CONCAT
+(
+h\97d1
+, 
+h\97d2
+) do { \
+
+275 ià(!
+       `STAILQ_EMPTY
+((
+h\97d2
+))) { \
+
+276 *(
+h\97d1
+)->
+¡qh_Ï¡
+ = (
+h\97d2
+)->
+¡qh_f\9c¡
+; \
+
+277 (
+h\97d1
+)->
+¡qh_Ï¡
+ = (
+h\97d2
+)->stqh_last; \
+
+278 
+       `STAILQ_INIT
+((
+h\97d2
+)); \
+
+280 } \1f 0)
+
+       )
+
+285 \ 1
+       #STAILQ_EMPTY
+(
+h\97d
+è((h\97d)->
+¡qh_f\9c¡
+ =ð
+NULL
+)
+
+       )
+
+286 \ 1
+       #STAILQ_FIRST
+(
+h\97d
+è((h\97d)->
+¡qh_f\9c¡
+)
+
+       )
+
+287 \ 1
+       #STAILQ_NEXT
+(
+\96m
+, 
+f\9bld
+è(Ólm)->f\9bld.
+¡qe_Ãxt
+)
+
+       )
+
+293 \ 1
+       #SIMPLEQ_HEAD
+(
+Çme
+, 
+ty³
+) \
+
+294 \19
+       sÇme
+ { \
+
+295 \19
+ty³
+ *
+sqh_f\9c¡
+; \
+
+296 \19
+ty³
+ **
+sqh_ϡ
+; \
+
+297 }
+
+       )
+
+299 \ 1
+       #SIMPLEQ_HEAD_INITIALIZER
+(
+h\97d
+) \
+
+300 { 
+NULL
+, &(
+h\97d
+).
+sqh_f\9c¡
+ }
+
+       )
+
+302 \ 1
+       #SIMPLEQ_ENTRY
+(
+ty³
+) \
+
+304 \19
+ty³
+ *
+sqe_Ãxt
+; \
+
+305 }
+
+       )
+
+310 \ 1
+       #SIMPLEQ_INIT
+(
+h\97d
+) do { \
+
+311 (
+h\97d
+)->
+sqh_f\9c¡
+ = 
+NULL
+; \
+
+312 (
+h\97d
+)->
+sqh_ϡ
+ = &(h\97d)->
+sqh_f\9c¡
+; \
+
+313 } \1f 0)
+
+       )
+
+315 \ 1
+       #SIMPLEQ_INSERT_HEAD
+(
+h\97d
+, 
+\96m
+, 
+f\9bld
+) do { \
+
+316 ià(((
+\96m
+)->
+f\9bld
+.
+sqe_Ãxt
+ = (
+h\97d
+)->
+sqh_f\9c¡
+è=ð
+NULL
+) \
+
+317 (
+h\97d
+)->
+sqh_ϡ
+ = &(
+\96m
+)->
+f\9bld
+.
+sqe_Ãxt
+; \
+
+318 (
+h\97d
+)->
+sqh_f\9c¡
+ = (
+\96m
+); \
+
+319 } \1f 0)
+
+       )
+
+321 \ 1
+       #SIMPLEQ_INSERT_TAIL
+(
+h\97d
+, 
+\96m
+, 
+f\9bld
+) do { \
+
+322 (
+\96m
+)->
+f\9bld
+.
+sqe_Ãxt
+ = 
+NULL
+; \
+
+323 *(
+h\97d
+)->
+sqh_ϡ
+ = (
+\96m
+); \
+
+324 (
+h\97d
+)->
+sqh_ϡ
+ = &(
+\96m
+)->
+f\9bld
+.
+sqe_Ãxt
+; \
+
+325 } \1f 0)
+
+       )
+
+327 \ 1
+       #SIMPLEQ_INSERT_AFTER
+(
+h\97d
+, 
+li¡\96m
+, 
+\96m
+, 
+f\9bld
+) do { \
+
+328 ià(((
+\96m
+)->
+f\9bld
+.
+sqe_Ãxt
+ = (
+li¡\96m
+)->f\9bld.sqe_Ãxtè=ð
+NULL
+)\
+
+329 (
+h\97d
+)->
+sqh_ϡ
+ = &(
+\96m
+)->
+f\9bld
+.
+sqe_Ãxt
+; \
+
+330 (
+li¡\96m
+)->
+f\9bld
+.
+sqe_Ãxt
+ = (
+\96m
+); \
+
+331 } \1f 0)
+
+       )
+
+333 \ 1
+       #SIMPLEQ_REMOVE_HEAD
+(
+h\97d
+, 
+f\9bld
+) do { \
+
+334 ià(((
+h\97d
+)->
+sqh_f\9c¡
+ = (h\97d)->sqh_f\9c¡->
+f\9bld
+.
+sqe_Ãxt
+è=ð
+NULL
+) \
+
+335 (
+h\97d
+)->
+sqh_ϡ
+ = &(h\97d)->
+sqh_f\9c¡
+; \
+
+336 } \1f 0)
+
+       )
+
+338 \ 1
+       #SIMPLEQ_REMOVE
+(
+h\97d
+, 
+\96m
+, 
+ty³
+, 
+f\9bld
+) do { \
+
+339 ià((
+h\97d
+)->
+sqh_f\9c¡
+ =ð(
+\96m
+)) { \
+
+340 
+       `SIMPLEQ_REMOVE_HEAD
+((
+h\97d
+), 
+f\9bld
+); \
+
+342 \19
+ty³
+ *
+cu»lm
+ = (
+h\97d
+)->
+sqh_f\9c¡
+; \
+
+343 \1f
+cu»lm
+->
+f\9bld
+.
+sqe_Ãxt
+ !ð(
+\96m
+)) \
+
+344 
+cu»lm
+ = cu»lm->
+f\9bld
+.
+sqe_Ãxt
+; \
+
+345 ià((
+cu»lm
+->
+f\9bld
+.
+sqe_Ãxt
+ = \
+
+346 
+cu»lm
+->
+f\9bld
+.
+sqe_Ãxt
+->f\9bld.sqe_Ãxtè=ð
+NULL
+) \
+
+347 (
+h\97d
+)->
+sqh_ϡ
+ = &(
+cu»lm
+)->
+f\9bld
+.
+sqe_Ãxt
+; \
+
+349 } \1f 0)
+
+       )
+
+351 \ 1
+       #SIMPLEQ_FOREACH
+(
+v¬
+, 
+h\97d
+, 
+f\9bld
+) \
+
+352 \ f(
+v¬
+èð((
+h\97d
+)->
+sqh_f\9c¡
+); \
+
+353 (
+v¬
+); \
+
+354 (
+v¬
+èð((v¬)->
+f\9bld
+.
+sqe_Ãxt
+))
+
+       )
+
+359 \ 1
+       #SIMPLEQ_EMPTY
+(
+h\97d
+è((h\97d)->
+sqh_f\9c¡
+ =ð
+NULL
+)
+
+       )
+
+360 \ 1
+       #SIMPLEQ_FIRST
+(
+h\97d
+è((h\97d)->
+sqh_f\9c¡
+)
+
+       )
+
+361 \ 1
+       #SIMPLEQ_NEXT
+(
+\96m
+, 
+f\9bld
+è(Ólm)->f\9bld.
+sqe_Ãxt
+)
+
+       )
+
+367 \ 1
+       #_TAILQ_HEAD
+(
+Çme
+, 
+ty³
+, 
+qu®
+) \
+
+368 \19
+       sÇme
+ { \
+
+369 
+qu®
+ty³
+ *
+tqh_f\9c¡
+; \
+
+370 
+qu®
+ty³
+ *qu® *
+tqh_ϡ
+; \
+
+371 }
+
+       )
+
+372 \ 1
+       #TAILQ_HEAD
+(
+Çme
+, 
+ty³
+       `_TAILQ_HEAD
+Òame, \19ty³,)
+
+       )
+
+374 \ 1
+       #TAILQ_HEAD_INITIALIZER
+(
+h\97d
+) \
+
+375 { 
+NULL
+, &(
+h\97d
+).
+tqh_f\9c¡
+ }
+
+       )
+
+377 \ 1
+       #_TAILQ_ENTRY
+(
+ty³
+, 
+qu®
+) \
+
+379 
+qu®
+ty³
+ *
+tqe_Ãxt
+; \
+
+380 
+qu®
+ty³
+ *qu® *
+tqe_´ev
+; \
+
+381 }
+
+       )
+
+382 \ 1
+       #TAILQ_ENTRY
+(
+ty³
+       `_TAILQ_ENTRY
+(\19ty³,)
+
+       )
+
+387 \ 1
+       #TAILQ_INIT
+(
+h\97d
+) do { \
+
+388 (
+h\97d
+)->
+tqh_f\9c¡
+ = 
+NULL
+; \
+
+389 (
+h\97d
+)->
+tqh_ϡ
+ = &(h\97d)->
+tqh_f\9c¡
+; \
+
+390 } \1f 0)
+
+       )
+
+392 \ 1
+       #TAILQ_INSERT_HEAD
+(
+h\97d
+, 
+\96m
+, 
+f\9bld
+) do { \
+
+393 ià(((
+\96m
+)->
+f\9bld
+.
+tqe_Ãxt
+ = (
+h\97d
+)->
+tqh_f\9c¡
+è!ð
+NULL
+) \
+
+394 (
+h\97d
+)->
+tqh_f\9c¡
+->
+f\9bld
+.
+tqe_´ev
+ = \
+
+395 &(
+\96m
+)->
+f\9bld
+.
+tqe_Ãxt
+; \
+
+397 (
+h\97d
+)->
+tqh_ϡ
+ = &(
+\96m
+)->
+f\9bld
+.
+tqe_Ãxt
+; \
+
+398 (
+h\97d
+)->
+tqh_f\9c¡
+ = (
+\96m
+); \
+
+399 (
+\96m
+)->
+f\9bld
+.
+tqe_´ev
+ = &(
+h\97d
+)->
+tqh_f\9c¡
+; \
+
+400 } \1f 0)
+
+       )
+
+402 \ 1
+       #TAILQ_INSERT_TAIL
+(
+h\97d
+, 
+\96m
+, 
+f\9bld
+) do { \
+
+403 (
+\96m
+)->
+f\9bld
+.
+tqe_Ãxt
+ = 
+NULL
+; \
+
+404 (
+\96m
+)->
+f\9bld
+.
+tqe_´ev
+ = (
+h\97d
+)->
+tqh_ϡ
+; \
+
+405 *(
+h\97d
+)->
+tqh_ϡ
+ = (
+\96m
+); \
+
+406 (
+h\97d
+)->
+tqh_ϡ
+ = &(
+\96m
+)->
+f\9bld
+.
+tqe_Ãxt
+; \
+
+407 } \1f 0)
+
+       )
+
+409 \ 1
+       #TAILQ_INSERT_AFTER
+(
+h\97d
+, 
+li¡\96m
+, 
+\96m
+, 
+f\9bld
+) do { \
+
+410 ià(((
+\96m
+)->
+f\9bld
+.
+tqe_Ãxt
+ = (
+li¡\96m
+)->f\9bld.tqe_Ãxtè!ð
+NULL
+)\
+
+411 (
+\96m
+)->
+f\9bld
+.
+tqe_Ãxt
+->f\9bld.
+tqe_´ev
+ = \
+
+412 &(
+\96m
+)->
+f\9bld
+.
+tqe_Ãxt
+; \
+
+414 (
+h\97d
+)->
+tqh_ϡ
+ = &(
+\96m
+)->
+f\9bld
+.
+tqe_Ãxt
+; \
+
+415 (
+li¡\96m
+)->
+f\9bld
+.
+tqe_Ãxt
+ = (
+\96m
+); \
+
+416 (
+\96m
+)->
+f\9bld
+.
+tqe_´ev
+ = &(
+li¡\96m
+)->f\9bld.
+tqe_Ãxt
+; \
+
+417 } \1f 0)
+
+       )
+
+419 \ 1
+       #TAILQ_INSERT_BEFORE
+(
+li¡\96m
+, 
+\96m
+, 
+f\9bld
+) do { \
+
+420 (
+\96m
+)->
+f\9bld
+.
+tqe_´ev
+ = (
+li¡\96m
+)->field.tqe_prev; \
+
+421 (
+\96m
+)->
+f\9bld
+.
+tqe_Ãxt
+ = (
+li¡\96m
+); \
+
+422 *(
+li¡\96m
+)->
+f\9bld
+.
+tqe_´ev
+ = (
+\96m
+); \
+
+423 (
+li¡\96m
+)->
+f\9bld
+.
+tqe_´ev
+ = &(
+\96m
+)->f\9bld.
+tqe_Ãxt
+; \
+
+424 } \1f 0)
+
+       )
+
+426 \ 1
+       #TAILQ_REMOVE
+(
+h\97d
+, 
+\96m
+, 
+f\9bld
+) do { \
+
+427 ià(((
+\96m
+)->
+f\9bld
+.
+tqe_Ãxt
+è!ð
+NULL
+) \
+
+428 (
+\96m
+)->
+f\9bld
+.
+tqe_Ãxt
+->f\9bld.
+tqe_´ev
+ = \
+
+429 (
+\96m
+)->
+f\9bld
+.
+tqe_´ev
+; \
+
+431 (
+h\97d
+)->
+tqh_ϡ
+ = (
+\96m
+)->
+f\9bld
+.
+tqe_´ev
+; \
+
+432 *(
+\96m
+)->
+f\9bld
+.
+tqe_´ev
+ = (\96m)->f\9bld.
+tqe_Ãxt
+; \
+
+433 } \1f 0)
+
+       )
+
+435 \ 1
+       #TAILQ_FOREACH
+(
+v¬
+, 
+h\97d
+, 
+f\9bld
+) \
+
+436 \ f(
+v¬
+èð((
+h\97d
+)->
+tqh_f\9c¡
+); \
+
+437 (
+v¬
+); \
+
+438 (
+v¬
+èð((v¬)->
+f\9bld
+.
+tqe_Ãxt
+))
+
+       )
+
+440 \ 1
+       #TAILQ_FOREACH_REVERSE
+(
+v¬
+, 
+h\97d
+, 
+h\97dÇme
+, 
+f\9bld
+) \
+
+441 \ f(
+v¬
+èð(*(((\19
+h\97dÇme
+ *)((
+h\97d
+)->
+tqh_ϡ
+))->tqh_last)); \
+
+442 (
+v¬
+); \
+
+443 (
+v¬
+èð(*(((\19
+h\97dÇme
+ *)((v¬)->
+f\9bld
+.
+tqe_´ev
+))->
+tqh_ϡ
+)))
+
+       )
+
+445 \ 1
+       #TAILQ_CONCAT
+(
+h\97d1
+, 
+h\97d2
+, 
+f\9bld
+) do { \
+
+446 ià(!
+       `TAILQ_EMPTY
+(
+h\97d2
+)) { \
+
+447 *(
+h\97d1
+)->
+tqh_ϡ
+ = (
+h\97d2
+)->
+tqh_f\9c¡
+; \
+
+448 (
+h\97d2
+)->
+tqh_f\9c¡
+->
+f\9bld
+.
+tqe_´ev
+ = (
+h\97d1
+)->
+tqh_ϡ
+; \
+
+449 (
+h\97d1
+)->
+tqh_ϡ
+ = (
+h\97d2
+)->tqh_last; \
+
+450 
+       `TAILQ_INIT
+((
+h\97d2
+)); \
+
+452 } \1f 0)
+
+       )
+
+457 \ 1
+       #TAILQ_EMPTY
+(
+h\97d
+è((h\97d)->
+tqh_f\9c¡
+ =ð
+NULL
+)
+
+       )
+
+458 \ 1
+       #TAILQ_FIRST
+(
+h\97d
+è((h\97d)->
+tqh_f\9c¡
+)
+
+       )
+
+459 \ 1
+       #TAILQ_NEXT
+(
+\96m
+, 
+f\9bld
+è(Ólm)->f\9bld.
+tqe_Ãxt
+)
+
+       )
+
+461 \ 1
+       #TAILQ_LAST
+(
+h\97d
+, 
+h\97dÇme
+) \
+
+462 (*(((\19
+h\97dÇme
+ *)((
+h\97d
+)->
+tqh_ϡ
+))->tqh_ϡ))
+
+       )
+
+463 \ 1
+       #TAILQ_PREV
+(
+\96m
+, 
+h\97dÇme
+, 
+f\9bld
+) \
+
+464 (*(((\19
+h\97dÇme
+ *)((
+\96m
+)->
+f\9bld
+.
+tqe_´ev
+))->
+tqh_ϡ
+))
+
+       )
+
+470 \ 1
+       #CIRCLEQ_HEAD
+(
+Çme
+, 
+ty³
+) \
+
+471 \19
+       sÇme
+ { \
+
+472 \19
+ty³
+ *
+cqh_f\9c¡
+; \
+
+473 \19
+ty³
+ *
+cqh_ϡ
+; \
+
+474 }
+
+       )
+
+476 \ 1
+       #CIRCLEQ_HEAD_INITIALIZER
+(
+h\97d
+) \
+
+477 { (\1e*)&
+h\97d
+, (\1e*)&h\97d }
+
+       )
+
+479 \ 1
+       #CIRCLEQ_ENTRY
+(
+ty³
+) \
+
+481 \19
+ty³
+ *
+cqe_Ãxt
+; \
+
+482 \19
+ty³
+ *
+cqe_´ev
+; \
+
+483 }
+
+       )
+
+488 \ 1
+       #CIRCLEQ_INIT
+(
+h\97d
+) do { \
+
+489 (
+h\97d
+)->
+cqh_f\9c¡
+ = (\1e*)(head); \
+
+490 (
+h\97d
+)->
+cqh_ϡ
+ = (\1e*)(head); \
+
+491 } \1f 0)
+
+       )
+
+493 \ 1
+       #CIRCLEQ_INSERT_AFTER
+(
+h\97d
+, 
+li¡\96m
+, 
+\96m
+, 
+f\9bld
+) do { \
+
+494 (
+\96m
+)->
+f\9bld
+.
+cqe_Ãxt
+ = (
+li¡\96m
+)->field.cqe_next; \
+
+495 (
+\96m
+)->
+f\9bld
+.
+cqe_´ev
+ = (
+li¡\96m
+); \
+
+496 ià((
+li¡\96m
+)->
+f\9bld
+.
+cqe_Ãxt
+ =ð(\1e*)(
+h\97d
+)) \
+
+497 (
+h\97d
+)->
+cqh_ϡ
+ = (
+\96m
+); \
+
+499 (
+li¡\96m
+)->
+f\9bld
+.
+cqe_Ãxt
+->f\9bld.
+cqe_´ev
+ = (
+\96m
+); \
+
+500 (
+li¡\96m
+)->
+f\9bld
+.
+cqe_Ãxt
+ = (
+\96m
+); \
+
+501 } \1f 0)
+
+       )
+
+503 \ 1
+       #CIRCLEQ_INSERT_BEFORE
+(
+h\97d
+, 
+li¡\96m
+, 
+\96m
+, 
+f\9bld
+) do { \
+
+504 (
+\96m
+)->
+f\9bld
+.
+cqe_Ãxt
+ = (
+li¡\96m
+); \
+
+505 (
+\96m
+)->
+f\9bld
+.
+cqe_´ev
+ = (
+li¡\96m
+)->field.cqe_prev; \
+
+506 ià((
+li¡\96m
+)->
+f\9bld
+.
+cqe_´ev
+ =ð(\1e*)(
+h\97d
+)) \
+
+507 (
+h\97d
+)->
+cqh_f\9c¡
+ = (
+\96m
+); \
+
+509 (
+li¡\96m
+)->
+f\9bld
+.
+cqe_´ev
+->f\9bld.
+cqe_Ãxt
+ = (
+\96m
+); \
+
+510 (
+li¡\96m
+)->
+f\9bld
+.
+cqe_´ev
+ = (
+\96m
+); \
+
+511 } \1f 0)
+
+       )
+
+513 \ 1
+       #CIRCLEQ_INSERT_HEAD
+(
+h\97d
+, 
+\96m
+, 
+f\9bld
+) do { \
+
+514 (
+\96m
+)->
+f\9bld
+.
+cqe_Ãxt
+ = (
+h\97d
+)->
+cqh_f\9c¡
+; \
+
+515 (
+\96m
+)->
+f\9bld
+.
+cqe_´ev
+ = (\1e*)(
+h\97d
+); \
+
+516 ià((
+h\97d
+)->
+cqh_ϡ
+ == (\1e*)(head)) \
+
+517 (
+h\97d
+)->
+cqh_ϡ
+ = (
+\96m
+); \
+
+519 (
+h\97d
+)->
+cqh_f\9c¡
+->
+f\9bld
+.
+cqe_´ev
+ = (
+\96m
+); \
+
+520 (
+h\97d
+)->
+cqh_f\9c¡
+ = (
+\96m
+); \
+
+521 } \1f 0)
+
+       )
+
+523 \ 1
+       #CIRCLEQ_INSERT_TAIL
+(
+h\97d
+, 
+\96m
+, 
+f\9bld
+) do { \
+
+524 (
+\96m
+)->
+f\9bld
+.
+cqe_Ãxt
+ = (\1e*)(
+h\97d
+); \
+
+525 (
+\96m
+)->
+f\9bld
+.
+cqe_´ev
+ = (
+h\97d
+)->
+cqh_ϡ
+; \
+
+526 ià((
+h\97d
+)->
+cqh_f\9c¡
+ == (\1e*)(head)) \
+
+527 (
+h\97d
+)->
+cqh_f\9c¡
+ = (
+\96m
+); \
+
+529 (
+h\97d
+)->
+cqh_ϡ
+->
+f\9bld
+.
+cqe_Ãxt
+ = (
+\96m
+); \
+
+530 (
+h\97d
+)->
+cqh_ϡ
+ = (
+\96m
+); \
+
+531 } \1f 0)
+
+       )
+
+533 \ 1
+       #CIRCLEQ_REMOVE
+(
+h\97d
+, 
+\96m
+, 
+f\9bld
+) do { \
+
+534 ià((
+\96m
+)->
+f\9bld
+.
+cqe_Ãxt
+ =ð(\1e*)(
+h\97d
+)) \
+
+535 (
+h\97d
+)->
+cqh_ϡ
+ = (
+\96m
+)->
+f\9bld
+.
+cqe_´ev
+; \
+
+537 (
+\96m
+)->
+f\9bld
+.
+cqe_Ãxt
+->f\9bld.
+cqe_´ev
+ = \
+
+538 (
+\96m
+)->
+f\9bld
+.
+cqe_´ev
+; \
+
+539 ià((
+\96m
+)->
+f\9bld
+.
+cqe_´ev
+ =ð(\1e*)(
+h\97d
+)) \
+
+540 (
+h\97d
+)->
+cqh_f\9c¡
+ = (
+\96m
+)->
+f\9bld
+.
+cqe_Ãxt
+; \
+
+542 (
+\96m
+)->
+f\9bld
+.
+cqe_´ev
+->f\9bld.
+cqe_Ãxt
+ = \
+
+543 (
+\96m
+)->
+f\9bld
+.
+cqe_Ãxt
+; \
+
+544 } \1f 0)
+
+       )
+
+546 \ 1
+       #CIRCLEQ_FOREACH
+(
+v¬
+, 
+h\97d
+, 
+f\9bld
+) \
+
+547 \ f(
+v¬
+èð((
+h\97d
+)->
+cqh_f\9c¡
+); \
+
+548 (
+v¬
+è!ð(cÚ¡ \1e*)(
+h\97d
+); \
+
+549 (
+v¬
+èð((v¬)->
+f\9bld
+.
+cqe_Ãxt
+))
+
+       )
+
+551 \ 1
+       #CIRCLEQ_FOREACH_REVERSE
+(
+v¬
+, 
+h\97d
+, 
+f\9bld
+) \
+
+552 \ f(
+v¬
+èð((
+h\97d
+)->
+cqh_ϡ
+); \
+
+553 (
+v¬
+è!ð(cÚ¡ \1e*)(
+h\97d
+); \
+
+554 (
+v¬
+èð((v¬)->
+f\9bld
+.
+cqe_´ev
+))
+
+       )
+
+559 \ 1
+       #CIRCLEQ_EMPTY
+(
+h\97d
+è((h\97d)->
+cqh_f\9c¡
+ =ð(\1e*)(h\97d))
+
+       )
+
+560 \ 1
+       #CIRCLEQ_FIRST
+(
+h\97d
+è((h\97d)->
+cqh_f\9c¡
+)
+
+       )
+
+561 \ 1
+       #CIRCLEQ_LAST
+(
+h\97d
+è((h\97d)->
+cqh_ϡ
+)
+
+       )
+
+562 \ 1
+       #CIRCLEQ_NEXT
+(
+\96m
+, 
+f\9bld
+è(Ólm)->f\9bld.
+cqe_Ãxt
+)
+
+       )
+
+563 \ 1
+       #CIRCLEQ_PREV
+(
+\96m
+, 
+f\9bld
+è(Ólm)->f\9bld.
+cqe_´ev
+)
+
+       )
+
+565 \ 1
+       #CIRCLEQ_LOOP_NEXT
+(
+h\97d
+, 
+\96m
+, 
+f\9bld
+) \
+
+566 (((
+\96m
+)->
+f\9bld
+.
+cqe_Ãxt
+ =ð(\1e*)(
+h\97d
+)) \
+
+567 ? ((
+h\97d
+)->
+cqh_f\9c¡
+) \
+
+568 : (
+\96m
+->
+f\9bld
+.
+cqe_Ãxt
+))
+
+       )
+
+569 \ 1
+       #CIRCLEQ_LOOP_PREV
+(
+h\97d
+, 
+\96m
+, 
+f\9bld
+) \
+
+570 (((
+\96m
+)->
+f\9bld
+.
+cqe_´ev
+ =ð(\1e*)(
+h\97d
+)) \
+
+571 ? ((
+h\97d
+)->
+cqh_ϡ
+) \
+
+572 : (
+\96m
+->
+f\9bld
+.
+cqe_´ev
+))
+
+       )
+
+       @/usr/include/sys/socket.h
+
+19 #iâdef 
+_SYS_SOCKET_H
+
+
+20 \ 1
+       #_SYS_SOCKET_H
+ 1
+
+       )
+
+22 \ 2
+       ~<ã©u»s.h
+>
+
+24 
+       g__BEGIN_DECLS
+
+
+26 \ 2
+       ~<sys/uio.h
+>
+
+27 \ 1
+       #__Ãed_size_t
+
+
+       )
+
+28 \ 2
+       ~<¡ddef.h
+>
+
+29 #ifdeà
+__USE_GNU
+
+
+31 \ 2
+       ~<b\99s/sig£t.h
+>
+
+38 \ 2
+       ~<b\99s/sock\91.h
+>
+
+40 #ifdeà
+__USE_MISC
+
+
+43 \19
+       sosockaddr
+
+
+45 \1d\16\12
+       m§_çm\9ey
+;
+
+46 \1d\ 5
+       m§_d©a
+[14];
+
+54 
+       mSHUT_RD
+ = 0,
+
+55 \ 1
+       #SHUT_RD
+SHUT_RD
+
+
+       )
+
+56 
+       mSHUT_WR
+,
+
+57 \ 1
+       #SHUT_WR
+SHUT_WR
+
+
+       )
+
+58 
+       mSHUT_RDWR
+
+
+59 \ 1
+       #SHUT_RDWR
+SHUT_RDWR
+
+
+       )
+
+68 #ià
+def\9aed
+__ýlu¥lus
+ || !
+__GNUC_PREREQ
+ (2, 7è|| !def\9aed 
+__USE_GNU
+
+
+69 \ 1
+       #__SOCKADDR_ARG
\19
+sockaddr
+ *
+__»¡riù
+
+
+       )
+
+70 \ 1
+       #__CONST_SOCKADDR_ARG
+ cڡ \19
+sockaddr
+ *
+
+       )
+
+74 \ 1
+       #__SOCKADDR_ALLTYPES
+ \
+
+75 
+       `__SOCKADDR_ONETYPE
+ (
+sockaddr
+) \
+
+76 
+       `__SOCKADDR_ONETYPE
+ (
+sockaddr_©
+) \
+
+77 
+       `__SOCKADDR_ONETYPE
+ (
+sockaddr_ax25
+) \
+
+78 
+       `__SOCKADDR_ONETYPE
+ (
+sockaddr_dl
+) \
+
+79 
+       `__SOCKADDR_ONETYPE
+ (
+sockaddr_eÚ
+) \
+
+80 
+       `__SOCKADDR_ONETYPE
+ (
+sockaddr_\9a
+) \
+
+81 
+       `__SOCKADDR_ONETYPE
+ (
+sockaddr_\9a6
+) \
+
+82 
+       `__SOCKADDR_ONETYPE
+ (
+sockaddr_\9a¬p
+) \
+
+83 
+       `__SOCKADDR_ONETYPE
+ (
+sockaddr_\9dx
+) \
+
+84 
+       `__SOCKADDR_ONETYPE
+ (
+sockaddr_iso
+) \
+
+85 
+       `__SOCKADDR_ONETYPE
+ (
+sockaddr_ns
+) \
+
+86 
+       `__SOCKADDR_ONETYPE
+ (
+sockaddr_un
+) \
+
+87 
+       `__SOCKADDR_ONETYPE
+ (
+sockaddr_x25
+)
+
+       )
+
+89 \ 1
+       #__SOCKADDR_ONETYPE
+(
+ty³
\19ty³ *
+__»¡riù
+__
+##ty³##__;
+
+       )
+
+90 \euniÚ { 
+       m__SOCKADDR_ALLTYPES
+
+
+91 } 
+       t__SOCKADDR_ARG
+       t__©\8cibu\8b__
+ ((
+       t__\8cª¥¬\92t_uniÚ__
+));
+
+92 #undeà
+__SOCKADDR_ONETYPE
+
+
+93 \ 1
+       #__SOCKADDR_ONETYPE
+(
+ty³
+ècÚ¡ \19ty³ *
+__»¡riù
+__
+##ty³##__;
+
+       )
+
+94 \euniÚ { 
+       m__SOCKADDR_ALLTYPES
+
+
+95 } 
+       t__CONST_SOCKADDR_ARG
+       t__©\8cibu\8b__
+ ((
+       t__\8cª¥¬\92t_uniÚ__
+));
+
+96 #undeà
+__SOCKADDR_ONETYPE
+
+
+99 #ifdeà
+__USE_GNU
+
+
+101 \19
+       smmsghdr
+
+
+103 \19
+msghdr
+       mmsg_hdr
+;
+
+104 \1d\12
+       mmsg_Ën
+;
+
+113 \r\12
+       $sock\91
+ (\12
+__doma\9a
+, \12
+__ty³
+, \12
+__´ÙocÞ
+__THROW
+;
+
+119 \r\12
+       $sock\91·\9c
+ (\12
+__doma\9a
+, \12
+__ty³
+, \12
+__´ÙocÞ
+,
+
+120 \12
+__fds
+[2]è
+__THROW
+;
+
+123 \r\12
+       $b\9ad
+ (\12
+__fd
+, 
+__CONST_SOCKADDR_ARG
+__addr
+, 
+sockËn_t
+__Ën
+)
+
+124 
+__THROW
+;
+
+127 \r\12
+       $g\91sockÇme
+ (\12
+__fd
+, 
+__SOCKADDR_ARG
+__addr
+,
+
+128 
+sockËn_t
+ *
+__»¡riù
+__Ën
+__THROW
+;
+
+137 \r\12
+       `cÚÃù
+ (\12
+__fd
+, 
+__CONST_SOCKADDR_ARG
+__addr
+, 
+sockËn_t
+__Ën
+);
+
+141 \r\12
+       $g\91³\94Çme
+ (\12
+__fd
+, 
+__SOCKADDR_ARG
+__addr
+,
+
+142 
+sockËn_t
+ *
+__»¡riù
+__Ën
+__THROW
+;
+
+149 \r
+ssize_t
+       `£nd
+ (\12
+__fd
+, cڡ \1e*
+__buf
+, 
+size_t
+__n
+, \12
+__æags
+);
+
+156 \r
+ssize_t
+       `»cv
+ (\12
+__fd
+, \1e*
+__buf
+, 
+size_t
+__n
+, \12
+__æags
+);
+
+163 \r
+ssize_t
+       `£ndto
+ (\12
+__fd
+, cڡ \1e*
+__buf
+, 
+size_t
+__n
+,
+
+164 \12
+__æags
+, 
+__CONST_SOCKADDR_ARG
+__addr
+,
+
+165 
+sockËn_t
+__addr_Ën
+);
+
+174 \r
+ssize_t
+       `»cväom
+ (\12
+__fd
+, \1e*
+__»¡riù
+__buf
+, 
+size_t
+__n
+,
+
+175 \12
+__æags
+, 
+__SOCKADDR_ARG
+__addr
+,
+
+176 
+sockËn_t
+ *
+__»¡riù
+__addr_Ën
+);
+
+184 \r
+ssize_t
+       `£ndmsg
+ (\12
+__fd
+, cڡ \19
+msghdr
+ *
+__mes§ge
+,
+
+185 \12
+__æags
+);
+
+187 #ifdeà
+__USE_GNU
+
+
+193 \r\12
+       `£ndmmsg
+ (\12
+__fd
+, \19
+mmsghdr
+ *
+__vmes§ges
+,
+
+194 \1d\12
+__vËn
+, \12
+__æags
+);
+
+202 \r
+ssize_t
+       `»cvmsg
+ (\12
+__fd
+, \19
+msghdr
+ *
+__mes§ge
+, \12
+__æags
+);
+
+204 #ifdeà
+__USE_GNU
+
+
+210 \r\12
+       `»cvmmsg
+ (\12
+__fd
+, \19
+mmsghdr
+ *
+__vmes§ges
+,
+
+211 \1d\12
+__vËn
+, \12
+__æags
+,
+
+212 \19
+time¥ec
+ *
+__tmo
+);
+
+219 \r\12
+       $g\91sockÝt
+ (\12
+__fd
+, \12
+__Ëv\96
+, \12
+__݊ame
+,
+
+220 \1e*
+__»¡riù
+__Ýtv®
+,
+
+221 
+sockËn_t
+ *
+__»¡riù
+__Ý\8e\92
+__THROW
+;
+
+226 \r\12
+       $£tsockÝt
+ (\12
+__fd
+, \12
+__Ëv\96
+, \12
+__݊ame
+,
+
+227 cڡ \1e*
+__Ýtv®
+, 
+sockËn_t
+__Ý\8e\92
+__THROW
+;
+
+233 \r\12
+       $li¡\92
+ (\12
+__fd
+, \12
+__n
+__THROW
+;
+
+243 \r\12
+       `acû±
+ (\12
+__fd
+, 
+__SOCKADDR_ARG
+__addr
+,
+
+244 
+sockËn_t
+ *
+__»¡riù
+__addr_Ën
+);
+
+246 #ifdeà
+__USE_GNU
+
+
+251 \r\12
+       `acû±4
+ (\12
+__fd
+, 
+__SOCKADDR_ARG
+__addr
+,
+
+252 
+sockËn_t
+ *
+__»¡riù
+__addr_Ën
+, \12
+__æags
+);
+
+261 \r\12
+       $shutdown
+ (\12
+__fd
+, \12
+__how
+__THROW
+;
+
+264 #ifdeà
+__USE_XOPEN2K
+
+
+266 \r\12
+       $sock©m¬k
+ (\12
+__fd
+__THROW
+;
+
+270 #ifdeà
+__USE_MISC
+
+
+274 \r\12
+       $isfdty³
+ (\12
+__fd
+, \12
+__fdty³
+__THROW
+;
+
+279 #ià
+__USE_FORTIFY_LEVEL
+ > 0 && 
+def\9aed
+__fÜtify_funùiÚ
+
+
+280 \ 2
+       ~<b\99s/sock\912.h
+>
+
+283 
+__END_DECLS
+
+
+       @/usr/include/sys/types.h
+
+22 #iâdef 
+_SYS_TYPES_H
+
+
+23 \ 1
+       #_SYS_TYPES_H
+ 1
+
+       )
+
+25 \ 2
+       ~<ã©u»s.h
+>
+
+27 
+       g__BEGIN_DECLS
+
+
+29 \ 2
+       ~<b\99s/ty³s.h
+>
+
+31 #ifdef 
+__USE_MISC
+
+
+32 #iâdeà
+__u_ch¬_def\9aed
+
+
+33 \e
+__u_ch¬
+       tu_ch¬
+;
+
+34 \e
+__u_shÜt
+       tu_shÜt
+;
+
+35 \e
+__u_\9at
+       tu_\9at
+;
+
+36 \e
+__u_lÚg
+       tu_lÚg
+;
+
+37 \e
+__quad_t
+       tquad_t
+;
+
+38 \e
+__u_quad_t
+       tu_quad_t
+;
+
+39 \e
+__fsid_t
+       tfsid_t
+;
+
+40 \ 1
+       #__u_ch¬_def\9aed
+
+
+       )
+
+44 \e
+__loff_t
+       tloff_t
+;
+
+46 #iâdeà
+__\9ao_t_def\9aed
+
+
+47 #iâdeà
+__USE_FILE_OFFSET64
+
+
+48 \e
+__\9ao_t
+       t\9ao_t
+;
+
+50 \e
+__\9ao64_t
+       t\9ao_t
+;
+
+52 \ 1
+       #__\9ao_t_def\9aed
+
+
+       )
+
+54 #ià
+def\9aed
+__USE_LARGEFILE64
+ && !def\9aed 
+__\9ao64_t_def\9aed
+
+
+55 \e
+__\9ao64_t
+       t\9ao64_t
+;
+
+56 \ 1
+       #__\9ao64_t_def\9aed
+
+
+       )
+
+59 #iâdeà
+__dev_t_def\9aed
+
+
+60 \e
+__dev_t
+       tdev_t
+;
+
+61 \ 1
+       #__dev_t_def\9aed
+
+
+       )
+
+64 #iâdeà
+__gid_t_def\9aed
+
+
+65 \e
+__gid_t
+       tgid_t
+;
+
+66 \ 1
+       #__gid_t_def\9aed
+
+
+       )
+
+69 #iâdeà
+__mode_t_def\9aed
+
+
+70 \e
+__mode_t
+       tmode_t
+;
+
+71 \ 1
+       #__mode_t_def\9aed
+
+
+       )
+
+74 #iâdeà
+__Æ\9ak_t_def\9aed
+
+
+75 \e
+__ƚk_t
+       tƚk_t
+;
+
+76 \ 1
+       #__Æ\9ak_t_def\9aed
+
+
+       )
+
+79 #iâdeà
+__uid_t_def\9aed
+
+
+80 \e
+__uid_t
+       tuid_t
+;
+
+81 \ 1
+       #__uid_t_def\9aed
+
+
+       )
+
+84 #iâdeà
+__off_t_def\9aed
+
+
+85 #iâdeà
+__USE_FILE_OFFSET64
+
+
+86 \e
+__off_t
+       toff_t
+;
+
+88 \e
+__off64_t
+       toff_t
+;
+
+90 \ 1
+       #__off_t_def\9aed
+
+
+       )
+
+92 #ià
+def\9aed
+__USE_LARGEFILE64
+ && !def\9aed 
+__off64_t_def\9aed
+
+
+93 \e
+__off64_t
+       toff64_t
+;
+
+94 \ 1
+       #__off64_t_def\9aed
+
+
+       )
+
+97 #iâdeà
+__pid_t_def\9aed
+
+
+98 \e
+__pid_t
+       tpid_t
+;
+
+99 \ 1
+       #__pid_t_def\9aed
+
+
+       )
+
+102 #ià(
+def\9aed
+__USE_XOPEN
+ || def\9aed 
+__USE_XOPEN2K8
+) \
+
+103 && !
+def\9aed
+__id_t_def\9aed
+
+
+104 \e
+__id_t
+       tid_t
+;
+
+105 \ 1
+       #__id_t_def\9aed
+
+
+       )
+
+108 #iâdeà
+__ssize_t_def\9aed
+
+
+109 \e
+__ssize_t
+       tssize_t
+;
+
+110 \ 1
+       #__ssize_t_def\9aed
+
+
+       )
+
+113 #ifdef 
+__USE_MISC
+
+
+114 #iâdeà
+__daddr_t_def\9aed
+
+
+115 \e
+__daddr_t
+       tdaddr_t
+;
+
+116 \e
+__ÿddr_t
+       tÿddr_t
+;
+
+117 \ 1
+       #__daddr_t_def\9aed
+
+
+       )
+
+121 #ià(
+def\9aed
+__USE_MISC
+ || def\9aed 
+__USE_XOPEN
+è&& !def\9aed 
+__key_t_def\9aed
+
+
+122 \e
+__key_t
+       tkey_t
+;
+
+123 \ 1
+       #__key_t_def\9aed
+
+
+       )
+
+126 #ià
+def\9aed
+__USE_XOPEN
+ || def\9aed 
+__USE_XOPEN2K8
+
+
+127 \ 1
+       #__Ãed_þock_t
+
+
+       )
+
+129 \ 1
+       #__Ãed_time_t
+
+
+       )
+
+130 \ 1
+       #__Ãed_tim\94_t
+
+
+       )
+
+131 \ 1
+       #__Ãed_þockid_t
+
+
+       )
+
+132 \ 2
+       ~<time.h
+>
+
+134 #ifdeà
+__USE_XOPEN
+
+
+135 #iâdeà
+__u£cÚds_t_def\9aed
+
+
+136 \e
+__u£cÚds_t
+       tu£cÚds_t
+;
+
+137 \ 1
+       #__u£cÚds_t_def\9aed
+
+
+       )
+
+139 #iâdeà
+__su£cÚds_t_def\9aed
+
+
+140 \e
+__su£cÚds_t
+       tsu£cÚds_t
+;
+
+141 \ 1
+       #__su£cÚds_t_def\9aed
+
+
+       )
+
+145 \ 1
+       #__Ãed_size_t
+
+
+       )
+
+146 \ 2
+       ~<¡ddef.h
+>
+
+148 #ifdeà
+__USE_MISC
+
+
+150 \e\1d\13\12
+       tulÚg
+;
+
+151 \e\1d\16\12
+       tushÜt
+;
+
+152 \e\1d\12
+       tu\9at
+;
+
+157 #ià!
+__GNUC_PREREQ
+ (2, 7)
+
+160 #iâdeà
+__\9at8_t_def\9aed
+
+
+161 \ 1
+       #__\9at8_t_def\9aed
+
+
+       )
+
+162 \e\ 5
+       t\9at8_t
+;
+
+163 \e\16\12
+       t\9at16_t
+;
+
+164 \e\12
+       t\9at32_t
+;
+
+165 #ià
+__WORDSIZE
+ == 64
+
+166 \e\13\12
+       t\9at64_t
+;
+
+168 
+__ex\8bnsiÚ__
\e\13\13\12
+       t\9at64_t
+;
+
+173 \e\1d\ 5
+       tu_\9at8_t
+;
+
+174 \e\1d\16\12
+       tu_\9at16_t
+;
+
+175 \e\1d\12
+       tu_\9at32_t
+;
+
+176 #ià
+__WORDSIZE
+ == 64
+
+177 \e\1d\13\12
+       tu_\9at64_t
+;
+
+179 
+__ex\8bnsiÚ__
\e\1d\13\13\12
+       tu_\9at64_t
+;
+
+182 \e\12
+       t»gi¡\94_t
+;
+
+187 \ 1
+       #__\9atN_t
+(
+N
+, 
+MODE
+) \
+
+188 \e\12\12##
+       tN
+##
+       t_t
+       t__©\8cibu\8b__
+ ((
+       t__mode__
+ (
+       tMODE
+)))
+
+       )
+
+189 \ 1
+       t__u_\9atN_t
+(
+       tN
+, 
+       tMODE
+) \
+
+190 \e\1d\12
+       tu_\9at
+##
+       tN
+##
+       t_t
+       t__©\8cibu\8b__
+ ((
+       t__mode__
+ (
+       tMODE
+)))
+
+       )
+
+192 #iâdeà
+       t__\9at8_t_def\9aed
+
+
+193 \ 1
+       t__\9at8_t_def\9aed
+
+
+       )
+
+194 
+       t__\9atN_t
+ (8, 
+       t__QI__
+);
+
+195 
+__\9atN_t
+ (16, 
+__HI__
+);
+
+196 
+__\9atN_t
+ (32, 
+__SI__
+);
+
+197 
+__\9atN_t
+ (64, 
+__DI__
+);
+
+200 
+__u_\9atN_t
+ (8, 
+__QI__
+);
+
+201 
+__u_\9atN_t
+ (16, 
+__HI__
+);
+
+202 
+__u_\9atN_t
+ (32, 
+__SI__
+);
+
+203 
+__u_\9atN_t
+ (64, 
+__DI__
+);
+
+205 \e\12
+       t»gi¡\94_t
+       t__©\8cibu\8b__
+ ((
+       t__mode__
+ (
+       t__wÜd__
+)));
+
+211 \ 1
+       #__BIT_TYPES_DEFINED__
+ 1
+
+       )
+
+214 #ifdef 
+__USE_MISC
+
+
+216 \ 2
+       ~<\92d\9fn.h
+>
+
+219 \ 2
+       ~<sys/£Ëù.h
+>
+
+222 \ 2
+       ~<sys/sysmaüos.h
+>
+
+226 #ià(
+def\9aed
+__USE_UNIX98
+ || def\9aed 
+__USE_XOPEN2K8
+) \
+
+227 && !
+def\9aed
+__blksize_t_def\9aed
+
+
+228 \e
+__blksize_t
+       tblksize_t
+;
+
+229 \ 1
+       #__blksize_t_def\9aed
+
+
+       )
+
+233 #iâdeà
+__USE_FILE_OFFSET64
+
+
+234 #iâdeà
+__blkút_t_def\9aed
+
+
+235 \e
+__blkút_t
+       tblkút_t
+;
+
+236 \ 1
+       #__blkút_t_def\9aed
+
+
+       )
+
+238 #iâdeà
+__fsblkút_t_def\9aed
+
+
+239 \e
+__fsblkút_t
+       tfsblkút_t
+;
+
+240 \ 1
+       #__fsblkút_t_def\9aed
+
+
+       )
+
+242 #iâdeà
+__fsf\9eút_t_def\9aed
+
+
+243 \e
+__fsf\9eút_t
+       tfsf\9eút_t
+;
+
+244 \ 1
+       #__fsf\9eút_t_def\9aed
+
+
+       )
+
+247 #iâdeà
+__blkút_t_def\9aed
+
+
+248 \e
+__blkút64_t
+       tblkút_t
+;
+
+249 \ 1
+       #__blkút_t_def\9aed
+
+
+       )
+
+251 #iâdeà
+__fsblkút_t_def\9aed
+
+
+252 \e
+__fsblkút64_t
+       tfsblkút_t
+;
+
+253 \ 1
+       #__fsblkút_t_def\9aed
+
+
+       )
+
+255 #iâdeà
+__fsf\9eút_t_def\9aed
+
+
+256 \e
+__fsf\9eút64_t
+       tfsf\9eút_t
+;
+
+257 \ 1
+       #__fsf\9eút_t_def\9aed
+
+
+       )
+
+261 #ifdeà
+__USE_LARGEFILE64
+
+
+262 \e
+__blkút64_t
+       tblkút64_t
+;
+
+263 \e
+__fsblkút64_t
+       tfsblkút64_t
+;
+
+264 \e
+__fsf\9eút64_t
+       tfsf\9eút64_t
+;
+
+269 #ià
+def\9aed
+__USE_POSIX199506
+ || def\9aed 
+__USE_UNIX98
+
+
+270 \ 2
+       ~<b\99s/±h»adty³s.h
+>
+
+273 
+       g__END_DECLS
+
+
+       @/usr/include/sys/wait.h
+
+22 #iâdef 
+_SYS_WAIT_H
+
+
+23 \ 1
+       #_SYS_WAIT_H
+ 1
+
+       )
+
+25 \ 2
+       ~<ã©u»s.h
+>
+
+27 
+       g__BEGIN_DECLS
+
+
+29 \ 2
+       ~<sigÇl.h
+>
+
+32 #ià!
+def\9aed
+_STDLIB_H
+ || (!def\9aed 
+__USE_XOPEN
+ && !def\9aed 
+__USE_XOPEN2K8
+)
+
+35 \ 2
+       ~<b\99s/wa\99æags.h
+>
+
+37 #ifdef 
+__USE_MISC
+
+
+42 #ià
+def\9aed
+__GNUC__
+ && !def\9aed 
+__ýlu¥lus
+
+
+43 \ 1
+       #__WAIT_INT
+(
+¡©us
+) \
+
+44 (
+       `__ex\8bnsiÚ__
+ (((uniÚ { 
+       `__ty³of
+(
+¡©us
+__\9a
+; \12
+__i
+; }) \
+
+45 { .
+__\9a
+ = (
+¡©us
+è}).
+__i
+))
+
+       )
+
+47 \ 1
+       #__WAIT_INT
+(
+¡©us
+è(*(cÚ¡ \12*è&(¡©us))
+
+       )
+
+55 #ià!
+def\9aed
+__GNUC__
+ || __GNUC__ < 2 || def\9aed 
+__ýlu¥lus
+
+
+56 \ 1
+       #__WAIT_STATUS
\1e*
+
+       )
+
+57 \ 1
+       #__WAIT_STATUS_DEFN
\1e*
+
+       )
+
+62 \1c
+wa\99
+ *
+       m__u±r
+;
+
+63 \12*
+       m__\9d\8c
+;
+
+64 } 
+       t__WAIT_STATUS
+       t__©\8cibu\8b__
+ ((
+       t__\8cª¥¬\92t_uniÚ__
+));
+
+65 \ 1
+       #__WAIT_STATUS_DEFN
\12*
+
+       )
+
+70 \ 1
+       #__WAIT_INT
+(
+¡©us
+è(¡©us)
+
+       )
+
+71 \ 1
+       #__WAIT_STATUS
\12*
+
+       )
+
+72 \ 1
+       #__WAIT_STATUS_DEFN
\12*
+
+       )
+
+77 \ 2
+       ~<b\99s/wa\99¡©us.h
+>
+
+79 \ 1
+       #WEXITSTATUS
+(
+¡©us
+       `__WEXITSTATUS
+ (
+       `__WAIT_INT
+ (¡©us))
+
+       )
+
+80 \ 1
+       #WTERMSIG
+(
+¡©us
+       `__WTERMSIG
+ (
+       `__WAIT_INT
+ (¡©us))
+
+       )
+
+81 \ 1
+       #WSTOPSIG
+(
+¡©us
+       `__WSTOPSIG
+ (
+       `__WAIT_INT
+ (¡©us))
+
+       )
+
+82 \ 1
+       #WIFEXITED
+(
+¡©us
+       `__WIFEXITED
+ (
+       `__WAIT_INT
+ (¡©us))
+
+       )
+
+83 \ 1
+       #WIFSIGNALED
+(
+¡©us
+       `__WIFSIGNALED
+ (
+       `__WAIT_INT
+ (¡©us))
+
+       )
+
+84 \ 1
+       #WIFSTOPPED
+(
+¡©us
+       `__WIFSTOPPED
+ (
+       `__WAIT_INT
+ (¡©us))
+
+       )
+
+85 #ifdeà
+__WIFCONTINUED
+
+
+86 \ 1
+       #WIFCONTINUED
+(
+¡©us
+       `__WIFCONTINUED
+ (
+       `__WAIT_INT
+ (¡©us))
+
+       )
+
+90 #ifdef 
+__USE_MISC
+
+
+91 \ 1
+       #WCOREFLAG
+__WCOREFLAG
+
+
+       )
+
+92 \ 1
+       #WCOREDUMP
+(
+¡©us
+       `__WCOREDUMP
+ (
+       `__WAIT_INT
+ (¡©us))
+
+       )
+
+93 \ 1
+       #W_EXITCODE
+(
+»t
+, 
+sig
+       `__W_EXITCODE
+ (»t, sig)
+
+       )
+
+94 \ 1
+       #W_STOPCODE
+(
+sig
+       `__W_STOPCODE
+ (sig)
+
+       )
+
+102 \r
+__pid_t
+wa\99
+ (
+__WAIT_STATUS
+__¡©_loc
+);
+
+104 #ifdef 
+__USE_MISC
+
+
+106 \ 1
+       #WAIT_ANY
+ (-1è
+
+       )
+
+107 \ 1
+       #WAIT_MYPGRP
+ 0
+
+       )
+
+125 \r
+__pid_t
+wa\99pid
+ (__pid_\88
+__pid
+, \12*
+__¡©_loc
+, \12
+__ÝtiÚs
+);
+
+127 #ià
+def\9aed
+__USE_XOPEN
+ || def\9aed 
+__USE_XOPEN2K8
+
+
+128 #iâdeà
+__id_t_def\9aed
+
+
+129 \ 2
+       ~<b\99s/ty³s.h
+>
+
+130 \e
+__id_t
+       tid_t
+;
+
+131 \ 1
+       #__id_t_def\9aed
+
+
+       )
+
+134 \ 1
+       #__Ãed_sig\9afo_t
+
+
+       )
+
+135 \ 2
+       ~<b\99s/sig\9afo.h
+>
+
+148 \r\12
+wa\99id
+ (
+idty³_t
+__idty³
+, 
+__id_t
+__id
+, 
+sig\9afo_t
+ *
+__\9a
+,
+
+149 \12
+__ÝtiÚs
+);
+
+152 #ià
+def\9aed
+__USE_MISC
+ || def\9aed 
+__USE_XOPEN_EXTENDED
+
+
+155 \19
+       gru§ge
+;
+
+162 \r
+__pid_t
+       $wa\993
+ (
+__WAIT_STATUS
+__¡©_loc
+, \12
+__ÝtiÚs
+,
+
+163 \19
+ru§ge
+ * 
+__u§ge
+__THROWNL
+;
+
+166 #ifdeà
+__USE_MISC
+
+
+168 \r
+__pid_t
+       $wa\994
+ (
+__pid_t
+__pid
+, 
+__WAIT_STATUS
+__¡©_loc
+, \12
+__ÝtiÚs
+,
+
+169 \19
+ru§ge
+ *
+__u§ge
+__THROWNL
+;
+
+173 
+__END_DECLS
+
+
+       @/usr/include/time.h
+
+22 #iâdef 
+_TIME_H
+
+
+24 #ià(! 
+def\9aed
+__Ãed_time_t
+ && !def\9aed 
+__Ãed_þock_t
+ && \
+
+25 ! 
+def\9aed
+       g__Ãed_time¥ec
+)
+
+26 \ 1
+       #_TIME_H
+ 1
+
+       )
+
+27 \ 2
+       ~<ã©u»s.h
+>
+
+29 
+       g__BEGIN_DECLS
+
+
+33 #ifdef 
+_TIME_H
+
+
+35 \ 1
+       #__Ãed_size_t
+
+
+       )
+
+36 \ 1
+       #__Ãed_NULL
+
+
+       )
+
+37 \ 2
+       ~<¡ddef.h
+>
+
+41 \ 2
+       ~<b\99s/time.h
+>
+
+44 #ià!
+def\9aed
+__STRICT_ANSI__
+ && !def\9aed 
+__USE_XOPEN2K
+
+
+45 #iâdeà
+CLK_TCK
+
+
+46 \ 1
+       #CLK_TCK
+CLOCKS_PER_SEC
+
+
+       )
+
+52 #ià!
+def\9aed
+__þock_t_def\9aed
+ && (def\9aed 
+_TIME_H
+ || def\9aed 
+__Ãed_þock_t
+)
+
+53 \ 1
+       #__þock_t_def\9aed
+ 1
+
+       )
+
+55 \ 2
+       ~<b\99s/ty³s.h
+>
+
+57 
+__BEGIN_NAMESPACE_STD
+
+
+59 \e
+__þock_t
+       tþock_t
+;
+
+60 
+       g__END_NAMESPACE_STD
+
+
+61 #ià
+def\9aed
+__USE_XOPEN
+ || def\9aed 
+__USE_POSIX
+
+
+62 
+       $__USING_NAMESPACE_STD
+(
+þock_t
+)
+
+66 #undeà
+__Ãed_þock_t
+
+
+68 #ià!
+def\9aed
+__time_t_def\9aed
+ && (def\9aed 
+_TIME_H
+ || def\9aed 
+__Ãed_time_t
+)
+
+69 \ 1
+       #__time_t_def\9aed
+ 1
+
+       )
+
+71 \ 2
+       ~<b\99s/ty³s.h
+>
+
+73 
+__BEGIN_NAMESPACE_STD
+
+
+75 \e
+__time_t
+       ttime_t
+;
+
+76 
+__END_NAMESPACE_STD
+
+
+77 #ifdeà
+__USE_POSIX
+
+
+78 
+       $__USING_NAMESPACE_STD
+(
+time_t
+)
+
+82 #undeà
+__Ãed_time_t
+
+
+84 #ià!
+def\9aed
+__þockid_t_def\9aed
+ && \
+
+85 ((
+def\9aed
+_TIME_H
+ && def\9aed 
+__USE_POSIX199309
+è|| def\9aed 
+__Ãed_þockid_t
+)
+
+86 \ 1
+       #__þockid_t_def\9aed
+ 1
+
+       )
+
+88 \ 2
+       ~<b\99s/ty³s.h
+>
+
+91 \e
+__þockid_t
+       tþockid_t
+;
+
+94 #undeà
+__þockid_time_t
+
+
+96 #ià!
+def\9aed
+__tim\94_t_def\9aed
+ && \
+
+97 ((
+def\9aed
+_TIME_H
+ && def\9aed 
+__USE_POSIX199309
+è|| def\9aed 
+__Ãed_tim\94_t
+)
+
+98 \ 1
+       #__tim\94_t_def\9aed
+ 1
+
+       )
+
+100 \ 2
+       ~<b\99s/ty³s.h
+>
+
+103 \e
+__tim\94_t
+       ttim\94_t
+;
+
+106 #undeà
+__Ãed_tim\94_t
+
+
+109 #ià(!
+def\9aed
+__time¥ec_def\9aed
+ \
+
+110 && ((
+def\9aed
+_TIME_H
+ \
+
+111 && (
+def\9aed
+__USE_POSIX199309
+ \
+
+112 || 
+def\9aed
+__USE_ISOC11
+)) \
+
+113 || 
+def\9aed
+__Ãed_time¥ec
+))
+
+114 \ 1
+       #__time¥ec_def\9aed
+ 1
+
+       )
+
+116 \ 2
+       ~<b\99s/ty³s.h
+>
+
+120 \19
+       stime¥ec
+
+
+122 
+__time_t
+tv_£c
+;
+
+123 
+__sysÿÎ_¦Úg_t
+tv_n£c
+;
+
+127 #undeà
+__Ãed_time¥ec
+
+
+130 #ifdef 
+_TIME_H
+
+
+131 
+__BEGIN_NAMESPACE_STD
+
+
+133 \19
+       stm
+
+
+135 \12
+tm_£c
+;
+
+136 \12
+tm_m\9a
+;
+
+137 \12
+tm_hour
+;
+
+138 \12
+tm_mday
+;
+
+139 \12
+tm_mÚ
+;
+
+140 \12
+tm_y\97r
+;
+
+141 \12
+tm_wday
+;
+
+142 \12
+tm_yday
+;
+
+143 \12
+tm_isd¡
+;
+
+145 #ifdef 
+__USE_MISC
+
+
+146 \13\12
+tm_gmtoff
+;
+
+147 cڡ \ 5*
+tm_zÚe
+;
+
+149 \13\12
+__tm_gmtoff
+;
+
+150 cڡ \ 5*
+__tm_zÚe
+;
+
+153 
+__END_NAMESPACE_STD
+
+
+154 #ià
+def\9aed
+__USE_XOPEN
+ || def\9aed 
+__USE_POSIX
+
+
+155 
+       $__USING_NAMESPACE_STD
+(
+tm
+)
+
+159 #ifdeà
+__USE_POSIX199309
+
+
+161 \19
+       s\99im\94¥ec
+
+
+163 \19
+time¥ec
+\99_\9a\8brv®
+;
+
+164 \19
+time¥ec
+\99_v®ue
+;
+
+168 \19
+sigev\92t
+;
+
+172 #ifdeà
+__USE_XOPEN2K
+
+
+173 #iâdeà
+__pid_t_def\9aed
+
+
+174 \e
+__pid_t
+       tpid_t
+;
+
+175 \ 1
+       #__pid_t_def\9aed
+
+
+       )
+
+180 #ifdeà
+__USE_ISOC11
+
+
+182 \ 1
+       #TIME_UTC
+ 1
+
+       )
+
+186 
+__BEGIN_NAMESPACE_STD
+
+
+189 \r
+þock_t
+       $þock
+ (\1eè
+__THROW
+;
+
+192 \r
+time_t
+       $time
+ (
+time_t
+ *
+__tim\94
+__THROW
+;
+
+195 \r\b
+       $difáime
+ (
+time_t
+__time1
+,\81ime_\88
+__time0
+)
+
+196 
+__THROW
+       `__©\8cibu\8b__
+ ((
+__cڡ__
+));
+
+199 \r
+time_t
+       $mktime
+ (\19
+tm
+ *
+__\8d
+__THROW
+;
+
+205 \r
+size_t
+       $¡ráime
+ (\ 5*
+__»¡riù
+__s
+, 
+size_t
+__maxsize
+,
+
+206 cڡ \ 5*
+__»¡riù
+__fÜm©
+,
+
+207 cڡ \19
+tm
+ *
+__»¡riù
+__\8d
+__THROW
+;
+
+208 
+__END_NAMESPACE_STD
+
+
+210 #ifdeà
+__USE_XOPEN
+
+
+213 \r\ 5*
+       $¡½time
+ (cڡ \ 5*
+__»¡riù
+__s
+,
+
+214 cڡ \ 5*
+__»¡riù
+__fmt
+, \19
+tm
+ *
+__\8d
+)
+
+215 
+__THROW
+;
+
+218 #ifdeà
+__USE_XOPEN2K8
+
+
+221 \ 2
+       ~<xloÿË.h
+>
+
+223 \r
+size_t
+       $¡ráime_l
+ (\ 5*
+__»¡riù
+__s
+, 
+size_t
+__maxsize
+,
+
+224 cڡ \ 5*
+__»¡riù
+__fÜm©
+,
+
+225 cڡ \19
+tm
+ *
+__»¡riù
+__\8d
+,
+
+226 
+__loÿË_t
+__loc
+__THROW
+;
+
+229 #ifdeà
+__USE_GNU
+
+
+230 \r\ 5*
+       $¡½time_l
+ (cڡ \ 5*
+__»¡riù
+__s
+,
+
+231 cڡ \ 5*
+__»¡riù
+__fmt
+, \19
+tm
+ *
+__\8d
+,
+
+232 
+__loÿË_t
+__loc
+__THROW
+;
+
+236 
+__BEGIN_NAMESPACE_STD
+
+
+239 \r\19
+tm
+ *
+       $gmtime
+ (cڡ 
+time_t
+ *
+__tim\94
+__THROW
+;
+
+243 \r\19
+tm
+ *
+       $loÿÉime
+ (cڡ 
+time_t
+ *
+__tim\94
+__THROW
+;
+
+244 
+__END_NAMESPACE_STD
+
+
+246 #ifdeà
+__USE_POSIX
+
+
+249 \r\19
+tm
+ *
+       $gmtime_r
+ (cڡ 
+time_t
+ *
+__»¡riù
+__tim\94
+,
+
+250 \19
+tm
+ *
+__»¡riù
+__\8d
+__THROW
+;
+
+254 \r\19
+tm
+ *
+       $loÿÉime_r
+ (cڡ 
+time_t
+ *
+__»¡riù
+__tim\94
+,
+
+255 \19
+tm
+ *
+__»¡riù
+__\8d
+__THROW
+;
+
+258 
+__BEGIN_NAMESPACE_STD
+
+
+261 \r\ 5*
+       $asùime
+ (cڡ \19
+tm
+ *
+__\8d
+__THROW
+;
+
+264 \r\ 5*
+       $ùime
+ (cڡ 
+time_t
+ *
+__tim\94
+__THROW
+;
+
+265 
+__END_NAMESPACE_STD
+
+
+267 #ifdeà
+__USE_POSIX
+
+
+272 \r\ 5*
+       $asùime_r
+ (cڡ \19
+tm
+ *
+__»¡riù
+__\8d
+,
+
+273 \ 5*
+__»¡riù
+__buf
+__THROW
+;
+
+276 \r\ 5*
+       $ùime_r
+ (cڡ 
+time_t
+ *
+__»¡riù
+__tim\94
+,
+
+277 \ 5*
+__»¡riù
+__buf
+__THROW
+;
+
+282 \r\ 5*
+__tzÇme
+[2];
+
+283 \r\12
+__daylight
+;
+
+284 \r\13\12
+__timezÚe
+;
+
+287 #ifdef 
+__USE_POSIX
+
+
+289 \r\ 5*
+tzÇme
+[2];
+
+293 \r\1e
+       $tz£t
+ (\1eè
+__THROW
+;
+
+296 #ià
+def\9aed
+__USE_MISC
+ || def\9aed 
+__USE_XOPEN
+
+
+297 \r\12
+daylight
+;
+
+298 \r\13\12
+timezÚe
+;
+
+301 #ifdeà
+__USE_MISC
+
+
+304 \r\12
+       $¡ime
+ (cڡ 
+time_t
+ *
+__wh\92
+__THROW
+;
+
+310 \ 1
+       #__i¦\97p
+(
+y\97r
+) \
+
+311 ((
+y\97r
+è% 4 =ð0 && ((y\97rè% 100 !ð0 || (y\97rè% 400 =ð0))
+
+       )
+
+314 #ifdeà
+__USE_MISC
+
+
+319 \r
+time_t
+       $timegm
+ (\19
+tm
+ *
+__\8d
+__THROW
+;
+
+322 \r
+time_t
+       $tim\96oÿl
+ (\19
+tm
+ *
+__\8d
+__THROW
+;
+
+325 \r\12
+       $dysize
+ (\12
+__y\97r
+__THROW
+       `__©\8cibu\8b__
+ ((
+__cڡ__
+));
+
+329 #ifdeà
+__USE_POSIX199309
+
+
+334 \r\12
+       `Çno¦\93p
+ (cڡ \19
+time¥ec
+ *
+__»que¡ed_time
+,
+
+335 \19
+time¥ec
+ *
+__»ma\9a\9ag
+);
+
+339 \r\12
+       $þock_g\91»s
+ (
+þockid_t
+__þock_id
+, \19
+time¥ec
+ *
+__»s
+__THROW
+;
+
+342 \r\12
+       $þock_g\91time
+ (
+þockid_t
+__þock_id
+, \19
+time¥ec
+ *
+__\8d
+__THROW
+;
+
+345 \r\12
+       $þock_£\89ime
+ (
+þockid_t
+__þock_id
+, cڡ \19
+time¥ec
+ *
+__\8d
+)
+
+346 
+__THROW
+;
+
+348 #ifdeà
+__USE_XOPEN2K
+
+
+353 \r\12
+       `þock_Çno¦\93p
+ (
+þockid_t
+__þock_id
+, \12
+__æags
+,
+
+354 cڡ \19
+time¥ec
+ *
+__»q
+,
+
+355 \19
+time¥ec
+ *
+__»m
+);
+
+358 \r\12
+       $þock_g\91ýuþockid
+ (
+pid_t
+__pid
+, 
+þockid_t
+ *
+__þock_id
+__THROW
+;
+
+363 \r\12
+       $tim\94\97\8b
+ (
+þockid_t
+__þock_id
+,
+
+364 \19
+sigev\92t
+ *
+__»¡riù
+__evp
+,
+
+365 
+tim\94_t
+ *
+__»¡riù
+__tim\94id
+__THROW
+;
+
+368 \r\12
+       $tim\94_d\96\91e
+ (
+tim\94_t
+__tim\94id
+__THROW
+;
+
+371 \r\12
+       $tim\94\89ime
+ (
+tim\94_t
+__tim\94id
+, \12
+__æags
+,
+
+372 cڡ \19
+\99im\94¥ec
+ *
+__»¡riù
+__v®ue
+,
+
+373 \19
+\99im\94¥ec
+ *
+__»¡riù
+__ov®ue
+__THROW
+;
+
+376 \r\12
+       $tim\94_g\91time
+ (
+tim\94_t
+__tim\94id
+, \19
+\99im\94¥ec
+ *
+__v®ue
+)
+
+377 
+__THROW
+;
+
+380 \r\12
+       $tim\94_g\91ov\94run
+ (
+tim\94_t
+__tim\94id
+__THROW
+;
+
+384 #ifdeà
+__USE_ISOC11
+
+
+386 \r\12
+       $time¥ec_g\91
+ (\19
+time¥ec
+ *
+__ts
+, \12
+__ba£
+)
+
+387 
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+391 #ifdeà
+__USE_XOPEN_EXTENDED
+
+
+403 \r\12
+g\91d©e_\94r
+;
+
+412 \r\19
+tm
+ *
+       `g\91d©e
+ (cڡ \ 5*
+__¡r\9ag
+);
+
+415 #ifdeà
+__USE_GNU
+
+
+426 \r\12
+       `g\91d©e_r
+ (cڡ \ 5*
+__»¡riù
+__¡r\9ag
+,
+
+427 \19
+tm
+ *
+__»¡riù
+__»sbuå
+);
+
+430 
+__END_DECLS
+
+
+       @/usr/include/unistd.h
+
+22 #iâdef 
+_UNISTD_H
+
+
+23 \ 1
+       #_UNISTD_H
+ 1
+
+       )
+
+25 \ 2
+       ~<ã©u»s.h
+>
+
+27 
+       g__BEGIN_DECLS
+
+
+32 #ifdeà
+__USE_XOPEN2K8
+
+
+34 \ 1
+       #_POSIX_VERSION
+ 200809L
+
+       )
+
+35 #\96
+def\9aed
+__USE_XOPEN2K
+
+
+37 \ 1
+       #_POSIX_VERSION
+ 200112L
+
+       )
+
+38 #\96
+def\9aed
+__USE_POSIX199506
+
+
+40 \ 1
+       #_POSIX_VERSION
+ 199506L
+
+       )
+
+41 #\96
+def\9aed
+__USE_POSIX199309
+
+
+43 \ 1
+       #_POSIX_VERSION
+ 199309L
+
+       )
+
+46 \ 1
+       #_POSIX_VERSION
+ 199009L
+
+       )
+
+52 #ifdeà
+__USE_XOPEN2K8
+
+
+53 \ 1
+       #__POSIX2_THIS_VERSION
+ 200809L
+
+       )
+
+55 #\96
+def\9aed
+__USE_XOPEN2K
+
+
+57 \ 1
+       #__POSIX2_THIS_VERSION
+ 200112L
+
+       )
+
+58 #\96
+def\9aed
+__USE_POSIX199506
+
+
+60 \ 1
+       #__POSIX2_THIS_VERSION
+ 199506L
+
+       )
+
+63 \ 1
+       #__POSIX2_THIS_VERSION
+ 199209L
+
+       )
+
+67 \ 1
+       #_POSIX2_VERSION
+__POSIX2_THIS_VERSION
+
+
+       )
+
+70 \ 1
+       #_POSIX2_C_VERSION
+__POSIX2_THIS_VERSION
+
+
+       )
+
+74 \ 1
+       #_POSIX2_C_BIND
+__POSIX2_THIS_VERSION
+
+
+       )
+
+78 \ 1
+       #_POSIX2_C_DEV
+__POSIX2_THIS_VERSION
+
+
+       )
+
+82 \ 1
+       #_POSIX2_SW_DEV
+__POSIX2_THIS_VERSION
+
+
+       )
+
+86 \ 1
+       #_POSIX2_LOCALEDEF
+__POSIX2_THIS_VERSION
+
+
+       )
+
+89 #ifdeà
+__USE_XOPEN2K8
+
+
+90 \ 1
+       #_XOPEN_VERSION
+ 700
+
+       )
+
+91 #\96
+def\9aed
+__USE_XOPEN2K
+
+
+92 \ 1
+       #_XOPEN_VERSION
+ 600
+
+       )
+
+93 #\96
+def\9aed
+__USE_UNIX98
+
+
+94 \ 1
+       #_XOPEN_VERSION
+ 500
+
+       )
+
+96 \ 1
+       #_XOPEN_VERSION
+ 4
+
+       )
+
+100 \ 1
+       #_XOPEN_XCU_VERSION
+ 4
+
+       )
+
+103 \ 1
+       #_XOPEN_XPG2
+ 1
+
+       )
+
+104 \ 1
+       #_XOPEN_XPG3
+ 1
+
+       )
+
+105 \ 1
+       #_XOPEN_XPG4
+ 1
+
+       )
+
+108 \ 1
+       #_XOPEN_UNIX
+ 1
+
+       )
+
+111 \ 1
+       #_XOPEN_CRYPT
+ 1
+
+       )
+
+115 \ 1
+       #_XOPEN_ENH_I18N
+ 1
+
+       )
+
+118 \ 1
+       #_XOPEN_LEGACY
+ 1
+
+       )
+
+205 \ 2
+       ~<b\99s/posix_Ýt.h
+>
+
+208 #ià
+def\9aed
+__USE_UNIX98
+ || def\9aed 
+__USE_XOPEN2K
+
+
+209 \ 2
+       ~<b\99s/\92v\9cÚm\92ts.h
+>
+
+213 \ 1
+       #STDIN_FILENO
+ 0
+
+       )
+
+214 \ 1
+       #STDOUT_FILENO
+ 1
+
+       )
+
+215 \ 1
+       #STDERR_FILENO
+ 2
+
+       )
+
+220 \ 2
+       ~<b\99s/ty³s.h
+>
+
+222 #iâdef 
+__ssize_t_def\9aed
+
+
+223 \e
+__ssize_t
+       tssize_t
+;
+
+224 \ 1
+       #__ssize_t_def\9aed
+
+
+       )
+
+227 \ 1
+       #__Ãed_size_t
+
+
+       )
+
+228 \ 1
+       #__Ãed_NULL
+
+
+       )
+
+229 \ 2
+       ~<¡ddef.h
+>
+
+231 #ià
+def\9aed
+__USE_XOPEN
+ || def\9aed 
+__USE_XOPEN2K
+
+
+234 #iâdeà
+__gid_t_def\9aed
+
+
+235 \e
+__gid_t
+       tgid_t
+;
+
+236 \ 1
+       #__gid_t_def\9aed
+
+
+       )
+
+239 #iâdeà
+__uid_t_def\9aed
+
+
+240 \e
+__uid_t
+       tuid_t
+;
+
+241 \ 1
+       #__uid_t_def\9aed
+
+
+       )
+
+244 #iâdeà
+__off_t_def\9aed
+
+
+245 #iâdeà
+__USE_FILE_OFFSET64
+
+
+246 \e
+__off_t
+       toff_t
+;
+
+248 \e
+__off64_t
+       toff_t
+;
+
+250 \ 1
+       #__off_t_def\9aed
+
+
+       )
+
+252 #ià
+def\9aed
+__USE_LARGEFILE64
+ && !def\9aed 
+__off64_t_def\9aed
+
+
+253 \e
+__off64_t
+       toff64_t
+;
+
+254 \ 1
+       #__off64_t_def\9aed
+
+
+       )
+
+257 #iâdeà
+__u£cÚds_t_def\9aed
+
+
+258 \e
+__u£cÚds_t
+       tu£cÚds_t
+;
+
+259 \ 1
+       #__u£cÚds_t_def\9aed
+
+
+       )
+
+262 #iâdeà
+__pid_t_def\9aed
+
+
+263 \e
+__pid_t
+       tpid_t
+;
+
+264 \ 1
+       #__pid_t_def\9aed
+
+
+       )
+
+268 #ià
+def\9aed
+__USE_XOPEN_EXTENDED
+ || def\9aed 
+__USE_XOPEN2K
+
+
+269 #iâdeà
+__\9a\8d\8c_t_def\9aed
+
+
+270 \e
+__\9a\8d\8c_t
+       t\9a\8d\8c_t
+;
+
+271 \ 1
+       #__\9a\8d\8c_t_def\9aed
+
+
+       )
+
+275 #ià
+def\9aed
+__USE_MISC
+ || def\9aed 
+__USE_XOPEN
+
+
+276 #iâdeà
+__sockËn_t_def\9aed
+
+
+277 \e
+__sockËn_t
+       tsockËn_t
+;
+
+278 \ 1
+       #__sockËn_t_def\9aed
+
+
+       )
+
+284 \ 1
+       #R_OK
+ 4
+
+       )
+
+285 \ 1
+       #W_OK
+ 2
+
+       )
+
+286 \ 1
+       #X_OK
+ 1
+
+       )
+
+287 \ 1
+       #F_OK
+ 0
+
+       )
+
+290 \r\12
+       $acûss
+ (cڡ \ 5*
+__Çme
+, \12
+__ty³
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+292 #ifdeà
+__USE_GNU
+
+
+295 \r\12
+       $euidacûss
+ (cڡ \ 5*
+__Çme
+, \12
+__ty³
+)
+
+296 
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+299 \r\12
+       $\97cûss
+ (cڡ \ 5*
+__Çme
+, \12
+__ty³
+)
+
+300 
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+303 #ifdeà
+__USE_ATFILE
+
+
+307 \r\12
+       $çcûs§t
+ (\12
+__fd
+, cڡ \ 5*
+__f\9ee
+, \12
+__ty³
+, \12
+__æag
+)
+
+308 
+__THROW
+       `__nÚnuÎ
+ ((2)è
+__wur
+;
+
+313 #iâdef 
+_STDIO_H
+
+
+314 \ 1
+       #SEEK_SET
+ 0
+
+       )
+
+315 \ 1
+       #SEEK_CUR
+ 1
+
+       )
+
+316 \ 1
+       #SEEK_END
+ 2
+
+       )
+
+317 #ifdeà
+__USE_GNU
+
+
+318 \ 1
+       #SEEK_DATA
+ 3
+
+       )
+
+319 \ 1
+       #SEEK_HOLE
+ 4
+
+       )
+
+323 #ià
+def\9aed
+__USE_MISC
+ && !def\9aed 
+L_SET
+
+
+325 \ 1
+       #L_SET
+SEEK_SET
+
+
+       )
+
+326 \ 1
+       #L_INCR
+SEEK_CUR
+
+
+       )
+
+327 \ 1
+       #L_XTND
+SEEK_END
+
+
+       )
+
+336 #iâdeà
+__USE_FILE_OFFSET64
+
+
+337 \r
+__off_t
+       $l£ek
+ (\12
+__fd
+, 
+__off_t
+__off£t
+, \12
+__wh\92û
+__THROW
+;
+
+339 #ifdeà
+__REDIRECT_NTH
+
+
+340 \r
+__off64_t
+       `__REDIRECT_NTH
+ (
+l£ek
+,
+
+341 (\12
+__fd
+, 
+__off64_t
+__off£t
+, \12
+__wh\92û
+),
+
+342 
+l£ek64
+);
+
+344 \ 1
+       #l£ek
+l£ek64
+
+
+       )
+
+347 #ifdeà
+__USE_LARGEFILE64
+
+
+348 \r
+__off64_t
+       $l£ek64
+ (\12
+__fd
+, 
+__off64_t
+__off£t
+, \12
+__wh\92û
+)
+
+349 
+__THROW
+;
+
+356 \r\12
+       `þo£
+ (\12
+__fd
+);
+
+363 \r
+ssize_t
+       $»ad
+ (\12
+__fd
+, \1e*
+__buf
+, 
+size_t
+__nby\8bs
+__wur
+;
+
+369 \r
+ssize_t
+       $wr\99e
+ (\12
+__fd
+, cڡ \1e*
+__buf
+, 
+size_t
+__n
+__wur
+;
+
+371 #ià
+def\9aed
+__USE_UNIX98
+ || def\9aed 
+__USE_XOPEN2K8
+
+
+372 #iâdeà
+__USE_FILE_OFFSET64
+
+
+379 \r
+ssize_t
+       $´\97d
+ (\12
+__fd
+, \1e*
+__buf
+, 
+size_t
+__nby\8bs
+,
+
+380 
+__off_t
+__off£t
+__wur
+;
+
+387 \r
+ssize_t
+       $pwr\99e
+ (\12
+__fd
+, cڡ \1e*
+__buf
+, 
+size_t
+__n
+,
+
+388 
+__off_t
+__off£t
+__wur
+;
+
+390 #ifdeà
+__REDIRECT
+
+
+391 \r
+ssize_t
+       `__REDIRECT
+ (
\97d
+, (\12
+__fd
+, \1e*
+__buf
+, 
+size_t
+__nby\8bs
+,
+
+392 
+__off64_t
+__off£t
+),
+
+393 
\97d64
+__wur
+;
+
+394 \r
+ssize_t
+       `__REDIRECT
+ (
+pwr\99e
+, (\12
+__fd
+, cڡ \1e*
+__buf
+,
+
+395 
+size_t
+__nby\8bs
+, 
+__off64_t
+__off£t
+),
+
+396 
+pwr\99e64
+__wur
+;
+
+398 \ 1
+       #´\97d
\97d64
+
+
+       )
+
+399 \ 1
+       #pwr\99e
+pwr\99e64
+
+
+       )
+
+403 #ifdeà
+__USE_LARGEFILE64
+
+
+407 \r
+ssize_t
+       $´\97d64
+ (\12
+__fd
+, \1e*
+__buf
+, 
+size_t
+__nby\8bs
+,
+
+408 
+__off64_t
+__off£t
+__wur
+;
+
+411 \r
+ssize_t
+       $pwr\99e64
+ (\12
+__fd
+, cڡ \1e*
+__buf
+, 
+size_t
+__n
+,
+
+412 
+__off64_t
+__off£t
+__wur
+;
+
+420 \r\12
+       $p\9de
+ (\12
+__p\9dedes
+[2]è
+__THROW
+__wur
+;
+
+422 #ifdeà
+__USE_GNU
+
+
+425 \r\12
+       $p\9de2
+ (\12
+__p\9dedes
+[2], \12
+__æags
+__THROW
+__wur
+;
+
+435 \r\1d\12
+       $®¬m
+ (\1d\12
+__£cÚds
+__THROW
+;
+
+447 \r\1d\12
+       `¦\93p
+ (\1d\12
+__£cÚds
+);
+
+449 #ià(
+def\9aed
+__USE_XOPEN_EXTENDED
+ && !def\9aed 
+__USE_XOPEN2K8
+) \
+
+450 || 
+def\9aed
+__USE_MISC
+
+
+455 \r
+__u£cÚds_t
+       $u®¬m
+ (
+__u£cÚds_t
+__v®ue
+, __u£cÚds_\88
+__\9a\8brv®
+)
+
+456 
+__THROW
+;
+
+463 \r\12
+       `u¦\93p
+ (
+__u£cÚds_t
+__u£cÚds
+);
+
+472 \r\12
+       `·u£
+ (\1e);
+
+476 \r\12
+       $chown
+ (cڡ \ 5*
+__f\9ee
+, 
+__uid_t
+__owÃr
+, 
+__gid_t
+__group
+)
+
+477 
+__THROW
+       `__nÚnuÎ
+ ((1)è
+__wur
+;
+
+479 #ià
+def\9aed
+__USE_XOPEN_EXTENDED
+ || def\9aed 
+__USE_XOPEN2K8
+
+
+481 \r\12
+       $fchown
+ (\12
+__fd
+, 
+__uid_t
+__owÃr
+, 
+__gid_t
+__group
+__THROW
+__wur
+;
+
+486 \r\12
+       $lchown
+ (cڡ \ 5*
+__f\9ee
+, 
+__uid_t
+__owÃr
+, 
+__gid_t
+__group
+)
+
+487 
+__THROW
+       `__nÚnuÎ
+ ((1)è
+__wur
+;
+
+491 #ifdeà
+__USE_ATFILE
+
+
+494 \r\12
+       $fchowÇt
+ (\12
+__fd
+, cڡ \ 5*
+__f\9ee
+, 
+__uid_t
+__owÃr
+,
+
+495 
+__gid_t
+__group
+, \12
+__æag
+)
+
+496 
+__THROW
+       `__nÚnuÎ
+ ((2)è
+__wur
+;
+
+500 \r\12
+       $chd\9c
+ (cڡ \ 5*
+__·th
+__THROW
+       `__nÚnuÎ
+ ((1)è
+__wur
+;
+
+502 #ià
+def\9aed
+__USE_XOPEN_EXTENDED
+ || def\9aed 
+__USE_XOPEN2K8
+
+
+504 \r\12
+       $fchd\9c
+ (\12
+__fd
+__THROW
+__wur
+;
+
+514 \r\ 5*
+       $g\91cwd
+ (\ 5*
+__buf
+, 
+size_t
+__size
+__THROW
+__wur
+;
+
+516 #ifdef 
+__USE_GNU
+
+
+520 \r\ 5*
+       $g\91_cu¼\92t_d\9c_Çme
+ (\1eè
+__THROW
+;
+
+523 #ià(
+def\9aed
+__USE_XOPEN_EXTENDED
+ && !def\9aed 
+__USE_XOPEN2K8
+) \
+
+524 || 
+def\9aed
+__USE_MISC
+
+
+528 \r\ 5*
+       $g\91wd
+ (\ 5*
+__buf
+)
+
+529 
+__THROW
+       `__nÚnuÎ
+ ((1)è
+__©\8cibu\8b_d\95»ÿ\8bd__
+__wur
+;
+
+534 \r\12
+       $dup
+ (\12
+__fd
+__THROW
+__wur
+;
+
+537 \r\12
+       $dup2
+ (\12
+__fd
+, \12
+__fd2
+__THROW
+;
+
+539 #ifdeà
+__USE_GNU
+
+
+542 \r\12
+       $dup3
+ (\12
+__fd
+, \12
+__fd2
+, \12
+__æags
+__THROW
+;
+
+546 \r\ 5**
+__\92v\9cÚ
+;
+
+547 #ifdeà
+__USE_GNU
+
+
+548 \r\ 5**
+\92v\9cÚ
+;
+
+554 \r\12
+       $execve
+ (cڡ \ 5*
+__·th
+, \ 5*cڡ 
+__¬gv
+[],
+
+555 \ 5*cڡ 
+__\92vp
+[]è
+__THROW
+       `__nÚnuÎ
+ ((1, 2));
+
+557 #ifdeà
+__USE_XOPEN2K8
+
+
+560 \r\12
+       $ãxecve
+ (\12
+__fd
+, \ 5*cڡ 
+__¬gv
+[], \ 5*cڡ 
+__\92vp
+[])
+
+561 
+__THROW
+       `__nÚnuÎ
+ ((2));
+
+566 \r\12
+       $execv
+ (cڡ \ 5*
+__·th
+, \ 5*cڡ 
+__¬gv
+[])
+
+567 
+__THROW
+       `__nÚnuÎ
+ ((1, 2));
+
+571 \r\12
+       $exeþe
+ (cڡ \ 5*
+__·th
+, cڡ \ 5*
+__¬g
+, ...)
+
+572 
+__THROW
+       `__nÚnuÎ
+ ((1, 2));
+
+576 \r\12
+       $exeþ
+ (cڡ \ 5*
+__·th
+, cڡ \ 5*
+__¬g
+, ...)
+
+577 
+__THROW
+       `__nÚnuÎ
+ ((1, 2));
+
+581 \r\12
+       $execvp
+ (cڡ \ 5*
+__f\9ee
+, \ 5*cڡ 
+__¬gv
+[])
+
+582 
+__THROW
+       `__nÚnuÎ
+ ((1, 2));
+
+587 \r\12
+       $exeþp
+ (cڡ \ 5*
+__f\9ee
+, cڡ \ 5*
+__¬g
+, ...)
+
+588 
+__THROW
+       `__nÚnuÎ
+ ((1, 2));
+
+590 #ifdeà
+__USE_GNU
+
+
+593 \r\12
+       $execv³
+ (cڡ \ 5*
+__f\9ee
+, \ 5*cڡ 
+__¬gv
+[],
+
+594 \ 5*cڡ 
+__\92vp
+[])
+
+595 
+__THROW
+       `__nÚnuÎ
+ ((1, 2));
+
+599 #ià
+def\9aed
+__USE_MISC
+ || def\9aed 
+__USE_XOPEN
+
+
+601 \r\12
+       $niû
+ (\12
+__\9ac
+__THROW
+__wur
+;
+
+606 \r\1e
+       $_ex\99
+ (\12
+__¡©us
+       `__©\8cibu\8b__
+ ((
+__nÜ\91uº__
+));
+
+612 \ 2
+       ~<b\99s/cÚâame.h
+>
+
+615 \r\13\12
+       $·thcÚf
+ (cڡ \ 5*
+__·th
+, \12
+__Çme
+)
+
+616 
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+619 \r\13\12
+       $å©hcÚf
+ (\12
+__fd
+, \12
+__Çme
+__THROW
+;
+
+622 \r\13\12
+       $syscÚf
+ (\12
+__Çme
+__THROW
+;
+
+624 #ifdef 
+__USE_POSIX2
+
+
+626 \r
+size_t
+       $cÚf¡r
+ (\12
+__Çme
+, \ 5*
+__buf
+, 
+size_t
+__Ën
+__THROW
+;
+
+631 \r
+__pid_t
+       $g\91pid
+ (\1eè
+__THROW
+;
+
+634 \r
+__pid_t
+       $g\91µid
+ (\1eè
+__THROW
+;
+
+637 \r
+__pid_t
+       $g\91pg½
+ (\1eè
+__THROW
+;
+
+640 \r
+__pid_t
+       $__g\91pgid
+ (
+__pid_t
+__pid
+__THROW
+;
+
+641 #ià
+def\9aed
+__USE_XOPEN_EXTENDED
+ || def\9aed 
+__USE_XOPEN2K8
+
+
+642 \r
+__pid_t
+       $g\91pgid
+ (
+__pid_t
+__pid
+__THROW
+;
+
+649 \r\12
+       $£\8dgid
+ (
+__pid_t
+__pid
+, __pid_\88
+__pgid
+__THROW
+;
+
+651 #ià
+def\9aed
+__USE_MISC
+ || def\9aed 
+__USE_XOPEN_EXTENDED
+
+
+663 \r\12
+       $£\8d
+ (\1eè
+__THROW
+;
+
+670 \r
+__pid_t
+       $£tsid
+ (\1eè
+__THROW
+;
+
+672 #ià
+def\9aed
+__USE_XOPEN_EXTENDED
+ || def\9aed 
+__USE_XOPEN2K8
+
+
+674 \r
+__pid_t
+       $g\91sid
+ (
+__pid_t
+__pid
+__THROW
+;
+
+678 \r
+__uid_t
+       $g\91uid
+ (\1eè
+__THROW
+;
+
+681 \r
+__uid_t
+       $g\91euid
+ (\1eè
+__THROW
+;
+
+684 \r
+__gid_t
+       $g\91gid
+ (\1eè
+__THROW
+;
+
+687 \r
+__gid_t
+       $g\91egid
+ (\1eè
+__THROW
+;
+
+692 \r\12
+       $g\91groups
+ (\12
+__size
+, 
+__gid_t
+__li¡
+[]è
+__THROW
+__wur
+;
+
+694 #ifdef 
+__USE_GNU
+
+
+696 \r\12
+       $group_memb\94
+ (
+__gid_t
+__gid
+__THROW
+;
+
+703 \r\12
+       $£tuid
+ (
+__uid_t
+__uid
+__THROW
+__wur
+;
+
+705 #ià
+def\9aed
+__USE_MISC
+ || def\9aed 
+__USE_XOPEN_EXTENDED
+
+
+708 \r\12
+       $£\8ceuid
+ (
+__uid_t
+__ruid
+, __uid_\88
+__euid
+__THROW
+__wur
+;
+
+711 #ifdeà
+__USE_XOPEN2K
+
+
+713 \r\12
+       $£\8buid
+ (
+__uid_t
+__uid
+__THROW
+__wur
+;
+
+720 \r\12
+       $£tgid
+ (
+__gid_t
+__gid
+__THROW
+__wur
+;
+
+722 #ià
+def\9aed
+__USE_MISC
+ || def\9aed 
+__USE_XOPEN_EXTENDED
+
+
+725 \r\12
+       $£\8cegid
+ (
+__gid_t
+__rgid
+, __gid_\88
+__egid
+__THROW
+__wur
+;
+
+728 #ifdeà
+__USE_XOPEN2K
+
+
+730 \r\12
+       $£\8bgid
+ (
+__gid_t
+__gid
+__THROW
+__wur
+;
+
+733 #ifdeà
+__USE_GNU
+
+
+736 \r\12
+       $g\91»suid
+ (
+__uid_t
+ *
+__ruid
+, __uid_\88*
+__euid
+, __uid_\88*
+__suid
+)
+
+737 
+__THROW
+;
+
+741 \r\12
+       $g\91»sgid
+ (
+__gid_t
+ *
+__rgid
+, __gid_\88*
+__egid
+, __gid_\88*
+__sgid
+)
+
+742 
+__THROW
+;
+
+746 \r\12
+       $£\8cesuid
+ (
+__uid_t
+__ruid
+, __uid_\88
+__euid
+, __uid_\88
+__suid
+)
+
+747 
+__THROW
+__wur
+;
+
+751 \r\12
+       $£\8cesgid
+ (
+__gid_t
+__rgid
+, __gid_\88
+__egid
+, __gid_\88
+__sgid
+)
+
+752 
+__THROW
+__wur
+;
+
+759 \r
+__pid_t
+       $fÜk
+ (\1eè
+__THROWNL
+;
+
+761 #ià(
+def\9aed
+__USE_XOPEN_EXTENDED
+ && !def\9aed 
+__USE_XOPEN2K8
+) \
+
+762 || 
+def\9aed
+__USE_MISC
+
+
+767 \r
+__pid_t
+       $vfÜk
+ (\1eè
+__THROW
+;
+
+773 \r\ 5*
+       $\89yÇme
+ (\12
+__fd
+__THROW
+;
+
+777 \r\12
+       $\89yÇme_r
+ (\12
+__fd
+, \ 5*
+__buf
+, 
+size_t
+__buæ\92
+)
+
+778 
+__THROW
+       `__nÚnuÎ
+ ((2)è
+__wur
+;
+
+782 \r\12
+       $i§\89y
+ (\12
+__fd
+__THROW
+;
+
+784 #ià
+def\9aed
+__USE_MISC
+ \
+
+785 || (
+def\9aed
+__USE_XOPEN_EXTENDED
+ && !def\9aed 
+__USE_UNIX98
+)
+
+788 \r\12
+       $\89y¦Ù
+ (\1eè
+__THROW
+;
+
+793 \r\12
+       $l\9ak
+ (cڡ \ 5*
+__äom
+, cڡ \ 5*
+__to
+)
+
+794 
+__THROW
+       `__nÚnuÎ
+ ((1, 2)è
+__wur
+;
+
+796 #ifdeà
+__USE_ATFILE
+
+
+799 \r\12
+       $l\9a
+ (\12
+__äomfd
+, cڡ \ 5*
+__äom
+, \12
+__tofd
+,
+
+800 cڡ \ 5*
+__to
+, \12
+__æags
+)
+
+801 
+__THROW
+       `__nÚnuÎ
+ ((2, 4)è
+__wur
+;
+
+804 #ià
+def\9aed
+__USE_XOPEN_EXTENDED
+ || def\9aed 
+__USE_XOPEN2K
+
+
+806 \r\12
+       $syml\9ak
+ (cڡ \ 5*
+__äom
+, cڡ \ 5*
+__to
+)
+
+807 
+__THROW
+       `__nÚnuÎ
+ ((1, 2)è
+__wur
+;
+
+812 \r
+ssize_t
+       $»adl\9ak
+ (cڡ \ 5*
+__»¡riù
+__·th
+,
+
+813 \ 5*
+__»¡riù
+__buf
+, 
+size_t
+__Ën
+)
+
+814 
+__THROW
+       `__nÚnuÎ
+ ((1, 2)è
+__wur
+;
+
+817 #ifdeà
+__USE_ATFILE
+
+
+819 \r\12
+       $syml\9a
+ (cڡ \ 5*
+__äom
+, \12
+__tofd
+,
+
+820 cڡ \ 5*
+__to
+__THROW
+       `__nÚnuÎ
+ ((1, 3)è
+__wur
+;
+
+823 \r
+ssize_t
+       $»adl\9a
+ (\12
+__fd
+, cڡ \ 5*
+__»¡riù
+__·th
+,
+
+824 \ 5*
+__»¡riù
+__buf
+, 
+size_t
+__Ën
+)
+
+825 
+__THROW
+       `__nÚnuÎ
+ ((2, 3)è
+__wur
+;
+
+829 \r\12
+       $uƚk
+ (cڡ \ 5*
+__Çme
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+831 #ifdeà
+__USE_ATFILE
+
+
+833 \r\12
+       $uÆ\9a
+ (\12
+__fd
+, cڡ \ 5*
+__Çme
+, \12
+__æag
+)
+
+834 
+__THROW
+       `__nÚnuÎ
+ ((2));
+
+838 \r\12
+       $rmd\9c
+ (cڡ \ 5*
+__·th
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+842 \r
+__pid_t
+       $tcg\91pg½
+ (\12
+__fd
+__THROW
+;
+
+845 \r\12
+       $tc£\8d
+ (\12
+__fd
+, 
+__pid_t
+__pg½_id
+__THROW
+;
+
+852 \r\ 5*
+       `g\91log\9a
+ (\1e);
+
+853 #ià
+def\9aed
+__USE_REENTRANT
+ || def\9aed 
+__USE_POSIX199506
+
+
+860 \r\12
+       $g\91log\9a_r
+ (\ 5*
+__Çme
+, 
+size_t
+__Çme_Ën
+       `__nÚnuÎ
+ ((1));
+
+863 #ifdef 
+__USE_MISC
+
+
+865 \r\12
+       $£\8eog\9a
+ (cڡ \ 5*
+__Çme
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+869 #ifdef 
+__USE_POSIX2
+
+
+873 \ 1
+       #__Ãed_g\91Ýt
+
+
+       )
+
+874 \ 2
+       ~<g\91Ýt.h
+>
+
+878 #ià
+def\9aed
+__USE_UNIX98
+ || def\9aed 
+__USE_XOPEN2K
+
+
+882 \r\12
+       $g\91ho¡Çme
+ (\ 5*
+__Çme
+, 
+size_t
+__Ën
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+886 #ià
+def\9aed
+__USE_MISC
+
+
+889 \r\12
+       $£tho¡Çme
+ (cڡ \ 5*
+__Çme
+, 
+size_t
+__Ën
+)
+
+890 
+__THROW
+       `__nÚnuÎ
+ ((1)è
+__wur
+;
+
+894 \r\12
+       $£tho¡id
+ (\13\12
+__id
+__THROW
+__wur
+;
+
+900 \r\12
+       $g\91doma\9aÇme
+ (\ 5*
+__Çme
+, 
+size_t
+__Ën
+)
+
+901 
+__THROW
+       `__nÚnuÎ
+ ((1)è
+__wur
+;
+
+902 \r\12
+       $£tdoma\9aÇme
+ (cڡ \ 5*
+__Çme
+, 
+size_t
+__Ën
+)
+
+903 
+__THROW
+       `__nÚnuÎ
+ ((1)è
+__wur
+;
+
+909 \r\12
+       $vhªgup
+ (\1eè
+__THROW
+;
+
+912 \r\12
+       $»voke
+ (cڡ \ 5*
+__f\9ee
+__THROW
+       `__nÚnuÎ
+ ((1)è
+__wur
+;
+
+920 \r\12
+       $´of\9e
+ (\1d\16\12*
+__§m¶e_bufãr
+, 
+size_t
+__size
+,
+
+921 
+size_t
+__off£t
+, \1d\12
+__sÿË
+)
+
+922 
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+928 \r\12
+       $acù
+ (cڡ \ 5*
+__Çme
+__THROW
+;
+
+932 \r\ 5*
+       $g\91u£rsh\96l
+ (\1eè
+__THROW
+;
+
+933 \r\1e
+       $\92du£rsh\96l
+ (\1eè
+__THROW
+;
+
+934 \r\1e
+       $£tu£rsh\96l
+ (\1eè
+__THROW
+;
+
+940 \r\12
+       $d«mÚ
+ (\12
+__nochd\9c
+, \12
+__noþo£
+__THROW
+__wur
+;
+
+944 #ià
+def\9aed
+__USE_MISC
+ || (def\9aed 
+__USE_XOPEN
+ && !def\9aed 
+__USE_XOPEN2K
+)
+
+947 \r\12
+       $chroÙ
+ (cڡ \ 5*
+__·th
+__THROW
+       `__nÚnuÎ
+ ((1)è
+__wur
+;
+
+951 \r\ 5*
+       $g\91·ss
+ (cڡ \ 5*
+__´om±
+       `__nÚnuÎ
+ ((1));
+
+959 \r\12
+       `fsync
+ (\12
+__fd
+);
+
+962 #ifdeà
+__USE_GNU
+
+
+965 \r\12
+       $syncfs
+ (\12
+__fd
+__THROW
+;
+
+969 #ià
+def\9aed
+__USE_MISC
+ || def\9aed 
+__USE_XOPEN_EXTENDED
+
+
+972 \r\13\12
+       `g\91ho¡id
+ (\1e);
+
+975 \r\1e
+       $sync
+ (\1eè
+__THROW
+;
+
+978 #ià
+def\9aed
+__USE_MISC
+ || !def\9aed 
+__USE_XOPEN2K
+
+
+981 \r\12
+       $g\91·gesize
+ (\1eè
+__THROW
+       `__©\8cibu\8b__
+ ((
+__cڡ__
+));
+
+986 \r\12
+       $g\91d\8fbËsize
+ (\1eè
+__THROW
+;
+
+992 #ià
+def\9aed
+__USE_XOPEN_EXTENDED
+ || def\9aed 
+__USE_XOPEN2K8
+
+
+995 #iâdeà
+__USE_FILE_OFFSET64
+
+
+996 \r\12
+       $\8cunÿ\8b
+ (cڡ \ 5*
+__f\9ee
+, 
+__off_t
+__Ëngth
+)
+
+997 
+__THROW
+       `__nÚnuÎ
+ ((1)è
+__wur
+;
+
+999 #ifdeà
+__REDIRECT_NTH
+
+
+1000 \r\12
+       `__REDIRECT_NTH
+ (
+\8cunÿ\8b
+,
+
+1001 (cڡ \ 5*
+__f\9ee
+, 
+__off64_t
+__Ëngth
+),
+
+1002 
+\8cunÿ\8b64
+       `__nÚnuÎ
+ ((1)è
+__wur
+;
+
+1004 \ 1
+       #\8cunÿ\8b
+\8cunÿ\8b64
+
+
+       )
+
+1007 #ifdeà
+__USE_LARGEFILE64
+
+
+1008 \r\12
+       $\8cunÿ\8b64
+ (cڡ \ 5*
+__f\9ee
+, 
+__off64_t
+__Ëngth
+)
+
+1009 
+__THROW
+       `__nÚnuÎ
+ ((1)è
+__wur
+;
+
+1014 #ià
+def\9aed
+__USE_POSIX199309
+ \
+
+1015 || 
+def\9aed
+__USE_XOPEN_EXTENDED
+ || def\9aed 
+__USE_XOPEN2K
+
+
+1018 #iâdeà
+__USE_FILE_OFFSET64
+
+
+1019 \r\12
+       $árunÿ\8b
+ (\12
+__fd
+, 
+__off_t
+__Ëngth
+__THROW
+__wur
+;
+
+1021 #ifdeà
+__REDIRECT_NTH
+
+
+1022 \r\12
+       `__REDIRECT_NTH
+ (
+árunÿ\8b
+, (\12
+__fd
+, 
+__off64_t
+__Ëngth
+),
+
+1023 
+árunÿ\8b64
+__wur
+;
+
+1025 \ 1
+       #árunÿ\8b
+árunÿ\8b64
+
+
+       )
+
+1028 #ifdeà
+__USE_LARGEFILE64
+
+
+1029 \r\12
+       $árunÿ\8b64
+ (\12
+__fd
+, 
+__off64_t
+__Ëngth
+__THROW
+__wur
+;
+
+1035 #ià(
+def\9aed
+__USE_XOPEN_EXTENDED
+ && !def\9aed 
+__USE_XOPEN2K
+) \
+
+1036 || 
+def\9aed
+__USE_MISC
+
+
+1040 \r\12
+       $brk
+ (\1e*
+__addr
+__THROW
+__wur
+;
+
+1046 \r\1e*
+       $sbrk
+ (
+\9a\8d\8c_t
+__d\96\8f
+__THROW
+;
+
+1050 #ifdeà
+__USE_MISC
+
+
+1061 \r\13\12
+       $sysÿÎ
+ (\13\12
+__sy¢o
+, ...è
+__THROW
+;
+
+1066 #ià(
+def\9aed
+__USE_MISC
+ || def\9aed 
+__USE_XOPEN_EXTENDED
+è&& !def\9aed 
+F_LOCK
+
+
+1078 \ 1
+       #F_ULOCK
+ 0
+
+       )
+
+1079 \ 1
+       #F_LOCK
+ 1
+
+       )
+
+1080 \ 1
+       #F_TLOCK
+ 2
+
+       )
+
+1081 \ 1
+       #F_TEST
+ 3
+
+       )
+
+1083 #iâdeà
+__USE_FILE_OFFSET64
+
+
+1084 \r\12
+       $lockf
+ (\12
+__fd
+, \12
+__cmd
+, 
+__off_t
+__Ën
+__wur
+;
+
+1086 #ifdeà
+__REDIRECT
+
+
+1087 \r\12
+       `__REDIRECT
+ (
+lockf
+, (\12
+__fd
+, \12
+__cmd
+, 
+__off64_t
+__Ën
+),
+
+1088 
+lockf64
+__wur
+;
+
+1090 \ 1
+       #lockf
+lockf64
+
+
+       )
+
+1093 #ifdeà
+__USE_LARGEFILE64
+
+
+1094 \r\12
+       $lockf64
+ (\12
+__fd
+, \12
+__cmd
+, 
+__off64_t
+__Ën
+__wur
+;
+
+1099 #ifdeà
+__USE_GNU
+
+
+1104 \ 1
+       #TEMP_FAILURE_RETRY
+(
+ex´essiÚ
+) \
+
+1105 (
+__ex\8bnsiÚ__
+ \
+
+1106 ({ \13\12
+__»suÉ
+; \
+
+1107 dØ
+__»suÉ
+ = (\13\12è(
+ex´essiÚ
+); \
+
+1108 \1f
+__»suÉ
+ =ð-1L && 
+\94ºo
+ =ð
+EINTR
+); \
+
+1109 
+__»suÉ
+; 
+       }
+}))
+
+       )
+
+1112 #ià
+def\9aed
+__USE_POSIX199309
+ || def\9aed 
+__USE_UNIX98
+
+
+1115 \r\12
+fd©async
+ (\12
+__f\9edes
+);
+
+1121 #ifdef 
+__USE_XOPEN
+
+
+1123 \r\ 5*
+       $üy±
+ (cڡ \ 5*
+__key
+, cڡ \ 5*
+__§É
+)
+
+1124 
+__THROW
+       `__nÚnuÎ
+ ((1, 2));
+
+1128 \r\1e
+       $\92üy±
+ (\ 5*
+__glibc_block
+, \12
+__edæag
+)
+
+1129 
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+1136 \r\1e
+       $swab
+ (cڡ \1e*
+__»¡riù
+__äom
+, \1e*__»¡riù 
+__to
+,
+
+1137 
+ssize_t
+__n
+__THROW
+       `__nÚnuÎ
+ ((1, 2));
+
+1143 #ià
+def\9aed
+__USE_XOPEN
+ && !def\9aed 
+__USE_XOPEN2K
+
+
+1145 \r\ 5*
+       $ù\94mid
+ (\ 5*
+__s
+__THROW
+;
+
+1150 #ià
+__USE_FORTIFY_LEVEL
+ > 0 && 
+def\9aed
+__fÜtify_funùiÚ
+
+
+1151 \ 2
+       ~<b\99s/uni¡d.h
+>
+
+1154 
+__END_DECLS
+
+
+       @/usr/include/alloca.h
+
+18 #iâdef 
+_ALLOCA_H
+
+
+19 \ 1
+       #_ALLOCA_H
+ 1
+
+       )
+
+21 \ 2
+       ~<ã©u»s.h
+>
+
+23 \ 1
+       #__Ãed_size_t
+
+
+       )
+
+24 \ 2
+       ~<¡ddef.h
+>
+
+26 
+       g__BEGIN_DECLS
+
+
+29 #undeà
+®loÿ
+
+
+32 \r\1e*
+       $®loÿ
+ (
+size_t
+__size
+__THROW
+;
+
+34 #ifdef 
+__GNUC__
+
+
+35 \ 1
+       #®loÿ
+(
+size
+       `__bu\9et\9a_®loÿ
+ (size)
+
+       )
+
+38 
+__END_DECLS
+
+
+       @/usr/include/bits/byteswap.h
+
+19 #ià!
+def\9aed
+_BYTESWAP_H
+ && !def\9aed 
+_NETINET_IN_H
+ && !def\9aed 
+_ENDIAN_H
+
+
+23 #iâdeà
+_BITS_BYTESWAP_H
+
+
+24 \ 1
+       #_BITS_BYTESWAP_H
+ 1
+
+       )
+
+26 \ 2
+       ~<ã©u»s.h
+>
+
+27 \ 2
+       ~<b\99s/ty³s.h
+>
+
+28 \ 2
+       ~<b\99s/wÜdsize.h
+>
+
+31 \ 1
+       #__bsw­_cÚ¡ªt_16
+(
+x
+) \
+
+32 ((\1d\16\12è((((
+x
+è>> 8è& 0xffè| (((xè& 0xffè<< 8)))
+
+       )
+
+35 \ 2
+       ~<b\99s/by\8bsw­-16.h
+>
+
+38 \ 1
+       #__bsw­_cÚ¡ªt_32
+(
+x
+) \
+
+39 ((((
+x
+) & 0xff000000) >> 24) | (((x) & 0x00ff0000) >> 8) | \
+
+40 (((
+x
+è& 0x0000ff00è<< 8è| (((xè& 0x000000ffè<< 24))
+
+       )
+
+42 #ifdeà
+__GNUC__
+
+
+43 #ià
+__GNUC_PREREQ
+ (4, 3)
+
+44 \18
+__\9al\9ae
\1d\12
+
+45 
+       $__bsw­_32
+ (\1d\12
+__bsx
+)
+
+47 \15 
+       `__bu\9et\9a_bsw­32
+ (
+__bsx
+);
+
+48 
+       }
+}
+
+49 #\96
+__GNUC__
+ >= 2
+
+50 #ià
+__WORDSIZE
+ =ð64 || (
+def\9aed
+__i486__
+ || def\9aed 
+__³Áium__
+ \
+
+51 || 
+def\9aed
+       g__³Áium´o__
+ || def\9aed 
+       g__³Áium4__
+ \
+
+52 || 
+def\9aed
+       g__k8__
+ || def\9aed 
+       g__©hlÚ__
+ \
+
+53 || 
+def\9aed
+       g__k6__
+ || def\9aed 
+       g__nocÚa__
+ \
+
+54 || 
+def\9aed
+       g__cÜe2__
+ || def\9aed 
+       g__geode__
+ \
+
+55 || 
+def\9aed
+       g__amdçm10__
+)
+
+58 \ 1
+       #__bsw­_32
+(
+x
+) \
+
+59 (
+__ex\8bnsiÚ__
+ \
+
+60 ({ \1d\12
+__v
+, 
+__x
+ = (
+x
+); \
+
+61 ià(
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+__x
+)) \
+
+62 
+__v
+ = 
+       `__bsw­_cÚ¡ªt_32
+ (
+__x
+); \
+
+64 
+       `__asm__
+ ("bsw­ %0" : "ô" (
+__v
+è: "0" (
+__x
+)); \
+
+65 
+__v
+; }))
+
+       )
+
+67 \ 1
+       #__bsw­_32
+(
+x
+) \
+
+68 (
+__ex\8bnsiÚ__
+ \
+
+69 ({ \1d\12
+__v
+, 
+__x
+ = (
+x
+); \
+
+70 ià(
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+__x
+)) \
+
+71 
+__v
+ = 
+       `__bsw­_cÚ¡ªt_32
+ (
+__x
+); \
+
+73 
+       `__asm__
+ ("rorw $8, %w0;" \
+
+76 : "ô" (
+__v
+) \
+
+77 : "0" (
+__x
+) \
+
+79 
+__v
+; }))
+
+       )
+
+82 \ 1
+       #__bsw­_32
+(
+x
+) \
+
+83 (
+__ex\8bnsiÚ__
+ \
+
+84 ({ \1d\12
+__x
+ = (
+x
+); 
+       `__bsw­_cÚ¡ªt_32
+ (__x); }))
+
+       )
+
+87 \18
+__\9al\9ae
\1d\12
+
+88 
+       $__bsw­_32
+ (\1d\12
+__bsx
+)
+
+90 \15 
+       `__bsw­_cÚ¡ªt_32
+ (
+__bsx
+);
+
+91 
+       }
+}
+
+95 #ià
+__GNUC_PREREQ
+ (2, 0)
+
+97 \ 1
+       #__bsw­_cÚ¡ªt_64
+(
+x
+) \
+
+98 (
+       `__ex\8bnsiÚ__
+ ((((
+x
+) & 0xff00000000000000ull) >> 56) \
+
+99 | (((
+x
+) & 0x00ff000000000000ull) >> 40) \
+
+100 | (((
+x
+) & 0x0000ff0000000000ull) >> 24) \
+
+101 | (((
+x
+) & 0x000000ff00000000ull) >> 8) \
+
+102 | (((
+x
+) & 0x00000000ff000000ull) << 8) \
+
+103 | (((
+x
+) & 0x0000000000ff0000ull) << 24) \
+
+104 | (((
+x
+) & 0x000000000000ff00ull) << 40) \
+
+105 | (((
+x
+è& 0x00000000000000ffuÎè<< 56)))
+
+       )
+
+107 #ià
+__GNUC_PREREQ
+ (4, 3)
+
+108 \18
+__\9al\9ae
+__u\9at64_t
+
+
+109 
+       $__bsw­_64
+ (
+__u\9at64_t
+__bsx
+)
+
+111 \15 
+       `__bu\9et\9a_bsw­64
+ (
+__bsx
+);
+
+112 
+       }
+}
+
+113 #\96
+__WORDSIZE
+ == 64
+
+114 \ 1
+       #__bsw­_64
+(
+x
+) \
+
+115 (
+__ex\8bnsiÚ__
+ \
+
+116 ({ 
+__u\9at64_t
+__v
+, 
+__x
+ = (
+x
+); \
+
+117 ià(
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+__x
+)) \
+
+118 
+__v
+ = 
+       `__bsw­_cÚ¡ªt_64
+ (
+__x
+); \
+
+120 
+       `__asm__
+ ("bsw­ %q0" : "ô" (
+__v
+è: "0" (
+__x
+)); \
+
+121 
+__v
+; }))
+
+       )
+
+123 \ 1
+       #__bsw­_64
+(
+x
+) \
+
+124 (
+__ex\8bnsiÚ__
+ \
+
+125 ({ uniÚ { 
+__ex\8bnsiÚ__
+__u\9at64_t
+__Î
+; \
+
+126 \1d\12
+__l
+[2]; } 
+__w
+, 
+__r
+; \
+
+127 ià(
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+x
+)) \
+
+128 
+__r
+.
+__Î
+ = 
+       `__bsw­_cÚ¡ªt_64
+ (
+x
+); \
+
+131 
+__w
+.
+__Î
+ = (
+x
+); \
+
+132 
+__r
+.
+__l
+[0] = 
+       `__bsw­_32
+ (
+__w
+.__l[1]); \
+
+133 
+__r
+.
+__l
+[1] = 
+       `__bsw­_32
+ (
+__w
+.__l[0]); \
+
+135 
+__r
+.
+__Î
+; }))
+
+       )
+
+138 \ 1
+       #__bsw­_cÚ¡ªt_64
+(
+x
+) \
+
+139 ((((
+x
+) & 0xff00000000000000ull) >> 56) \
+
+140 | (((
+x
+) & 0x00ff000000000000ull) >> 40) \
+
+141 | (((
+x
+) & 0x0000ff0000000000ull) >> 24) \
+
+142 | (((
+x
+) & 0x000000ff00000000ull) >> 8) \
+
+143 | (((
+x
+) & 0x00000000ff000000ull) << 8) \
+
+144 | (((
+x
+) & 0x0000000000ff0000ull) << 24) \
+
+145 | (((
+x
+) & 0x000000000000ff00ull) << 40) \
+
+146 | (((
+x
+è& 0x00000000000000ffuÎè<< 56))
+
+       )
+
+148 \18
+__\9al\9ae
+__u\9at64_t
+
+
+149 
+       $__bsw­_64
+ (
+__u\9at64_t
+__bsx
+)
+
+151 \15 
+       `__bsw­_cÚ¡ªt_64
+ (
+__bsx
+);
+
+152 
+       }
+}
+
+       @/usr/include/bits/confname.h
+
+19 #iâdeà
+_UNISTD_H
+
+
+26 
+       m_PC_LINK_MAX
+,
+
+27 \ 1
+       #_PC_LINK_MAX
+_PC_LINK_MAX
+
+
+       )
+
+28 
+       m_PC_MAX_CANON
+,
+
+29 \ 1
+       #_PC_MAX_CANON
+_PC_MAX_CANON
+
+
+       )
+
+30 
+       m_PC_MAX_INPUT
+,
+
+31 \ 1
+       #_PC_MAX_INPUT
+_PC_MAX_INPUT
+
+
+       )
+
+32 
+       m_PC_NAME_MAX
+,
+
+33 \ 1
+       #_PC_NAME_MAX
+_PC_NAME_MAX
+
+
+       )
+
+34 
+       m_PC_PATH_MAX
+,
+
+35 \ 1
+       #_PC_PATH_MAX
+_PC_PATH_MAX
+
+
+       )
+
+36 
+       m_PC_PIPE_BUF
+,
+
+37 \ 1
+       #_PC_PIPE_BUF
+_PC_PIPE_BUF
+
+
+       )
+
+38 
+       m_PC_CHOWN_RESTRICTED
+,
+
+39 \ 1
+       #_PC_CHOWN_RESTRICTED
+_PC_CHOWN_RESTRICTED
+
+
+       )
+
+40 
+       m_PC_NO_TRUNC
+,
+
+41 \ 1
+       #_PC_NO_TRUNC
+_PC_NO_TRUNC
+
+
+       )
+
+42 
+       m_PC_VDISABLE
+,
+
+43 \ 1
+       #_PC_VDISABLE
+_PC_VDISABLE
+
+
+       )
+
+44 
+       m_PC_SYNC_IO
+,
+
+45 \ 1
+       #_PC_SYNC_IO
+_PC_SYNC_IO
+
+
+       )
+
+46 
+       m_PC_ASYNC_IO
+,
+
+47 \ 1
+       #_PC_ASYNC_IO
+_PC_ASYNC_IO
+
+
+       )
+
+48 
+       m_PC_PRIO_IO
+,
+
+49 \ 1
+       #_PC_PRIO_IO
+_PC_PRIO_IO
+
+
+       )
+
+50 
+       m_PC_SOCK_MAXBUF
+,
+
+51 \ 1
+       #_PC_SOCK_MAXBUF
+_PC_SOCK_MAXBUF
+
+
+       )
+
+52 
+       m_PC_FILESIZEBITS
+,
+
+53 \ 1
+       #_PC_FILESIZEBITS
+_PC_FILESIZEBITS
+
+
+       )
+
+54 
+       m_PC_REC_INCR_XFER_SIZE
+,
+
+55 \ 1
+       #_PC_REC_INCR_XFER_SIZE
+_PC_REC_INCR_XFER_SIZE
+
+
+       )
+
+56 
+       m_PC_REC_MAX_XFER_SIZE
+,
+
+57 \ 1
+       #_PC_REC_MAX_XFER_SIZE
+_PC_REC_MAX_XFER_SIZE
+
+
+       )
+
+58 
+       m_PC_REC_MIN_XFER_SIZE
+,
+
+59 \ 1
+       #_PC_REC_MIN_XFER_SIZE
+_PC_REC_MIN_XFER_SIZE
+
+
+       )
+
+60 
+       m_PC_REC_XFER_ALIGN
+,
+
+61 \ 1
+       #_PC_REC_XFER_ALIGN
+_PC_REC_XFER_ALIGN
+
+
+       )
+
+62 
+       m_PC_ALLOC_SIZE_MIN
+,
+
+63 \ 1
+       #_PC_ALLOC_SIZE_MIN
+_PC_ALLOC_SIZE_MIN
+
+
+       )
+
+64 
+       m_PC_SYMLINK_MAX
+,
+
+65 \ 1
+       #_PC_SYMLINK_MAX
+_PC_SYMLINK_MAX
+
+
+       )
+
+66 
+       m_PC_2_SYMLINKS
+
+
+67 \ 1
+       #_PC_2_SYMLINKS
+_PC_2_SYMLINKS
+
+
+       )
+
+73 
+       m_SC_ARG_MAX
+,
+
+74 \ 1
+       #_SC_ARG_MAX
+_SC_ARG_MAX
+
+
+       )
+
+75 
+       m_SC_CHILD_MAX
+,
+
+76 \ 1
+       #_SC_CHILD_MAX
+_SC_CHILD_MAX
+
+
+       )
+
+77 
+       m_SC_CLK_TCK
+,
+
+78 \ 1
+       #_SC_CLK_TCK
+_SC_CLK_TCK
+
+
+       )
+
+79 
+       m_SC_NGROUPS_MAX
+,
+
+80 \ 1
+       #_SC_NGROUPS_MAX
+_SC_NGROUPS_MAX
+
+
+       )
+
+81 
+       m_SC_OPEN_MAX
+,
+
+82 \ 1
+       #_SC_OPEN_MAX
+_SC_OPEN_MAX
+
+
+       )
+
+83 
+       m_SC_STREAM_MAX
+,
+
+84 \ 1
+       #_SC_STREAM_MAX
+_SC_STREAM_MAX
+
+
+       )
+
+85 
+       m_SC_TZNAME_MAX
+,
+
+86 \ 1
+       #_SC_TZNAME_MAX
+_SC_TZNAME_MAX
+
+
+       )
+
+87 
+       m_SC_JOB_CONTROL
+,
+
+88 \ 1
+       #_SC_JOB_CONTROL
+_SC_JOB_CONTROL
+
+
+       )
+
+89 
+       m_SC_SAVED_IDS
+,
+
+90 \ 1
+       #_SC_SAVED_IDS
+_SC_SAVED_IDS
+
+
+       )
+
+91 
+       m_SC_REALTIME_SIGNALS
+,
+
+92 \ 1
+       #_SC_REALTIME_SIGNALS
+_SC_REALTIME_SIGNALS
+
+
+       )
+
+93 
+       m_SC_PRIORITY_SCHEDULING
+,
+
+94 \ 1
+       #_SC_PRIORITY_SCHEDULING
+_SC_PRIORITY_SCHEDULING
+
+
+       )
+
+95 
+       m_SC_TIMERS
+,
+
+96 \ 1
+       #_SC_TIMERS
+_SC_TIMERS
+
+
+       )
+
+97 
+       m_SC_ASYNCHRONOUS_IO
+,
+
+98 \ 1
+       #_SC_ASYNCHRONOUS_IO
+_SC_ASYNCHRONOUS_IO
+
+
+       )
+
+99 
+       m_SC_PRIORITIZED_IO
+,
+
+100 \ 1
+       #_SC_PRIORITIZED_IO
+_SC_PRIORITIZED_IO
+
+
+       )
+
+101 
+       m_SC_SYNCHRONIZED_IO
+,
+
+102 \ 1
+       #_SC_SYNCHRONIZED_IO
+_SC_SYNCHRONIZED_IO
+
+
+       )
+
+103 
+       m_SC_FSYNC
+,
+
+104 \ 1
+       #_SC_FSYNC
+_SC_FSYNC
+
+
+       )
+
+105 
+       m_SC_MAPPED_FILES
+,
+
+106 \ 1
+       #_SC_MAPPED_FILES
+_SC_MAPPED_FILES
+
+
+       )
+
+107 
+       m_SC_MEMLOCK
+,
+
+108 \ 1
+       #_SC_MEMLOCK
+_SC_MEMLOCK
+
+
+       )
+
+109 
+       m_SC_MEMLOCK_RANGE
+,
+
+110 \ 1
+       #_SC_MEMLOCK_RANGE
+_SC_MEMLOCK_RANGE
+
+
+       )
+
+111 
+       m_SC_MEMORY_PROTECTION
+,
+
+112 \ 1
+       #_SC_MEMORY_PROTECTION
+_SC_MEMORY_PROTECTION
+
+
+       )
+
+113 
+       m_SC_MESSAGE_PASSING
+,
+
+114 \ 1
+       #_SC_MESSAGE_PASSING
+_SC_MESSAGE_PASSING
+
+
+       )
+
+115 
+       m_SC_SEMAPHORES
+,
+
+116 \ 1
+       #_SC_SEMAPHORES
+_SC_SEMAPHORES
+
+
+       )
+
+117 
+       m_SC_SHARED_MEMORY_OBJECTS
+,
+
+118 \ 1
+       #_SC_SHARED_MEMORY_OBJECTS
+_SC_SHARED_MEMORY_OBJECTS
+
+
+       )
+
+119 
+       m_SC_AIO_LISTIO_MAX
+,
+
+120 \ 1
+       #_SC_AIO_LISTIO_MAX
+_SC_AIO_LISTIO_MAX
+
+
+       )
+
+121 
+       m_SC_AIO_MAX
+,
+
+122 \ 1
+       #_SC_AIO_MAX
+_SC_AIO_MAX
+
+
+       )
+
+123 
+       m_SC_AIO_PRIO_DELTA_MAX
+,
+
+124 \ 1
+       #_SC_AIO_PRIO_DELTA_MAX
+_SC_AIO_PRIO_DELTA_MAX
+
+
+       )
+
+125 
+       m_SC_DELAYTIMER_MAX
+,
+
+126 \ 1
+       #_SC_DELAYTIMER_MAX
+_SC_DELAYTIMER_MAX
+
+
+       )
+
+127 
+       m_SC_MQ_OPEN_MAX
+,
+
+128 \ 1
+       #_SC_MQ_OPEN_MAX
+_SC_MQ_OPEN_MAX
+
+
+       )
+
+129 
+       m_SC_MQ_PRIO_MAX
+,
+
+130 \ 1
+       #_SC_MQ_PRIO_MAX
+_SC_MQ_PRIO_MAX
+
+
+       )
+
+131 
+       m_SC_VERSION
+,
+
+132 \ 1
+       #_SC_VERSION
+_SC_VERSION
+
+
+       )
+
+133 
+       m_SC_PAGESIZE
+,
+
+134 \ 1
+       #_SC_PAGESIZE
+_SC_PAGESIZE
+
+
+       )
+
+135 \ 1
+       #_SC_PAGE_SIZE
+_SC_PAGESIZE
+
+
+       )
+
+136 
+       m_SC_RTSIG_MAX
+,
+
+137 \ 1
+       #_SC_RTSIG_MAX
+_SC_RTSIG_MAX
+
+
+       )
+
+138 
+       m_SC_SEM_NSEMS_MAX
+,
+
+139 \ 1
+       #_SC_SEM_NSEMS_MAX
+_SC_SEM_NSEMS_MAX
+
+
+       )
+
+140 
+       m_SC_SEM_VALUE_MAX
+,
+
+141 \ 1
+       #_SC_SEM_VALUE_MAX
+_SC_SEM_VALUE_MAX
+
+
+       )
+
+142 
+       m_SC_SIGQUEUE_MAX
+,
+
+143 \ 1
+       #_SC_SIGQUEUE_MAX
+_SC_SIGQUEUE_MAX
+
+
+       )
+
+144 
+       m_SC_TIMER_MAX
+,
+
+145 \ 1
+       #_SC_TIMER_MAX
+_SC_TIMER_MAX
+
+
+       )
+
+149 
+       m_SC_BC_BASE_MAX
+,
+
+150 \ 1
+       #_SC_BC_BASE_MAX
+_SC_BC_BASE_MAX
+
+
+       )
+
+151 
+       m_SC_BC_DIM_MAX
+,
+
+152 \ 1
+       #_SC_BC_DIM_MAX
+_SC_BC_DIM_MAX
+
+
+       )
+
+153 
+       m_SC_BC_SCALE_MAX
+,
+
+154 \ 1
+       #_SC_BC_SCALE_MAX
+_SC_BC_SCALE_MAX
+
+
+       )
+
+155 
+       m_SC_BC_STRING_MAX
+,
+
+156 \ 1
+       #_SC_BC_STRING_MAX
+_SC_BC_STRING_MAX
+
+
+       )
+
+157 
+       m_SC_COLL_WEIGHTS_MAX
+,
+
+158 \ 1
+       #_SC_COLL_WEIGHTS_MAX
+_SC_COLL_WEIGHTS_MAX
+
+
+       )
+
+159 
+       m_SC_EQUIV_CLASS_MAX
+,
+
+160 \ 1
+       #_SC_EQUIV_CLASS_MAX
+_SC_EQUIV_CLASS_MAX
+
+
+       )
+
+161 
+       m_SC_EXPR_NEST_MAX
+,
+
+162 \ 1
+       #_SC_EXPR_NEST_MAX
+_SC_EXPR_NEST_MAX
+
+
+       )
+
+163 
+       m_SC_LINE_MAX
+,
+
+164 \ 1
+       #_SC_LINE_MAX
+_SC_LINE_MAX
+
+
+       )
+
+165 
+       m_SC_RE_DUP_MAX
+,
+
+166 \ 1
+       #_SC_RE_DUP_MAX
+_SC_RE_DUP_MAX
+
+
+       )
+
+167 
+       m_SC_CHARCLASS_NAME_MAX
+,
+
+168 \ 1
+       #_SC_CHARCLASS_NAME_MAX
+_SC_CHARCLASS_NAME_MAX
+
+
+       )
+
+170 
+       m_SC_2_VERSION
+,
+
+171 \ 1
+       #_SC_2_VERSION
+_SC_2_VERSION
+
+
+       )
+
+172 
+       m_SC_2_C_BIND
+,
+
+173 \ 1
+       #_SC_2_C_BIND
+_SC_2_C_BIND
+
+
+       )
+
+174 
+       m_SC_2_C_DEV
+,
+
+175 \ 1
+       #_SC_2_C_DEV
+_SC_2_C_DEV
+
+
+       )
+
+176 
+       m_SC_2_FORT_DEV
+,
+
+177 \ 1
+       #_SC_2_FORT_DEV
+_SC_2_FORT_DEV
+
+
+       )
+
+178 
+       m_SC_2_FORT_RUN
+,
+
+179 \ 1
+       #_SC_2_FORT_RUN
+_SC_2_FORT_RUN
+
+
+       )
+
+180 
+       m_SC_2_SW_DEV
+,
+
+181 \ 1
+       #_SC_2_SW_DEV
+_SC_2_SW_DEV
+
+
+       )
+
+182 
+       m_SC_2_LOCALEDEF
+,
+
+183 \ 1
+       #_SC_2_LOCALEDEF
+_SC_2_LOCALEDEF
+
+
+       )
+
+185 
+       m_SC_PII
+,
+
+186 \ 1
+       #_SC_PII
+_SC_PII
+
+
+       )
+
+187 
+       m_SC_PII_XTI
+,
+
+188 \ 1
+       #_SC_PII_XTI
+_SC_PII_XTI
+
+
+       )
+
+189 
+       m_SC_PII_SOCKET
+,
+
+190 \ 1
+       #_SC_PII_SOCKET
+_SC_PII_SOCKET
+
+
+       )
+
+191 
+       m_SC_PII_INTERNET
+,
+
+192 \ 1
+       #_SC_PII_INTERNET
+_SC_PII_INTERNET
+
+
+       )
+
+193 
+       m_SC_PII_OSI
+,
+
+194 \ 1
+       #_SC_PII_OSI
+_SC_PII_OSI
+
+
+       )
+
+195 
+       m_SC_POLL
+,
+
+196 \ 1
+       #_SC_POLL
+_SC_POLL
+
+
+       )
+
+197 
+       m_SC_SELECT
+,
+
+198 \ 1
+       #_SC_SELECT
+_SC_SELECT
+
+
+       )
+
+199 
+       m_SC_UIO_MAXIOV
+,
+
+200 \ 1
+       #_SC_UIO_MAXIOV
+_SC_UIO_MAXIOV
+
+
+       )
+
+201 
+       m_SC_IOV_MAX
+ = 
+_SC_UIO_MAXIOV
+,
+
+202 \ 1
+       #_SC_IOV_MAX
+_SC_IOV_MAX
+
+
+       )
+
+203 
+       m_SC_PII_INTERNET_STREAM
+,
+
+204 \ 1
+       #_SC_PII_INTERNET_STREAM
+_SC_PII_INTERNET_STREAM
+
+
+       )
+
+205 
+       m_SC_PII_INTERNET_DGRAM
+,
+
+206 \ 1
+       #_SC_PII_INTERNET_DGRAM
+_SC_PII_INTERNET_DGRAM
+
+
+       )
+
+207 
+       m_SC_PII_OSI_COTS
+,
+
+208 \ 1
+       #_SC_PII_OSI_COTS
+_SC_PII_OSI_COTS
+
+
+       )
+
+209 
+       m_SC_PII_OSI_CLTS
+,
+
+210 \ 1
+       #_SC_PII_OSI_CLTS
+_SC_PII_OSI_CLTS
+
+
+       )
+
+211 
+       m_SC_PII_OSI_M
+,
+
+212 \ 1
+       #_SC_PII_OSI_M
+_SC_PII_OSI_M
+
+
+       )
+
+213 
+       m_SC_T_IOV_MAX
+,
+
+214 \ 1
+       #_SC_T_IOV_MAX
+_SC_T_IOV_MAX
+
+
+       )
+
+217 
+       m_SC_THREADS
+,
+
+218 \ 1
+       #_SC_THREADS
+_SC_THREADS
+
+
+       )
+
+219 
+       m_SC_THREAD_SAFE_FUNCTIONS
+,
+
+220 \ 1
+       #_SC_THREAD_SAFE_FUNCTIONS
+_SC_THREAD_SAFE_FUNCTIONS
+
+
+       )
+
+221 
+       m_SC_GETGR_R_SIZE_MAX
+,
+
+222 \ 1
+       #_SC_GETGR_R_SIZE_MAX
+_SC_GETGR_R_SIZE_MAX
+
+
+       )
+
+223 
+       m_SC_GETPW_R_SIZE_MAX
+,
+
+224 \ 1
+       #_SC_GETPW_R_SIZE_MAX
+_SC_GETPW_R_SIZE_MAX
+
+
+       )
+
+225 
+       m_SC_LOGIN_NAME_MAX
+,
+
+226 \ 1
+       #_SC_LOGIN_NAME_MAX
+_SC_LOGIN_NAME_MAX
+
+
+       )
+
+227 
+       m_SC_TTY_NAME_MAX
+,
+
+228 \ 1
+       #_SC_TTY_NAME_MAX
+_SC_TTY_NAME_MAX
+
+
+       )
+
+229 
+       m_SC_THREAD_DESTRUCTOR_ITERATIONS
+,
+
+230 \ 1
+       #_SC_THREAD_DESTRUCTOR_ITERATIONS
+_SC_THREAD_DESTRUCTOR_ITERATIONS
+
+
+       )
+
+231 
+       m_SC_THREAD_KEYS_MAX
+,
+
+232 \ 1
+       #_SC_THREAD_KEYS_MAX
+_SC_THREAD_KEYS_MAX
+
+
+       )
+
+233 
+       m_SC_THREAD_STACK_MIN
+,
+
+234 \ 1
+       #_SC_THREAD_STACK_MIN
+_SC_THREAD_STACK_MIN
+
+
+       )
+
+235 
+       m_SC_THREAD_THREADS_MAX
+,
+
+236 \ 1
+       #_SC_THREAD_THREADS_MAX
+_SC_THREAD_THREADS_MAX
+
+
+       )
+
+237 
+       m_SC_THREAD_ATTR_STACKADDR
+,
+
+238 \ 1
+       #_SC_THREAD_ATTR_STACKADDR
+_SC_THREAD_ATTR_STACKADDR
+
+
+       )
+
+239 
+       m_SC_THREAD_ATTR_STACKSIZE
+,
+
+240 \ 1
+       #_SC_THREAD_ATTR_STACKSIZE
+_SC_THREAD_ATTR_STACKSIZE
+
+
+       )
+
+241 
+       m_SC_THREAD_PRIORITY_SCHEDULING
+,
+
+242 \ 1
+       #_SC_THREAD_PRIORITY_SCHEDULING
+_SC_THREAD_PRIORITY_SCHEDULING
+
+
+       )
+
+243 
+       m_SC_THREAD_PRIO_INHERIT
+,
+
+244 \ 1
+       #_SC_THREAD_PRIO_INHERIT
+_SC_THREAD_PRIO_INHERIT
+
+
+       )
+
+245 
+       m_SC_THREAD_PRIO_PROTECT
+,
+
+246 \ 1
+       #_SC_THREAD_PRIO_PROTECT
+_SC_THREAD_PRIO_PROTECT
+
+
+       )
+
+247 
+       m_SC_THREAD_PROCESS_SHARED
+,
+
+248 \ 1
+       #_SC_THREAD_PROCESS_SHARED
+_SC_THREAD_PROCESS_SHARED
+
+
+       )
+
+250 
+       m_SC_NPROCESSORS_CONF
+,
+
+251 \ 1
+       #_SC_NPROCESSORS_CONF
+_SC_NPROCESSORS_CONF
+
+
+       )
+
+252 
+       m_SC_NPROCESSORS_ONLN
+,
+
+253 \ 1
+       #_SC_NPROCESSORS_ONLN
+_SC_NPROCESSORS_ONLN
+
+
+       )
+
+254 
+       m_SC_PHYS_PAGES
+,
+
+255 \ 1
+       #_SC_PHYS_PAGES
+_SC_PHYS_PAGES
+
+
+       )
+
+256 
+       m_SC_AVPHYS_PAGES
+,
+
+257 \ 1
+       #_SC_AVPHYS_PAGES
+_SC_AVPHYS_PAGES
+
+
+       )
+
+258 
+       m_SC_ATEXIT_MAX
+,
+
+259 \ 1
+       #_SC_ATEXIT_MAX
+_SC_ATEXIT_MAX
+
+
+       )
+
+260 
+       m_SC_PASS_MAX
+,
+
+261 \ 1
+       #_SC_PASS_MAX
+_SC_PASS_MAX
+
+
+       )
+
+263 
+       m_SC_XOPEN_VERSION
+,
+
+264 \ 1
+       #_SC_XOPEN_VERSION
+_SC_XOPEN_VERSION
+
+
+       )
+
+265 
+       m_SC_XOPEN_XCU_VERSION
+,
+
+266 \ 1
+       #_SC_XOPEN_XCU_VERSION
+_SC_XOPEN_XCU_VERSION
+
+
+       )
+
+267 
+       m_SC_XOPEN_UNIX
+,
+
+268 \ 1
+       #_SC_XOPEN_UNIX
+_SC_XOPEN_UNIX
+
+
+       )
+
+269 
+       m_SC_XOPEN_CRYPT
+,
+
+270 \ 1
+       #_SC_XOPEN_CRYPT
+_SC_XOPEN_CRYPT
+
+
+       )
+
+271 
+       m_SC_XOPEN_ENH_I18N
+,
+
+272 \ 1
+       #_SC_XOPEN_ENH_I18N
+_SC_XOPEN_ENH_I18N
+
+
+       )
+
+273 
+       m_SC_XOPEN_SHM
+,
+
+274 \ 1
+       #_SC_XOPEN_SHM
+_SC_XOPEN_SHM
+
+
+       )
+
+276 
+       m_SC_2_CHAR_TERM
+,
+
+277 \ 1
+       #_SC_2_CHAR_TERM
+_SC_2_CHAR_TERM
+
+
+       )
+
+278 
+       m_SC_2_C_VERSION
+,
+
+279 \ 1
+       #_SC_2_C_VERSION
+_SC_2_C_VERSION
+
+
+       )
+
+280 
+       m_SC_2_UPE
+,
+
+281 \ 1
+       #_SC_2_UPE
+_SC_2_UPE
+
+
+       )
+
+283 
+       m_SC_XOPEN_XPG2
+,
+
+284 \ 1
+       #_SC_XOPEN_XPG2
+_SC_XOPEN_XPG2
+
+
+       )
+
+285 
+       m_SC_XOPEN_XPG3
+,
+
+286 \ 1
+       #_SC_XOPEN_XPG3
+_SC_XOPEN_XPG3
+
+
+       )
+
+287 
+       m_SC_XOPEN_XPG4
+,
+
+288 \ 1
+       #_SC_XOPEN_XPG4
+_SC_XOPEN_XPG4
+
+
+       )
+
+290 
+       m_SC_CHAR_BIT
+,
+
+291 \ 1
+       #_SC_CHAR_BIT
+_SC_CHAR_BIT
+
+
+       )
+
+292 
+       m_SC_CHAR_MAX
+,
+
+293 \ 1
+       #_SC_CHAR_MAX
+_SC_CHAR_MAX
+
+
+       )
+
+294 
+       m_SC_CHAR_MIN
+,
+
+295 \ 1
+       #_SC_CHAR_MIN
+_SC_CHAR_MIN
+
+
+       )
+
+296 
+       m_SC_INT_MAX
+,
+
+297 \ 1
+       #_SC_INT_MAX
+_SC_INT_MAX
+
+
+       )
+
+298 
+       m_SC_INT_MIN
+,
+
+299 \ 1
+       #_SC_INT_MIN
+_SC_INT_MIN
+
+
+       )
+
+300 
+       m_SC_LONG_BIT
+,
+
+301 \ 1
+       #_SC_LONG_BIT
+_SC_LONG_BIT
+
+
+       )
+
+302 
+       m_SC_WORD_BIT
+,
+
+303 \ 1
+       #_SC_WORD_BIT
+_SC_WORD_BIT
+
+
+       )
+
+304 
+       m_SC_MB_LEN_MAX
+,
+
+305 \ 1
+       #_SC_MB_LEN_MAX
+_SC_MB_LEN_MAX
+
+
+       )
+
+306 
+       m_SC_NZERO
+,
+
+307 \ 1
+       #_SC_NZERO
+_SC_NZERO
+
+
+       )
+
+308 
+       m_SC_SSIZE_MAX
+,
+
+309 \ 1
+       #_SC_SSIZE_MAX
+_SC_SSIZE_MAX
+
+
+       )
+
+310 
+       m_SC_SCHAR_MAX
+,
+
+311 \ 1
+       #_SC_SCHAR_MAX
+_SC_SCHAR_MAX
+
+
+       )
+
+312 
+       m_SC_SCHAR_MIN
+,
+
+313 \ 1
+       #_SC_SCHAR_MIN
+_SC_SCHAR_MIN
+
+
+       )
+
+314 
+       m_SC_SHRT_MAX
+,
+
+315 \ 1
+       #_SC_SHRT_MAX
+_SC_SHRT_MAX
+
+
+       )
+
+316 
+       m_SC_SHRT_MIN
+,
+
+317 \ 1
+       #_SC_SHRT_MIN
+_SC_SHRT_MIN
+
+
+       )
+
+318 
+       m_SC_UCHAR_MAX
+,
+
+319 \ 1
+       #_SC_UCHAR_MAX
+_SC_UCHAR_MAX
+
+
+       )
+
+320 
+       m_SC_UINT_MAX
+,
+
+321 \ 1
+       #_SC_UINT_MAX
+_SC_UINT_MAX
+
+
+       )
+
+322 
+       m_SC_ULONG_MAX
+,
+
+323 \ 1
+       #_SC_ULONG_MAX
+_SC_ULONG_MAX
+
+
+       )
+
+324 
+       m_SC_USHRT_MAX
+,
+
+325 \ 1
+       #_SC_USHRT_MAX
+_SC_USHRT_MAX
+
+
+       )
+
+327 
+       m_SC_NL_ARGMAX
+,
+
+328 \ 1
+       #_SC_NL_ARGMAX
+_SC_NL_ARGMAX
+
+
+       )
+
+329 
+       m_SC_NL_LANGMAX
+,
+
+330 \ 1
+       #_SC_NL_LANGMAX
+_SC_NL_LANGMAX
+
+
+       )
+
+331 
+       m_SC_NL_MSGMAX
+,
+
+332 \ 1
+       #_SC_NL_MSGMAX
+_SC_NL_MSGMAX
+
+
+       )
+
+333 
+       m_SC_NL_NMAX
+,
+
+334 \ 1
+       #_SC_NL_NMAX
+_SC_NL_NMAX
+
+
+       )
+
+335 
+       m_SC_NL_SETMAX
+,
+
+336 \ 1
+       #_SC_NL_SETMAX
+_SC_NL_SETMAX
+
+
+       )
+
+337 
+       m_SC_NL_TEXTMAX
+,
+
+338 \ 1
+       #_SC_NL_TEXTMAX
+_SC_NL_TEXTMAX
+
+
+       )
+
+340 
+       m_SC_XBS5_ILP32_OFF32
+,
+
+341 \ 1
+       #_SC_XBS5_ILP32_OFF32
+_SC_XBS5_ILP32_OFF32
+
+
+       )
+
+342 
+       m_SC_XBS5_ILP32_OFFBIG
+,
+
+343 \ 1
+       #_SC_XBS5_ILP32_OFFBIG
+_SC_XBS5_ILP32_OFFBIG
+
+
+       )
+
+344 
+       m_SC_XBS5_LP64_OFF64
+,
+
+345 \ 1
+       #_SC_XBS5_LP64_OFF64
+_SC_XBS5_LP64_OFF64
+
+
+       )
+
+346 
+       m_SC_XBS5_LPBIG_OFFBIG
+,
+
+347 \ 1
+       #_SC_XBS5_LPBIG_OFFBIG
+_SC_XBS5_LPBIG_OFFBIG
+
+
+       )
+
+349 
+       m_SC_XOPEN_LEGACY
+,
+
+350 \ 1
+       #_SC_XOPEN_LEGACY
+_SC_XOPEN_LEGACY
+
+
+       )
+
+351 
+       m_SC_XOPEN_REALTIME
+,
+
+352 \ 1
+       #_SC_XOPEN_REALTIME
+_SC_XOPEN_REALTIME
+
+
+       )
+
+353 
+       m_SC_XOPEN_REALTIME_THREADS
+,
+
+354 \ 1
+       #_SC_XOPEN_REALTIME_THREADS
+_SC_XOPEN_REALTIME_THREADS
+
+
+       )
+
+356 
+       m_SC_ADVISORY_INFO
+,
+
+357 \ 1
+       #_SC_ADVISORY_INFO
+_SC_ADVISORY_INFO
+
+
+       )
+
+358 
+       m_SC_BARRIERS
+,
+
+359 \ 1
+       #_SC_BARRIERS
+_SC_BARRIERS
+
+
+       )
+
+360 
+       m_SC_BASE
+,
+
+361 \ 1
+       #_SC_BASE
+_SC_BASE
+
+
+       )
+
+362 
+       m_SC_C_LANG_SUPPORT
+,
+
+363 \ 1
+       #_SC_C_LANG_SUPPORT
+_SC_C_LANG_SUPPORT
+
+
+       )
+
+364 
+       m_SC_C_LANG_SUPPORT_R
+,
+
+365 \ 1
+       #_SC_C_LANG_SUPPORT_R
+_SC_C_LANG_SUPPORT_R
+
+
+       )
+
+366 
+       m_SC_CLOCK_SELECTION
+,
+
+367 \ 1
+       #_SC_CLOCK_SELECTION
+_SC_CLOCK_SELECTION
+
+
+       )
+
+368 
+       m_SC_CPUTIME
+,
+
+369 \ 1
+       #_SC_CPUTIME
+_SC_CPUTIME
+
+
+       )
+
+370 
+       m_SC_THREAD_CPUTIME
+,
+
+371 \ 1
+       #_SC_THREAD_CPUTIME
+_SC_THREAD_CPUTIME
+
+
+       )
+
+372 
+       m_SC_DEVICE_IO
+,
+
+373 \ 1
+       #_SC_DEVICE_IO
+_SC_DEVICE_IO
+
+
+       )
+
+374 
+       m_SC_DEVICE_SPECIFIC
+,
+
+375 \ 1
+       #_SC_DEVICE_SPECIFIC
+_SC_DEVICE_SPECIFIC
+
+
+       )
+
+376 
+       m_SC_DEVICE_SPECIFIC_R
+,
+
+377 \ 1
+       #_SC_DEVICE_SPECIFIC_R
+_SC_DEVICE_SPECIFIC_R
+
+
+       )
+
+378 
+       m_SC_FD_MGMT
+,
+
+379 \ 1
+       #_SC_FD_MGMT
+_SC_FD_MGMT
+
+
+       )
+
+380 
+       m_SC_FIFO
+,
+
+381 \ 1
+       #_SC_FIFO
+_SC_FIFO
+
+
+       )
+
+382 
+       m_SC_PIPE
+,
+
+383 \ 1
+       #_SC_PIPE
+_SC_PIPE
+
+
+       )
+
+384 
+       m_SC_FILE_ATTRIBUTES
+,
+
+385 \ 1
+       #_SC_FILE_ATTRIBUTES
+_SC_FILE_ATTRIBUTES
+
+
+       )
+
+386 
+       m_SC_FILE_LOCKING
+,
+
+387 \ 1
+       #_SC_FILE_LOCKING
+_SC_FILE_LOCKING
+
+
+       )
+
+388 
+       m_SC_FILE_SYSTEM
+,
+
+389 \ 1
+       #_SC_FILE_SYSTEM
+_SC_FILE_SYSTEM
+
+
+       )
+
+390 
+       m_SC_MONOTONIC_CLOCK
+,
+
+391 \ 1
+       #_SC_MONOTONIC_CLOCK
+_SC_MONOTONIC_CLOCK
+
+
+       )
+
+392 
+       m_SC_MULTI_PROCESS
+,
+
+393 \ 1
+       #_SC_MULTI_PROCESS
+_SC_MULTI_PROCESS
+
+
+       )
+
+394 
+       m_SC_SINGLE_PROCESS
+,
+
+395 \ 1
+       #_SC_SINGLE_PROCESS
+_SC_SINGLE_PROCESS
+
+
+       )
+
+396 
+       m_SC_NETWORKING
+,
+
+397 \ 1
+       #_SC_NETWORKING
+_SC_NETWORKING
+
+
+       )
+
+398 
+       m_SC_READER_WRITER_LOCKS
+,
+
+399 \ 1
+       #_SC_READER_WRITER_LOCKS
+_SC_READER_WRITER_LOCKS
+
+
+       )
+
+400 
+       m_SC_SPIN_LOCKS
+,
+
+401 \ 1
+       #_SC_SPIN_LOCKS
+_SC_SPIN_LOCKS
+
+
+       )
+
+402 
+       m_SC_REGEXP
+,
+
+403 \ 1
+       #_SC_REGEXP
+_SC_REGEXP
+
+
+       )
+
+404 
+       m_SC_REGEX_VERSION
+,
+
+405 \ 1
+       #_SC_REGEX_VERSION
+_SC_REGEX_VERSION
+
+
+       )
+
+406 
+       m_SC_SHELL
+,
+
+407 \ 1
+       #_SC_SHELL
+_SC_SHELL
+
+
+       )
+
+408 
+       m_SC_SIGNALS
+,
+
+409 \ 1
+       #_SC_SIGNALS
+_SC_SIGNALS
+
+
+       )
+
+410 
+       m_SC_SPAWN
+,
+
+411 \ 1
+       #_SC_SPAWN
+_SC_SPAWN
+
+
+       )
+
+412 
+       m_SC_SPORADIC_SERVER
+,
+
+413 \ 1
+       #_SC_SPORADIC_SERVER
+_SC_SPORADIC_SERVER
+
+
+       )
+
+414 
+       m_SC_THREAD_SPORADIC_SERVER
+,
+
+415 \ 1
+       #_SC_THREAD_SPORADIC_SERVER
+_SC_THREAD_SPORADIC_SERVER
+
+
+       )
+
+416 
+       m_SC_SYSTEM_DATABASE
+,
+
+417 \ 1
+       #_SC_SYSTEM_DATABASE
+_SC_SYSTEM_DATABASE
+
+
+       )
+
+418 
+       m_SC_SYSTEM_DATABASE_R
+,
+
+419 \ 1
+       #_SC_SYSTEM_DATABASE_R
+_SC_SYSTEM_DATABASE_R
+
+
+       )
+
+420 
+       m_SC_TIMEOUTS
+,
+
+421 \ 1
+       #_SC_TIMEOUTS
+_SC_TIMEOUTS
+
+
+       )
+
+422 
+       m_SC_TYPED_MEMORY_OBJECTS
+,
+
+423 \ 1
+       #_SC_TYPED_MEMORY_OBJECTS
+_SC_TYPED_MEMORY_OBJECTS
+
+
+       )
+
+424 
+       m_SC_USER_GROUPS
+,
+
+425 \ 1
+       #_SC_USER_GROUPS
+_SC_USER_GROUPS
+
+
+       )
+
+426 
+       m_SC_USER_GROUPS_R
+,
+
+427 \ 1
+       #_SC_USER_GROUPS_R
+_SC_USER_GROUPS_R
+
+
+       )
+
+428 
+       m_SC_2_PBS
+,
+
+429 \ 1
+       #_SC_2_PBS
+_SC_2_PBS
+
+
+       )
+
+430 
+       m_SC_2_PBS_ACCOUNTING
+,
+
+431 \ 1
+       #_SC_2_PBS_ACCOUNTING
+_SC_2_PBS_ACCOUNTING
+
+
+       )
+
+432 
+       m_SC_2_PBS_LOCATE
+,
+
+433 \ 1
+       #_SC_2_PBS_LOCATE
+_SC_2_PBS_LOCATE
+
+
+       )
+
+434 
+       m_SC_2_PBS_MESSAGE
+,
+
+435 \ 1
+       #_SC_2_PBS_MESSAGE
+_SC_2_PBS_MESSAGE
+
+
+       )
+
+436 
+       m_SC_2_PBS_TRACK
+,
+
+437 \ 1
+       #_SC_2_PBS_TRACK
+_SC_2_PBS_TRACK
+
+
+       )
+
+438 
+       m_SC_SYMLOOP_MAX
+,
+
+439 \ 1
+       #_SC_SYMLOOP_MAX
+_SC_SYMLOOP_MAX
+
+
+       )
+
+440 
+       m_SC_STREAMS
+,
+
+441 \ 1
+       #_SC_STREAMS
+_SC_STREAMS
+
+
+       )
+
+442 
+       m_SC_2_PBS_CHECKPOINT
+,
+
+443 \ 1
+       #_SC_2_PBS_CHECKPOINT
+_SC_2_PBS_CHECKPOINT
+
+
+       )
+
+445 
+       m_SC_V6_ILP32_OFF32
+,
+
+446 \ 1
+       #_SC_V6_ILP32_OFF32
+_SC_V6_ILP32_OFF32
+
+
+       )
+
+447 
+       m_SC_V6_ILP32_OFFBIG
+,
+
+448 \ 1
+       #_SC_V6_ILP32_OFFBIG
+_SC_V6_ILP32_OFFBIG
+
+
+       )
+
+449 
+       m_SC_V6_LP64_OFF64
+,
+
+450 \ 1
+       #_SC_V6_LP64_OFF64
+_SC_V6_LP64_OFF64
+
+
+       )
+
+451 
+       m_SC_V6_LPBIG_OFFBIG
+,
+
+452 \ 1
+       #_SC_V6_LPBIG_OFFBIG
+_SC_V6_LPBIG_OFFBIG
+
+
+       )
+
+454 
+       m_SC_HOST_NAME_MAX
+,
+
+455 \ 1
+       #_SC_HOST_NAME_MAX
+_SC_HOST_NAME_MAX
+
+
+       )
+
+456 
+       m_SC_TRACE
+,
+
+457 \ 1
+       #_SC_TRACE
+_SC_TRACE
+
+
+       )
+
+458 
+       m_SC_TRACE_EVENT_FILTER
+,
+
+459 \ 1
+       #_SC_TRACE_EVENT_FILTER
+_SC_TRACE_EVENT_FILTER
+
+
+       )
+
+460 
+       m_SC_TRACE_INHERIT
+,
+
+461 \ 1
+       #_SC_TRACE_INHERIT
+_SC_TRACE_INHERIT
+
+
+       )
+
+462 
+       m_SC_TRACE_LOG
+,
+
+463 \ 1
+       #_SC_TRACE_LOG
+_SC_TRACE_LOG
+
+
+       )
+
+465 
+       m_SC_LEVEL1_ICACHE_SIZE
+,
+
+466 \ 1
+       #_SC_LEVEL1_ICACHE_SIZE
+_SC_LEVEL1_ICACHE_SIZE
+
+
+       )
+
+467 
+       m_SC_LEVEL1_ICACHE_ASSOC
+,
+
+468 \ 1
+       #_SC_LEVEL1_ICACHE_ASSOC
+_SC_LEVEL1_ICACHE_ASSOC
+
+
+       )
+
+469 
+       m_SC_LEVEL1_ICACHE_LINESIZE
+,
+
+470 \ 1
+       #_SC_LEVEL1_ICACHE_LINESIZE
+_SC_LEVEL1_ICACHE_LINESIZE
+
+
+       )
+
+471 
+       m_SC_LEVEL1_DCACHE_SIZE
+,
+
+472 \ 1
+       #_SC_LEVEL1_DCACHE_SIZE
+_SC_LEVEL1_DCACHE_SIZE
+
+
+       )
+
+473 
+       m_SC_LEVEL1_DCACHE_ASSOC
+,
+
+474 \ 1
+       #_SC_LEVEL1_DCACHE_ASSOC
+_SC_LEVEL1_DCACHE_ASSOC
+
+
+       )
+
+475 
+       m_SC_LEVEL1_DCACHE_LINESIZE
+,
+
+476 \ 1
+       #_SC_LEVEL1_DCACHE_LINESIZE
+_SC_LEVEL1_DCACHE_LINESIZE
+
+
+       )
+
+477 
+       m_SC_LEVEL2_CACHE_SIZE
+,
+
+478 \ 1
+       #_SC_LEVEL2_CACHE_SIZE
+_SC_LEVEL2_CACHE_SIZE
+
+
+       )
+
+479 
+       m_SC_LEVEL2_CACHE_ASSOC
+,
+
+480 \ 1
+       #_SC_LEVEL2_CACHE_ASSOC
+_SC_LEVEL2_CACHE_ASSOC
+
+
+       )
+
+481 
+       m_SC_LEVEL2_CACHE_LINESIZE
+,
+
+482 \ 1
+       #_SC_LEVEL2_CACHE_LINESIZE
+_SC_LEVEL2_CACHE_LINESIZE
+
+
+       )
+
+483 
+       m_SC_LEVEL3_CACHE_SIZE
+,
+
+484 \ 1
+       #_SC_LEVEL3_CACHE_SIZE
+_SC_LEVEL3_CACHE_SIZE
+
+
+       )
+
+485 
+       m_SC_LEVEL3_CACHE_ASSOC
+,
+
+486 \ 1
+       #_SC_LEVEL3_CACHE_ASSOC
+_SC_LEVEL3_CACHE_ASSOC
+
+
+       )
+
+487 
+       m_SC_LEVEL3_CACHE_LINESIZE
+,
+
+488 \ 1
+       #_SC_LEVEL3_CACHE_LINESIZE
+_SC_LEVEL3_CACHE_LINESIZE
+
+
+       )
+
+489 
+       m_SC_LEVEL4_CACHE_SIZE
+,
+
+490 \ 1
+       #_SC_LEVEL4_CACHE_SIZE
+_SC_LEVEL4_CACHE_SIZE
+
+
+       )
+
+491 
+       m_SC_LEVEL4_CACHE_ASSOC
+,
+
+492 \ 1
+       #_SC_LEVEL4_CACHE_ASSOC
+_SC_LEVEL4_CACHE_ASSOC
+
+
+       )
+
+493 
+       m_SC_LEVEL4_CACHE_LINESIZE
+,
+
+494 \ 1
+       #_SC_LEVEL4_CACHE_LINESIZE
+_SC_LEVEL4_CACHE_LINESIZE
+
+
+       )
+
+497 
+       m_SC_IPV6
+ = 
+_SC_LEVEL1_ICACHE_SIZE
+ + 50,
+
+498 \ 1
+       #_SC_IPV6
+_SC_IPV6
+
+
+       )
+
+499 
+       m_SC_RAW_SOCKETS
+,
+
+500 \ 1
+       #_SC_RAW_SOCKETS
+_SC_RAW_SOCKETS
+
+
+       )
+
+502 
+       m_SC_V7_ILP32_OFF32
+,
+
+503 \ 1
+       #_SC_V7_ILP32_OFF32
+_SC_V7_ILP32_OFF32
+
+
+       )
+
+504 
+       m_SC_V7_ILP32_OFFBIG
+,
+
+505 \ 1
+       #_SC_V7_ILP32_OFFBIG
+_SC_V7_ILP32_OFFBIG
+
+
+       )
+
+506 
+       m_SC_V7_LP64_OFF64
+,
+
+507 \ 1
+       #_SC_V7_LP64_OFF64
+_SC_V7_LP64_OFF64
+
+
+       )
+
+508 
+       m_SC_V7_LPBIG_OFFBIG
+,
+
+509 \ 1
+       #_SC_V7_LPBIG_OFFBIG
+_SC_V7_LPBIG_OFFBIG
+
+
+       )
+
+511 
+       m_SC_SS_REPL_MAX
+,
+
+512 \ 1
+       #_SC_SS_REPL_MAX
+_SC_SS_REPL_MAX
+
+
+       )
+
+514 
+       m_SC_TRACE_EVENT_NAME_MAX
+,
+
+515 \ 1
+       #_SC_TRACE_EVENT_NAME_MAX
+_SC_TRACE_EVENT_NAME_MAX
+
+
+       )
+
+516 
+       m_SC_TRACE_NAME_MAX
+,
+
+517 \ 1
+       #_SC_TRACE_NAME_MAX
+_SC_TRACE_NAME_MAX
+
+
+       )
+
+518 
+       m_SC_TRACE_SYS_MAX
+,
+
+519 \ 1
+       #_SC_TRACE_SYS_MAX
+_SC_TRACE_SYS_MAX
+
+
+       )
+
+520 
+       m_SC_TRACE_USER_EVENT_MAX
+,
+
+521 \ 1
+       #_SC_TRACE_USER_EVENT_MAX
+_SC_TRACE_USER_EVENT_MAX
+
+
+       )
+
+523 
+       m_SC_XOPEN_STREAMS
+,
+
+524 \ 1
+       #_SC_XOPEN_STREAMS
+_SC_XOPEN_STREAMS
+
+
+       )
+
+526 
+       m_SC_THREAD_ROBUST_PRIO_INHERIT
+,
+
+527 \ 1
+       #_SC_THREAD_ROBUST_PRIO_INHERIT
+_SC_THREAD_ROBUST_PRIO_INHERIT
+
+
+       )
+
+528 
+       m_SC_THREAD_ROBUST_PRIO_PROTECT
+
+
+529 \ 1
+       #_SC_THREAD_ROBUST_PRIO_PROTECT
+_SC_THREAD_ROBUST_PRIO_PROTECT
+
+
+       )
+
+535 
+       m_CS_PATH
+,
+
+536 \ 1
+       #_CS_PATH
+_CS_PATH
+
+
+       )
+
+538 
+       m_CS_V6_WIDTH_RESTRICTED_ENVS
+,
+
+539 \ 1
+       #_CS_V6_WIDTH_RESTRICTED_ENVS
+_CS_V6_WIDTH_RESTRICTED_ENVS
+
+
+       )
+
+540 \ 1
+       #_CS_POSIX_V6_WIDTH_RESTRICTED_ENVS
+_CS_V6_WIDTH_RESTRICTED_ENVS
+
+
+       )
+
+542 
+       m_CS_GNU_LIBC_VERSION
+,
+
+543 \ 1
+       #_CS_GNU_LIBC_VERSION
+_CS_GNU_LIBC_VERSION
+
+
+       )
+
+544 
+       m_CS_GNU_LIBPTHREAD_VERSION
+,
+
+545 \ 1
+       #_CS_GNU_LIBPTHREAD_VERSION
+_CS_GNU_LIBPTHREAD_VERSION
+
+
+       )
+
+547 
+       m_CS_V5_WIDTH_RESTRICTED_ENVS
+,
+
+548 \ 1
+       #_CS_V5_WIDTH_RESTRICTED_ENVS
+_CS_V5_WIDTH_RESTRICTED_ENVS
+
+
+       )
+
+549 \ 1
+       #_CS_POSIX_V5_WIDTH_RESTRICTED_ENVS
+_CS_V5_WIDTH_RESTRICTED_ENVS
+
+
+       )
+
+551 
+       m_CS_V7_WIDTH_RESTRICTED_ENVS
+,
+
+552 \ 1
+       #_CS_V7_WIDTH_RESTRICTED_ENVS
+_CS_V7_WIDTH_RESTRICTED_ENVS
+
+
+       )
+
+553 \ 1
+       #_CS_POSIX_V7_WIDTH_RESTRICTED_ENVS
+_CS_V7_WIDTH_RESTRICTED_ENVS
+
+
+       )
+
+555 
+       m_CS_LFS_CFLAGS
+ = 1000,
+
+556 \ 1
+       #_CS_LFS_CFLAGS
+_CS_LFS_CFLAGS
+
+
+       )
+
+557 
+       m_CS_LFS_LDFLAGS
+,
+
+558 \ 1
+       #_CS_LFS_LDFLAGS
+_CS_LFS_LDFLAGS
+
+
+       )
+
+559 
+       m_CS_LFS_LIBS
+,
+
+560 \ 1
+       #_CS_LFS_LIBS
+_CS_LFS_LIBS
+
+
+       )
+
+561 
+       m_CS_LFS_LINTFLAGS
+,
+
+562 \ 1
+       #_CS_LFS_LINTFLAGS
+_CS_LFS_LINTFLAGS
+
+
+       )
+
+563 
+       m_CS_LFS64_CFLAGS
+,
+
+564 \ 1
+       #_CS_LFS64_CFLAGS
+_CS_LFS64_CFLAGS
+
+
+       )
+
+565 
+       m_CS_LFS64_LDFLAGS
+,
+
+566 \ 1
+       #_CS_LFS64_LDFLAGS
+_CS_LFS64_LDFLAGS
+
+
+       )
+
+567 
+       m_CS_LFS64_LIBS
+,
+
+568 \ 1
+       #_CS_LFS64_LIBS
+_CS_LFS64_LIBS
+
+
+       )
+
+569 
+       m_CS_LFS64_LINTFLAGS
+,
+
+570 \ 1
+       #_CS_LFS64_LINTFLAGS
+_CS_LFS64_LINTFLAGS
+
+
+       )
+
+572 
+       m_CS_XBS5_ILP32_OFF32_CFLAGS
+ = 1100,
+
+573 \ 1
+       #_CS_XBS5_ILP32_OFF32_CFLAGS
+_CS_XBS5_ILP32_OFF32_CFLAGS
+
+
+       )
+
+574 
+       m_CS_XBS5_ILP32_OFF32_LDFLAGS
+,
+
+575 \ 1
+       #_CS_XBS5_ILP32_OFF32_LDFLAGS
+_CS_XBS5_ILP32_OFF32_LDFLAGS
+
+
+       )
+
+576 
+       m_CS_XBS5_ILP32_OFF32_LIBS
+,
+
+577 \ 1
+       #_CS_XBS5_ILP32_OFF32_LIBS
+_CS_XBS5_ILP32_OFF32_LIBS
+
+
+       )
+
+578 
+       m_CS_XBS5_ILP32_OFF32_LINTFLAGS
+,
+
+579 \ 1
+       #_CS_XBS5_ILP32_OFF32_LINTFLAGS
+_CS_XBS5_ILP32_OFF32_LINTFLAGS
+
+
+       )
+
+580 
+       m_CS_XBS5_ILP32_OFFBIG_CFLAGS
+,
+
+581 \ 1
+       #_CS_XBS5_ILP32_OFFBIG_CFLAGS
+_CS_XBS5_ILP32_OFFBIG_CFLAGS
+
+
+       )
+
+582 
+       m_CS_XBS5_ILP32_OFFBIG_LDFLAGS
+,
+
+583 \ 1
+       #_CS_XBS5_ILP32_OFFBIG_LDFLAGS
+_CS_XBS5_ILP32_OFFBIG_LDFLAGS
+
+
+       )
+
+584 
+       m_CS_XBS5_ILP32_OFFBIG_LIBS
+,
+
+585 \ 1
+       #_CS_XBS5_ILP32_OFFBIG_LIBS
+_CS_XBS5_ILP32_OFFBIG_LIBS
+
+
+       )
+
+586 
+       m_CS_XBS5_ILP32_OFFBIG_LINTFLAGS
+,
+
+587 \ 1
+       #_CS_XBS5_ILP32_OFFBIG_LINTFLAGS
+_CS_XBS5_ILP32_OFFBIG_LINTFLAGS
+
+
+       )
+
+588 
+       m_CS_XBS5_LP64_OFF64_CFLAGS
+,
+
+589 \ 1
+       #_CS_XBS5_LP64_OFF64_CFLAGS
+_CS_XBS5_LP64_OFF64_CFLAGS
+
+
+       )
+
+590 
+       m_CS_XBS5_LP64_OFF64_LDFLAGS
+,
+
+591 \ 1
+       #_CS_XBS5_LP64_OFF64_LDFLAGS
+_CS_XBS5_LP64_OFF64_LDFLAGS
+
+
+       )
+
+592 
+       m_CS_XBS5_LP64_OFF64_LIBS
+,
+
+593 \ 1
+       #_CS_XBS5_LP64_OFF64_LIBS
+_CS_XBS5_LP64_OFF64_LIBS
+
+
+       )
+
+594 
+       m_CS_XBS5_LP64_OFF64_LINTFLAGS
+,
+
+595 \ 1
+       #_CS_XBS5_LP64_OFF64_LINTFLAGS
+_CS_XBS5_LP64_OFF64_LINTFLAGS
+
+
+       )
+
+596 
+       m_CS_XBS5_LPBIG_OFFBIG_CFLAGS
+,
+
+597 \ 1
+       #_CS_XBS5_LPBIG_OFFBIG_CFLAGS
+_CS_XBS5_LPBIG_OFFBIG_CFLAGS
+
+
+       )
+
+598 
+       m_CS_XBS5_LPBIG_OFFBIG_LDFLAGS
+,
+
+599 \ 1
+       #_CS_XBS5_LPBIG_OFFBIG_LDFLAGS
+_CS_XBS5_LPBIG_OFFBIG_LDFLAGS
+
+
+       )
+
+600 
+       m_CS_XBS5_LPBIG_OFFBIG_LIBS
+,
+
+601 \ 1
+       #_CS_XBS5_LPBIG_OFFBIG_LIBS
+_CS_XBS5_LPBIG_OFFBIG_LIBS
+
+
+       )
+
+602 
+       m_CS_XBS5_LPBIG_OFFBIG_LINTFLAGS
+,
+
+603 \ 1
+       #_CS_XBS5_LPBIG_OFFBIG_LINTFLAGS
+_CS_XBS5_LPBIG_OFFBIG_LINTFLAGS
+
+
+       )
+
+605 
+       m_CS_POSIX_V6_ILP32_OFF32_CFLAGS
+,
+
+606 \ 1
+       #_CS_POSIX_V6_ILP32_OFF32_CFLAGS
+_CS_POSIX_V6_ILP32_OFF32_CFLAGS
+
+
+       )
+
+607 
+       m_CS_POSIX_V6_ILP32_OFF32_LDFLAGS
+,
+
+608 \ 1
+       #_CS_POSIX_V6_ILP32_OFF32_LDFLAGS
+_CS_POSIX_V6_ILP32_OFF32_LDFLAGS
+
+
+       )
+
+609 
+       m_CS_POSIX_V6_ILP32_OFF32_LIBS
+,
+
+610 \ 1
+       #_CS_POSIX_V6_ILP32_OFF32_LIBS
+_CS_POSIX_V6_ILP32_OFF32_LIBS
+
+
+       )
+
+611 
+       m_CS_POSIX_V6_ILP32_OFF32_LINTFLAGS
+,
+
+612 \ 1
+       #_CS_POSIX_V6_ILP32_OFF32_LINTFLAGS
+_CS_POSIX_V6_ILP32_OFF32_LINTFLAGS
+
+
+       )
+
+613 
+       m_CS_POSIX_V6_ILP32_OFFBIG_CFLAGS
+,
+
+614 \ 1
+       #_CS_POSIX_V6_ILP32_OFFBIG_CFLAGS
+_CS_POSIX_V6_ILP32_OFFBIG_CFLAGS
+
+
+       )
+
+615 
+       m_CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS
+,
+
+616 \ 1
+       #_CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS
+_CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS
+
+
+       )
+
+617 
+       m_CS_POSIX_V6_ILP32_OFFBIG_LIBS
+,
+
+618 \ 1
+       #_CS_POSIX_V6_ILP32_OFFBIG_LIBS
+_CS_POSIX_V6_ILP32_OFFBIG_LIBS
+
+
+       )
+
+619 
+       m_CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS
+,
+
+620 \ 1
+       #_CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS
+_CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS
+
+
+       )
+
+621 
+       m_CS_POSIX_V6_LP64_OFF64_CFLAGS
+,
+
+622 \ 1
+       #_CS_POSIX_V6_LP64_OFF64_CFLAGS
+_CS_POSIX_V6_LP64_OFF64_CFLAGS
+
+
+       )
+
+623 
+       m_CS_POSIX_V6_LP64_OFF64_LDFLAGS
+,
+
+624 \ 1
+       #_CS_POSIX_V6_LP64_OFF64_LDFLAGS
+_CS_POSIX_V6_LP64_OFF64_LDFLAGS
+
+
+       )
+
+625 
+       m_CS_POSIX_V6_LP64_OFF64_LIBS
+,
+
+626 \ 1
+       #_CS_POSIX_V6_LP64_OFF64_LIBS
+_CS_POSIX_V6_LP64_OFF64_LIBS
+
+
+       )
+
+627 
+       m_CS_POSIX_V6_LP64_OFF64_LINTFLAGS
+,
+
+628 \ 1
+       #_CS_POSIX_V6_LP64_OFF64_LINTFLAGS
+_CS_POSIX_V6_LP64_OFF64_LINTFLAGS
+
+
+       )
+
+629 
+       m_CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS
+,
+
+630 \ 1
+       #_CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS
+_CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS
+
+
+       )
+
+631 
+       m_CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS
+,
+
+632 \ 1
+       #_CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS
+_CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS
+
+
+       )
+
+633 
+       m_CS_POSIX_V6_LPBIG_OFFBIG_LIBS
+,
+
+634 \ 1
+       #_CS_POSIX_V6_LPBIG_OFFBIG_LIBS
+_CS_POSIX_V6_LPBIG_OFFBIG_LIBS
+
+
+       )
+
+635 
+       m_CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS
+,
+
+636 \ 1
+       #_CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS
+_CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS
+
+
+       )
+
+638 
+       m_CS_POSIX_V7_ILP32_OFF32_CFLAGS
+,
+
+639 \ 1
+       #_CS_POSIX_V7_ILP32_OFF32_CFLAGS
+_CS_POSIX_V7_ILP32_OFF32_CFLAGS
+
+
+       )
+
+640 
+       m_CS_POSIX_V7_ILP32_OFF32_LDFLAGS
+,
+
+641 \ 1
+       #_CS_POSIX_V7_ILP32_OFF32_LDFLAGS
+_CS_POSIX_V7_ILP32_OFF32_LDFLAGS
+
+
+       )
+
+642 
+       m_CS_POSIX_V7_ILP32_OFF32_LIBS
+,
+
+643 \ 1
+       #_CS_POSIX_V7_ILP32_OFF32_LIBS
+_CS_POSIX_V7_ILP32_OFF32_LIBS
+
+
+       )
+
+644 
+       m_CS_POSIX_V7_ILP32_OFF32_LINTFLAGS
+,
+
+645 \ 1
+       #_CS_POSIX_V7_ILP32_OFF32_LINTFLAGS
+_CS_POSIX_V7_ILP32_OFF32_LINTFLAGS
+
+
+       )
+
+646 
+       m_CS_POSIX_V7_ILP32_OFFBIG_CFLAGS
+,
+
+647 \ 1
+       #_CS_POSIX_V7_ILP32_OFFBIG_CFLAGS
+_CS_POSIX_V7_ILP32_OFFBIG_CFLAGS
+
+
+       )
+
+648 
+       m_CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS
+,
+
+649 \ 1
+       #_CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS
+_CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS
+
+
+       )
+
+650 
+       m_CS_POSIX_V7_ILP32_OFFBIG_LIBS
+,
+
+651 \ 1
+       #_CS_POSIX_V7_ILP32_OFFBIG_LIBS
+_CS_POSIX_V7_ILP32_OFFBIG_LIBS
+
+
+       )
+
+652 
+       m_CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS
+,
+
+653 \ 1
+       #_CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS
+_CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS
+
+
+       )
+
+654 
+       m_CS_POSIX_V7_LP64_OFF64_CFLAGS
+,
+
+655 \ 1
+       #_CS_POSIX_V7_LP64_OFF64_CFLAGS
+_CS_POSIX_V7_LP64_OFF64_CFLAGS
+
+
+       )
+
+656 
+       m_CS_POSIX_V7_LP64_OFF64_LDFLAGS
+,
+
+657 \ 1
+       #_CS_POSIX_V7_LP64_OFF64_LDFLAGS
+_CS_POSIX_V7_LP64_OFF64_LDFLAGS
+
+
+       )
+
+658 
+       m_CS_POSIX_V7_LP64_OFF64_LIBS
+,
+
+659 \ 1
+       #_CS_POSIX_V7_LP64_OFF64_LIBS
+_CS_POSIX_V7_LP64_OFF64_LIBS
+
+
+       )
+
+660 
+       m_CS_POSIX_V7_LP64_OFF64_LINTFLAGS
+,
+
+661 \ 1
+       #_CS_POSIX_V7_LP64_OFF64_LINTFLAGS
+_CS_POSIX_V7_LP64_OFF64_LINTFLAGS
+
+
+       )
+
+662 
+       m_CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS
+,
+
+663 \ 1
+       #_CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS
+_CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS
+
+
+       )
+
+664 
+       m_CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS
+,
+
+665 \ 1
+       #_CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS
+_CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS
+
+
+       )
+
+666 
+       m_CS_POSIX_V7_LPBIG_OFFBIG_LIBS
+,
+
+667 \ 1
+       #_CS_POSIX_V7_LPBIG_OFFBIG_LIBS
+_CS_POSIX_V7_LPBIG_OFFBIG_LIBS
+
+
+       )
+
+668 
+       m_CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS
+,
+
+669 \ 1
+       #_CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS
+_CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS
+
+
+       )
+
+671 
+       m_CS_V6_ENV
+,
+
+672 \ 1
+       #_CS_V6_ENV
+_CS_V6_ENV
+
+
+       )
+
+673 
+       m_CS_V7_ENV
+
+
+674 \ 1
+       #_CS_V7_ENV
+_CS_V7_ENV
+
+
+       )
+
+       @/usr/include/bits/environments.h
+
+18 #iâdeà
+_UNISTD_H
+
+
+22 \ 2
+       ~<b\99s/wÜdsize.h
+>
+
+42 #ià
+__WORDSIZE
+ == 64
+
+56 \ 1
+       #_POSIX_V7_LPBIG_OFFBIG
+ -1
+
+       )
+
+57 \ 1
+       #_POSIX_V6_LPBIG_OFFBIG
+ -1
+
+       )
+
+58 \ 1
+       #_XBS5_LPBIG_OFFBIG
+ -1
+
+       )
+
+61 \ 1
+       #_POSIX_V7_LP64_OFF64
+ 1
+
+       )
+
+62 \ 1
+       #_POSIX_V6_LP64_OFF64
+ 1
+
+       )
+
+63 \ 1
+       #_XBS5_LP64_OFF64
+ 1
+
+       )
+
+69 \ 1
+       #_POSIX_V7_ILP32_OFFBIG
+ 1
+
+       )
+
+70 \ 1
+       #_POSIX_V6_ILP32_OFFBIG
+ 1
+
+       )
+
+71 \ 1
+       #_XBS5_ILP32_OFFBIG
+ 1
+
+       )
+
+73 #iâdeà
+__x86_64__
+
+
+75 \ 1
+       #_POSIX_V7_ILP32_OFF32
+ 1
+
+       )
+
+76 \ 1
+       #_POSIX_V6_ILP32_OFF32
+ 1
+
+       )
+
+77 \ 1
+       #_XBS5_ILP32_OFF32
+ 1
+
+       )
+
+95 \ 1
+       #__ILP32_OFF32_CFLAGS
+ "-m32"
+
+       )
+
+96 \ 1
+       #__ILP32_OFF32_LDFLAGS
+ "-m32"
+
+       )
+
+97 #ià
+def\9aed
+__x86_64__
+ && def\9aed 
+__ILP32__
+
+
+98 \ 1
+       #__ILP32_OFFBIG_CFLAGS
+ "-mx32"
+
+       )
+
+99 \ 1
+       #__ILP32_OFFBIG_LDFLAGS
+ "-mx32"
+
+       )
+
+101 \ 1
+       #__ILP32_OFFBIG_CFLAGS
+ "-m32 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
+
+       )
+
+102 \ 1
+       #__ILP32_OFFBIG_LDFLAGS
+ "-m32"
+
+       )
+
+104 \ 1
+       #__LP64_OFF64_CFLAGS
+ "-m64"
+
+       )
+
+105 \ 1
+       #__LP64_OFF64_LDFLAGS
+ "-m64"
+
+       )
+
+       @/usr/include/bits/errno.h
+
+19 #ifdeà
+_ERRNO_H
+
+
+21 #undeà
+EDOM
+
+
+22 #undeà
+EILSEQ
+
+
+23 #undeà
+ERANGE
+
+
+24 \ 2
+       ~<l\9aux/\94ºo.h
+>
+
+27 \ 1
+       #ENOTSUP
+EOPNOTSUPP
+
+
+       )
+
+30 #iâdeà
+ECANCELED
+
+
+31 \ 1
+       #ECANCELED
+ 125
+
+       )
+
+35 #iâdeà
+EOWNERDEAD
+
+
+36 \ 1
+       #EOWNERDEAD
+ 130
+
+       )
+
+37 \ 1
+       #ENOTRECOVERABLE
+ 131
+
+       )
+
+40 #iâdeà
+ERFKILL
+
+
+41 \ 1
+       #ERFKILL
+ 132
+
+       )
+
+44 #iâdeà
+EHWPOISON
+
+
+45 \ 1
+       #EHWPOISON
+ 133
+
+       )
+
+48 #iâdeà
+__ASSEMBLER__
+
+
+50 \r\12*
+       $__\94ºo_loÿtiÚ
+ (\1eè
+__THROW
+       `__©\8cibu\8b__
+ ((
+__cڡ__
+));
+
+52 #ià!
+def\9aed
+_LIBC
+ || def\9aed 
+_LIBC_REENTRANT
+
+
+54 \ 1
+       #\94ºo
+ (*
+       `__\94ºo_loÿtiÚ
+ ())
+
+       )
+
+59 #ià!
+def\9aed
+_ERRNO_H
+ && def\9aed 
+__Ãed_Em©h
+
+
+63 \ 1
+       #EDOM
+ 33
+
+       )
+
+64 \ 1
+       #EILSEQ
+ 84
+
+       )
+
+65 \ 1
+       #ERANGE
+ 34
+
+       )
+
+       @/usr/include/bits/fcntl.h
+
+19 #iâdeà
+_FCNTL_H
+
+
+23 #ifdeà
+__x86_64__
+
+
+24 \ 1
+       #__O_LARGEFILE
+ 0
+
+       )
+
+27 #ifdeà
+__x86_64__
+
+
+29 \ 1
+       #F_GETLK64
+ 5
+
+       )
+
+30 \ 1
+       #F_SETLK64
+ 6
+
+       )
+
+31 \ 1
+       #F_SETLKW64
+ 7
+
+       )
+
+35 \19
+       sæock
+
+
+37 \16\12
+       ml_ty³
+;
+
+38 \16\12
+       ml_wh\92û
+;
+
+39 #iâdeà
+__USE_FILE_OFFSET64
+
+
+40 
+__off_t
+       ml_¡¬t
+;
+
+41 
+__off_t
+       ml_Ën
+;
+
+43 
+__off64_t
+       ml_¡¬t
+;
+
+44 
+__off64_t
+       ml_Ën
+;
+
+46 
+__pid_t
+       ml_pid
+;
+
+49 #ifdeà
+__USE_LARGEFILE64
+
+
+50 \19
+       sæock64
+
+
+52 \16\12
+       ml_ty³
+;
+
+53 \16\12
+       ml_wh\92û
+;
+
+54 
+__off64_t
+       ml_¡¬t
+;
+
+55 
+__off64_t
+       ml_Ën
+;
+
+56 
+__pid_t
+       ml_pid
+;
+
+61 \ 2
+       ~<b\99s/fú\8e-l\9aux.h
+>
+
+       @/usr/include/bits/fcntl2.h
+
+19 #iâdef 
+_FCNTL_H
+
+
+25 #iâdeà
+__USE_FILE_OFFSET64
+
+
+26 \r\12
+       $__ݒ_2
+ (cڡ \ 5*
+__·th
+, \12
+__oæag
+       `__nÚnuÎ
+ ((1));
+
+27 \r\12
+       `__REDIRECT
+ (
+__Ý\92\9fs
+, (cڡ \ 5*
+__·th
+, \12
+__oæag
+, ...),
+
+28 
+       `__nÚnuÎ
+ ((1));
+
+30 \r\12
+       `__REDIRECT
+ (
+__ݒ_2
+, (cڡ \ 5*
+__·th
+, \12
+__oæag
+),
+
+31 
+__ݒ64_2
+       `__nÚnuÎ
+ ((1));
+
+32 \r\12
+       `__REDIRECT
+ (
+__Ý\92\9fs
+, (cڡ \ 5*
+__·th
+, \12
+__oæag
+, ...),
+
+33 
+ݒ64
+       `__nÚnuÎ
+ ((1));
+
+35 
+       `__\94rÜdeþ
+ (
+__Ý\92_too_mªy_¬gs
+,
+
+37 
+       `__\94rÜdeþ
+ (
+__Ý\92_miss\9ag_mode
+,
+
+40 
+__fÜtify_funùiÚ
\12
+
+41 
+       $ݒ
+ (cڡ \ 5*
+__·th
+, \12
+__oæag
+, ...)
+
+43 ià(
+       `__va_¬g_·ck_Ën
+ () > 1)
+
+44 
+       `__Ý\92_too_mªy_¬gs
+ ();
+
+46 ià(
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+__oæag
+))
+
+48 ià(
+       `__OPEN_NEEDS_MODE
+ (
+__oæag
+è&& 
+       `__va_¬g_·ck_Ën
+ () < 1)
+
+50 
+       `__Ý\92_miss\9ag_mode
+ ();
+
+51 \15 
+       `__ݒ_2
+ (
+__·th
+, 
+__oæag
+);
+
+53 \15 
+       `__Ý\92\9fs
+ (
+__·th
+, 
+__oæag
+, 
+       `__va_¬g_·ck
+ ());
+
+56 ià(
+       `__va_¬g_·ck_Ën
+ () < 1)
+
+57 \15 
+       `__ݒ_2
+ (
+__·th
+, 
+__oæag
+);
+
+59 \15 
+       `__Ý\92\9fs
+ (
+__·th
+, 
+__oæag
+, 
+       `__va_¬g_·ck
+ ());
+
+60 
+       }
+}
+
+63 #ifdeà
+__USE_LARGEFILE64
+
+
+64 \r\12
+       $__ݒ64_2
+ (cڡ \ 5*
+__·th
+, \12
+__oæag
+       `__nÚnuÎ
+ ((1));
+
+65 \r\12
+       `__REDIRECT
+ (
+__Ý\9264_®\9fs
+, (cڡ \ 5*
+__·th
+, \12
+__oæag
+,
+
+66 ...), 
+ݒ64
+       `__nÚnuÎ
+ ((1));
+
+67 
+       `__\94rÜdeþ
+ (
+__Ý\9264_too_mªy_¬gs
+,
+
+69 
+       `__\94rÜdeþ
+ (
+__Ý\9264_miss\9ag_mode
+,
+
+72 
+__fÜtify_funùiÚ
\12
+
+73 
+       $ݒ64
+ (cڡ \ 5*
+__·th
+, \12
+__oæag
+, ...)
+
+75 ià(
+       `__va_¬g_·ck_Ën
+ () > 1)
+
+76 
+       `__Ý\9264_too_mªy_¬gs
+ ();
+
+78 ià(
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+__oæag
+))
+
+80 ià(
+       `__OPEN_NEEDS_MODE
+ (
+__oæag
+è&& 
+       `__va_¬g_·ck_Ën
+ () < 1)
+
+82 
+       `__Ý\9264_miss\9ag_mode
+ ();
+
+83 \15 
+       `__ݒ64_2
+ (
+__·th
+, 
+__oæag
+);
+
+85 \15 
+       `__Ý\9264_®\9fs
+ (
+__·th
+, 
+__oæag
+, 
+       `__va_¬g_·ck
+ ());
+
+88 ià(
+       `__va_¬g_·ck_Ën
+ () < 1)
+
+89 \15 
+       `__ݒ64_2
+ (
+__·th
+, 
+__oæag
+);
+
+91 \15 
+       `__Ý\9264_®\9fs
+ (
+__·th
+, 
+__oæag
+, 
+       `__va_¬g_·ck
+ ());
+
+92 
+       }
+}
+
+96 #ifdeà
+__USE_ATFILE
+
+
+97 #iâdeà
+__USE_FILE_OFFSET64
+
+
+98 \r\12
+       $__Ý\92©_2
+ (\12
+__fd
+, cڡ \ 5*
+__·th
+, \12
+__oæag
+)
+
+99 
+       `__nÚnuÎ
+ ((2));
+
+100 \r\12
+       `__REDIRECT
+ (
+__Ý\92©_®\9fs
+, (\12
+__fd
+, cڡ \ 5*
+__·th
+,
+
+101 \12
+__oæag
+, ...), 
\92©
+)
+
+102 
+       `__nÚnuÎ
+ ((2));
+
+104 \r\12
+       `__REDIRECT
+ (
+__Ý\92©_2
+, (\12
+__fd
+, cڡ \ 5*
+__·th
+,
+
+105 \12
+__oæag
+), 
+__Ý\92©64_2
+)
+
+106 
+       `__nÚnuÎ
+ ((2));
+
+107 \r\12
+       `__REDIRECT
+ (
+__Ý\92©_®\9fs
+, (\12
+__fd
+, cڡ \ 5*
+__·th
+,
+
+108 \12
+__oæag
+, ...), 
\92©64
+)
+
+109 
+       `__nÚnuÎ
+ ((2));
+
+111 
+       `__\94rÜdeþ
+ (
+__Ý\92©_too_mªy_¬gs
+,
+
+113 
+       `__\94rÜdeþ
+ (
+__Ý\92©_miss\9ag_mode
+,
+
+116 
+__fÜtify_funùiÚ
\12
+
+117 
+       $Ý\92©
+ (\12
+__fd
+, cڡ \ 5*
+__·th
+, \12
+__oæag
+, ...)
+
+119 ià(
+       `__va_¬g_·ck_Ën
+ () > 1)
+
+120 
+       `__Ý\92©_too_mªy_¬gs
+ ();
+
+122 ià(
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+__oæag
+))
+
+124 ià(
+       `__OPEN_NEEDS_MODE
+ (
+__oæag
+è&& 
+       `__va_¬g_·ck_Ën
+ () < 1)
+
+126 
+       `__Ý\92©_miss\9ag_mode
+ ();
+
+127 \15 
+       `__Ý\92©_2
+ (
+__fd
+, 
+__·th
+, 
+__oæag
+);
+
+129 \15 
+       `__Ý\92©_®\9fs
+ (
+__fd
+, 
+__·th
+, 
+__oæag
+, 
+       `__va_¬g_·ck
+ ());
+
+132 ià(
+       `__va_¬g_·ck_Ën
+ () < 1)
+
+133 \15 
+       `__Ý\92©_2
+ (
+__fd
+, 
+__·th
+, 
+__oæag
+);
+
+135 \15 
+       `__Ý\92©_®\9fs
+ (
+__fd
+, 
+__·th
+, 
+__oæag
+, 
+       `__va_¬g_·ck
+ ());
+
+136 
+       }
+}
+
+139 #ifdeà
+__USE_LARGEFILE64
+
+
+140 \r\12
+       $__Ý\92©64_2
+ (\12
+__fd
+, cڡ \ 5*
+__·th
+, \12
+__oæag
+)
+
+141 
+       `__nÚnuÎ
+ ((2));
+
+142 \r\12
+       `__REDIRECT
+ (
+__Ý\92©64_®\9fs
+, (\12
+__fd
+, cڡ \ 5*
+__·th
+,
+
+143 \12
+__oæag
+, ...), 
\92©64
+)
+
+144 
+       `__nÚnuÎ
+ ((2));
+
+145 
+       `__\94rÜdeþ
+ (
+__Ý\92©64_too_mªy_¬gs
+,
+
+147 
+       `__\94rÜdeþ
+ (
+__Ý\92©64_miss\9ag_mode
+,
+
+150 
+__fÜtify_funùiÚ
\12
+
+151 
+       $Ý\92©64
+ (\12
+__fd
+, cڡ \ 5*
+__·th
+, \12
+__oæag
+, ...)
+
+153 ià(
+       `__va_¬g_·ck_Ën
+ () > 1)
+
+154 
+       `__Ý\92©64_too_mªy_¬gs
+ ();
+
+156 ià(
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+__oæag
+))
+
+158 ià(
+       `__OPEN_NEEDS_MODE
+ (
+__oæag
+è&& 
+       `__va_¬g_·ck_Ën
+ () < 1)
+
+160 
+       `__Ý\92©64_miss\9ag_mode
+ ();
+
+161 \15 
+       `__Ý\92©64_2
+ (
+__fd
+, 
+__·th
+, 
+__oæag
+);
+
+163 \15 
+       `__Ý\92©64_®\9fs
+ (
+__fd
+, 
+__·th
+, 
+__oæag
+, 
+       `__va_¬g_·ck
+ ());
+
+166 ià(
+       `__va_¬g_·ck_Ën
+ () < 1)
+
+167 \15 
+       `__Ý\92©64_2
+ (
+__fd
+, 
+__·th
+, 
+__oæag
+);
+
+169 \15 
+       `__Ý\92©64_®\9fs
+ (
+__fd
+, 
+__·th
+, 
+__oæag
+, 
+       `__va_¬g_·ck
+ ());
+
+170 
+       }
+}
+
+       @/usr/include/bits/huge_val.h
+
+20 #iâdeà
+_MATH_H
+
+
+26 #ià
+__GNUC_PREREQ
+(3,3)
+
+27 \ 1
+       #HUGE_VAL
+ (
+       `__bu\9et\9a_huge_v®
+())
+
+       )
+
+28 #\96
+__GNUC_PREREQ
+(2,96)
+
+29 \ 1
+       #HUGE_VAL
+ (
+__ex\8bnsiÚ__
+ 0x1.0
+p2047
+)
+
+       )
+
+30 #\96
+def\9aed
+__GNUC__
+
+
+32 \ 1
+       #HUGE_VAL
+ \
+
+33 (
+__ex\8bnsiÚ__
+ \
+
+34 ((uniÚ { \1d
+__l
+       `__©\8cibu\8b__
+((
+       `__mode__
+(
+__DI__
+))); \b
+__d
+; }) \
+
+35 { 
+__l
+: 0x7ff0000000000000ULL }).
+__d
+)
+
+       )
+
+39 \ 2
+       ~<\92d\9fn.h
+>
+
+41 \euniÚ { \1d\ 5
+       m__c
+[8]; \b
+       m__d
+; } 
+       t__huge_v®_t
+;
+
+43 #ià
+__BYTE_ORDER
+ =ð
+__BIG_ENDIAN
+
+
+44 \ 1
+       #__HUGE_VAL_by\8bs
+ { 0x7f, 0xf0, 0, 0, 0, 0, 0, 0 }
+
+       )
+
+46 #ià
+__BYTE_ORDER
+ =ð
+__LITTLE_ENDIAN
+
+
+47 \ 1
+       #__HUGE_VAL_by\8bs
+ { 0, 0, 0, 0, 0, 0, 0xf0, 0x7à}
+
+       )
+
+50 \18
+__huge_v®_t
+       g__huge_v®
+ = { 
+__HUGE_VAL_by\8bs
+ };
+
+51 \ 1
+       #HUGE_VAL
+ (
+__huge_v®
+.
+__d
+)
+
+       )
+
+       @/usr/include/bits/huge_valf.h
+
+20 #iâdeà
+_MATH_H
+
+
+26 #ià
+__GNUC_PREREQ
+(3,3)
+
+27 \ 1
+       #HUGE_VALF
+ (
+       `__bu\9et\9a_huge_v®f
+())
+
+       )
+
+28 #\96
+__GNUC_PREREQ
+(2,96)
+
+29 \ 1
+       #HUGE_VALF
+ (
+__ex\8bnsiÚ__
+ 0x1.0
+p255f
+)
+
+       )
+
+30 #\96
+def\9aed
+__GNUC__
+
+
+32 \ 1
+       #HUGE_VALF
+ \
+
+33 (
+__ex\8bnsiÚ__
+ \
+
+34 ((uniÚ { \1d
+__l
+       `__©\8cibu\8b__
+((
+       `__mode__
+(
+__SI__
+))); \ e
+__d
+; }) \
+
+35 { 
+__l
+: 0x7f800000UL }).
+__d
+)
+
+       )
+
+39 \euniÚ { \1d\ 5
+       m__c
+[4]; \ e
+       m__f
+; } 
+       t__huge_v®f_t
+;
+
+41 #ià
+__BYTE_ORDER
+ =ð
+__BIG_ENDIAN
+
+
+42 \ 1
+       #__HUGE_VALF_by\8bs
+ { 0x7f, 0x80, 0, 0 }
+
+       )
+
+44 #ià
+__BYTE_ORDER
+ =ð
+__LITTLE_ENDIAN
+
+
+45 \ 1
+       #__HUGE_VALF_by\8bs
+ { 0, 0, 0x80, 0x7à}
+
+       )
+
+48 \18
+__huge_v®f_t
+       g__huge_v®f
+ = { 
+__HUGE_VALF_by\8bs
+ };
+
+49 \ 1
+       #HUGE_VALF
+ (
+__huge_v®f
+.
+__f
+)
+
+       )
+
+       @/usr/include/bits/huge_vall.h
+
+20 #iâdeà
+_MATH_H
+
+
+24 #ià
+__GNUC_PREREQ
+(3,3)
+
+25 \ 1
+       #HUGE_VALL
+ (
+       `__bu\9et\9a_huge_v®l
+())
+
+       )
+
+26 #\96
+__GNUC_PREREQ
+(2,96)
+
+27 \ 1
+       #HUGE_VALL
+ (
+__ex\8bnsiÚ__
+ 0x1.0
+p32767L
+)
+
+       )
+
+30 \ 1
+       #__HUGE_VALL_by\8bs
+ { 0, 0, 0, 0, 0, 0, 0, 0x80, 0xff, 0x7f, 0, 0 }
+
+       )
+
+32 \ 1
+       #__huge_v®l_t
+ uniÚ { \1d\ 5
+__c
+[12]; \13\b
+__ld
+; }
+
+       )
+
+33 #ifdeà
+__GNUC__
+
+
+34 \ 1
+       #HUGE_VALL
+ (
+__ex\8bnsiÚ__
+ \
+
+35 ((
+__huge_v®l_t
+è{ 
+__c
+: 
+__HUGE_VALL_by\8bs
+ }).
+__ld
+)
+
+       )
+
+37 \18
+__huge_v®l_t
+       g__huge_v®l
+ = { 
+__HUGE_VALL_by\8bs
+ };
+
+38 \ 1
+       #HUGE_VALL
+ (
+__huge_v®l
+.
+__ld
+)
+
+       )
+
+       @/usr/include/bits/in.h
+
+20 #iâdeà
+_NETINET_IN_H
+
+
+29 #ià
+def\9aed
+_UAPI_LINUX_IN6_H
+ || def\9aed 
+_UAPI_IPV6_H
+
+
+33 \ 1
+       #__USE_KERNEL_IPV6_DEFS
+
+
+       )
+
+39 \ 1
+       #IP_OPTIONS
+ 4
+
+       )
+
+40 \ 1
+       #IP_HDRINCL
+ 3
+
+       )
+
+41 \ 1
+       #IP_TOS
+ 1
+
+       )
+
+42 \ 1
+       #IP_TTL
+ 2
+
+       )
+
+43 \ 1
+       #IP_RECVOPTS
+ 6
+
+       )
+
+45 \ 1
+       #IP_RECVRETOPTS
+IP_RETOPTS
+
+
+       )
+
+46 \ 1
+       #IP_RETOPTS
+ 7
+
+       )
+
+47 \ 1
+       #IP_MULTICAST_IF
+ 32
+
+       )
+
+48 \ 1
+       #IP_MULTICAST_TTL
+ 33
+
+       )
+
+49 \ 1
+       #IP_MULTICAST_LOOP
+ 34
+
+       )
+
+50 \ 1
+       #IP_ADD_MEMBERSHIP
+ 35
+
+       )
+
+51 \ 1
+       #IP_DROP_MEMBERSHIP
+ 36
+
+       )
+
+52 \ 1
+       #IP_UNBLOCK_SOURCE
+ 37
+
+       )
+
+53 \ 1
+       #IP_BLOCK_SOURCE
+ 38
+
+       )
+
+54 \ 1
+       #IP_ADD_SOURCE_MEMBERSHIP
+ 39
+
+       )
+
+55 \ 1
+       #IP_DROP_SOURCE_MEMBERSHIP
+ 40
+
+       )
+
+56 \ 1
+       #IP_MSFILTER
+ 41
+
+       )
+
+57 #ifdeà
+__USE_MISC
+
+
+58 \ 1
+       #MCAST_JOIN_GROUP
+ 42
+
+       )
+
+59 \ 1
+       #MCAST_BLOCK_SOURCE
+ 43
+
+       )
+
+60 \ 1
+       #MCAST_UNBLOCK_SOURCE
+ 44
+
+       )
+
+61 \ 1
+       #MCAST_LEAVE_GROUP
+ 45
+
+       )
+
+62 \ 1
+       #MCAST_JOIN_SOURCE_GROUP
+ 46
+
+       )
+
+63 \ 1
+       #MCAST_LEAVE_SOURCE_GROUP
+ 47
+
+       )
+
+64 \ 1
+       #MCAST_MSFILTER
+ 48
+
+       )
+
+65 \ 1
+       #IP_MULTICAST_ALL
+ 49
+
+       )
+
+66 \ 1
+       #IP_UNICAST_IF
+ 50
+
+       )
+
+68 \ 1
+       #MCAST_EXCLUDE
+ 0
+
+       )
+
+69 \ 1
+       #MCAST_INCLUDE
+ 1
+
+       )
+
+72 \ 1
+       #IP_ROUTER_ALERT
+ 5
+
+       )
+
+73 \ 1
+       #IP_PKTINFO
+ 8
+
+       )
+
+74 \ 1
+       #IP_PKTOPTIONS
+ 9
+
+       )
+
+75 \ 1
+       #IP_PMTUDISC
+ 10
+
+       )
+
+76 \ 1
+       #IP_MTU_DISCOVER
+ 10
+
+       )
+
+77 \ 1
+       #IP_RECVERR
+ 11
+
+       )
+
+78 \ 1
+       #IP_RECVTTL
+ 12
+
+       )
+
+79 \ 1
+       #IP_RECVTOS
+ 13
+
+       )
+
+80 \ 1
+       #IP_MTU
+ 14
+
+       )
+
+81 \ 1
+       #IP_FREEBIND
+ 15
+
+       )
+
+82 \ 1
+       #IP_IPSEC_POLICY
+ 16
+
+       )
+
+83 \ 1
+       #IP_XFRM_POLICY
+ 17
+
+       )
+
+84 \ 1
+       #IP_PASSSEC
+ 18
+
+       )
+
+85 \ 1
+       #IP_TRANSPARENT
+ 19
+
+       )
+
+86 \ 1
+       #IP_MULTICAST_ALL
+ 49
+
+       )
+
+89 \ 1
+       #IP_ORIGDSTADDR
+ 20
+
+       )
+
+90 \ 1
+       #IP_RECVORIGDSTADDR
+IP_ORIGDSTADDR
+
+
+       )
+
+92 \ 1
+       #IP_MINTTL
+ 21
+
+       )
+
+93 \ 1
+       #IP_NODEFRAG
+ 22
+
+       )
+
+94 \ 1
+       #IP_CHECKSUM
+ 23
+
+       )
+
+95 \ 1
+       #IP_BIND_ADDRESS_NO_PORT
+ 24
+
+       )
+
+98 \ 1
+       #IP_PMTUDISC_DONT
+ 0
+
+       )
+
+99 \ 1
+       #IP_PMTUDISC_WANT
+ 1
+
+       )
+
+100 \ 1
+       #IP_PMTUDISC_DO
+ 2
+
+       )
+
+101 \ 1
+       #IP_PMTUDISC_PROBE
+ 3
+
+       )
+
+105 \ 1
+       #IP_PMTUDISC_INTERFACE
+ 4
+
+       )
+
+107 \ 1
+       #IP_PMTUDISC_OMIT
+ 5
+
+       )
+
+109 \ 1
+       #IP_MULTICAST_IF
+ 32
+
+       )
+
+110 \ 1
+       #IP_MULTICAST_TTL
+ 33
+
+       )
+
+111 \ 1
+       #IP_MULTICAST_LOOP
+ 34
+
+       )
+
+112 \ 1
+       #IP_ADD_MEMBERSHIP
+ 35
+
+       )
+
+113 \ 1
+       #IP_DROP_MEMBERSHIP
+ 36
+
+       )
+
+114 \ 1
+       #IP_UNBLOCK_SOURCE
+ 37
+
+       )
+
+115 \ 1
+       #IP_BLOCK_SOURCE
+ 38
+
+       )
+
+116 \ 1
+       #IP_ADD_SOURCE_MEMBERSHIP
+ 39
+
+       )
+
+117 \ 1
+       #IP_DROP_SOURCE_MEMBERSHIP
+ 40
+
+       )
+
+118 \ 1
+       #IP_MSFILTER
+ 41
+
+       )
+
+119 \ 1
+       #IP_MULTICAST_ALL
+ 49
+
+       )
+
+120 \ 1
+       #IP_UNICAST_IF
+ 50
+
+       )
+
+123 \ 1
+       #SOL_IP
+ 0
+
+       )
+
+125 \ 1
+       #IP_DEFAULT_MULTICAST_TTL
+ 1
+
+       )
+
+126 \ 1
+       #IP_DEFAULT_MULTICAST_LOOP
+ 1
+
+       )
+
+127 \ 1
+       #IP_MAX_MEMBERSHIPS
+ 20
+
+       )
+
+129 #ifdeà
+__USE_MISC
+
+
+133 \19
+       s\9d_Ýts
+
+
+135 \19
+\9a_addr
+       m\9d_d¡
+;
+
+136 \ 5
+       m\9d_Ýts
+[40];
+
+140 \19
+       s\9d_m»qn
+
+
+142 \19
+\9a_addr
+       mimr_muɟddr
+;
+
+143 \19
+\9a_addr
+       mimr_add»ss
+;
+
+144 \12
+       mimr_if\9adex
+;
+
+148 \19
+       s\9a_pkt\9afo
+
+
+150 \12
+       m\9di_if\9adex
+;
+
+151 \19
+\9a_addr
+       m\9di_¥ec_d¡
+;
+
+152 \19
+\9a_addr
+       m\9di_addr
+;
+
+159 \ 1
+       #IPV6_ADDRFORM
+ 1
+
+       )
+
+160 \ 1
+       #IPV6_2292PKTINFO
+ 2
+
+       )
+
+161 \ 1
+       #IPV6_2292HOPOPTS
+ 3
+
+       )
+
+162 \ 1
+       #IPV6_2292DSTOPTS
+ 4
+
+       )
+
+163 \ 1
+       #IPV6_2292RTHDR
+ 5
+
+       )
+
+164 \ 1
+       #IPV6_2292PKTOPTIONS
+ 6
+
+       )
+
+165 \ 1
+       #IPV6_CHECKSUM
+ 7
+
+       )
+
+166 \ 1
+       #IPV6_2292HOPLIMIT
+ 8
+
+       )
+
+168 \ 1
+       #SCM_SRCRT
+IPV6_RXSRCRT
+
+
+       )
+
+170 \ 1
+       #IPV6_NEXTHOP
+ 9
+
+       )
+
+171 \ 1
+       #IPV6_AUTHHDR
+ 10
+
+       )
+
+172 \ 1
+       #IPV6_UNICAST_HOPS
+ 16
+
+       )
+
+173 \ 1
+       #IPV6_MULTICAST_IF
+ 17
+
+       )
+
+174 \ 1
+       #IPV6_MULTICAST_HOPS
+ 18
+
+       )
+
+175 \ 1
+       #IPV6_MULTICAST_LOOP
+ 19
+
+       )
+
+176 \ 1
+       #IPV6_JOIN_GROUP
+ 20
+
+       )
+
+177 \ 1
+       #IPV6_LEAVE_GROUP
+ 21
+
+       )
+
+178 \ 1
+       #IPV6_ROUTER_ALERT
+ 22
+
+       )
+
+179 \ 1
+       #IPV6_MTU_DISCOVER
+ 23
+
+       )
+
+180 \ 1
+       #IPV6_MTU
+ 24
+
+       )
+
+181 \ 1
+       #IPV6_RECVERR
+ 25
+
+       )
+
+182 \ 1
+       #IPV6_V6ONLY
+ 26
+
+       )
+
+183 \ 1
+       #IPV6_JOIN_ANYCAST
+ 27
+
+       )
+
+184 \ 1
+       #IPV6_LEAVE_ANYCAST
+ 28
+
+       )
+
+185 \ 1
+       #IPV6_IPSEC_POLICY
+ 34
+
+       )
+
+186 \ 1
+       #IPV6_XFRM_POLICY
+ 35
+
+       )
+
+189 \ 1
+       #IPV6_RECVPKTINFO
+ 49
+
+       )
+
+190 \ 1
+       #IPV6_PKTINFO
+ 50
+
+       )
+
+191 \ 1
+       #IPV6_RECVHOPLIMIT
+ 51
+
+       )
+
+192 \ 1
+       #IPV6_HOPLIMIT
+ 52
+
+       )
+
+193 \ 1
+       #IPV6_RECVHOPOPTS
+ 53
+
+       )
+
+194 \ 1
+       #IPV6_HOPOPTS
+ 54
+
+       )
+
+195 \ 1
+       #IPV6_RTHDRDSTOPTS
+ 55
+
+       )
+
+196 \ 1
+       #IPV6_RECVRTHDR
+ 56
+
+       )
+
+197 \ 1
+       #IPV6_RTHDR
+ 57
+
+       )
+
+198 \ 1
+       #IPV6_RECVDSTOPTS
+ 58
+
+       )
+
+199 \ 1
+       #IPV6_DSTOPTS
+ 59
+
+       )
+
+200 \ 1
+       #IPV6_RECVPATHMTU
+ 60
+
+       )
+
+201 \ 1
+       #IPV6_PATHMTU
+ 61
+
+       )
+
+202 \ 1
+       #IPV6_DONTFRAG
+ 62
+
+       )
+
+205 \ 1
+       #IPV6_RECVTCLASS
+ 66
+
+       )
+
+206 \ 1
+       #IPV6_TCLASS
+ 67
+
+       )
+
+209 \ 1
+       #IPV6_ADD_MEMBERSHIP
+IPV6_JOIN_GROUP
+
+
+       )
+
+210 \ 1
+       #IPV6_DROP_MEMBERSHIP
+IPV6_LEAVE_GROUP
+
+
+       )
+
+211 \ 1
+       #IPV6_RXHOPOPTS
+IPV6_HOPOPTS
+
+
+       )
+
+212 \ 1
+       #IPV6_RXDSTOPTS
+IPV6_DSTOPTS
+
+
+       )
+
+215 \ 1
+       #IPV6_PMTUDISC_DONT
+ 0
+
+       )
+
+216 \ 1
+       #IPV6_PMTUDISC_WANT
+ 1
+
+       )
+
+217 \ 1
+       #IPV6_PMTUDISC_DO
+ 2
+
+       )
+
+218 \ 1
+       #IPV6_PMTUDISC_PROBE
+ 3
+
+       )
+
+219 \ 1
+       #IPV6_PMTUDISC_INTERFACE
+ 4
+
+       )
+
+220 \ 1
+       #IPV6_PMTUDISC_OMIT
+ 5
+
+       )
+
+223 \ 1
+       #SOL_IPV6
+ 41
+
+       )
+
+224 \ 1
+       #SOL_ICMPV6
+ 58
+
+       )
+
+227 \ 1
+       #IPV6_RTHDR_LOOSE
+ 0
+
+       )
+
+228 \ 1
+       #IPV6_RTHDR_STRICT
+ 1
+
+       )
+
+230 \ 1
+       #IPV6_RTHDR_TYPE_0
+ 0
+
+       )
+
+       @/usr/include/bits/inf.h
+
+19 #iâdeà
+_MATH_H
+
+
+25 #ià
+__GNUC_PREREQ
+(3,3)
+
+26 \ 1
+       #INFINITY
+ (
+       `__bu\9et\9a_\9aff
+())
+
+       )
+
+28 \ 1
+       #INFINITY
+HUGE_VALF
+
+
+       )
+
+       @/usr/include/bits/math-finite.h
+
+19 #iâdeà
+_MATH_H
+
+
+24 \r\b
+__REDIRECT_NTH
+ (
+acos
+, (\b), 
+__acos_f\9a\99e
+);
+
+25 #ifdeà
+__USE_ISOC99
+
+
+26 \r\ e
+__REDIRECT_NTH
+ (
+acosf
+, (\ e), 
+__acosf_f\9a\99e
+);
+
+27 #ifdeà
+__MATH_DECLARE_LDOUBLE
+
+
+28 #ifdeà
+__NO_LONG_DOUBLE_MATH
+
+
+29 \r\13\b
+__REDIRECT_NTH
+ (
+aco¦
+, (\13\b), 
+__acos_f\9a\99e
+);
+
+31 \r\13\b
+__REDIRECT_NTH
+ (
+aco¦
+, (\13\b), 
+__aco¦_f\9a\99e
+);
+
+36 #ià
+def\9aed
+__USE_XOPEN_EXTENDED
+ || def\9aed 
+__USE_ISOC99
+
+
+38 \r\b
+__REDIRECT_NTH
+ (
+acosh
+, (\b), 
+__acosh_f\9a\99e
+);
+
+40 #ifdeà
+__USE_ISOC99
+
+
+41 \r\ e
+__REDIRECT_NTH
+ (
+acoshf
+, (\ e), 
+__acoshf_f\9a\99e
+);
+
+42 #ifdeà
+__MATH_DECLARE_LDOUBLE
+
+
+43 #ifdeà
+__NO_LONG_DOUBLE_MATH
+
+
+44 \r\13\b
+__REDIRECT_NTH
+ (
+acoshl
+, (\13\b), 
+__acosh_f\9a\99e
+);
+
+46 \r\13\b
+__REDIRECT_NTH
+ (
+acoshl
+, (\13\b), 
+__acoshl_f\9a\99e
+);
+
+52 \r\b
+__REDIRECT_NTH
+ (
+as\9a
+, (\b), 
+__as\9a_f\9a\99e
+);
+
+53 #ifdeà
+__USE_ISOC99
+
+
+54 \r\ e
+__REDIRECT_NTH
+ (
+as\9af
+, (\ e), 
+__as\9af_f\9a\99e
+);
+
+55 #ifdeà
+__MATH_DECLARE_LDOUBLE
+
+
+56 #ifdeà
+__NO_LONG_DOUBLE_MATH
+
+
+57 \r\13\b
+__REDIRECT_NTH
+ (
+as\9al
+, (\13\b), 
+__as\9a_f\9a\99e
+);
+
+59 \r\13\b
+__REDIRECT_NTH
+ (
+as\9al
+, (\13\b), 
+__as\9al_f\9a\99e
+);
+
+65 \r\b
+__REDIRECT_NTH
+ (
+©ª2
+, (\b\b), 
+__©ª2_f\9a\99e
+);
+
+66 #ifdeà
+__USE_ISOC99
+
+
+67 \r\ e
+__REDIRECT_NTH
+ (
+©ª2f
+, (\ e\ e), 
+__©ª2f_f\9a\99e
+);
+
+68 #ifdeà
+__MATH_DECLARE_LDOUBLE
+
+
+69 #ifdeà
+__NO_LONG_DOUBLE_MATH
+
+
+70 \r\13\b
+__REDIRECT_NTH
+ (
+©ª2l
+, (\13\b\13\b),
+
+71 
+__©ª2_f\9a\99e
+);
+
+73 \r\13\b
+__REDIRECT_NTH
+ (
+©ª2l
+, (\13\b\13\b),
+
+74 
+__©ª2l_f\9a\99e
+);
+
+79 #ià
+def\9aed
+__USE_XOPEN_EXTENDED
+ || def\9aed 
+__USE_ISOC99
+
+
+81 \r\b
+__REDIRECT_NTH
+ (
+©ªh
+, (\b), 
+__©ªh_f\9a\99e
+);
+
+83 #ifdeà
+__USE_ISOC99
+
+
+84 \r\ e
+__REDIRECT_NTH
+ (
+©ªhf
+, (\ e), 
+__©ªhf_f\9a\99e
+);
+
+85 #ifdeà
+__MATH_DECLARE_LDOUBLE
+
+
+86 #ifdeà
+__NO_LONG_DOUBLE_MATH
+
+
+87 \r\13\b
+__REDIRECT_NTH
+ (
+©ªhl
+, (\13\b), 
+__©ªh_f\9a\99e
+);
+
+89 \r\13\b
+__REDIRECT_NTH
+ (
+©ªhl
+, (\13\b), 
+__©ªhl_f\9a\99e
+);
+
+95 \r\b
+__REDIRECT_NTH
+ (
+cosh
+, (\b), 
+__cosh_f\9a\99e
+);
+
+96 #ifdeà
+__USE_ISOC99
+
+
+97 \r\ e
+__REDIRECT_NTH
+ (
+coshf
+, (\ e), 
+__coshf_f\9a\99e
+);
+
+98 #ifdeà
+__MATH_DECLARE_LDOUBLE
+
+
+99 #ifdeà
+__NO_LONG_DOUBLE_MATH
+
+
+100 \r\13\b
+__REDIRECT_NTH
+ (
+coshl
+, (\13\b), 
+__cosh_f\9a\99e
+);
+
+102 \r\13\b
+__REDIRECT_NTH
+ (
+coshl
+, (\13\b), 
+__coshl_f\9a\99e
+);
+
+108 \r\b
+__REDIRECT_NTH
+ (
+exp
+, (\b), 
+__exp_f\9a\99e
+);
+
+109 #ifdeà
+__USE_ISOC99
+
+
+110 \r\ e
+__REDIRECT_NTH
+ (
+expf
+, (\ e), 
+__expf_f\9a\99e
+);
+
+111 #ifdeà
+__MATH_DECLARE_LDOUBLE
+
+
+112 #ifdeà
+__NO_LONG_DOUBLE_MATH
+
+
+113 \r\13\b
+__REDIRECT_NTH
+ (
+ex¶
+, (\13\b), 
+__exp_f\9a\99e
+);
+
+115 \r\13\b
+__REDIRECT_NTH
+ (
+ex¶
+, (\13\b), 
+__ex¶_f\9a\99e
+);
+
+120 #ifdeà
+__USE_GNU
+
+
+122 \r\b
+__REDIRECT_NTH
+ (
+exp10
+, (\b), 
+__exp10_f\9a\99e
+);
+
+123 \r\ e
+__REDIRECT_NTH
+ (
+exp10f
+, (\ e), 
+__exp10f_f\9a\99e
+);
+
+124 #ifdeà
+__MATH_DECLARE_LDOUBLE
+
+
+125 #ifdeà
+__NO_LONG_DOUBLE_MATH
+
+
+126 \r\13\b
+__REDIRECT_NTH
+ (
+exp10l
+, (\13\b), 
+__exp10_f\9a\99e
+);
+
+128 \r\13\b
+__REDIRECT_NTH
+ (
+exp10l
+, (\13\b), 
+__exp10l_f\9a\99e
+);
+
+133 \r\b
+__REDIRECT_NTH
+ (
+pow10
+, (\b), 
+__exp10_f\9a\99e
+);
+
+134 \r\ e
+__REDIRECT_NTH
+ (
+pow10f
+, (\ e), 
+__exp10f_f\9a\99e
+);
+
+135 #ifdeà
+__MATH_DECLARE_LDOUBLE
+
+
+136 #ifdeà
+__NO_LONG_DOUBLE_MATH
+
+
+137 \r\13\b
+__REDIRECT_NTH
+ (
+pow10l
+, (\13\b), 
+__exp10_f\9a\99e
+);
+
+139 \r\13\b
+__REDIRECT_NTH
+ (
+pow10l
+, (\13\b), 
+__exp10l_f\9a\99e
+);
+
+144 #ifdeà
+__USE_ISOC99
+
+
+146 \r\b
+__REDIRECT_NTH
+ (
+exp2
+, (\b), 
+__exp2_f\9a\99e
+);
+
+147 \r\ e
+__REDIRECT_NTH
+ (
+exp2f
+, (\ e), 
+__exp2f_f\9a\99e
+);
+
+148 #ifdeà
+__MATH_DECLARE_LDOUBLE
+
+
+149 #ifdeà
+__NO_LONG_DOUBLE_MATH
+
+
+150 \r\13\b
+__REDIRECT_NTH
+ (
+exp2l
+, (\13\b), 
+__exp2_f\9a\99e
+);
+
+152 \r\13\b
+__REDIRECT_NTH
+ (
+exp2l
+, (\13\b), 
+__exp2l_f\9a\99e
+);
+
+158 \r\b
+__REDIRECT_NTH
+ (
+fmod
+, (\b\b), 
+__fmod_f\9a\99e
+);
+
+159 #ifdeà
+__USE_ISOC99
+
+
+160 \r\ e
+__REDIRECT_NTH
+ (
+fmodf
+, (\ e\ e), 
+__fmodf_f\9a\99e
+);
+
+161 #ifdeà
+__MATH_DECLARE_LDOUBLE
+
+
+162 #ifdeà
+__NO_LONG_DOUBLE_MATH
+
+
+163 \r\13\b
+__REDIRECT_NTH
+ (
+fmodl
+, (\13\b\13\b),
+
+164 
+__fmod_f\9a\99e
+);
+
+166 \r\13\b
+__REDIRECT_NTH
+ (
+fmodl
+, (\13\b\13\b),
+
+167 
+__fmodl_f\9a\99e
+);
+
+172 #ià
+def\9aed
+__USE_XOPEN
+ || def\9aed 
+__USE_ISOC99
+
+
+174 \r\b
+__REDIRECT_NTH
+ (
+hypÙ
+, (\b\b), 
+__hypÙ_f\9a\99e
+);
+
+176 #ifdeà
+__USE_ISOC99
+
+
+177 \r\ e
+__REDIRECT_NTH
+ (
+hypÙf
+, (\ e\ e), 
+__hypÙf_f\9a\99e
+);
+
+178 #ifdeà
+__MATH_DECLARE_LDOUBLE
+
+
+179 #ifdeà
+__NO_LONG_DOUBLE_MATH
+
+
+180 \r\13\b
+__REDIRECT_NTH
+ (
+hypÙl
+, (\13\b\13\b),
+
+181 
+__hypÙ_f\9a\99e
+);
+
+183 \r\13\b
+__REDIRECT_NTH
+ (
+hypÙl
+, (\13\b\13\b),
+
+184 
+__hypÙl_f\9a\99e
+);
+
+189 #ià
+def\9aed
+__USE_MISC
+ || def\9aed 
+__USE_XOPEN
+
+
+191 \r\b
+__REDIRECT_NTH
+ (
+j0
+, (\b), 
+__j0_f\9a\99e
+);
+
+193 #ià
+def\9aed
+__USE_MISC
+ && def\9aed 
+__USE_ISOC99
+
+
+194 \r\ e
+__REDIRECT_NTH
+ (
+j0f
+, (\ e), 
+__j0f_f\9a\99e
+);
+
+195 #ifdeà
+__MATH_DECLARE_LDOUBLE
+
+
+196 #ifdeà
+__NO_LONG_DOUBLE_MATH
+
+
+197 \r\13\b
+__REDIRECT_NTH
+ (
+j0l
+, (\13\b), 
+__j0_f\9a\99e
+);
+
+199 \r\13\b
+__REDIRECT_NTH
+ (
+j0l
+, (\13\b), 
+__j0l_f\9a\99e
+);
+
+204 #ià
+def\9aed
+__USE_MISC
+ || def\9aed 
+__USE_XOPEN
+
+
+206 \r\b
+__REDIRECT_NTH
+ (
+y0
+, (\b), 
+__y0_f\9a\99e
+);
+
+208 #ià
+def\9aed
+__USE_MISC
+ && def\9aed 
+__USE_ISOC99
+
+
+209 \r\ e
+__REDIRECT_NTH
+ (
+y0f
+, (\ e), 
+__y0f_f\9a\99e
+);
+
+210 #ifdeà
+__MATH_DECLARE_LDOUBLE
+
+
+211 #ifdeà
+__NO_LONG_DOUBLE_MATH
+
+
+212 \r\13\b
+__REDIRECT_NTH
+ (
+y0l
+, (\13\b), 
+__y0_f\9a\99e
+);
+
+214 \r\13\b
+__REDIRECT_NTH
+ (
+y0l
+, (\13\b), 
+__y0l_f\9a\99e
+);
+
+219 #ià
+def\9aed
+__USE_MISC
+ || def\9aed 
+__USE_XOPEN
+
+
+221 \r\b
+__REDIRECT_NTH
+ (
+j1
+, (\b), 
+__j1_f\9a\99e
+);
+
+223 #ià
+def\9aed
+__USE_MISC
+ && def\9aed 
+__USE_ISOC99
+
+
+224 \r\ e
+__REDIRECT_NTH
+ (
+j1f
+, (\ e), 
+__j1f_f\9a\99e
+);
+
+225 #ifdeà
+__MATH_DECLARE_LDOUBLE
+
+
+226 #ifdeà
+__NO_LONG_DOUBLE_MATH
+
+
+227 \r\13\b
+__REDIRECT_NTH
+ (
+j1l
+, (\13\b), 
+__j1_f\9a\99e
+);
+
+229 \r\13\b
+__REDIRECT_NTH
+ (
+j1l
+, (\13\b), 
+__j1l_f\9a\99e
+);
+
+234 #ià
+def\9aed
+__USE_MISC
+ || def\9aed 
+__USE_XOPEN
+
+
+236 \r\b
+__REDIRECT_NTH
+ (
+y1
+, (\b), 
+__y1_f\9a\99e
+);
+
+238 #ià
+def\9aed
+__USE_MISC
+ && def\9aed 
+__USE_ISOC99
+
+
+239 \r\ e
+__REDIRECT_NTH
+ (
+y1f
+, (\ e), 
+__y1f_f\9a\99e
+);
+
+240 #ifdeà
+__MATH_DECLARE_LDOUBLE
+
+
+241 #ifdeà
+__NO_LONG_DOUBLE_MATH
+
+
+242 \r\13\b
+__REDIRECT_NTH
+ (
+y1l
+, (\13\b), 
+__y1_f\9a\99e
+);
+
+244 \r\13\b
+__REDIRECT_NTH
+ (
+y1l
+, (\13\b), 
+__y1l_f\9a\99e
+);
+
+249 #ià
+def\9aed
+__USE_MISC
+ || def\9aed 
+__USE_XOPEN
+
+
+251 \r\b
+__REDIRECT_NTH
+ (
+jn
+, (\12\b), 
+__jn_f\9a\99e
+);
+
+253 #ià
+def\9aed
+__USE_MISC
+ && def\9aed 
+__USE_ISOC99
+
+
+254 \r\ e
+__REDIRECT_NTH
+ (
+jnf
+, (\12\ e), 
+__jnf_f\9a\99e
+);
+
+255 #ifdeà
+__MATH_DECLARE_LDOUBLE
+
+
+256 #ifdeà
+__NO_LONG_DOUBLE_MATH
+
+
+257 \r\13\b
+__REDIRECT_NTH
+ (
+jÆ
+, (\12\13\b), 
+__jn_f\9a\99e
+);
+
+259 \r\13\b
+__REDIRECT_NTH
+ (
+jÆ
+, (\12\13\b), 
+__jÆ_f\9a\99e
+);
+
+264 #ià
+def\9aed
+__USE_MISC
+ || def\9aed 
+__USE_XOPEN
+
+
+266 \r\b
+__REDIRECT_NTH
+ (
+yn
+, (\12\b), 
+__yn_f\9a\99e
+);
+
+268 #ià
+def\9aed
+__USE_MISC
+ && def\9aed 
+__USE_ISOC99
+
+
+269 \r\ e
+__REDIRECT_NTH
+ (
+ynf
+, (\12\ e), 
+__ynf_f\9a\99e
+);
+
+270 #ifdeà
+__MATH_DECLARE_LDOUBLE
+
+
+271 #ifdeà
+__NO_LONG_DOUBLE_MATH
+
+
+272 \r\13\b
+__REDIRECT_NTH
+ (
+yÆ
+, (\12\13\b), 
+__yn_f\9a\99e
+);
+
+274 \r\13\b
+__REDIRECT_NTH
+ (
+yÆ
+, (\12\13\b), 
+__yÆ_f\9a\99e
+);
+
+279 #ifdeà
+__USE_MISC
+
+
+281 \r\b
+__REDIRECT_NTH
+ (
+lgamma_r
+, (\b\12*), 
+__lgamma_r_f\9a\99e
+);
+
+282 #ifdeà
+__USE_ISOC99
+
+
+283 \r\ e
+__REDIRECT_NTH
+ (
+lgammaf_r
+, (\ e\12*), 
+__lgammaf_r_f\9a\99e
+);
+
+284 #ifdeà
+__MATH_DECLARE_LDOUBLE
+
+
+285 #ifdeà
+__NO_LONG_DOUBLE_MATH
+
+
+286 \r\13\b
+__REDIRECT_NTH
+ (
+lgamm®_r
+, (\13\b\12*),
+
+287 
+__lgamma_r_f\9a\99e
+);
+
+289 \r\13\b
+__REDIRECT_NTH
+ (
+lgamm®_r
+, (\13\b\12*),
+
+290 
+__lgamm®_r_f\9a\99e
+);
+
+296 \r\b
+__lgamma_r_f\9a\99e
+ (\b\12*);
+
+297 \r\ e
+__lgammaf_r_f\9a\99e
+ (\ e\12*);
+
+298 #ifdeà
+__NO_LONG_DOUBLE_MATH
+
+
+299 \r\13\b
+__REDIRECT_NTH
+ (
+__lgamm®_r_f\9a\99e
+, (\13\b\12*),
+
+300 
+__lgamma_r_f\9a\99e
+);
+
+302 \r\13\b
+__lgamm®_r_f\9a\99e
+ (\13\b\12*);
+
+305 #ià((
+def\9aed
+__USE_XOPEN
+ || def\9aed 
+__USE_ISOC99
+) \
+
+306 && 
+def\9aed
+       g__ex\8bº_®ways_\9al\9ae
+)
+
+308 
+__ex\8bº_®ways_\9al\9ae
\b
+__NTH
+ (
+       $lgamma
+ (\b
+__d
+))
+
+310 #ià
+def\9aed
+__USE_MISC
+ || def\9aed 
+__USE_XOPEN
+
+
+311 \15 
+       `__lgamma_r_f\9a\99e
+ (
+__d
+, &
+signgam
+);
+
+313 \12
+__loÿl_signgam
+ = 0;
+
+314 \15 
+       `__lgamma_r_f\9a\99e
+ (
+__d
+, &
+__loÿl_signgam
+);
+
+316 
+       }
+}
+
+318 #ià
+def\9aed
+__USE_ISOC99
+ && def\9aed 
+__ex\8bº_®ways_\9al\9ae
+
+
+319 
+__ex\8bº_®ways_\9al\9ae
\ e
+__NTH
+ (
+       $lgammaf
+ (\ e
+__d
+))
+
+321 #ià
+def\9aed
+__USE_MISC
+ || def\9aed 
+__USE_XOPEN
+
+
+322 \15 
+       `__lgammaf_r_f\9a\99e
+ (
+__d
+, &
+signgam
+);
+
+324 \12
+__loÿl_signgam
+ = 0;
+
+325 \15 
+       `__lgammaf_r_f\9a\99e
+ (
+__d
+, &
+__loÿl_signgam
+);
+
+327 
+       }
+}
+
+328 #ifdeà
+__MATH_DECLARE_LDOUBLE
+
+
+329 
+__ex\8bº_®ways_\9al\9ae
\13\b
+__NTH
+ (
+       $lgamm®
+ (\13\b
+__d
+))
+
+331 #ià
+def\9aed
+__USE_MISC
+ || def\9aed 
+__USE_XOPEN
+
+
+332 \15 
+       `__lgamm®_r_f\9a\99e
+ (
+__d
+, &
+signgam
+);
+
+334 \12
+__loÿl_signgam
+ = 0;
+
+335 \15 
+       `__lgamm®_r_f\9a\99e
+ (
+__d
+, &
+__loÿl_signgam
+);
+
+337 
+       }
+}
+
+341 #ià((
+def\9aed
+__USE_MISC
+ || (def\9aed 
+__USE_XOPEN
+ && !def\9aed 
+__USE_XOPEN2K
+)) \
+
+342 && 
+def\9aed
+       g__ex\8bº_®ways_\9al\9ae
+)
+
+344 
+__ex\8bº_®ways_\9al\9ae
\b
+__NTH
+ (
+       $gamma
+ (\b
+__d
+))
+
+346 \15 
+       `__lgamma_r_f\9a\99e
+ (
+__d
+, &
+signgam
+);
+
+347 
+       }
+}
+
+348 #ifdeà
+__USE_ISOC99
+
+
+349 
+__ex\8bº_®ways_\9al\9ae
\ e
+__NTH
+ (
+       $gammaf
+ (\ e
+__d
+))
+
+351 \15 
+       `__lgammaf_r_f\9a\99e
+ (
+__d
+, &
+signgam
+);
+
+352 
+       }
+}
+
+353 #ifdeà
+__MATH_DECLARE_LDOUBLE
+
+
+354 
+__ex\8bº_®ways_\9al\9ae
\13\b
+__NTH
+ (
+       $gamm®
+ (\13\b
+__d
+))
+
+356 \15 
+       `__lgamm®_r_f\9a\99e
+ (
+__d
+, &
+signgam
+);
+
+357 
+       }
+}
+
+363 \r\b
+__REDIRECT_NTH
+ (
+log
+, (\b), 
+__log_f\9a\99e
+);
+
+364 #ifdeà
+__USE_ISOC99
+
+
+365 \r\ e
+__REDIRECT_NTH
+ (
+logf
+, (\ e), 
+__logf_f\9a\99e
+);
+
+366 #ifdeà
+__MATH_DECLARE_LDOUBLE
+
+
+367 #ifdeà
+__NO_LONG_DOUBLE_MATH
+
+
+368 \r\13\b
+__REDIRECT_NTH
+ (
+logl
+, (\13\b), 
+__log_f\9a\99e
+);
+
+370 \r\13\b
+__REDIRECT_NTH
+ (
+logl
+, (\13\b), 
+__logl_f\9a\99e
+);
+
+376 \r\b
+__REDIRECT_NTH
+ (
+log10
+, (\b), 
+__log10_f\9a\99e
+);
+
+377 #ifdeà
+__USE_ISOC99
+
+
+378 \r\ e
+__REDIRECT_NTH
+ (
+log10f
+, (\ e), 
+__log10f_f\9a\99e
+);
+
+379 #ifdeà
+__MATH_DECLARE_LDOUBLE
+
+
+380 #ifdeà
+__NO_LONG_DOUBLE_MATH
+
+
+381 \r\13\b
+__REDIRECT_NTH
+ (
+log10l
+, (\13\b), 
+__log10_f\9a\99e
+);
+
+383 \r\13\b
+__REDIRECT_NTH
+ (
+log10l
+, (\13\b), 
+__log10l_f\9a\99e
+);
+
+388 #ifdeà
+__USE_ISOC99
+
+
+390 \r\b
+__REDIRECT_NTH
+ (
+log2
+, (\b), 
+__log2_f\9a\99e
+);
+
+391 \r\ e
+__REDIRECT_NTH
+ (
+log2f
+, (\ e), 
+__log2f_f\9a\99e
+);
+
+392 #ifdeà
+__MATH_DECLARE_LDOUBLE
+
+
+393 #ifdeà
+__NO_LONG_DOUBLE_MATH
+
+
+394 \r\13\b
+__REDIRECT_NTH
+ (
+log2l
+, (\13\b), 
+__log2_f\9a\99e
+);
+
+396 \r\13\b
+__REDIRECT_NTH
+ (
+log2l
+, (\13\b), 
+__log2l_f\9a\99e
+);
+
+402 \r\b
+__REDIRECT_NTH
+ (
+pow
+, (\b\b), 
+__pow_f\9a\99e
+);
+
+403 #ifdeà
+__USE_ISOC99
+
+
+404 \r\ e
+__REDIRECT_NTH
+ (
+powf
+, (\ e\ e), 
+__powf_f\9a\99e
+);
+
+405 #ifdeà
+__MATH_DECLARE_LDOUBLE
+
+
+406 #ifdeà
+__NO_LONG_DOUBLE_MATH
+
+
+407 \r\13\b
+__REDIRECT_NTH
+ (
+powl
+, (\13\b\13\b),
+
+408 
+__pow_f\9a\99e
+);
+
+410 \r\13\b
+__REDIRECT_NTH
+ (
+powl
+, (\13\b\13\b),
+
+411 
+__powl_f\9a\99e
+);
+
+416 #ià
+def\9aed
+__USE_XOPEN_EXTENDED
+ || def\9aed 
+__USE_ISOC99
+
+
+418 \r\b
+__REDIRECT_NTH
+ (
+»ma\9ad\94
+, (\b\b), 
+__»ma\9ad\94_f\9a\99e
+);
+
+420 #ifdeà
+__USE_ISOC99
+
+
+421 \r\ e
+__REDIRECT_NTH
+ (
+»ma\9ad\94f
+, (\ e\ e), 
+__»ma\9ad\94f_f\9a\99e
+);
+
+422 #ifdeà
+__MATH_DECLARE_LDOUBLE
+
+
+423 #ifdeà
+__NO_LONG_DOUBLE_MATH
+
+
+424 \r\13\b
+__REDIRECT_NTH
+ (
+»ma\9ad\94l
+, (\13\b\13\b),
+
+425 
+__»ma\9ad\94_f\9a\99e
+);
+
+427 \r\13\b
+__REDIRECT_NTH
+ (
+»ma\9ad\94l
+, (\13\b\13\b),
+
+428 
+__»ma\9ad\94l_f\9a\99e
+);
+
+433 #ià(
+def\9aed
+__USE_MISC
+ \
+
+434 || (
+def\9aed
+       g__USE_XOPEN_EXTENDED
+ && !def\9aed 
+       g__USE_XOPEN2K8
+))
+
+436 \r\b
+__REDIRECT_NTH
+ (
+sÿlb
+, (\b\b), 
+__sÿlb_f\9a\99e
+);
+
+438 #ià
+def\9aed
+__USE_MISC
+ && def\9aed 
+__USE_ISOC99
+
+
+439 \r\ e
+__REDIRECT_NTH
+ (
+sÿlbf
+, (\ e\ e), 
+__sÿlbf_f\9a\99e
+);
+
+440 #ifdeà
+__MATH_DECLARE_LDOUBLE
+
+
+441 #ifdeà
+__NO_LONG_DOUBLE_MATH
+
+
+442 \r\13\b
+__REDIRECT_NTH
+ (
+sÿlbl
+, (\13\b\13\b),
+
+443 
+__sÿlb_f\9a\99e
+);
+
+445 \r\13\b
+__REDIRECT_NTH
+ (
+sÿlbl
+, (\13\b\13\b),
+
+446 
+__sÿlbl_f\9a\99e
+);
+
+452 \r\b
+__REDIRECT_NTH
+ (
+s\9ah
+, (\b), 
+__s\9ah_f\9a\99e
+);
+
+453 #ifdeà
+__USE_ISOC99
+
+
+454 \r\ e
+__REDIRECT_NTH
+ (
+s\9ahf
+, (\ e), 
+__s\9ahf_f\9a\99e
+);
+
+455 #ifdeà
+__MATH_DECLARE_LDOUBLE
+
+
+456 #ifdeà
+__NO_LONG_DOUBLE_MATH
+
+
+457 \r\13\b
+__REDIRECT_NTH
+ (
+s\9ahl
+, (\13\b), 
+__s\9ah_f\9a\99e
+);
+
+459 \r\13\b
+__REDIRECT_NTH
+ (
+s\9ahl
+, (\13\b), 
+__s\9ahl_f\9a\99e
+);
+
+465 \r\b
+__REDIRECT_NTH
+ (
+sq¹
+, (\b), 
+__sq¹_f\9a\99e
+);
+
+466 #ifdeà
+__USE_ISOC99
+
+
+467 \r\ e
+__REDIRECT_NTH
+ (
+sq¹f
+, (\ e), 
+__sq¹f_f\9a\99e
+);
+
+468 #ifdeà
+__MATH_DECLARE_LDOUBLE
+
+
+469 #ifdeà
+__NO_LONG_DOUBLE_MATH
+
+
+470 \r\13\b
+__REDIRECT_NTH
+ (
+sq¹l
+, (\13\b), 
+__sq¹_f\9a\99e
+);
+
+472 \r\13\b
+__REDIRECT_NTH
+ (
+sq¹l
+, (\13\b), 
+__sq¹l_f\9a\99e
+);
+
+477 #ià
+def\9aed
+__USE_ISOC99
+ && def\9aed 
+__ex\8bº_®ways_\9al\9ae
+
+
+479 \r\b
+__gamma_r_f\9a\99e
+ (\b\12*);
+
+480 
+__ex\8bº_®ways_\9al\9ae
\b
+__NTH
+ (
+       $tgamma
+ (\b
+__d
+))
+
+482 \12
+__loÿl_signgam
+ = 0;
+
+483 \b
+__»s
+ = 
+       `__gamma_r_f\9a\99e
+ (
+__d
+, &
+__loÿl_signgam
+);
+
+484 \15 
+__loÿl_signgam
+ < 0 ? -
+__»s
+ : __res;
+
+485 
+       }
+}
+
+486 \r\ e
+__gammaf_r_f\9a\99e
+ (\ e\12*);
+
+487 
+__ex\8bº_®ways_\9al\9ae
\ e
+__NTH
+ (
+       $tgammaf
+ (\ e
+__d
+))
+
+489 \12
+__loÿl_signgam
+ = 0;
+
+490 \ e
+__»s
+ = 
+       `__gammaf_r_f\9a\99e
+ (
+__d
+, &
+__loÿl_signgam
+);
+
+491 \15 
+__loÿl_signgam
+ < 0 ? -
+__»s
+ : __res;
+
+492 
+       }
+}
+
+493 #ifdeà
+__MATH_DECLARE_LDOUBLE
+
+
+494 \r\13\b
+__gamm®_r_f\9a\99e
+ (\13\b\12*);
+
+495 
+__ex\8bº_®ways_\9al\9ae
\13\b
+__NTH
+ (
+       $tgamm®
+ (\13\b
+__d
+))
+
+497 \12
+__loÿl_signgam
+ = 0;
+
+498 #ifdeà
+__NO_LONG_DOUBLE_MATH
+
+
+499 \13\b
+__»s
+ = 
+       `__gamma_r_f\9a\99e
+ (
+__d
+, &
+__loÿl_signgam
+);
+
+501 \13\b
+__»s
+ = 
+       `__gamm®_r_f\9a\99e
+ (
+__d
+, &
+__loÿl_signgam
+);
+
+503 \15 
+__loÿl_signgam
+ < 0 ? -
+__»s
+ : __res;
+
+504 
+       }
+}
+
+       @/usr/include/bits/math-vector.h
+
+19 #iâdeà
+_MATH_H
+
+
+25 \ 2
+       ~<b\99s/libm-simd-deþ-¡ubs.h
+>
+
+27 #ià
+def\9aed
+__x86_64__
+ && def\9aed 
+__FAST_MATH__
+
+
+28 #ià
+def\9aed
+_OPENMP
+ && _OPENMP >= 201307
+
+30 \ 1
+       #__DECL_SIMD_x86_64
+       `_P¿gma
+ ("om°deþ¬\90simd\82Ù\9ab¿nch")
+
+       )
+
+31 #\96
+__GNUC_PREREQ
+ (6,0)
+
+33 \ 1
+       #__DECL_SIMD_x86_64
+       `__©\8cibu\8b__
+ ((
+       `__simd__
+ ("nÙ\9ab¿nch")))
+
+       )
+
+36 #ifdeà
+__DECL_SIMD_x86_64
+
+
+37 #undeà
+__DECL_SIMD_cos
+
+
+38 \ 1
+       #__DECL_SIMD_cos
+__DECL_SIMD_x86_64
+
+
+       )
+
+39 #undeà
+__DECL_SIMD_cosf
+
+
+40 \ 1
+       #__DECL_SIMD_cosf
+__DECL_SIMD_x86_64
+
+
+       )
+
+41 #undeà
+__DECL_SIMD_s\9a
+
+
+42 \ 1
+       #__DECL_SIMD_s\9a
+__DECL_SIMD_x86_64
+
+
+       )
+
+43 #undeà
+__DECL_SIMD_s\9af
+
+
+44 \ 1
+       #__DECL_SIMD_s\9af
+__DECL_SIMD_x86_64
+
+
+       )
+
+45 #undeà
+__DECL_SIMD_s\9acos
+
+
+46 \ 1
+       #__DECL_SIMD_s\9acos
+__DECL_SIMD_x86_64
+
+
+       )
+
+47 #undeà
+__DECL_SIMD_s\9acosf
+
+
+48 \ 1
+       #__DECL_SIMD_s\9acosf
+__DECL_SIMD_x86_64
+
+
+       )
+
+49 #undeà
+__DECL_SIMD_log
+
+
+50 \ 1
+       #__DECL_SIMD_log
+__DECL_SIMD_x86_64
+
+
+       )
+
+51 #undeà
+__DECL_SIMD_logf
+
+
+52 \ 1
+       #__DECL_SIMD_logf
+__DECL_SIMD_x86_64
+
+
+       )
+
+53 #undeà
+__DECL_SIMD_exp
+
+
+54 \ 1
+       #__DECL_SIMD_exp
+__DECL_SIMD_x86_64
+
+
+       )
+
+55 #undeà
+__DECL_SIMD_expf
+
+
+56 \ 1
+       #__DECL_SIMD_expf
+__DECL_SIMD_x86_64
+
+
+       )
+
+57 #undeà
+__DECL_SIMD_pow
+
+
+58 \ 1
+       #__DECL_SIMD_pow
+__DECL_SIMD_x86_64
+
+
+       )
+
+59 #undeà
+__DECL_SIMD_powf
+
+
+60 \ 1
+       #__DECL_SIMD_powf
+__DECL_SIMD_x86_64
+
+
+       )
+
+       @/usr/include/bits/mathcalls.h
+
+45 #iâdeà
+_MATH_H
+
+
+52 
+_MdoubË_BEGIN_NAMESPACE
+
+
+54 
+__MATHCALL
+ (
+acos
+,, (
+_MdoubË_
+__x
+));
+
+56 
+__MATHCALL
+ (
+as\9a
+,, (
+_MdoubË_
+__x
+));
+
+58 
+__MATHCALL
+ (
+©ª
+,, (
+_MdoubË_
+__x
+));
+
+60 
+__MATHCALL
+ (
+©ª2
+,, (
+_MdoubË_
+__y
+, _MdoubË_ 
+__x
+));
+
+63 
+__MATHCALL_VEC
+ (
+cos
+,, (
+_MdoubË_
+__x
+));
+
+65 
+__MATHCALL_VEC
+ (
+s\9a
+,, (
+_MdoubË_
+__x
+));
+
+67 
+__MATHCALL
+ (
+\8fn
+,, (
+_MdoubË_
+__x
+));
+
+72 
+__MATHCALL
+ (
+cosh
+,, (
+_MdoubË_
+__x
+));
+
+74 
+__MATHCALL
+ (
+s\9ah
+,, (
+_MdoubË_
+__x
+));
+
+76 
+__MATHCALL
+ (
+\8fnh
+,, (
+_MdoubË_
+__x
+));
+
+77 
+       g_MdoubË_END_NAMESPACE
+
+
+79 #ifdeà
+__USE_GNU
+
+
+81 
+__MATHDECL_VEC
+ (\1e,
+s\9acos
+,,
+
+82 (
+_MdoubË_
+__x
+, _MdoubË_ *
+__s\9ax
+, _MdoubË_ *
+__cosx
+));
+
+85 #ià
+def\9aed
+__USE_XOPEN_EXTENDED
+ || def\9aed 
+__USE_ISOC99
+
+
+86 
+__BEGIN_NAMESPACE_C99
+
+
+88 
+__MATHCALL
+ (
+acosh
+,, (
+_MdoubË_
+__x
+));
+
+90 
+__MATHCALL
+ (
+as\9ah
+,, (
+_MdoubË_
+__x
+));
+
+92 
+__MATHCALL
+ (
+©ªh
+,, (
+_MdoubË_
+__x
+));
+
+93 
+       g__END_NAMESPACE_C99
+
+
+98 
+_MdoubË_BEGIN_NAMESPACE
+
+
+100 
+__MATHCALL_VEC
+ (
+exp
+,, (
+_MdoubË_
+__x
+));
+
+103 
+__MATHCALL
+ (
+äexp
+,, (
+_MdoubË_
+__x
+, \12*
+__expڒt
+));
+
+106 
+__MATHCALL
+ (
+ldexp
+,, (
+_MdoubË_
+__x
+, \12
+__expڒt
+));
+
+109 
+__MATHCALL_VEC
+ (
+log
+,, (
+_MdoubË_
+__x
+));
+
+112 
+__MATHCALL
+ (
+log10
+,, (
+_MdoubË_
+__x
+));
+
+115 
+__MATHCALL
+ (
+modf
+,, (
+_MdoubË_
+__x
+, _MdoubË_ *
+__\9d\8c
+)è
+__nÚnuÎ
+ ((2));
+
+116 
+       g_MdoubË_END_NAMESPACE
+
+
+118 #ifdeà
+__USE_GNU
+
+
+120 
+__MATHCALL
+ (
+exp10
+,, (
+_MdoubË_
+__x
+));
+
+122 
+__MATHCALL
+ (
+pow10
+,, (
+_MdoubË_
+__x
+));
+
+125 #ià
+def\9aed
+__USE_XOPEN_EXTENDED
+ || def\9aed 
+__USE_ISOC99
+
+
+126 
+__BEGIN_NAMESPACE_C99
+
+
+128 
+__MATHCALL
+ (
+expm1
+,, (
+_MdoubË_
+__x
+));
+
+131 
+__MATHCALL
+ (
+log1p
+,, (
+_MdoubË_
+__x
+));
+
+134 
+__MATHCALL
+ (
+logb
+,, (
+_MdoubË_
+__x
+));
+
+135 
+       g__END_NAMESPACE_C99
+
+
+138 #ifdeà
+__USE_ISOC99
+
+
+139 
+__BEGIN_NAMESPACE_C99
+
+
+141 
+__MATHCALL
+ (
+exp2
+,, (
+_MdoubË_
+__x
+));
+
+144 
+__MATHCALL
+ (
+log2
+,, (
+_MdoubË_
+__x
+));
+
+145 
+       g__END_NAMESPACE_C99
+
+
+151 
+_MdoubË_BEGIN_NAMESPACE
+
+
+153 
+__MATHCALL_VEC
+ (
+pow
+,, (
+_MdoubË_
+__x
+, _MdoubË_ 
+__y
+));
+
+156 
+__MATHCALL
+ (
+sq¹
+,, (
+_MdoubË_
+__x
+));
+
+157 
+       g_MdoubË_END_NAMESPACE
+
+
+159 #ià
+def\9aed
+__USE_XOPEN
+ || def\9aed 
+__USE_ISOC99
+
+
+160 
+__BEGIN_NAMESPACE_C99
+
+
+162 
+__MATHCALL
+ (
+hypÙ
+,, (
+_MdoubË_
+__x
+, _MdoubË_ 
+__y
+));
+
+163 
+       g__END_NAMESPACE_C99
+
+
+166 #ià
+def\9aed
+__USE_XOPEN_EXTENDED
+ || def\9aed 
+__USE_ISOC99
+
+
+167 
+__BEGIN_NAMESPACE_C99
+
+
+169 
+__MATHCALL
+ (
+cb¹
+,, (
+_MdoubË_
+__x
+));
+
+170 
+       g__END_NAMESPACE_C99
+
+
+176 
+_MdoubË_BEGIN_NAMESPACE
+
+
+178 
+__MATHCALLX
+ (
\9e
+,, (
+_MdoubË_
+__x
+), (
+__cڡ__
+));
+
+181 
+__MATHCALLX
+ (
+çbs
+,, (
+_MdoubË_
+__x
+), (
+__cڡ__
+));
+
+184 
+__MATHCALLX
+ (
+æoÜ
+,, (
+_MdoubË_
+__x
+), (
+__cڡ__
+));
+
+187 
+__MATHCALL
+ (
+fmod
+,, (
+_MdoubË_
+__x
+, _MdoubË_ 
+__y
+));
+
+192 
+__MATHDECL_1
+ (\12,
+__is\9af
+,, (
+_MdoubË_
+__v®ue
+)è
+__©\8cibu\8b__
+ ((
+__cڡ__
+));
+
+195 
+__MATHDECL_1
+ (\12,
+__f\9a\99e
+,, (
+_MdoubË_
+__v®ue
+)è
+__©\8cibu\8b__
+ ((
+__cڡ__
+));
+
+196 
+       g_MdoubË_END_NAMESPACE
+
+
+198 #ifdeà
+__USE_MISC
+
+
+199 #ià(!
+def\9aed
+__ýlu¥lus
+ \
+
+200 || 
+       g__ýlu¥lus
+ < 201103L \
+
+201 || 
+       g__MATH_DECLARING_DOUBLE
+ == 0)
+
+204 
+__MATHDECL_1
+ (\12,
+is\9af
+,, (
+_MdoubË_
+__v®ue
+)è
+__©\8cibu\8b__
+ ((
+__cڡ__
+));
+
+208 
+__MATHDECL_1
+ (\12,
+f\9a\99e
+,, (
+_MdoubË_
+__v®ue
+)è
+__©\8cibu\8b__
+ ((
+__cڡ__
+));
+
+211 
+__MATHCALL
+ (
+d»m
+,, (
+_MdoubË_
+__x
+, _MdoubË_ 
+__y
+));
+
+215 
+__MATHCALL
+ (
+signifiÿnd
+,, (
+_MdoubË_
+__x
+));
+
+218 #ifdeà
+__USE_ISOC99
+
+
+219 
+__BEGIN_NAMESPACE_C99
+
+
+221 
+__MATHCALLX
+ (
+cÝysign
+,, (
+_MdoubË_
+__x
+, _MdoubË_ 
+__y
+), (
+__cڡ__
+));
+
+222 
+       g__END_NAMESPACE_C99
+
+
+225 #ifdeà
+__USE_ISOC99
+
+
+226 
+__BEGIN_NAMESPACE_C99
+
+
+228 
+__MATHCALLX
+ (
+Çn
+,, (cڡ \ 5*
+__\8fgb
+), (
+__cڡ__
+));
+
+229 
+       g__END_NAMESPACE_C99
+
+
+234 
+__MATHDECL_1
+ (\12,
+__i¢ª
+,, (
+_MdoubË_
+__v®ue
+)è
+__©\8cibu\8b__
+ ((
+__cڡ__
+));
+
+236 #ià
+def\9aed
+__USE_MISC
+ || (def\9aed 
+__USE_XOPEN
+ && !def\9aed 
+__USE_XOPEN2K
+)
+
+237 #ià(!
+def\9aed
+__ýlu¥lus
+ \
+
+238 || 
+       g__ýlu¥lus
+ < 201103L \
+
+239 || 
+       g__MATH_DECLARING_DOUBLE
+ == 0)
+
+241 
+__MATHDECL_1
+ (\12,
+i¢ª
+,, (
+_MdoubË_
+__v®ue
+)è
+__©\8cibu\8b__
+ ((
+__cڡ__
+));
+
+245 #ià
+def\9aed
+__USE_MISC
+ || (def\9aed 
+__USE_XOPEN
+ && 
+__MATH_DECLARING_DOUBLE
+)
+
+247 
+__MATHCALL
+ (
+j0
+,, (
+_MdoubË_
+));
+
+248 
+__MATHCALL
+ (
+j1
+,, (
+_MdoubË_
+));
+
+249 
+__MATHCALL
+ (
+jn
+,, (\12
+_MdoubË_
+));
+
+250 
+__MATHCALL
+ (
+y0
+,, (
+_MdoubË_
+));
+
+251 
+__MATHCALL
+ (
+y1
+,, (
+_MdoubË_
+));
+
+252 
+__MATHCALL
+ (
+yn
+,, (\12
+_MdoubË_
+));
+
+256 #ià
+def\9aed
+__USE_XOPEN
+ || def\9aed 
+__USE_ISOC99
+
+
+257 
+__BEGIN_NAMESPACE_C99
+
+
+259 
+__MATHCALL
+ (
+\94f
+,, (
+_MdoubË_
+));
+
+260 
+__MATHCALL
+ (
+\94fc
+,, (
+_MdoubË_
+));
+
+261 
+__MATHCALL
+ (
+lgamma
+,, (
+_MdoubË_
+));
+
+262 
+       g__END_NAMESPACE_C99
+
+
+265 #ifdeà
+__USE_ISOC99
+
+
+266 
+__BEGIN_NAMESPACE_C99
+
+
+268 
+__MATHCALL
+ (
+tgamma
+,, (
+_MdoubË_
+));
+
+269 
+       g__END_NAMESPACE_C99
+
+
+272 #ià
+def\9aed
+__USE_MISC
+ || (def\9aed 
+__USE_XOPEN
+ && !def\9aed 
+__USE_XOPEN2K
+)
+
+274 
+__MATHCALL
+ (
+gamma
+,, (
+_MdoubË_
+));
+
+277 #ifdeà
+__USE_MISC
+
+
+281 
+__MATHCALL
+ (
+lgamma
+,
+_r
+, (
+_MdoubË_
+, \12*
+__signgamp
+));
+
+285 #ià
+def\9aed
+__USE_XOPEN_EXTENDED
+ || def\9aed 
+__USE_ISOC99
+
+
+286 
+__BEGIN_NAMESPACE_C99
+
+
+289 
+__MATHCALL
+ (
+r\9at
+,, (
+_MdoubË_
+__x
+));
+
+292 
+__MATHCALLX
+ (
+Ãx\8fá\94
+,, (
+_MdoubË_
+__x
+, _MdoubË_ 
+__y
+), (
+__cڡ__
+));
+
+293 #ià
+def\9aed
+__USE_ISOC99
+ && !def\9aed 
+__LDBL_COMPAT
+
+
+294 
+__MATHCALLX
+ (
+Ãx\89ow¬d
+,, (
+_MdoubË_
+__x
+, \13\b
+__y
+), (
+__cڡ__
+));
+
+298 
+__MATHCALL
+ (
+»ma\9ad\94
+,, (
+_MdoubË_
+__x
+, _MdoubË_ 
+__y
+));
+
+300 #ifdeà
+__USE_ISOC99
+
+
+302 
+__MATHCALL
+ (
+sÿlbn
+,, (
+_MdoubË_
+__x
+, \12
+__n
+));
+
+306 
+__MATHDECL
+ (\12,
+\9eogb
+,, (
+_MdoubË_
+__x
+));
+
+309 #ifdeà
+__USE_ISOC99
+
+
+311 
+__MATHCALL
+ (
+sÿlbÊ
+,, (
+_MdoubË_
+__x
+, \13\12
+__n
+));
+
+315 
+__MATHCALL
+ (
+ìby\9at
+,, (
+_MdoubË_
+__x
+));
+
+319 
+__MATHCALLX
+ (
+round
+,, (
+_MdoubË_
+__x
+), (
+__cڡ__
+));
+
+323 
+__MATHCALLX
+ (
+\8cunc
+,, (
+_MdoubË_
+__x
+), (
+__cڡ__
+));
+
+328 
+__MATHCALL
+ (
+»mquo
+,, (
+_MdoubË_
+__x
+, _MdoubË_ 
+__y
+, \12*
+__quo
+));
+
+335 
+__MATHDECL
+ (\13\12,
+̚t
+,, (
+_MdoubË_
+__x
+));
+
+336 
+__ex\8bnsiÚ__
+
+
+337 
+__MATHDECL
+ (\13\13\12,
+Îr\9at
+,, (
+_MdoubË_
+__x
+));
+
+341 
+__MATHDECL
+ (\13\12,
+Ìound
+,, (
+_MdoubË_
+__x
+));
+
+342 
+__ex\8bnsiÚ__
+
+
+343 
+__MATHDECL
+ (\13\13\12,
+Îround
+,, (
+_MdoubË_
+__x
+));
+
+347 
+__MATHCALL
+ (
+fdim
+,, (
+_MdoubË_
+__x
+, _MdoubË_ 
+__y
+));
+
+350 
+__MATHCALLX
+ (
+fmax
+,, (
+_MdoubË_
+__x
+, _MdoubË_ 
+__y
+), (
+__cڡ__
+));
+
+353 
+__MATHCALLX
+ (
+fm\9a
+,, (
+_MdoubË_
+__x
+, _MdoubË_ 
+__y
+), (
+__cڡ__
+));
+
+357 
+__MATHDECL_1
+ (\12
+__åþassify
+,, (
+_MdoubË_
+__v®ue
+))
+
+358 
+__©\8cibu\8b__
+ ((
+__cڡ__
+));
+
+361 
+__MATHDECL_1
+ (\12
+__signb\99
+,, (
+_MdoubË_
+__v®ue
+))
+
+362 
+__©\8cibu\8b__
+ ((
+__cڡ__
+));
+
+366 
+__MATHCALL
+ (
+fma
+,, (
+_MdoubË_
+__x
+, _MdoubË_ 
+__y
+, _MdoubË_ 
+__z
+));
+
+369 #ià
+def\9aed
+__USE_XOPEN_EXTENDED
+ || def\9aed 
+__USE_ISOC99
+
+
+370 
+       g__END_NAMESPACE_C99
+
+
+373 #ifdeà
+__USE_GNU
+
+
+375 
+__MATHDECL_1
+ (\12
+__issigÇl\9ag
+,, (
+_MdoubË_
+__v®ue
+))
+
+376 
+__©\8cibu\8b__
+ ((
+__cڡ__
+));
+
+379 #ià
+def\9aed
+__USE_MISC
+ || (def\9aed 
+__USE_XOPEN_EXTENDED
+ \
+
+380 && 
+       g__MATH_DECLARING_DOUBLE
+ \
+
+381 && !
+def\9aed
+       g__USE_XOPEN2K8
+)
+
+383 
+__MATHCALL
+ (
+sÿlb
+,, (
+_MdoubË_
+__x
+, _MdoubË_ 
+__n
+));
+
+       @/usr/include/bits/mathdef.h
+
+18 #ià!
+def\9aed
+_MATH_H
+ && !def\9aed 
+_COMPLEX_H
+
+
+22 #ià
+def\9aed
+__USE_ISOC99
+ && def\9aed 
+_MATH_H
+ && !def\9aed 
+_MATH_H_MATHDEF
+
+
+23 \ 1
+       #_MATH_H_MATHDEF
+ 1
+
+       )
+
+25 #ià
+def\9aed
+__x86_64__
+ || (def\9aed 
+__FLT_EVAL_METHOD__
+ && __FLT_EVAL_METHOD__ == 0)
+
+28 \e\ e
+       tæßt_t
+;
+
+29 \e\b
+       tdoubË_t
+;
+
+35 \e\13\b
+       tæßt_t
+;
+
+37 \e\13\b
+       tdoubË_t
+;
+
+42 \ 1
+       #FP_ILOGB0
+ (-2147483647 - 1)
+
+       )
+
+43 \ 1
+       #FP_ILOGBNAN
+ (-2147483647 - 1)
+
+       )
+
+47 #ifdeà
+__FP_FAST_FMA
+
+
+48 \ 1
+       #FP_FAST_FMA
+ 1
+
+       )
+
+51 #ifdeà
+__FP_FAST_FMAF
+
+
+52 \ 1
+       #FP_FAST_FMAF
+ 1
+
+       )
+
+55 #ifdeà
+__FP_FAST_FMAL
+
+
+56 \ 1
+       #FP_FAST_FMAL
+ 1
+
+       )
+
+       @/usr/include/bits/mathinline.h
+
+19 #iâdeà
+_MATH_H
+
+
+23 #iâdeà
+__ex\8bº_®ways_\9al\9ae
+
+
+24 \ 1
+       #__MATH_INLINE
+__\9al\9ae
+
+
+       )
+
+26 \ 1
+       #__MATH_INLINE
+__ex\8bº_®ways_\9al\9ae
+
+
+       )
+
+30 #ià
+def\9aed
+__USE_ISOC99
+ && def\9aed 
+__GNUC__
+ && __GNUC__ >= 2
+
+32 #ià!
+__GNUC_PREREQ
+ (2,97)
+
+37 #undeà
+isg»©\94
+
+
+38 #undeà
+isg»©\94equ®
+
+
+39 #undeà
+i¦ess
+
+
+40 #undeà
+i¦es£qu®
+
+
+41 #undeà
+i¦essg»©\94
+
+
+42 #undeà
+isunÜd\94ed
+
+
+43 #ifdeà
+__i686__
+
+
+46 \ 1
+       #isg»©\94
+(
+x
+, 
+y
+) \
+
+47 ({ \14\ 5
+__»suÉ
+; \
+
+48 
+       `__asm__
+ ("fucomip %%st(1), %%st; seta %%al" \
+
+49 : "÷" (
+__»suÉ
+è: "u" (
+y
+), "t" (
+x
+) : "cc", "st"); \
+
+50 
+__»suÉ
+; })
+
+       )
+
+51 \ 1
+       #isg»©\94equ®
+(
+x
+, 
+y
+) \
+
+52 ({ \14\ 5
+__»suÉ
+; \
+
+53 
+       `__asm__
+ ("fucomip %%st(1), %%st; setae %%al" \
+
+54 : "÷" (
+__»suÉ
+è: "u" (
+y
+), "t" (
+x
+) : "cc", "st"); \
+
+55 
+__»suÉ
+; })
+
+       )
+
+57 \ 1
+       #i¦ess
+(
+x
+, 
+y
+) \
+
+58 ({ \14\ 5
+__»suÉ
+; \
+
+59 
+       `__asm__
+ ("fucomip %%st(1), %%st; seta %%al" \
+
+60 : "÷" (
+__»suÉ
+è: "u" (
+x
+), "t" (
+y
+) : "cc", "st"); \
+
+61 
+__»suÉ
+; })
+
+       )
+
+63 \ 1
+       #i¦es£qu®
+(
+x
+, 
+y
+) \
+
+64 ({ \14\ 5
+__»suÉ
+; \
+
+65 
+       `__asm__
+ ("fucomip %%st(1), %%st; setae %%al" \
+
+66 : "÷" (
+__»suÉ
+è: "u" (
+x
+), "t" (
+y
+) : "cc", "st"); \
+
+67 
+__»suÉ
+; })
+
+       )
+
+69 \ 1
+       #i¦essg»©\94
+(
+x
+, 
+y
+) \
+
+70 ({ \14\ 5
+__»suÉ
+; \
+
+71 
+       `__asm__
+ ("fucomip %%st(1), %%st; setne %%al" \
+
+72 : "÷" (
+__»suÉ
+è: "u" (
+y
+), "t" (
+x
+) : "cc", "st"); \
+
+73 
+__»suÉ
+; })
+
+       )
+
+75 \ 1
+       #isunÜd\94ed
+(
+x
+, 
+y
+) \
+
+76 ({ \14\ 5
+__»suÉ
+; \
+
+77 
+       `__asm__
+ ("fucomip %%st(1), %%st; setp %%al" \
+
+78 : "÷" (
+__»suÉ
+è: "u" (
+y
+), "t" (
+x
+) : "cc", "st"); \
+
+79 
+__»suÉ
+; })
+
+       )
+
+82 \ 1
+       #isg»©\94
+(
+x
+, 
+y
+) \
+
+83 ({ \14\ 5
+__»suÉ
+; \
+
+84 
+       `__asm__
+ ("fucompp; fnstsw;\81estb $0x45, %%ah; setz %%al" \
+
+85 : "÷" (
+__»suÉ
+è: "u" (
+y
+), "t" (
+x
+) : "cc", "st", "st(1)"); \
+
+86 
+__»suÉ
+; })
+
+       )
+
+88 \ 1
+       #isg»©\94equ®
+(
+x
+, 
+y
+) \
+
+89 ({ \14\ 5
+__»suÉ
+; \
+
+90 
+       `__asm__
+ ("fucompp; fnstsw;\81estb $0x05, %%ah; setz %%al" \
+
+91 : "÷" (
+__»suÉ
+è: "u" (
+y
+), "t" (
+x
+) : "cc", "st", "st(1)"); \
+
+92 
+__»suÉ
+; })
+
+       )
+
+94 \ 1
+       #i¦ess
+(
+x
+, 
+y
+) \
+
+95 ({ \14\ 5
+__»suÉ
+; \
+
+96 
+       `__asm__
+ ("fucompp; fnstsw;\81estb $0x45, %%ah; setz %%al" \
+
+97 : "÷" (
+__»suÉ
+è: "u" (
+x
+), "t" (
+y
+) : "cc", "st", "st(1)"); \
+
+98 
+__»suÉ
+; })
+
+       )
+
+100 \ 1
+       #i¦es£qu®
+(
+x
+, 
+y
+) \
+
+101 ({ \14\ 5
+__»suÉ
+; \
+
+102 
+       `__asm__
+ ("fucompp; fnstsw;\81estb $0x05, %%ah; setz %%al" \
+
+103 : "÷" (
+__»suÉ
+è: "u" (
+x
+), "t" (
+y
+) : "cc", "st", "st(1)"); \
+
+104 
+__»suÉ
+; })
+
+       )
+
+106 \ 1
+       #i¦essg»©\94
+(
+x
+, 
+y
+) \
+
+107 ({ \14\ 5
+__»suÉ
+; \
+
+108 
+       `__asm__
+ ("fucompp; fnstsw;\81estb $0x44, %%ah; setz %%al" \
+
+109 : "÷" (
+__»suÉ
+è: "u" (
+y
+), "t" (
+x
+) : "cc", "st", "st(1)"); \
+
+110 
+__»suÉ
+; })
+
+       )
+
+112 \ 1
+       #isunÜd\94ed
+(
+x
+, 
+y
+) \
+
+113 ({ \14\ 5
+__»suÉ
+; \
+
+114 
+       `__asm__
+ ("fucompp; fnstsw; sahf; setp %%al" \
+
+115 : "÷" (
+__»suÉ
+è: "u" (
+y
+), "t" (
+x
+) : "cc", "st", "st(1)"); \
+
+116 
+__»suÉ
+; })
+
+       )
+
+122 #ià
+__GNUC_PREREQ
+ (2, 8)
+
+123 
+__BEGIN_NAMESPACE_C99
+
+
+126 
+__MATH_INLINE
\12
+
+127 
+__NTH
+ (
+       $__signb\99f
+ (\ e
+__x
+))
+
+129 #ifdeà
+__SSE2_MATH__
+
+
+130 \12
+__m
+;
+
+131 
+       `__asm
+ ("pmovmskb %1, %0" : "ô" (
+__m
+è: "x" (
+__x
+));
+
+132 \15 (
+__m
+ & 0x8) != 0;
+
+134 
+__ex\8bnsiÚ__
+ uniÚ { \ e
+__f
+; \12
+__i
+; } 
+__u
+ = { __f: 
+__x
+ };
+
+135 \15 
+__u
+.
+__i
+ < 0;
+
+137 
+       }
+}
+
+138 
+__MATH_INLINE
\12
+
+139 
+__NTH
+ (
+       $__signb\99
+ (\b
+__x
+))
+
+141 #ifdeà
+__SSE2_MATH__
+
+
+142 \12
+__m
+;
+
+143 
+       `__asm
+ ("pmovmskb %1, %0" : "ô" (
+__m
+è: "x" (
+__x
+));
+
+144 \15 (
+__m
+ & 0x80) != 0;
+
+146 
+__ex\8bnsiÚ__
+ uniÚ { \b
+__d
+; \12
+__i
+[2]; } 
+__u
+ = { __d: 
+__x
+ };
+
+147 \15 
+__u
+.
+__i
+[1] < 0;
+
+149 
+       }
+}
+
+150 
+__MATH_INLINE
\12
+
+151 
+__NTH
+ (
+       $__signb\99l
+ (\13\b
+__x
+))
+
+153 
+__ex\8bnsiÚ__
+ uniÚ { \13\b
+__l
+; \12
+__i
+[3]; } 
+__u
+ = { __l: 
+__x
+ };
+
+154 \15 (
+__u
+.
+__i
+[2] & 0x8000) != 0;
+
+155 
+       }
+}
+
+157 
+       g__END_NAMESPACE_C99
+
+
+164 #ià
+__GNUC_PREREQ
+ (2, 8)
+
+165 #ià!
+__GNUC_PREREQ
+ (3, 4è&& !
+def\9aed
+__NO_MATH_INLINES
+ \
+
+166 && 
+def\9aed
+       g__OPTIMIZE__
+
+
+170 #ifdeà
+__USE_ISOC99
+
+
+171 
+       g__BEGIN_NAMESPACE_C99
+
+
+174 #ifdeà
+__SSE_MATH__
+
+
+175 
+__MATH_INLINE
\13\12
+
+176 
+__NTH
+ (
+       $̚tf
+ (\ e
+__x
+))
+
+178 \13\12
+__»s
+;
+
+183 
+__asm
+       `__vÞ©\9ee__
+ ("cvtss2s\98%1, %0" : "ô" (
+__»s
+è: "xm" (
+__x
+));
+
+184 \15 
+__»s
+;
+
+185 
+       }
+}
+
+187 #ifdeà
+__SSE2_MATH__
+
+
+188 
+__MATH_INLINE
\13\12
+
+189 
+__NTH
+ (
+       $̚t
+ (\b
+__x
+))
+
+191 \13\12
+__»s
+;
+
+196 
+__asm
+       `__vÞ©\9ee__
+ ("cvtsd2s\98%1, %0" : "ô" (
+__»s
+è: "xm" (
+__x
+));
+
+197 \15 
+__»s
+;
+
+198 
+       }
+}
+
+200 #ifdeà
+__x86_64__
+
+
+201 
+__ex\8bnsiÚ__
+
+
+202 
+__MATH_INLINE
\13\13\12
+
+203 
+__NTH
+ (
+       $Îr\9atf
+ (\ e
+__x
+))
+
+205 \13\13\12
+__»s
+;
+
+210 
+__asm
+       `__vÞ©\9ee__
+ ("cvtss2s\98%1, %0" : "ô" (
+__»s
+è: "xm" (
+__x
+));
+
+211 \15 
+__»s
+;
+
+212 
+       }
+}
+
+213 
+__ex\8bnsiÚ__
+
+
+214 
+__MATH_INLINE
\13\13\12
+
+215 
+__NTH
+ (
+       $Îr\9at
+ (\b
+__x
+))
+
+217 \13\13\12
+__»s
+;
+
+222 
+__asm
+       `__vÞ©\9ee__
+ ("cvtsd2s\98%1, %0" : "ô" (
+__»s
+è: "xm" (
+__x
+));
+
+223 \15 
+__»s
+;
+
+224 
+       }
+}
+
+227 #ià
+def\9aed
+__FINITE_MATH_ONLY__
+ && __FINITE_MATH_ONLY__ > 0 \
+
+228 && 
+def\9aed
+__SSE2_MATH__
+
+
+230 
+__MATH_INLINE
\ e
+
+231 
+__NTH
+ (
+       $fmaxf
+ (\ e
+__x
+, \ e
+__y
+))
+
+233 #ifdeà
+__AVX__
+
+
+234 \ e
+__»s
+;
+
+235 
+       `__asm
+ ("vmaxs %2, %1, %0" : "=x" (
+__»s
+è: "x" (
+x
+), "xm" (
+__y
+));
+
+236 \15 
+__»s
+;
+
+238 
+       `__asm
+ ("maxs %1, %0" : "+x" (
+__x
+è: "xm" (
+__y
+));
+
+239 \15 
+__x
+;
+
+241 
+       }
+}
+
+242 
+__MATH_INLINE
\b
+
+243 
+__NTH
+ (
+       $fmax
+ (\b
+__x
+, \b
+__y
+))
+
+245 #ifdeà
+__AVX__
+
+
+246 \ e
+__»s
+;
+
+247 
+       `__asm
+ ("vmaxsd %2, %1, %0" : "=x" (
+__»s
+è: "x" (
+x
+), "xm" (
+__y
+));
+
+248 \15 
+__»s
+;
+
+250 
+       `__asm
+ ("maxsd %1, %0" : "+x" (
+__x
+è: "xm" (
+__y
+));
+
+251 \15 
+__x
+;
+
+253 
+       }
+}
+
+256 
+__MATH_INLINE
\ e
+
+257 
+__NTH
+ (
+       $fm\9af
+ (\ e
+__x
+, \ e
+__y
+))
+
+259 #ifdeà
+__AVX__
+
+
+260 \ e
+__»s
+;
+
+261 
+       `__asm
+ ("vm\9as %2, %1, %0" : "=x" (
+__»s
+è: "x" (
+x
+), "xm" (
+__y
+));
+
+262 \15 
+__»s
+;
+
+264 
+       `__asm
+ ("m\9as %1, %0" : "+x" (
+__x
+è: "xm" (
+__y
+));
+
+265 \15 
+__x
+;
+
+267 
+       }
+}
+
+268 
+__MATH_INLINE
\b
+
+269 
+__NTH
+ (
+       $fm\9a
+ (\b
+__x
+, \b
+__y
+))
+
+271 #ifdeà
+__AVX__
+
+
+272 \ e
+__»s
+;
+
+273 
+       `__asm
+ ("vm\9asd %2, %1, %0" : "=x" (
+__»s
+è: "x" (
+x
+), "xm" (
+__y
+));
+
+274 \15 
+__»s
+;
+
+276 
+       `__asm
+ ("m\9asd %1, %0" : "+x" (
+__x
+è: "xm" (
+__y
+));
+
+277 \15 
+__x
+;
+
+279 
+       }
+}
+
+282 
+       g__END_NAMESPACE_C99
+
+
+285 #ià
+def\9aed
+__SSE4_1__
+ && def\9aed 
+__SSE2_MATH__
+
+
+286 #ià
+def\9aed
+__USE_XOPEN_EXTENDED
+ || def\9aed 
+__USE_ISOC99
+
+
+287 
+__BEGIN_NAMESPACE_C99
+
+
+290 
+__MATH_INLINE
\b
+
+291 
+__NTH
+ (
+       $r\9at
+ (\b
+__x
+))
+
+293 \b
+__»s
+;
+
+298 
+__asm
+       `__vÞ©\9ee__
+ ("roundsd $4, %1, %0" : "=x" (
+__»s
+è: "xm" (
+__x
+));
+
+299 \15 
+__»s
+;
+
+300 
+       }
+}
+
+301 
+__MATH_INLINE
\ e
+
+302 
+__NTH
+ (
+       $r\9atf
+ (\ e
+__x
+))
+
+304 \ e
+__»s
+;
+
+309 
+__asm
+       `__vÞ©\9ee__
+ ("rounds $4, %1, %0" : "=x" (
+__»s
+è: "xm" (
+__x
+));
+
+310 \15 
+__»s
+;
+
+311 
+       }
+}
+
+313 #ifdeà
+__USE_ISOC99
+
+
+315 
+__MATH_INLINE
\b
+
+316 
+__NTH
+ (
+       $ìby\9at
+ (\b
+__x
+))
+
+318 \b
+__»s
+;
+
+323 
+__asm
+       `__vÞ©\9ee__
+ ("roundsd $0xc, %1, %0" : "=x" (
+__»s
+è: "xm" (
+__x
+));
+
+324 \15 
+__»s
+;
+
+325 
+       }
+}
+
+326 
+__MATH_INLINE
\ e
+
+327 
+__NTH
+ (
+       $ìby\9atf
+ (\ e
+__x
+))
+
+329 \ e
+__»s
+;
+
+334 
+__asm
+       `__vÞ©\9ee__
+ ("rounds $0xc, %1, %0" : "=x" (
+__»s
+è: "xm" (
+__x
+));
+
+335 \15 
+__»s
+;
+
+336 
+       }
+}
+
+339 
+       g__END_NAMESPACE_C99
+
+
+342 
+__BEGIN_NAMESPACE_STD
+
+
+344 
+__MATH_INLINE
\b
+
+345 
+__NTH
+ (
+       $û\9e
+ (\b
+__x
+))
+
+347 \b
+__»s
+;
+
+348 
+       `__asm
+ ("roundsd $2, %1, %0" : "=x" (
+__»s
+è: "xm" (
+__x
+));
+
+349 \15 
+__»s
+;
+
+350 
+       }
+}
+
+351 
+__END_NAMESPACE_STD
+
+
+353 
+__BEGIN_NAMESPACE_C99
+
+
+354 
+__MATH_INLINE
\ e
+
+355 
+__NTH
+ (
+       $û\9ef
+ (\ e
+__x
+))
+
+357 \ e
+__»s
+;
+
+358 
+       `__asm
+ ("rounds $2, %1, %0" : "=x" (
+__»s
+è: "xm" (
+__x
+));
+
+359 \15 
+__»s
+;
+
+360 
+       }
+}
+
+361 
+__END_NAMESPACE_C99
+
+
+363 
+__BEGIN_NAMESPACE_STD
+
+
+365 
+__MATH_INLINE
\b
+
+366 
+__NTH
+ (
+       $æoÜ
+ (\b
+__x
+))
+
+368 \b
+__»s
+;
+
+369 
+       `__asm
+ ("roundsd $1, %1, %0" : "=x" (
+__»s
+è: "xm" (
+__x
+));
+
+370 \15 
+__»s
+;
+
+371 
+       }
+}
+
+372 
+__END_NAMESPACE_STD
+
+
+374 
+__BEGIN_NAMESPACE_C99
+
+
+375 
+__MATH_INLINE
\ e
+
+376 
+__NTH
+ (
+       $æoÜf
+ (\ e
+__x
+))
+
+378 \ e
+__»s
+;
+
+379 
+       `__asm
+ ("rounds $1, %1, %0" : "=x" (
+__»s
+è: "xm" (
+__x
+));
+
+380 \15 
+__»s
+;
+
+381 
+       }
+}
+
+382 
+       g__END_NAMESPACE_C99
+
+
+390 #ià!
+def\9aed
+__SSE2_MATH__
+ && !def\9aed 
+__x86_64__
+
+
+391 #ià((!
+def\9aed
+__NO_MATH_INLINES
+ || def\9aed 
+__LIBC_INTERNAL_MATH_INLINES
+) \
+
+392 && 
+def\9aed
+       g__OPTIMIZE__
+)
+
+396 #undeà
+m©h_\94rhªdl\9ag
+
+
+405 #ifdeà
+__USE_ISOC99
+
+
+406 \ 1
+       #__\9al\9ae_m©hÝ
+(
+func
+, 
+) \
+
+407 
+       `__\9al\9ae_m©hÝ_
+ (\b
+func
+, 
+) \
+
+408 
+       `__\9al\9ae_m©hÝ_
+ (\ e
+       `__CONCAT
+(
+func
+,
+f
+), 
+) \
+
+409 
+       `__\9al\9ae_m©hÝ_
+ (\13\b
+       `__CONCAT
+(
+func
+,
+l
+), 
+)
+
+       )
+
+410 \ 1
+       #__\9al\9ae_m©hÝNP
+(
+func
+, 
+) \
+
+411 
+       `__\9al\9ae_m©hÝNP_
+ (\b
+func
+, 
+) \
+
+412 
+       `__\9al\9ae_m©hÝNP_
+ (\ e
+       `__CONCAT
+(
+func
+,
+f
+), 
+) \
+
+413 
+       `__\9al\9ae_m©hÝNP_
+ (\13\b
+       `__CONCAT
+(
+func
+,
+l
+), 
+)
+
+       )
+
+415 \ 1
+       #__\9al\9ae_m©hÝ
+(
+func
+, 
+) \
+
+416 
+       `__\9al\9ae_m©hÝ_
+ (\b
+func
+, 
+)
+
+       )
+
+417 \ 1
+       #__\9al\9ae_m©hÝNP
+(
+func
+, 
+) \
+
+418 
+       `__\9al\9ae_m©hÝNP_
+ (\b
+func
+, 
+)
+
+       )
+
+421 \ 1
+       #__\9al\9ae_m©hÝ_
+(
+æßt_ty³
+, 
+func
+, 
+) \
+
+422 
+       `__\9al\9ae_m©hÝ_deþ_
+ (
+æßt_ty³
+, 
+func
+, 
+, "0" (
+__x
+))
+
+       )
+
+423 \ 1
+       #__\9al\9ae_m©hÝNP_
+(
+æßt_ty³
+, 
+func
+, 
+) \
+
+424 
+       `__\9al\9ae_m©hÝ_deþNP_
+ (
+æßt_ty³
+, 
+func
+, 
+, "0" (
+__x
+))
+
+       )
+
+427 #ifdeà
+__USE_ISOC99
+
+
+428 \ 1
+       #__\9al\9ae_m©hÝ_deþ
+(
+func
+, 
+, 
+·¿ms
+...) \
+
+429 
+       `__\9al\9ae_m©hÝ_deþ_
+ (\b
+func
+, 
+, 
+·¿ms
+) \
+
+430 
+       `__\9al\9ae_m©hÝ_deþ_
+ (\ e
+       `__CONCAT
+(
+func
+,
+f
+), 
+, 
+·¿ms
+) \
+
+431 
+       `__\9al\9ae_m©hÝ_deþ_
+ (\13\b
+       `__CONCAT
+(
+func
+,
+l
+), 
+, 
+·¿ms
+)
+
+       )
+
+432 \ 1
+       #__\9al\9ae_m©hÝ_deþNP
+(
+func
+, 
+, 
+·¿ms
+...) \
+
+433 
+       `__\9al\9ae_m©hÝ_deþNP_
+ (\b
+func
+, 
+, 
+·¿ms
+) \
+
+434 
+       `__\9al\9ae_m©hÝ_deþNP_
+ (\ e
+       `__CONCAT
+(
+func
+,
+f
+), 
+, 
+·¿ms
+) \
+
+435 
+       `__\9al\9ae_m©hÝ_deþNP_
+ (\13\b
+       `__CONCAT
+(
+func
+,
+l
+), 
+, 
+·¿ms
+)
+
+       )
+
+437 \ 1
+       #__\9al\9ae_m©hÝ_deþ
+(
+func
+, 
+, 
+·¿ms
+...) \
+
+438 
+       `__\9al\9ae_m©hÝ_deþ_
+ (\b
+func
+, 
+, 
+·¿ms
+)
+
+       )
+
+439 \ 1
+       #__\9al\9ae_m©hÝ_deþNP
+(
+func
+, 
+, 
+·¿ms
+...) \
+
+440 
+       `__\9al\9ae_m©hÝ_deþNP_
+ (\b
+func
+, 
+, 
+·¿ms
+)
+
+       )
+
+443 \ 1
+       #__\9al\9ae_m©hÝ_deþ_
+(
+æßt_ty³
+, 
+func
+, 
+, 
+·¿ms
+...) \
+
+444 
+__MATH_INLINE
+æßt_ty³
+       `func
+ (æßt_ty³è
+__THROW
+; \
+
+445 
+       `__\9al\9ae_m©hÝ_deþNP_
+ (
+æßt_ty³
+, 
+func
+, 
+, 
+·¿ms
+)
+
+       )
+
+447 \ 1
+       #__\9al\9ae_m©hÝ_deþNP_
+(
+æßt_ty³
+, 
+func
+, 
+, 
+·¿ms
+...) \
+
+448 
+__MATH_INLINE
+æßt_ty³
+       `__NTH
+ (
+       `func
+ (æßt_ty³ 
+__x
+)) \
+
+450 \14
+æßt_ty³
+__»suÉ
+; \
+
+451 
+__asm
+       `__vÞ©\9ee__
+ (
+ : "ñ" (
+__»suÉ
+è: 
+·¿ms
+); \
+
+452 \15 
+__»suÉ
+; \
+
+453 }
+
+       )
+
+456 #ifdeà
+__USE_ISOC99
+
+
+457 \ 1
+       #__\9al\9ae_m©hcode
+(
+func
+, 
+¬g
+, 
+code
+) \
+
+458 
+       `__\9al\9ae_m©hcode_
+ (\b
+func
+, 
+¬g
+, 
+code
+) \
+
+459 
+       `__\9al\9ae_m©hcode_
+ (\ e
+       `__CONCAT
+(
+func
+,
+f
+), 
+¬g
+, 
+code
+) \
+
+460 
+       `__\9al\9ae_m©hcode_
+ (\13\b
+       `__CONCAT
+(
+func
+,
+l
+), 
+¬g
+, 
+code
+)
+
+       )
+
+461 \ 1
+       #__\9al\9ae_m©hcodeNP
+(
+func
+, 
+¬g
+, 
+code
+) \
+
+462 
+       `__\9al\9ae_m©hcodeNP_
+ (\b
+func
+, 
+¬g
+, 
+code
+) \
+
+463 
+       `__\9al\9ae_m©hcodeNP_
+ (\ e
+       `__CONCAT
+(
+func
+,
+f
+), 
+¬g
+, 
+code
+) \
+
+464 
+       `__\9al\9ae_m©hcodeNP_
+ (\13\b
+       `__CONCAT
+(
+func
+,
+l
+), 
+¬g
+, 
+code
+)
+
+       )
+
+465 \ 1
+       #__\9al\9ae_m©hcode2
+(
+func
+, 
+¬g1
+, 
+¬g2
+, 
+code
+) \
+
+466 
+       `__\9al\9ae_m©hcode2_
+ (\b
+func
+, 
+¬g1
+, 
+¬g2
+, 
+code
+) \
+
+467 
+       `__\9al\9ae_m©hcode2_
+ (\ e
+       `__CONCAT
+(
+func
+,
+f
+), 
+¬g1
+, 
+¬g2
+, 
+code
+) \
+
+468 
+       `__\9al\9ae_m©hcode2_
+ (\13\b
+       `__CONCAT
+(
+func
+,
+l
+), 
+¬g1
+, 
+¬g2
+, 
+code
+)
+
+       )
+
+469 \ 1
+       #__\9al\9ae_m©hcodeNP2
+(
+func
+, 
+¬g1
+, 
+¬g2
+, 
+code
+) \
+
+470 
+       `__\9al\9ae_m©hcodeNP2_
+ (\b
+func
+, 
+¬g1
+, 
+¬g2
+, 
+code
+) \
+
+471 
+       `__\9al\9ae_m©hcodeNP2_
+ (\ e
+       `__CONCAT
+(
+func
+,
+f
+), 
+¬g1
+, 
+¬g2
+, 
+code
+) \
+
+472 
+       `__\9al\9ae_m©hcodeNP2_
+ (\13\b
+       `__CONCAT
+(
+func
+,
+l
+), 
+¬g1
+, 
+¬g2
+, 
+code
+)
+
+       )
+
+473 \ 1
+       #__\9al\9ae_m©hcode3
+(
+func
+, 
+¬g1
+, 
+¬g2
+, 
+¬g3
+, 
+code
+) \
+
+474 
+       `__\9al\9ae_m©hcode3_
+ (\b
+func
+, 
+¬g1
+, 
+¬g2
+, 
+¬g3
+, 
+code
+) \
+
+475 
+       `__\9al\9ae_m©hcode3_
+ (\ e
+       `__CONCAT
+(
+func
+,
+f
+), 
+¬g1
+, 
+¬g2
+, 
+¬g3
+, 
+code
+) \
+
+476 
+       `__\9al\9ae_m©hcode3_
+ (\13\b
+       `__CONCAT
+(
+func
+,
+l
+), 
+¬g1
+, 
+¬g2
+, 
+¬g3
+, 
+code
+)
+
+       )
+
+477 \ 1
+       #__\9al\9ae_m©hcodeNP3
+(
+func
+, 
+¬g1
+, 
+¬g2
+, 
+¬g3
+, 
+code
+) \
+
+478 
+       `__\9al\9ae_m©hcodeNP3_
+ (\b
+func
+, 
+¬g1
+, 
+¬g2
+, 
+¬g3
+, 
+code
+) \
+
+479 
+       `__\9al\9ae_m©hcodeNP3_
+ (\ e
+       `__CONCAT
+(
+func
+,
+f
+), 
+¬g1
+, 
+¬g2
+, 
+¬g3
+, 
+code
+) \
+
+480 
+       `__\9al\9ae_m©hcodeNP3_
+ (\13\b
+       `__CONCAT
+(
+func
+,
+l
+), 
+¬g1
+, 
+¬g2
+, 
+¬g3
+, 
+code
+)
+
+       )
+
+482 \ 1
+       #__\9al\9ae_m©hcode
+(
+func
+, 
+¬g
+, 
+code
+) \
+
+483 
+       `__\9al\9ae_m©hcode_
+ (\b
+func
+, (
+¬g
+), 
+code
+)
+
+       )
+
+484 \ 1
+       #__\9al\9ae_m©hcodeNP
+(
+func
+, 
+¬g
+, 
+code
+) \
+
+485 
+       `__\9al\9ae_m©hcodeNP_
+ (\b
+func
+, (
+¬g
+), 
+code
+)
+
+       )
+
+486 \ 1
+       #__\9al\9ae_m©hcode2
+(
+func
+, 
+¬g1
+, 
+¬g2
+, 
+code
+) \
+
+487 
+       `__\9al\9ae_m©hcode2_
+ (\b
+func
+, 
+¬g1
+, 
+¬g2
+, 
+code
+)
+
+       )
+
+488 \ 1
+       #__\9al\9ae_m©hcodeNP2
+(
+func
+, 
+¬g1
+, 
+¬g2
+, 
+code
+) \
+
+489 
+       `__\9al\9ae_m©hcodeNP2_
+ (\b
+func
+, 
+¬g1
+, 
+¬g2
+, 
+code
+)
+
+       )
+
+490 \ 1
+       #__\9al\9ae_m©hcode3
+(
+func
+, 
+¬g1
+, 
+¬g2
+, 
+¬g3
+, 
+code
+) \
+
+491 
+       `__\9al\9ae_m©hcode3_
+ (\b
+func
+, 
+¬g1
+, 
+¬g2
+, 
+¬g3
+, 
+code
+)
+
+       )
+
+492 \ 1
+       #__\9al\9ae_m©hcodeNP3
+(
+func
+, 
+¬g1
+, 
+¬g2
+, 
+¬g3
+, 
+code
+) \
+
+493 
+       `__\9al\9ae_m©hcodeNP3_
+ (\b
+func
+, 
+¬g1
+, 
+¬g2
+, 
+¬g3
+, 
+code
+)
+
+       )
+
+496 \ 1
+       #__\9al\9ae_m©hcode_
+(
+æßt_ty³
+, 
+func
+, 
+¬g
+, 
+code
+) \
+
+497 
+__MATH_INLINE
+æßt_ty³
+       `func
+ (æßt_ty³è
+__THROW
+; \
+
+498 
+       `__\9al\9ae_m©hcodeNP_
+(
+æßt_ty³
+, 
+func
+, 
+¬g
+, 
+code
+)
+
+       )
+
+500 \ 1
+       #__\9al\9ae_m©hcodeNP_
+(
+æßt_ty³
+, 
+func
+, 
+¬g
+, 
+code
+) \
+
+501 
+__MATH_INLINE
+æßt_ty³
+       `__NTH
+ (
+       `func
+ (æßt_ty³ 
+¬g
+)) \
+
+503 
+code
+; \
+
+504 }
+
+       )
+
+507 \ 1
+       #__\9al\9ae_m©hcode2_
+(
+æßt_ty³
+, 
+func
+, 
+¬g1
+, 
+¬g2
+, 
+code
+) \
+
+508 
+__MATH_INLINE
+æßt_ty³
+       `func
+ (æßt_ty³, flßt_ty³è
+__THROW
+; \
+
+509 
+       `__\9al\9ae_m©hcodeNP2_
+ (
+æßt_ty³
+, 
+func
+, 
+¬g1
+, 
+¬g2
+, 
+code
+)
+
+       )
+
+511 \ 1
+       #__\9al\9ae_m©hcodeNP2_
+(
+æßt_ty³
+, 
+func
+, 
+¬g1
+, 
+¬g2
+, 
+code
+) \
+
+512 
+__MATH_INLINE
+æßt_ty³
+       `__NTH
+ (
+       `func
+ (æßt_ty³ 
+¬g1
+, flßt_ty³ 
+¬g2
+)) \
+
+514 
+code
+; \
+
+515 }
+
+       )
+
+517 \ 1
+       #__\9al\9ae_m©hcode3_
+(
+æßt_ty³
+, 
+func
+, 
+¬g1
+, 
+¬g2
+, 
+¬g3
+, 
+code
+) \
+
+518 
+__MATH_INLINE
+æßt_ty³
+       `func
+ (æßt_ty³, flßt_ty³, flßt_ty³è
+__THROW
+; \
+
+519 
+       `__\9al\9ae_m©hcodeNP3_
+(
+æßt_ty³
+, 
+func
+, 
+¬g1
+, 
+¬g2
+, 
+¬g3
+, 
+code
+)
+
+       )
+
+521 \ 1
+       #__\9al\9ae_m©hcodeNP3_
+(
+æßt_ty³
+, 
+func
+, 
+¬g1
+, 
+¬g2
+, 
+¬g3
+, 
+code
+) \
+
+522 
+__MATH_INLINE
+æßt_ty³
+       `__NTH
+ (
+       `func
+ (æßt_ty³ 
+¬g1
+, flßt_ty³ 
+¬g2
+, \
+
+523 
+æßt_ty³
+¬g3
+)) \
+
+525 
+code
+; \
+
+526 }
+
+       )
+
+530 #ià!
+def\9aed
+__NO_MATH_INLINES
+ && def\9aed 
+__OPTIMIZE__
+
+
+534 #ifdeà
+__FAST_MATH__
+
+
+535 #ifdeà
+__USE_GNU
+
+
+536 \ 1
+       #__s\9acos_code
+ \
+
+537 \14\13\b
+__co¤
+; \
+
+538 \14\13\b
+__s\9ar
+; \
+
+539 \14\1d\12
+__swtmp
+; \
+
+540 
+__asm
+__vÞ©\9ee__
+ \
+
+555 : "ñ" (
+__co¤
+), "=u" (
+__s\9ar
+), "÷" (
+__swtmp
+è: "0" (
+__x
+)); \
+
+556 *
+__s\9ax
+ = 
+__s\9ar
+; \
+
+557 *
+__cosx
+ = 
+__co¤
+
+
+       )
+
+559 
+__MATH_INLINE
\1e
+
+560 
+__NTH
+ (
+       $__s\9acos
+ (\b
+__x
+, \b*
+__s\9ax
+, \b*
+__cosx
+))
+
+562 
+__s\9acos_code
+;
+
+563 
+       }
+}
+
+565 
+__MATH_INLINE
\1e
+
+566 
+__NTH
+ (
+       $__s\9acosf
+ (\ e
+__x
+, \ e*
+__s\9ax
+, \ e*
+__cosx
+))
+
+568 
+__s\9acos_code
+;
+
+569 
+       }
+}
+
+571 
+__MATH_INLINE
\1e
+
+572 
+__NTH
+ (
+       $__s\9aco¦
+ (\13\b
+__x
+, \13\b*
+__s\9ax
+, \13\b*
+__cosx
+))
+
+574 
+__s\9acos_code
+;
+
+575 
+       }
+}
+
+582 #ià
+__GNUC_PREREQ
+ (3, 5)
+
+583 \ 1
+       #__expm1_code
+ \
+
+584 \14\13\b
+__\8bmp
+; \
+
+585 
+__\8bmp
+ = 
+       `__bu\9et\9a_expm1l
+ (
+__x
+); \
+
+586 \15 
+__\8bmp
+ ? __\8bm°: 
+__x
+
+
+       )
+
+588 \ 1
+       #__expm1_code
+ \
+
+589 \14\13\b
+__v®ue
+; \
+
+590 \14\13\b
+__expڒt
+; \
+
+591 \14\13\b
+__\8bmp
+; \
+
+592 
+__asm
+__vÞ©\9ee__
+ \
+
+601 : "ñ" (
+__v®ue
+), "=u" (
+__expڒt
+è: "0" (
+__x
+)); \
+
+602 
+__asm
+__vÞ©\9ee__
+ \
+
+604 : "ñ" (
+__\8bmp
+è: "0" (1.0), "u" (
+__expڒt
+)); \
+
+605 
+__\8bmp
+ -= 1.0; \
+
+606 
+__\8bmp
+ +ð
+__v®ue
+; \
+
+607 \15 
+__\8bmp
+ ? __\8bm°: 
+__x
+
+
+       )
+
+609 
+       $__\9al\9ae_m©hcodeNP_
+ (\13\b
+__expm1l
+, 
+__x
+, 
+__expm1_code
+)
+
+611 #ià
+       `__GNUC_PREREQ
+ (3, 4)
+
+612 
+       `__\9al\9ae_m©hcodeNP_
+ (\13\b
+__ex¶
+, 
+__x
+, \15 
+       $__bu\9et\9a_ex¶
+ (
+__x
+))
+
+614 \ 1
+       #__exp_code
+ \
+
+615 \14\13\b
+__v®ue
+; \
+
+616 \14\13\b
+__expڒt
+; \
+
+617 
+__asm
+__vÞ©\9ee__
+ \
+
+625 : "ñ" (
+__v®ue
+), "=u" (
+__expڒt
+è: "0" (
+__x
+)); \
+
+626 
+__v®ue
+ += 1.0; \
+
+627 
+__asm
+__vÞ©\9ee__
+ \
+
+629 : "ñ" (
+__v®ue
+è: "0" (__v®ue), "u" (
+__expڒt
+)); \
+
+630 \15 
+__v®ue
+
+
+       )
+
+631 
+       $__\9al\9ae_m©hcodeNP
+ (
+exp
+, 
+__x
+, 
+__exp_code
+)
+
+632 
+       $__\9al\9ae_m©hcodeNP_
+ (\13\b
+__ex¶
+, 
+__x
+, 
+__exp_code
+)
+
+636 #ià!
+       `__GNUC_PREREQ
+ (3, 5)
+
+637 
+       `__\9al\9ae_m©hcodeNP
+ (
+\8fn
+, 
+__x
+, \
+
+638 \14\13\b
+__v®ue
+; \
+
+639 \14\13\b
+__v®ue2
+       `__©\8cibu\8b__
+ ((
+__unu£d__
+)); \
+
+640 
+__asm
+__vÞ©\9ee__
+ \
+
+642 : "ñ" (
+__v®ue2
+), "=u" (
+__v®ue
+è: "0" (
+__x
+)); \
+
+643 \15 
+__v®ue
+)
+
+648 #ià
+       `__GNUC_PREREQ
+ (3, 4)
+
+649 
+       `__\9al\9ae_m©hcodeNP2_
+ (\13\b
+__©ª2l
+, 
+__y
+, 
+__x
+,
+
+650 \15 
+       $__bu\9et\9a_©ª2l
+ (
+__y
+, 
+__x
+))
+
+652 \ 1
+       #__©ª2_code
+ \
+
+653 \14\13\b
+__v®ue
+; \
+
+654 
+__asm
+__vÞ©\9ee__
+ \
+
+656 : "ñ" (
+__v®ue
+è: "0" (
+__x
+), "u" (
+__y
+) : "st(1)"); \
+
+657 \15 
+__v®ue
+
+
+       )
+
+658 #ifdeà
+__FAST_MATH__
+
+
+659 
+       $__\9al\9ae_m©hcodeNP2
+ (
+©ª2
+, 
+__y
+, 
+__x
+, 
+__©ª2_code
+)
+
+661 
+       $__\9al\9ae_m©hcodeNP2_
+ (\13\b
+__©ª2l
+, 
+__y
+, 
+__x
+, 
+__©ª2_code
+)
+
+665 #ià
+def\9aed
+__FAST_MATH__
+ && !
+       `__GNUC_PREREQ
+ (3, 5)
+
+666 
+       `__\9al\9ae_m©hcodeNP2
+ (
+fmod
+, 
+__x
+, 
+__y
+, \
+
+667 \14\13\b
+__v®ue
+; \
+
+668 
+__asm
+__vÞ©\9ee__
+ \
+
+673 : "ñ" (
+__v®ue
+è: "0" (
+__x
+), "u" (
+__y
+) : "ax", "cc"); \
+
+674 \15 
+__v®ue
+)
+
+678 #ifdeà
+__FAST_MATH__
+
+
+679 #ià!
+       `__GNUC_PREREQ
+ (3,3)
+
+680 
+       `__\9al\9ae_m©hÝNP
+ (
+sq¹
+, "fsqrt")
+
+681 
+       `__\9al\9ae_m©hÝNP_
+ (\13\b
+__sq¹l
+, "fsqrt")
+
+682 \ 1
+       #__libc_sq¹l
+(
+n
+       `__sq¹l
+ (n)
+
+       )
+
+684 \ 1
+       #__libc_sq¹l
+(
+n
+       `__bu\9et\9a_sq¹l
+ (n)
+
+       )
+
+688 #ià
+       `__GNUC_PREREQ
+ (2, 8)
+
+689 
+       `__\9al\9ae_m©hcodeNP_
+ (\b
+çbs
+, 
+__x
+, \15 
+       $__bu\9et\9a_çbs
+ (
+__x
+))
+
+690 #ifdeà
+__USE_ISOC99
+
+
+691 
+       `__\9al\9ae_m©hcodeNP_
+ (\ e
+çbsf
+, 
+__x
+, \15 
+       $__bu\9et\9a_çbsf
+ (
+__x
+))
+
+692 
+       `__\9al\9ae_m©hcodeNP_
+ (\13\b
+çb¦
+, 
+__x
+, \15 
+       $__bu\9et\9a_çb¦
+ (
+__x
+))
+
+694 
+       `__\9al\9ae_m©hcodeNP_
+ (\13\b
+__çb¦
+, 
+__x
+, \15 
+       $__bu\9et\9a_çb¦
+ (
+__x
+))
+
+696 
+       `__\9al\9ae_m©hÝ
+ (
+çbs
+, "fabs")
+
+697 
+       `__\9al\9ae_m©hÝ_
+ (\13\b
+__çb¦
+, "fabs")
+
+700 #ifdeà
+__FAST_MATH__
+
+
+701 #ià!
+       `__GNUC_PREREQ
+ (3, 4)
+
+703 
+       `__\9al\9ae_m©hÝNP
+ (
+s\9a
+, "fsin")
+
+705 
+       `__\9al\9ae_m©hÝNP
+ (
+cos
+, "fcos")
+
+707 
+       `__\9al\9ae_m©hÝ_deþNP
+ (
+log
+, "ædÊ2; fxch; fyl2x", "0" (
+__x
+) : "st(1)")
+
+710 #ià!
+       `__GNUC_PREREQ
+ (3, 5)
+
+711 
+       `__\9al\9ae_m©hÝ_deþNP
+ (
+log10
+, "ædlg2; fxch; fyl2x", "0" (
+__x
+) : "st(1)")
+
+713 
+       `__\9al\9ae_m©hcodeNP
+ (
+as\9a
+, 
+__x
+, \15 
+       `__©ª2l
+ (__x, 
+       `__libc_sq¹l
+ (1.0 - __x * __x)))
+
+714 
+       `__\9al\9ae_m©hcodeNP
+ (
+acos
+, 
+__x
+, \15 
+       `__©ª2l
+ (
+       `__libc_sq¹l
+ (1.0 - __x * __x), __x))
+
+717 #ià!
+       `__GNUC_PREREQ
+ (3, 4)
+
+718 
+       `__\9al\9ae_m©hÝ_deþNP
+ (
+©ª
+, "æd1; f·\8fn", "0" (
+__x
+) : "st(1)")
+
+722 
+       `__\9al\9ae_m©hcode_
+ (\13\b
+__sgn1l
+, 
+__x
+, \
+
+723 
+__ex\8bnsiÚ__
+ uniÚ { \13\b
+__xld
+; \1d\12
+__xi
+[3]; } 
+__n
+ = \
+
+724 { 
+__xld
+: 
+__x
+       }
+}; \
+
+725 
+       g__n
+.
+       g__xi
+[2] = (
+__n
+.
+__xi
+[2] & 0x8000) | 0x3fff; \
+
+726 
+       g__n
+.
+       g__xi
+[1] = 0x80000000; \
+
+727 
+       g__n
+.
+       g__xi
+[0] = 0; \
+
+728 \15 
+       g__n
+.
+       g__xld
+)
+
+731 #ifdeà
+__FAST_MATH__
+
+
+733 
+__\9al\9ae_m©hcodeNP
+ (
+s\9ah
+, 
+__x
+, \
+
+734 \14\13\b
+__exm1
+ = 
+__expm1l
+ (
+__çb¦
+ (
+__x
+)); \
+
+735 \15 0.5 * (
+__exm1
+ / (__exm1 + 1.0è+ __exm1è* 
+       $__sgn1l
+ (
+__x
+))
+
+737 
+       `__\9al\9ae_m©hcodeNP
+ (
+cosh
+, 
+__x
+, \
+
+738 \14\13\b
+__ex
+ = 
+       `__ex¶
+ (
+__x
+); \
+
+739 \15 0.5 * (
+__ex
+ + 1.0 / __ex))
+
+741 
+       `__\9al\9ae_m©hcodeNP
+ (
+\8fnh
+, 
+__x
+, \
+
+742 \14\13\b
+__exm1
+ = 
+       `__expm1l
+ (-
+       `__çb¦
+ (
+__x
+ + __x)); \
+
+743 \15 
+__exm1
+ / (__exm1 + 2.0è* 
+       `__sgn1l
+ (-
+__x
+))
+
+746 
+       `__\9al\9ae_m©hcodeNP
+ (
+æoÜ
+, 
+__x
+, \
+
+747 \14\13\b
+__v®ue
+; \
+
+748 \14\12
+__ignÜe
+; \
+
+749 \1d\16\12
+__cw
+; \
+
+750 \1d\16\12
+__cwtmp
+; \
+
+751 
+__asm
+       `__vÞ©\9ee
+ ("fnstcw %3\n\t" \
+
+759 : "ñ" (
+__v®ue
+), "=&q" (
+__ignÜe
+), "=m" (
+__cwtmp
+), \
+
+760 "=m" (
+__cw
+) \
+
+761 : "0" (
+__x
+)); \
+
+762 \15 
+__v®ue
+)
+
+764 
+       `__\9al\9ae_m©hcodeNP
+ (
\9e
+, 
+__x
+, \
+
+765 \14\13\b
+__v®ue
+; \
+
+766 \14\12
+__ignÜe
+; \
+
+767 \1d\16\12
+__cw
+; \
+
+768 \1d\16\12
+__cwtmp
+; \
+
+769 
+__asm
+       `__vÞ©\9ee
+ ("fnstcw %3\n\t" \
+
+777 : "ñ" (
+__v®ue
+), "=&q" (
+__ignÜe
+), "=m" (
+__cwtmp
+), \
+
+778 "=m" (
+__cw
+) \
+
+779 : "0" (
+__x
+)); \
+
+780 \15 
+__v®ue
+)
+
+782 #ifdeà
+__FAST_MATH__
+
+
+783 \ 1
+       #__ldexp_code
+ \
+
+784 \14\13\b
+__v®ue
+; \
+
+785 
+__asm
+__vÞ©\9ee__
+ \
+
+787 : "ñ" (
+__v®ue
+è: "0" (
+__x
+), "u" ((\13\bè
+__y
+)); \
+
+788 \15 
+__v®ue
+
+
+       )
+
+790 
+__MATH_INLINE
\b
+
+791 
+       `__NTH
+ (
+       $ldexp
+ (\b
+__x
+, \12
+__y
+))
+
+793 
+__ldexp_code
+;
+
+794 
+       }
+}
+
+799 #ifdeà
+__USE_ISOC99
+
+
+801 #ifdeà
+__FAST_MATH__
+
+
+802 
+       $__\9al\9ae_m©hcodeNP
+ (
+expm1
+, 
+__x
+, 
+__expm1_code
+)
+
+806 \ 1
+       #__M_SQRT2
+ 1.41421356237309504880L
+
+       )
+
+808 #ià!
+       `__GNUC_PREREQ
+ (3, 5)
+
+809 
+       `__\9al\9ae_m©hcodeNP
+ (
+log1p
+, 
+__x
+, \
+
+810 \14\13\b
+__v®ue
+; \
+
+811 ià(
+       `__çb¦
+ (
+__x
+è>ð1.0 - 0.5 * 
+__M_SQRT2
+) \
+
+812 
+__v®ue
+ = 
+       `logl
+ (1.0 + 
+__x
+); \
+
+814 
+__asm
+__vÞ©\9ee__
+ \
+
+818 : "ñ" (
+__v®ue
+è: "0" (
+__x
+) : "st(1)"); \
+
+819 \15 
+__v®ue
+)
+
+824 
+       `__\9al\9ae_m©hcodeNP
+ (
+as\9ah
+, 
+__x
+, \
+
+825 \14\13\b
+__y
+ = 
+       `__çb¦
+ (
+__x
+); \
+
+826 \15 (
+       `log1¶
+ (
+__y
+ * __y / (
+       `__libc_sq¹l
+ (__y * __y + 1.0) + 1.0) + __y) \
+
+827 * 
+       $__sgn1l
+ (
+__x
+)))
+
+829 
+       `__\9al\9ae_m©hcodeNP
+ (
+acosh
+, 
+__x
+, \
+
+830 \15 
+       `logl
+ (
+__x
+ + 
+       `__libc_sq¹l
+ (__x - 1.0) * __libc_sqrtl (__x + 1.0)))
+
+832 
+       `__\9al\9ae_m©hcodeNP
+ (
+©ªh
+, 
+__x
+, \
+
+833 \14\13\b
+__y
+ = 
+       `__çb¦
+ (
+__x
+); \
+
+834 \15 -0.5 * 
+       `log1¶
+ (-(
+__y
+ + __yè/ (1.0 + __y)è* 
+       $__sgn1l
+ (
+__x
+))
+
+837 
+       `__\9al\9ae_m©hcodeNP2
+ (
+hypÙ
+, 
+__x
+, 
+__y
+,
+
+838 \15 
+       `__libc_sq¹l
+ (
+__x
+ * __x + 
+__y
+ * __y))
+
+840 #ià!
+       `__GNUC_PREREQ
+ (3, 5)
+
+841 
+       `__\9al\9ae_m©hcodeNP
+(
+logb
+, 
+__x
+, \
+
+842 \14\13\b
+__v®ue
+; \
+
+843 \14\13\b
+__junk
+; \
+
+844 
+__asm
+__vÞ©\9ee__
+ \
+
+846 : "ñ" (
+__junk
+), "=u" (
+__v®ue
+è: "0" (
+__x
+)); \
+
+847 \15 
+__v®ue
+)
+
+853 #ifdeà
+__USE_ISOC99
+
+
+854 #ifdeà
+__FAST_MATH__
+
+
+856 #ià!
+       `__GNUC_PREREQ
+ (3, 5)
+
+857 
+       `__\9al\9ae_m©hÝ_deþNP
+ (
+log2
+, "æd1; fxch; fyl2x", "0" (
+__x
+) : "st(1)")
+
+860 
+__MATH_INLINE
\ e
+
+861 
+       `__NTH
+ (
+       $ldexpf
+ (\ e
+__x
+, \12
+__y
+))
+
+863 
+__ldexp_code
+;
+
+864 
+       }
+}
+
+866 
+__MATH_INLINE
\13\b
+
+867 
+__NTH
+ (
+       $ldex¶
+ (\13\b
+__x
+, \12
+__y
+))
+
+869 
+__ldexp_code
+;
+
+870 
+       }
+}
+
+872 
+__\9al\9ae_m©hÝNP
+ (
+r\9at
+, "frndint")
+
+875 \ 1
+       #__̚t_code
+ \
+
+876 \13\12
+__Ì\9a\8ces
+; \
+
+877 
+__asm__
+__vÞ©\9ee__
+ \
+
+879 : "=m" (
+__Ì\9a\8ces
+è: "t" (
+__x
+) : "st"); \
+
+880 \15 
+__Ì\9a\8ces
+
+
+       )
+
+881 
+__MATH_INLINE
\13\12
+
+882 
+__NTH
+ (
+       $̚tf
+ (\ e
+__x
+))
+
+884 
+__̚t_code
+;
+
+885 
+       }
+}
+
+886 
+__MATH_INLINE
\13\12
+
+887 
+__NTH
+ (
+       $̚t
+ (\b
+__x
+))
+
+889 
+__̚t_code
+;
+
+890 
+       }
+}
+
+891 
+__MATH_INLINE
\13\12
+
+892 
+__NTH
+ (
+       $Ì\9a\8e
+ (\13\b
+__x
+))
+
+894 
+__̚t_code
+;
+
+895 
+       }
+}
+
+896 #undeà
+__̚t_code
+
+
+898 \ 1
+       #__Îr\9at_code
+ \
+
+899 \13\13\12
+__Îr\9a\8ces
+; \
+
+900 
+__asm__
+__vÞ©\9ee__
+ \
+
+902 : "=m" (
+__Îr\9a\8ces
+è: "t" (
+__x
+) : "st"); \
+
+903 \15 
+__Îr\9a\8ces
+
+
+       )
+
+904 
+__ex\8bnsiÚ__
+
+
+905 
+__MATH_INLINE
\13\13\12
+
+906 
+__NTH
+ (
+       $Îr\9atf
+ (\ e
+__x
+))
+
+908 
+__Îr\9at_code
+;
+
+909 
+       }
+}
+
+910 
+__ex\8bnsiÚ__
+
+
+911 
+__MATH_INLINE
\13\13\12
+
+912 
+__NTH
+ (
+       $Îr\9at
+ (\b
+__x
+))
+
+914 
+__Îr\9at_code
+;
+
+915 
+       }
+}
+
+916 
+__ex\8bnsiÚ__
+
+
+917 
+__MATH_INLINE
\13\13\12
+
+918 
+__NTH
+ (
+       $Îr\9a\8e
+ (\13\b
+__x
+))
+
+920 
+__Îr\9at_code
+;
+
+921 
+       }
+}
+
+922 #undeà
+__Îr\9at_code
+
+
+927 #ifdeà
+__USE_MISC
+
+
+929 #ià
+def\9aed
+__FAST_MATH__
+ && !
+__GNUC_PREREQ
+ (3, 5)
+
+930 
+__\9al\9ae_m©hcodeNP2
+ (
+d»m
+, 
+__x
+, 
+__y
+, \
+
+931 \14\b
+__v®ue
+; \
+
+932 \14\12
+__þobb\94ed
+; \
+
+933 
+__asm
+__vÞ©\9ee__
+ \
+
+938 : "ñ" (
+__v®ue
+), "=&a" (
+__þobb\94ed
+è: "0" (
+__x
+), "u" (
+__y
+) : "cc"); \
+
+939 \15 
+__v®ue
+)
+
+944 
+__MATH_INLINE
\12
+
+945 
+__NTH
+ (
+       $__f\9a\99e
+ (\b
+__x
+))
+
+947 \15 (
+__ex\8bnsiÚ__
+
+
+948 (((((uniÚ { \b
+__d
+; \12
+__i
+[2]; }è{__d: 
+__x
+}).__i[1]
+
+950 
+       }
+}
+
+955 #undeà
+__©ª2_code
+
+
+956 #ifdeà
+__FAST_MATH__
+
+
+957 #undeà
+__expm1_code
+
+
+958 #undeà
+__exp_code
+
+
+959 #undeà
+__s\9acos_code
+
+
+966 #ifdeà
+__LIBC_INTERNAL_MATH_INLINES
+
+
+967 
+__\9al\9ae_m©hÝ
+ (
+__\9b\93754_sq¹
+, "fsqrt")
+
+968 
+__\9al\9ae_m©hcode2_
+ (\13\b
+__\9b\93754_©ª2l
+, 
+__y
+, 
+__x
+,
+
+969 \14\13\b
+__v®ue
+;
+
+970 
+__asm
+__vÞ©\9ee__
+ ("fpatan\n\t"
+
+971 : "ñ" (
+__v®ue
+)
+
+972 : "0" (
+__x
+), "u" (
+__y
+) : "st(1)");
+
+973 \15 
+__v®ue
+;)
+
+       @/usr/include/bits/nan.h
+
+19 #iâdeà
+_MATH_H
+
+
+26 #ià
+__GNUC_PREREQ
+(3,3)
+
+28 \ 1
+       #NAN
+ (
+       `__bu\9et\9a_Çnf
+ (""))
+
+       )
+
+30 #\96
+def\9aed
+__GNUC__
+
+
+32 \ 1
+       #NAN
+ \
+
+33 (
+__ex\8bnsiÚ__
+ \
+
+34 ((uniÚ { \1d
+__l
+       `__©\8cibu\8b__
+ ((
+       `__mode__
+ (
+__SI__
+))); \ e
+__d
+; }) \
+
+35 { 
+__l
+: 0x7fc00000UL }).
+__d
+)
+
+       )
+
+39 \ 2
+       ~<\92d\9fn.h
+>
+
+41 #ià
+__BYTE_ORDER
+ =ð
+__BIG_ENDIAN
+
+
+42 \ 1
+       #__qÇn_by\8bs
+ { 0x7f, 0xc0, 0, 0 }
+
+       )
+
+44 #ià
+__BYTE_ORDER
+ =ð
+__LITTLE_ENDIAN
+
+
+45 \ 1
+       #__qÇn_by\8bs
+ { 0, 0, 0xc0, 0x7à}
+
+       )
+
+48 \18uniÚ { \1d\ 5
+       m__c
+[4]; \ e
+       m__d
+; } 
+__qÇn_uniÚ
+
+
+49 
+__©\8cibu\8b__
+ ((
+__unu£d__
+)èð{ 
+__qÇn_by\8bs
+ };
+
+50 \ 1
+       #NAN
+ (
+__qÇn_uniÚ
+.
+__d
+)
+
+       )
+
+       @/usr/include/bits/param.h
+
+19 #iâdeà
+_SYS_PARAM_H
+
+
+23 #iâdeà
+ARG_MAX
+
+
+24 \ 1
+       #__undef_ARG_MAX
+
+
+       )
+
+27 \ 2
+       ~<l\9aux/lim\99s.h
+>
+
+28 \ 2
+       ~<l\9aux/·¿m.h
+>
+
+31 #ifdeà
+__undef_ARG_MAX
+
+
+32 #undeà
+ARG_MAX
+
+
+33 #undeà
+__undef_ARG_MAX
+
+
+36 \ 1
+       #MAXSYMLINKS
+ 20
+
+       )
+
+41 \ 1
+       #NOFILE
+ 256
+
+       )
+
+42 \ 1
+       #NCARGS
+ 131072
+
+       )
+
+       @/usr/include/bits/posix_opt.h
+
+19 #iâdef 
+_BITS_POSIX_OPT_H
+
+
+20 \ 1
+       #_BITS_POSIX_OPT_H
+ 1
+
+       )
+
+23 \ 1
+       #_POSIX_JOB_CONTROL
+ 1
+
+       )
+
+26 \ 1
+       #_POSIX_SAVED_IDS
+ 1
+
+       )
+
+29 \ 1
+       #_POSIX_PRIORITY_SCHEDULING
+ 200809L
+
+       )
+
+32 \ 1
+       #_POSIX_SYNCHRONIZED_IO
+ 200809L
+
+       )
+
+35 \ 1
+       #_POSIX_FSYNC
+ 200809L
+
+       )
+
+38 \ 1
+       #_POSIX_MAPPED_FILES
+ 200809L
+
+       )
+
+41 \ 1
+       #_POSIX_MEMLOCK
+ 200809L
+
+       )
+
+44 \ 1
+       #_POSIX_MEMLOCK_RANGE
+ 200809L
+
+       )
+
+47 \ 1
+       #_POSIX_MEMORY_PROTECTION
+ 200809L
+
+       )
+
+50 \ 1
+       #_POSIX_CHOWN_RESTRICTED
+ 0
+
+       )
+
+54 \ 1
+       #_POSIX_VDISABLE
+ '\0'
+
+       )
+
+57 \ 1
+       #_POSIX_NO_TRUNC
+ 1
+
+       )
+
+60 \ 1
+       #_XOPEN_REALTIME
+ 1
+
+       )
+
+63 \ 1
+       #_XOPEN_REALTIME_THREADS
+ 1
+
+       )
+
+66 \ 1
+       #_XOPEN_SHM
+ 1
+
+       )
+
+69 \ 1
+       #_POSIX_THREADS
+ 200809L
+
+       )
+
+72 \ 1
+       #_POSIX_REENTRANT_FUNCTIONS
+ 1
+
+       )
+
+73 \ 1
+       #_POSIX_THREAD_SAFE_FUNCTIONS
+ 200809L
+
+       )
+
+76 \ 1
+       #_POSIX_THREAD_PRIORITY_SCHEDULING
+ 200809L
+
+       )
+
+79 \ 1
+       #_POSIX_THREAD_ATTR_STACKSIZE
+ 200809L
+
+       )
+
+82 \ 1
+       #_POSIX_THREAD_ATTR_STACKADDR
+ 200809L
+
+       )
+
+85 \ 1
+       #_POSIX_THREAD_PRIO_INHERIT
+ 200809L
+
+       )
+
+89 \ 1
+       #_POSIX_THREAD_PRIO_PROTECT
+ 200809L
+
+       )
+
+91 #ifdeà
+__USE_XOPEN2K8
+
+
+93 \ 1
+       #_POSIX_THREAD_ROBUST_PRIO_INHERIT
+ 200809L
+
+       )
+
+96 \ 1
+       #_POSIX_THREAD_ROBUST_PRIO_PROTECT
+ -1
+
+       )
+
+100 \ 1
+       #_POSIX_SEMAPHORES
+ 200809L
+
+       )
+
+103 \ 1
+       #_POSIX_REALTIME_SIGNALS
+ 200809L
+
+       )
+
+106 \ 1
+       #_POSIX_ASYNCHRONOUS_IO
+ 200809L
+
+       )
+
+107 \ 1
+       #_POSIX_ASYNC_IO
+ 1
+
+       )
+
+109 \ 1
+       #_LFS_ASYNCHRONOUS_IO
+ 1
+
+       )
+
+111 \ 1
+       #_POSIX_PRIORITIZED_IO
+ 200809L
+
+       )
+
+114 \ 1
+       #_LFS64_ASYNCHRONOUS_IO
+ 1
+
+       )
+
+117 \ 1
+       #_LFS_LARGEFILE
+ 1
+
+       )
+
+118 \ 1
+       #_LFS64_LARGEFILE
+ 1
+
+       )
+
+119 \ 1
+       #_LFS64_STDIO
+ 1
+
+       )
+
+122 \ 1
+       #_POSIX_SHARED_MEMORY_OBJECTS
+ 200809L
+
+       )
+
+125 \ 1
+       #_POSIX_CPUTIME
+ 0
+
+       )
+
+128 \ 1
+       #_POSIX_THREAD_CPUTIME
+ 0
+
+       )
+
+131 \ 1
+       #_POSIX_REGEXP
+ 1
+
+       )
+
+134 \ 1
+       #_POSIX_READER_WRITER_LOCKS
+ 200809L
+
+       )
+
+137 \ 1
+       #_POSIX_SHELL
+ 1
+
+       )
+
+140 \ 1
+       #_POSIX_TIMEOUTS
+ 200809L
+
+       )
+
+143 \ 1
+       #_POSIX_SPIN_LOCKS
+ 200809L
+
+       )
+
+146 \ 1
+       #_POSIX_SPAWN
+ 200809L
+
+       )
+
+149 \ 1
+       #_POSIX_TIMERS
+ 200809L
+
+       )
+
+152 \ 1
+       #_POSIX_BARRIERS
+ 200809L
+
+       )
+
+155 \ 1
+       #_POSIX_MESSAGE_PASSING
+ 200809L
+
+       )
+
+158 \ 1
+       #_POSIX_THREAD_PROCESS_SHARED
+ 200809L
+
+       )
+
+161 \ 1
+       #_POSIX_MONOTONIC_CLOCK
+ 0
+
+       )
+
+164 \ 1
+       #_POSIX_CLOCK_SELECTION
+ 200809L
+
+       )
+
+167 \ 1
+       #_POSIX_ADVISORY_INFO
+ 200809L
+
+       )
+
+170 \ 1
+       #_POSIX_IPV6
+ 200809L
+
+       )
+
+173 \ 1
+       #_POSIX_RAW_SOCKETS
+ 200809L
+
+       )
+
+176 \ 1
+       #_POSIX2_CHAR_TERM
+ 200809L
+
+       )
+
+179 \ 1
+       #_POSIX_SPORADIC_SERVER
+ -1
+
+       )
+
+180 \ 1
+       #_POSIX_THREAD_SPORADIC_SERVER
+ -1
+
+       )
+
+183 \ 1
+       #_POSIX_TRACE
+ -1
+
+       )
+
+184 \ 1
+       #_POSIX_TRACE_EVENT_FILTER
+ -1
+
+       )
+
+185 \ 1
+       #_POSIX_TRACE_INHERIT
+ -1
+
+       )
+
+186 \ 1
+       #_POSIX_TRACE_LOG
+ -1
+
+       )
+
+189 \ 1
+       #_POSIX_TYPED_MEMORY_OBJECTS
+ -1
+
+       )
+
+       @/usr/include/bits/pthreadtypes.h
+
+18 #iâdeà
+_BITS_PTHREADTYPES_H
+
+
+19 \ 1
+       #_BITS_PTHREADTYPES_H
+ 1
+
+       )
+
+21 \ 2
+       ~<b\99s/wÜdsize.h
+>
+
+23 #ifdeà
+__x86_64__
+
+
+24 #ià
+__WORDSIZE
+ == 64
+
+25 \ 1
+       #__SIZEOF_PTHREAD_ATTR_T
+ 56
+
+       )
+
+26 \ 1
+       #__SIZEOF_PTHREAD_MUTEX_T
+ 40
+
+       )
+
+27 \ 1
+       #__SIZEOF_PTHREAD_MUTEXATTR_T
+ 4
+
+       )
+
+28 \ 1
+       #__SIZEOF_PTHREAD_COND_T
+ 48
+
+       )
+
+29 \ 1
+       #__SIZEOF_PTHREAD_CONDATTR_T
+ 4
+
+       )
+
+30 \ 1
+       #__SIZEOF_PTHREAD_RWLOCK_T
+ 56
+
+       )
+
+31 \ 1
+       #__SIZEOF_PTHREAD_RWLOCKATTR_T
+ 8
+
+       )
+
+32 \ 1
+       #__SIZEOF_PTHREAD_BARRIER_T
+ 32
+
+       )
+
+33 \ 1
+       #__SIZEOF_PTHREAD_BARRIERATTR_T
+ 4
+
+       )
+
+35 \ 1
+       #__SIZEOF_PTHREAD_ATTR_T
+ 32
+
+       )
+
+36 \ 1
+       #__SIZEOF_PTHREAD_MUTEX_T
+ 32
+
+       )
+
+37 \ 1
+       #__SIZEOF_PTHREAD_MUTEXATTR_T
+ 4
+
+       )
+
+38 \ 1
+       #__SIZEOF_PTHREAD_COND_T
+ 48
+
+       )
+
+39 \ 1
+       #__SIZEOF_PTHREAD_CONDATTR_T
+ 4
+
+       )
+
+40 \ 1
+       #__SIZEOF_PTHREAD_RWLOCK_T
+ 44
+
+       )
+
+41 \ 1
+       #__SIZEOF_PTHREAD_RWLOCKATTR_T
+ 8
+
+       )
+
+42 \ 1
+       #__SIZEOF_PTHREAD_BARRIER_T
+ 20
+
+       )
+
+43 \ 1
+       #__SIZEOF_PTHREAD_BARRIERATTR_T
+ 4
+
+       )
+
+46 \ 1
+       #__SIZEOF_PTHREAD_ATTR_T
+ 36
+
+       )
+
+47 \ 1
+       #__SIZEOF_PTHREAD_MUTEX_T
+ 24
+
+       )
+
+48 \ 1
+       #__SIZEOF_PTHREAD_MUTEXATTR_T
+ 4
+
+       )
+
+49 \ 1
+       #__SIZEOF_PTHREAD_COND_T
+ 48
+
+       )
+
+50 \ 1
+       #__SIZEOF_PTHREAD_CONDATTR_T
+ 4
+
+       )
+
+51 \ 1
+       #__SIZEOF_PTHREAD_RWLOCK_T
+ 32
+
+       )
+
+52 \ 1
+       #__SIZEOF_PTHREAD_RWLOCKATTR_T
+ 8
+
+       )
+
+53 \ 1
+       #__SIZEOF_PTHREAD_BARRIER_T
+ 20
+
+       )
+
+54 \ 1
+       #__SIZEOF_PTHREAD_BARRIERATTR_T
+ 4
+
+       )
+
+60 \e\1d\13\12
+       t±h»ad_t
+;
+
+63 \1c
+       u±h»ad_©\8c_t
+
+
+65 \ 5
+       m__size
+[
+__SIZEOF_PTHREAD_ATTR_T
+];
+
+66 \13\12
+       m__®ign
+;
+
+68 #iâdeà
+__have_±h»ad_©\8c_t
+
+
+69 \e\1c
+±h»ad_©\8c_t
+       t±h»ad_©\8c_t
+;
+
+70 \ 1
+       #__have_±h»ad_©\8c_t
+ 1
+
+       )
+
+74 #ifdeà
+__x86_64__
+
+
+75 \e\19
+       s__±h»ad_\9a\8bº®_li¡
+
+
+77 \19
+__±h»ad_\9a\8bº®_li¡
+ *
+       m__´ev
+;
+
+78 \19
+__±h»ad_\9a\8bº®_li¡
+ *
+       m__Ãxt
+;
+
+79 } 
+       t__±h»ad_li¡_t
+;
+
+81 \e\19
+       s__±h»ad_\9a\8bº®_¦i¡
+
+
+83 \19
+__±h»ad_\9a\8bº®_¦i¡
+ *
+       m__Ãxt
+;
+
+84 } 
+       t__±h»ad_¦i¡_t
+;
+
+92 \19
+       s__±h»ad_mu\8bx_s
+
+
+94 \12
+       m__lock
+;
+
+95 \1d\12
+       m__couÁ
+;
+
+96 \12
+       m__owÃr
+;
+
+97 #ifdeà
+__x86_64__
+
+
+98 \1d\12
+       m__nu£rs
+;
+
+102 \12
+       m__k\9ad
+;
+
+103 #ifdeà
+__x86_64__
+
+
+104 \16
+       m__¥\9as
+;
+
+105 \16
+       m__\96isiÚ
+;
+
+106 
+__±h»ad_li¡_t
+       m__li¡
+;
+
+107 \ 1
+       #__PTHREAD_MUTEX_HAVE_PREV
+ 1
+
+       )
+
+109 \ 1
+       #__PTHREAD_SPINS
+ 0, 0
+
+       )
+
+111 \1d\12
+       m__nu£rs
+;
+
+112 
+__ex\8bnsiÚ__
+ union
+
+116 \16
+       m__e¥\9as
+;
+
+117 \16
+       m__\96isiÚ
+;
+
+118 \ 1
+       #__¥\9as
+__\96isiÚ_d©a
+.
+__e¥\9as
+
+
+       )
+
+119 \ 1
+       #__\96isiÚ
+__\96isiÚ_d©a
+.
+__\96isiÚ
+
+
+       )
+
+120 \ 1
+       #__PTHREAD_SPINS
+ { 0, 0 }
+
+       )
+
+121 } 
+       m__\96isiÚ_d©a
+;
+
+122 
+__±h»ad_¦i¡_t
+       m__li¡
+;
+
+125 } 
+       m__d©a
+;
+
+126 \ 5
+       m__size
+[
+__SIZEOF_PTHREAD_MUTEX_T
+];
+
+127 \13\12
+       m__®ign
+;
+
+128 } 
+       t±h»ad_mu\8bx_t
+;
+
+132 \ 5
+       m__size
+[
+__SIZEOF_PTHREAD_MUTEXATTR_T
+];
+
+133 \12
+       m__®ign
+;
+
+134 } 
+       t±h»ad_mu\8b\8c_t
+;
+
+143 \12
+       m__lock
+;
+
+144 \1d\12
+       m__fu\8bx
+;
+
+145 
+__ex\8bnsiÚ__
\1d\13\13\12
+       m__tÙ®_£q
+;
+
+146 
+__ex\8bnsiÚ__
\1d\13\13\12
+       m__wakeup_£q
+;
+
+147 
+__ex\8bnsiÚ__
\1d\13\13\12
+       m__wok\92_£q
+;
+
+148 \1e*
+       m__mu\8bx
+;
+
+149 \1d\12
+       m__nwa\99\94s
+;
+
+150 \1d\12
+       m__brßdÿ¡_£q
+;
+
+151 } 
+       m__d©a
+;
+
+152 \ 5
+       m__size
+[
+__SIZEOF_PTHREAD_COND_T
+];
+
+153 
+__ex\8bnsiÚ__
\13\13\12
+       m__®ign
+;
+
+154 } 
+       t±h»ad_cÚd_t
+;
+
+158 \ 5
+       m__size
+[
+__SIZEOF_PTHREAD_CONDATTR_T
+];
+
+159 \12
+       m__®ign
+;
+
+160 } 
+       t±h»ad_cÚd©\8c_t
+;
+
+164 \e\1d\12
+       t±h»ad_key_t
+;
+
+168 \e\12
+       t±h»ad_Úû_t
+;
+
+171 #ià
+def\9aed
+__USE_UNIX98
+ || def\9aed 
+__USE_XOPEN2K
+
+
+176 #ifdeà
+__x86_64__
+
+
+179 \12
+       m__lock
+;
+
+180 \1d\12
+       m__Ä_»ad\94s
+;
+
+181 \1d\12
+       m__»ad\94s_wakeup
+;
+
+182 \1d\12
+       m__wr\99\94_wakeup
+;
+
+183 \1d\12
+       m__Ä_»ad\94s_queued
+;
+
+184 \1d\12
+       m__Ä_wr\99\94s_queued
+;
+
+185 \12
+       m__wr\99\94
+;
+
+186 \12
+       m__sh¬ed
+;
+
+187 sigÃd \ 5
+       m__rw\96isiÚ
+;
+
+188 #ifdeà 
+__ILP32__
+
+
+189 \1d\ 5
+       m__·d1
+[3];
+
+190 \ 1
+       #__PTHREAD_RWLOCK_ELISION_EXTRA
+ 0, { 0, 0, 0 }
+
+       )
+
+192 \1d\ 5
+       m__·d1
+[7];
+
+193 \ 1
+       #__PTHREAD_RWLOCK_ELISION_EXTRA
+ 0, { 0, 0, 0, 0, 0, 0, 0 }
+
+       )
+
+195 \1d\13\12
+       m__·d2
+;
+
+198 \1d\12
+       m__æags
+;
+
+199 \ 1
+       #__PTHREAD_RWLOCK_INT_FLAGS_SHARED
+ 1
+
+       )
+
+200 } 
+       m__d©a
+;
+
+204 \12
+       m__lock
+;
+
+205 \1d\12
+       m__Ä_»ad\94s
+;
+
+206 \1d\12
+       m__»ad\94s_wakeup
+;
+
+207 \1d\12
+       m__wr\99\94_wakeup
+;
+
+208 \1d\12
+       m__Ä_»ad\94s_queued
+;
+
+209 \1d\12
+       m__Ä_wr\99\94s_queued
+;
+
+212 \1d\ 5
+       m__æags
+;
+
+213 \1d\ 5
+       m__sh¬ed
+;
+
+214 sigÃd \ 5
+       m__rw\96isiÚ
+;
+
+215 \ 1
+       #__PTHREAD_RWLOCK_ELISION_EXTRA
+ 0
+
+       )
+
+216 \1d\ 5
+       m__·d2
+;
+
+217 \12
+       m__wr\99\94
+;
+
+218 } 
+       m__d©a
+;
+
+220 \ 5
+       m__size
+[
+__SIZEOF_PTHREAD_RWLOCK_T
+];
+
+221 \13\12
+       m__®ign
+;
+
+222 } 
+       t±h»ad_rwlock_t
+;
+
+226 \ 5
+       m__size
+[
+__SIZEOF_PTHREAD_RWLOCKATTR_T
+];
+
+227 \13\12
+       m__®ign
+;
+
+228 } 
+       t±h»ad_rwlock©\8c_t
+;
+
+232 #ifdeà
+__USE_XOPEN2K
+
+
+234 \evÞ©\9e\90\12
+       t±h»ad_¥\9alock_t
+;
+
+241 \ 5
+       m__size
+[
+__SIZEOF_PTHREAD_BARRIER_T
+];
+
+242 \13\12
+       m__®ign
+;
+
+243 } 
+       t±h»ad_b¬r\9br_t
+;
+
+247 \ 5
+       m__size
+[
+__SIZEOF_PTHREAD_BARRIERATTR_T
+];
+
+248 \12
+       m__®ign
+;
+
+249 } 
+       t±h»ad_b¬r\9b¿\89r_t
+;
+
+253 #iâdeà
+__x86_64__
+
+
+255 \ 1
+       #__þ\97nup_fù_©\8cibu\8b
+       `__©\8cibu\8b__
+ ((
+       `__»g·rm__
+ (1)))
+
+       )
+
+       @/usr/include/bits/setjmp.h
+
+19 #iâdeà
+_BITS_SETJMP_H
+
+
+20 \ 1
+       #_BITS_SETJMP_H
+ 1
+
+       )
+
+22 #ià!
+def\9aed
+_SETJMP_H
+ && !def\9aed 
+_PTHREAD_H
+
+
+26 \ 2
+       ~<b\99s/wÜdsize.h
+>
+
+28 #iâdeà
+_ASM
+
+
+30 #ià
+__WORDSIZE
+ == 64
+
+31 \e\13\12
+       t__jmp_buf
+[8];
+
+32 #\96
+def\9aed
+__x86_64__
+
+
+33 
+__ex\8bnsiÚ__
\e\13\13\12
+       t__jmp_buf
+[8];
+
+35 \e\12
+       t__jmp_buf
+[6];
+
+       @/usr/include/bits/setjmp2.h
+
+19 #iâdeà
+_SETJMP_H
+
+
+24 #ifdeà
+__REDIRECT_NTH
+
+
+25 \r\1e
+__REDIRECT_NTHNL
+ (
+lÚgjmp
+,
+
+26 (\19
+__jmp_buf_\8fg
+__\92v
+[1], \12
+__v®
+),
+
+27 
+__lÚgjmp_chk
+__©\8cibu\8b__
+ ((
+__nÜ\91uº__
+));
+
+28 \r\1e
+__REDIRECT_NTHNL
+ (
+_lÚgjmp
+,
+
+29 (\19
+__jmp_buf_\8fg
+__\92v
+[1], \12
+__v®
+),
+
+30 
+__lÚgjmp_chk
+__©\8cibu\8b__
+ ((
+__nÜ\91uº__
+));
+
+31 \r\1e
+__REDIRECT_NTHNL
+ (
+siglÚgjmp
+,
+
+32 (\19
+__jmp_buf_\8fg
+__\92v
+[1], \12
+__v®
+),
+
+33 
+__lÚgjmp_chk
+__©\8cibu\8b__
+ ((
+__nÜ\91uº__
+));
+
+35 \r\1e
+__lÚgjmp_chk
+ (\19
+__jmp_buf_\8fg
+__\92v
+[1], \12
+__v®
+),
+
+36 
+__THROWNL
+__©\8cibu\8b__
+ ((
+__nÜ\91uº__
+));
+
+37 \ 1
+       #lÚgjmp
+__lÚgjmp_chk
+
+
+       )
+
+38 \ 1
+       #_lÚgjmp
+__lÚgjmp_chk
+
+
+       )
+
+39 \ 1
+       #siglÚgjmp
+__lÚgjmp_chk
+
+
+       )
+
+       @/usr/include/bits/sigaction.h
+
+19 #iâdeà
+_SIGNAL_H
+
+
+24 \19
+       ssigaùiÚ
+
+
+27 #ifdeà
+__USE_POSIX199309
+
+
+31 
+__sighªdËr_t
+       m§_hªdËr
+;
+
+33 \1e(*
+       m§_sigaùiÚ
+è(\12
+       msig\9afo_t
+ *, \1e*);
+
+35 
+       m__sigaùiÚ_hªdËr
+;
+
+36 \ 1
+       #§_hªdËr
+__sigaùiÚ_hªdËr
+.
+§_hªdËr
+
+
+       )
+
+37 \ 1
+       #§_sigaùiÚ
+__sigaùiÚ_hªdËr
+.
+§_sigaùiÚ
+
+
+       )
+
+39 
+__sighªdËr_t
+       m§_hªdËr
+;
+
+43 
+__sig£t_t
+       m§_mask
+;
+
+46 \12
+       m§_æags
+;
+
+49 \1e(*
+       m§_»¡Ü\94
+) (\1e);
+
+53 \ 1
+       #SA_NOCLDSTOP
+ 1
+
+       )
+
+54 \ 1
+       #SA_NOCLDWAIT
+ 2
+
+       )
+
+55 \ 1
+       #SA_SIGINFO
+ 4
+
+       )
+
+57 #ià
+def\9aed
+__USE_UNIX98
+ || def\9aed 
+__USE_MISC
+
+
+58 \ 1
+       #SA_ONSTACK
+ 0x08000000
+
+       )
+
+60 #ià
+def\9aed
+__USE_UNIX98
+ || def\9aed 
+__USE_XOPEN2K8
+
+
+61 \ 1
+       #SA_RESTART
+ 0x10000000
+
+       )
+
+62 \ 1
+       #SA_NODEFER
+ 0x40000000
+
+       )
+
+64 \ 1
+       #SA_RESETHAND
+ 0x80000000
+
+       )
+
+66 #ifdeà
+__USE_MISC
+
+
+67 \ 1
+       #SA_INTERRUPT
+ 0x20000000
+
+       )
+
+70 \ 1
+       #SA_NOMASK
+SA_NODEFER
+
+
+       )
+
+71 \ 1
+       #SA_ONESHOT
+SA_RESETHAND
+
+
+       )
+
+72 \ 1
+       #SA_STACK
+SA_ONSTACK
+
+
+       )
+
+76 \ 1
+       #SIG_BLOCK
+ 0
+
+       )
+
+77 \ 1
+       #SIG_UNBLOCK
+ 1
+
+       )
+
+78 \ 1
+       #SIG_SETMASK
+ 2
+
+       )
+
+       @/usr/include/bits/sigcontext.h
+
+18 #iâdeà
+_BITS_SIGCONTEXT_H
+
+
+19 \ 1
+       #_BITS_SIGCONTEXT_H
+ 1
+
+       )
+
+21 #ià!
+def\9aed
+_SIGNAL_H
+ && !def\9aed 
+_SYS_UCONTEXT_H
+
+
+25 \ 1
+       #FP_XSTATE_MAGIC1
+ 0x46505853U
+
+       )
+
+26 \ 1
+       #FP_XSTATE_MAGIC2
+ 0x46505845U
+
+       )
+
+27 \ 1
+       #FP_XSTATE_MAGIC2_SIZE
\17(
+FP_XSTATE_MAGIC2
+)
+
+       )
+
+29 \19
+       s_åx_sw_by\8bs
+
+
+31 
+__u\9at32_t
+       mmagic1
+;
+
+32 
+__u\9at32_t
+       mex\8bnded_size
+;
+
+33 
+__u\9at64_t
+       mx¡©e_bv
+;
+
+34 
+__u\9at32_t
+       mx¡©e_size
+;
+
+35 
+__u\9at32_t
+       m·dd\9ag
+[7];
+
+38 \19
+       s_å»g
+
+
+40 \1d\16
+       msignifiÿnd
+[4];
+
+41 \1d\16
+       mexpڒt
+;
+
+44 \19
+       s_åx»g
+
+
+46 \1d\16
+       msignifiÿnd
+[4];
+
+47 \1d\16
+       mexpڒt
+;
+
+48 \1d\16
+       m·dd\9ag
+[3];
+
+51 \19
+       s_xmm»g
+
+
+53 
+__u\9at32_t
+       m\96em\92t
+[4];
+
+58 #iâdeà
+__x86_64__
+
+
+60 \19
+       s_塩e
+
+
+63 
+__u\9at32_t
+       mcw
+;
+
+64 
+__u\9at32_t
+       msw
+;
+
+65 
+__u\9at32_t
+       m\8fg
+;
+
+66 
+__u\9at32_t
+       m\9doff
+;
+
+67 
+__u\9at32_t
+       mcs£l
+;
+
+68 
+__u\9at32_t
+       md©aoff
+;
+
+69 
+__u\9at32_t
+       md©a£l
+;
+
+70 \19
+_å»g
+       m_¡
+[8];
+
+71 \1d\16
+       m¡©us
+;
+
+72 \1d\16
+       mmagic
+;
+
+75 
+__u\9at32_t
+       m_fx¤_\92v
+[6];
+
+76 
+__u\9at32_t
+       mmxc¤
+;
+
+77 
+__u\9at32_t
+       m»£rved
+;
+
+78 \19
+_åx»g
+       m_fx¤_¡
+[8];
+
+79 \19
+_xmm»g
+       m_xmm
+[8];
+
+80 
+__u\9at32_t
+       m·dd\9ag
+[56];
+
+83 #iâdeà
+sigcÚ\8bxt_¡ruù
+
+
+88 \ 1
+       #sigcÚ\8bxt_¡ruù
+sigcڋxt
+
+
+       )
+
+91 \ 1
+       #X86_FXSR_MAGIC
+ 0x0000
+
+       )
+
+93 \19
+       ssigcڋxt
+
+
+95 \1d\16
+       mgs
+, 
+       m__gsh
+;
+
+96 \1d\16
+       mfs
+, 
+       m__fsh
+;
+
+97 \1d\16
+       mes
+, 
+       m__esh
+;
+
+98 \1d\16
+       mds
+, 
+       m__dsh
+;
+
+99 \1d\13
+       medi
+;
+
+100 \1d\13
+       mesi
+;
+
+101 \1d\13
+       mebp
+;
+
+102 \1d\13
+       me¥
+;
+
+103 \1d\13
+       mebx
+;
+
+104 \1d\13
+       medx
+;
+
+105 \1d\13
+       mecx
+;
+
+106 \1d\13
+       m\97x
+;
+
+107 \1d\13
+       m\8c­no
+;
+
+108 \1d\13
+       m\94r
+;
+
+109 \1d\13
+       me\9d
+;
+
+110 \1d\16
+       mcs
+, 
+       m__csh
+;
+
+111 \1d\13
+       meæags
+;
+
+112 \1d\13
+       me¥_©_sigÇl
+;
+
+113 \1d\16
+       mss
+, 
+       m__ssh
+;
+
+114 \19
+_塩e
+ * 
+       m塩e
+;
+
+115 \1d\13
+       mÞdmask
+;
+
+116 \1d\13
+       mü2
+;
+
+121 \19
+       s_塩e
+
+
+124 
+__u\9at16_t
+       mcwd
+;
+
+125 
+__u\9at16_t
+       mswd
+;
+
+126 
+__u\9at16_t
+       máw
+;
+
+127 
+__u\9at16_t
+       mfÝ
+;
+
+128 
+__u\9at64_t
+       mr\9d
+;
+
+129 
+__u\9at64_t
+       mrdp
+;
+
+130 
+__u\9at32_t
+       mmxc¤
+;
+
+131 
+__u\9at32_t
+       mmxü_mask
+;
+
+132 \19
+_åx»g
+       m_¡
+[8];
+
+133 \19
+_xmm»g
+       m_xmm
+[16];
+
+134 
+__u\9at32_t
+       m·dd\9ag
+[24];
+
+137 \19
+       ssigcڋxt
+
+
+139 
+__u\9at64_t
+       mr8
+;
+
+140 
+__u\9at64_t
+       mr9
+;
+
+141 
+__u\9at64_t
+       mr10
+;
+
+142 
+__u\9at64_t
+       mr11
+;
+
+143 
+__u\9at64_t
+       mr12
+;
+
+144 
+__u\9at64_t
+       mr13
+;
+
+145 
+__u\9at64_t
+       mr14
+;
+
+146 
+__u\9at64_t
+       mr15
+;
+
+147 
+__u\9at64_t
+       mrdi
+;
+
+148 
+__u\9at64_t
+       mrsi
+;
+
+149 
+__u\9at64_t
+       mrbp
+;
+
+150 
+__u\9at64_t
+       mrbx
+;
+
+151 
+__u\9at64_t
+       mrdx
+;
+
+152 
+__u\9at64_t
+       m¿x
+;
+
+153 
+__u\9at64_t
+       mrcx
+;
+
+154 
+__u\9at64_t
+       mr¥
+;
+
+155 
+__u\9at64_t
+       mr\9d
+;
+
+156 
+__u\9at64_t
+       meæags
+;
+
+157 \1d\16
+       mcs
+;
+
+158 \1d\16
+       mgs
+;
+
+159 \1d\16
+       mfs
+;
+
+160 \1d\16
+       m__·d0
+;
+
+161 
+__u\9at64_t
+       m\94r
+;
+
+162 
+__u\9at64_t
+       m\8c­no
+;
+
+163 
+__u\9at64_t
+       mÞdmask
+;
+
+164 
+__u\9at64_t
+       mü2
+;
+
+165 
+__ex\8bnsiÚ__
+ union
+
+167 \19
+_塩e
+ * 
+       m塩e
+;
+
+168 
+__u\9at64_t
+       m__å¡©e_wÜd
+;
+
+170 
+__u\9at64_t
+       m__»£rved1
+ [8];
+
+175 \19
+       s_x§ve_hdr
+
+
+177 
+__u\9at64_t
+       mx¡©e_bv
+;
+
+178 
+__u\9at64_t
+       m»£rved1
+[2];
+
+179 
+__u\9at64_t
+       m»£rved2
+[5];
+
+182 \19
+       s_ymmh_¡©e
+
+
+184 
+__u\9at32_t
+       mymmh_¥aû
+[64];
+
+187 \19
+       s_x¡©e
+
+
+189 \19
+_塩e
+       m塩e
+;
+
+190 \19
+_x§ve_hdr
+       mx¡©e_hdr
+;
+
+191 \19
+_ymmh_¡©e
+       mymmh
+;
+
+       @/usr/include/bits/siginfo.h
+
+19 #ià!
+def\9aed
+_SIGNAL_H
+ && !def\9aed 
+__Ãed_sig\9afo_t
+ \
+
+20 && !
+def\9aed
+       g__Ãed_sigev\92t_t
+
+
+24 \ 2
+       ~<b\99s/wÜdsize.h
+>
+
+26 #ià(!
+def\9aed
+__have_sigv®_t
+ \
+
+27 && (
+def\9aed
+       g_SIGNAL_H
+ || def\9aed 
+       g__Ãed_sig\9afo_t
+ \
+
+28 || 
+def\9aed
+       g__Ãed_sigev\92t_t
+))
+
+29 \ 1
+       #__have_sigv®_t
+ 1
+
+       )
+
+32 \e\1c
+       usigv®
+
+
+34 \12
+       msiv®_\9at
+;
+
+35 \1e*
+       msiv®_±r
+;
+
+36 } 
+       tsigv®_t
+;
+
+39 #ià(!
+def\9aed
+__have_sig\9afo_t
+ \
+
+40 && (
+def\9aed
+       g_SIGNAL_H
+ || def\9aed 
+       g__Ãed_sig\9afo_t
+))
+
+41 \ 1
+       #__have_sig\9afo_t
+ 1
+
+       )
+
+43 \ 1
+       #__SI_MAX_SIZE
+ 128
+
+       )
+
+44 #ià
+__WORDSIZE
+ == 64
+
+45 \ 1
+       #__SI_PAD_SIZE
+ ((
+__SI_MAX_SIZE
+ / \17 (\12)è- 4)
+
+       )
+
+47 \ 1
+       #__SI_PAD_SIZE
+ ((
+__SI_MAX_SIZE
+ / \17 (\12)è- 3)
+
+       )
+
+50 #ià
+def\9aed
+__x86_64__
+ && 
+__WORDSIZE
+ == 32
+
+55 \e
+__þock_t
+       t__©\8cibu\8b__
+ ((
+       t__®igÃd__
+ (4))è
+       t__sigchld_þock_t
+;
+
+56 \ 1
+       #__SI_ALIGNMENT
+       `__©\8cibu\8b__
+ ((
+       `__®igÃd__
+ (8)))
+
+       )
+
+58 \e
+__þock_t
+       t__sigchld_þock_t
+;
+
+59 \ 1
+       #__SI_ALIGNMENT
+
+
+       )
+
+64 \12
+si_signo
+;
+
+65 \12
+si_\94ºo
+;
+
+67 \12
+si_code
+;
+
+71 \12
+_·d
+[
+__SI_PAD_SIZE
+];
+
+76 
+__pid_t
+si_pid
+;
+
+77 
+__uid_t
+si_uid
+;
+
+78 } 
+_k\9el
+;
+
+83 \12
+si_tid
+;
+
+84 \12
+si_ov\94run
+;
+
+85 
+sigv®_t
+si_sigv®
+;
+
+86 } 
+_tim\94
+;
+
+91 
+__pid_t
+si_pid
+;
+
+92 
+__uid_t
+si_uid
+;
+
+93 
+sigv®_t
+si_sigv®
+;
+
+94 } 
+_¹
+;
+
+99 
+__pid_t
+si_pid
+;
+
+100 
+__uid_t
+si_uid
+;
+
+101 \12
+si_¡©us
+;
+
+102 
+__sigchld_þock_t
+si_utime
+;
+
+103 
+__sigchld_þock_t
+si_¡ime
+;
+
+104 } 
+_sigchld
+;
+
+109 \1e*
+si_addr
+;
+
+110 \16\12
+si_addr_lsb
+;
+
+113 \1e*
+_low\94
+;
+
+114 \1e*
+_uµ\94
+;
+
+115 } 
+si_addr_bnd
+;
+
+116 } 
+_sigçuÉ
+;
+
+121 \13\12
+si_bªd
+;
+
+122 \12
+si_fd
+;
+
+123 } 
+_sigpÞl
+;
+
+128 \1e*
+_ÿÎ_addr
+;
+
+129 \12
+_sysÿÎ
+;
+
+130 \1d\12
+_¬ch
+;
+
+131 } 
+_sigsys
+;
+
+132 } 
+_sif\9blds
+;
+
+133 } 
+       tsig\9afo_t
+       t__SI_ALIGNMENT
+;
+
+137 \ 1
+       #si_pid
+_sif\9blds
+.
+_k\9el
+.
+si_pid
+
+
+       )
+
+138 \ 1
+       #si_uid
+_sif\9blds
+.
+_k\9el
+.
+si_uid
+
+
+       )
+
+139 \ 1
+       #si_tim\94id
+_sif\9blds
+.
+_tim\94
+.
+si_tid
+
+
+       )
+
+140 \ 1
+       #si_ov\94run
+_sif\9blds
+.
+_tim\94
+.
+si_ov\94run
+
+
+       )
+
+141 \ 1
+       #si_¡©us
+_sif\9blds
+.
+_sigchld
+.
+si_¡©us
+
+
+       )
+
+142 \ 1
+       #si_utime
+_sif\9blds
+.
+_sigchld
+.
+si_utime
+
+
+       )
+
+143 \ 1
+       #si_¡ime
+_sif\9blds
+.
+_sigchld
+.
+si_¡ime
+
+
+       )
+
+144 \ 1
+       #si_v®ue
+_sif\9blds
+.
+_¹
+.
+si_sigv®
+
+
+       )
+
+145 \ 1
+       #si_\9at
+_sif\9blds
+.
+_¹
+.
+si_sigv®
+.
+siv®_\9at
+
+
+       )
+
+146 \ 1
+       #si_±r
+_sif\9blds
+.
+_¹
+.
+si_sigv®
+.
+siv®_±r
+
+
+       )
+
+147 \ 1
+       #si_addr
+_sif\9blds
+.
+_sigçuÉ
+.
+si_addr
+
+
+       )
+
+148 \ 1
+       #si_addr_lsb
+_sif\9blds
+.
+_sigçuÉ
+.
+si_addr_lsb
+
+
+       )
+
+149 \ 1
+       #si_low\94
+_sif\9blds
+.
+_sigçuÉ
+.
+si_addr_bnd
+.
+_low\94
+
+
+       )
+
+150 \ 1
+       #si_uµ\94
+_sif\9blds
+.
+_sigçuÉ
+.
+si_addr_bnd
+.
+_uµ\94
+
+
+       )
+
+151 \ 1
+       #si_bªd
+_sif\9blds
+.
+_sigpÞl
+.
+si_bªd
+
+
+       )
+
+152 \ 1
+       #si_fd
+_sif\9blds
+.
+_sigpÞl
+.
+si_fd
+
+
+       )
+
+153 \ 1
+       #si_ÿÎ_addr
+_sif\9blds
+.
+_sigsys
+.
+_ÿÎ_addr
+
+
+       )
+
+154 \ 1
+       #si_sysÿÎ
+_sif\9blds
+.
+_sigsys
+.
+_sysÿÎ
+
+
+       )
+
+155 \ 1
+       #si_¬ch
+_sif\9blds
+.
+_sigsys
+.
+_¬ch
+
+
+       )
+
+162 
+SI_ASYNCNL
+ = -60,
+
+163 \ 1
+       #SI_ASYNCNL
+SI_ASYNCNL
+
+
+       )
+
+164 
+SI_TKILL
+ = -6,
+
+165 \ 1
+       #SI_TKILL
+SI_TKILL
+
+
+       )
+
+166 
+SI_SIGIO
+,
+
+167 \ 1
+       #SI_SIGIO
+SI_SIGIO
+
+
+       )
+
+168 
+SI_ASYNCIO
+,
+
+169 \ 1
+       #SI_ASYNCIO
+SI_ASYNCIO
+
+
+       )
+
+170 
+SI_MESGQ
+,
+
+171 \ 1
+       #SI_MESGQ
+SI_MESGQ
+
+
+       )
+
+172 
+SI_TIMER
+,
+
+173 \ 1
+       #SI_TIMER
+SI_TIMER
+
+
+       )
+
+174 
+SI_QUEUE
+,
+
+175 \ 1
+       #SI_QUEUE
+SI_QUEUE
+
+
+       )
+
+176 
+SI_USER
+,
+
+177 \ 1
+       #SI_USER
+SI_USER
+
+
+       )
+
+178 
+SI_KERNEL
+ = 0x80
+
+179 \ 1
+       #SI_KERNEL
+SI_KERNEL
+
+
+       )
+
+183 #ià
+def\9aed
+__USE_XOPEN_EXTENDED
+ || def\9aed 
+__USE_XOPEN2K8
+
+
+187 
+ILL_ILLOPC
+ = 1,
+
+188 \ 1
+       #ILL_ILLOPC
+ILL_ILLOPC
+
+
+       )
+
+189 
+ILL_ILLOPN
+,
+
+190 \ 1
+       #ILL_ILLOPN
+ILL_ILLOPN
+
+
+       )
+
+191 
+ILL_ILLADR
+,
+
+192 \ 1
+       #ILL_ILLADR
+ILL_ILLADR
+
+
+       )
+
+193 
+ILL_ILLTRP
+,
+
+194 \ 1
+       #ILL_ILLTRP
+ILL_ILLTRP
+
+
+       )
+
+195 
+ILL_PRVOPC
+,
+
+196 \ 1
+       #ILL_PRVOPC
+ILL_PRVOPC
+
+
+       )
+
+197 
+ILL_PRVREG
+,
+
+198 \ 1
+       #ILL_PRVREG
+ILL_PRVREG
+
+
+       )
+
+199 
+ILL_COPROC
+,
+
+200 \ 1
+       #ILL_COPROC
+ILL_COPROC
+
+
+       )
+
+201 
+ILL_BADSTK
+
+
+202 \ 1
+       #ILL_BADSTK
+ILL_BADSTK
+
+
+       )
+
+208 
+FPE_INTDIV
+ = 1,
+
+209 \ 1
+       #FPE_INTDIV
+FPE_INTDIV
+
+
+       )
+
+210 
+FPE_INTOVF
+,
+
+211 \ 1
+       #FPE_INTOVF
+FPE_INTOVF
+
+
+       )
+
+212 
+FPE_FLTDIV
+,
+
+213 \ 1
+       #FPE_FLTDIV
+FPE_FLTDIV
+
+
+       )
+
+214 
+FPE_FLTOVF
+,
+
+215 \ 1
+       #FPE_FLTOVF
+FPE_FLTOVF
+
+
+       )
+
+216 
+FPE_FLTUND
+,
+
+217 \ 1
+       #FPE_FLTUND
+FPE_FLTUND
+
+
+       )
+
+218 
+FPE_FLTRES
+,
+
+219 \ 1
+       #FPE_FLTRES
+FPE_FLTRES
+
+
+       )
+
+220 
+FPE_FLTINV
+,
+
+221 \ 1
+       #FPE_FLTINV
+FPE_FLTINV
+
+
+       )
+
+222 
+FPE_FLTSUB
+
+
+223 \ 1
+       #FPE_FLTSUB
+FPE_FLTSUB
+
+
+       )
+
+229 
+SEGV_MAPERR
+ = 1,
+
+230 \ 1
+       #SEGV_MAPERR
+SEGV_MAPERR
+
+
+       )
+
+231 
+SEGV_ACCERR
+
+
+232 \ 1
+       #SEGV_ACCERR
+SEGV_ACCERR
+
+
+       )
+
+238 
+BUS_ADRALN
+ = 1,
+
+239 \ 1
+       #BUS_ADRALN
+BUS_ADRALN
+
+
+       )
+
+240 
+BUS_ADRERR
+,
+
+241 \ 1
+       #BUS_ADRERR
+BUS_ADRERR
+
+
+       )
+
+242 
+BUS_OBJERR
+,
+
+243 \ 1
+       #BUS_OBJERR
+BUS_OBJERR
+
+
+       )
+
+244 
+BUS_MCEERR_AR
+,
+
+245 \ 1
+       #BUS_MCEERR_AR
+BUS_MCEERR_AR
+
+
+       )
+
+246 
+BUS_MCEERR_AO
+
+
+247 \ 1
+       #BUS_MCEERR_AO
+BUS_MCEERR_AO
+
+
+       )
+
+251 #ifdeà
+__USE_XOPEN_EXTENDED
+
+
+255 
+TRAP_BRKPT
+ = 1,
+
+256 \ 1
+       #TRAP_BRKPT
+TRAP_BRKPT
+
+
+       )
+
+257 
+TRAP_TRACE
+
+
+258 \ 1
+       #TRAP_TRACE
+TRAP_TRACE
+
+
+       )
+
+262 #ià
+def\9aed
+__USE_XOPEN_EXTENDED
+ || def\9aed 
+__USE_XOPEN2K8
+
+
+266 
+CLD_EXITED
+ = 1,
+
+267 \ 1
+       #CLD_EXITED
+CLD_EXITED
+
+
+       )
+
+268 
+CLD_KILLED
+,
+
+269 \ 1
+       #CLD_KILLED
+CLD_KILLED
+
+
+       )
+
+270 
+CLD_DUMPED
+,
+
+271 \ 1
+       #CLD_DUMPED
+CLD_DUMPED
+
+
+       )
+
+272 
+CLD_TRAPPED
+,
+
+273 \ 1
+       #CLD_TRAPPED
+CLD_TRAPPED
+
+
+       )
+
+274 
+CLD_STOPPED
+,
+
+275 \ 1
+       #CLD_STOPPED
+CLD_STOPPED
+
+
+       )
+
+276 
+CLD_CONTINUED
+
+
+277 \ 1
+       #CLD_CONTINUED
+CLD_CONTINUED
+
+
+       )
+
+283 
+POLL_IN
+ = 1,
+
+284 \ 1
+       #POLL_IN
+POLL_IN
+
+
+       )
+
+285 
+POLL_OUT
+,
+
+286 \ 1
+       #POLL_OUT
+POLL_OUT
+
+
+       )
+
+287 
+POLL_MSG
+,
+
+288 \ 1
+       #POLL_MSG
+POLL_MSG
+
+
+       )
+
+289 
+POLL_ERR
+,
+
+290 \ 1
+       #POLL_ERR
+POLL_ERR
+
+
+       )
+
+291 
+POLL_PRI
+,
+
+292 \ 1
+       #POLL_PRI
+POLL_PRI
+
+
+       )
+
+293 
+POLL_HUP
+
+
+294 \ 1
+       #POLL_HUP
+POLL_HUP
+
+
+       )
+
+298 #undeà
+__Ãed_sig\9afo_t
+
+
+302 #ià(
+def\9aed
+_SIGNAL_H
+ || def\9aed 
+__Ãed_sigev\92t_t
+) \
+
+303 && !
+def\9aed
+__have_sigev\92t_t
+
+
+304 \ 1
+       #__have_sigev\92t_t
+ 1
+
+       )
+
+307 \ 1
+       #__SIGEV_MAX_SIZE
+ 64
+
+       )
+
+308 #ià
+__WORDSIZE
+ == 64
+
+309 \ 1
+       #__SIGEV_PAD_SIZE
+ ((
+__SIGEV_MAX_SIZE
+ / \17 (\12)è- 4)
+
+       )
+
+311 \ 1
+       #__SIGEV_PAD_SIZE
+ ((
+__SIGEV_MAX_SIZE
+ / \17 (\12)è- 3)
+
+       )
+
+315 #iâdeà
+__have_±h»ad_©\8c_t
+
+
+316 \e\1c
+±h»ad_©\8c_t
+       t±h»ad_©\8c_t
+;
+
+317 \ 1
+       #__have_±h»ad_©\8c_t
+ 1
+
+       )
+
+320 \e\19
+       ssigev\92t
+
+
+322 
+sigv®_t
+sigev_v®ue
+;
+
+323 \12
+sigev_signo
+;
+
+324 \12
+sigev_nÙify
+;
+
+328 \12
+_·d
+[
+__SIGEV_PAD_SIZE
+];
+
+332 
+__pid_t
+_tid
+;
+
+336 \1e(*
+_funùiÚ
+è(
+sigv®_t
+);
+
+337 
+±h»ad_©\8c_t
+ *
+_©\8cibu\8b
+;
+
+338 } 
+_sigev_th»ad
+;
+
+339 } 
+_sigev_un
+;
+
+340 } 
+       tsigev\92t_t
+;
+
+343 \ 1
+       #sigev_nÙify_funùiÚ
+_sigev_un
+.
+_sigev_th»ad
+.
+_funùiÚ
+
+
+       )
+
+344 \ 1
+       #sigev_nÙify_©\8cibu\8bs
+_sigev_un
+.
+_sigev_th»ad
+.
+_©\8cibu\8b
+
+
+       )
+
+349 
+SIGEV_SIGNAL
+ = 0,
+
+350 \ 1
+       #SIGEV_SIGNAL
+SIGEV_SIGNAL
+
+
+       )
+
+351 
+SIGEV_NONE
+,
+
+352 \ 1
+       #SIGEV_NONE
+SIGEV_NONE
+
+
+       )
+
+353 
+SIGEV_THREAD
+,
+
+354 \ 1
+       #SIGEV_THREAD
+SIGEV_THREAD
+
+
+       )
+
+356 
+SIGEV_THREAD_ID
+ = 4
+
+357 \ 1
+       #SIGEV_THREAD_ID
+SIGEV_THREAD_ID
+
+
+       )
+
+       @/usr/include/bits/signum.h
+
+19 #ifdef 
+_SIGNAL_H
+
+
+22 \ 1
+       #SIG_ERR
+ ((
+__sighªdËr_t
+è-1è
+
+       )
+
+23 \ 1
+       #SIG_DFL
+ ((
+__sighªdËr_t
+è0è
+
+       )
+
+24 \ 1
+       #SIG_IGN
+ ((
+__sighªdËr_t
+è1è
+
+       )
+
+26 #ifdeà
+__USE_UNIX98
+
+
+27 \ 1
+       #SIG_HOLD
+ ((
+__sighªdËr_t
+è2è
+
+       )
+
+32 \ 1
+       #SIGHUP
+ 1
+
+       )
+
+33 \ 1
+       #SIGINT
+ 2
+
+       )
+
+34 \ 1
+       #SIGQUIT
+ 3
+
+       )
+
+35 \ 1
+       #SIGILL
+ 4
+
+       )
+
+36 \ 1
+       #SIGTRAP
+ 5
+
+       )
+
+37 \ 1
+       #SIGABRT
+ 6
+
+       )
+
+38 \ 1
+       #SIGIOT
+ 6
+
+       )
+
+39 \ 1
+       #SIGBUS
+ 7
+
+       )
+
+40 \ 1
+       #SIGFPE
+ 8
+
+       )
+
+41 \ 1
+       #SIGKILL
+ 9
+
+       )
+
+42 \ 1
+       #SIGUSR1
+ 10
+
+       )
+
+43 \ 1
+       #SIGSEGV
+ 11
+
+       )
+
+44 \ 1
+       #SIGUSR2
+ 12
+
+       )
+
+45 \ 1
+       #SIGPIPE
+ 13
+
+       )
+
+46 \ 1
+       #SIGALRM
+ 14
+
+       )
+
+47 \ 1
+       #SIGTERM
+ 15
+
+       )
+
+48 \ 1
+       #SIGSTKFLT
+ 16
+
+       )
+
+49 \ 1
+       #SIGCLD
+SIGCHLD
+
+
+       )
+
+50 \ 1
+       #SIGCHLD
+ 17
+
+       )
+
+51 \ 1
+       #SIGCONT
+ 18
+
+       )
+
+52 \ 1
+       #SIGSTOP
+ 19
+
+       )
+
+53 \ 1
+       #SIGTSTP
+ 20
+
+       )
+
+54 \ 1
+       #SIGTTIN
+ 21
+
+       )
+
+55 \ 1
+       #SIGTTOU
+ 22
+
+       )
+
+56 \ 1
+       #SIGURG
+ 23
+
+       )
+
+57 \ 1
+       #SIGXCPU
+ 24
+
+       )
+
+58 \ 1
+       #SIGXFSZ
+ 25
+
+       )
+
+59 \ 1
+       #SIGVTALRM
+ 26
+
+       )
+
+60 \ 1
+       #SIGPROF
+ 27
+
+       )
+
+61 \ 1
+       #SIGWINCH
+ 28
+
+       )
+
+62 \ 1
+       #SIGPOLL
+SIGIO
+
+
+       )
+
+63 \ 1
+       #SIGIO
+ 29
+
+       )
+
+64 \ 1
+       #SIGPWR
+ 30
+
+       )
+
+65 \ 1
+       #SIGSYS
+ 31
+
+       )
+
+66 \ 1
+       #SIGUNUSED
+ 31
+
+       )
+
+68 \ 1
+       #_NSIG
+ 65
+
+       )
+
+71 \ 1
+       #SIGRTMIN
+ (
+       `__libc_cu¼\92t_sig¹m\9a
+ ())
+
+       )
+
+72 \ 1
+       #SIGRTMAX
+ (
+       `__libc_cu¼\92t_sig¹max
+ ())
+
+       )
+
+76 \ 1
+       #__SIGRTMIN
+ 32
+
+       )
+
+77 \ 1
+       #__SIGRTMAX
+ (
+_NSIG
+ - 1)
+
+       )
+
+       @/usr/include/bits/sigset.h
+
+19 #iâdef 
+_SIGSET_H_ty³s
+
+
+20 \ 1
+       #_SIGSET_H_ty³s
+ 1
+
+       )
+
+22 \e\12
+       t__sig_©omic_t
+;
+
+26 \ 1
+       #_SIGSET_NWORDS
+ (1024 / (8 * \17 (\1d\13\12)))
+
+       )
+
+29 \1d\13\12
+       m__v®
+[
+_SIGSET_NWORDS
+];
+
+30 } 
+       t__sig£t_t
+;
+
+41 #ià!
+def\9aed
+_SIGSET_H_âs
+ && def\9aed 
+_SIGNAL_H
+
+
+42 \ 1
+       #_SIGSET_H_âs
+ 1
+
+       )
+
+44 #iâdeà
+_EXTERN_INLINE
+
+
+45 \ 1
+       #_EXTERN_INLINE
+__ex\8bº_\9al\9ae
+
+
+       )
+
+49 \ 1
+       #__sigmask
+(
+sig
+) \
+
+50 (((\1d\13\12è1è<< (((
+sig
+è- 1è% (8 * \17 (\1d\13\12))))
+
+       )
+
+53 \ 1
+       #__sigwÜd
+(
+sig
+è(((sigè- 1è/ (8 * \17 (\1d\13\12)))
+
+       )
+
+55 #ià
+def\9aed
+__GNUC__
+ && __GNUC__ >= 2
+
+56 \ 1
+       #__sigem±y£t
+(
+£t
+) \
+
+57 (
+       `__ex\8bnsiÚ__
+ ({ \12
+__út
+ = 
+_SIGSET_NWORDS
+; \
+
+58 
+sig£t_t
+ *
+__£t
+ = (
+£t
+); \
+
+59 \1f--
+__út
+ >ð0è
+__£t
+->
+__v®
+[__cnt] = 0; \
+
+60 0; }))
+
+       )
+
+61 \ 1
+       #__sigf\9el£t
+(
+£t
+) \
+
+62 (
+       `__ex\8bnsiÚ__
+ ({ \12
+__út
+ = 
+_SIGSET_NWORDS
+; \
+
+63 
+sig£t_t
+ *
+__£t
+ = (
+£t
+); \
+
+64 \1f--
+__út
+ >ð0è
+__£t
+->
+__v®
+[__cnt] = ~0UL; \
+
+65 0; }))
+
+       )
+
+67 #ifdeà
+__USE_GNU
+
+
+71 \ 1
+       #__sigi£m±y£t
+(
+£t
+) \
+
+72 (
+       `__ex\8bnsiÚ__
+ ({ \12
+__út
+ = 
+_SIGSET_NWORDS
+; \
+
+73 cڡ 
+sig£t_t
+ *
+__£t
+ = (
+£t
+); \
+
+74 \12
+__»t
+ = 
+__£t
+->
+__v®
+[--
+__út
+]; \
+
+75 \1f!
+__»t
+ && --
+__út
+ >= 0) \
+
+76 
+__»t
+ = 
+__£t
+->
+__v®
+[
+__út
+]; \
+
+77 
+__»t
+ =ð0; }))
+
+       )
+
+78 \ 1
+       #__sigªd£t
+(
+de¡
+, 
+Ëá
+, 
+right
+) \
+
+79 (
+       `__ex\8bnsiÚ__
+ ({ \12
+__út
+ = 
+_SIGSET_NWORDS
+; \
+
+80 
+sig£t_t
+ *
+__de¡
+ = (
+de¡
+); \
+
+81 cڡ 
+sig£t_t
+ *
+__Ëá
+ = (
+Ëá
+); \
+
+82 cڡ 
+sig£t_t
+ *
+__right
+ = (
+right
+); \
+
+83 \1f--
+__út
+ >= 0) \
+
+84 
+__de¡
+->
+__v®
+[
+__út
+] = (
+__Ëá
+->__val[__cnt] \
+
+85 & 
+__right
+->
+__v®
+[
+__út
+]); \
+
+86 0; }))
+
+       )
+
+87 \ 1
+       #__sigܣt
+(
+de¡
+, 
+Ëá
+, 
+right
+) \
+
+88 (
+       `__ex\8bnsiÚ__
+ ({ \12
+__út
+ = 
+_SIGSET_NWORDS
+; \
+
+89 
+sig£t_t
+ *
+__de¡
+ = (
+de¡
+); \
+
+90 cڡ 
+sig£t_t
+ *
+__Ëá
+ = (
+Ëá
+); \
+
+91 cڡ 
+sig£t_t
+ *
+__right
+ = (
+right
+); \
+
+92 \1f--
+__út
+ >= 0) \
+
+93 
+__de¡
+->
+__v®
+[
+__út
+] = (
+__Ëá
+->__val[__cnt] \
+
+94 | 
+__right
+->
+__v®
+[
+__út
+]); \
+
+95 0; }))
+
+       )
+
+102 \r\12
+__sigismemb\94
+ (cڡ 
+__sig£t_t
+ *, \12);
+
+103 \r\12
+__sigadd£t
+ (
+__sig£t_t
+ *, \12);
+
+104 \r\12
+__sigd\96£t
+ (
+__sig£t_t
+ *, \12);
+
+106 #ifdeà
+__USE_EXTERN_INLINES
+
+
+107 \ 1
+       #__SIGSETFN
+(
+NAME
+, 
+BODY
+, 
+CONST
+) \
+
+108 
+_EXTERN_INLINE
\12\
+
+109 
+       `NAME
+ (
+CONST
+__sig£t_t
+ *
+__£t
+, \12
+__sig
+) \
+
+111 \1d\13\12
+__mask
+ = 
+       `__sigmask
+ (
+__sig
+); \
+
+112 \1d\13\12
+__wÜd
+ = 
+       `__sigwÜd
+ (
+__sig
+); \
+
+113 \15 
+BODY
+; \
+
+114 }
+
+       )
+
+116 
+__SIGSETFN
+ (
+__sigismemb\94
+, (
+__£t
+->
+__v®
+[
+__wÜd
+] & 
+__mask
+) ? 1 : 0, const)
+
+117 
+__SIGSETFN
+ (
+__sigadd£t
+, ((
+__£t
+->
+__v®
+[
+__wÜd
+] |ð
+__mask
+), 0), )
+
+118 
+__SIGSETFN
+ (
+__sigd\96£t
+, ((
+__£t
+->
+__v®
+[
+__wÜd
+] &ð~
+__mask
+), 0), )
+
+120 #undeà
+__SIGSETFN
+
+
+       @/usr/include/bits/sigstack.h
+
+19 #iâdeà
+_SIGNAL_H
+
+
+25 \19
+       ssig¡ack
+
+
+27 \1e*
+       mss_¥
+;
+
+28 \12
+       mss_ڡack
+;
+
+35 
+       mSS_ONSTACK
+ = 1,
+
+36 \ 1
+       #SS_ONSTACK
+SS_ONSTACK
+
+
+       )
+
+37 
+       mSS_DISABLE
+
+
+38 \ 1
+       #SS_DISABLE
+SS_DISABLE
+
+
+       )
+
+42 \ 1
+       #MINSIGSTKSZ
+ 2048
+
+       )
+
+45 \ 1
+       #SIGSTKSZ
+ 8192
+
+       )
+
+49 \e\19
+       ssig®t¡ack
+
+
+51 \1e*
+       mss_¥
+;
+
+52 \12
+       mss_æags
+;
+
+53 
+size_t
+       mss_size
+;
+
+54 } 
+       t¡ack_t
+;
+
+       @/usr/include/bits/sigthread.h
+
+19 #iâdeà
+_BITS_SIGTHREAD_H
+
+
+20 \ 1
+       #_BITS_SIGTHREAD_H
+ 1
+
+       )
+
+22 #ià!
+def\9aed
+_SIGNAL_H
+ && !def\9aed 
+_PTHREAD_H
+
+
+30 \r\12
+       $±h»ad_sigmask
+ (\12
+__how
+,
+
+31 cڡ 
+__sig£t_t
+ *
+__»¡riù
+__Ãwmask
+,
+
+32 
+__sig£t_t
+ *
+__»¡riù
+__Þdmask
+)
+__THROW
+;
+
+35 \r\12
+       $±h»ad_k\9el
+ (
+±h»ad_t
+__th»adid
+, \12
+__signo
+__THROW
+;
+
+37 #ifdeà
+__USE_GNU
+
+
+39 \r\12
+       $±h»ad_sigqueue
+ (
+±h»ad_t
+__th»adid
+, \12
+__signo
+,
+
+40 cڡ \1c
+sigv®
+__v®ue
+__THROW
+;
+
+       @/usr/include/bits/socket.h
+
+19 #iâdeà
+__BITS_SOCKET_H
+
+
+20 \ 1
+       #__BITS_SOCKET_H
+
+
+       )
+
+22 #iâdeà
+_SYS_SOCKET_H
+
+
+26 \ 1
+       #__Ãed_size_t
+
+
+       )
+
+27 \ 2
+       ~<¡ddef.h
+>
+
+29 \ 2
+       ~<sys/ty³s.h
+>
+
+32 #iâdeà
+__sockËn_t_def\9aed
+
+
+33 \e
+__sockËn_t
+       tsockËn_t
+;
+
+34 \ 1
+       #__sockËn_t_def\9aed
+
+
+       )
+
+38 \ 2
+       ~<b\99s/sock\91_ty³.h
+>
+
+41 \ 1
+       #PF_UNSPEC
+ 0
+
+       )
+
+42 \ 1
+       #PF_LOCAL
+ 1
+
+       )
+
+43 \ 1
+       #PF_UNIX
+PF_LOCAL
+
+
+       )
+
+44 \ 1
+       #PF_FILE
+PF_LOCAL
+
+
+       )
+
+45 \ 1
+       #PF_INET
+ 2
+
+       )
+
+46 \ 1
+       #PF_AX25
+ 3
+
+       )
+
+47 \ 1
+       #PF_IPX
+ 4
+
+       )
+
+48 \ 1
+       #PF_APPLETALK
+ 5
+
+       )
+
+49 \ 1
+       #PF_NETROM
+ 6
+
+       )
+
+50 \ 1
+       #PF_BRIDGE
+ 7
+
+       )
+
+51 \ 1
+       #PF_ATMPVC
+ 8
+
+       )
+
+52 \ 1
+       #PF_X25
+ 9
+
+       )
+
+53 \ 1
+       #PF_INET6
+ 10
+
+       )
+
+54 \ 1
+       #PF_ROSE
+ 11
+
+       )
+
+55 \ 1
+       #PF_DECÃt
+ 12
+
+       )
+
+56 \ 1
+       #PF_NETBEUI
+ 13
+
+       )
+
+57 \ 1
+       #PF_SECURITY
+ 14
+
+       )
+
+58 \ 1
+       #PF_KEY
+ 15
+
+       )
+
+59 \ 1
+       #PF_NETLINK
+ 16
+
+       )
+
+60 \ 1
+       #PF_ROUTE
+PF_NETLINK
+
+
+       )
+
+61 \ 1
+       #PF_PACKET
+ 17
+
+       )
+
+62 \ 1
+       #PF_ASH
+ 18
+
+       )
+
+63 \ 1
+       #PF_ECONET
+ 19
+
+       )
+
+64 \ 1
+       #PF_ATMSVC
+ 20
+
+       )
+
+65 \ 1
+       #PF_RDS
+ 21
+
+       )
+
+66 \ 1
+       #PF_SNA
+ 22
+
+       )
+
+67 \ 1
+       #PF_IRDA
+ 23
+
+       )
+
+68 \ 1
+       #PF_PPPOX
+ 24
+
+       )
+
+69 \ 1
+       #PF_WANPIPE
+ 25
+
+       )
+
+70 \ 1
+       #PF_LLC
+ 26
+
+       )
+
+71 \ 1
+       #PF_IB
+ 27
+
+       )
+
+72 \ 1
+       #PF_MPLS
+ 28
+
+       )
+
+73 \ 1
+       #PF_CAN
+ 29
+
+       )
+
+74 \ 1
+       #PF_TIPC
+ 30
+
+       )
+
+75 \ 1
+       #PF_BLUETOOTH
+ 31
+
+       )
+
+76 \ 1
+       #PF_IUCV
+ 32
+
+       )
+
+77 \ 1
+       #PF_RXRPC
+ 33
+
+       )
+
+78 \ 1
+       #PF_ISDN
+ 34
+
+       )
+
+79 \ 1
+       #PF_PHONET
+ 35
+
+       )
+
+80 \ 1
+       #PF_IEEE802154
+ 36
+
+       )
+
+81 \ 1
+       #PF_CAIF
+ 37
+
+       )
+
+82 \ 1
+       #PF_ALG
+ 38
+
+       )
+
+83 \ 1
+       #PF_NFC
+ 39
+
+       )
+
+84 \ 1
+       #PF_VSOCK
+ 40
+
+       )
+
+85 \ 1
+       #PF_MAX
+ 41
+
+       )
+
+88 \ 1
+       #AF_UNSPEC
+PF_UNSPEC
+
+
+       )
+
+89 \ 1
+       #AF_LOCAL
+PF_LOCAL
+
+
+       )
+
+90 \ 1
+       #AF_UNIX
+PF_UNIX
+
+
+       )
+
+91 \ 1
+       #AF_FILE
+PF_FILE
+
+
+       )
+
+92 \ 1
+       #AF_INET
+PF_INET
+
+
+       )
+
+93 \ 1
+       #AF_AX25
+PF_AX25
+
+
+       )
+
+94 \ 1
+       #AF_IPX
+PF_IPX
+
+
+       )
+
+95 \ 1
+       #AF_APPLETALK
+PF_APPLETALK
+
+
+       )
+
+96 \ 1
+       #AF_NETROM
+PF_NETROM
+
+
+       )
+
+97 \ 1
+       #AF_BRIDGE
+PF_BRIDGE
+
+
+       )
+
+98 \ 1
+       #AF_ATMPVC
+PF_ATMPVC
+
+
+       )
+
+99 \ 1
+       #AF_X25
+PF_X25
+
+
+       )
+
+100 \ 1
+       #AF_INET6
+PF_INET6
+
+
+       )
+
+101 \ 1
+       #AF_ROSE
+PF_ROSE
+
+
+       )
+
+102 \ 1
+       #AF_DECÃt
+PF_DECÃt
+
+
+       )
+
+103 \ 1
+       #AF_NETBEUI
+PF_NETBEUI
+
+
+       )
+
+104 \ 1
+       #AF_SECURITY
+PF_SECURITY
+
+
+       )
+
+105 \ 1
+       #AF_KEY
+PF_KEY
+
+
+       )
+
+106 \ 1
+       #AF_NETLINK
+PF_NETLINK
+
+
+       )
+
+107 \ 1
+       #AF_ROUTE
+PF_ROUTE
+
+
+       )
+
+108 \ 1
+       #AF_PACKET
+PF_PACKET
+
+
+       )
+
+109 \ 1
+       #AF_ASH
+PF_ASH
+
+
+       )
+
+110 \ 1
+       #AF_ECONET
+PF_ECONET
+
+
+       )
+
+111 \ 1
+       #AF_ATMSVC
+PF_ATMSVC
+
+
+       )
+
+112 \ 1
+       #AF_RDS
+PF_RDS
+
+
+       )
+
+113 \ 1
+       #AF_SNA
+PF_SNA
+
+
+       )
+
+114 \ 1
+       #AF_IRDA
+PF_IRDA
+
+
+       )
+
+115 \ 1
+       #AF_PPPOX
+PF_PPPOX
+
+
+       )
+
+116 \ 1
+       #AF_WANPIPE
+PF_WANPIPE
+
+
+       )
+
+117 \ 1
+       #AF_LLC
+PF_LLC
+
+
+       )
+
+118 \ 1
+       #AF_IB
+PF_IB
+
+
+       )
+
+119 \ 1
+       #AF_MPLS
+PF_MPLS
+
+
+       )
+
+120 \ 1
+       #AF_CAN
+PF_CAN
+
+
+       )
+
+121 \ 1
+       #AF_TIPC
+PF_TIPC
+
+
+       )
+
+122 \ 1
+       #AF_BLUETOOTH
+PF_BLUETOOTH
+
+
+       )
+
+123 \ 1
+       #AF_IUCV
+PF_IUCV
+
+
+       )
+
+124 \ 1
+       #AF_RXRPC
+PF_RXRPC
+
+
+       )
+
+125 \ 1
+       #AF_ISDN
+PF_ISDN
+
+
+       )
+
+126 \ 1
+       #AF_PHONET
+PF_PHONET
+
+
+       )
+
+127 \ 1
+       #AF_IEEE802154
+PF_IEEE802154
+
+
+       )
+
+128 \ 1
+       #AF_CAIF
+PF_CAIF
+
+
+       )
+
+129 \ 1
+       #AF_ALG
+PF_ALG
+
+
+       )
+
+130 \ 1
+       #AF_NFC
+PF_NFC
+
+
+       )
+
+131 \ 1
+       #AF_VSOCK
+PF_VSOCK
+
+
+       )
+
+132 \ 1
+       #AF_MAX
+PF_MAX
+
+
+       )
+
+138 \ 1
+       #SOL_RAW
+ 255
+
+       )
+
+139 \ 1
+       #SOL_DECNET
+ 261
+
+       )
+
+140 \ 1
+       #SOL_X25
+ 262
+
+       )
+
+141 \ 1
+       #SOL_PACKET
+ 263
+
+       )
+
+142 \ 1
+       #SOL_ATM
+ 264
+
+       )
+
+143 \ 1
+       #SOL_AAL
+ 265
+
+       )
+
+144 \ 1
+       #SOL_IRDA
+ 266
+
+       )
+
+147 \ 1
+       #SOMAXCONN
+ 128
+
+       )
+
+150 \ 2
+       ~<b\99s/sockaddr.h
+>
+
+153 \19
+       ssockaddr
+
+
+155 
+__SOCKADDR_COMMON
+ (
+§_
+);
+
+156 \ 5
+       m§_d©a
+[14];
+
+162 \ 1
+       #__ss_®igÁy³
\1d\13\12
+
+       )
+
+163 \ 1
+       #_SS_PADSIZE
+ \
+
+164 (
+_SS_SIZE
+ - 
+__SOCKADDR_COMMON_SIZE
+ - \17 (
+__ss_®igÁy³
+))
+
+       )
+
+166 \19
+       ssockaddr_¡Üage
+
+
+168 
+__SOCKADDR_COMMON
+ (
+ss_
+);
+
+169 \ 5
+       m__ss_·dd\9ag
+[
+_SS_PADSIZE
+];
+
+170 
+__ss_®igÁy³
+       m__ss_®ign
+;
+
+177 
+       mMSG_OOB
+ = 0x01,
+
+178 \ 1
+       #MSG_OOB
+MSG_OOB
+
+
+       )
+
+179 
+       mMSG_PEEK
+ = 0x02,
+
+180 \ 1
+       #MSG_PEEK
+MSG_PEEK
+
+
+       )
+
+181 
+       mMSG_DONTROUTE
+ = 0x04,
+
+182 \ 1
+       #MSG_DONTROUTE
+MSG_DONTROUTE
+
+
+       )
+
+183 #ifdeà
+__USE_GNU
+
+
+185 
+       mMSG_TRYHARD
+ = 
+MSG_DONTROUTE
+,
+
+186 \ 1
+       #MSG_TRYHARD
+MSG_DONTROUTE
+
+
+       )
+
+188 
+       mMSG_CTRUNC
+ = 0x08,
+
+189 \ 1
+       #MSG_CTRUNC
+MSG_CTRUNC
+
+
+       )
+
+190 
+       mMSG_PROXY
+ = 0x10,
+
+191 \ 1
+       #MSG_PROXY
+MSG_PROXY
+
+
+       )
+
+192 
+       mMSG_TRUNC
+ = 0x20,
+
+193 \ 1
+       #MSG_TRUNC
+MSG_TRUNC
+
+
+       )
+
+194 
+       mMSG_DONTWAIT
+ = 0x40,
+
+195 \ 1
+       #MSG_DONTWAIT
+MSG_DONTWAIT
+
+
+       )
+
+196 
+       mMSG_EOR
+ = 0x80,
+
+197 \ 1
+       #MSG_EOR
+MSG_EOR
+
+
+       )
+
+198 
+       mMSG_WAITALL
+ = 0x100,
+
+199 \ 1
+       #MSG_WAITALL
+MSG_WAITALL
+
+
+       )
+
+200 
+       mMSG_FIN
+ = 0x200,
+
+201 \ 1
+       #MSG_FIN
+MSG_FIN
+
+
+       )
+
+202 
+       mMSG_SYN
+ = 0x400,
+
+203 \ 1
+       #MSG_SYN
+MSG_SYN
+
+
+       )
+
+204 
+       mMSG_CONFIRM
+ = 0x800,
+
+205 \ 1
+       #MSG_CONFIRM
+MSG_CONFIRM
+
+
+       )
+
+206 
+       mMSG_RST
+ = 0x1000,
+
+207 \ 1
+       #MSG_RST
+MSG_RST
+
+
+       )
+
+208 
+       mMSG_ERRQUEUE
+ = 0x2000,
+
+209 \ 1
+       #MSG_ERRQUEUE
+MSG_ERRQUEUE
+
+
+       )
+
+210 
+       mMSG_NOSIGNAL
+ = 0x4000,
+
+211 \ 1
+       #MSG_NOSIGNAL
+MSG_NOSIGNAL
+
+
+       )
+
+212 
+       mMSG_MORE
+ = 0x8000,
+
+213 \ 1
+       #MSG_MORE
+MSG_MORE
+
+
+       )
+
+214 
+       mMSG_WAITFORONE
+ = 0x10000,
+
+215 \ 1
+       #MSG_WAITFORONE
+MSG_WAITFORONE
+
+
+       )
+
+216 
+       mMSG_FASTOPEN
+ = 0x20000000,
+
+217 \ 1
+       #MSG_FASTOPEN
+MSG_FASTOPEN
+
+
+       )
+
+219 
+       mMSG_CMSG_CLOEXEC
+ = 0x40000000
+
+222 \ 1
+       #MSG_CMSG_CLOEXEC
+MSG_CMSG_CLOEXEC
+
+
+       )
+
+228 \19
+       smsghdr
+
+
+230 \1e*
+       mmsg_Çme
+;
+
+231 
+sockËn_t
+       mmsg_Çm\96\92
+;
+
+233 \19
+iovec
+ *
+       mmsg_iov
+;
+
+234 
+size_t
+       mmsg_iovËn
+;
+
+236 \1e*
+       mmsg_cÚ\8cÞ
+;
+
+237 
+size_t
+       mmsg_cÚ\8cÞËn
+;
+
+242 \12
+       mmsg_æags
+;
+
+246 \19
+       scmsghdr
+
+
+248 
+size_t
+       mcmsg_Ën
+;
+
+253 \12
+       mcmsg_Ëv\96
+;
+
+254 \12
+       mcmsg_ty³
+;
+
+255 #ià(!
+def\9aed
+__STRICT_ANSI__
+ && 
+__GNUC__
+ >ð2è|| 
+__STDC_VERSION__
+ >= 199901L
+
+256 
+__ex\8bnsiÚ__
\1d\ 5
+__cmsg_d©a
+       m__æex¬r
+;
+
+261 #ià(!
+def\9aed
+__STRICT_ANSI__
+ && 
+__GNUC__
+ >ð2è|| 
+__STDC_VERSION__
+ >= 199901L
+
+262 \ 1
+       #CMSG_DATA
+(
+cmsg
+è((cmsg)->
+__cmsg_d©a
+)
+
+       )
+
+264 \ 1
+       #CMSG_DATA
+(
+cmsg
+è((\1d\ 5*è((\19
+cmsghdr
+ *è(cmsgè+ 1))
+
+       )
+
+266 \ 1
+       #CMSG_NXTHDR
+(
+mhdr
+, 
+cmsg
+       `__cmsg_nxthdr
+ (mhdr, cmsg)
+
+       )
+
+267 \ 1
+       #CMSG_FIRSTHDR
+(
+mhdr
+) \
+
+268 ((
+size_t
+è(
+mhdr
+)->
+msg_cÚ\8cÞËn
+ >ð\17 (\19
+cmsghdr
+) \
+
+269 ? (\19
+cmsghdr
+ *è(
+mhdr
+)->
+msg_cÚ\8cÞ
+ : (\19cmsghd¸*è0)
+
+       )
+
+270 \ 1
+       #CMSG_ALIGN
+(
+Ën
+è((Ö\92è+ \17 (
+size_t
+) - 1) \
+
+271 & (
+size_t
+è~(\17 (size_tè- 1))
+
+       )
+
+272 \ 1
+       #CMSG_SPACE
+(
+Ën
+è(
+       `CMSG_ALIGN
+ (len) \
+
+273 + 
+       `CMSG_ALIGN
+ (\17 (\19
+cmsghdr
+)))
+
+       )
+
+274 \ 1
+       #CMSG_LEN
+(
+Ën
+è(
+       `CMSG_ALIGN
+ (\17 (\19
+cmsghdr
+)è+ (Ën))
+
+       )
+
+276 \r\19
+cmsghdr
+ *
+       $__cmsg_nxthdr
+ (\19
+msghdr
+ *
+__mhdr
+,
+
+277 \19
+cmsghdr
+ *
+__cmsg
+__THROW
+;
+
+278 #ifdeà
+__USE_EXTERN_INLINES
+
+
+279 #iâdeà
+_EXTERN_INLINE
+
+
+280 \ 1
+       #_EXTERN_INLINE
+__ex\8bº_\9al\9ae
+
+
+       )
+
+282 
+_EXTERN_INLINE
\19
+cmsghdr
+ *
+
+283 
+       `__NTH
+ (
+       $__cmsg_nxthdr
+ (\19
+msghdr
+ *
+__mhdr
+, \19
+cmsghdr
+ *
+__cmsg
+))
+
+285 ià((
+size_t
+__cmsg
+->
+cmsg_Ën
+ < \17 (\19
+cmsghdr
+))
+
+287 \15 (\19
+cmsghdr
+ *) 0;
+
+289 
+__cmsg
+ = (\19
+cmsghdr
+ *) ((\1d\ 5*) __cmsg
+
+290 + 
+       `CMSG_ALIGN
+ (
+__cmsg
+->
+cmsg_Ën
+));
+
+291 ià((\1d\ 5*è(
+__cmsg
+ + 1è> ((\1d\ 5
+__mhdr
+->
+msg_cÚ\8cÞ
+
+
+292 + 
+__mhdr
+->
+msg_cÚ\8cÞËn
+)
+
+293 || ((\1d\ 5
+__cmsg
+ + 
+       `CMSG_ALIGN
+ (__cmsg->
+cmsg_Ën
+)
+
+294 > ((\1d\ 5
+__mhdr
+->
+msg_cÚ\8cÞ
+ + __mhdr->
+msg_cÚ\8cÞËn
+)))
+
+296 \15 (\19
+cmsghdr
+ *) 0;
+
+297 \15 
+__cmsg
+;
+
+298 
+       }
+}
+
+305 
+       mSCM_RIGHTS
+ = 0x01
+
+306 \ 1
+       #SCM_RIGHTS
+SCM_RIGHTS
+
+
+       )
+
+307 #ifdeà
+__USE_GNU
+
+
+308 , 
+       mSCM_CREDENTIALS
+ = 0x02
+
+309 \ 1
+       #SCM_CREDENTIALS
+SCM_CREDENTIALS
+
+
+       )
+
+313 #ifdeà
+__USE_GNU
+
+
+315 \19
+       suüed
+
+
+317 
+pid_t
+       mpid
+;
+
+318 
+uid_t
+       muid
+;
+
+319 
+gid_t
+       mgid
+;
+
+324 #iâdeà
+__USE_MISC
+
+
+325 #iâdeà
+FIOGETOWN
+
+
+326 \ 1
+       #__SYS_SOCKET_H_undef_FIOGETOWN
+
+
+       )
+
+328 #iâdeà
+FIOSETOWN
+
+
+329 \ 1
+       #__SYS_SOCKET_H_undef_FIOSETOWN
+
+
+       )
+
+331 #iâdeà
+SIOCATMARK
+
+
+332 \ 1
+       #__SYS_SOCKET_H_undef_SIOCATMARK
+
+
+       )
+
+334 #iâdeà
+SIOCGPGRP
+
+
+335 \ 1
+       #__SYS_SOCKET_H_undef_SIOCGPGRP
+
+
+       )
+
+337 #iâdeà
+SIOCGSTAMP
+
+
+338 \ 1
+       #__SYS_SOCKET_H_undef_SIOCGSTAMP
+
+
+       )
+
+340 #iâdeà
+SIOCGSTAMPNS
+
+
+341 \ 1
+       #__SYS_SOCKET_H_undef_SIOCGSTAMPNS
+
+
+       )
+
+343 #iâdeà
+SIOCSPGRP
+
+
+344 \ 1
+       #__SYS_SOCKET_H_undef_SIOCSPGRP
+
+
+       )
+
+349 \ 2
+       ~<asm/sock\91.h
+>
+
+351 #iâdeà
+__USE_MISC
+
+
+352 #ifdeà
+__SYS_SOCKET_H_undef_FIOGETOWN
+
+
+353 #undeà
+__SYS_SOCKET_H_undef_FIOGETOWN
+
+
+354 #undeà
+FIOGETOWN
+
+
+356 #ifdeà
+__SYS_SOCKET_H_undef_FIOSETOWN
+
+
+357 #undeà
+__SYS_SOCKET_H_undef_FIOSETOWN
+
+
+358 #undeà
+FIOSETOWN
+
+
+360 #ifdeà
+__SYS_SOCKET_H_undef_SIOCATMARK
+
+
+361 #undeà
+__SYS_SOCKET_H_undef_SIOCATMARK
+
+
+362 #undeà
+SIOCATMARK
+
+
+364 #ifdeà
+__SYS_SOCKET_H_undef_SIOCGPGRP
+
+
+365 #undeà
+__SYS_SOCKET_H_undef_SIOCGPGRP
+
+
+366 #undeà
+SIOCGPGRP
+
+
+368 #ifdeà
+__SYS_SOCKET_H_undef_SIOCGSTAMP
+
+
+369 #undeà
+__SYS_SOCKET_H_undef_SIOCGSTAMP
+
+
+370 #undeà
+SIOCGSTAMP
+
+
+372 #ifdeà
+__SYS_SOCKET_H_undef_SIOCGSTAMPNS
+
+
+373 #undeà
+__SYS_SOCKET_H_undef_SIOCGSTAMPNS
+
+
+374 #undeà
+SIOCGSTAMPNS
+
+
+376 #ifdeà
+__SYS_SOCKET_H_undef_SIOCSPGRP
+
+
+377 #undeà
+__SYS_SOCKET_H_undef_SIOCSPGRP
+
+
+378 #undeà
+SIOCSPGRP
+
+
+383 \19
+       sl\9ag\94
+
+
+385 \12
+       ml_Úoff
+;
+
+386 \12
+       ml_l\9ag\94
+;
+
+       @/usr/include/bits/socket2.h
+
+19 #iâdeà
+_SYS_SOCKET_H
+
+
+23 \r
+ssize_t
+__»cv_chk
+ (\12
+__fd
+, \1e*
+__buf
+, 
+size_t
+__n
+, size_\88
+__buæ\92
+,
+
+24 \12
+__æags
+);
+
+25 \r
+ssize_t
+__REDIRECT
+ (
+__»cv_®\9fs
+, (\12
+__fd
+, \1e*
+__buf
+, 
+size_t
+__n
+,
+
+26 \12
+__æags
+), 
+»cv
+);
+
+27 \r
+ssize_t
+__REDIRECT
+ (
+__»cv_chk_w¬n
+,
+
+28 (\12
+__fd
+, \1e*
+__buf
+, 
+size_t
+__n
+, size_\88
+__buæ\92
+,
+
+29 \12
+__æags
+), 
+__»cv_chk
+)
+
+30 
+__w‚\89r
+ ("recv called with bigger\86ength\81han size of destination "
+
+33 
+__fÜtify_funùiÚ
+ssize_t
+
+
+34 
+       $»cv
+ (\12
+__fd
+, \1e*
+__buf
+, 
+size_t
+__n
+, \12
+__æags
+)
+
+36 ià(
+       `__bos0
+ (
+__buf
+è!ð(
+size_t
+) -1)
+
+38 ià(!
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+__n
+))
+
+39 \15 
+       `__»cv_chk
+ (
+__fd
+, 
+__buf
+, 
+__n
+, 
+       `__bos0
+ (__buf), 
+__æags
+);
+
+41 ià(
+__n
+ > 
+       `__bos0
+ (
+__buf
+))
+
+42 \15 
+       `__»cv_chk_w¬n
+ (
+__fd
+, 
+__buf
+, 
+__n
+, 
+       `__bos0
+ (__buf), 
+__æags
+);
+
+44 \15 
+       `__»cv_®\9fs
+ (
+__fd
+, 
+__buf
+, 
+__n
+, 
+__æags
+);
+
+45 
+       }
+}
+
+47 \r
+ssize_t
+__»cväom_chk
+ (\12
+__fd
+, \1e*
+__»¡riù
+__buf
+, 
+size_t
+__n
+,
+
+48 
+size_t
+__buæ\92
+, \12
+__æags
+,
+
+49 
+__SOCKADDR_ARG
+__addr
+,
+
+50 
+sockËn_t
+ *
+__»¡riù
+__addr_Ën
+);
+
+51 \r
+ssize_t
+__REDIRECT
+ (
+__»cväom_®\9fs
+,
+
+52 (\12
+__fd
+, \1e*
+__»¡riù
+__buf
+, 
+size_t
+__n
+,
+
+53 \12
+__æags
+, 
+__SOCKADDR_ARG
+__addr
+,
+
+54 
+sockËn_t
+ *
+__»¡riù
+__addr_Ën
+), 
+»cväom
+);
+
+55 \r
+ssize_t
+__REDIRECT
+ (
+__»cväom_chk_w¬n
+,
+
+56 (\12
+__fd
+, \1e*
+__»¡riù
+__buf
+, 
+size_t
+__n
+,
+
+57 
+size_t
+__buæ\92
+, \12
+__æags
+,
+
+58 
+__SOCKADDR_ARG
+__addr
+,
+
+59 
+sockËn_t
+ *
+__»¡riù
+__addr_Ën
+), 
+__»cväom_chk
+)
+
+60 
+__w‚\89r
+ ("recvfrom called with bigger\86ength\81han size of "
+
+63 
+__fÜtify_funùiÚ
+ssize_t
+
+
+64 
+       $»cväom
+ (\12
+__fd
+, \1e*
+__»¡riù
+__buf
+, 
+size_t
+__n
+, \12
+__æags
+,
+
+65 
+__SOCKADDR_ARG
+__addr
+, 
+sockËn_t
+ *
+__»¡riù
+__addr_Ën
+)
+
+67 ià(
+       `__bos0
+ (
+__buf
+è!ð(
+size_t
+) -1)
+
+69 ià(!
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+__n
+))
+
+70 \15 
+       `__»cväom_chk
+ (
+__fd
+, 
+__buf
+, 
+__n
+, 
+       `__bos0
+ (__buf), 
+__æags
+,
+
+71 
+__addr
+, 
+__addr_Ën
+);
+
+72 ià(
+__n
+ > 
+       `__bos0
+ (
+__buf
+))
+
+73 \15 
+       `__»cväom_chk_w¬n
+ (
+__fd
+, 
+__buf
+, 
+__n
+, 
+       `__bos0
+ (__buf), 
+__æags
+,
+
+74 
+__addr
+, 
+__addr_Ën
+);
+
+76 \15 
+       `__»cväom_®\9fs
+ (
+__fd
+, 
+__buf
+, 
+__n
+, 
+__æags
+, 
+__addr
+, 
+__addr_Ën
+);
+
+77 
+       }
+}
+
+       @/usr/include/bits/stat.h
+
+18 #ià!
+def\9aed
+_SYS_STAT_H
+ && !def\9aed 
+_FCNTL_H
+
+
+22 #iâdeà
+_BITS_STAT_H
+
+
+23 \ 1
+       #_BITS_STAT_H
+ 1
+
+       )
+
+26 #iâdeà
+__x86_64__
+
+
+27 \ 1
+       #_STAT_VER_LINUX_OLD
+ 1
+
+       )
+
+28 \ 1
+       #_STAT_VER_KERNEL
+ 1
+
+       )
+
+29 \ 1
+       #_STAT_VER_SVR4
+ 2
+
+       )
+
+30 \ 1
+       #_STAT_VER_LINUX
+ 3
+
+       )
+
+33 \ 1
+       #_MKNOD_VER_LINUX
+ 1
+
+       )
+
+34 \ 1
+       #_MKNOD_VER_SVR4
+ 2
+
+       )
+
+35 \ 1
+       #_MKNOD_VER
+_MKNOD_VER_LINUX
+
+
+       )
+
+37 \ 1
+       #_STAT_VER_KERNEL
+ 0
+
+       )
+
+38 \ 1
+       #_STAT_VER_LINUX
+ 1
+
+       )
+
+41 \ 1
+       #_MKNOD_VER_LINUX
+ 0
+
+       )
+
+44 \ 1
+       #_STAT_VER
+_STAT_VER_LINUX
+
+
+       )
+
+46 \19
+       s¡©
+
+
+48 
+__dev_t
+       m¡_dev
+;
+
+49 #iâdeà
+__x86_64__
+
+
+50 \1d\16\12
+       m__·d1
+;
+
+52 #ià
+def\9aed
+__x86_64__
+ || !def\9aed 
+__USE_FILE_OFFSET64
+
+
+53 
+__\9ao_t
+       m¡_\9ao
+;
+
+55 
+__\9ao_t
+       m__¡_\9ao
+;
+
+57 #iâdeà
+__x86_64__
+
+
+58 
+__mode_t
+       m¡_mode
+;
+
+59 
+__ƚk_t
+       m¡_Æ\9ak
+;
+
+61 
+__ƚk_t
+       m¡_Æ\9ak
+;
+
+62 
+__mode_t
+       m¡_mode
+;
+
+64 
+__uid_t
+       m¡_uid
+;
+
+65 
+__gid_t
+       m¡_gid
+;
+
+66 #ifdeà
+__x86_64__
+
+
+67 \12
+       m__·d0
+;
+
+69 
+__dev_t
+       m¡_rdev
+;
+
+70 #iâdeà
+__x86_64__
+
+
+71 \1d\16\12
+       m__·d2
+;
+
+73 #ià
+def\9aed
+__x86_64__
+ || !def\9aed 
+__USE_FILE_OFFSET64
+
+
+74 
+__off_t
+       m¡_size
+;
+
+76 
+__off64_t
+       m¡_size
+;
+
+78 
+__blksize_t
+       m¡_blksize
+;
+
+79 #ià
+def\9aed
+__x86_64__
+ || !def\9aed 
+__USE_FILE_OFFSET64
+
+
+80 
+__blkút_t
+       m¡_blocks
+;
+
+82 
+__blkút64_t
+       m¡_blocks
+;
+
+84 #ifdeà
+__USE_XOPEN2K8
+
+
+91 \19
+time¥ec
+       m¡_©im
+;
+
+92 \19
+time¥ec
+       m¡_mtim
+;
+
+93 \19
+time¥ec
+       m¡_ùim
+;
+
+94 \ 1
+       #¡_©ime
+¡_©im
+.
+tv_£c
+
+
+       )
+
+95 \ 1
+       #¡_mtime
+¡_mtim
+.
+tv_£c
+
+
+       )
+
+96 \ 1
+       #¡_ùime
+¡_ùim
+.
+tv_£c
+
+
+       )
+
+98 
+__time_t
+       m¡_©ime
+;
+
+99 
+__sysÿÎ_ulÚg_t
+       m¡_©im\92£c
+;
+
+100 
+__time_t
+       m¡_mtime
+;
+
+101 
+__sysÿÎ_ulÚg_t
+       m¡_mtim\92£c
+;
+
+102 
+__time_t
+       m¡_ùime
+;
+
+103 
+__sysÿÎ_ulÚg_t
+       m¡_ùim\92£c
+;
+
+105 #ifdeà
+__x86_64__
+
+
+106 
+__sysÿÎ_¦Úg_t
+       m__glibc_»£rved
+[3];
+
+108 #iâdeà
+__USE_FILE_OFFSET64
+
+
+109 \1d\13\12
+       m__glibc_»£rved4
+;
+
+110 \1d\13\12
+       m__glibc_»£rved5
+;
+
+112 
+__\9ao64_t
+       m¡_\9ao
+;
+
+117 #ifdeà
+__USE_LARGEFILE64
+
+
+119 \19
+       s¡©64
+
+
+121 
+__dev_t
+       m¡_dev
+;
+
+122 #ifdeà
+__x86_64__
+
+
+123 
+__\9ao64_t
+       m¡_\9ao
+;
+
+124 
+__ƚk_t
+       m¡_Æ\9ak
+;
+
+125 
+__mode_t
+       m¡_mode
+;
+
+127 \1d\12
+       m__·d1
+;
+
+128 
+__\9ao_t
+       m__¡_\9ao
+;
+
+129 
+__mode_t
+       m¡_mode
+;
+
+130 
+__ƚk_t
+       m¡_Æ\9ak
+;
+
+132 
+__uid_t
+       m¡_uid
+;
+
+133 
+__gid_t
+       m¡_gid
+;
+
+134 #ifdeà
+__x86_64__
+
+
+135 \12
+       m__·d0
+;
+
+136 
+__dev_t
+       m¡_rdev
+;
+
+137 
+__off_t
+       m¡_size
+;
+
+139 
+__dev_t
+       m¡_rdev
+;
+
+140 \1d\12
+       m__·d2
+;
+
+141 
+__off64_t
+       m¡_size
+;
+
+143 
+__blksize_t
+       m¡_blksize
+;
+
+144 
+__blkút64_t
+       m¡_blocks
+;
+
+145 #ifdeà
+__USE_XOPEN2K8
+
+
+152 \19
+time¥ec
+       m¡_©im
+;
+
+153 \19
+time¥ec
+       m¡_mtim
+;
+
+154 \19
+time¥ec
+       m¡_ùim
+;
+
+156 
+__time_t
+       m¡_©ime
+;
+
+157 
+__sysÿÎ_ulÚg_t
+       m¡_©im\92£c
+;
+
+158 
+__time_t
+       m¡_mtime
+;
+
+159 
+__sysÿÎ_ulÚg_t
+       m¡_mtim\92£c
+;
+
+160 
+__time_t
+       m¡_ùime
+;
+
+161 
+__sysÿÎ_ulÚg_t
+       m¡_ùim\92£c
+;
+
+163 #ifdeà
+__x86_64__
+
+
+164 
+__sysÿÎ_¦Úg_t
+       m__glibc_»£rved
+[3];
+
+166 
+__\9ao64_t
+       m¡_\9ao
+;
+
+172 \ 1
+       #_STATBUF_ST_BLKSIZE
+
+
+       )
+
+173 \ 1
+       #_STATBUF_ST_RDEV
+
+
+       )
+
+175 \ 1
+       #_STATBUF_ST_NSEC
+
+
+       )
+
+179 \ 1
+       #__S_IFMT
+ 0170000
+
+       )
+
+182 \ 1
+       #__S_IFDIR
+ 0040000
+
+       )
+
+183 \ 1
+       #__S_IFCHR
+ 0020000
+
+       )
+
+184 \ 1
+       #__S_IFBLK
+ 0060000
+
+       )
+
+185 \ 1
+       #__S_IFREG
+ 0100000
+
+       )
+
+186 \ 1
+       #__S_IFIFO
+ 0010000
+
+       )
+
+187 \ 1
+       #__S_IFLNK
+ 0120000
+
+       )
+
+188 \ 1
+       #__S_IFSOCK
+ 0140000
+
+       )
+
+192 \ 1
+       #__S_TYPEISMQ
+(
+buf
+è((buf)->
+¡_mode
+ - (buf)->¡_mode)
+
+       )
+
+193 \ 1
+       #__S_TYPEISSEM
+(
+buf
+è((buf)->
+¡_mode
+ - (buf)->¡_mode)
+
+       )
+
+194 \ 1
+       #__S_TYPEISSHM
+(
+buf
+è((buf)->
+¡_mode
+ - (buf)->¡_mode)
+
+       )
+
+198 \ 1
+       #__S_ISUID
+ 04000
+
+       )
+
+199 \ 1
+       #__S_ISGID
+ 02000
+
+       )
+
+200 \ 1
+       #__S_ISVTX
+ 01000
+
+       )
+
+201 \ 1
+       #__S_IREAD
+ 0400
+
+       )
+
+202 \ 1
+       #__S_IWRITE
+ 0200
+
+       )
+
+203 \ 1
+       #__S_IEXEC
+ 0100
+
+       )
+
+205 #ifdeà
+__USE_ATFILE
+
+
+206 \ 1
+       #UTIME_NOW
+ ((1È<< 30è- 1l)
+
+       )
+
+207 \ 1
+       #UTIME_OMIT
+ ((1È<< 30è- 2l)
+
+       )
+
+       @/usr/include/bits/stdio-ldbl.h
+
+19 #iâdeà
+_STDIO_H
+
+
+23 
+__BEGIN_NAMESPACE_STD
+
+
+24 
+       $__LDBL_REDIR_DECL
+ (
+år\9atf
+)
+
+25 
+       $__LDBL_REDIR_DECL
+ (
\9atf
+)
+
+26 
+       $__LDBL_REDIR_DECL
+ (
+¥r\9atf
+)
+
+27 
+       $__LDBL_REDIR_DECL
+ (
+vår\9atf
+)
+
+28 
+       $__LDBL_REDIR_DECL
+ (
+v´\9atf
+)
+
+29 
+       $__LDBL_REDIR_DECL
+ (
+v¥r\9atf
+)
+
+30 #ià
+def\9aed
+__USE_ISOC99
+ && !def\9aed 
+__USE_GNU
+ \
+
+31 && !
+def\9aed
+__REDIRECT
+ \
+
+32 && (
+def\9aed
+__STRICT_ANSI__
+ || def\9aed 
+__USE_XOPEN2K
+)
+
+33 
+       $__LDBL_REDIR1_DECL
+ (
+fsÿnf
+, 
+__Ædbl___isoc99_fsÿnf
+)
+
+34 
+       $__LDBL_REDIR1_DECL
+ (
+sÿnf
+, 
+__Ædbl___isoc99_sÿnf
+)
+
+35 
+       $__LDBL_REDIR1_DECL
+ (
+ssÿnf
+, 
+__Ædbl___isoc99_ssÿnf
+)
+
+37 
+       $__LDBL_REDIR_DECL
+ (
+fsÿnf
+)
+
+38 
+       $__LDBL_REDIR_DECL
+ (
+sÿnf
+)
+
+39 
+       $__LDBL_REDIR_DECL
+ (
+ssÿnf
+)
+
+41 
+__END_NAMESPACE_STD
+
+
+43 #ià
+def\9aed
+__USE_ISOC99
+ || def\9aed 
+__USE_UNIX98
+
+
+44 
+__BEGIN_NAMESPACE_C99
+
+
+45 
+       $__LDBL_REDIR_DECL
+ (
+¢´\9atf
+)
+
+46 
+       $__LDBL_REDIR_DECL
+ (
+v¢´\9atf
+)
+
+47 
+__END_NAMESPACE_C99
+
+
+50 #ifdef 
+__USE_ISOC99
+
+
+51 
+__BEGIN_NAMESPACE_C99
+
+
+52 #ià!
+def\9aed
+__USE_GNU
+ && !def\9aed 
+__REDIRECT
+ \
+
+53 && (
+def\9aed
+__STRICT_ANSI__
+ || def\9aed 
+__USE_XOPEN2K
+)
+
+54 
+       $__LDBL_REDIR1_DECL
+ (
+vfsÿnf
+, 
+__Ædbl___isoc99_vfsÿnf
+)
+
+55 
+       $__LDBL_REDIR1_DECL
+ (
+vsÿnf
+, 
+__Ædbl___isoc99_vsÿnf
+)
+
+56 
+       $__LDBL_REDIR1_DECL
+ (
+vssÿnf
+, 
+__Ædbl___isoc99_vssÿnf
+)
+
+58 
+       $__LDBL_REDIR_DECL
+ (
+vfsÿnf
+)
+
+59 
+       $__LDBL_REDIR_DECL
+ (
+vssÿnf
+)
+
+60 
+       $__LDBL_REDIR_DECL
+ (
+vsÿnf
+)
+
+62 
+__END_NAMESPACE_C99
+
+
+65 #ifdeà
+__USE_XOPEN2K8
+
+
+66 
+       $__LDBL_REDIR_DECL
+ (
+vd´\9atf
+)
+
+67 
+       $__LDBL_REDIR_DECL
+ (
+d´\9atf
+)
+
+70 #ifdeà
+__USE_GNU
+
+
+71 
+       $__LDBL_REDIR_DECL
+ (
+va¥r\9atf
+)
+
+72 
+       $__LDBL_REDIR_DECL
+ (
+__a¥r\9atf
+)
+
+73 
+       $__LDBL_REDIR_DECL
+ (
+a¥r\9atf
+)
+
+74 
+       $__LDBL_REDIR_DECL
+ (
+ob¡ack_´\9atf
+)
+
+75 
+       $__LDBL_REDIR_DECL
+ (
+ob¡ack_v´\9atf
+)
+
+78 #ià
+__USE_FORTIFY_LEVEL
+ > 0 && 
+def\9aed
+__fÜtify_funùiÚ
+
+
+79 
+       $__LDBL_REDIR_DECL
+ (
+__¥r\9atf_chk
+)
+
+80 
+       $__LDBL_REDIR_DECL
+ (
+__v¥r\9atf_chk
+)
+
+81 #ià
+def\9aed
+__USE_ISOC99
+ || def\9aed 
+__USE_UNIX98
+
+
+82 
+       $__LDBL_REDIR_DECL
+ (
+__¢´\9atf_chk
+)
+
+83 
+       $__LDBL_REDIR_DECL
+ (
+__v¢´\9atf_chk
+)
+
+85 #ià
+__USE_FORTIFY_LEVEL
+ > 1
+
+86 
+       $__LDBL_REDIR_DECL
+ (
+__år\9atf_chk
+)
+
+87 
+       $__LDBL_REDIR_DECL
+ (
+__´\9atf_chk
+)
+
+88 
+       $__LDBL_REDIR_DECL
+ (
+__vår\9atf_chk
+)
+
+89 
+       $__LDBL_REDIR_DECL
+ (
+__v´\9atf_chk
+)
+
+90 #ifdeà
+__USE_XOPEN2K8
+
+
+91 
+       $__LDBL_REDIR_DECL
+ (
+__d´\9atf_chk
+)
+
+92 
+       $__LDBL_REDIR_DECL
+ (
+__vd´\9atf_chk
+)
+
+94 #ifdeà
+__USE_GNU
+
+
+95 
+       $__LDBL_REDIR_DECL
+ (
+__a¥r\9atf_chk
+)
+
+96 
+       $__LDBL_REDIR_DECL
+ (
+__va¥r\9atf_chk
+)
+
+97 
+       $__LDBL_REDIR_DECL
+ (
+__ob¡ack_´\9atf_chk
+)
+
+98 
+       $__LDBL_REDIR_DECL
+ (
+__ob¡ack_v´\9atf_chk
+)
+
+       @/usr/include/bits/stdio.h
+
+19 #iâdeà
+_STDIO_H
+
+
+23 #iâdeà
+__ex\8bº_\9al\9ae
+
+
+24 \ 1
+       #__STDIO_INLINE
+\9al\9ae
+
+
+       )
+
+26 \ 1
+       #__STDIO_INLINE
+__ex\8bº_\9al\9ae
+
+
+       )
+
+30 #ifdeà
+__USE_EXTERN_INLINES
+
+
+33 #ià!(
+__USE_FORTIFY_LEVEL
+ > 0 && 
+def\9aed
+__fÜtify_funùiÚ
+)
+
+35 
+__STDIO_INLINE
\12
+
+36 
+       $v´\9atf
+ (cڡ \ 5*
+__»¡riù
+__fmt
+, 
+_G_va_li¡
+__¬g
+)
+
+38 \15 
+       `vår\9atf
+ (
+¡dout
+, 
+__fmt
+, 
+__¬g
+);
+
+39 
+       }
+}
+
+43 
+__STDIO_INLINE
\12
+
+44 
+       $g\91ch¬
+ (\1e)
+
+46 \15 
+       `_IO_g\91c
+ (
+¡d\9a
+);
+
+47 
+       }
+}
+
+50 #ifdeà
+__USE_MISC
+
+
+52 
+__STDIO_INLINE
\12
+
+53 
+       $fg\91c_uÆocked
+ (
+FILE
+ *
+__å
+)
+
+55 \15 
+       `_IO_g\91c_uÆocked
+ (
+__å
+);
+
+56 
+       }
+}
+
+60 #ifdeà
+__USE_POSIX
+
+
+62 
+__STDIO_INLINE
\12
+
+63 
+       $g\91c_uÆocked
+ (
+FILE
+ *
+__å
+)
+
+65 \15 
+       `_IO_g\91c_uÆocked
+ (
+__å
+);
+
+66 
+       }
+}
+
+69 
+__STDIO_INLINE
\12
+
+70 
+       $g\91ch¬_uÆocked
+ (\1e)
+
+72 \15 
+       `_IO_g\91c_uÆocked
+ (
+¡d\9a
+);
+
+73 
+       }
+}
+
+78 
+__STDIO_INLINE
\12
+
+79 
+       $putch¬
+ (\12
+__c
+)
+
+81 \15 
+       `_IO_putc
+ (
+__c
+, 
+¡dout
+);
+
+82 
+       }
+}
+
+85 #ifdeà
+__USE_MISC
+
+
+87 
+__STDIO_INLINE
\12
+
+88 
+       $åutc_uÆocked
+ (\12
+__c
+, 
+FILE
+ *
+__¡»am
+)
+
+90 \15 
+       `_IO_putc_uÆocked
+ (
+__c
+, 
+__¡»am
+);
+
+91 
+       }
+}
+
+95 #ifdeà
+__USE_POSIX
+
+
+97 
+__STDIO_INLINE
\12
+
+98 
+       $putc_uÆocked
+ (\12
+__c
+, 
+FILE
+ *
+__¡»am
+)
+
+100 \15 
+       `_IO_putc_uÆocked
+ (
+__c
+, 
+__¡»am
+);
+
+101 
+       }
+}
+
+104 
+__STDIO_INLINE
\12
+
+105 
+       $putch¬_uÆocked
+ (\12
+__c
+)
+
+107 \15 
+       `_IO_putc_uÆocked
+ (
+__c
+, 
+¡dout
+);
+
+108 
+       }
+}
+
+112 #ifdef 
+__USE_GNU
+
+
+114 
+__STDIO_INLINE
+_IO_ssize_t
+
+
+115 
+       $g\91l\9ae
+ (\ 5**
+__l\9a\95\8c
+, 
+size_t
+ *
+__n
+, 
+FILE
+ *
+__¡»am
+)
+
+117 \15 
+       `__g\91d\96im
+ (
+__l\9a\95\8c
+, 
+__n
+, '\n', 
+__¡»am
+);
+
+118 
+       }
+}
+
+122 #ifdeà
+__USE_MISC
+
+
+124 
+__STDIO_INLINE
\12
+
+125 
+__NTH
+ (
+       $ãof_uÆocked
+ (
+FILE
+ *
+__¡»am
+))
+
+127 \15 
+       `_IO_ãof_uÆocked
+ (
+__¡»am
+);
+
+128 
+       }
+}
+
+131 
+__STDIO_INLINE
\12
+
+132 
+__NTH
+ (
+       $ã¼Ü_uÆocked
+ (
+FILE
+ *
+__¡»am
+))
+
+134 \15 
+       `_IO_ã¼Ü_uÆocked
+ (
+__¡»am
+);
+
+135 
+       }
+}
+
+141 #ià
+def\9aed
+__USE_MISC
+ && def\9aed 
+__GNUC__
+ && def\9aed 
+__OPTIMIZE__
+ \
+
+142 && !
+def\9aed
+       g__ýlu¥lus
+
+
+144 \ 1
+       #ä\97d_uÆocked
+(
+±r
+, 
+size
+, 
+n
+, 
+¡»am
+) \
+
+145 (
+       `__ex\8bnsiÚ__
+ ((
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+size
+è&& __bu\9et\9a_cÚ¡ªt_°(
+n
+) \
+
+146 && (
+size_t
+è(
+size
+è* (size_tè(
+n
+) <= 8 \
+
+147 && (
+size_t
+è(
+size
+) != 0) \
+
+148 ? ({ \ 5*
+__±r
+ = (\ 5*è(
+±r
+); \
+
+149 
+FILE
+ *
+__¡»am
+ = (
+¡»am
+); \
+
+150 
+size_t
+__út
+; \
+
+151 \ f
+__út
+ = (
+size_t
+è(
+size
+è* (size_tè(
+n
+); \
+
+152 
+__út
+ > 0; --__cnt) \
+
+154 \12
+__c
+ = 
+       `_IO_g\91c_uÆocked
+ (
+__¡»am
+); \
+
+155 ià(
+__c
+ =ð
+EOF
+) \
+
+157 *
+__±r
+++ = 
+__c
+; \
+
+159 ((
+size_t
+è(
+size
+è* (size_tè(
+n
+è- 
+__út
+) \
+
+160 / (
+size_t
+è(
+size
+); }) \
+
+161 : (((
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+size
+è&& (
+size_t
+) (size) == 0) \
+
+162 || (
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+n
+è&& (
+size_t
+) (n) == 0)) \
+
+164 ? ((\1eè(
+±r
+), (\1eè(
+¡»am
+), (\1eè(
+size
+), \
+
+165 (\1eè(
+n
+), (
+size_t
+) 0) \
+
+166 : 
+       `ä\97d_uÆocked
+ (
+±r
+, 
+size
+, 
+n
+, 
+¡»am
+))))
+
+       )
+
+168 \ 1
+       #fwr\99e_uÆocked
+(
+±r
+, 
+size
+, 
+n
+, 
+¡»am
+) \
+
+169 (
+       `__ex\8bnsiÚ__
+ ((
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+size
+è&& __bu\9et\9a_cÚ¡ªt_°(
+n
+) \
+
+170 && (
+size_t
+è(
+size
+è* (size_tè(
+n
+) <= 8 \
+
+171 && (
+size_t
+è(
+size
+) != 0) \
+
+172 ? ({ cڡ \ 5*
+__±r
+ = (cÚ¡ \ 5*è(
+±r
+); \
+
+173 
+FILE
+ *
+__¡»am
+ = (
+¡»am
+); \
+
+174 
+size_t
+__út
+; \
+
+175 \ f
+__út
+ = (
+size_t
+è(
+size
+è* (size_tè(
+n
+); \
+
+176 
+__út
+ > 0; --__cnt) \
+
+177 ià(
+       `_IO_putc_uÆocked
+ (*
+__±r
+++, 
+__¡»am
+è=ð
+EOF
+) \
+
+179 ((
+size_t
+è(
+size
+è* (size_tè(
+n
+è- 
+__út
+) \
+
+180 / (
+size_t
+è(
+size
+); }) \
+
+181 : (((
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+size
+è&& (
+size_t
+) (size) == 0) \
+
+182 || (
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+n
+è&& (
+size_t
+) (n) == 0)) \
+
+184 ? ((\1eè(
+±r
+), (\1eè(
+¡»am
+), (\1eè(
+size
+), \
+
+185 (\1eè(
+n
+), (
+size_t
+) 0) \
+
+186 : 
+       `fwr\99e_uÆocked
+ (
+±r
+, 
+size
+, 
+n
+, 
+¡»am
+))))
+
+       )
+
+190 #undeà
+__STDIO_INLINE
+
+
+       @/usr/include/bits/stdio2.h
+
+19 #iâdeà
+_STDIO_H
+
+
+23 \r\12
+       $__¥r\9atf_chk
+ (\ 5*
+__»¡riù
+__s
+, \12
+__æag
+, 
+size_t
+__¦\92
+,
+
+24 cڡ \ 5*
+__»¡riù
+__fÜm©
+, ...è
+__THROW
+;
+
+25 \r\12
+       $__v¥r\9atf_chk
+ (\ 5*
+__»¡riù
+__s
+, \12
+__æag
+, 
+size_t
+__¦\92
+,
+
+26 cڡ \ 5*
+__»¡riù
+__fÜm©
+,
+
+27 
+_G_va_li¡
+__­
+__THROW
+;
+
+29 #ifdeà
+__va_¬g_·ck
+
+
+30 
+__fÜtify_funùiÚ
\12
+
+31 
+       `__NTH
+ (
+       $¥r\9atf
+ (\ 5*
+__»¡riù
+__s
+, cÚ¡ \ 5*__»¡riù 
+__fmt
+, ...))
+
+33 \15 
+       `__bu\9et\9a___¥r\9atf_chk
+ (
+__s
+, 
+__USE_FORTIFY_LEVEL
+ - 1,
+
+34 
+       `__bos
+ (
+__s
+), 
+__fmt
+, 
+       `__va_¬g_·ck
+ ());
+
+35 
+       }
+}
+
+36 #\96ià!
+def\9aed
+__ýlu¥lus
+
+
+37 \ 1
+       #¥r\9atf
+(
+¡r
+, ...) \
+
+38 
+       `__bu\9et\9a___¥r\9atf_chk
+ (
+¡r
+, 
+__USE_FORTIFY_LEVEL
+ - 1, 
+       `__bos
+ (str), \
+
+39 
+__VA_ARGS__
+)
+
+       )
+
+42 
+__fÜtify_funùiÚ
\12
+
+43 
+__NTH
+ (
+       $v¥r\9atf
+ (\ 5*
+__»¡riù
+__s
+, cÚ¡ \ 5*__»¡riù 
+__fmt
+,
+
+44 
+_G_va_li¡
+__­
+))
+
+46 \15 
+       `__bu\9et\9a___v¥r\9atf_chk
+ (
+__s
+, 
+__USE_FORTIFY_LEVEL
+ - 1,
+
+47 
+       `__bos
+ (
+__s
+), 
+__fmt
+, 
+__­
+);
+
+48 
+       }
+}
+
+50 #ià
+def\9aed
+__USE_ISOC99
+ || def\9aed 
+__USE_UNIX98
+
+
+52 \r\12
+       $__¢´\9atf_chk
+ (\ 5*
+__»¡riù
+__s
+, 
+size_t
+__n
+, \12
+__æag
+,
+
+53 
+size_t
+__¦\92
+, cڡ \ 5*
+__»¡riù
+__fÜm©
+,
+
+54 ...è
+__THROW
+;
+
+55 \r\12
+       $__v¢´\9atf_chk
+ (\ 5*
+__»¡riù
+__s
+, 
+size_t
+__n
+, \12
+__æag
+,
+
+56 
+size_t
+__¦\92
+, cڡ \ 5*
+__»¡riù
+__fÜm©
+,
+
+57 
+_G_va_li¡
+__­
+__THROW
+;
+
+59 #ifdeà
+__va_¬g_·ck
+
+
+60 
+__fÜtify_funùiÚ
\12
+
+61 
+       `__NTH
+ (
+       $¢´\9atf
+ (\ 5*
+__»¡riù
+__s
+, 
+size_t
+__n
+,
+
+62 cڡ \ 5*
+__»¡riù
+__fmt
+, ...))
+
+64 \15 
+       `__bu\9et\9a___¢´\9atf_chk
+ (
+__s
+, 
+__n
+, 
+__USE_FORTIFY_LEVEL
+ - 1,
+
+65 
+       `__bos
+ (
+__s
+), 
+__fmt
+, 
+       `__va_¬g_·ck
+ ());
+
+66 
+       }
+}
+
+67 #\96ià!
+def\9aed
+__ýlu¥lus
+
+
+68 \ 1
+       #¢´\9atf
+(
+¡r
+, 
+Ën
+, ...) \
+
+69 
+       `__bu\9et\9a___¢´\9atf_chk
+ (
+¡r
+, 
+Ën
+, 
+__USE_FORTIFY_LEVEL
+ - 1, 
+       `__bos
+ (str), \
+
+70 
+__VA_ARGS__
+)
+
+       )
+
+73 
+__fÜtify_funùiÚ
\12
+
+74 
+__NTH
+ (
+       $v¢´\9atf
+ (\ 5*
+__»¡riù
+__s
+, 
+size_t
+__n
+,
+
+75 cڡ \ 5*
+__»¡riù
+__fmt
+, 
+_G_va_li¡
+__­
+))
+
+77 \15 
+       `__bu\9et\9a___v¢´\9atf_chk
+ (
+__s
+, 
+__n
+, 
+__USE_FORTIFY_LEVEL
+ - 1,
+
+78 
+       `__bos
+ (
+__s
+), 
+__fmt
+, 
+__­
+);
+
+79 
+       }
+}
+
+83 #ià
+__USE_FORTIFY_LEVEL
+ > 1
+
+85 \r\12
+__år\9atf_chk
+ (
+FILE
+ *
+__»¡riù
+__¡»am
+, \12
+__æag
+,
+
+86 cڡ \ 5*
+__»¡riù
+__fÜm©
+, ...);
+
+87 \r\12
+__´\9atf_chk
+ (\12
+__æag
+, cڡ \ 5*
+__»¡riù
+__fÜm©
+, ...);
+
+88 \r\12
+__vår\9atf_chk
+ (
+FILE
+ *
+__»¡riù
+__¡»am
+, \12
+__æag
+,
+
+89 cڡ \ 5*
+__»¡riù
+__fÜm©
+, 
+_G_va_li¡
+__­
+);
+
+90 \r\12
+__v´\9atf_chk
+ (\12
+__æag
+, cڡ \ 5*
+__»¡riù
+__fÜm©
+,
+
+91 
+_G_va_li¡
+__­
+);
+
+93 #ifdeà
+__va_¬g_·ck
+
+
+94 
+__fÜtify_funùiÚ
\12
+
+95 
+       $år\9atf
+ (
+FILE
+ *
+__»¡riù
+__¡»am
+, cÚ¡ \ 5*__»¡riù 
+__fmt
+, ...)
+
+97 \15 
+       `__år\9atf_chk
+ (
+__¡»am
+, 
+__USE_FORTIFY_LEVEL
+ - 1, 
+__fmt
+,
+
+98 
+       `__va_¬g_·ck
+ ());
+
+99 
+       }
+}
+
+101 
+__fÜtify_funùiÚ
\12
+
+102 
+       $´\9atf
+ (cڡ \ 5*
+__»¡riù
+__fmt
+, ...)
+
+104 \15 
+       `__´\9atf_chk
+ (
+__USE_FORTIFY_LEVEL
+ - 1, 
+__fmt
+, 
+       `__va_¬g_·ck
+ ());
+
+105 
+       }
+}
+
+106 #\96ià!
+def\9aed
+__ýlu¥lus
+
+
+107 \ 1
+       #´\9atf
+(...) \
+
+108 
+       `__´\9atf_chk
+ (
+__USE_FORTIFY_LEVEL
+ - 1, 
+__VA_ARGS__
+)
+
+       )
+
+109 \ 1
+       #år\9atf
+(
+¡»am
+, ...) \
+
+110 
+       `__år\9atf_chk
+ (
+¡»am
+, 
+__USE_FORTIFY_LEVEL
+ - 1, 
+__VA_ARGS__
+)
+
+       )
+
+113 
+__fÜtify_funùiÚ
\12
+
+114 
+       $v´\9atf
+ (cڡ \ 5*
+__»¡riù
+__fmt
+, 
+_G_va_li¡
+__­
+)
+
+116 #ifdeà
+__USE_EXTERN_INLINES
+
+
+117 \15 
+       `__vår\9atf_chk
+ (
+¡dout
+, 
+__USE_FORTIFY_LEVEL
+ - 1, 
+__fmt
+, 
+__­
+);
+
+119 \15 
+       `__v´\9atf_chk
+ (
+__USE_FORTIFY_LEVEL
+ - 1, 
+__fmt
+, 
+__­
+);
+
+121 
+       }
+}
+
+123 
+__fÜtify_funùiÚ
\12
+
+124 
+       $vår\9atf
+ (
+FILE
+ *
+__»¡riù
+__¡»am
+,
+
+125 cڡ \ 5*
+__»¡riù
+__fmt
+, 
+_G_va_li¡
+__­
+)
+
+127 \15 
+       `__vår\9atf_chk
+ (
+__¡»am
+, 
+__USE_FORTIFY_LEVEL
+ - 1, 
+__fmt
+, 
+__­
+);
+
+128 
+       }
+}
+
+130 #ifdeà
+__USE_XOPEN2K8
+
+
+131 \r\12
+       $__d´\9atf_chk
+ (\12
+__fd
+, \12
+__æag
+, cڡ \ 5*
+__»¡riù
+__fmt
+,
+
+132 ...è
+       `__©\8cibu\8b__
+ ((
+       `__fÜm©__
+ (
+__´\9atf__
+, 3, 4)));
+
+133 \r\12
+       $__vd´\9atf_chk
+ (\12
+__fd
+, \12
+__æag
+,
+
+134 cڡ \ 5*
+__»¡riù
+__fmt
+, 
+_G_va_li¡
+__¬g
+)
+
+135 
+       `__©\8cibu\8b__
+ ((
+       `__fÜm©__
+ (
+__´\9atf__
+, 3, 0)));
+
+137 #ifdeà
+__va_¬g_·ck
+
+
+138 
+__fÜtify_funùiÚ
\12
+
+139 
+       $d´\9atf
+ (\12
+__fd
+, cڡ \ 5*
+__»¡riù
+__fmt
+, ...)
+
+141 \15 
+       `__d´\9atf_chk
+ (
+__fd
+, 
+__USE_FORTIFY_LEVEL
+ - 1, 
+__fmt
+,
+
+142 
+       `__va_¬g_·ck
+ ());
+
+143 
+       }
+}
+
+144 #\96ià!
+def\9aed
+__ýlu¥lus
+
+
+145 \ 1
+       #d´\9atf
+(
+fd
+, ...) \
+
+146 
+       `__d´\9atf_chk
+ (
+fd
+, 
+__USE_FORTIFY_LEVEL
+ - 1, 
+__VA_ARGS__
+)
+
+       )
+
+149 
+__fÜtify_funùiÚ
\12
+
+150 
+       $vd´\9atf
+ (\12
+__fd
+, cڡ \ 5*
+__»¡riù
+__fmt
+, 
+_G_va_li¡
+__­
+)
+
+152 \15 
+       `__vd´\9atf_chk
+ (
+__fd
+, 
+__USE_FORTIFY_LEVEL
+ - 1, 
+__fmt
+, 
+__­
+);
+
+153 
+       }
+}
+
+156 #ifdeà
+__USE_GNU
+
+
+158 \r\12
+       $__a¥r\9atf_chk
+ (\ 5**
+__»¡riù
+__±r
+, \12
+__æag
+,
+
+159 cڡ \ 5*
+__»¡riù
+__fmt
+, ...)
+
+160 
+__THROW
+       `__©\8cibu\8b__
+ ((
+       $__fÜm©__
+ (
+__´\9atf__
+, 3, 4))è
+__wur
+;
+
+161 \r\12
+       $__va¥r\9atf_chk
+ (\ 5**
+__»¡riù
+__±r
+, \12
+__æag
+,
+
+162 cڡ \ 5*
+__»¡riù
+__fmt
+, 
+_G_va_li¡
+__¬g
+)
+
+163 
+__THROW
+       `__©\8cibu\8b__
+ ((
+       $__fÜm©__
+ (
+__´\9atf__
+, 3, 0))è
+__wur
+;
+
+164 \r\12
+       $__ob¡ack_´\9atf_chk
+ (\19
+ob¡ack
+ *
+__»¡riù
+__ob¡ack
+,
+
+165 \12
+__æag
+, cڡ \ 5*
+__»¡riù
+__fÜm©
+,
+
+167 
+__THROW
+       `__©\8cibu\8b__
+ ((
+       `__fÜm©__
+ (
+__´\9atf__
+, 3, 4)));
+
+168 \r\12
+       $__ob¡ack_v´\9atf_chk
+ (\19
+ob¡ack
+ *
+__»¡riù
+__ob¡ack
+,
+
+169 \12
+__æag
+,
+
+170 cڡ \ 5*
+__»¡riù
+__fÜm©
+,
+
+171 
+_G_va_li¡
+__¬gs
+)
+
+172 
+__THROW
+       `__©\8cibu\8b__
+ ((
+       `__fÜm©__
+ (
+__´\9atf__
+, 3, 0)));
+
+174 #ifdeà
+__va_¬g_·ck
+
+
+175 
+__fÜtify_funùiÚ
\12
+
+176 
+       `__NTH
+ (
+       $a¥r\9atf
+ (\ 5**
+__»¡riù
+__±r
+, cÚ¡ \ 5*__»¡riù 
+__fmt
+, ...))
+
+178 \15 
+       `__a¥r\9atf_chk
+ (
+__±r
+, 
+__USE_FORTIFY_LEVEL
+ - 1, 
+__fmt
+,
+
+179 
+       `__va_¬g_·ck
+ ());
+
+180 
+       }
+}
+
+182 
+__fÜtify_funùiÚ
\12
+
+183 
+__NTH
+ (
+       $__a¥r\9atf
+ (\ 5**
+__»¡riù
+__±r
+, cÚ¡ \ 5*__»¡riù 
+__fmt
+,
+
+186 \15 
+       `__a¥r\9atf_chk
+ (
+__±r
+, 
+__USE_FORTIFY_LEVEL
+ - 1, 
+__fmt
+,
+
+187 
+       `__va_¬g_·ck
+ ());
+
+188 
+       }
+}
+
+190 
+__fÜtify_funùiÚ
\12
+
+191 
+__NTH
+ (
+       $ob¡ack_´\9atf
+ (\19
+ob¡ack
+ *
+__»¡riù
+__ob¡ack
+,
+
+192 cڡ \ 5*
+__»¡riù
+__fmt
+, ...))
+
+194 \15 
+       `__ob¡ack_´\9atf_chk
+ (
+__ob¡ack
+, 
+__USE_FORTIFY_LEVEL
+ - 1, 
+__fmt
+,
+
+195 
+       `__va_¬g_·ck
+ ());
+
+196 
+       }
+}
+
+197 #\96ià!
+def\9aed
+__ýlu¥lus
+
+
+198 \ 1
+       #a¥r\9atf
+(
+±r
+, ...) \
+
+199 
+       `__a¥r\9atf_chk
+ (
+±r
+, 
+__USE_FORTIFY_LEVEL
+ - 1, 
+__VA_ARGS__
+)
+
+       )
+
+200 \ 1
+       #__a¥r\9atf
+(
+±r
+, ...) \
+
+201 
+       `__a¥r\9atf_chk
+ (
+±r
+, 
+__USE_FORTIFY_LEVEL
+ - 1, 
+__VA_ARGS__
+)
+
+       )
+
+202 \ 1
+       #ob¡ack_´\9atf
+(
+ob¡ack
+, ...) \
+
+203 
+       `__ob¡ack_´\9atf_chk
+ (
+ob¡ack
+, 
+__USE_FORTIFY_LEVEL
+ - 1, 
+__VA_ARGS__
+)
+
+       )
+
+206 
+__fÜtify_funùiÚ
\12
+
+207 
+__NTH
+ (
+       $va¥r\9atf
+ (\ 5**
+__»¡riù
+__±r
+, cÚ¡ \ 5*__»¡riù 
+__fmt
+,
+
+208 
+_G_va_li¡
+__­
+))
+
+210 \15 
+       `__va¥r\9atf_chk
+ (
+__±r
+, 
+__USE_FORTIFY_LEVEL
+ - 1, 
+__fmt
+, 
+__­
+);
+
+211 
+       }
+}
+
+213 
+__fÜtify_funùiÚ
\12
+
+214 
+__NTH
+ (
+       $ob¡ack_v´\9atf
+ (\19
+ob¡ack
+ *
+__»¡riù
+__ob¡ack
+,
+
+215 cڡ \ 5*
+__»¡riù
+__fmt
+, 
+_G_va_li¡
+__­
+))
+
+217 \15 
+       `__ob¡ack_v´\9atf_chk
+ (
+__ob¡ack
+, 
+__USE_FORTIFY_LEVEL
+ - 1, 
+__fmt
+,
+
+218 
+__­
+);
+
+219 
+       }
+}
+
+225 #ià!
+def\9aed
+__USE_ISOC11
+ \
+
+226 || (
+def\9aed
+       g__ýlu¥lus
+ && __ýlu¥lu <ð201103L && !def\9aed 
+__USE_GNU
+)
+
+227 \r\ 5*
+       $__g\91s_chk
+ (\ 5*
+__¡r
+, 
+size_t
+__wur
+;
+
+228 \r\ 5*
+       `__REDIRECT
+ (
+__g\91s_w¬n
+, (\ 5*
+__¡r
+), 
+g\91s
+)
+
+229 
+__wur
+       `__w¬Ç\89r
+ ("please use fgets or getline instead, gets can't "
+
+232 
+__fÜtify_funùiÚ
+__wur
\ 5*
+
+233 
+       $g\91s
+ (\ 5*
+__¡r
+)
+
+235 ià(
+       `__bos
+ (
+__¡r
+è!ð(
+size_t
+) -1)
+
+236 \15 
+       `__g\91s_chk
+ (
+__¡r
+, 
+       `__bos
+ (__str));
+
+237 \15 
+       `__g\91s_w¬n
+ (
+__¡r
+);
+
+238 
+       }
+}
+
+241 \r\ 5*
+       $__fg\91s_chk
+ (\ 5*
+__»¡riù
+__s
+, 
+size_t
+__size
+, \12
+__n
+,
+
+242 
+FILE
+ *
+__»¡riù
+__¡»am
+__wur
+;
+
+243 \r\ 5*
+       `__REDIRECT
+ (
+__fg\91s_®\9fs
+,
+
+244 (\ 5*
+__»¡riù
+__s
+, \12
+__n
+,
+
+245 
+FILE
+ *
+__»¡riù
+__¡»am
+), 
+fg\91s
+__wur
+;
+
+246 \r\ 5*
+       `__REDIRECT
+ (
+__fg\91s_chk_w¬n
+,
+
+247 (\ 5*
+__»¡riù
+__s
+, 
+size_t
+__size
+, \12
+__n
+,
+
+248 
+FILE
+ *
+__»¡riù
+__¡»am
+), 
+__fg\91s_chk
+)
+
+249 
+__wur
+       `__w¬Ç\89r
+ ("fgets called with bigger size\81han\86ength "
+
+252 
+__fÜtify_funùiÚ
+__wur
\ 5*
+
+253 
+       $fg\91s
+ (\ 5*
+__»¡riù
+__s
+, \12
+__n
+, 
+FILE
+ *__»¡riù 
+__¡»am
+)
+
+255 ià(
+       `__bos
+ (
+__s
+è!ð(
+size_t
+) -1)
+
+257 ià(!
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+__n
+) || __n <= 0)
+
+258 \15 
+       `__fg\91s_chk
+ (
+__s
+, 
+       `__bos
+ (__s), 
+__n
+, 
+__¡»am
+);
+
+260 ià((
+size_t
+__n
+ > 
+       `__bos
+ (
+__s
+))
+
+261 \15 
+       `__fg\91s_chk_w¬n
+ (
+__s
+, 
+       `__bos
+ (__s), 
+__n
+, 
+__¡»am
+);
+
+263 \15 
+       `__fg\91s_®\9fs
+ (
+__s
+, 
+__n
+, 
+__¡»am
+);
+
+264 
+       }
+}
+
+266 \r
+size_t
+       $__ä\97d_chk
+ (\1e*
+__»¡riù
+__±r
+, 
+size_t
+__±¾\92
+,
+
+267 
+size_t
+__size
+, size_\88
+__n
+,
+
+268 
+FILE
+ *
+__»¡riù
+__¡»am
+__wur
+;
+
+269 \r
+size_t
+       `__REDIRECT
+ (
+__ä\97d_®\9fs
+,
+
+270 (\1e*
+__»¡riù
+__±r
+, 
+size_t
+__size
+,
+
+271 
+size_t
+__n
+, 
+FILE
+ *
+__»¡riù
+__¡»am
+),
+
+272 
\97d
+__wur
+;
+
+273 \r
+size_t
+       `__REDIRECT
+ (
+__ä\97d_chk_w¬n
+,
+
+274 (\1e*
+__»¡riù
+__±r
+, 
+size_t
+__±¾\92
+,
+
+275 
+size_t
+__size
+, size_\88
+__n
+,
+
+276 
+FILE
+ *
+__»¡riù
+__¡»am
+),
+
+277 
+__ä\97d_chk
+)
+
+278 
+__wur
+       `__w¬Ç\89r
+ ("fread called with bigger size *\82memb\81han\86ength "
+
+281 
+__fÜtify_funùiÚ
+__wur
+size_t
+
+
+282 
+       $ä\97d
+ (\1e*
+__»¡riù
+__±r
+, 
+size_t
+__size
+, size_\88
+__n
+,
+
+283 
+FILE
+ *
+__»¡riù
+__¡»am
+)
+
+285 ià(
+       `__bos0
+ (
+__±r
+è!ð(
+size_t
+) -1)
+
+287 ià(!
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+__size
+)
+
+288 || !
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+__n
+)
+
+289 || (
+__size
+ | 
+__n
+è>ð(((
+size_t
+) 1) << (8 * \17 (size_t) / 2)))
+
+290 \15 
+       `__ä\97d_chk
+ (
+__±r
+, 
+       `__bos0
+ (__±r), 
+__size
+, 
+__n
+, 
+__¡»am
+);
+
+292 ià(
+__size
+ * 
+__n
+ > 
+       `__bos0
+ (
+__±r
+))
+
+293 \15 
+       `__ä\97d_chk_w¬n
+ (
+__±r
+, 
+       `__bos0
+ (__±r), 
+__size
+, 
+__n
+, 
+__¡»am
+);
+
+295 \15 
+       `__ä\97d_®\9fs
+ (
+__±r
+, 
+__size
+, 
+__n
+, 
+__¡»am
+);
+
+296 
+       }
+}
+
+298 #ifdeà
+__USE_GNU
+
+
+299 \r\ 5*
+       $__fg\91s_uÆocked_chk
+ (\ 5*
+__»¡riù
+__s
+, 
+size_t
+__size
+,
+
+300 \12
+__n
+, 
+FILE
+ *
+__»¡riù
+__¡»am
+__wur
+;
+
+301 \r\ 5*
+       `__REDIRECT
+ (
+__fg\91s_uÆocked_®\9fs
+,
+
+302 (\ 5*
+__»¡riù
+__s
+, \12
+__n
+,
+
+303 
+FILE
+ *
+__»¡riù
+__¡»am
+), 
+fg\91s_uÆocked
+__wur
+;
+
+304 \r\ 5*
+       `__REDIRECT
+ (
+__fg\91s_uÆocked_chk_w¬n
+,
+
+305 (\ 5*
+__»¡riù
+__s
+, 
+size_t
+__size
+, \12
+__n
+,
+
+306 
+FILE
+ *
+__»¡riù
+__¡»am
+), 
+__fg\91s_uÆocked_chk
+)
+
+307 
+__wur
+       `__w¬Ç\89r
+ ("fgets_unlocked called with bigger size\81han\86ength "
+
+310 
+__fÜtify_funùiÚ
+__wur
\ 5*
+
+311 
+       $fg\91s_uÆocked
+ (\ 5*
+__»¡riù
+__s
+, \12
+__n
+, 
+FILE
+ *__»¡riù 
+__¡»am
+)
+
+313 ià(
+       `__bos
+ (
+__s
+è!ð(
+size_t
+) -1)
+
+315 ià(!
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+__n
+) || __n <= 0)
+
+316 \15 
+       `__fg\91s_uÆocked_chk
+ (
+__s
+, 
+       `__bos
+ (__s), 
+__n
+, 
+__¡»am
+);
+
+318 ià((
+size_t
+__n
+ > 
+       `__bos
+ (
+__s
+))
+
+319 \15 
+       `__fg\91s_uÆocked_chk_w¬n
+ (
+__s
+, 
+       `__bos
+ (__s), 
+__n
+, 
+__¡»am
+);
+
+321 \15 
+       `__fg\91s_uÆocked_®\9fs
+ (
+__s
+, 
+__n
+, 
+__¡»am
+);
+
+322 
+       }
+}
+
+325 #ifdeà
+__USE_MISC
+
+
+326 #undeà
\97d_uÆocked
+
+
+327 \r
+size_t
+       $__ä\97d_uÆocked_chk
+ (\1e*
+__»¡riù
+__±r
+, 
+size_t
+__±¾\92
+,
+
+328 
+size_t
+__size
+, size_\88
+__n
+,
+
+329 
+FILE
+ *
+__»¡riù
+__¡»am
+__wur
+;
+
+330 \r
+size_t
+       `__REDIRECT
+ (
+__ä\97d_uÆocked_®\9fs
+,
+
+331 (\1e*
+__»¡riù
+__±r
+, 
+size_t
+__size
+,
+
+332 
+size_t
+__n
+, 
+FILE
+ *
+__»¡riù
+__¡»am
+),
+
+333 
\97d_uÆocked
+__wur
+;
+
+334 \r
+size_t
+       `__REDIRECT
+ (
+__ä\97d_uÆocked_chk_w¬n
+,
+
+335 (\1e*
+__»¡riù
+__±r
+, 
+size_t
+__±¾\92
+,
+
+336 
+size_t
+__size
+, size_\88
+__n
+,
+
+337 
+FILE
+ *
+__»¡riù
+__¡»am
+),
+
+338 
+__ä\97d_uÆocked_chk
+)
+
+339 
+__wur
+       `__w¬Ç\89r
+ ("fread_unlocked called with bigger size *\82memb\81han "
+
+342 
+__fÜtify_funùiÚ
+__wur
+size_t
+
+
+343 
+       $ä\97d_uÆocked
+ (\1e*
+__»¡riù
+__±r
+, 
+size_t
+__size
+, size_\88
+__n
+,
+
+344 
+FILE
+ *
+__»¡riù
+__¡»am
+)
+
+346 ià(
+       `__bos0
+ (
+__±r
+è!ð(
+size_t
+) -1)
+
+348 ià(!
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+__size
+)
+
+349 || !
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+__n
+)
+
+350 || (
+__size
+ | 
+__n
+è>ð(((
+size_t
+) 1) << (8 * \17 (size_t) / 2)))
+
+351 \15 
+       `__ä\97d_uÆocked_chk
+ (
+__±r
+, 
+       `__bos0
+ (__±r), 
+__size
+, 
+__n
+,
+
+352 
+__¡»am
+);
+
+354 ià(
+__size
+ * 
+__n
+ > 
+       `__bos0
+ (
+__±r
+))
+
+355 \15 
+       `__ä\97d_uÆocked_chk_w¬n
+ (
+__±r
+, 
+       `__bos0
+ (__±r), 
+__size
+, 
+__n
+,
+
+356 
+__¡»am
+);
+
+359 #ifdeà
+__USE_EXTERN_INLINES
+
+
+360 ià(
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+__size
+)
+
+361 && 
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+__n
+)
+
+362 && (
+__size
+ | 
+__n
+è< (((
+size_t
+) 1) << (8 * \17 (size_t) / 2))
+
+363 && 
+__size
+ * 
+__n
+ <= 8)
+
+365 
+size_t
+__út
+ = 
+__size
+ * 
+__n
+;
+
+366 \ 5*
+__ý\8c
+ = (\ 5
+__±r
+;
+
+367 ià(
+__út
+ == 0)
+
+370 \ f
+__út
+ > 0; --__cnt)
+
+372 \12
+__c
+ = 
+       `_IO_g\91c_uÆocked
+ (
+__¡»am
+);
+
+373 ià(
+__c
+ =ð
+EOF
+)
+
+375 *
+__ý\8c
+++ = 
+__c
+;
+
+377 \15 (
+__ý\8c
+ - (\ 5
+__±r
+è/ 
+__size
+;
+
+380 \15 
+       `__ä\97d_uÆocked_®\9fs
+ (
+__±r
+, 
+__size
+, 
+__n
+, 
+__¡»am
+);
+
+381 
+       }
+}
+
+       @/usr/include/bits/stdio_lim.h
+
+18 #ià!
+def\9aed
+_STDIO_H
+ && !def\9aed 
+__Ãed_FOPEN_MAX
+ && !def\9aed 
+__Ãed_IOV_MAX
+
+
+22 #ifdeà
+_STDIO_H
+
+
+23 \ 1
+       #L_tm²am
+ 20
+
+       )
+
+24 \ 1
+       #TMP_MAX
+ 238328
+
+       )
+
+25 \ 1
+       #FILENAME_MAX
+ 4096
+
+       )
+
+27 #ifdeà
+__USE_POSIX
+
+
+28 \ 1
+       #L_ù\94mid
+ 9
+
+       )
+
+29 #ià!
+def\9aed
+__USE_XOPEN2K
+ || def\9aed 
+__USE_GNU
+
+
+30 \ 1
+       #L_cu£rid
+ 9
+
+       )
+
+35 #ià
+def\9aed
+__Ãed_FOPEN_MAX
+ || def\9aed 
+_STDIO_H
+
+
+36 #undeà
+FOPEN_MAX
+
+
+37 \ 1
+       #FOPEN_MAX
+ 16
+
+       )
+
+40 #ià
+def\9aed
+__Ãed_IOV_MAX
+ && !def\9aed 
+IOV_MAX
+
+
+41 \ 1
+       #IOV_MAX
+ 1024
+
+       )
+
+       @/usr/include/bits/stdlib-bsearch.h
+
+19 
+__ex\8bº_\9al\9ae
\1e*
+
+20 
+       $b£¬ch
+ (cڡ \1e*
+__key
+, cڡ \1e*
+__ba£
+, 
+size_t
+__nmemb
+, size_\88
+__size
+,
+
+21 
+__com·r_â_t
+__com·r
+)
+
+23 
+size_t
+__l
+, 
+__u
+, 
+__idx
+;
+
+24 cڡ \1e*
+__p
+;
+
+25 \12
+__com·risÚ
+;
+
+27 
+__l
+ = 0;
+
+28 
+__u
+ = 
+__nmemb
+;
+
+29 \1f
+__l
+ < 
+__u
+)
+
+31 
+__idx
+ = (
+__l
+ + 
+__u
+) / 2;
+
+32 
+__p
+ = (\1e*è(((cÚ¡ \ 5
+__ba£
+è+ (
+__idx
+ * 
+__size
+));
+
+33 
+__com·risÚ
+ = (*
+__com·r
+è(
+__key
+, 
+__p
+);
+
+34 ià(
+__com·risÚ
+ < 0)
+
+35 
+__u
+ = 
+__idx
+;
+
+36 \vià(
+__com·risÚ
+ > 0)
+
+37 
+__l
+ = 
+__idx
+ + 1;
+
+39 \15 (\1e
+__p
+;
+
+42 \15 
+NULL
+;
+
+43 
+       }
+}
+
+       @/usr/include/bits/stdlib-float.h
+
+19 #iâdeà
+_STDLIB_H
+
+
+23 #ifdeà
+__USE_EXTERN_INLINES
+
+
+24 
+__BEGIN_NAMESPACE_STD
+
+
+25 
+__ex\8bº_\9al\9ae
\b
+
+26 
+__NTH
+ (
+       $©of
+ (cڡ \ 5*
+__Ō
+))
+
+28 \15 
+       `¡¹od
+ (
+__Ō
+, (\ 5**è
+NULL
+);
+
+29 
+       }
+}
+
+30 
+       g__END_NAMESPACE_STD
+
+
+       @/usr/include/bits/stdlib-ldbl.h
+
+19 #iâdeà
+_STDLIB_H
+
+
+23 #ifdef 
+__USE_ISOC99
+
+
+24 
+__BEGIN_NAMESPACE_C99
+
+
+25 
+       $__LDBL_REDIR1_DECL
+ (
+¡¹Þd
+, 
+¡¹od
+)
+
+26 
+__END_NAMESPACE_C99
+
+
+29 #ifdeà
+__USE_GNU
+
+
+30 
+       $__LDBL_REDIR1_DECL
+ (
+¡¹Þd_l
+, 
+¡¹od_l
+)
+
+33 #ifdeà
+__USE_MISC
+
+
+34 
+       $__LDBL_REDIR1_DECL
+ (
+qecvt
+, 
+ecvt
+)
+
+35 
+       $__LDBL_REDIR1_DECL
+ (
+qfcvt
+, 
+fcvt
+)
+
+36 
+       $__LDBL_REDIR1_DECL
+ (
+qgcvt
+, 
+gcvt
+)
+
+37 
+       $__LDBL_REDIR1_DECL
+ (
+qecvt_r
+, 
+ecvt_r
+)
+
+38 
+       $__LDBL_REDIR1_DECL
+ (
+qfcvt_r
+, 
+fcvt_r
+)
+
+       @/usr/include/bits/stdlib.h
+
+19 #iâdeà
+_STDLIB_H
+
+
+23 \r\ 5*
+       $__»®·th_chk
+ (cڡ \ 5*
+__»¡riù
+__Çme
+,
+
+24 \ 5*
+__»¡riù
+__»sÞved
+,
+
+25 
+size_t
+__»sÞvedËn
+__THROW
+__wur
+;
+
+26 \r\ 5*
+       `__REDIRECT_NTH
+ (
+__»®·th_®\9fs
+,
+
+27 (cڡ \ 5*
+__»¡riù
+__Çme
+,
+
+28 \ 5*
+__»¡riù
+__»sÞved
+), 
+»®·th
+__wur
+;
+
+29 \r\ 5*
+       `__REDIRECT_NTH
+ (
+__»®·th_chk_w¬n
+,
+
+30 (cڡ \ 5*
+__»¡riù
+__Çme
+,
+
+31 \ 5*
+__»¡riù
+__»sÞved
+,
+
+32 
+size_t
+__»sÞvedËn
+), 
+__»®·th_chk
+__wur
+
+
+33 
+       `__w¬Ç\89r
+ ("second\87rgument of\84ealpath must be\83ither NULL or\87t "
+
+36 
+__fÜtify_funùiÚ
+__wur
\ 5*
+
+37 
+       `__NTH
+ (
+       $»®·th
+ (cڡ \ 5*
+__»¡riù
+__Çme
+, \ 5*__»¡riù 
+__»sÞved
+))
+
+39 ià(
+       `__bos
+ (
+__»sÞved
+è!ð(
+size_t
+) -1)
+
+41 #ià
+def\9aed
+_LIBC_LIMITS_H_
+ && def\9aed 
+PATH_MAX
+
+
+42 ià(
+       `__bos
+ (
+__»sÞved
+è< 
+PATH_MAX
+)
+
+43 \15 
+       `__»®·th_chk_w¬n
+ (
+__Çme
+, 
+__»sÞved
+, 
+       `__bos
+ (__resolved));
+
+45 \15 
+       `__»®·th_chk
+ (
+__Çme
+, 
+__»sÞved
+, 
+       `__bos
+ (__resolved));
+
+48 \15 
+       `__»®·th_®\9fs
+ (
+__Çme
+, 
+__»sÞved
+);
+
+49 
+       }
+}
+
+52 \r\12
+       $__±¢ame_r_chk
+ (\12
+__fd
+, \ 5*
+__buf
+, 
+size_t
+__buæ\92
+,
+
+53 
+size_t
+__ėl
+__THROW
+       `__nÚnuÎ
+ ((2));
+
+54 \r\12
+       `__REDIRECT_NTH
+ (
+__±¢ame_r_®\9fs
+, (\12
+__fd
+, \ 5*
+__buf
+,
+
+55 
+size_t
+__buæ\92
+), 
+±¢ame_r
+)
+
+56 
+       `__nÚnuÎ
+ ((2));
+
+57 \r\12
+       `__REDIRECT_NTH
+ (
+__±¢ame_r_chk_w¬n
+,
+
+58 (\12
+__fd
+, \ 5*
+__buf
+, 
+size_t
+__buæ\92
+,
+
+59 
+size_t
+__ėl
+), 
+__±¢ame_r_chk
+)
+
+60 
+       `__nÚnuÎ
+ ((2)è
+       `__w¬Ç\89r
+ ("ptsname_r called with buflen bigger\81han "
+
+63 
+__fÜtify_funùiÚ
\12
+
+64 
+       `__NTH
+ (
+       $±¢ame_r
+ (\12
+__fd
+, \ 5*
+__buf
+, 
+size_t
+__buæ\92
+))
+
+66 ià(
+       `__bos
+ (
+__buf
+è!ð(
+size_t
+) -1)
+
+68 ià(!
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+__buæ\92
+))
+
+69 \15 
+       `__±¢ame_r_chk
+ (
+__fd
+, 
+__buf
+, 
+__buæ\92
+, 
+       `__bos
+ (__buf));
+
+70 ià(
+__buæ\92
+ > 
+       `__bos
+ (
+__buf
+))
+
+71 \15 
+       `__±¢ame_r_chk_w¬n
+ (
+__fd
+, 
+__buf
+, 
+__buæ\92
+, 
+       `__bos
+ (__buf));
+
+73 \15 
+       `__±¢ame_r_®\9fs
+ (
+__fd
+, 
+__buf
+, 
+__buæ\92
+);
+
+74 
+       }
+}
+
+77 \r\12
+       $__wùomb_chk
+ (\ 5*
+__s
+, 
+wch¬_t
+__wch¬
+, 
+size_t
+__buæ\92
+)
+
+78 
+__THROW
+__wur
+;
+
+79 \r\12
+       `__REDIRECT_NTH
+ (
+__wùomb_®\9fs
+, (\ 5*
+__s
+, 
+wch¬_t
+__wch¬
+),
+
+80 
+wùomb
+__wur
+;
+
+82 
+__fÜtify_funùiÚ
+__wur
\12
+
+83 
+       `__NTH
+ (
+       $wùomb
+ (\ 5*
+__s
+, 
+wch¬_t
+__wch¬
+))
+
+88 \ 1
+       #__STDLIB_MB_LEN_MAX
+ 16
+
+       )
+
+89 #ià
+def\9aed
+MB_LEN_MAX
+ && MB_LEN_MAX !ð
+__STDLIB_MB_LEN_MAX
+
+
+92 ià(
+       `__bos
+ (
+__s
+è!ð(
+size_t
+è-1 && 
+__STDLIB_MB_LEN_MAX
+ > __bos (__s))
+
+93 \15 
+       `__wùomb_chk
+ (
+__s
+, 
+__wch¬
+, 
+       `__bos
+ (__s));
+
+94 \15 
+       `__wùomb_®\9fs
+ (
+__s
+, 
+__wch¬
+);
+
+95 
+       }
+}
+
+98 \r
+size_t
+       $__mb¡owcs_chk
+ (
+wch¬_t
+ *
+__»¡riù
+__d¡
+,
+
+99 cڡ \ 5*
+__»¡riù
+__¤c
+,
+
+100 
+size_t
+__Ën
+, size_\88
+__d¡Ën
+__THROW
+;
+
+101 \r
+size_t
+       `__REDIRECT_NTH
+ (
+__mb¡owcs_®\9fs
+,
+
+102 (
+wch¬_t
+ *
+__»¡riù
+__d¡
+,
+
+103 cڡ \ 5*
+__»¡riù
+__¤c
+,
+
+104 
+size_t
+__Ën
+), 
+mb¡owcs
+);
+
+105 \r
+size_t
+       `__REDIRECT_NTH
+ (
+__mb¡owcs_chk_w¬n
+,
+
+106 (
+wch¬_t
+ *
+__»¡riù
+__d¡
+,
+
+107 cڡ \ 5*
+__»¡riù
+__¤c
+,
+
+108 
+size_t
+__Ën
+, size_\88
+__d¡Ën
+), 
+__mb¡owcs_chk
+)
+
+109 
+       `__w¬Ç\89r
+ ("mbstowcs called with dst buffer smaller\81han\86en "
+
+112 
+__fÜtify_funùiÚ
+size_t
+
+
+113 
+       `__NTH
+ (
+       $mb¡owcs
+ (
+wch¬_t
+ *
+__»¡riù
+__d¡
+, cÚ¡ \ 5*__»¡riù 
+__¤c
+,
+
+114 
+size_t
+__Ën
+))
+
+116 ià(
+       `__bos
+ (
+__d¡
+è!ð(
+size_t
+) -1)
+
+118 ià(!
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+__Ën
+))
+
+119 \15 
+       `__mb¡owcs_chk
+ (
+__d¡
+, 
+__¤c
+, 
+__Ën
+,
+
+120 
+       `__bos
+ (
+__d¡
+è/ \17 (
+wch¬_t
+));
+
+122 ià(
+__Ën
+ > 
+       `__bos
+ (
+__d¡
+è/ \17 (
+wch¬_t
+))
+
+123 \15 
+       `__mb¡owcs_chk_w¬n
+ (
+__d¡
+, 
+__¤c
+, 
+__Ën
+,
+
+124 
+       `__bos
+ (
+__d¡
+è/ \17 (
+wch¬_t
+));
+
+126 \15 
+       `__mb¡owcs_®\9fs
+ (
+__d¡
+, 
+__¤c
+, 
+__Ën
+);
+
+127 
+       }
+}
+
+130 \r
+size_t
+       $__wc¡ombs_chk
+ (\ 5*
+__»¡riù
+__d¡
+,
+
+131 cڡ 
+wch¬_t
+ *
+__»¡riù
+__¤c
+,
+
+132 
+size_t
+__Ën
+, size_\88
+__d¡Ën
+__THROW
+;
+
+133 \r
+size_t
+       `__REDIRECT_NTH
+ (
+__wc¡ombs_®\9fs
+,
+
+134 (\ 5*
+__»¡riù
+__d¡
+,
+
+135 cڡ 
+wch¬_t
+ *
+__»¡riù
+__¤c
+,
+
+136 
+size_t
+__Ën
+), 
+wc¡ombs
+);
+
+137 \r
+size_t
+       `__REDIRECT_NTH
+ (
+__wc¡ombs_chk_w¬n
+,
+
+138 (\ 5*
+__»¡riù
+__d¡
+,
+
+139 cڡ 
+wch¬_t
+ *
+__»¡riù
+__¤c
+,
+
+140 
+size_t
+__Ën
+, size_\88
+__d¡Ën
+), 
+__wc¡ombs_chk
+)
+
+141 
+       `__w¬Ç\89r
+ ("wcstombs called with dst buffer smaller\81han\86en");
+
+143 
+__fÜtify_funùiÚ
+size_t
+
+
+144 
+       `__NTH
+ (
+       $wc¡ombs
+ (\ 5*
+__»¡riù
+__d¡
+, cڡ 
+wch¬_t
+ *__»¡riù 
+__¤c
+,
+
+145 
+size_t
+__Ën
+))
+
+147 ià(
+       `__bos
+ (
+__d¡
+è!ð(
+size_t
+) -1)
+
+149 ià(!
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+__Ën
+))
+
+150 \15 
+       `__wc¡ombs_chk
+ (
+__d¡
+, 
+__¤c
+, 
+__Ën
+, 
+       `__bos
+ (__dst));
+
+151 ià(
+__Ën
+ > 
+       `__bos
+ (
+__d¡
+))
+
+152 \15 
+       `__wc¡ombs_chk_w¬n
+ (
+__d¡
+, 
+__¤c
+, 
+__Ën
+, 
+       `__bos
+ (__dst));
+
+154 \15 
+       `__wc¡ombs_®\9fs
+ (
+__d¡
+, 
+__¤c
+, 
+__Ën
+);
+
+155 
+       }
+}
+
+       @/usr/include/bits/string.h
+
+19 #iâdeà
+_STRING_H
+
+
+24 \ 1
+       #_STRING_INLINE_uÇligÃd
+ 1
+
+       )
+
+27 \ 1
+       #_HAVE_STRING_ARCH_mempýy
+ 1
+
+       )
+
+31 #ià!
+def\9aed
+__x86_64__
+ && (def\9aed 
+__i486__
+ || def\9aed 
+__³Áium__
+ \
+
+32 || 
+def\9aed
+       g__³Áium´o__
+ || def\9aed 
+       g__³Áium4__
+ \
+
+33 || 
+def\9aed
+       g__nocÚa__
+ || def\9aed 
+       g__©om__
+ \
+
+34 || 
+def\9aed
+       g__cÜe2__
+ || def\9aed 
+       g__cÜei7__
+ \
+
+35 || 
+def\9aed
+       g__§ndybridge__
+ || def\9aed 
+       g__hasw\96l__
+ \
+
+36 || 
+def\9aed
+       g__bÚÃÎ__
+ || def\9aed 
+       g__s\9ev\94mÚt__
+ \
+
+37 || 
+def\9aed
+       g__k6__
+ || def\9aed 
+       g__geode__
+ \
+
+38 || 
+def\9aed
+       g__k8__
+ || def\9aed 
+       g__©hlÚ__
+ \
+
+39 || 
+def\9aed
+       g__amdçm10__
+ || def\9aed 
+       g__bdv\941__
+ \
+
+40 || 
+def\9aed
+       g__bdv\942__
+ || def\9aed 
+       g__bdv\943__
+ \
+
+41 || 
+def\9aed
+       g__bdv\944__
+ || def\9aed 
+       g__btv\941__
+ \
+
+42 || 
+def\9aed
+       g__btv\942__
+)
+
+46 #ià!
+def\9aed
+__NO_STRING_INLINES
+ && def\9aed 
+__USE_STRING_INLINES
+ \
+
+47 && 
+def\9aed
+       g__GNUC__
+ && __GNUC__ >= 2
+
+49 #iâdeà
+__STRING_INLINE
+
+
+50 #iâdeà
+__ex\8bº_\9al\9ae
+
+
+51 \ 1
+       #__STRING_INLINE
+\9al\9ae
+
+
+       )
+
+53 \ 1
+       #__STRING_INLINE
+__ex\8bº_\9al\9ae
+
+
+       )
+
+58 \ 1
+       #__STRING_SMALL_GET16
+(
+¤c
+, 
+idx
+) \
+
+59 ((((cÚ¡ \1d\ 5*è(
+¤c
+))[
+idx
+ + 1] << 8) \
+
+60 | ((cÚ¡ \1d\ 5*è(
+¤c
+))[
+idx
+])
+
+       )
+
+61 \ 1
+       #__STRING_SMALL_GET32
+(
+¤c
+, 
+idx
+) \
+
+62 (((((cÚ¡ \1d\ 5*è(
+¤c
+))[
+idx
+ + 3] << 8 \
+
+63 | ((cÚ¡ \1d\ 5*è(
+¤c
+))[
+idx
+ + 2]) << 8 \
+
+64 | ((cÚ¡ \1d\ 5*è(
+¤c
+))[
+idx
+ + 1]) << 8 \
+
+65 | ((cÚ¡ \1d\ 5*è(
+¤c
+))[
+idx
+])
+
+       )
+
+69 \ 1
+       #_HAVE_STRING_ARCH_memýy
+ 1
+
+       )
+
+70 \ 1
+       #memýy
+(
+de¡
+, 
+¤c
+, 
+n
+) \
+
+71 (
+       `__ex\8bnsiÚ__
+ (
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+n
+) \
+
+72 ? 
+       `__memýy_c
+ ((
+de¡
+), (
+¤c
+), (
+n
+)) \
+
+73 : 
+       `__memýy_g
+ ((
+de¡
+), (
+¤c
+), (
+n
+))))
+
+       )
+
+74 \ 1
+       #__memýy_c
+(
+de¡
+, 
+¤c
+, 
+n
+) \
+
+75 ((
+n
+) == 0 \
+
+76 ? (
+de¡
+) \
+
+77 : (((
+n
+) % 4 == 0) \
+
+78 ? 
+       `__memýy_by4
+ (
+de¡
+, 
+¤c
+, 
+n
+) \
+
+79 : (((
+n
+) % 2 == 0) \
+
+80 ? 
+       `__memýy_by2
+ (
+de¡
+, 
+¤c
+, 
+n
+) \
+
+81 : 
+       `__memýy_g
+ (
+de¡
+, 
+¤c
+, 
+n
+))))
+
+       )
+
+83 
+__STRING_INLINE
\1e*
+__memýy_by4
+ (\1e*
+__de¡
+, cڡ \1e*
+__¤c
+,
+
+84 
+size_t
+__n
+);
+
+86 
+__STRING_INLINE
\1e*
+
+87 
+       $__memýy_by4
+ (\1e*
+__de¡
+, cڡ \1e*
+__¤c
+, 
+size_t
+__n
+)
+
+89 \14\1d\13\12
+__d0
+, 
+__d1
+;
+
+90 \14\1e*
+__tmp
+ = 
+__de¡
+;
+
+91 
+__asm__
+__vÞ©\9ee__
+
+
+99 : "=&r" (
+__d0
+), "=&r" (
+__tmp
+), "=&r" (
+__¤c
+), "=&r" (
+__d1
+)
+
+100 : "1" (
+__tmp
+), "2" (
+__¤c
+), "3" (
+__n
+ / 4)
+
+102 \15 
+__de¡
+;
+
+103 
+       }
+}
+
+105 
+__STRING_INLINE
\1e*
+__memýy_by2
+ (\1e*
+__de¡
+, cڡ \1e*
+__¤c
+,
+
+106 
+size_t
+__n
+);
+
+108 
+__STRING_INLINE
\1e*
+
+109 
+       $__memýy_by2
+ (\1e*
+__de¡
+, cڡ \1e*
+__¤c
+, 
+size_t
+__n
+)
+
+111 \14\1d\13\12
+__d0
+, 
+__d1
+;
+
+112 \14\1e*
+__tmp
+ = 
+__de¡
+;
+
+113 
+__asm__
+__vÞ©\9ee__
+
+
+126 : "=&q" (
+__d0
+), "=&r" (
+__tmp
+), "=&r" (
+__¤c
+), "=&r" (
+__d1
+)
+
+127 : "1" (
+__tmp
+), "2" (
+__¤c
+), "3" (
+__n
+ / 2)
+
+129 \15 
+__de¡
+;
+
+130 
+       }
+}
+
+132 
+__STRING_INLINE
\1e*
+__memýy_g
+ (\1e*
+__de¡
+, cڡ \1e*
+__¤c
+, 
+size_t
+__n
+);
+
+134 
+__STRING_INLINE
\1e*
+
+135 
+       $__memýy_g
+ (\1e*
+__de¡
+, cڡ \1e*
+__¤c
+, 
+size_t
+__n
+)
+
+137 \14\1d\13\12
+__d0
+, 
+__d1
+, 
+__d2
+;
+
+138 \14\1e*
+__tmp
+ = 
+__de¡
+;
+
+139 
+__asm__
+__vÞ©\9ee__
+
+
+150 : "=&c" (
+__d0
+), "=&D" (
+__d1
+), "=&S" (
+__d2
+),
+
+151 "=m" ( *(¡ruù { 
+__ex\8bnsiÚ__
\ 5
+__x
+[
+__n
+]; } *)
+__de¡
+)
+
+152 : "0" (
+__n
+), "1" (
+__tmp
+), "2" (
+__¤c
+),
+
+153 "m" ( *(¡ruù { 
+__ex\8bnsiÚ__
\ 5
+__x
+[
+__n
+]; } *)
+__¤c
+)
+
+155 \15 
+__de¡
+;
+
+156 
+       }
+}
+
+158 \ 1
+       #_HAVE_STRING_ARCH_memmove
+ 1
+
+       )
+
+159 #iâdeà
+_FORCE_INLINES
+
+
+162 \ 1
+       #memmove
+(
+de¡
+, 
+¤c
+, 
+n
+       `__memmove_g
+ (de¡, src,\82)
+
+       )
+
+164 
+__STRING_INLINE
\1e*
+       $__memmove_g
+ (\1e*, cڡ \1e*, 
+size_t
+)
+
+165 
+       `__asm__
+ ("memmove");
+
+167 
+__STRING_INLINE
\1e*
+
+168 
+       $__memmove_g
+ (\1e*
+__de¡
+, cڡ \1e*
+__¤c
+, 
+size_t
+__n
+)
+
+170 \14\1d\13\12
+__d0
+, 
+__d1
+, 
+__d2
+;
+
+171 \14\1e*
+__tmp
+ = 
+__de¡
+;
+
+172 ià(
+__de¡
+ < 
+__¤c
+)
+
+173 
+__asm__
+__vÞ©\9ee__
+
+
+176 : "=&c" (
+__d0
+), "=&S" (
+__d1
+), "=&D" (
+__d2
+),
+
+177 "=m" ( *(¡ruù { 
+__ex\8bnsiÚ__
\ 5
+__x
+[
+__n
+]; } *)
+__de¡
+)
+
+178 : "0" (
+__n
+), "1" (
+__¤c
+), "2" (
+__tmp
+),
+
+179 "m" ( *(¡ruù { 
+__ex\8bnsiÚ__
\ 5
+__x
+[
+__n
+]; } *)
+__¤c
+));
+
+181 
+__asm__
+__vÞ©\9ee__
+
+
+187 : "=&c" (
+__d0
+), "=&S" (
+__d1
+), "=&D" (
+__d2
+),
+
+188 "=m" ( *(¡ruù { 
+__ex\8bnsiÚ__
\ 5
+__x
+[
+__n
+]; } *)
+__de¡
+)
+
+189 : "0" (
+__n
+), "1" (__À+ (cÚ¡ \ 5
+__¤c
+),
+
+190 "2" (
+__n
+ + (\ 5
+__tmp
+),
+
+191 "m" ( *(¡ruù { 
+__ex\8bnsiÚ__
\ 5
+__x
+[
+__n
+]; } *)
+__¤c
+));
+
+192 \15 
+__de¡
+;
+
+193 
+       }
+}
+
+197 \ 1
+       #_HAVE_STRING_ARCH_memcmp
+ 1
+
+       )
+
+198 #iâdeà
+_FORCE_INLINES
+
+
+199 #iâdeà
+__PIC__
+
+
+201 
+__STRING_INLINE
\12
+
+202 
+       $memcmp
+ (cڡ \1e*
+__s1
+, cڡ \1e*
+__s2
+, 
+size_t
+__n
+)
+
+204 \14\1d\13\12
+__d0
+, 
+__d1
+, 
+__d2
+;
+
+205 \14\12
+__»s
+;
+
+206 
+__asm__
+__vÞ©\9ee__
+
+
+214 : "=&a" (
+__»s
+), "=&S" (
+__d0
+), "=&D" (
+__d1
+), "=&c" (
+__d2
+)
+
+215 : "0" (0), "1" (
+__s1
+), "2" (
+__s2
+), "3" (
+__n
+),
+
+216 "m" ( *(¡ruù { 
+__ex\8bnsiÚ__
\ 5
+__x
+[
+__n
+]; } *)
+__s1
+),
+
+217 "m" ( *(¡ruù { 
+__ex\8bnsiÚ__
\ 5
+__x
+[
+__n
+]; } *)
+__s2
+)
+
+219 \15 
+__»s
+;
+
+220 
+       }
+}
+
+225 \ 1
+       #_HAVE_STRING_ARCH_mem£t
+ 1
+
+       )
+
+226 \ 1
+       #_USE_STRING_ARCH_mem£t
+ 1
+
+       )
+
+227 \ 1
+       #mem£t
+(
+s
+, 
+c
+, 
+n
+) \
+
+228 (
+       `__ex\8bnsiÚ__
+ (
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+n
+) && (n) <= 16 \
+
+229 ? ((
+n
+) == 1 \
+
+230 ? 
+       `__mem£t_c1
+ ((
+s
+), (
+c
+)) \
+
+231 : 
+       `__mem£t_gc
+ ((
+s
+), (
+c
+), (
+n
+))) \
+
+232 : (
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+c
+) \
+
+233 ? (
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+n
+) \
+
+234 ? 
+       `__mem£t_cú
+ ((
+s
+), (
+c
+), (
+n
+)) \
+
+235 : 
+       `mem£t
+ ((
+s
+), (
+c
+), (
+n
+))) \
+
+236 : (
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+n
+) \
+
+237 ? 
+       `__mem£t_gú
+ ((
+s
+), (
+c
+), (
+n
+)) \
+
+238 : 
+       `mem£t
+ ((
+s
+), (
+c
+), (
+n
+))))))
+
+       )
+
+240 \ 1
+       #__mem£t_c1
+(
+s
+, 
+c
+è({ \1e*
+__s
+ = (s); \
+
+241 *((\1d\ 5
+__s
+èð(\1d\ 5è(
+c
+); \
+
+242 
+__s
+; })
+
+       )
+
+244 \ 1
+       #__mem£t_gc
+(
+s
+, 
+c
+, 
+n
+) \
+
+245 ({ \1e*
+__s
+ = (
+s
+); \
+
+247 \1d\12
+__ui
+; \
+
+248 \1d\16\12
+__usi
+; \
+
+249 \1d\ 5
+__uc
+; \
+
+250 } *
+__u
+ = 
+__s
+; \
+
+251 \1d\12
+__c
+ = ((\1d\12è((\1d\ 5è(
+c
+))) * 0x01010101; \
+
+257 ià((
+n
+) == 3 || (n) >= 5) \
+
+258 
+__asm__
+       `__vÞ©\9ee__
+ ("" : "ô" (
+__c
+) : "0" (__c)); \
+
+261 \1a
+n
+) \
+
+264 
+__u
+->
+__ui
+ = 
+__c
+; \
+
+265 
+__u
+ = 
+       `__ex\8bnsiÚ__
+ ((\1e*) __u + 4); \
+
+267 
+__u
+->
+__ui
+ = 
+__c
+; \
+
+268 
+__u
+ = 
+       `__ex\8bnsiÚ__
+ ((\1e*) __u + 4); \
+
+270 
+__u
+->
+__ui
+ = 
+__c
+; \
+
+271 
+__u
+ = 
+       `__ex\8bnsiÚ__
+ ((\1e*) __u + 4); \
+
+273 
+__u
+->
+__usi
+ = (\1d\16\12è
+__c
+; \
+
+274 
+__u
+ = 
+       `__ex\8bnsiÚ__
+ ((\1e*) __u + 2); \
+
+275 
+__u
+->
+__uc
+ = (\1d\ 5è
+__c
+; \
+
+279 
+__u
+->
+__ui
+ = 
+__c
+; \
+
+280 
+__u
+ = 
+       `__ex\8bnsiÚ__
+ ((\1e*) __u + 4); \
+
+282 
+__u
+->
+__ui
+ = 
+__c
+; \
+
+283 
+__u
+ = 
+       `__ex\8bnsiÚ__
+ ((\1e*) __u + 4); \
+
+285 
+__u
+->
+__ui
+ = 
+__c
+; \
+
+286 
+__u
+ = 
+       `__ex\8bnsiÚ__
+ ((\1e*) __u + 4); \
+
+288 
+__u
+->
+__usi
+ = (\1d\16\12è
+__c
+; \
+
+292 
+__u
+->
+__ui
+ = 
+__c
+; \
+
+293 
+__u
+ = 
+       `__ex\8bnsiÚ__
+ ((\1e*) __u + 4); \
+
+295 
+__u
+->
+__ui
+ = 
+__c
+; \
+
+296 
+__u
+ = 
+       `__ex\8bnsiÚ__
+ ((\1e*) __u + 4); \
+
+298 
+__u
+->
+__ui
+ = 
+__c
+; \
+
+299 
+__u
+ = 
+       `__ex\8bnsiÚ__
+ ((\1e*) __u + 4); \
+
+301 
+__u
+->
+__uc
+ = (\1d\ 5è
+__c
+; \
+
+305 
+__u
+->
+__ui
+ = 
+__c
+; \
+
+306 
+__u
+ = 
+       `__ex\8bnsiÚ__
+ ((\1e*) __u + 4); \
+
+308 
+__u
+->
+__ui
+ = 
+__c
+; \
+
+309 
+__u
+ = 
+       `__ex\8bnsiÚ__
+ ((\1e*) __u + 4); \
+
+311 
+__u
+->
+__ui
+ = 
+__c
+; \
+
+312 
+__u
+ = 
+       `__ex\8bnsiÚ__
+ ((\1e*) __u + 4); \
+
+314 
+__u
+->
+__ui
+ = 
+__c
+; \
+
+319 
+__s
+; })
+
+       )
+
+321 \ 1
+       #__mem£t_cú
+(
+s
+, 
+c
+, 
+n
+) \
+
+322 (((
+n
+) % 4 == 0) \
+
+323 ? 
+       `__mem£t_cú_by4
+ (
+s
+, ((\1d\12è((\1d\ 5è(
+c
+))) * 0x01010101,\
+
+324 
+n
+) \
+
+325 : (((
+n
+) % 2 == 0) \
+
+326 ? 
+       `__mem£t_cú_by2
+ (
+s
+, \
+
+327 ((\1d\12è((\1d\ 5è(
+c
+))) * 0x01010101,\
+
+328 
+n
+) \
+
+329 : 
+       `mem£t
+ (
+s
+, 
+c
+, 
+n
+)))
+
+       )
+
+331 
+__STRING_INLINE
\1e*
+__mem£t_cú_by4
+ (\1e*
+__s
+, \1d\12
+__c
+,
+
+332 
+size_t
+__n
+);
+
+334 
+__STRING_INLINE
\1e*
+
+335 
+       $__mem£t_cú_by4
+ (\1e*
+__s
+, \1d\12
+__c
+, 
+size_t
+__n
+)
+
+337 \14\1e*
+__tmp
+ = 
+__s
+;
+
+338 \14\1d\13\12
+__d0
+;
+
+339 #ifdeà
+__i686__
+
+
+340 
+__asm__
+__vÞ©\9ee__
+
+
+343 : "=&a" (
+__c
+), "=&D" (
+__tmp
+), "=&c" (
+__d0
+),
+
+344 "=m" ( *(¡ruù { 
+__ex\8bnsiÚ__
\ 5
+__x
+[
+__n
+]; } *)
+__s
+)
+
+345 : "0" ((\1d\12è
+__c
+), "1" (
+__tmp
+), "2" (
+__n
+ / 4)
+
+348 
+__asm__
+__vÞ©\9ee__
+
+
+354 : "=&r" (
+__c
+), "=&r" (
+__tmp
+), "=&r" (
+__d0
+),
+
+355 "=m" ( *(¡ruù { 
+__ex\8bnsiÚ__
\ 5
+__x
+[
+__n
+]; } *)
+__s
+)
+
+356 : "0" ((\1d\12è
+__c
+), "1" (
+__tmp
+), "2" (
+__n
+ / 4)
+
+359 \15 
+__s
+;
+
+360 
+       }
+}
+
+362 
+__STRING_INLINE
\1e*
+__mem£t_cú_by2
+ (\1e*
+__s
+, \1d\12
+__c
+,
+
+363 
+size_t
+__n
+);
+
+365 
+__STRING_INLINE
\1e*
+
+366 
+       $__mem£t_cú_by2
+ (\1e*
+__s
+, \1d\12
+__c
+, 
+size_t
+__n
+)
+
+368 \14\1d\13\12
+__d0
+, 
+__d1
+;
+
+369 \14\1e*
+__tmp
+ = 
+__s
+;
+
+370 #ifdeà
+__i686__
+
+
+371 
+__asm__
+__vÞ©\9ee__
+
+
+375 : "=&a" (
+__d0
+), "=&D" (
+__tmp
+), "=&c" (
+__d1
+),
+
+376 "=m" ( *(¡ruù { 
+__ex\8bnsiÚ__
\ 5
+__x
+[
+__n
+]; } *)
+__s
+)
+
+377 : "0" ((\1d\12è
+__c
+), "1" (
+__tmp
+), "2" (
+__n
+ / 4)
+
+380 
+__asm__
+__vÞ©\9ee__
+
+
+386 : "=&q" (
+__d0
+), "=&r" (
+__tmp
+), "=&r" (
+__d1
+),
+
+387 "=m" ( *(¡ruù { 
+__ex\8bnsiÚ__
\ 5
+__x
+[
+__n
+]; } *)
+__s
+)
+
+388 : "0" ((\1d\12è
+__c
+), "1" (
+__tmp
+), "2" (
+__n
+ / 4)
+
+391 \15 
+__s
+;
+
+392 
+       }
+}
+
+394 \ 1
+       #__mem£t_gú
+(
+s
+, 
+c
+, 
+n
+) \
+
+395 (((
+n
+) % 4 == 0) \
+
+396 ? 
+       `__mem£t_gú_by4
+ (
+s
+, 
+c
+, 
+n
+) \
+
+397 : (((
+n
+) % 2 == 0) \
+
+398 ? 
+       `__mem£t_gú_by2
+ (
+s
+, 
+c
+, 
+n
+) \
+
+399 : 
+       `mem£t
+ (
+s
+, 
+c
+, 
+n
+)))
+
+       )
+
+401 
+__STRING_INLINE
\1e*
+__mem£t_gú_by4
+ (\1e*
+__s
+, \12
+__c
+, 
+size_t
+__n
+);
+
+403 
+__STRING_INLINE
\1e*
+
+404 
+       $__mem£t_gú_by4
+ (\1e*
+__s
+, \12
+__c
+, 
+size_t
+__n
+)
+
+406 \14\1e*
+__tmp
+ = 
+__s
+;
+
+407 \14\1d\13\12
+__d0
+;
+
+408 
+__asm__
+__vÞ©\9ee__
+
+
+418 : "=&q" (
+__c
+), "=&r" (
+__tmp
+), "=&r" (
+__d0
+),
+
+419 "=m" ( *(¡ruù { 
+__ex\8bnsiÚ__
\ 5
+__x
+[
+__n
+]; } *)
+__s
+)
+
+420 : "0" ((\1d\12è
+__c
+), "1" (
+__tmp
+), "2" (
+__n
+ / 4)
+
+422 \15 
+__s
+;
+
+423 
+       }
+}
+
+425 
+__STRING_INLINE
\1e*
+__mem£t_gú_by2
+ (\1e*
+__s
+, \12
+__c
+, 
+size_t
+__n
+);
+
+427 
+__STRING_INLINE
\1e*
+
+428 
+       $__mem£t_gú_by2
+ (\1e*
+__s
+, \12
+__c
+, 
+size_t
+__n
+)
+
+430 \14\1d\13\12
+__d0
+, 
+__d1
+;
+
+431 \14\1e*
+__tmp
+ = 
+__s
+;
+
+432 
+__asm__
+__vÞ©\9ee__
+
+
+443 : "=&q" (
+__d0
+), "=&r" (
+__tmp
+), "=&r" (
+__d1
+),
+
+444 "=m" ( *(¡ruù { 
+__ex\8bnsiÚ__
\ 5
+__x
+[
+__n
+]; } *)
+__s
+)
+
+445 : "0" ((\1d\12è
+__c
+), "1" (
+__tmp
+), "2" (
+__n
+ / 4)
+
+447 \15 
+__s
+;
+
+448 
+       }
+}
+
+452 \ 1
+       #_HAVE_STRING_ARCH_memchr
+ 1
+
+       )
+
+453 #iâdeà
+_FORCE_INLINES
+
+
+454 
+__STRING_INLINE
\1e*
+
+455 
+       $memchr
+ (cڡ \1e*
+__s
+, \12
+__c
+, 
+size_t
+__n
+)
+
+457 \14\1d\13\12
+__d0
+;
+
+458 #ifdeà
+__i686__
+
+
+459 \14\1d\13\12
+__d1
+;
+
+461 \14\1d\ 5*
+__»s
+;
+
+462 ià(
+__n
+ == 0)
+
+463 \15 
+NULL
+;
+
+464 #ifdeà
+__i686__
+
+
+465 
+__asm__
+__vÞ©\9ee__
+
+
+469 : "=D" (
+__»s
+), "=&c" (
+__d0
+), "=&r" (
+__d1
+)
+
+470 : "a" (
+__c
+), "0" (
+__s
+), "1" (
+__n
+), "2" (1),
+
+471 "m" ( *(¡ruù { 
+__ex\8bnsiÚ__
\ 5
+__x
+[
+__n
+]; } *)
+__s
+)
+
+474 
+__asm__
+__vÞ©\9ee__
+
+
+480 : "=D" (
+__»s
+), "=&c" (
+__d0
+)
+
+481 : "a" (
+__c
+), "0" (
+__s
+), "1" (
+__n
+),
+
+482 "m" ( *(¡ruù { 
+__ex\8bnsiÚ__
\ 5
+__x
+[
+__n
+]; } *)
+__s
+)
+
+485 \15 
+__»s
+ - 1;
+
+486 
+       }
+}
+
+489 \ 1
+       #_HAVE_STRING_ARCH_memrchr
+ 1
+
+       )
+
+490 #iâdeà
+_FORCE_INLINES
+
+
+491 
+__STRING_INLINE
\1e*
+__memrchr
+ (cڡ \1e*
+__s
+, \12
+__c
+, 
+size_t
+__n
+);
+
+493 
+__STRING_INLINE
\1e*
+
+494 
+       $__memrchr
+ (cڡ \1e*
+__s
+, \12
+__c
+, 
+size_t
+__n
+)
+
+496 \14\1d\13\12
+__d0
+;
+
+497 #ifdeà
+__i686__
+
+
+498 \14\1d\13\12
+__d1
+;
+
+500 \14\1e*
+__»s
+;
+
+501 ià(
+__n
+ == 0)
+
+502 \15 
+NULL
+;
+
+503 #ifdeà
+__i686__
+
+
+504 
+__asm__
+__vÞ©\9ee__
+
+
+510 : "=D" (
+__»s
+), "=&c" (
+__d0
+), "=&r" (
+__d1
+)
+
+511 : "a" (
+__c
+), "0" (
+__s
+ + 
+__n
+ - 1), "1" (__n), "2" (-1),
+
+512 "m" ( *(¡ruù { 
+__ex\8bnsiÚ__
\ 5
+__x
+[
+__n
+]; } *)
+__s
+)
+
+515 
+__asm__
+__vÞ©\9ee__
+
+
+522 : "=D" (
+__»s
+), "=&c" (
+__d0
+)
+
+523 : "a" (
+__c
+), "0" (
+__s
+ + 
+__n
+ - 1), "1" (__n),
+
+524 "m" ( *(¡ruù { 
+__ex\8bnsiÚ__
\ 5
+__x
+[
+__n
+]; } *)
+__s
+)
+
+527 \15 
+__»s
+;
+
+528 
+       }
+}
+
+529 #ifdeà
+__USE_GNU
+
+
+530 \ 1
+       #memrchr
+(
+s
+, 
+c
+, 
+n
+       `__memrchr
+ ((s), (c), (n))
+
+       )
+
+535 \ 1
+       #_HAVE_STRING_ARCH_¿wmemchr
+ 1
+
+       )
+
+536 
+__STRING_INLINE
\1e*
+__¿wmemchr
+ (cڡ \1e*
+__s
+, \12
+__c
+);
+
+538 #iâdeà
+_FORCE_INLINES
+
+
+539 
+__STRING_INLINE
\1e*
+
+540 
+       $__¿wmemchr
+ (cڡ \1e*
+__s
+, \12
+__c
+)
+
+542 \14\1d\13\12
+__d0
+;
+
+543 \14\1d\ 5*
+__»s
+;
+
+544 
+__asm__
+__vÞ©\9ee__
+
+
+547 : "=D" (
+__»s
+), "=&c" (
+__d0
+)
+
+548 : "a" (
+__c
+), "0" (
+__s
+), "1" (0xffffffff),
+
+549 "m" ( *(¡ruù { \ 5
+__x
+[0xfffffff]; } *)
+__s
+)
+
+551 \15 
+__»s
+ - 1;
+
+552 
+       }
+}
+
+553 #ifdeà
+__USE_GNU
+
+
+554 
+__STRING_INLINE
\1e*
+
+555 
+       $¿wmemchr
+ (cڡ \1e*
+__s
+, \12
+__c
+)
+
+557 \15 
+       `__¿wmemchr
+ (
+__s
+, 
+__c
+);
+
+558 
+       }
+}
+
+564 \ 1
+       #_HAVE_STRING_ARCH_¡¾\92
+ 1
+
+       )
+
+565 \ 1
+       #¡¾\92
+(
+¡r
+) \
+
+566 (
+       `__ex\8bnsiÚ__
+ (
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+¡r
+) \
+
+567 ? 
+       `__bu\9et\9a_¡¾\92
+ (
+¡r
+) \
+
+568 : 
+       `__¡¾\92_g
+ (
+¡r
+)))
+
+       )
+
+569 
+__STRING_INLINE
+size_t
+__¡¾\92_g
+ (cڡ \ 5*
+__¡r
+);
+
+571 
+__STRING_INLINE
+size_t
+
+
+572 
+       $__¡¾\92_g
+ (cڡ \ 5*
+__¡r
+)
+
+574 \14\ 5
+__dummy
+;
+
+575 \14cڡ \ 5*
+__tmp
+ = 
+__¡r
+;
+
+576 
+__asm__
+__vÞ©\9ee__
+
+
+582 : "ô" (
+__tmp
+), "=&q" (
+__dummy
+)
+
+583 : "0" (
+__¡r
+),
+
+584 "m" ( *(¡ruù { \ 5
+__x
+[0xfffffff]; } *)
+__¡r
+)
+
+586 \15 
+__tmp
+ - 
+__¡r
+ - 1;
+
+587 
+       }
+}
+
+591 \ 1
+       #_HAVE_STRING_ARCH_¡rýy
+ 1
+
+       )
+
+592 \ 1
+       #¡rýy
+(
+de¡
+, 
+¤c
+) \
+
+593 (
+       `__ex\8bnsiÚ__
+ (
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+¤c
+) \
+
+594 ? (\17 ((
+¤c
+)[0]è=ð1 && 
+       `¡¾\92
+ (src) + 1 <= 8 \
+
+595 ? 
+       `__¡rýy_a_sm®l
+ ((
+de¡
+), (
+¤c
+), 
+       `¡¾\92
+ (src) + 1) \
+
+596 : (\ 5
+       `memýy
+ ((\ 5*è(
+de¡
+), \
+
+597 (cÚ¡ \ 5*è(
+¤c
+), \
+
+598 
+       `¡¾\92
+ (
+¤c
+) + 1)) \
+
+599 : 
+       `__¡rýy_g
+ ((
+de¡
+), (
+¤c
+))))
+
+       )
+
+601 \ 1
+       #__¡rýy_a_sm®l
+(
+de¡
+, 
+¤c
+, 
+¤þ\92
+) \
+
+602 (
+       `__ex\8bnsiÚ__
+ ({ \ 5*
+__de¡
+ = (
+de¡
+); \
+
+604 \1d\12
+__ui
+; \
+
+605 \1d\16\12
+__usi
+; \
+
+606 \1d\ 5
+__uc
+; \
+
+607 \ 5
+__c
+; \
+
+608 } *
+__u
+ = (\1e
+__de¡
+; \
+
+609 \1a
+¤þ\92
+) \
+
+612 
+__u
+->
+__uc
+ = '\0'; \
+
+615 
+__u
+->
+__usi
+ = 
+       `__STRING_SMALL_GET16
+ (
+¤c
+, 0); \
+
+618 
+__u
+->
+__usi
+ = 
+       `__STRING_SMALL_GET16
+ (
+¤c
+, 0); \
+
+619 
+__u
+ = 
+       `__ex\8bnsiÚ__
+ ((\1e*) __u + 2); \
+
+620 
+__u
+->
+__uc
+ = '\0'; \
+
+623 
+__u
+->
+__ui
+ = 
+       `__STRING_SMALL_GET32
+ (
+¤c
+, 0); \
+
+626 
+__u
+->
+__ui
+ = 
+       `__STRING_SMALL_GET32
+ (
+¤c
+, 0); \
+
+627 
+__u
+ = 
+       `__ex\8bnsiÚ__
+ ((\1e*) __u + 4); \
+
+628 
+__u
+->
+__uc
+ = '\0'; \
+
+631 
+__u
+->
+__ui
+ = 
+       `__STRING_SMALL_GET32
+ (
+¤c
+, 0); \
+
+632 
+__u
+ = 
+       `__ex\8bnsiÚ__
+ ((\1e*) __u + 4); \
+
+633 
+__u
+->
+__usi
+ = 
+       `__STRING_SMALL_GET16
+ (
+¤c
+, 4); \
+
+636 
+__u
+->
+__ui
+ = 
+       `__STRING_SMALL_GET32
+ (
+¤c
+, 0); \
+
+637 
+__u
+ = 
+       `__ex\8bnsiÚ__
+ ((\1e*) __u + 4); \
+
+638 
+__u
+->
+__usi
+ = 
+       `__STRING_SMALL_GET16
+ (
+¤c
+, 4); \
+
+639 
+__u
+ = 
+       `__ex\8bnsiÚ__
+ ((\1e*) __u + 2); \
+
+640 
+__u
+->
+__uc
+ = '\0'; \
+
+643 
+__u
+->
+__ui
+ = 
+       `__STRING_SMALL_GET32
+ (
+¤c
+, 0); \
+
+644 
+__u
+ = 
+       `__ex\8bnsiÚ__
+ ((\1e*) __u + 4); \
+
+645 
+__u
+->
+__ui
+ = 
+       `__STRING_SMALL_GET32
+ (
+¤c
+, 4); \
+
+648 (\ 5
+__de¡
+; }))
+
+       )
+
+650 
+__STRING_INLINE
\ 5*
+__¡rýy_g
+ (\ 5*
+__de¡
+, cڡ \ 5*
+__¤c
+);
+
+652 
+__STRING_INLINE
\ 5*
+
+653 
+       $__¡rýy_g
+ (\ 5*
+__de¡
+, cڡ \ 5*
+__¤c
+)
+
+655 \14\ 5*
+__tmp
+ = 
+__de¡
+;
+
+656 \14\ 5
+__dummy
+;
+
+657 
+__asm__
+__vÞ©\9ee__
+
+
+666 : "=&r" (
+__¤c
+), "=&r" (
+__tmp
+), "=&q" (
+__dummy
+),
+
+667 "=m" ( *(¡ruù { \ 5
+__x
+[0xfffffff]; } *)
+__de¡
+)
+
+668 : "0" (
+__¤c
+), "1" (
+__tmp
+),
+
+669 "m" ( *(¡ruù { \ 5
+__x
+[0xfffffff]; } *)
+__¤c
+)
+
+671 \15 
+__de¡
+;
+
+672 
+       }
+}
+
+675 #ifdeà
+__USE_GNU
+
+
+676 \ 1
+       #_HAVE_STRING_ARCH_¡pýy
+ 1
+
+       )
+
+678 \ 1
+       #__¡pýy
+(
+de¡
+, 
+¤c
+) \
+
+679 (
+       `__ex\8bnsiÚ__
+ (
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+¤c
+) \
+
+680 ? (
+       `¡¾\92
+ (
+¤c
+) + 1 <= 8 \
+
+681 ? 
+       `__¡pýy_a_sm®l
+ ((
+de¡
+), (
+¤c
+), 
+       `¡¾\92
+ (src) + 1) \
+
+682 : 
+       `__¡pýy_c
+ ((
+de¡
+), (
+¤c
+), 
+       `¡¾\92
+ (src) + 1)) \
+
+683 : 
+       `__¡pýy_g
+ ((
+de¡
+), (
+¤c
+))))
+
+       )
+
+684 \ 1
+       #__¡pýy_c
+(
+de¡
+, 
+¤c
+, 
+¤þ\92
+) \
+
+685 ((
+¤þ\92
+) % 4 == 0 \
+
+686 ? 
+       `__mempýy_by4
+ (
+de¡
+, 
+¤c
+, 
+¤þ\92
+) - 1 \
+
+687 : ((
+¤þ\92
+) % 2 == 0 \
+
+688 ? 
+       `__mempýy_by2
+ (
+de¡
+, 
+¤c
+, 
+¤þ\92
+) - 1 \
+
+689 : 
+       `__mempýy_byn
+ (
+de¡
+, 
+¤c
+, 
+¤þ\92
+è- 1))
+
+       )
+
+692 \ 1
+       #¡pýy
+(
+de¡
+, 
+¤c
+       `__¡pýy
+ ((de¡), (¤c))
+
+       )
+
+694 \ 1
+       #__¡pýy_a_sm®l
+(
+de¡
+, 
+¤c
+, 
+¤þ\92
+) \
+
+695 (
+       `__ex\8bnsiÚ__
+ ({ union { \
+
+696 \1d\12
+__ui
+; \
+
+697 \1d\16\12
+__usi
+; \
+
+698 \1d\ 5
+__uc
+; \
+
+699 \ 5
+__c
+; \
+
+700 } *
+__u
+ = (\1e*è(
+de¡
+); \
+
+701 \1a
+¤þ\92
+) \
+
+704 
+__u
+->
+__uc
+ = '\0'; \
+
+707 
+__u
+->
+__usi
+ = 
+       `__STRING_SMALL_GET16
+ (
+¤c
+, 0); \
+
+708 
+__u
+ = 
+       `__ex\8bnsiÚ__
+ ((\1e*) __u + 1); \
+
+711 
+__u
+->
+__usi
+ = 
+       `__STRING_SMALL_GET16
+ (
+¤c
+, 0); \
+
+712 
+__u
+ = 
+       `__ex\8bnsiÚ__
+ ((\1e*) __u + 2); \
+
+713 
+__u
+->
+__uc
+ = '\0'; \
+
+716 
+__u
+->
+__ui
+ = 
+       `__STRING_SMALL_GET32
+ (
+¤c
+, 0); \
+
+717 
+__u
+ = 
+       `__ex\8bnsiÚ__
+ ((\1e*) __u + 3); \
+
+720 
+__u
+->
+__ui
+ = 
+       `__STRING_SMALL_GET32
+ (
+¤c
+, 0); \
+
+721 
+__u
+ = 
+       `__ex\8bnsiÚ__
+ ((\1e*) __u + 4); \
+
+722 
+__u
+->
+__uc
+ = '\0'; \
+
+725 
+__u
+->
+__ui
+ = 
+       `__STRING_SMALL_GET32
+ (
+¤c
+, 0); \
+
+726 
+__u
+ = 
+       `__ex\8bnsiÚ__
+ ((\1e*) __u + 4); \
+
+727 
+__u
+->
+__usi
+ = 
+       `__STRING_SMALL_GET16
+ (
+¤c
+, 4); \
+
+728 
+__u
+ = 
+       `__ex\8bnsiÚ__
+ ((\1e*) __u + 1); \
+
+731 
+__u
+->
+__ui
+ = 
+       `__STRING_SMALL_GET32
+ (
+¤c
+, 0); \
+
+732 
+__u
+ = 
+       `__ex\8bnsiÚ__
+ ((\1e*) __u + 4); \
+
+733 
+__u
+->
+__usi
+ = 
+       `__STRING_SMALL_GET16
+ (
+¤c
+, 4); \
+
+734 
+__u
+ = 
+       `__ex\8bnsiÚ__
+ ((\1e*) __u + 2); \
+
+735 
+__u
+->
+__uc
+ = '\0'; \
+
+738 
+__u
+->
+__ui
+ = 
+       `__STRING_SMALL_GET32
+ (
+¤c
+, 0); \
+
+739 
+__u
+ = 
+       `__ex\8bnsiÚ__
+ ((\1e*) __u + 4); \
+
+740 
+__u
+->
+__ui
+ = 
+       `__STRING_SMALL_GET32
+ (
+¤c
+, 4); \
+
+741 
+__u
+ = 
+       `__ex\8bnsiÚ__
+ ((\1e*) __u + 3); \
+
+744 (\ 5
+__u
+; }))
+
+       )
+
+746 
+__STRING_INLINE
\ 5*
+__mempýy_by4
+ (\ 5*
+__de¡
+, cڡ \ 5*
+__¤c
+,
+
+747 
+size_t
+__¤þ\92
+);
+
+749 
+__STRING_INLINE
\ 5*
+
+750 
+       $__mempýy_by4
+ (\ 5*
+__de¡
+, cڡ \ 5*
+__¤c
+, 
+size_t
+__¤þ\92
+)
+
+752 \14\ 5*
+__tmp
+ = 
+__de¡
+;
+
+753 \14\1d\13\12
+__d0
+, 
+__d1
+;
+
+754 
+__asm__
+__vÞ©\9ee__
+
+
+762 : "=&r" (
+__d0
+), "ô" (
+__tmp
+), "=&r" (
+__¤c
+), "=&r" (
+__d1
+)
+
+763 : "1" (
+__tmp
+), "2" (
+__¤c
+), "3" (
+__¤þ\92
+ / 4)
+
+765 \15 
+__tmp
+;
+
+766 
+       }
+}
+
+768 
+__STRING_INLINE
\ 5*
+__mempýy_by2
+ (\ 5*
+__de¡
+, cڡ \ 5*
+__¤c
+,
+
+769 
+size_t
+__¤þ\92
+);
+
+771 
+__STRING_INLINE
\ 5*
+
+772 
+       $__mempýy_by2
+ (\ 5*
+__de¡
+, cڡ \ 5*
+__¤c
+, 
+size_t
+__¤þ\92
+)
+
+774 \14\ 5*
+__tmp
+ = 
+__de¡
+;
+
+775 \14\1d\13\12
+__d0
+, 
+__d1
+;
+
+776 
+__asm__
+__vÞ©\9ee__
+
+
+789 : "=&q" (
+__d0
+), "ô" (
+__tmp
+), "=&r" (
+__¤c
+), "=&r" (
+__d1
+),
+
+790 "=m" ( *(¡ruù { 
+__ex\8bnsiÚ__
\ 5
+__x
+[
+__¤þ\92
+]; } *)
+__de¡
+)
+
+791 : "1" (
+__tmp
+), "2" (
+__¤c
+), "3" (
+__¤þ\92
+ / 2),
+
+792 "m" ( *(¡ruù { 
+__ex\8bnsiÚ__
\ 5
+__x
+[
+__¤þ\92
+]; } *)
+__¤c
+)
+
+794 \15 
+__tmp
+ + 2;
+
+795 
+       }
+}
+
+797 
+__STRING_INLINE
\ 5*
+__mempýy_byn
+ (\ 5*
+__de¡
+, cڡ \ 5*
+__¤c
+,
+
+798 
+size_t
+__¤þ\92
+);
+
+800 
+__STRING_INLINE
\ 5*
+
+801 
+       $__mempýy_byn
+ (\ 5*
+__de¡
+, cڡ \ 5*
+__¤c
+, 
+size_t
+__¤þ\92
+)
+
+803 \14\1d\13
+__d0
+, 
+__d1
+;
+
+804 \14\ 5*
+__tmp
+ = 
+__de¡
+;
+
+805 
+__asm__
+__vÞ©\9ee__
+
+
+816 : "=D" (
+__tmp
+), "=&c" (
+__d0
+), "=&S" (
+__d1
+),
+
+817 "=m" ( *(¡ruù { 
+__ex\8bnsiÚ__
\ 5
+__x
+[
+__¤þ\92
+]; } *)
+__de¡
+)
+
+818 : "0" (
+__tmp
+), "1" (
+__¤þ\92
+), "2" (
+__¤c
+),
+
+819 "m" ( *(¡ruù { 
+__ex\8bnsiÚ__
\ 5
+__x
+[
+__¤þ\92
+]; } *)
+__¤c
+)
+
+821 \15 
+__tmp
+;
+
+822 
+       }
+}
+
+824 
+__STRING_INLINE
\ 5*
+__¡pýy_g
+ (\ 5*
+__de¡
+, cڡ \ 5*
+__¤c
+);
+
+826 
+__STRING_INLINE
\ 5*
+
+827 
+       $__¡pýy_g
+ (\ 5*
+__de¡
+, cڡ \ 5*
+__¤c
+)
+
+829 \14\ 5*
+__tmp
+ = 
+__de¡
+;
+
+830 \14\ 5
+__dummy
+;
+
+831 
+__asm__
+__vÞ©\9ee__
+
+
+840 : "=&r" (
+__¤c
+), "ô" (
+__tmp
+), "=&q" (
+__dummy
+),
+
+841 "=m" ( *(¡ruù { \ 5
+__x
+[0xfffffff]; } *)
+__de¡
+)
+
+842 : "0" (
+__¤c
+), "1" (
+__tmp
+),
+
+843 "m" ( *(¡ruù { \ 5
+__x
+[0xfffffff]; } *)
+__¤c
+)
+
+845 \15 
+__tmp
+ - 1;
+
+846 
+       }
+}
+
+851 \ 1
+       #_HAVE_STRING_ARCH_¡ºýy
+ 1
+
+       )
+
+852 \ 1
+       #¡ºýy
+(
+de¡
+, 
+¤c
+, 
+n
+) \
+
+853 (
+       `__ex\8bnsiÚ__
+ (
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+¤c
+) \
+
+854 ? ((
+       `¡¾\92
+ (
+¤c
+è+ 1 >ð((
+size_t
+è(
+n
+)) \
+
+855 ? (\ 5
+       `memýy
+ ((\ 5*è(
+de¡
+), \
+
+856 (cÚ¡ \ 5*è(
+¤c
+), 
+n
+) \
+
+857 : 
+       `__¡ºýy_cg
+ ((
+de¡
+), (
+¤c
+), 
+       `¡¾\92
+ (¤cè+ 1, 
+n
+))) \
+
+858 : 
+       `__¡ºýy_gg
+ ((
+de¡
+), (
+¤c
+), 
+n
+)))
+
+       )
+
+859 \ 1
+       #__¡ºýy_cg
+(
+de¡
+, 
+¤c
+, 
+¤þ\92
+, 
+n
+) \
+
+860 (((
+¤þ\92
+) % 4 == 0) \
+
+861 ? 
+       `__¡ºýy_by4
+ (
+de¡
+, 
+¤c
+, 
+¤þ\92
+, 
+n
+) \
+
+862 : (((
+¤þ\92
+) % 2 == 0) \
+
+863 ? 
+       `__¡ºýy_by2
+ (
+de¡
+, 
+¤c
+, 
+¤þ\92
+, 
+n
+) \
+
+864 : 
+       `__¡ºýy_byn
+ (
+de¡
+, 
+¤c
+, 
+¤þ\92
+, 
+n
+)))
+
+       )
+
+866 
+__STRING_INLINE
\ 5*
+__¡ºýy_by4
+ (\ 5*
+__de¡
+, cڡ \ 5
+__¤c
+[],
+
+867 
+size_t
+__¤þ\92
+, size_\88
+__n
+);
+
+869 
+__STRING_INLINE
\ 5*
+
+870 
+       $__¡ºýy_by4
+ (\ 5*
+__de¡
+, cڡ \ 5
+__¤c
+[], 
+size_t
+__¤þ\92
+, size_\88
+__n
+)
+
+872 \14\ 5*
+__tmp
+ = 
+__de¡
+;
+
+873 \14\12
+__dummy1
+, 
+__dummy2
+;
+
+874 
+__asm__
+__vÞ©\9ee__
+
+
+882 : "=&r" (
+__dummy1
+), "ô" (
+__tmp
+), "=&r" (
+__¤c
+), "=&r" (
+__dummy2
+),
+
+883 "=m" ( *(¡ruù { 
+__ex\8bnsiÚ__
\ 5
+__x
+[
+__¤þ\92
+]; } *)
+__de¡
+)
+
+884 : "1" (
+__tmp
+), "2" (
+__¤c
+), "3" (
+__¤þ\92
+ / 4),
+
+885 "m" ( *(¡ruù { 
+__ex\8bnsiÚ__
\ 5
+__x
+[
+__¤þ\92
+]; } *)
+__¤c
+)
+
+887 (\1eè
+       `mem£t
+ (
+__tmp
+, '\0', 
+__n
+ - 
+__¤þ\92
+);
+
+888 \15 
+__de¡
+;
+
+889 
+       }
+}
+
+891 
+__STRING_INLINE
\ 5*
+__¡ºýy_by2
+ (\ 5*
+__de¡
+, cڡ \ 5
+__¤c
+[],
+
+892 
+size_t
+__¤þ\92
+, size_\88
+__n
+);
+
+894 
+__STRING_INLINE
\ 5*
+
+895 
+       $__¡ºýy_by2
+ (\ 5*
+__de¡
+, cڡ \ 5
+__¤c
+[], 
+size_t
+__¤þ\92
+, size_\88
+__n
+)
+
+897 \14\ 5*
+__tmp
+ = 
+__de¡
+;
+
+898 \14\12
+__dummy1
+, 
+__dummy2
+;
+
+899 
+__asm__
+__vÞ©\9ee__
+
+
+912 : "=&q" (
+__dummy1
+), "ô" (
+__tmp
+), "=&r" (
+__¤c
+), "=&r" (
+__dummy2
+),
+
+913 "=m" ( *(¡ruù { 
+__ex\8bnsiÚ__
\ 5
+__x
+[
+__¤þ\92
+]; } *)
+__de¡
+)
+
+914 : "1" (
+__tmp
+), "2" (
+__¤c
+), "3" (
+__¤þ\92
+ / 2),
+
+915 "m" ( *(¡ruù { 
+__ex\8bnsiÚ__
\ 5
+__x
+[
+__¤þ\92
+]; } *)
+__¤c
+)
+
+917 (\1eè
+       `mem£t
+ (
+__tmp
+ + 2, '\0', 
+__n
+ - 
+__¤þ\92
+);
+
+918 \15 
+__de¡
+;
+
+919 
+       }
+}
+
+921 
+__STRING_INLINE
\ 5*
+__¡ºýy_byn
+ (\ 5*
+__de¡
+, cڡ \ 5
+__¤c
+[],
+
+922 
+size_t
+__¤þ\92
+, size_\88
+__n
+);
+
+924 
+__STRING_INLINE
\ 5*
+
+925 
+       $__¡ºýy_byn
+ (\ 5*
+__de¡
+, cڡ \ 5
+__¤c
+[], 
+size_t
+__¤þ\92
+, size_\88
+__n
+)
+
+927 \14\1d\13\12
+__d0
+, 
+__d1
+;
+
+928 \14\ 5*
+__tmp
+ = 
+__de¡
+;
+
+929 
+__asm__
+__vÞ©\9ee__
+
+
+940 : "=D" (
+__tmp
+), "=&c" (
+__d0
+), "=&S" (
+__d1
+),
+
+941 "=m" ( *(¡ruù { 
+__ex\8bnsiÚ__
\ 5
+__x
+[
+__¤þ\92
+]; } *)
+__de¡
+)
+
+942 : "1" (
+__¤þ\92
+), "0" (
+__tmp
+),"2" (
+__¤c
+),
+
+943 "m" ( *(¡ruù { 
+__ex\8bnsiÚ__
\ 5
+__x
+[
+__¤þ\92
+]; } *)
+__¤c
+)
+
+945 (\1eè
+       `mem£t
+ (
+__tmp
+, '\0', 
+__n
+ - 
+__¤þ\92
+);
+
+946 \15 
+__de¡
+;
+
+947 
+       }
+}
+
+949 
+__STRING_INLINE
\ 5*
+__¡ºýy_gg
+ (\ 5*
+__de¡
+, cڡ \ 5*
+__¤c
+,
+
+950 
+size_t
+__n
+);
+
+952 
+__STRING_INLINE
\ 5*
+
+953 
+       $__¡ºýy_gg
+ (\ 5*
+__de¡
+, cڡ \ 5*
+__¤c
+, 
+size_t
+__n
+)
+
+955 \14\ 5*
+__tmp
+ = 
+__de¡
+;
+
+956 \14\ 5
+__dummy
+;
+
+957 ià(
+__n
+ > 0)
+
+958 
+__asm__
+__vÞ©\9ee__
+
+
+974 : "=&r" (
+__¤c
+), "=&r" (
+__tmp
+), "=&q" (
+__dummy
+), "=&r" (
+__n
+)
+
+975 : "0" (
+__¤c
+), "1" (
+__tmp
+), "3" (
+__n
+)
+
+978 \15 
+__de¡
+;
+
+979 
+       }
+}
+
+983 \ 1
+       #_HAVE_STRING_ARCH_¡rÿt
+ 1
+
+       )
+
+984 \ 1
+       #¡rÿt
+(
+de¡
+, 
+¤c
+) \
+
+985 (
+       `__ex\8bnsiÚ__
+ (
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+¤c
+) \
+
+986 ? 
+       `__¡rÿt_c
+ ((
+de¡
+), (
+¤c
+), 
+       `¡¾\92
+ (src) + 1) \
+
+987 : 
+       `__¡rÿt_g
+ ((
+de¡
+), (
+¤c
+))))
+
+       )
+
+989 
+__STRING_INLINE
\ 5*
+__¡rÿt_c
+ (\ 5*
+__de¡
+, cڡ \ 5
+__¤c
+[],
+
+990 
+size_t
+__¤þ\92
+);
+
+992 
+__STRING_INLINE
\ 5*
+
+993 
+       $__¡rÿt_c
+ (\ 5*
+__de¡
+, cڡ \ 5
+__¤c
+[], 
+size_t
+__¤þ\92
+)
+
+995 #ifdeà
+__i686__
+
+
+996 \14\1d\13\12
+__d0
+;
+
+997 \14\ 5*
+__tmp
+;
+
+998 
+__asm__
+__vÞ©\9ee__
+
+
+1000 : "=D" (
+__tmp
+), "=&c" (
+__d0
+),
+
+1001 "=m" ( *(¡ruù { \ 5
+__x
+[0xfffffff]; } *)
+__de¡
+)
+
+1002 : "0" (
+__de¡
+), "1" (0xffffffff), "a" (0),
+
+1003 "m" ( *(¡ruù { 
+__ex\8bnsiÚ__
\ 5
+__x
+[
+__¤þ\92
+]; } *)
+__¤c
+)
+
+1005 --
+__tmp
+;
+
+1007 \14\ 5*
+__tmp
+ = 
+__de¡
+;
+
+1008 
+__asm__
+__vÞ©\9ee__
+
+
+1014 : "ô" (
+__tmp
+),
+
+1015 "=m" ( *(¡ruù { \ 5
+__x
+[0xfffffff]; } *)
+__de¡
+)
+
+1016 : "0" (
+__tmp
+),
+
+1017 "m" ( *(¡ruù { 
+__ex\8bnsiÚ__
\ 5
+__x
+[
+__¤þ\92
+]; } *)
+__¤c
+)
+
+1020 (\1eè
+       `memýy
+ (
+__tmp
+, 
+__¤c
+, 
+__¤þ\92
+);
+
+1021 \15 
+__de¡
+;
+
+1022 
+       }
+}
+
+1024 
+__STRING_INLINE
\ 5*
+__¡rÿt_g
+ (\ 5*
+__de¡
+, cڡ \ 5*
+__¤c
+);
+
+1026 
+__STRING_INLINE
\ 5*
+
+1027 
+       $__¡rÿt_g
+ (\ 5*
+__de¡
+, cڡ \ 5*
+__¤c
+)
+
+1029 \14\ 5*
+__tmp
+ = 
+__de¡
+;
+
+1030 \14\ 5
+__dummy
+;
+
+1031 
+__asm__
+__vÞ©\9ee__
+
+
+1044 : "=&q" (
+__dummy
+), "=&r" (
+__tmp
+), "=&r" (
+__¤c
+),
+
+1045 "=m" ( *(¡ruù { \ 5
+__x
+[0xfffffff]; } *)
+__de¡
+)
+
+1046 : "1" (
+__tmp
+), "2" (
+__¤c
+),
+
+1047 "m" ( *(¡ruù { \ 5
+__x
+[0xfffffff]; } *)
+__¤c
+)
+
+1049 \15 
+__de¡
+;
+
+1050 
+       }
+}
+
+1054 \ 1
+       #_HAVE_STRING_ARCH_¡ºÿt
+ 1
+
+       )
+
+1055 \ 1
+       #¡ºÿt
+(
+de¡
+, 
+¤c
+, 
+n
+) \
+
+1056 (
+       `__ex\8bnsiÚ__
+ ({ \ 5*
+__de¡
+ = (
+de¡
+); \
+
+1057 
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+¤c
+è&& __bu\9et\9a_cÚ¡ªt_°(
+n
+) \
+
+1058 ? (
+       `¡¾\92
+ (
+¤c
+è< ((
+size_t
+è(
+n
+)) \
+
+1059 ? 
+       `¡rÿt
+ (
+__de¡
+, (
+¤c
+)) \
+
+1060 : (*(\ 5*)
+       `__mempýy
+ (
+       `¡rchr
+ (
+__de¡
+, '\0'), \
+
+1061 (cÚ¡ \ 5*è(
+¤c
+), \
+
+1062 (
+n
+)èð0, 
+__de¡
+)) \
+
+1063 : 
+       `__¡ºÿt_g
+ (
+__de¡
+, (
+¤c
+), (
+n
+)); }))
+
+       )
+
+1065 
+__STRING_INLINE
\ 5*
+__¡ºÿt_g
+ (\ 5*
+__de¡
+, cڡ \ 5
+__¤c
+[],
+
+1066 
+size_t
+__n
+);
+
+1068 
+__STRING_INLINE
\ 5*
+
+1069 
+       $__¡ºÿt_g
+ (\ 5*
+__de¡
+, cڡ \ 5
+__¤c
+[], 
+size_t
+__n
+)
+
+1071 \14\ 5*
+__tmp
+ = 
+__de¡
+;
+
+1072 \14\ 5
+__dummy
+;
+
+1073 #ifdeà
+__i686__
+
+
+1074 
+__asm__
+__vÞ©\9ee__
+
+
+1088 : "=&a" (
+__dummy
+), "=&D" (
+__tmp
+), "=&S" (
+__¤c
+), "=&c" (
+__n
+)
+
+1089 : "g" (
+__n
+), "0" (0), "1" (
+__tmp
+), "2" (
+__¤c
+), "3" (0xffffffff)
+
+1092 --
+__tmp
+;
+
+1093 
+__asm__
+__vÞ©\9ee__
+
+
+1110 : "=&q" (
+__dummy
+), "=&r" (
+__tmp
+), "=&r" (
+__¤c
+), "=&r" (
+__n
+)
+
+1111 : "1" (
+__tmp
+), "2" (
+__¤c
+), "3" (
+__n
+)
+
+1114 \15 
+__de¡
+;
+
+1115 
+       }
+}
+
+1119 \ 1
+       #_HAVE_STRING_ARCH_¡rcmp
+ 1
+
+       )
+
+1120 \ 1
+       #¡rcmp
+(
+s1
+, 
+s2
+) \
+
+1121 (
+       `__ex\8bnsiÚ__
+ (
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+s1
+è&& __bu\9et\9a_cÚ¡ªt_°(
+s2
+) \
+
+1122 && (\17 ((
+s1
+)[0]è!ð1 || 
+       `¡¾\92
+ (s1) >= 4) \
+
+1123 && (\17 ((
+s2
+)[0]è!ð1 || 
+       `¡¾\92
+ (s2) >= 4) \
+
+1124 ? 
+       `memcmp
+ ((cÚ¡ \ 5*è(
+s1
+), (cÚ¡ \ 5*è(
+s2
+), \
+
+1125 (
+       `¡¾\92
+ (
+s1
+è< s\8cËÀ(
+s2
+) \
+
+1126 ? 
+       `¡¾\92
+ (
+s1
+è: s\8cËÀ(
+s2
+)) + 1) \
+
+1127 : (
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+s1
+) && \17 ((s1)[0]) == 1 \
+
+1128 && \17 ((
+s2
+)[0]è=ð1 && 
+       `¡¾\92
+ (
+s1
+) < 4 \
+
+1129 ? (
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+s2
+) && \17 ((s2)[0]) == 1 \
+
+1130 ? 
+       `__¡rcmp_cc
+ ((cÚ¡ \1d\ 5*è(
+s1
+), \
+
+1131 (cÚ¡ \1d\ 5*è(
+s2
+), \
+
+1132 
+       `¡¾\92
+ (
+s1
+)) \
+
+1133 : 
+       `__¡rcmp_cg
+ ((cÚ¡ \1d\ 5*è(
+s1
+), \
+
+1134 (cÚ¡ \1d\ 5*è(
+s2
+), \
+
+1135 
+       `¡¾\92
+ (
+s1
+))) \
+
+1136 : (
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+s2
+è&& \17 ((
+s1
+)[0]) == 1 \
+
+1137 && \17 ((
+s2
+)[0]è=ð1 && 
+       `¡¾\92
+ (s2) < 4 \
+
+1138 ? (
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+s1
+) \
+
+1139 ? 
+       `__¡rcmp_cc
+ ((cÚ¡ \1d\ 5*è(
+s1
+), \
+
+1140 (cÚ¡ \1d\ 5*è(
+s2
+), \
+
+1141 
+       `¡¾\92
+ (
+s2
+)) \
+
+1142 : 
+       `__¡rcmp_gc
+ ((cÚ¡ \1d\ 5*è(
+s1
+), \
+
+1143 (cÚ¡ \1d\ 5*è(
+s2
+), \
+
+1144 
+       `¡¾\92
+ (
+s2
+))) \
+
+1145 : 
+       `__¡rcmp_gg
+ ((
+s1
+), (
+s2
+))))))
+
+       )
+
+1147 \ 1
+       #__¡rcmp_cc
+(
+s1
+, 
+s2
+, 
+l
+) \
+
+1148 (
+       `__ex\8bnsiÚ__
+ ({ \14\12
+__»suÉ
+ = (
+s1
+)[0] - (
+s2
+)[0]; \
+
+1149 ià(
+l
+ > 0 && 
+__»suÉ
+ == 0) \
+
+1151 
+__»suÉ
+ = (
+s1
+)[1] - (
+s2
+)[1]; \
+
+1152 ià(
+l
+ > 1 && 
+__»suÉ
+ == 0) \
+
+1154 
+__»suÉ
+ = (
+s1
+)[2] - (
+s2
+)[2]; \
+
+1155 ià(
+l
+ > 2 && 
+__»suÉ
+ == 0) \
+
+1156 
+__»suÉ
+ = (
+s1
+)[3] - (
+s2
+)[3]; \
+
+1159 
+__»suÉ
+; }))
+
+       )
+
+1161 \ 1
+       #__¡rcmp_cg
+(
+s1
+, 
+s2
+, 
+l1
+) \
+
+1162 (
+       `__ex\8bnsiÚ__
+ ({ cڡ \1d\ 5*
+__s2
+ = (
+s2
+); \
+
+1163 \14\12
+__»suÉ
+ = (
+s1
+)[0] - 
+__s2
+[0]; \
+
+1164 ià(
+l1
+ > 0 && 
+__»suÉ
+ == 0) \
+
+1166 
+__»suÉ
+ = (
+s1
+)[1] - 
+__s2
+[1]; \
+
+1167 ià(
+l1
+ > 1 && 
+__»suÉ
+ == 0) \
+
+1169 
+__»suÉ
+ = (
+s1
+)[2] - 
+__s2
+[2]; \
+
+1170 ià(
+l1
+ > 2 && 
+__»suÉ
+ == 0) \
+
+1171 
+__»suÉ
+ = (
+s1
+)[3] - 
+__s2
+[3]; \
+
+1174 
+__»suÉ
+; }))
+
+       )
+
+1176 \ 1
+       #__¡rcmp_gc
+(
+s1
+, 
+s2
+, 
+l2
+) \
+
+1177 (
+       `__ex\8bnsiÚ__
+ ({ cڡ \1d\ 5*
+__s1
+ = (
+s1
+); \
+
+1178 \14\12
+__»suÉ
+ = 
+__s1
+[0] - (
+s2
+)[0]; \
+
+1179 ià(
+l2
+ > 0 && 
+__»suÉ
+ == 0) \
+
+1181 
+__»suÉ
+ = 
+__s1
+[1] - (
+s2
+)[1]; \
+
+1182 ià(
+l2
+ > 1 && 
+__»suÉ
+ == 0) \
+
+1184 
+__»suÉ
+ = 
+__s1
+[2] - (
+s2
+)[2]; \
+
+1185 ià(
+l2
+ > 2 && 
+__»suÉ
+ == 0) \
+
+1186 
+__»suÉ
+ = 
+__s1
+[3] - (
+s2
+)[3]; \
+
+1189 
+__»suÉ
+; }))
+
+       )
+
+1191 
+__STRING_INLINE
\12
+__¡rcmp_gg
+ (cڡ \ 5*
+__s1
+, cڡ \ 5*
+__s2
+);
+
+1193 
+__STRING_INLINE
\12
+
+1194 
+       $__¡rcmp_gg
+ (cڡ \ 5*
+__s1
+, cڡ \ 5*
+__s2
+)
+
+1196 \14\12
+__»s
+;
+
+1197 
+__asm__
+__vÞ©\9ee__
+
+
+1213 : "=q" (
+__»s
+), "=&r" (
+__s1
+), "=&r" (
+__s2
+)
+
+1214 : "1" (
+__s1
+), "2" (
+__s2
+),
+
+1215 "m" ( *(¡ruù { \ 5
+__x
+[0xfffffff]; } *)
+__s1
+),
+
+1216 "m" ( *(¡ruù { \ 5
+__x
+[0xfffffff]; } *)
+__s2
+)
+
+1218 \15 
+__»s
+;
+
+1219 
+       }
+}
+
+1223 \ 1
+       #_HAVE_STRING_ARCH_¡ºcmp
+ 1
+
+       )
+
+1224 \ 1
+       #¡ºcmp
+(
+s1
+, 
+s2
+, 
+n
+) \
+
+1225 (
+       `__ex\8bnsiÚ__
+ (
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+s1
+è&& 
+       `¡¾\92
+ (s1è< ((
+size_t
+è(
+n
+)) \
+
+1226 ? 
+       `¡rcmp
+ ((
+s1
+), (
+s2
+)) \
+
+1227 : (
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+s2
+è&& 
+       `¡¾\92
+ (s2è< ((
+size_t
+è(
+n
+))\
+
+1228 ? 
+       `¡rcmp
+ ((
+s1
+), (
+s2
+)) \
+
+1229 : 
+       `__¡ºcmp_g
+ ((
+s1
+), (
+s2
+), (
+n
+)))))
+
+       )
+
+1231 
+__STRING_INLINE
\12
+__¡ºcmp_g
+ (cڡ \ 5*
+__s1
+, cڡ \ 5*
+__s2
+,
+
+1232 
+size_t
+__n
+);
+
+1234 
+__STRING_INLINE
\12
+
+1235 
+       $__¡ºcmp_g
+ (cڡ \ 5*
+__s1
+, cڡ \ 5*
+__s2
+, 
+size_t
+__n
+)
+
+1237 \14\12
+__»s
+;
+
+1238 
+__asm__
+__vÞ©\9ee__
+
+
+1257 : "=q" (
+__»s
+), "=&r" (
+__s1
+), "=&r" (
+__s2
+), "=&r" (
+__n
+)
+
+1258 : "1" (
+__s1
+), "2" (
+__s2
+), "3" (
+__n
+),
+
+1259 "m" ( *(¡ruù { 
+__ex\8bnsiÚ__
\ 5
+__x
+[
+__n
+]; } *)
+__s1
+),
+
+1260 "m" ( *(¡ruù { 
+__ex\8bnsiÚ__
\ 5
+__x
+[
+__n
+]; } *)
+__s2
+)
+
+1262 \15 
+__»s
+;
+
+1263 
+       }
+}
+
+1267 \ 1
+       #_HAVE_STRING_ARCH_¡rchr
+ 1
+
+       )
+
+1268 \ 1
+       #_USE_STRING_ARCH_¡rchr
+ 1
+
+       )
+
+1269 \ 1
+       #¡rchr
+(
+s
+, 
+c
+) \
+
+1270 (
+       `__ex\8bnsiÚ__
+ (
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+c
+) \
+
+1271 ? ((
+c
+) == '\0' \
+
+1272 ? (\ 5
+       `__¿wmemchr
+ ((
+s
+), (
+c
+)) \
+
+1273 : 
+       `__¡rchr_c
+ ((
+s
+), ((
+c
+) & 0xff) << 8)) \
+
+1274 : 
+       `__¡rchr_g
+ ((
+s
+), (
+c
+))))
+
+       )
+
+1276 
+__STRING_INLINE
\ 5*
+__¡rchr_c
+ (cڡ \ 5*
+__s
+, \12
+__c
+);
+
+1278 
+__STRING_INLINE
\ 5*
+
+1279 
+       $__¡rchr_c
+ (cڡ \ 5*
+__s
+, \12
+__c
+)
+
+1281 \14\1d\13\12
+__d0
+;
+
+1282 \14\ 5*
+__»s
+;
+
+1283 
+__asm__
+__vÞ©\9ee__
+
+
+1293 : "ô" (
+__»s
+), "=&a" (
+__d0
+)
+
+1294 : "0" (
+__s
+), "1" (
+__c
+),
+
+1295 "m" ( *(¡ruù { \ 5
+__x
+[0xfffffff]; } *)
+__s
+)
+
+1297 \15 
+__»s
+;
+
+1298 
+       }
+}
+
+1300 
+__STRING_INLINE
\ 5*
+__¡rchr_g
+ (cڡ \ 5*
+__s
+, \12
+__c
+);
+
+1302 
+__STRING_INLINE
\ 5*
+
+1303 
+       $__¡rchr_g
+ (cڡ \ 5*
+__s
+, \12
+__c
+)
+
+1305 \14\1d\13\12
+__d0
+;
+
+1306 \14\ 5*
+__»s
+;
+
+1307 
+__asm__
+__vÞ©\9ee__
+
+
+1318 : "ô" (
+__»s
+), "=&a" (
+__d0
+)
+
+1319 : "0" (
+__s
+), "1" (
+__c
+),
+
+1320 "m" ( *(¡ruù { \ 5
+__x
+[0xfffffff]; } *)
+__s
+)
+
+1322 \15 
+__»s
+;
+
+1323 
+       }
+}
+
+1327 \ 1
+       #_HAVE_STRING_ARCH_¡rchºul
+ 1
+
+       )
+
+1328 \ 1
+       #__¡rchºul
+(
+s
+, 
+c
+) \
+
+1329 (
+       `__ex\8bnsiÚ__
+ (
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+c
+) \
+
+1330 ? ((
+c
+) == '\0' \
+
+1331 ? (\ 5
+       `__¿wmemchr
+ ((
+s
+), 
+c
+) \
+
+1332 : 
+       `__¡rchºul_c
+ ((
+s
+), ((
+c
+) & 0xff) << 8)) \
+
+1333 : 
+       `__¡rchºul_g
+ ((
+s
+), 
+c
+)))
+
+       )
+
+1335 
+__STRING_INLINE
\ 5*
+__¡rchºul_c
+ (cڡ \ 5*
+__s
+, \12
+__c
+);
+
+1337 
+__STRING_INLINE
\ 5*
+
+1338 
+       $__¡rchºul_c
+ (cڡ \ 5*
+__s
+, \12
+__c
+)
+
+1340 \14\1d\13\12
+__d0
+;
+
+1341 \14\ 5*
+__»s
+;
+
+1342 
+__asm__
+__vÞ©\9ee__
+
+
+1352 : "ô" (
+__»s
+), "=&a" (
+__d0
+)
+
+1353 : "0" (
+__s
+), "1" (
+__c
+),
+
+1354 "m" ( *(¡ruù { \ 5
+__x
+[0xfffffff]; } *)
+__s
+)
+
+1356 \15 
+__»s
+;
+
+1357 
+       }
+}
+
+1359 
+__STRING_INLINE
\ 5*
+__¡rchºul_g
+ (cڡ \ 5*
+__s
+, \12
+__c
+);
+
+1361 
+__STRING_INLINE
\ 5*
+
+1362 
+       $__¡rchºul_g
+ (cڡ \ 5*
+__s
+, \12
+__c
+)
+
+1364 \14\1d\13\12
+__d0
+;
+
+1365 \14\ 5*
+__»s
+;
+
+1366 
+__asm__
+__vÞ©\9ee__
+
+
+1377 : "ô" (
+__»s
+), "=&a" (
+__d0
+)
+
+1378 : "0" (
+__s
+), "1" (
+__c
+),
+
+1379 "m" ( *(¡ruù { \ 5
+__x
+[0xfffffff]; } *)
+__s
+)
+
+1381 \15 
+__»s
+;
+
+1382 
+       }
+}
+
+1383 #ifdeà
+__USE_GNU
+
+
+1384 \ 1
+       #¡rchºul
+(
+s
+, 
+c
+       `__¡rchºul
+ ((s), (c))
+
+       )
+
+1388 #ià
+def\9aed
+__USE_MISC
+ || def\9aed 
+__USE_XOPEN_EXTENDED
+
+
+1390 \ 1
+       #_HAVE_STRING_ARCH_\9adex
+ 1
+
+       )
+
+1391 \ 1
+       #\9adex
+(
+s
+, 
+c
+) \
+
+1392 (
+       `__ex\8bnsiÚ__
+ (
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+c
+) \
+
+1393 ? 
+       `__¡rchr_c
+ ((
+s
+), ((
+c
+) & 0xff) << 8) \
+
+1394 : 
+       `__¡rchr_g
+ ((
+s
+), (
+c
+))))
+
+       )
+
+1399 \ 1
+       #_HAVE_STRING_ARCH_¡¼chr
+ 1
+
+       )
+
+1400 \ 1
+       #¡¼chr
+(
+s
+, 
+c
+) \
+
+1401 (
+       `__ex\8bnsiÚ__
+ (
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+c
+) \
+
+1402 ? 
+       `__¡¼chr_c
+ ((
+s
+), ((
+c
+) & 0xff) << 8) \
+
+1403 : 
+       `__¡¼chr_g
+ ((
+s
+), (
+c
+))))
+
+       )
+
+1405 #ifdeà
+__i686__
+
+
+1406 
+__STRING_INLINE
\ 5*
+__¡¼chr_c
+ (cڡ \ 5*
+__s
+, \12
+__c
+);
+
+1408 
+__STRING_INLINE
\ 5*
+
+1409 
+       $__¡¼chr_c
+ (cڡ \ 5*
+__s
+, \12
+__c
+)
+
+1411 \14\1d\13\12
+__d0
+, 
+__d1
+;
+
+1412 \14\ 5*
+__»s
+;
+
+1413 
+__asm__
+__vÞ©\9ee__
+
+
+1421 : "=d" (
+__»s
+), "=&S" (
+__d0
+), "=&a" (
+__d1
+)
+
+1422 : "0" (1), "1" (
+__s
+), "2" (
+__c
+),
+
+1423 "m" ( *(¡ruù { \ 5
+__x
+[0xfffffff]; } *)
+__s
+)
+
+1425 \15 
+__»s
+ - 1;
+
+1426 
+       }
+}
+
+1428 
+__STRING_INLINE
\ 5*
+__¡¼chr_g
+ (cڡ \ 5*
+__s
+, \12
+__c
+);
+
+1430 
+__STRING_INLINE
\ 5*
+
+1431 
+       $__¡¼chr_g
+ (cڡ \ 5*
+__s
+, \12
+__c
+)
+
+1433 \14\1d\13\12
+__d0
+, 
+__d1
+;
+
+1434 \14\ 5*
+__»s
+;
+
+1435 
+__asm__
+__vÞ©\9ee__
+
+
+1444 : "=d" (
+__»s
+), "=&S" (
+__d0
+), "=&a" (
+__d1
+)
+
+1445 : "0" (1), "1" (
+__s
+), "2" (
+__c
+),
+
+1446 "m" ( *(¡ruù { \ 5
+__x
+[0xfffffff]; } *)
+__s
+)
+
+1448 \15 
+__»s
+ - 1;
+
+1449 
+       }
+}
+
+1451 
+__STRING_INLINE
\ 5*
+__¡¼chr_c
+ (cڡ \ 5*
+__s
+, \12
+__c
+);
+
+1453 
+__STRING_INLINE
\ 5*
+
+1454 
+       $__¡¼chr_c
+ (cڡ \ 5*
+__s
+, \12
+__c
+)
+
+1456 \14\1d\13\12
+__d0
+, 
+__d1
+;
+
+1457 \14\ 5*
+__»s
+;
+
+1458 
+__asm__
+__vÞ©\9ee__
+
+
+1468 : "=d" (
+__»s
+), "=&S" (
+__d0
+), "=&a" (
+__d1
+)
+
+1469 : "0" (0), "1" (
+__s
+), "2" (
+__c
+),
+
+1470 "m" ( *(¡ruù { \ 5
+__x
+[0xfffffff]; } *)
+__s
+)
+
+1472 \15 
+__»s
+;
+
+1473 
+       }
+}
+
+1475 
+__STRING_INLINE
\ 5*
+__¡¼chr_g
+ (cڡ \ 5*
+__s
+, \12
+__c
+);
+
+1477 
+__STRING_INLINE
\ 5*
+
+1478 
+       $__¡¼chr_g
+ (cڡ \ 5*
+__s
+, \12
+__c
+)
+
+1480 \14\1d\13\12
+__d0
+, 
+__d1
+;
+
+1481 \14\ 5*
+__»s
+;
+
+1482 
+__asm__
+__vÞ©\9ee__
+
+
+1493 : "ô" (
+__»s
+), "=&S" (
+__d0
+), "=&a" (
+__d1
+)
+
+1494 : "0" (0), "1" (
+__s
+), "2" (
+__c
+),
+
+1495 "m" ( *(¡ruù { \ 5
+__x
+[0xfffffff]; } *)
+__s
+)
+
+1497 \15 
+__»s
+;
+
+1498 
+       }
+}
+
+1502 #ià
+def\9aed
+__USE_MISC
+ || def\9aed 
+__USE_XOPEN_EXTENDED
+
+
+1504 \ 1
+       #_HAVE_STRING_ARCH_r\9adex
+ 1
+
+       )
+
+1505 \ 1
+       #r\9adex
+(
+s
+, 
+c
+) \
+
+1506 (
+       `__ex\8bnsiÚ__
+ (
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+c
+) \
+
+1507 ? 
+       `__¡¼chr_c
+ ((
+s
+), ((
+c
+) & 0xff) << 8) \
+
+1508 : 
+       `__¡¼chr_g
+ ((
+s
+), (
+c
+))))
+
+       )
+
+1514 \ 1
+       #_HAVE_STRING_ARCH_¡rc¥n
+ 1
+
+       )
+
+1515 \ 1
+       #¡rc¥n
+(
+s
+, 
+»jeù
+) \
+
+1516 (
+       `__ex\8bnsiÚ__
+ (
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+»jeù
+) && \17 ((reject)[0]) == 1 \
+
+1517 ? ((
+»jeù
+)[0] == '\0' \
+
+1518 ? 
+       `¡¾\92
+ (
+s
+) \
+
+1519 : ((
+»jeù
+)[1] == '\0' \
+
+1520 ? 
+       `__¡rc¥n_c1
+ ((
+s
+), (((
+»jeù
+)[0] << 8) & 0xff00)) \
+
+1521 : 
+       `__¡rc¥n_cg
+ ((
+s
+), (
+»jeù
+), 
+       `¡¾\92
+ (reject)))) \
+
+1522 : 
+       `__¡rc¥n_g
+ ((
+s
+), (
+»jeù
+))))
+
+       )
+
+1524 
+__STRING_INLINE
+size_t
+__¡rc¥n_c1
+ (cڡ \ 5*
+__s
+, \12
+__»jeù
+);
+
+1526 #iâdeà
+_FORCE_INLINES
+
+
+1527 
+__STRING_INLINE
+size_t
+
+
+1528 
+       $__¡rc¥n_c1
+ (cڡ \ 5*
+__s
+, \12
+__»jeù
+)
+
+1530 \14\1d\13\12
+__d0
+;
+
+1531 \14\ 5*
+__»s
+;
+
+1532 
+__asm__
+__vÞ©\9ee__
+
+
+1541 : "ô" (
+__»s
+), "=&a" (
+__d0
+)
+
+1542 : "0" (
+__s
+), "1" (
+__»jeù
+),
+
+1543 "m" ( *(¡ruù { \ 5
+__x
+[0xfffffff]; } *)
+__s
+)
+
+1545 \15 (
+__»s
+ - 1è- 
+__s
+;
+
+1546 
+       }
+}
+
+1549 
+__STRING_INLINE
+size_t
+__¡rc¥n_cg
+ (cڡ \ 5*
+__s
+, cڡ \ 5
+__»jeù
+[],
+
+1550 
+size_t
+__»jeù_Ën
+);
+
+1552 
+__STRING_INLINE
+size_t
+
+
+1553 
+       $__¡rc¥n_cg
+ (cڡ \ 5*
+__s
+, cڡ \ 5
+__»jeù
+[], 
+size_t
+__»jeù_Ën
+)
+
+1555 \14\1d\13\12
+__d0
+, 
+__d1
+, 
+__d2
+;
+
+1556 \14cڡ \ 5*
+__»s
+;
+
+1557 
+__asm__
+__vÞ©\9ee__
+
+
+1568 : "=S" (
+__»s
+), "=&a" (
+__d0
+), "=&c" (
+__d1
+), "=&D" (
+__d2
+)
+
+1569 : "0" (
+__s
+), "d" (
+__»jeù
+), "g" (
+__»jeù_Ën
+)
+
+1571 \15 (
+__»s
+ - 1è- 
+__s
+;
+
+1572 
+       }
+}
+
+1574 
+__STRING_INLINE
+size_t
+__¡rc¥n_g
+ (cڡ \ 5*
+__s
+, cڡ \ 5*
+__»jeù
+);
+
+1575 #ifdeà
+__PIC__
+
+
+1577 
+__STRING_INLINE
+size_t
+
+
+1578 
+       $__¡rc¥n_g
+ (cڡ \ 5*
+__s
+, cڡ \ 5*
+__»jeù
+)
+
+1580 \14\1d\13\12
+__d0
+, 
+__d1
+, 
+__d2
+;
+
+1581 \14cڡ \ 5*
+__»s
+;
+
+1582 
+__asm__
+__vÞ©\9ee__
+
+
+1599 : "=S" (
+__»s
+), "=&a" (
+__d0
+), "=&c" (
+__d1
+), "=&D" (
+__d2
+)
+
+1600 : "r" (
+__»jeù
+), "0" (
+__s
+), "1" (0), "2" (0xffffffff)
+
+1602 \15 (
+__»s
+ - 1è- 
+__s
+;
+
+1603 
+       }
+}
+
+1605 
+__STRING_INLINE
+size_t
+
+
+1606 
+       $__¡rc¥n_g
+ (cڡ \ 5*
+__s
+, cڡ \ 5*
+__»jeù
+)
+
+1608 \14\1d\13\12
+__d0
+, 
+__d1
+, 
+__d2
+, 
+__d3
+;
+
+1609 \14cڡ \ 5*
+__»s
+;
+
+1610 
+__asm__
+__vÞ©\9ee__
+
+
+1624 : "=S" (
+__»s
+), "=&a" (
+__d0
+), "=&c" (
+__d1
+), "=&D" (
+__d2
+), "=&d" (
+__d3
+)
+
+1625 : "0" (
+__s
+), "1" (0), "2" (0xffffffff), "3" (
+__»jeù
+), "b" (__reject)
+
+1628 \15 (
+__»s
+ - 1è- 
+__s
+;
+
+1629 
+       }
+}
+
+1635 \ 1
+       #_HAVE_STRING_ARCH_¡r¥n
+ 1
+
+       )
+
+1636 \ 1
+       #¡r¥n
+(
+s
+, 
+acû±
+) \
+
+1637 (
+       `__ex\8bnsiÚ__
+ (
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+acû±
+) && \17 ((accept)[0]) == 1 \
+
+1638 ? ((
+acû±
+)[0] == '\0' \
+
+1639 ? ((\1eè(
+s
+), 0) \
+
+1640 : ((
+acû±
+)[1] == '\0' \
+
+1641 ? 
+       `__¡r¥n_c1
+ ((
+s
+), (((
+acû±
+)[0] << 8 ) & 0xff00)) \
+
+1642 : 
+       `__¡r¥n_cg
+ ((
+s
+), (
+acû±
+), 
+       `¡¾\92
+ (accept)))) \
+
+1643 : 
+       `__¡r¥n_g
+ ((
+s
+), (
+acû±
+))))
+
+       )
+
+1645 #iâdeà
+_FORCE_INLINES
+
+
+1646 
+__STRING_INLINE
+size_t
+__¡r¥n_c1
+ (cڡ \ 5*
+__s
+, \12
+__acû±
+);
+
+1648 
+__STRING_INLINE
+size_t
+
+
+1649 
+       $__¡r¥n_c1
+ (cڡ \ 5*
+__s
+, \12
+__acû±
+)
+
+1651 \14\1d\13\12
+__d0
+;
+
+1652 \14\ 5*
+__»s
+;
+
+1654 
+__asm__
+__vÞ©\9ee__
+
+
+1660 : "ô" (
+__»s
+), "=&q" (
+__d0
+)
+
+1661 : "0" (
+__s
+), "1" (
+__acû±
+),
+
+1662 "m" ( *(¡ruù { \ 5
+__x
+[0xfffffff]; } *)
+__s
+)
+
+1664 \15 (
+__»s
+ - 1è- 
+__s
+;
+
+1665 
+       }
+}
+
+1668 
+__STRING_INLINE
+size_t
+__¡r¥n_cg
+ (cڡ \ 5*
+__s
+, cڡ \ 5
+__acû±
+[],
+
+1669 
+size_t
+__acû±_Ën
+);
+
+1671 
+__STRING_INLINE
+size_t
+
+
+1672 
+       $__¡r¥n_cg
+ (cڡ \ 5*
+__s
+, cڡ \ 5
+__acû±
+[], 
+size_t
+__acû±_Ën
+)
+
+1674 \14\1d\13\12
+__d0
+, 
+__d1
+, 
+__d2
+;
+
+1675 \14cڡ \ 5*
+__»s
+;
+
+1676 
+__asm__
+__vÞ©\9ee__
+
+
+1687 : "=S" (
+__»s
+), "=&a" (
+__d0
+), "=&c" (
+__d1
+), "=&D" (
+__d2
+)
+
+1688 : "0" (
+__s
+), "g" (
+__acû±
+), "g" (
+__acû±_Ën
+),
+
+1691 "m" ( *(¡ruù { \ 5
+__x
+[0xfffffff]; } *)
+__s
+),
+
+1692 "m" ( *(¡ruù { 
+__ex\8bnsiÚ__
\ 5
+__x
+[
+__acû±_Ën
+]; } *)
+__acû±
+)
+
+1694 \15 (
+__»s
+ - 1è- 
+__s
+;
+
+1695 
+       }
+}
+
+1697 
+__STRING_INLINE
+size_t
+__¡r¥n_g
+ (cڡ \ 5*
+__s
+, cڡ \ 5*
+__acû±
+);
+
+1698 #ifdeà
+__PIC__
+
+
+1700 
+__STRING_INLINE
+size_t
+
+
+1701 
+       $__¡r¥n_g
+ (cڡ \ 5*
+__s
+, cڡ \ 5*
+__acû±
+)
+
+1703 \14\1d\13\12
+__d0
+, 
+__d1
+, 
+__d2
+;
+
+1704 \14cڡ \ 5*
+__»s
+;
+
+1705 
+__asm__
+__vÞ©\9ee__
+
+
+1721 : "=S" (
+__»s
+), "=&a" (
+__d0
+), "=&c" (
+__d1
+), "=&D" (
+__d2
+)
+
+1722 : "d" (
+__acû±
+), "0" (
+__s
+), "1" (0), "2" (0xffffffff), "3" (__accept)
+
+1724 \15 (
+__»s
+ - 1è- 
+__s
+;
+
+1725 
+       }
+}
+
+1727 
+__STRING_INLINE
+size_t
+
+
+1728 
+       $__¡r¥n_g
+ (cڡ \ 5*
+__s
+, cڡ \ 5*
+__acû±
+)
+
+1730 \14\1d\13\12
+__d0
+, 
+__d1
+, 
+__d2
+, 
+__d3
+;
+
+1731 \14cڡ \ 5*
+__»s
+;
+
+1732 
+__asm__
+__vÞ©\9ee__
+
+
+1746 : "=S" (
+__»s
+), "=&a" (
+__d0
+), "=&c" (
+__d1
+), "=&D" (
+__d2
+), "=&d" (
+__d3
+)
+
+1747 : "0" (
+__s
+), "1" (0), "2" (0xffffffff), "3" (
+__acû±
+), "b" (__accept)
+
+1749 \15 (
+__»s
+ - 1è- 
+__s
+;
+
+1750 
+       }
+}
+
+1755 \ 1
+       #_HAVE_STRING_ARCH_¡½brk
+ 1
+
+       )
+
+1756 \ 1
+       #¡½brk
+(
+s
+, 
+acû±
+) \
+
+1757 (
+       `__ex\8bnsiÚ__
+ (
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+acû±
+) && \17 ((accept)[0]) == 1 \
+
+1758 ? ((
+acû±
+)[0] == '\0' \
+
+1759 ? ((\1eè(
+s
+), (\ 5*) 0) \
+
+1760 : ((
+acû±
+)[1] == '\0' \
+
+1761 ? 
+       `¡rchr
+ ((
+s
+), (
+acû±
+)[0]) \
+
+1762 : 
+       `__¡½brk_cg
+ ((
+s
+), (
+acû±
+), 
+       `¡¾\92
+ (accept)))) \
+
+1763 : 
+       `__¡½brk_g
+ ((
+s
+), (
+acû±
+))))
+
+       )
+
+1765 
+__STRING_INLINE
\ 5*
+__¡½brk_cg
+ (cڡ \ 5*
+__s
+, cڡ \ 5
+__acû±
+[],
+
+1766 
+size_t
+__acû±_Ën
+);
+
+1768 
+__STRING_INLINE
\ 5*
+
+1769 
+       $__¡½brk_cg
+ (cڡ \ 5*
+__s
+, cڡ \ 5
+__acû±
+[], 
+size_t
+__acû±_Ën
+)
+
+1771 \14\1d\13\12
+__d0
+, 
+__d1
+, 
+__d2
+;
+
+1772 \14\ 5*
+__»s
+;
+
+1773 
+__asm__
+__vÞ©\9ee__
+
+
+1788 : "=S" (
+__»s
+), "=&a" (
+__d0
+), "=&c" (
+__d1
+), "=&D" (
+__d2
+)
+
+1789 : "0" (
+__s
+), "d" (
+__acû±
+), "g" (
+__acû±_Ën
+)
+
+1791 \15 
+__»s
+;
+
+1792 
+       }
+}
+
+1794 
+__STRING_INLINE
\ 5*
+__¡½brk_g
+ (cڡ \ 5*
+__s
+, cڡ \ 5*
+__acû±
+);
+
+1795 #ifdeà
+__PIC__
+
+
+1797 
+__STRING_INLINE
\ 5*
+
+1798 
+       $__¡½brk_g
+ (cڡ \ 5*
+__s
+, cڡ \ 5*
+__acû±
+)
+
+1800 \14\1d\13\12
+__d0
+, 
+__d1
+, 
+__d2
+;
+
+1801 \14\ 5*
+__»s
+;
+
+1802 
+__asm__
+__vÞ©\9ee__
+
+
+1823 : "=S" (
+__»s
+), "=&a" (
+__d0
+), "=&c" (
+__d1
+), "=&D" (
+__d2
+)
+
+1824 : "d" (
+__acû±
+), "0" (
+__s
+), "1" (0), "2" (0xffffffff)
+
+1826 \15 
+__»s
+;
+
+1827 
+       }
+}
+
+1829 
+__STRING_INLINE
\ 5*
+
+1830 
+       $__¡½brk_g
+ (cڡ \ 5*
+__s
+, cڡ \ 5*
+__acû±
+)
+
+1832 \14\1d\13\12
+__d0
+, 
+__d1
+, 
+__d2
+, 
+__d3
+;
+
+1833 \14\ 5*
+__»s
+;
+
+1834 
+__asm__
+__vÞ©\9ee__
+
+
+1853 : "=S" (
+__»s
+), "=&a" (
+__d0
+), "=&c" (
+__d1
+), "=&d" (
+__d2
+), "=&D" (
+__d3
+)
+
+1854 : "0" (
+__s
+), "1" (0), "2" (0xffffffff), "b" (
+__acû±
+)
+
+1856 \15 
+__»s
+;
+
+1857 
+       }
+}
+
+1862 \ 1
+       #_HAVE_STRING_ARCH_¡r¡r
+ 1
+
+       )
+
+1863 \ 1
+       #¡r¡r
+(
+hay¡ack
+, 
+ÃedË
+) \
+
+1864 (
+       `__ex\8bnsiÚ__
+ (
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+ÃedË
+) && \17 ((needle)[0]) == 1 \
+
+1865 ? ((
+ÃedË
+)[0] == '\0' \
+
+1866 ? (
+hay¡ack
+) \
+
+1867 : ((
+ÃedË
+)[1] == '\0' \
+
+1868 ? 
+       `¡rchr
+ ((
+hay¡ack
+), (
+ÃedË
+)[0]) \
+
+1869 : 
+       `__¡r¡r_cg
+ ((
+hay¡ack
+), (
+ÃedË
+), \
+
+1870 
+       `¡¾\92
+ (
+ÃedË
+)))) \
+
+1871 : 
+       `__¡r¡r_g
+ ((
+hay¡ack
+), (
+ÃedË
+))))
+
+       )
+
+1875 
+__STRING_INLINE
\ 5*
+__¡r¡r_cg
+ (cڡ \ 5*
+__hay¡ack
+,
+
+1876 cڡ \ 5
+__ÃedË
+[],
+
+1877 
+size_t
+__ÃedË_Ën
+);
+
+1879 
+__STRING_INLINE
\ 5*
+
+1880 
+       $__¡r¡r_cg
+ (cڡ \ 5*
+__hay¡ack
+, cڡ \ 5
+__ÃedË
+[],
+
+1881 
+size_t
+__ÃedË_Ën
+)
+
+1883 \14\1d\13\12
+__d0
+, 
+__d1
+, 
+__d2
+;
+
+1884 \14\ 5*
+__»s
+;
+
+1885 
+__asm__
+__vÞ©\9ee__
+
+
+1898 : "=&a" (
+__»s
+), "=&S" (
+__d0
+), "=&D" (
+__d1
+), "=&c" (
+__d2
+)
+
+1899 : "g" (
+__ÃedË_Ën
+), "1" (
+__hay¡ack
+), "d" (
+__ÃedË
+)
+
+1901 \15 
+__»s
+;
+
+1902 
+       }
+}
+
+1904 
+__STRING_INLINE
\ 5*
+__¡r¡r_g
+ (cڡ \ 5*
+__hay¡ack
+,
+
+1905 cڡ \ 5*
+__ÃedË
+);
+
+1906 #ifdeà
+__PIC__
+
+
+1908 
+__STRING_INLINE
\ 5*
+
+1909 
+       $__¡r¡r_g
+ (cڡ \ 5*
+__hay¡ack
+, cڡ \ 5*
+__ÃedË
+)
+
+1911 \14\1d\13\12
+__d0
+, 
+__d1
+, 
+__d2
+;
+
+1912 \14\ 5*
+__»s
+;
+
+1913 
+__asm__
+__vÞ©\9ee__
+
+
+1932 : "=&a" (
+__»s
+), "=&c" (
+__d0
+), "=&S" (
+__d1
+), "=&D" (
+__d2
+)
+
+1933 : "0" (0), "1" (0xffffffff), "2" (
+__hay¡ack
+), "3" (
+__ÃedË
+),
+
+1934 "d" (
+__ÃedË
+)
+
+1936 \15 
+__»s
+;
+
+1937 
+       }
+}
+
+1939 
+__STRING_INLINE
\ 5*
+
+1940 
+       $__¡r¡r_g
+ (cڡ \ 5*
+__hay¡ack
+, cڡ \ 5*
+__ÃedË
+)
+
+1942 \14\1d\13\12
+__d0
+, 
+__d1
+, 
+__d2
+, 
+__d3
+;
+
+1943 \14\ 5*
+__»s
+;
+
+1944 
+__asm__
+__vÞ©\9ee__
+
+
+1961 : "=&a" (
+__»s
+), "=&c" (
+__d0
+), "=&S" (
+__d1
+), "=&D" (
+__d2
+), "=&d" (
+__d3
+)
+
+1962 : "0" (0), "1" (0xffffffff), "2" (
+__hay¡ack
+), "3" (
+__ÃedË
+),
+
+1963 "b" (
+__ÃedË
+)
+
+1965 \15 
+__»s
+;
+
+1966 
+       }
+}
+
+1972 #ià
+def\9aed
+__USE_MISC
+ || def\9aed 
+__USE_XOPEN_EXTENDED
+
+
+1973 #ifdeà
+__i686__
+
+
+1974 \ 1
+       #_HAVE_STRING_ARCH_ffs
+ 1
+
+       )
+
+1975 \ 1
+       #ffs
+(
+wÜd
+è(
+       `__bu\9et\9a_cÚ¡ªt_p
+ (word) \
+
+1976 ? 
+       `__bu\9et\9a_ffs
+ (
+wÜd
+) \
+
+1977 : ({ \12
+__út
+, 
+__tmp
+; \
+
+1978 
+__asm__
+__vÞ©\9ee__
+ \
+
+1981 : "=&r" (
+__út
+), "ô" (
+__tmp
+) \
+
+1982 : "rm" (
+wÜd
+), "1" (-1)); \
+
+1983 
+__út
+ + 1; }))
+
+       )
+
+1985 #iâdeà
+ff¦
+
+
+1986 \ 1
+       #ff¦
+(
+wÜd
+       `ffs
+(wÜd)
+
+       )
+
+1991 #iâdeà
+_FORCE_INLINES
+
+
+1992 #undeà
+__STRING_INLINE
+
+
+       @/usr/include/bits/string2.h
+
+20 #iâdeà
+_STRING_H
+
+
+24 #iâdeà
+__NO_STRING_INLINES
+
+
+41 #iâdeà
+__STRING_INLINE
+
+
+42 #ifdeà
+__ýlu¥lus
+
+
+43 \ 1
+       #__STRING_INLINE
+\9al\9ae
+
+
+       )
+
+45 \ 1
+       #__STRING_INLINE
+__ex\8bº_\9al\9ae
+
+
+       )
+
+49 #ià
+_STRING_INLINE_uÇligÃd
+
+
+51 \ 2
+       ~<\92d\9fn.h
+>
+
+52 \ 2
+       ~<b\99s/ty³s.h
+>
+
+54 #ià
+__BYTE_ORDER
+ =ð
+__LITTLE_ENDIAN
+
+
+55 \ 1
+       #__STRING2_SMALL_GET16
+(
+¤c
+, 
+idx
+) \
+
+56 (((cÚ¡ \1d\ 5*è(cÚ¡ \ 5*è(
+¤c
+))[
+idx
+ + 1] << 8 \
+
+57 | ((cÚ¡ \1d\ 5*è(cÚ¡ \ 5*è(
+¤c
+))[
+idx
+])
+
+       )
+
+58 \ 1
+       #__STRING2_SMALL_GET32
+(
+¤c
+, 
+idx
+) \
+
+59 (((((cÚ¡ \1d\ 5*è(cÚ¡ \ 5*è(
+¤c
+))[
+idx
+ + 3] << 8 \
+
+60 | ((cÚ¡ \1d\ 5*è(cÚ¡ \ 5*è(
+¤c
+))[
+idx
+ + 2]) << 8 \
+
+61 | ((cÚ¡ \1d\ 5*è(cÚ¡ \ 5*è(
+¤c
+))[
+idx
+ + 1]) << 8 \
+
+62 | ((cÚ¡ \1d\ 5*è(cÚ¡ \ 5*è(
+¤c
+))[
+idx
+])
+
+       )
+
+64 \ 1
+       #__STRING2_SMALL_GET16
+(
+¤c
+, 
+idx
+) \
+
+65 (((cÚ¡ \1d\ 5*è(cÚ¡ \ 5*è(
+¤c
+))[
+idx
+] << 8 \
+
+66 | ((cÚ¡ \1d\ 5*è(cÚ¡ \ 5*è(
+¤c
+))[
+idx
+ + 1])
+
+       )
+
+67 \ 1
+       #__STRING2_SMALL_GET32
+(
+¤c
+, 
+idx
+) \
+
+68 (((((cÚ¡ \1d\ 5*è(cÚ¡ \ 5*è(
+¤c
+))[
+idx
+] << 8 \
+
+69 | ((cÚ¡ \1d\ 5*è(cÚ¡ \ 5*è(
+¤c
+))[
+idx
+ + 1]) << 8 \
+
+70 | ((cÚ¡ \1d\ 5*è(cÚ¡ \ 5*è(
+¤c
+))[
+idx
+ + 2]) << 8 \
+
+71 | ((cÚ¡ \1d\ 5*è(cÚ¡ \ 5*è(
+¤c
+))[
+idx
+ + 3])
+
+       )
+
+76 \ 1
+       #__STRING2_COPY_TYPE
+(
+N
+) \
+
+77 \e¡ruù { \1d\ 5
+__¬r
+[
+N
+]; } \
+
+78 
+       t__©\8cibu\8b__
+ ((
+       t__·cked__
+)è
+       t__STRING2_COPY_ARR
+##
+       tN
+
+
+       )
+
+79 
+       t__STRING2_COPY_TYPE
+ (2);
+
+80 
+__STRING2_COPY_TYPE
+ (3);
+
+81 
+__STRING2_COPY_TYPE
+ (4);
+
+82 
+__STRING2_COPY_TYPE
+ (5);
+
+83 
+__STRING2_COPY_TYPE
+ (6);
+
+84 
+__STRING2_COPY_TYPE
+ (7);
+
+85 
+__STRING2_COPY_TYPE
+ (8);
+
+86 #undeà
+__STRING2_COPY_TYPE
+
+
+92 \ 1
+       #__¡r\9ag2_1b±r_p
+(
+__x
+) \
+
+93 ((
+size_t
+)(cڡ \1e*)((
+__x
+è+ 1è- (size_t)(cÚ¡ \1e*)(__xè=ð1)
+
+       )
+
+96 #ià!
+def\9aed
+_HAVE_STRING_ARCH_mem£t
+
+
+97 #ià!
+__GNUC_PREREQ
+ (3, 0)
+
+98 #ià
+_STRING_INLINE_uÇligÃd
+
+
+99 \ 1
+       #mem£t
+(
+s
+, 
+c
+, 
+n
+) \
+
+100 (
+       `__ex\8bnsiÚ__
+ (
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+n
+) && (n) <= 16 \
+
+101 ? ((
+n
+) == 1 \
+
+102 ? 
+       `__mem£t_1
+ (
+s
+, 
+c
+) \
+
+103 : 
+       `__mem£t_gc
+ (
+s
+, 
+c
+, 
+n
+)) \
+
+104 : (
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+c
+) && (c) == '\0' \
+
+105 ? ({ \1e*
+__s
+ = (
+s
+); 
+       `__bz\94o
+ (__s, 
+n
+); __s; }) \
+
+106 : 
+       `mem£t
+ (
+s
+, 
+c
+, 
+n
+))))
+
+       )
+
+108 \ 1
+       #__mem£t_1
+(
+s
+, 
+c
+è({ \1e*
+__s
+ = (s); \
+
+109 *((
+__u\9at8_t
+ *è
+__s
+èð(__u\9at8_tè
+c
+; __s; })
+
+       )
+
+111 \ 1
+       #__mem£t_gc
+(
+s
+, 
+c
+, 
+n
+) \
+
+112 ({ \1e*
+__s
+ = (
+s
+); \
+
+114 \1d\12
+__ui
+; \
+
+115 \1d\16\12
+__usi
+; \
+
+116 \1d\ 5
+__uc
+; \
+
+117 } *
+__u
+ = 
+__s
+; \
+
+118 
+__u\9at8_t
+__c
+ = (__u\9at8_tè(
+c
+); \
+
+121 \1a(\1d\12è(
+n
+)) \
+
+124 
+__u
+->
+__ui
+ = 
+__c
+ * 0x01010101; \
+
+125 
+__u
+ = 
+       `__ex\8bnsiÚ__
+ ((\1e*) __u + 4); \
+
+127 
+__u
+->
+__ui
+ = 
+__c
+ * 0x01010101; \
+
+128 
+__u
+ = 
+       `__ex\8bnsiÚ__
+ ((\1e*) __u + 4); \
+
+130 
+__u
+->
+__ui
+ = 
+__c
+ * 0x01010101; \
+
+131 
+__u
+ = 
+       `__ex\8bnsiÚ__
+ ((\1e*) __u + 4); \
+
+133 
+__u
+->
+__usi
+ = (\1d\16\12è
+__c
+ * 0x0101; \
+
+134 
+__u
+ = 
+       `__ex\8bnsiÚ__
+ ((\1e*) __u + 2); \
+
+135 
+__u
+->
+__uc
+ = (\1d\ 5è
+__c
+; \
+
+139 
+__u
+->
+__ui
+ = 
+__c
+ * 0x01010101; \
+
+140 
+__u
+ = 
+       `__ex\8bnsiÚ__
+ ((\1e*) __u + 4); \
+
+142 
+__u
+->
+__ui
+ = 
+__c
+ * 0x01010101; \
+
+143 
+__u
+ = 
+       `__ex\8bnsiÚ__
+ ((\1e*) __u + 4); \
+
+145 
+__u
+->
+__ui
+ = 
+__c
+ * 0x01010101; \
+
+146 
+__u
+ = 
+       `__ex\8bnsiÚ__
+ ((\1e*) __u + 4); \
+
+148 
+__u
+->
+__usi
+ = (\1d\16\12è
+__c
+ * 0x0101; \
+
+152 
+__u
+->
+__ui
+ = 
+__c
+ * 0x01010101; \
+
+153 
+__u
+ = 
+       `__ex\8bnsiÚ__
+ ((\1e*) __u + 4); \
+
+155 
+__u
+->
+__ui
+ = 
+__c
+ * 0x01010101; \
+
+156 
+__u
+ = 
+       `__ex\8bnsiÚ__
+ ((\1e*) __u + 4); \
+
+158 
+__u
+->
+__ui
+ = 
+__c
+ * 0x01010101; \
+
+159 
+__u
+ = 
+       `__ex\8bnsiÚ__
+ ((\1e*) __u + 4); \
+
+161 
+__u
+->
+__uc
+ = (\1d\ 5è
+__c
+; \
+
+165 
+__u
+->
+__ui
+ = 
+__c
+ * 0x01010101; \
+
+166 
+__u
+ = 
+       `__ex\8bnsiÚ__
+ ((\1e*) __u + 4); \
+
+168 
+__u
+->
+__ui
+ = 
+__c
+ * 0x01010101; \
+
+169 
+__u
+ = 
+       `__ex\8bnsiÚ__
+ ((\1e*) __u + 4); \
+
+171 
+__u
+->
+__ui
+ = 
+__c
+ * 0x01010101; \
+
+172 
+__u
+ = 
+       `__ex\8bnsiÚ__
+ ((\1e*) __u + 4); \
+
+174 
+__u
+->
+__ui
+ = 
+__c
+ * 0x01010101; \
+
+179 
+__s
+; })
+
+       )
+
+181 \ 1
+       #mem£t
+(
+s
+, 
+c
+, 
+n
+) \
+
+182 (
+       `__ex\8bnsiÚ__
+ (
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+c
+) && (c) == '\0' \
+
+183 ? ({ \1e*
+__s
+ = (
+s
+); 
+       `__bz\94o
+ (__s, 
+n
+); __s; }) \
+
+184 : 
+       `mem£t
+ (
+s
+, 
+c
+, 
+n
+)))
+
+       )
+
+193 #ià
+__GNUC_PREREQ
+ (2, 91)
+
+194 \ 1
+       #__bz\94o
+(
+s
+, 
+n
+       `__bu\9et\9a_mem£t
+ (s, '\0',\82)
+
+       )
+
+202 #ifdeà
+__USE_GNU
+
+
+203 #ià!
+def\9aed
+_HAVE_STRING_ARCH_mempýy
+ || def\9aed 
+_FORCE_INLINES
+
+
+204 #iâdeà
+_HAVE_STRING_ARCH_mempýy
+
+
+205 #ià
+__GNUC_PREREQ
+ (3, 4)
+
+206 \ 1
+       #__mempýy
+(
+de¡
+, 
+¤c
+, 
+n
+       `__bu\9et\9a_mempýy
+ (de¡, src,\82)
+
+       )
+
+207 #\96
+__GNUC_PREREQ
+ (3, 0)
+
+208 \ 1
+       #__mempýy
+(
+de¡
+, 
+¤c
+, 
+n
+) \
+
+209 (
+       `__ex\8bnsiÚ__
+ (
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+¤c
+è&& __bu\9et\9a_cÚ¡ªt_°(
+n
+) \
+
+210 && 
+       `__¡r\9ag2_1b±r_p
+ (
+¤c
+è&& 
+n
+ <= 8 \
+
+211 ? 
+       `__bu\9et\9a_memýy
+ (
+de¡
+, 
+¤c
+, 
+n
+) + (n) \
+
+212 : 
+       `__mempýy
+ (
+de¡
+, 
+¤c
+, 
+n
+)))
+
+       )
+
+214 \ 1
+       #__mempýy
+(
+de¡
+, 
+¤c
+, 
+n
+) \
+
+215 (
+       `__ex\8bnsiÚ__
+ (
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+¤c
+è&& __bu\9et\9a_cÚ¡ªt_°(
+n
+) \
+
+216 && 
+       `__¡r\9ag2_1b±r_p
+ (
+¤c
+è&& 
+n
+ <= 8 \
+
+217 ? 
+       `__mempýy_sm®l
+ (
+de¡
+, 
+       `__mempýy_¬gs
+ (
+¤c
+), 
+n
+) \
+
+218 : 
+       `__mempýy
+ (
+de¡
+, 
+¤c
+, 
+n
+)))
+
+       )
+
+222 \ 1
+       #mempýy
+(
+de¡
+, 
+¤c
+, 
+n
+       `__mempýy
+ (de¡, src,\82)
+
+       )
+
+225 #ià!
+__GNUC_PREREQ
+ (3, 0è|| 
+def\9aed
+_FORCE_INLINES
+
+
+226 #ià
+_STRING_INLINE_uÇligÃd
+
+
+227 #iâdeà
+_FORCE_INLINES
+
+
+228 \ 1
+       #__mempýy_¬gs
+(
+¤c
+) \
+
+229 ((cÚ¡ \ 5*è(
+¤c
+))[0], ((const \ 5*) (src))[2], \
+
+230 ((cÚ¡ \ 5*è(
+¤c
+))[4], ((const \ 5*) (src))[6], \
+
+231 
+__ex\8bnsiÚ__
+       `__STRING2_SMALL_GET16
+ (
+¤c
+, 0), \
+
+232 
+__ex\8bnsiÚ__
+       `__STRING2_SMALL_GET16
+ (
+¤c
+, 4), \
+
+233 
+__ex\8bnsiÚ__
+       `__STRING2_SMALL_GET32
+ (
+¤c
+, 0), \
+
+234 
+__ex\8bnsiÚ__
+       `__STRING2_SMALL_GET32
+ (
+¤c
+, 4)
+
+       )
+
+236 
+__STRING_INLINE
\1e*
+__mempýy_sm®l
+ (\1e*, \ 5\ 5\ 5\ 5,
+
+237 
+__u\9at16_t
+, __u\9at16_t, 
+__u\9at32_t
+,
+
+238 
+__u\9at32_t
+, 
+size_t
+);
+
+239 
+__STRING_INLINE
\1e*
+
+240 
+       $__mempýy_sm®l
+ (\1e*
+__de¡1
+,
+
+241 \ 5
+__¤c0_1
+, \ 5
+__¤c2_1
+, \ 5
+__¤c4_1
+, \ 5
+__¤c6_1
+,
+
+242 
+__u\9at16_t
+__¤c0_2
+, __u\9at16_\88
+__¤c4_2
+,
+
+243 
+__u\9at32_t
+__¤c0_4
+, __u\9at32_\88
+__¤c4_4
+,
+
+244 
+size_t
+__¤þ\92
+)
+
+247 
+__u\9at32_t
+__ui
+;
+
+248 
+__u\9at16_t
+__usi
+;
+
+249 \1d\ 5
+__uc
+;
+
+250 \1d\ 5
+__c
+;
+
+251 } *
+__u
+ = 
+__de¡1
+;
+
+252 \1a(\1d\12è
+__¤þ\92
+)
+
+255 
+__u
+->
+__c
+ = 
+__¤c0_1
+;
+
+256 
+__u
+ = 
+       `__ex\8bnsiÚ__
+ ((\1e*) __u + 1);
+
+259 
+__u
+->
+__usi
+ = 
+__¤c0_2
+;
+
+260 
+__u
+ = 
+       `__ex\8bnsiÚ__
+ ((\1e*) __u + 2);
+
+263 
+__u
+->
+__usi
+ = 
+__¤c0_2
+;
+
+264 
+__u
+ = 
+       `__ex\8bnsiÚ__
+ ((\1e*) __u + 2);
+
+265 
+__u
+->
+__c
+ = 
+__¤c2_1
+;
+
+266 
+__u
+ = 
+       `__ex\8bnsiÚ__
+ ((\1e*) __u + 1);
+
+269 
+__u
+->
+__ui
+ = 
+__¤c0_4
+;
+
+270 
+__u
+ = 
+       `__ex\8bnsiÚ__
+ ((\1e*) __u + 4);
+
+273 
+__u
+->
+__ui
+ = 
+__¤c0_4
+;
+
+274 
+__u
+ = 
+       `__ex\8bnsiÚ__
+ ((\1e*) __u + 4);
+
+275 
+__u
+->
+__c
+ = 
+__¤c4_1
+;
+
+276 
+__u
+ = 
+       `__ex\8bnsiÚ__
+ ((\1e*) __u + 1);
+
+279 
+__u
+->
+__ui
+ = 
+__¤c0_4
+;
+
+280 
+__u
+ = 
+       `__ex\8bnsiÚ__
+ ((\1e*) __u + 4);
+
+281 
+__u
+->
+__usi
+ = 
+__¤c4_2
+;
+
+282 
+__u
+ = 
+       `__ex\8bnsiÚ__
+ ((\1e*) __u + 2);
+
+285 
+__u
+->
+__ui
+ = 
+__¤c0_4
+;
+
+286 
+__u
+ = 
+       `__ex\8bnsiÚ__
+ ((\1e*) __u + 4);
+
+287 
+__u
+->
+__usi
+ = 
+__¤c4_2
+;
+
+288 
+__u
+ = 
+       `__ex\8bnsiÚ__
+ ((\1e*) __u + 2);
+
+289 
+__u
+->
+__c
+ = 
+__¤c6_1
+;
+
+290 
+__u
+ = 
+       `__ex\8bnsiÚ__
+ ((\1e*) __u + 1);
+
+293 
+__u
+->
+__ui
+ = 
+__¤c0_4
+;
+
+294 
+__u
+ = 
+       `__ex\8bnsiÚ__
+ ((\1e*) __u + 4);
+
+295 
+__u
+->
+__ui
+ = 
+__¤c4_4
+;
+
+296 
+__u
+ = 
+       `__ex\8bnsiÚ__
+ ((\1e*) __u + 4);
+
+299 \15 (\1e
+__u
+;
+
+300 
+       }
+}
+
+302 #iâdeà
+_FORCE_INLINES
+
+
+303 \ 1
+       #__mempýy_¬gs
+(
+¤c
+) \
+
+304 ((cÚ¡ \ 5*è(
+¤c
+))[0], \
+
+305 
+       `__ex\8bnsiÚ__
+ ((
+__STRING2_COPY_ARR2
+) \
+
+306 { { ((cÚ¡ \ 5*è(
+¤c
+))[0], ((const \ 5*) (src))[1] } }), \
+
+307 
+       `__ex\8bnsiÚ__
+ ((
+__STRING2_COPY_ARR3
+) \
+
+308 { { ((cÚ¡ \ 5*è(
+¤c
+))[0], ((const \ 5*) (src))[1], \
+
+309 ((cÚ¡ \ 5*è(
+¤c
+))[2] } }), \
+
+310 
+       `__ex\8bnsiÚ__
+ ((
+__STRING2_COPY_ARR4
+) \
+
+311 { { ((cÚ¡ \ 5*è(
+¤c
+))[0], ((const \ 5*) (src))[1], \
+
+312 ((cÚ¡ \ 5*è(
+¤c
+))[2], ((const \ 5*) (src))[3] } }), \
+
+313 
+       `__ex\8bnsiÚ__
+ ((
+__STRING2_COPY_ARR5
+) \
+
+314 { { ((cÚ¡ \ 5*è(
+¤c
+))[0], ((const \ 5*) (src))[1], \
+
+315 ((cÚ¡ \ 5*è(
+¤c
+))[2], ((const \ 5*) (src))[3], \
+
+316 ((cÚ¡ \ 5*è(
+¤c
+))[4] } }), \
+
+317 
+       `__ex\8bnsiÚ__
+ ((
+__STRING2_COPY_ARR6
+) \
+
+318 { { ((cÚ¡ \ 5*è(
+¤c
+))[0], ((const \ 5*) (src))[1], \
+
+319 ((cÚ¡ \ 5*è(
+¤c
+))[2], ((const \ 5*) (src))[3], \
+
+320 ((cÚ¡ \ 5*è(
+¤c
+))[4], ((const \ 5*) (src))[5] } }), \
+
+321 
+       `__ex\8bnsiÚ__
+ ((
+__STRING2_COPY_ARR7
+) \
+
+322 { { ((cÚ¡ \ 5*è(
+¤c
+))[0], ((const \ 5*) (src))[1], \
+
+323 ((cÚ¡ \ 5*è(
+¤c
+))[2], ((const \ 5*) (src))[3], \
+
+324 ((cÚ¡ \ 5*è(
+¤c
+))[4], ((const \ 5*) (src))[5], \
+
+325 ((cÚ¡ \ 5*è(
+¤c
+))[6] } }), \
+
+326 
+       `__ex\8bnsiÚ__
+ ((
+__STRING2_COPY_ARR8
+) \
+
+327 { { ((cÚ¡ \ 5*è(
+¤c
+))[0], ((const \ 5*) (src))[1], \
+
+328 ((cÚ¡ \ 5*è(
+¤c
+))[2], ((const \ 5*) (src))[3], \
+
+329 ((cÚ¡ \ 5*è(
+¤c
+))[4], ((const \ 5*) (src))[5], \
+
+330 ((cÚ¡ \ 5*è(
+¤c
+))[6], ((cÚ¡ \ 5*è(¤c))[7] } })
+
+       )
+
+332 
+__STRING_INLINE
\1e*
+__mempýy_sm®l
+ (\1e*, \ 5
+__STRING2_COPY_ARR2
+,
+
+333 
+__STRING2_COPY_ARR3
+,
+
+334 
+__STRING2_COPY_ARR4
+,
+
+335 
+__STRING2_COPY_ARR5
+,
+
+336 
+__STRING2_COPY_ARR6
+,
+
+337 
+__STRING2_COPY_ARR7
+,
+
+338 
+__STRING2_COPY_ARR8
+, 
+size_t
+);
+
+339 
+__STRING_INLINE
\1e*
+
+340 
+       $__mempýy_sm®l
+ (\1e*
+__de¡
+, \ 5
+__¤c1
+,
+
+341 
+__STRING2_COPY_ARR2
+__¤c2
+, 
+__STRING2_COPY_ARR3
+__¤c3
+,
+
+342 
+__STRING2_COPY_ARR4
+__¤c4
+, 
+__STRING2_COPY_ARR5
+__¤c5
+,
+
+343 
+__STRING2_COPY_ARR6
+__¤c6
+, 
+__STRING2_COPY_ARR7
+__¤c7
+,
+
+344 
+__STRING2_COPY_ARR8
+__¤c8
+, 
+size_t
+__¤þ\92
+)
+
+347 \ 5
+__c
+;
+
+348 
+__STRING2_COPY_ARR2
+__sÿ2
+;
+
+349 
+__STRING2_COPY_ARR3
+__sÿ3
+;
+
+350 
+__STRING2_COPY_ARR4
+__sÿ4
+;
+
+351 
+__STRING2_COPY_ARR5
+__sÿ5
+;
+
+352 
+__STRING2_COPY_ARR6
+__sÿ6
+;
+
+353 
+__STRING2_COPY_ARR7
+__sÿ7
+;
+
+354 
+__STRING2_COPY_ARR8
+__sÿ8
+;
+
+355 } *
+__u
+ = 
+__de¡
+;
+
+356 \1a(\1d\12è
+__¤þ\92
+)
+
+359 
+__u
+->
+__c
+ = 
+__¤c1
+;
+
+362 
+__ex\8bnsiÚ__
+__u
+->
+__sÿ2
+ = 
+__¤c2
+;
+
+365 
+__ex\8bnsiÚ__
+__u
+->
+__sÿ3
+ = 
+__¤c3
+;
+
+368 
+__ex\8bnsiÚ__
+__u
+->
+__sÿ4
+ = 
+__¤c4
+;
+
+371 
+__ex\8bnsiÚ__
+__u
+->
+__sÿ5
+ = 
+__¤c5
+;
+
+374 
+__ex\8bnsiÚ__
+__u
+->
+__sÿ6
+ = 
+__¤c6
+;
+
+377 
+__ex\8bnsiÚ__
+__u
+->
+__sÿ7
+ = 
+__¤c7
+;
+
+380 
+__ex\8bnsiÚ__
+__u
+->
+__sÿ8
+ = 
+__¤c8
+;
+
+383 \15 
+       `__ex\8bnsiÚ__
+ ((\1e
+__u
+ + 
+__¤þ\92
+);
+
+384 
+       }
+}
+
+392 #iâdeà
+_HAVE_STRING_ARCH_¡rchr
+
+
+393 \r\1e*
+__¿wmemchr
+ (cڡ \1e*
+__s
+, \12
+__c
+);
+
+394 #ià
+__GNUC_PREREQ
+ (3, 2)
+
+395 \ 1
+       #¡rchr
+(
+s
+, 
+c
+) \
+
+396 (
+       `__ex\8bnsiÚ__
+ (
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+c
+è&& !__bu\9et\9a_cÚ¡ªt_°(
+s
+) \
+
+397 && (
+c
+) == '\0' \
+
+398 ? (\ 5
+       `__¿wmemchr
+ (
+s
+, 
+c
+) \
+
+399 : 
+       `__bu\9et\9a_¡rchr
+ (
+s
+, 
+c
+)))
+
+       )
+
+401 \ 1
+       #¡rchr
+(
+s
+, 
+c
+) \
+
+402 (
+       `__ex\8bnsiÚ__
+ (
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+c
+) && (c) == '\0' \
+
+403 ? (\ 5
+       `__¿wmemchr
+ (
+s
+, 
+c
+) \
+
+404 : 
+       `¡rchr
+ (
+s
+, 
+c
+)))
+
+       )
+
+410 #ià(!
+def\9aed
+_HAVE_STRING_ARCH_¡rýy
+ && !
+__GNUC_PREREQ
+ (3, 0)) \
+
+411 || 
+def\9aed
+       g_FORCE_INLINES
+
+
+412 #ià!
+def\9aed
+_HAVE_STRING_ARCH_¡rýy
+ && !
+__GNUC_PREREQ
+ (3, 0)
+
+413 \ 1
+       #¡rýy
+(
+de¡
+, 
+¤c
+) \
+
+414 (
+       `__ex\8bnsiÚ__
+ (
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+¤c
+) \
+
+415 ? (
+       `__¡r\9ag2_1b±r_p
+ (
+¤c
+è&& 
+       `¡¾\92
+ (src) + 1 <= 8 \
+
+416 ? 
+       `__¡rýy_sm®l
+ (
+de¡
+, 
+       `__¡rýy_¬gs
+ (
+¤c
+), \
+
+417 
+       `¡¾\92
+ (
+¤c
+) + 1) \
+
+418 : (\ 5
+       `memýy
+ (
+de¡
+, 
+¤c
+, 
+       `¡¾\92
+ (src) + 1)) \
+
+419 : 
+       `¡rýy
+ (
+de¡
+, 
+¤c
+)))
+
+       )
+
+422 #ià
+_STRING_INLINE_uÇligÃd
+
+
+423 #iâdeà
+_FORCE_INLINES
+
+
+424 \ 1
+       #__¡rýy_¬gs
+(
+¤c
+) \
+
+425 
+__ex\8bnsiÚ__
+       `__STRING2_SMALL_GET16
+ (
+¤c
+, 0), \
+
+426 
+__ex\8bnsiÚ__
+       `__STRING2_SMALL_GET16
+ (
+¤c
+, 4), \
+
+427 
+__ex\8bnsiÚ__
+       `__STRING2_SMALL_GET32
+ (
+¤c
+, 0), \
+
+428 
+__ex\8bnsiÚ__
+       `__STRING2_SMALL_GET32
+ (
+¤c
+, 4)
+
+       )
+
+430 
+__STRING_INLINE
\ 5*
+__¡rýy_sm®l
+ (\ 5*, 
+__u\9at16_t
+, __uint16_t,
+
+431 
+__u\9at32_t
+, __u\9at32_t, 
+size_t
+);
+
+432 
+__STRING_INLINE
\ 5*
+
+433 
+       $__¡rýy_sm®l
+ (\ 5*
+__de¡
+,
+
+434 
+__u\9at16_t
+__¤c0_2
+, __u\9at16_\88
+__¤c4_2
+,
+
+435 
+__u\9at32_t
+__¤c0_4
+, __u\9at32_\88
+__¤c4_4
+,
+
+436 
+size_t
+__¤þ\92
+)
+
+439 
+__u\9at32_t
+__ui
+;
+
+440 
+__u\9at16_t
+__usi
+;
+
+441 \1d\ 5
+__uc
+;
+
+442 } *
+__u
+ = (\1e
+__de¡
+;
+
+443 \1a(\1d\12è
+__¤þ\92
+)
+
+446 
+__u
+->
+__uc
+ = '\0';
+
+449 
+__u
+->
+__usi
+ = 
+__¤c0_2
+;
+
+452 
+__u
+->
+__usi
+ = 
+__¤c0_2
+;
+
+453 
+__u
+ = 
+       `__ex\8bnsiÚ__
+ ((\1e*) __u + 2);
+
+454 
+__u
+->
+__uc
+ = '\0';
+
+457 
+__u
+->
+__ui
+ = 
+__¤c0_4
+;
+
+460 
+__u
+->
+__ui
+ = 
+__¤c0_4
+;
+
+461 
+__u
+ = 
+       `__ex\8bnsiÚ__
+ ((\1e*) __u + 4);
+
+462 
+__u
+->
+__uc
+ = '\0';
+
+465 
+__u
+->
+__ui
+ = 
+__¤c0_4
+;
+
+466 
+__u
+ = 
+       `__ex\8bnsiÚ__
+ ((\1e*) __u + 4);
+
+467 
+__u
+->
+__usi
+ = 
+__¤c4_2
+;
+
+470 
+__u
+->
+__ui
+ = 
+__¤c0_4
+;
+
+471 
+__u
+ = 
+       `__ex\8bnsiÚ__
+ ((\1e*) __u + 4);
+
+472 
+__u
+->
+__usi
+ = 
+__¤c4_2
+;
+
+473 
+__u
+ = 
+       `__ex\8bnsiÚ__
+ ((\1e*) __u + 2);
+
+474 
+__u
+->
+__uc
+ = '\0';
+
+477 
+__u
+->
+__ui
+ = 
+__¤c0_4
+;
+
+478 
+__u
+ = 
+       `__ex\8bnsiÚ__
+ ((\1e*) __u + 4);
+
+479 
+__u
+->
+__ui
+ = 
+__¤c4_4
+;
+
+482 \15 
+__de¡
+;
+
+483 
+       }
+}
+
+485 #iâdeà
+_FORCE_INLINES
+
+
+486 \ 1
+       #__¡rýy_¬gs
+(
+¤c
+) \
+
+487 
+       `__ex\8bnsiÚ__
+ ((
+__STRING2_COPY_ARR2
+) \
+
+488 { { ((cÚ¡ \ 5*è(
+¤c
+))[0], '\0' } }), \
+
+489 
+       `__ex\8bnsiÚ__
+ ((
+__STRING2_COPY_ARR3
+) \
+
+490 { { ((cÚ¡ \ 5*è(
+¤c
+))[0], ((const \ 5*) (src))[1], \
+
+492 
+       `__ex\8bnsiÚ__
+ ((
+__STRING2_COPY_ARR4
+) \
+
+493 { { ((cÚ¡ \ 5*è(
+¤c
+))[0], ((const \ 5*) (src))[1], \
+
+494 ((cÚ¡ \ 5*è(
+¤c
+))[2], '\0' } }), \
+
+495 
+       `__ex\8bnsiÚ__
+ ((
+__STRING2_COPY_ARR5
+) \
+
+496 { { ((cÚ¡ \ 5*è(
+¤c
+))[0], ((const \ 5*) (src))[1], \
+
+497 ((cÚ¡ \ 5*è(
+¤c
+))[2], ((const \ 5*) (src))[3], \
+
+499 
+       `__ex\8bnsiÚ__
+ ((
+__STRING2_COPY_ARR6
+) \
+
+500 { { ((cÚ¡ \ 5*è(
+¤c
+))[0], ((const \ 5*) (src))[1], \
+
+501 ((cÚ¡ \ 5*è(
+¤c
+))[2], ((const \ 5*) (src))[3], \
+
+502 ((cÚ¡ \ 5*è(
+¤c
+))[4], '\0' } }), \
+
+503 
+       `__ex\8bnsiÚ__
+ ((
+__STRING2_COPY_ARR7
+) \
+
+504 { { ((cÚ¡ \ 5*è(
+¤c
+))[0], ((const \ 5*) (src))[1], \
+
+505 ((cÚ¡ \ 5*è(
+¤c
+))[2], ((const \ 5*) (src))[3], \
+
+506 ((cÚ¡ \ 5*è(
+¤c
+))[4], ((const \ 5*) (src))[5], \
+
+508 
+       `__ex\8bnsiÚ__
+ ((
+__STRING2_COPY_ARR8
+) \
+
+509 { { ((cÚ¡ \ 5*è(
+¤c
+))[0], ((const \ 5*) (src))[1], \
+
+510 ((cÚ¡ \ 5*è(
+¤c
+))[2], ((const \ 5*) (src))[3], \
+
+511 ((cÚ¡ \ 5*è(
+¤c
+))[4], ((const \ 5*) (src))[5], \
+
+512 ((cÚ¡ \ 5*è(
+¤c
+))[6], '\0' } })
+
+       )
+
+514 
+__STRING_INLINE
\ 5*
+__¡rýy_sm®l
+ (\ 5*, 
+__STRING2_COPY_ARR2
+,
+
+515 
+__STRING2_COPY_ARR3
+,
+
+516 
+__STRING2_COPY_ARR4
+,
+
+517 
+__STRING2_COPY_ARR5
+,
+
+518 
+__STRING2_COPY_ARR6
+,
+
+519 
+__STRING2_COPY_ARR7
+,
+
+520 
+__STRING2_COPY_ARR8
+, 
+size_t
+);
+
+521 
+__STRING_INLINE
\ 5*
+
+522 
+       $__¡rýy_sm®l
+ (\ 5*
+__de¡
+,
+
+523 
+__STRING2_COPY_ARR2
+__¤c2
+, 
+__STRING2_COPY_ARR3
+__¤c3
+,
+
+524 
+__STRING2_COPY_ARR4
+__¤c4
+, 
+__STRING2_COPY_ARR5
+__¤c5
+,
+
+525 
+__STRING2_COPY_ARR6
+__¤c6
+, 
+__STRING2_COPY_ARR7
+__¤c7
+,
+
+526 
+__STRING2_COPY_ARR8
+__¤c8
+, 
+size_t
+__¤þ\92
+)
+
+529 \ 5
+__c
+;
+
+530 
+__STRING2_COPY_ARR2
+__sÿ2
+;
+
+531 
+__STRING2_COPY_ARR3
+__sÿ3
+;
+
+532 
+__STRING2_COPY_ARR4
+__sÿ4
+;
+
+533 
+__STRING2_COPY_ARR5
+__sÿ5
+;
+
+534 
+__STRING2_COPY_ARR6
+__sÿ6
+;
+
+535 
+__STRING2_COPY_ARR7
+__sÿ7
+;
+
+536 
+__STRING2_COPY_ARR8
+__sÿ8
+;
+
+537 } *
+__u
+ = (\1e
+__de¡
+;
+
+538 \1a(\1d\12è
+__¤þ\92
+)
+
+541 
+__u
+->
+__c
+ = '\0';
+
+544 
+__ex\8bnsiÚ__
+__u
+->
+__sÿ2
+ = 
+__¤c2
+;
+
+547 
+__ex\8bnsiÚ__
+__u
+->
+__sÿ3
+ = 
+__¤c3
+;
+
+550 
+__ex\8bnsiÚ__
+__u
+->
+__sÿ4
+ = 
+__¤c4
+;
+
+553 
+__ex\8bnsiÚ__
+__u
+->
+__sÿ5
+ = 
+__¤c5
+;
+
+556 
+__ex\8bnsiÚ__
+__u
+->
+__sÿ6
+ = 
+__¤c6
+;
+
+559 
+__ex\8bnsiÚ__
+__u
+->
+__sÿ7
+ = 
+__¤c7
+;
+
+562 
+__ex\8bnsiÚ__
+__u
+->
+__sÿ8
+ = 
+__¤c8
+;
+
+565 \15 
+__de¡
+;
+
+566 
+       }
+}
+
+572 #ifdeà
+__USE_GNU
+
+
+573 #ià!
+def\9aed
+_HAVE_STRING_ARCH_¡pýy
+ || def\9aed 
+_FORCE_INLINES
+
+
+574 #iâdeà
+_HAVE_STRING_ARCH_¡pýy
+
+
+575 #ià
+__GNUC_PREREQ
+ (3, 4)
+
+576 \ 1
+       #__¡pýy
+(
+de¡
+, 
+¤c
+       `__bu\9et\9a_¡pýy
+ (de¡, src)
+
+       )
+
+577 #\96
+__GNUC_PREREQ
+ (3, 0)
+
+578 \ 1
+       #__¡pýy
+(
+de¡
+, 
+¤c
+) \
+
+579 (
+       `__ex\8bnsiÚ__
+ (
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+¤c
+) \
+
+580 ? (
+       `__¡r\9ag2_1b±r_p
+ (
+¤c
+è&& 
+       `¡¾\92
+ (src) + 1 <= 8 \
+
+581 ? 
+       `__bu\9et\9a_¡rýy
+ (
+de¡
+, 
+¤c
+è+ 
+       `¡¾\92
+ (src) \
+
+582 : ((\ 5*è(
+__mempýy
+è(
+de¡
+, 
+¤c
+, 
+       `¡¾\92
+ (src) + 1) \
+
+584 : 
+       `__¡pýy
+ (
+de¡
+, 
+¤c
+)))
+
+       )
+
+586 \ 1
+       #__¡pýy
+(
+de¡
+, 
+¤c
+) \
+
+587 (
+       `__ex\8bnsiÚ__
+ (
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+¤c
+) \
+
+588 ? (
+       `__¡r\9ag2_1b±r_p
+ (
+¤c
+è&& 
+       `¡¾\92
+ (src) + 1 <= 8 \
+
+589 ? 
+       `__¡pýy_sm®l
+ (
+de¡
+, 
+       `__¡pýy_¬gs
+ (
+¤c
+), \
+
+590 
+       `¡¾\92
+ (
+¤c
+) + 1) \
+
+591 : ((\ 5*è(
+__mempýy
+è(
+de¡
+, 
+¤c
+, 
+       `¡¾\92
+ (src) + 1) \
+
+593 : 
+       `__¡pýy
+ (
+de¡
+, 
+¤c
+)))
+
+       )
+
+597 \ 1
+       #¡pýy
+(
+de¡
+, 
+¤c
+       `__¡pýy
+ (de¡, src)
+
+       )
+
+600 #ià!
+__GNUC_PREREQ
+ (3, 0è|| 
+def\9aed
+_FORCE_INLINES
+
+
+601 #ià
+_STRING_INLINE_uÇligÃd
+
+
+602 #iâdeà
+_FORCE_INLINES
+
+
+603 \ 1
+       #__¡pýy_¬gs
+(
+¤c
+) \
+
+604 
+__ex\8bnsiÚ__
+       `__STRING2_SMALL_GET16
+ (
+¤c
+, 0), \
+
+605 
+__ex\8bnsiÚ__
+       `__STRING2_SMALL_GET16
+ (
+¤c
+, 4), \
+
+606 
+__ex\8bnsiÚ__
+       `__STRING2_SMALL_GET32
+ (
+¤c
+, 0), \
+
+607 
+__ex\8bnsiÚ__
+       `__STRING2_SMALL_GET32
+ (
+¤c
+, 4)
+
+       )
+
+609 
+__STRING_INLINE
\ 5*
+__¡pýy_sm®l
+ (\ 5*, 
+__u\9at16_t
+, __uint16_t,
+
+610 
+__u\9at32_t
+, __u\9at32_t, 
+size_t
+);
+
+611 
+__STRING_INLINE
\ 5*
+
+612 
+       $__¡pýy_sm®l
+ (\ 5*
+__de¡
+,
+
+613 
+__u\9at16_t
+__¤c0_2
+, __u\9at16_\88
+__¤c4_2
+,
+
+614 
+__u\9at32_t
+__¤c0_4
+, __u\9at32_\88
+__¤c4_4
+,
+
+615 
+size_t
+__¤þ\92
+)
+
+618 \1d\12
+__ui
+;
+
+619 \1d\16\12
+__usi
+;
+
+620 \1d\ 5
+__uc
+;
+
+621 \ 5
+__c
+;
+
+622 } *
+__u
+ = (\1e
+__de¡
+;
+
+623 \1a(\1d\12è
+__¤þ\92
+)
+
+626 
+__u
+->
+__uc
+ = '\0';
+
+629 
+__u
+->
+__usi
+ = 
+__¤c0_2
+;
+
+630 
+__u
+ = 
+       `__ex\8bnsiÚ__
+ ((\1e*) __u + 1);
+
+633 
+__u
+->
+__usi
+ = 
+__¤c0_2
+;
+
+634 
+__u
+ = 
+       `__ex\8bnsiÚ__
+ ((\1e*) __u + 2);
+
+635 
+__u
+->
+__uc
+ = '\0';
+
+638 
+__u
+->
+__ui
+ = 
+__¤c0_4
+;
+
+639 
+__u
+ = 
+       `__ex\8bnsiÚ__
+ ((\1e*) __u + 3);
+
+642 
+__u
+->
+__ui
+ = 
+__¤c0_4
+;
+
+643 
+__u
+ = 
+       `__ex\8bnsiÚ__
+ ((\1e*) __u + 4);
+
+644 
+__u
+->
+__uc
+ = '\0';
+
+647 
+__u
+->
+__ui
+ = 
+__¤c0_4
+;
+
+648 
+__u
+ = 
+       `__ex\8bnsiÚ__
+ ((\1e*) __u + 4);
+
+649 
+__u
+->
+__usi
+ = 
+__¤c4_2
+;
+
+650 
+__u
+ = 
+       `__ex\8bnsiÚ__
+ ((\1e*) __u + 1);
+
+653 
+__u
+->
+__ui
+ = 
+__¤c0_4
+;
+
+654 
+__u
+ = 
+       `__ex\8bnsiÚ__
+ ((\1e*) __u + 4);
+
+655 
+__u
+->
+__usi
+ = 
+__¤c4_2
+;
+
+656 
+__u
+ = 
+       `__ex\8bnsiÚ__
+ ((\1e*) __u + 2);
+
+657 
+__u
+->
+__uc
+ = '\0';
+
+660 
+__u
+->
+__ui
+ = 
+__¤c0_4
+;
+
+661 
+__u
+ = 
+       `__ex\8bnsiÚ__
+ ((\1e*) __u + 4);
+
+662 
+__u
+->
+__ui
+ = 
+__¤c4_4
+;
+
+663 
+__u
+ = 
+       `__ex\8bnsiÚ__
+ ((\1e*) __u + 3);
+
+666 \15 &
+__u
+->
+__c
+;
+
+667 
+       }
+}
+
+669 #iâdeà
+_FORCE_INLINES
+
+
+670 \ 1
+       #__¡pýy_¬gs
+(
+¤c
+) \
+
+671 
+       `__ex\8bnsiÚ__
+ ((
+__STRING2_COPY_ARR2
+) \
+
+672 { { ((cÚ¡ \ 5*è(
+¤c
+))[0], '\0' } }), \
+
+673 
+       `__ex\8bnsiÚ__
+ ((
+__STRING2_COPY_ARR3
+) \
+
+674 { { ((cÚ¡ \ 5*è(
+¤c
+))[0], ((const \ 5*) (src))[1], \
+
+676 
+       `__ex\8bnsiÚ__
+ ((
+__STRING2_COPY_ARR4
+) \
+
+677 { { ((cÚ¡ \ 5*è(
+¤c
+))[0], ((const \ 5*) (src))[1], \
+
+678 ((cÚ¡ \ 5*è(
+¤c
+))[2], '\0' } }), \
+
+679 
+       `__ex\8bnsiÚ__
+ ((
+__STRING2_COPY_ARR5
+) \
+
+680 { { ((cÚ¡ \ 5*è(
+¤c
+))[0], ((const \ 5*) (src))[1], \
+
+681 ((cÚ¡ \ 5*è(
+¤c
+))[2], ((const \ 5*) (src))[3], \
+
+683 
+       `__ex\8bnsiÚ__
+ ((
+__STRING2_COPY_ARR6
+) \
+
+684 { { ((cÚ¡ \ 5*è(
+¤c
+))[0], ((const \ 5*) (src))[1], \
+
+685 ((cÚ¡ \ 5*è(
+¤c
+))[2], ((const \ 5*) (src))[3], \
+
+686 ((cÚ¡ \ 5*è(
+¤c
+))[4], '\0' } }), \
+
+687 
+       `__ex\8bnsiÚ__
+ ((
+__STRING2_COPY_ARR7
+) \
+
+688 { { ((cÚ¡ \ 5*è(
+¤c
+))[0], ((const \ 5*) (src))[1], \
+
+689 ((cÚ¡ \ 5*è(
+¤c
+))[2], ((const \ 5*) (src))[3], \
+
+690 ((cÚ¡ \ 5*è(
+¤c
+))[4], ((const \ 5*) (src))[5], \
+
+692 
+       `__ex\8bnsiÚ__
+ ((
+__STRING2_COPY_ARR8
+) \
+
+693 { { ((cÚ¡ \ 5*è(
+¤c
+))[0], ((const \ 5*) (src))[1], \
+
+694 ((cÚ¡ \ 5*è(
+¤c
+))[2], ((const \ 5*) (src))[3], \
+
+695 ((cÚ¡ \ 5*è(
+¤c
+))[4], ((const \ 5*) (src))[5], \
+
+696 ((cÚ¡ \ 5*è(
+¤c
+))[6], '\0' } })
+
+       )
+
+698 
+__STRING_INLINE
\ 5*
+__¡pýy_sm®l
+ (\ 5*, 
+__STRING2_COPY_ARR2
+,
+
+699 
+__STRING2_COPY_ARR3
+,
+
+700 
+__STRING2_COPY_ARR4
+,
+
+701 
+__STRING2_COPY_ARR5
+,
+
+702 
+__STRING2_COPY_ARR6
+,
+
+703 
+__STRING2_COPY_ARR7
+,
+
+704 
+__STRING2_COPY_ARR8
+, 
+size_t
+);
+
+705 
+__STRING_INLINE
\ 5*
+
+706 
+       $__¡pýy_sm®l
+ (\ 5*
+__de¡
+,
+
+707 
+__STRING2_COPY_ARR2
+__¤c2
+, 
+__STRING2_COPY_ARR3
+__¤c3
+,
+
+708 
+__STRING2_COPY_ARR4
+__¤c4
+, 
+__STRING2_COPY_ARR5
+__¤c5
+,
+
+709 
+__STRING2_COPY_ARR6
+__¤c6
+, 
+__STRING2_COPY_ARR7
+__¤c7
+,
+
+710 
+__STRING2_COPY_ARR8
+__¤c8
+, 
+size_t
+__¤þ\92
+)
+
+713 \ 5
+__c
+;
+
+714 
+__STRING2_COPY_ARR2
+__sÿ2
+;
+
+715 
+__STRING2_COPY_ARR3
+__sÿ3
+;
+
+716 
+__STRING2_COPY_ARR4
+__sÿ4
+;
+
+717 
+__STRING2_COPY_ARR5
+__sÿ5
+;
+
+718 
+__STRING2_COPY_ARR6
+__sÿ6
+;
+
+719 
+__STRING2_COPY_ARR7
+__sÿ7
+;
+
+720 
+__STRING2_COPY_ARR8
+__sÿ8
+;
+
+721 } *
+__u
+ = (\1e
+__de¡
+;
+
+722 \1a(\1d\12è
+__¤þ\92
+)
+
+725 
+__u
+->
+__c
+ = '\0';
+
+728 
+__ex\8bnsiÚ__
+__u
+->
+__sÿ2
+ = 
+__¤c2
+;
+
+731 
+__ex\8bnsiÚ__
+__u
+->
+__sÿ3
+ = 
+__¤c3
+;
+
+734 
+__ex\8bnsiÚ__
+__u
+->
+__sÿ4
+ = 
+__¤c4
+;
+
+737 
+__ex\8bnsiÚ__
+__u
+->
+__sÿ5
+ = 
+__¤c5
+;
+
+740 
+__ex\8bnsiÚ__
+__u
+->
+__sÿ6
+ = 
+__¤c6
+;
+
+743 
+__ex\8bnsiÚ__
+__u
+->
+__sÿ7
+ = 
+__¤c7
+;
+
+746 
+__ex\8bnsiÚ__
+__u
+->
+__sÿ8
+ = 
+__¤c8
+;
+
+749 \15 
+__de¡
+ + 
+__¤þ\92
+ - 1;
+
+750 
+       }
+}
+
+758 #iâdeà
+_HAVE_STRING_ARCH_¡ºýy
+
+
+759 #ià
+__GNUC_PREREQ
+ (3, 2)
+
+760 \ 1
+       #¡ºýy
+(
+de¡
+, 
+¤c
+, 
+n
+       `__bu\9et\9a_¡ºýy
+ (de¡, src,\82)
+
+       )
+
+762 \ 1
+       #¡ºýy
+(
+de¡
+, 
+¤c
+, 
+n
+) \
+
+763 (
+       `__ex\8bnsiÚ__
+ (
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+¤c
+è&& __bu\9et\9a_cÚ¡ªt_°(
+n
+) \
+
+764 ? (
+       `¡¾\92
+ (
+¤c
+è+ 1 >ð((
+size_t
+è(
+n
+)) \
+
+765 ? (\ 5
+       `memýy
+ (
+de¡
+, 
+¤c
+, 
+n
+) \
+
+766 : 
+       `¡ºýy
+ (
+de¡
+, 
+¤c
+, 
+n
+)) \
+
+767 : 
+       `¡ºýy
+ (
+de¡
+, 
+¤c
+, 
+n
+)))
+
+       )
+
+773 #iâdeà
+_HAVE_STRING_ARCH_¡ºÿt
+
+
+774 #ifdeà
+_USE_STRING_ARCH_¡rchr
+
+
+775 \ 1
+       #¡ºÿt
+(
+de¡
+, 
+¤c
+, 
+n
+) \
+
+776 (
+       `__ex\8bnsiÚ__
+ ({ \ 5*
+__de¡
+ = (
+de¡
+); \
+
+777 
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+¤c
+è&& __bu\9et\9a_cÚ¡ªt_°(
+n
+) \
+
+778 ? (
+       `¡¾\92
+ (
+¤c
+è< ((
+size_t
+è(
+n
+)) \
+
+779 ? 
+       `¡rÿt
+ (
+__de¡
+, 
+¤c
+) \
+
+780 : (*((\ 5
+       `__mempýy
+ (
+       `¡rchr
+ (
+__de¡
+, '\0'), \
+
+781 
+¤c
+, 
+n
+)èð'\0', 
+__de¡
+)) \
+
+782 : 
+       `¡ºÿt
+ (
+de¡
+, 
+¤c
+, 
+n
+); }))
+
+       )
+
+783 #\96
+__GNUC_PREREQ
+ (3, 2)
+
+784 \ 1
+       #¡ºÿt
+(
+de¡
+, 
+¤c
+, 
+n
+       `__bu\9et\9a_¡ºÿt
+ (de¡, src,\82)
+
+       )
+
+786 \ 1
+       #¡ºÿt
+(
+de¡
+, 
+¤c
+, 
+n
+) \
+
+787 (
+       `__ex\8bnsiÚ__
+ (
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+¤c
+è&& __bu\9et\9a_cÚ¡ªt_°(
+n
+) \
+
+788 ? (
+       `¡¾\92
+ (
+¤c
+è< ((
+size_t
+è(
+n
+)) \
+
+789 ? 
+       `¡rÿt
+ (
+de¡
+, 
+¤c
+) \
+
+790 : 
+       `¡ºÿt
+ (
+de¡
+, 
+¤c
+, 
+n
+)) \
+
+791 : 
+       `¡ºÿt
+ (
+de¡
+, 
+¤c
+, 
+n
+)))
+
+       )
+
+797 #iâdeà
+_HAVE_STRING_ARCH_¡rcmp
+
+
+798 #ià
+__GNUC_PREREQ
+ (3, 2)
+
+799 \ 1
+       #¡rcmp
+(
+s1
+, 
+s2
+) \
+
+800 
+__ex\8bnsiÚ__
+ \
+
+801 ({ 
+size_t
+__s1_Ën
+, 
+__s2_Ën
+; \
+
+802 (
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+s1
+è&& __bu\9et\9a_cÚ¡ªt_°(
+s2
+) \
+
+803 && (
+__s1_Ën
+ = 
+       `__bu\9et\9a_¡¾\92
+ (
+s1
+), 
+__s2_Ën
+ = __bu\9et\9a_¡¾\92 (
+s2
+), \
+
+804 (!
+       `__¡r\9ag2_1b±r_p
+ (
+s1
+è|| 
+__s1_Ën
+ >= 4) \
+
+805 && (!
+       `__¡r\9ag2_1b±r_p
+ (
+s2
+è|| 
+__s2_Ën
+ >= 4)) \
+
+806 ? 
+       `__bu\9et\9a_¡rcmp
+ (
+s1
+, 
+s2
+) \
+
+807 : (
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+s1
+è&& 
+       `__¡r\9ag2_1b±r_p
+ (s1) \
+
+808 && (
+__s1_Ën
+ = 
+       `__bu\9et\9a_¡¾\92
+ (
+s1
+), __s1_len < 4) \
+
+809 ? (
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+s2
+è&& 
+       `__¡r\9ag2_1b±r_p
+ (s2) \
+
+810 ? 
+       `__bu\9et\9a_¡rcmp
+ (
+s1
+, 
+s2
+) \
+
+811 : 
+       `__¡rcmp_cg
+ (
+s1
+, 
+s2
+, 
+__s1_Ën
+)) \
+
+812 : (
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+s2
+è&& 
+       `__¡r\9ag2_1b±r_p
+ (s2) \
+
+813 && (
+__s2_Ën
+ = 
+       `__bu\9et\9a_¡¾\92
+ (
+s2
+), __s2_len < 4) \
+
+814 ? (
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+s1
+è&& 
+       `__¡r\9ag2_1b±r_p
+ (s1) \
+
+815 ? 
+       `__bu\9et\9a_¡rcmp
+ (
+s1
+, 
+s2
+) \
+
+816 : 
+       `__¡rcmp_gc
+ (
+s1
+, 
+s2
+, 
+__s2_Ën
+)) \
+
+817 : 
+       `__bu\9et\9a_¡rcmp
+ (
+s1
+, 
+s2
+)))); })
+
+       )
+
+819 \ 1
+       #¡rcmp
+(
+s1
+, 
+s2
+) \
+
+820 
+__ex\8bnsiÚ__
+ \
+
+821 ({ 
+size_t
+__s1_Ën
+, 
+__s2_Ën
+; \
+
+822 (
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+s1
+è&& __bu\9et\9a_cÚ¡ªt_°(
+s2
+) \
+
+823 && (
+__s1_Ën
+ = 
+       `¡¾\92
+ (
+s1
+), 
+__s2_Ën
+ = s\8cËÀ(
+s2
+), \
+
+824 (!
+       `__¡r\9ag2_1b±r_p
+ (
+s1
+è|| 
+__s1_Ën
+ >= 4) \
+
+825 && (!
+       `__¡r\9ag2_1b±r_p
+ (
+s2
+è|| 
+__s2_Ën
+ >= 4)) \
+
+826 ? 
+       `memcmp
+ ((cÚ¡ \ 5*è(
+s1
+), (cÚ¡ \ 5*è(
+s2
+), \
+
+827 (
+__s1_Ën
+ < 
+__s2_Ën
+ ? __s1_len : __s2_len) + 1) \
+
+828 : (
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+s1
+è&& 
+       `__¡r\9ag2_1b±r_p
+ (s1) \
+
+829 && (
+__s1_Ën
+ = 
+       `¡¾\92
+ (
+s1
+), __s1_len < 4) \
+
+830 ? (
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+s2
+è&& 
+       `__¡r\9ag2_1b±r_p
+ (s2) \
+
+831 ? 
+       `__¡rcmp_cc
+ (
+s1
+, 
+s2
+, 
+__s1_Ën
+) \
+
+832 : 
+       `__¡rcmp_cg
+ (
+s1
+, 
+s2
+, 
+__s1_Ën
+)) \
+
+833 : (
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+s2
+è&& 
+       `__¡r\9ag2_1b±r_p
+ (s2) \
+
+834 && (
+__s2_Ën
+ = 
+       `¡¾\92
+ (
+s2
+), __s2_len < 4) \
+
+835 ? (
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+s1
+è&& 
+       `__¡r\9ag2_1b±r_p
+ (s1) \
+
+836 ? 
+       `__¡rcmp_cc
+ (
+s1
+, 
+s2
+, 
+__s2_Ën
+) \
+
+837 : 
+       `__¡rcmp_gc
+ (
+s1
+, 
+s2
+, 
+__s2_Ën
+)) \
+
+838 : 
+       `¡rcmp
+ (
+s1
+, 
+s2
+)))); })
+
+       )
+
+841 \ 1
+       #__¡rcmp_cc
+(
+s1
+, 
+s2
+, 
+l
+) \
+
+842 (
+       `__ex\8bnsiÚ__
+ ({ \12
+__»suÉ
+ = \
+
+843 (((cÚ¡ \1d\ 5*è(cÚ¡ \ 5*è(
+s1
+))[0] \
+
+844 - ((cÚ¡ \1d\ 5*è(cÚ¡ \ 5*)(
+s2
+))[0]); \
+
+845 ià(
+l
+ > 0 && 
+__»suÉ
+ == 0) \
+
+847 
+__»suÉ
+ = (((const \1d\ 5*) \
+
+848 (cÚ¡ \ 5*è(
+s1
+))[1] \
+
+850 (cÚ¡ \ 5*è(
+s2
+))[1]); \
+
+851 ià(
+l
+ > 1 && 
+__»suÉ
+ == 0) \
+
+853 
+__»suÉ
+ = \
+
+855 (cÚ¡ \ 5*è(
+s1
+))[2] \
+
+857 (cÚ¡ \ 5*è(
+s2
+))[2]); \
+
+858 ià(
+l
+ > 2 && 
+__»suÉ
+ == 0) \
+
+859 
+__»suÉ
+ = \
+
+861 (cÚ¡ \ 5*è(
+s1
+))[3] \
+
+863 (cÚ¡ \ 5*è(
+s2
+))[3]); \
+
+866 
+__»suÉ
+; }))
+
+       )
+
+868 \ 1
+       #__¡rcmp_cg
+(
+s1
+, 
+s2
+, 
+l1
+) \
+
+869 (
+       `__ex\8bnsiÚ__
+ ({ cڡ \1d\ 5*
+__s2
+ = \
+
+870 (cÚ¡ \1d\ 5*è(cÚ¡ \ 5*è(
+s2
+); \
+
+871 \12
+__»suÉ
+ = \
+
+872 (((cÚ¡ \1d\ 5*è(cÚ¡ \ 5*è(
+s1
+))[0] \
+
+873 - 
+__s2
+[0]); \
+
+874 ià(
+l1
+ > 0 && 
+__»suÉ
+ == 0) \
+
+876 
+__»suÉ
+ = (((const \1d\ 5*) \
+
+877 (cÚ¡ \ 5*è(
+s1
+))[1] - 
+__s2
+[1]); \
+
+878 ià(
+l1
+ > 1 && 
+__»suÉ
+ == 0) \
+
+880 
+__»suÉ
+ = (((const \1d\ 5*) \
+
+881 (cÚ¡ \ 5*è(
+s1
+))[2] - 
+__s2
+[2]); \
+
+882 ià(
+l1
+ > 2 && 
+__»suÉ
+ == 0) \
+
+883 
+__»suÉ
+ = (((const \1d\ 5*) \
+
+884 (cÚ¡ \ 5*è(
+s1
+))[3] \
+
+885 - 
+__s2
+[3]); \
+
+888 
+__»suÉ
+; }))
+
+       )
+
+890 \ 1
+       #__¡rcmp_gc
+(
+s1
+, 
+s2
+, 
+l2
+è(- 
+       `__¡rcmp_cg
+ (s2, s1,\862))
+
+       )
+
+895 #iâdeà
+_HAVE_STRING_ARCH_¡ºcmp
+
+
+896 \ 1
+       #¡ºcmp
+(
+s1
+, 
+s2
+, 
+n
+) \
+
+897 (
+       `__ex\8bnsiÚ__
+ (
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+n
+) \
+
+898 && ((
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+s1
+) \
+
+899 && 
+       `¡¾\92
+ (
+s1
+è< ((
+size_t
+è(
+n
+))) \
+
+900 || (
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+s2
+) \
+
+901 && 
+       `¡¾\92
+ (
+s2
+è< ((
+size_t
+è(
+n
+)))) \
+
+902 ? 
+       `¡rcmp
+ (
+s1
+, 
+s2
+è: 
+       `¡ºcmp
+ (s1, s2, 
+n
+)))
+
+       )
+
+908 #ià!
+def\9aed
+_HAVE_STRING_ARCH_¡rc¥n
+ || def\9aed 
+_FORCE_INLINES
+
+
+909 #iâdeà
+_HAVE_STRING_ARCH_¡rc¥n
+
+
+910 #ià
+__GNUC_PREREQ
+ (3, 2)
+
+911 \ 1
+       #¡rc¥n
+(
+s
+, 
+»jeù
+) \
+
+912 
+__ex\8bnsiÚ__
+ \
+
+913 ({ \ 5
+__r0
+, 
+__r1
+, 
+__r2
+; \
+
+914 (
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+»jeù
+è&& 
+       `__¡r\9ag2_1b±r_p
+ (reject) \
+
+915 ? ((
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+s
+è&& 
+       `__¡r\9ag2_1b±r_p
+ (s)) \
+
+916 ? 
+       `__bu\9et\9a_¡rc¥n
+ (
+s
+, 
+»jeù
+) \
+
+917 : ((
+__r0
+ = ((cÚ¡ \ 5*è(
+»jeù
+))[0], __r0 == '\0') \
+
+918 ? 
+       `¡¾\92
+ (
+s
+) \
+
+919 : ((
+__r1
+ = ((cÚ¡ \ 5*è(
+»jeù
+))[1], __r1 == '\0') \
+
+920 ? 
+       `__¡rc¥n_c1
+ (
+s
+, 
+__r0
+) \
+
+921 : ((
+__r2
+ = ((cÚ¡ \ 5*è(
+»jeù
+))[2], __r2 == '\0') \
+
+922 ? 
+       `__¡rc¥n_c2
+ (
+s
+, 
+__r0
+, 
+__r1
+) \
+
+923 : (((cÚ¡ \ 5*è(
+»jeù
+))[3] == '\0' \
+
+924 ? 
+       `__¡rc¥n_c3
+ (
+s
+, 
+__r0
+, 
+__r1
+, 
+__r2
+) \
+
+925 : 
+       `__bu\9et\9a_¡rc¥n
+ (
+s
+, 
+»jeù
+)))))) \
+
+926 : 
+       `__bu\9et\9a_¡rc¥n
+ (
+s
+, 
+»jeù
+)); })
+
+       )
+
+928 \ 1
+       #¡rc¥n
+(
+s
+, 
+»jeù
+) \
+
+929 
+__ex\8bnsiÚ__
+ \
+
+930 ({ \ 5
+__r0
+, 
+__r1
+, 
+__r2
+; \
+
+931 (
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+»jeù
+è&& 
+       `__¡r\9ag2_1b±r_p
+ (reject) \
+
+932 ? ((
+__r0
+ = ((cÚ¡ \ 5*è(
+»jeù
+))[0], __r0 == '\0') \
+
+933 ? 
+       `¡¾\92
+ (
+s
+) \
+
+934 : ((
+__r1
+ = ((cÚ¡ \ 5*è(
+»jeù
+))[1], __r1 == '\0') \
+
+935 ? 
+       `__¡rc¥n_c1
+ (
+s
+, 
+__r0
+) \
+
+936 : ((
+__r2
+ = ((cÚ¡ \ 5*è(
+»jeù
+))[2], __r2 == '\0') \
+
+937 ? 
+       `__¡rc¥n_c2
+ (
+s
+, 
+__r0
+, 
+__r1
+) \
+
+938 : (((cÚ¡ \ 5*è(
+»jeù
+))[3] == '\0' \
+
+939 ? 
+       `__¡rc¥n_c3
+ (
+s
+, 
+__r0
+, 
+__r1
+, 
+__r2
+) \
+
+940 : 
+       `¡rc¥n
+ (
+s
+, 
+»jeù
+))))) \
+
+941 : 
+       `¡rc¥n
+ (
+s
+, 
+»jeù
+)); })
+
+       )
+
+945 
+__STRING_INLINE
+size_t
+__¡rc¥n_c1
+ (cڡ \ 5*
+__s
+, \12
+__»jeù
+);
+
+946 
+__STRING_INLINE
+size_t
+
+
+947 
+       $__¡rc¥n_c1
+ (cڡ \ 5*
+__s
+, \12
+__»jeù
+)
+
+949 
+size_t
+__»suÉ
+ = 0;
+
+950 \1f
+__s
+[
+__»suÉ
+] !ð'\0' && __s[__»suÉ] !ð
+__»jeù
+)
+
+951 ++
+__»suÉ
+;
+
+952 \15 
+__»suÉ
+;
+
+953 
+       }
+}
+
+955 
+__STRING_INLINE
+size_t
+__¡rc¥n_c2
+ (cڡ \ 5*
+__s
+, \12
+__»jeù1
+,
+
+956 \12
+__»jeù2
+);
+
+957 
+__STRING_INLINE
+size_t
+
+
+958 
+       $__¡rc¥n_c2
+ (cڡ \ 5*
+__s
+, \12
+__»jeù1
+, \12
+__»jeù2
+)
+
+960 
+size_t
+__»suÉ
+ = 0;
+
+961 \1f
+__s
+[
+__»suÉ
+] !ð'\0' && __s[__»suÉ] !ð
+__»jeù1
+
+
+962 && 
+__s
+[
+__»suÉ
+] !ð
+__»jeù2
+)
+
+963 ++
+__»suÉ
+;
+
+964 \15 
+__»suÉ
+;
+
+965 
+       }
+}
+
+967 
+__STRING_INLINE
+size_t
+__¡rc¥n_c3
+ (cڡ \ 5*
+__s
+, \12
+__»jeù1
+,
+
+968 \12
+__»jeù2
+, \12
+__»jeù3
+);
+
+969 
+__STRING_INLINE
+size_t
+
+
+970 
+       $__¡rc¥n_c3
+ (cڡ \ 5*
+__s
+, \12
+__»jeù1
+, \12
+__»jeù2
+,
+
+971 \12
+__»jeù3
+)
+
+973 
+size_t
+__»suÉ
+ = 0;
+
+974 \1f
+__s
+[
+__»suÉ
+] !ð'\0' && __s[__»suÉ] !ð
+__»jeù1
+
+
+975 && 
+__s
+[
+__»suÉ
+] !ð
+__»jeù2
+ && __s[__»suÉ] !ð
+__»jeù3
+)
+
+976 ++
+__»suÉ
+;
+
+977 \15 
+__»suÉ
+;
+
+978 
+       }
+}
+
+984 #ià!
+def\9aed
+_HAVE_STRING_ARCH_¡r¥n
+ || def\9aed 
+_FORCE_INLINES
+
+
+985 #iâdeà
+_HAVE_STRING_ARCH_¡r¥n
+
+
+986 #ià
+__GNUC_PREREQ
+ (3, 2)
+
+987 \ 1
+       #¡r¥n
+(
+s
+, 
+acû±
+) \
+
+988 
+__ex\8bnsiÚ__
+ \
+
+989 ({ \ 5
+__a0
+, 
+__a1
+, 
+__a2
+; \
+
+990 (
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+acû±
+è&& 
+       `__¡r\9ag2_1b±r_p
+ (accept) \
+
+991 ? ((
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+s
+è&& 
+       `__¡r\9ag2_1b±r_p
+ (s)) \
+
+992 ? 
+       `__bu\9et\9a_¡r¥n
+ (
+s
+, 
+acû±
+) \
+
+993 : ((
+__a0
+ = ((cÚ¡ \ 5*è(
+acû±
+))[0], __a0 == '\0') \
+
+994 ? ((\1eè(
+s
+), (
+size_t
+) 0) \
+
+995 : ((
+__a1
+ = ((cÚ¡ \ 5*è(
+acû±
+))[1], __a1 == '\0') \
+
+996 ? 
+       `__¡r¥n_c1
+ (
+s
+, 
+__a0
+) \
+
+997 : ((
+__a2
+ = ((cÚ¡ \ 5*è(
+acû±
+))[2], __a2 == '\0') \
+
+998 ? 
+       `__¡r¥n_c2
+ (
+s
+, 
+__a0
+, 
+__a1
+) \
+
+999 : (((cÚ¡ \ 5*è(
+acû±
+))[3] == '\0' \
+
+1000 ? 
+       `__¡r¥n_c3
+ (
+s
+, 
+__a0
+, 
+__a1
+, 
+__a2
+) \
+
+1001 : 
+       `__bu\9et\9a_¡r¥n
+ (
+s
+, 
+acû±
+)))))) \
+
+1002 : 
+       `__bu\9et\9a_¡r¥n
+ (
+s
+, 
+acû±
+)); })
+
+       )
+
+1004 \ 1
+       #¡r¥n
+(
+s
+, 
+acû±
+) \
+
+1005 
+__ex\8bnsiÚ__
+ \
+
+1006 ({ \ 5
+__a0
+, 
+__a1
+, 
+__a2
+; \
+
+1007 (
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+acû±
+è&& 
+       `__¡r\9ag2_1b±r_p
+ (accept) \
+
+1008 ? ((
+__a0
+ = ((cÚ¡ \ 5*è(
+acû±
+))[0], __a0 == '\0') \
+
+1009 ? ((\1eè(
+s
+), (
+size_t
+) 0) \
+
+1010 : ((
+__a1
+ = ((cÚ¡ \ 5*è(
+acû±
+))[1], __a1 == '\0') \
+
+1011 ? 
+       `__¡r¥n_c1
+ (
+s
+, 
+__a0
+) \
+
+1012 : ((
+__a2
+ = ((cÚ¡ \ 5*è(
+acû±
+))[2], __a2 == '\0') \
+
+1013 ? 
+       `__¡r¥n_c2
+ (
+s
+, 
+__a0
+, 
+__a1
+) \
+
+1014 : (((cÚ¡ \ 5*è(
+acû±
+))[3] == '\0' \
+
+1015 ? 
+       `__¡r¥n_c3
+ (
+s
+, 
+__a0
+, 
+__a1
+, 
+__a2
+) \
+
+1016 : 
+       `¡r¥n
+ (
+s
+, 
+acû±
+))))) \
+
+1017 : 
+       `¡r¥n
+ (
+s
+, 
+acû±
+)); })
+
+       )
+
+1021 
+__STRING_INLINE
+size_t
+__¡r¥n_c1
+ (cڡ \ 5*
+__s
+, \12
+__acû±
+);
+
+1022 
+__STRING_INLINE
+size_t
+
+
+1023 
+       $__¡r¥n_c1
+ (cڡ \ 5*
+__s
+, \12
+__acû±
+)
+
+1025 
+size_t
+__»suÉ
+ = 0;
+
+1027 \1f
+__s
+[
+__»suÉ
+] =ð
+__acû±
+)
+
+1028 ++
+__»suÉ
+;
+
+1029 \15 
+__»suÉ
+;
+
+1030 
+       }
+}
+
+1032 
+__STRING_INLINE
+size_t
+__¡r¥n_c2
+ (cڡ \ 5*
+__s
+, \12
+__acû±1
+,
+
+1033 \12
+__acû±2
+);
+
+1034 
+__STRING_INLINE
+size_t
+
+
+1035 
+       $__¡r¥n_c2
+ (cڡ \ 5*
+__s
+, \12
+__acû±1
+, \12
+__acû±2
+)
+
+1037 
+size_t
+__»suÉ
+ = 0;
+
+1039 \1f
+__s
+[
+__»suÉ
+] =ð
+__acû±1
+ || __s[__»suÉ] =ð
+__acû±2
+)
+
+1040 ++
+__»suÉ
+;
+
+1041 \15 
+__»suÉ
+;
+
+1042 
+       }
+}
+
+1044 
+__STRING_INLINE
+size_t
+__¡r¥n_c3
+ (cڡ \ 5*
+__s
+, \12
+__acû±1
+,
+
+1045 \12
+__acû±2
+, \12
+__acû±3
+);
+
+1046 
+__STRING_INLINE
+size_t
+
+
+1047 
+       $__¡r¥n_c3
+ (cڡ \ 5*
+__s
+, \12
+__acû±1
+, \12
+__acû±2
+, \12
+__acû±3
+)
+
+1049 
+size_t
+__»suÉ
+ = 0;
+
+1051 \1f
+__s
+[
+__»suÉ
+] =ð
+__acû±1
+ || __s[__»suÉ] =ð
+__acû±2
+
+
+1052 || 
+__s
+[
+__»suÉ
+] =ð
+__acû±3
+)
+
+1053 ++
+__»suÉ
+;
+
+1054 \15 
+__»suÉ
+;
+
+1055 
+       }
+}
+
+1060 #ià!
+def\9aed
+_HAVE_STRING_ARCH_¡½brk
+ || def\9aed 
+_FORCE_INLINES
+
+
+1061 #iâdeà
+_HAVE_STRING_ARCH_¡½brk
+
+
+1062 #ià
+__GNUC_PREREQ
+ (3, 2)
+
+1063 \ 1
+       #¡½brk
+(
+s
+, 
+acû±
+) \
+
+1064 
+__ex\8bnsiÚ__
+ \
+
+1065 ({ \ 5
+__a0
+, 
+__a1
+, 
+__a2
+; \
+
+1066 (
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+acû±
+è&& 
+       `__¡r\9ag2_1b±r_p
+ (accept) \
+
+1067 ? ((
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+s
+è&& 
+       `__¡r\9ag2_1b±r_p
+ (s)) \
+
+1068 ? 
+       `__bu\9et\9a_¡½brk
+ (
+s
+, 
+acû±
+) \
+
+1069 : ((
+__a0
+ = ((cÚ¡ \ 5*è(
+acû±
+))[0], __a0 == '\0') \
+
+1070 ? ((\1eè(
+s
+), (\ 5
+NULL
+) \
+
+1071 : ((
+__a1
+ = ((cÚ¡ \ 5*è(
+acû±
+))[1], __a1 == '\0') \
+
+1072 ? 
+       `__bu\9et\9a_¡rchr
+ (
+s
+, 
+__a0
+) \
+
+1073 : ((
+__a2
+ = ((cÚ¡ \ 5*è(
+acû±
+))[2], __a2 == '\0') \
+
+1074 ? 
+       `__¡½brk_c2
+ (
+s
+, 
+__a0
+, 
+__a1
+) \
+
+1075 : (((cÚ¡ \ 5*è(
+acû±
+))[3] == '\0' \
+
+1076 ? 
+       `__¡½brk_c3
+ (
+s
+, 
+__a0
+, 
+__a1
+, 
+__a2
+) \
+
+1077 : 
+       `__bu\9et\9a_¡½brk
+ (
+s
+, 
+acû±
+)))))) \
+
+1078 : 
+       `__bu\9et\9a_¡½brk
+ (
+s
+, 
+acû±
+)); })
+
+       )
+
+1080 \ 1
+       #¡½brk
+(
+s
+, 
+acû±
+) \
+
+1081 
+__ex\8bnsiÚ__
+ \
+
+1082 ({ \ 5
+__a0
+, 
+__a1
+, 
+__a2
+; \
+
+1083 (
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+acû±
+è&& 
+       `__¡r\9ag2_1b±r_p
+ (accept) \
+
+1084 ? ((
+__a0
+ = ((cÚ¡ \ 5*è(
+acû±
+))[0], __a0 == '\0') \
+
+1085 ? ((\1eè(
+s
+), (\ 5
+NULL
+) \
+
+1086 : ((
+__a1
+ = ((cÚ¡ \ 5*è(
+acû±
+))[1], __a1 == '\0') \
+
+1087 ? 
+       `¡rchr
+ (
+s
+, 
+__a0
+) \
+
+1088 : ((
+__a2
+ = ((cÚ¡ \ 5*è(
+acû±
+))[2], __a2 == '\0') \
+
+1089 ? 
+       `__¡½brk_c2
+ (
+s
+, 
+__a0
+, 
+__a1
+) \
+
+1090 : (((cÚ¡ \ 5*è(
+acû±
+))[3] == '\0' \
+
+1091 ? 
+       `__¡½brk_c3
+ (
+s
+, 
+__a0
+, 
+__a1
+, 
+__a2
+) \
+
+1092 : 
+       `¡½brk
+ (
+s
+, 
+acû±
+))))) \
+
+1093 : 
+       `¡½brk
+ (
+s
+, 
+acû±
+)); })
+
+       )
+
+1097 
+__STRING_INLINE
\ 5*
+__¡½brk_c2
+ (cڡ \ 5*
+__s
+, \12
+__acû±1
+,
+
+1098 \12
+__acû±2
+);
+
+1099 
+__STRING_INLINE
\ 5*
+
+1100 
+       $__¡½brk_c2
+ (cڡ \ 5*
+__s
+, \12
+__acû±1
+, \12
+__acû±2
+)
+
+1103 \1f*
+__s
+ !ð'\0' && *__ !ð
+__acû±1
+ && *__ !ð
+__acû±2
+)
+
+1104 ++
+__s
+;
+
+1105 \15 *
+__s
+ =ð'\0' ? 
+NULL
+ : (\ 5*è(
+size_t
+) __s;
+
+1106 
+       }
+}
+
+1108 
+__STRING_INLINE
\ 5*
+__¡½brk_c3
+ (cڡ \ 5*
+__s
+, \12
+__acû±1
+,
+
+1109 \12
+__acû±2
+, \12
+__acû±3
+);
+
+1110 
+__STRING_INLINE
\ 5*
+
+1111 
+       $__¡½brk_c3
+ (cڡ \ 5*
+__s
+, \12
+__acû±1
+, \12
+__acû±2
+, \12
+__acû±3
+)
+
+1114 \1f*
+__s
+ !ð'\0' && *__ !ð
+__acû±1
+ && *__ !ð
+__acû±2
+
+
+1115 && *
+__s
+ !ð
+__acû±3
+)
+
+1116 ++
+__s
+;
+
+1117 \15 *
+__s
+ =ð'\0' ? 
+NULL
+ : (\ 5*è(
+size_t
+) __s;
+
+1118 
+       }
+}
+
+1124 #ià!
+def\9aed
+_HAVE_STRING_ARCH_¡r¡r
+ && !
+__GNUC_PREREQ
+ (2, 97)
+
+1125 \ 1
+       #¡r¡r
+(
+hay¡ack
+, 
+ÃedË
+) \
+
+1126 (
+       `__ex\8bnsiÚ__
+ (
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+ÃedË
+è&& 
+       `__¡r\9ag2_1b±r_p
+ (needle) \
+
+1127 ? (((cÚ¡ \ 5*è(
+ÃedË
+))[0] == '\0' \
+
+1128 ? (\ 5*è(
+size_t
+è(
+hay¡ack
+) \
+
+1129 : (((cÚ¡ \ 5*è(
+ÃedË
+))[1] == '\0' \
+
+1130 ? 
+       `¡rchr
+ (
+hay¡ack
+, \
+
+1131 ((cÚ¡ \ 5*è(
+ÃedË
+))[0]) \
+
+1132 : 
+       `¡r¡r
+ (
+hay¡ack
+, 
+ÃedË
+))) \
+
+1133 : 
+       `¡r¡r
+ (
+hay¡ack
+, 
+ÃedË
+)))
+
+       )
+
+1137 #ià!
+def\9aed
+_HAVE_STRING_ARCH_¡¹ok_r
+ || def\9aed 
+_FORCE_INLINES
+
+
+1138 #iâdeà
+_HAVE_STRING_ARCH_¡¹ok_r
+
+
+1139 \ 1
+       #__¡¹ok_r
+(
+s
+, 
+£p
+, 
+Ãx\8d
+) \
+
+1140 (
+       `__ex\8bnsiÚ__
+ (
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+£p
+è&& 
+       `__¡r\9ag2_1b±r_p
+ (sep) \
+
+1141 && ((cÚ¡ \ 5*è(
+£p
+))[0] != '\0' \
+
+1142 && ((cÚ¡ \ 5*è(
+£p
+))[1] == '\0' \
+
+1143 ? 
+       `__¡¹ok_r_1c
+ (
+s
+, ((cÚ¡ \ 5*è(
+£p
+))[0], 
+Ãx\8d
+) \
+
+1144 : 
+       `__¡¹ok_r
+ (
+s
+, 
+£p
+, 
+Ãx\8d
+)))
+
+       )
+
+1147 
+__STRING_INLINE
\ 5*
+__¡¹ok_r_1c
+ (\ 5*
+__s
+, \ 5
+__£p
+, \ 5**
+__Ãx\8d
+);
+
+1148 
+__STRING_INLINE
\ 5*
+
+1149 
+       $__¡¹ok_r_1c
+ (\ 5*
+__s
+, \ 5
+__£p
+, \ 5**
+__Ãx\8d
+)
+
+1151 \ 5*
+__»suÉ
+;
+
+1152 ià(
+__s
+ =ð
+NULL
+)
+
+1153 
+__s
+ = *
+__Ãx\8d
+;
+
+1154 \1f*
+__s
+ =ð
+__£p
+)
+
+1155 ++
+__s
+;
+
+1156 
+__»suÉ
+ = 
+NULL
+;
+
+1157 ià(*
+__s
+ != '\0')
+
+1159 
+__»suÉ
+ = 
+__s
+++;
+
+1160 \1f*
+__s
+ != '\0')
+
+1161 ià(*
+__s
+++ =ð
+__£p
+)
+
+1163 
+__s
+[-1] = '\0';
+
+1167 *
+__Ãx\8d
+ = 
+__s
+;
+
+1168 \15 
+__»suÉ
+;
+
+1169 
+       }
+}
+
+1170 #ifdeà
+__USE_POSIX
+
+
+1171 \ 1
+       #¡¹ok_r
+(
+s
+, 
+£p
+, 
+Ãx\8d
+       `__¡¹ok_r
+ (s, s\95,\82ex\8d)
+
+       )
+
+1176 #ià!
+def\9aed
+_HAVE_STRING_ARCH_¡r£p
+ || def\9aed 
+_FORCE_INLINES
+
+
+1177 #iâdeà
+_HAVE_STRING_ARCH_¡r£p
+
+
+1179 \r\ 5*
+__¡r£p_g
+ (\ 5**
+__¡r\9agp
+, cڡ \ 5*
+__d\96im
+);
+
+1180 \ 1
+       #__¡r£p
+(
+s
+, 
+»jeù
+) \
+
+1181 
+__ex\8bnsiÚ__
+ \
+
+1182 ({ \ 5
+__r0
+, 
+__r1
+, 
+__r2
+; \
+
+1183 (
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+»jeù
+è&& 
+       `__¡r\9ag2_1b±r_p
+ (reject) \
+
+1184 && (
+__r0
+ = ((cÚ¡ \ 5*è(
+»jeù
+))[0], \
+
+1185 ((cÚ¡ \ 5*è(
+»jeù
+))[0] != '\0') \
+
+1186 ? ((
+__r1
+ = ((cÚ¡ \ 5*è(
+»jeù
+))[1], \
+
+1187 ((cÚ¡ \ 5*è(
+»jeù
+))[1] == '\0') \
+
+1188 ? 
+       `__¡r£p_1c
+ (
+s
+, 
+__r0
+) \
+
+1189 : ((
+__r2
+ = ((cÚ¡ \ 5*è(
+»jeù
+))[2], __r2 == '\0') \
+
+1190 ? 
+       `__¡r£p_2c
+ (
+s
+, 
+__r0
+, 
+__r1
+) \
+
+1191 : (((cÚ¡ \ 5*è(
+»jeù
+))[3] == '\0' \
+
+1192 ? 
+       `__¡r£p_3c
+ (
+s
+, 
+__r0
+, 
+__r1
+, 
+__r2
+) \
+
+1193 : 
+       `__¡r£p_g
+ (
+s
+, 
+»jeù
+)))) \
+
+1194 : 
+       `__¡r£p_g
+ (
+s
+, 
+»jeù
+)); })
+
+       )
+
+1197 
+__STRING_INLINE
\ 5*
+__¡r£p_1c
+ (\ 5**
+__s
+, \ 5
+__»jeù
+);
+
+1198 
+__STRING_INLINE
\ 5*
+
+1199 
+       $__¡r£p_1c
+ (\ 5**
+__s
+, \ 5
+__»jeù
+)
+
+1201 \ 5*
+__»tv®
+ = *
+__s
+;
+
+1202 ià(
+__»tv®
+ !ð
+NULL
+ && (*
+__s
+ = 
+       `¡rchr
+ (__»tv®, 
+__»jeù
+)) != NULL)
+
+1203 *(*
+__s
+)++ = '\0';
+
+1204 \15 
+__»tv®
+;
+
+1205 
+       }
+}
+
+1207 
+__STRING_INLINE
\ 5*
+__¡r£p_2c
+ (\ 5**
+__s
+, \ 5
+__»jeù1
+, \ 5
+__»jeù2
+);
+
+1208 
+__STRING_INLINE
\ 5*
+
+1209 
+       $__¡r£p_2c
+ (\ 5**
+__s
+, \ 5
+__»jeù1
+, \ 5
+__»jeù2
+)
+
+1211 \ 5*
+__»tv®
+ = *
+__s
+;
+
+1212 ià(
+__»tv®
+ !ð
+NULL
+)
+
+1214 \ 5*
+__ý
+ = 
+__»tv®
+;
+
+1217 ià(*
+__ý
+ == '\0')
+
+1219 
+__ý
+ = 
+NULL
+;
+
+1222 ià(*
+__ý
+ =ð
+__»jeù1
+ || *__ý =ð
+__»jeù2
+)
+
+1224 *
+__ý
+++ = '\0';
+
+1227 ++
+__ý
+;
+
+1229 *
+__s
+ = 
+__ý
+;
+
+1231 \15 
+__»tv®
+;
+
+1232 
+       }
+}
+
+1234 
+__STRING_INLINE
\ 5*
+__¡r£p_3c
+ (\ 5**
+__s
+, \ 5
+__»jeù1
+, \ 5
+__»jeù2
+,
+
+1235 \ 5
+__»jeù3
+);
+
+1236 
+__STRING_INLINE
\ 5*
+
+1237 
+       $__¡r£p_3c
+ (\ 5**
+__s
+, \ 5
+__»jeù1
+, \ 5
+__»jeù2
+, \ 5
+__»jeù3
+)
+
+1239 \ 5*
+__»tv®
+ = *
+__s
+;
+
+1240 ià(
+__»tv®
+ !ð
+NULL
+)
+
+1242 \ 5*
+__ý
+ = 
+__»tv®
+;
+
+1245 ià(*
+__ý
+ == '\0')
+
+1247 
+__ý
+ = 
+NULL
+;
+
+1250 ià(*
+__ý
+ =ð
+__»jeù1
+ || *__ý =ð
+__»jeù2
+ || *__ý =ð
+__»jeù3
+)
+
+1252 *
+__ý
+++ = '\0';
+
+1255 ++
+__ý
+;
+
+1257 *
+__s
+ = 
+__ý
+;
+
+1259 \15 
+__»tv®
+;
+
+1260 
+       }
+}
+
+1261 #ifdeà
+__USE_MISC
+
+
+1262 \ 1
+       #¡r£p
+(
+s
+, 
+»jeù
+       `__¡r£p
+ (s,\84ejeù)
+
+       )
+
+1269 #ifdeà
+__USE_MISC
+
+
+1271 #ià!
+def\9aed
+_HAVE_STRING_ARCH_¡rdup
+ || !def\9aed 
+_HAVE_STRING_ARCH_¡ºdup
+
+
+1272 \ 1
+       #__Ãed_m®loc_ªd_ÿÎoc
+
+
+       )
+
+1273 \ 2
+       ~<¡dlib.h
+>
+
+1276 #iâdeà
+_HAVE_STRING_ARCH_¡rdup
+
+
+1278 \r\ 5*
+       $__¡rdup
+ (cڡ \ 5*
+__¡r\9ag
+__THROW
+__©\8cibu\8b_m®loc__
+;
+
+1279 \ 1
+       #__¡rdup
+(
+s
+) \
+
+1280 (
+       `__ex\8bnsiÚ__
+ (
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+s
+è&& 
+       `__¡r\9ag2_1b±r_p
+ (s) \
+
+1281 ? (((cÚ¡ \ 5*è(
+s
+))[0] == '\0' \
+
+1282 ? (\ 5
+       `ÿÎoc
+ ((
+size_t
+) 1, (size_t) 1) \
+
+1283 : ({ 
+size_t
+__Ën
+ = 
+       `¡¾\92
+ (
+s
+) + 1; \
+
+1284 \ 5*
+__»tv®
+ = (\ 5
+       `m®loc
+ (
+__Ën
+); \
+
+1285 ià(
+__»tv®
+ !ð
+NULL
+) \
+
+1286 
+__»tv®
+ = (\ 5
+       `memýy
+ (__»tv®, 
+s
+, 
+__Ën
+); \
+
+1287 
+__»tv®
+; 
+       }
+})) \
+
+1288 : 
+       `__¡rdup
+ (
+s
+)))
+
+       )
+
+1290 #ià
+def\9aed
+__USE_XOPEN_EXTENDED
+ || def\9aed 
+__USE_XOPEN2K8
+
+
+1291 \ 1
+       #¡rdup
+(
+s
+       `__¡rdup
+ (s)
+
+       )
+
+1295 #iâdeà
+_HAVE_STRING_ARCH_¡ºdup
+
+
+1297 \r\ 5*
+       $__¡ºdup
+ (cڡ \ 5*
+__¡r\9ag
+, 
+size_t
+__n
+)
+
+1298 
+__THROW
+__©\8cibu\8b_m®loc__
+;
+
+1299 \ 1
+       #__¡ºdup
+(
+s
+, 
+n
+) \
+
+1300 (
+       `__ex\8bnsiÚ__
+ (
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+s
+è&& 
+       `__¡r\9ag2_1b±r_p
+ (s) \
+
+1301 ? (((cÚ¡ \ 5*è(
+s
+))[0] == '\0' \
+
+1302 ? (\ 5
+       `ÿÎoc
+ ((
+size_t
+) 1, (size_t) 1) \
+
+1303 : ({ 
+size_t
+__Ën
+ = 
+       `¡¾\92
+ (
+s
+) + 1; \
+
+1304 
+size_t
+__n
+ = (
+n
+); \
+
+1305 \ 5*
+__»tv®
+; \
+
+1306 ià(
+__n
+ < 
+__Ën
+) \
+
+1307 
+__Ën
+ = 
+__n
+ + 1; \
+
+1308 
+__»tv®
+ = (\ 5
+       `m®loc
+ (
+__Ën
+); \
+
+1309 ià(
+__»tv®
+ !ð
+NULL
+) \
+
+1311 
+__»tv®
+[
+__Ën
+ - 1] = '\0'; \
+
+1312 
+__»tv®
+ = (\ 5
+       `memýy
+ (__»tv®, 
+s
+, \
+
+1313 
+__Ën
+ - 1); \
+
+1315 
+__»tv®
+; 
+       }
+})) \
+
+1316 : 
+       `__¡ºdup
+ (
+s
+, 
+n
+)))
+
+       )
+
+1318 #ifdeà
+__USE_XOPEN2K8
+
+
+1319 \ 1
+       #¡ºdup
+(
+s
+, 
+n
+       `__¡ºdup
+ (s,\82)
+
+       )
+
+1325 #iâdeà
+_FORCE_INLINES
+
+
+1326 #undeà
+__STRING_INLINE
+
+
+       @/usr/include/bits/string3.h
+
+18 #iâdeà
+_STRING_H
+
+
+22 #ià!
+__GNUC_PREREQ
+ (5,0)
+
+23 
+__w¬ndeþ
+ (
+__w¬n_mem£t_z\94o_Ën
+,
+
+27 #iâdeà
+__ýlu¥lus
+
+
+31 #undeà
+memýy
+
+
+32 #undeà
+memmove
+
+
+33 #undeà
+mem£t
+
+
+34 #undeà
+¡rÿt
+
+
+35 #undeà
+¡rýy
+
+
+36 #undeà
+¡ºÿt
+
+
+37 #undeà
+¡ºýy
+
+
+38 #ifdeà
+__USE_GNU
+
+
+39 #undeà
+mempýy
+
+
+40 #undeà
+¡pýy
+
+
+42 #ifdeà
+__USE_MISC
+
+
+43 #undeà
+bcÝy
+
+
+44 #undeà
+bz\94o
+
+
+49 
+__fÜtify_funùiÚ
\1e*
+
+50 
+__NTH
+ (
+       $memýy
+ (\1e*
+__»¡riù
+__de¡
+, cÚ¡ \1e*__»¡riù 
+__¤c
+,
+
+51 
+size_t
+__Ën
+))
+
+53 \15 
+       `__bu\9et\9a___memýy_chk
+ (
+__de¡
+, 
+__¤c
+, 
+__Ën
+, 
+       `__bos0
+ (__dest));
+
+54 
+       }
+}
+
+56 
+__fÜtify_funùiÚ
\1e*
+
+57 
+__NTH
+ (
+       $memmove
+ (\1e*
+__de¡
+, cڡ \1e*
+__¤c
+, 
+size_t
+__Ën
+))
+
+59 \15 
+       `__bu\9et\9a___memmove_chk
+ (
+__de¡
+, 
+__¤c
+, 
+__Ën
+, 
+       `__bos0
+ (__dest));
+
+60 
+       }
+}
+
+62 #ifdeà
+__USE_GNU
+
+
+63 
+__fÜtify_funùiÚ
\1e*
+
+64 
+__NTH
+ (
+       $mempýy
+ (\1e*
+__»¡riù
+__de¡
+, cÚ¡ \1e*__»¡riù 
+__¤c
+,
+
+65 
+size_t
+__Ën
+))
+
+67 \15 
+       `__bu\9et\9a___mempýy_chk
+ (
+__de¡
+, 
+__¤c
+, 
+__Ën
+, 
+       `__bos0
+ (__dest));
+
+68 
+       }
+}
+
+77 
+__fÜtify_funùiÚ
\1e*
+
+78 
+__NTH
+ (
+       $mem£t
+ (\1e*
+__de¡
+, \12
+__ch
+, 
+size_t
+__Ën
+))
+
+82 #ià!
+       `__GNUC_PREREQ
+ (5,0)
+
+83 ià(
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+__Ën
+) && __len == 0
+
+84 && (!
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+__ch
+) || __ch != 0))
+
+86 
+       `__w¬n_mem£t_z\94o_Ën
+ ();
+
+87 \15 
+__de¡
+;
+
+90 \15 
+       `__bu\9et\9a___mem£t_chk
+ (
+__de¡
+, 
+__ch
+, 
+__Ën
+, 
+       `__bos0
+ (__dest));
+
+91 
+       }
+}
+
+93 #ifdeà
+__USE_MISC
+
+
+94 
+__fÜtify_funùiÚ
\1e
+
+95 
+__NTH
+ (
+       $bcÝy
+ (cڡ \1e*
+__¤c
+, \1e*
+__de¡
+, 
+size_t
+__Ën
+))
+
+97 (\1eè
+       `__bu\9et\9a___memmove_chk
+ (
+__de¡
+, 
+__¤c
+, 
+__Ën
+, 
+       `__bos0
+ (__dest));
+
+98 
+       }
+}
+
+100 
+__fÜtify_funùiÚ
\1e
+
+101 
+__NTH
+ (
+       $bz\94o
+ (\1e*
+__de¡
+, 
+size_t
+__Ën
+))
+
+103 (\1eè
+       `__bu\9et\9a___mem£t_chk
+ (
+__de¡
+, '\0', 
+__Ën
+, 
+       `__bos0
+ (__dest));
+
+104 
+       }
+}
+
+107 
+__fÜtify_funùiÚ
\ 5*
+
+108 
+__NTH
+ (
+       $¡rýy
+ (\ 5*
+__»¡riù
+__de¡
+, cÚ¡ \ 5*__»¡riù 
+__¤c
+))
+
+110 \15 
+       `__bu\9et\9a___¡rýy_chk
+ (
+__de¡
+, 
+__¤c
+, 
+       `__bos
+ (__dest));
+
+111 
+       }
+}
+
+113 #ifdeà
+__USE_GNU
+
+
+114 
+__fÜtify_funùiÚ
\ 5*
+
+115 
+__NTH
+ (
+       $¡pýy
+ (\ 5*
+__»¡riù
+__de¡
+, cÚ¡ \ 5*__»¡riù 
+__¤c
+))
+
+117 \15 
+       `__bu\9et\9a___¡pýy_chk
+ (
+__de¡
+, 
+__¤c
+, 
+       `__bos
+ (__dest));
+
+118 
+       }
+}
+
+122 
+__fÜtify_funùiÚ
\ 5*
+
+123 
+__NTH
+ (
+       $¡ºýy
+ (\ 5*
+__»¡riù
+__de¡
+, cÚ¡ \ 5*__»¡riù 
+__¤c
+,
+
+124 
+size_t
+__Ën
+))
+
+126 \15 
+       `__bu\9et\9a___¡ºýy_chk
+ (
+__de¡
+, 
+__¤c
+, 
+__Ën
+, 
+       `__bos
+ (__dest));
+
+127 
+       }
+}
+
+130 \r\ 5*
+       $__¡²ýy_chk
+ (\ 5*
+__de¡
+, cڡ \ 5*
+__¤c
+, 
+size_t
+__n
+,
+
+131 
+size_t
+__de¡Ën
+__THROW
+;
+
+132 \r\ 5*
+       `__REDIRECT_NTH
+ (
+__¡²ýy_®\9fs
+, (\ 5*
+__de¡
+, cڡ \ 5*
+__¤c
+,
+
+133 
+size_t
+__n
+), 
+¡²ýy
+);
+
+135 
+__fÜtify_funùiÚ
\ 5*
+
+136 
+       `__NTH
+ (
+       $¡²ýy
+ (\ 5*
+__de¡
+, cڡ \ 5*
+__¤c
+, 
+size_t
+__n
+))
+
+138 ià(
+       `__bos
+ (
+__de¡
+è!ð(
+size_t
+) -1
+
+139 && (!
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+__n
+è|| __À> 
+       `__bos
+ (
+__de¡
+)))
+
+140 \15 
+       `__¡²ýy_chk
+ (
+__de¡
+, 
+__¤c
+, 
+__n
+, 
+       `__bos
+ (__dest));
+
+141 \15 
+       `__¡²ýy_®\9fs
+ (
+__de¡
+, 
+__¤c
+, 
+__n
+);
+
+142 
+       }
+}
+
+145 
+__fÜtify_funùiÚ
\ 5*
+
+146 
+__NTH
+ (
+       $¡rÿt
+ (\ 5*
+__»¡riù
+__de¡
+, cÚ¡ \ 5*__»¡riù 
+__¤c
+))
+
+148 \15 
+       `__bu\9et\9a___¡rÿt_chk
+ (
+__de¡
+, 
+__¤c
+, 
+       `__bos
+ (__dest));
+
+149 
+       }
+}
+
+152 
+__fÜtify_funùiÚ
\ 5*
+
+153 
+__NTH
+ (
+       $¡ºÿt
+ (\ 5*
+__»¡riù
+__de¡
+, cÚ¡ \ 5*__»¡riù 
+__¤c
+,
+
+154 
+size_t
+__Ën
+))
+
+156 \15 
+       `__bu\9et\9a___¡ºÿt_chk
+ (
+__de¡
+, 
+__¤c
+, 
+__Ën
+, 
+       `__bos
+ (__dest));
+
+157 
+       }
+}
+
+       @/usr/include/bits/sys_errlist.h
+
+19 #iâdeà
+_STDIO_H
+
+
+25 #ifdeà 
+__USE_MISC
+
+
+26 \r\12
+sys_ü
+;
+
+27 \rcڡ \ 5*cڡ 
+sys_\94¾i¡
+[];
+
+29 #ifdeà 
+__USE_GNU
+
+
+30 \r\12
+_sys_ü
+;
+
+31 \rcڡ \ 5*cڡ 
+_sys_\94¾i¡
+[];
+
+       @/usr/include/bits/time.h
+
+23 #ià
+def\9aed
+__Ãed_timev®
+ || def\9aed 
+__USE_GNU
+
+
+24 #iâdeà
+_STRUCT_TIMEVAL
+
+
+25 \ 1
+       #_STRUCT_TIMEVAL
+ 1
+
+       )
+
+26 \ 2
+       ~<b\99s/ty³s.h
+>
+
+30 \19
+       stimev®
+
+
+32 
+__time_t
+       mtv_£c
+;
+
+33 
+__su£cÚds_t
+       mtv_u£c
+;
+
+38 #iâdeà
+__Ãed_timev®
+
+
+39 #iâdeà
+_BITS_TIME_H
+
+
+40 \ 1
+       #_BITS_TIME_H
+ 1
+
+       )
+
+48 \ 1
+       #CLOCKS_PER_SEC
+ ((
+þock_t
+è1000000)
+
+       )
+
+50 #ià(!
+def\9aed
+__STRICT_ANSI__
+ || def\9aed 
+__USE_POSIX
+) \
+
+51 && !
+def\9aed
+       g__USE_XOPEN2K
+
+
+54 \ 2
+       ~<b\99s/ty³s.h
+>
+
+55 \r\13\12
+__syscÚf
+ (\12);
+
+56 \ 1
+       #CLK_TCK
+ ((
+__þock_t
+       `__syscÚf
+ (2)è
+
+       )
+
+59 #ifdeà
+__USE_POSIX199309
+
+
+61 \ 1
+       #CLOCK_REALTIME
+ 0
+
+       )
+
+63 \ 1
+       #CLOCK_MONOTONIC
+ 1
+
+       )
+
+65 \ 1
+       #CLOCK_PROCESS_CPUTIME_ID
+ 2
+
+       )
+
+67 \ 1
+       #CLOCK_THREAD_CPUTIME_ID
+ 3
+
+       )
+
+69 \ 1
+       #CLOCK_MONOTONIC_RAW
+ 4
+
+       )
+
+71 \ 1
+       #CLOCK_REALTIME_COARSE
+ 5
+
+       )
+
+73 \ 1
+       #CLOCK_MONOTONIC_COARSE
+ 6
+
+       )
+
+75 \ 1
+       #CLOCK_BOOTTIME
+ 7
+
+       )
+
+77 \ 1
+       #CLOCK_REALTIME_ALARM
+ 8
+
+       )
+
+79 \ 1
+       #CLOCK_BOOTTIME_ALARM
+ 9
+
+       )
+
+81 \ 1
+       #CLOCK_TAI
+ 11
+
+       )
+
+84 \ 1
+       #TIMER_ABSTIME
+ 1
+
+       )
+
+87 #ifdeà
+__USE_GNU
+
+
+88 \ 2
+       ~<b\99s/timex.h
+>
+
+90 
+__BEGIN_DECLS
+
+
+93 \r\12
+       $þock_adjtime
+ (
+__þockid_t
+__þock_id
+, \19
+timex
+ *
+__utx
+__THROW
+;
+
+95 
+__END_DECLS
+
+
+101 #undeà
+__Ãed_timev®
+
+
+       @/usr/include/bits/types.h
+
+23 #iâdef 
+_BITS_TYPES_H
+
+
+24 \ 1
+       #_BITS_TYPES_H
+ 1
+
+       )
+
+26 \ 2
+       ~<ã©u»s.h
+>
+
+27 \ 2
+       ~<b\99s/wÜdsize.h
+>
+
+30 \e\1d\ 5
+       t__u_ch¬
+;
+
+31 \e\1d\16\12
+       t__u_shÜt
+;
+
+32 \e\1d\12
+       t__u_\9at
+;
+
+33 \e\1d\13\12
+       t__u_lÚg
+;
+
+36 \esigÃd \ 5
+       t__\9at8_t
+;
+
+37 \e\1d\ 5
+       t__u\9at8_t
+;
+
+38 \esigÃd \16\12
+       t__\9at16_t
+;
+
+39 \e\1d\16\12
+       t__u\9at16_t
+;
+
+40 \esigÃd \12
+       t__\9at32_t
+;
+
+41 \e\1d\12
+       t__u\9at32_t
+;
+
+42 #ià
+__WORDSIZE
+ == 64
+
+43 \esigÃd \13\12
+       t__\9at64_t
+;
+
+44 \e\1d\13\12
+       t__u\9at64_t
+;
+
+46 
+__ex\8bnsiÚ__
\esigÃd \13\13\12
+       t__\9at64_t
+;
+
+47 
+__ex\8bnsiÚ__
\e\1d\13\13\12
+       t__u\9at64_t
+;
+
+51 #ià
+__WORDSIZE
+ == 64
+
+52 \e\13\12
+       t__quad_t
+;
+
+53 \e\1d\13\12
+       t__u_quad_t
+;
+
+55 
+__ex\8bnsiÚ__
\e\13\13\12
+       t__quad_t
+;
+
+56 
+__ex\8bnsiÚ__
\e\1d\13\13\12
+       t__u_quad_t
+;
+
+89 \ 1
+       #__S16_TYPE
\16\12
+
+       )
+
+90 \ 1
+       #__U16_TYPE
\1d\16\12
+
+       )
+
+91 \ 1
+       #__S32_TYPE
\12
+
+       )
+
+92 \ 1
+       #__U32_TYPE
\1d\12
+
+       )
+
+93 \ 1
+       #__SLONGWORD_TYPE
\13\12
+
+       )
+
+94 \ 1
+       #__ULONGWORD_TYPE
\1d\13\12
+
+       )
+
+95 #ià
+__WORDSIZE
+ == 32
+
+96 \ 1
+       #__SQUAD_TYPE
+__quad_t
+
+
+       )
+
+97 \ 1
+       #__UQUAD_TYPE
+__u_quad_t
+
+
+       )
+
+98 \ 1
+       #__SWORD_TYPE
\12
+
+       )
+
+99 \ 1
+       #__UWORD_TYPE
\1d\12
+
+       )
+
+100 \ 1
+       #__SLONG32_TYPE
\13\12
+
+       )
+
+101 \ 1
+       #__ULONG32_TYPE
\1d\13\12
+
+       )
+
+102 \ 1
+       #__S64_TYPE
+__quad_t
+
+
+       )
+
+103 \ 1
+       #__U64_TYPE
+__u_quad_t
+
+
+       )
+
+106 \ 1
+       #__STD_TYPE
+__ex\8bnsiÚ__
\e
+
+       )
+
+107 #\96
+__WORDSIZE
+ == 64
+
+108 \ 1
+       t__SQUAD_TYPE
\13\12
+
+       )
+
+109 \ 1
+       t__UQUAD_TYPE
\1d\13\12
+
+       )
+
+110 \ 1
+       t__SWORD_TYPE
\13\12
+
+       )
+
+111 \ 1
+       t__UWORD_TYPE
\1d\13\12
+
+       )
+
+112 \ 1
+       t__SLONG32_TYPE
\12
+
+       )
+
+113 \ 1
+       t__ULONG32_TYPE
\1d\12
+
+       )
+
+114 \ 1
+       t__S64_TYPE
\13\12
+
+       )
+
+115 \ 1
+       t__U64_TYPE
\1d\13\12
+
+       )
+
+117 \ 1
+       t__STD_TYPE
\e
+
+       )
+
+121 \ 2
+       ~<b\99s/ty³sizes.h
+>
+
+124 
+__STD_TYPE
+       t__DEV_T_TYPE
+       t__dev_t
+;
+
+125 
+__STD_TYPE
+__UID_T_TYPE
+       g__uid_t
+;
+
+126 
+__STD_TYPE
+__GID_T_TYPE
+       g__gid_t
+;
+
+127 
+__STD_TYPE
+__INO_T_TYPE
+       g__\9ao_t
+;
+
+128 
+__STD_TYPE
+__INO64_T_TYPE
+       g__\9ao64_t
+;
+
+129 
+__STD_TYPE
+__MODE_T_TYPE
+       g__mode_t
+;
+
+130 
+__STD_TYPE
+__NLINK_T_TYPE
+       g__ƚk_t
+;
+
+131 
+__STD_TYPE
+__OFF_T_TYPE
+       g__off_t
+;
+
+132 
+__STD_TYPE
+__OFF64_T_TYPE
+       g__off64_t
+;
+
+133 
+__STD_TYPE
+__PID_T_TYPE
+       g__pid_t
+;
+
+134 
+__STD_TYPE
+__FSID_T_TYPE
+       g__fsid_t
+;
+
+135 
+__STD_TYPE
+__CLOCK_T_TYPE
+       g__þock_t
+;
+
+136 
+__STD_TYPE
+__RLIM_T_TYPE
+       g__¾im_t
+;
+
+137 
+__STD_TYPE
+__RLIM64_T_TYPE
+       g__¾im64_t
+;
+
+138 
+__STD_TYPE
+__ID_T_TYPE
+       g__id_t
+;
+
+139 
+__STD_TYPE
+__TIME_T_TYPE
+       g__time_t
+;
+
+140 
+__STD_TYPE
+__USECONDS_T_TYPE
+       g__u£cÚds_t
+;
+
+141 
+__STD_TYPE
+__SUSECONDS_T_TYPE
+       g__su£cÚds_t
+;
+
+143 
+__STD_TYPE
+__DADDR_T_TYPE
+       g__daddr_t
+;
+
+144 
+__STD_TYPE
+__KEY_T_TYPE
+       g__key_t
+;
+
+147 
+__STD_TYPE
+__CLOCKID_T_TYPE
+       g__þockid_t
+;
+
+150 
+__STD_TYPE
+__TIMER_T_TYPE
+       g__tim\94_t
+;
+
+153 
+__STD_TYPE
+__BLKSIZE_T_TYPE
+       g__blksize_t
+;
+
+158 
+__STD_TYPE
+__BLKCNT_T_TYPE
+       g__blkút_t
+;
+
+159 
+__STD_TYPE
+__BLKCNT64_T_TYPE
+       g__blkút64_t
+;
+
+162 
+__STD_TYPE
+__FSBLKCNT_T_TYPE
+       g__fsblkút_t
+;
+
+163 
+__STD_TYPE
+__FSBLKCNT64_T_TYPE
+       g__fsblkút64_t
+;
+
+166 
+__STD_TYPE
+__FSFILCNT_T_TYPE
+       g__fsf\9eút_t
+;
+
+167 
+__STD_TYPE
+__FSFILCNT64_T_TYPE
+       g__fsf\9eút64_t
+;
+
+170 
+__STD_TYPE
+__FSWORD_T_TYPE
+       g__fswÜd_t
+;
+
+172 
+__STD_TYPE
+__SSIZE_T_TYPE
+       g__ssize_t
+;
+
+175 
+__STD_TYPE
+__SYSCALL_SLONG_TYPE
+       g__sysÿÎ_¦Úg_t
+;
+
+177 
+__STD_TYPE
+__SYSCALL_ULONG_TYPE
+       g__sysÿÎ_ulÚg_t
+;
+
+181 \e
+__off64_t
+       t__loff_t
+;
+
+182 \e
+__quad_t
+ *
+       t__qaddr_t
+;
+
+183 \e\ 5*
+       t__ÿddr_t
+;
+
+186 
+__STD_TYPE
+__SWORD_TYPE
+       g__\9a\8d\8c_t
+;
+
+189 
+__STD_TYPE
+__U32_TYPE
+       g__sockËn_t
+;
+
+192 #undeà
+__STD_TYPE
+
+
+       @/usr/include/bits/unistd.h
+
+19 #iâdeà
+_UNISTD_H
+
+
+23 \r
+ssize_t
+       $__»ad_chk
+ (\12
+__fd
+, \1e*
+__buf
+, 
+size_t
+__nby\8bs
+,
+
+24 
+size_t
+__buæ\92
+__wur
+;
+
+25 \r
+ssize_t
+       `__REDIRECT
+ (
+__»ad_®\9fs
+, (\12
+__fd
+, \1e*
+__buf
+,
+
+26 
+size_t
+__nby\8bs
+), 
+»ad
+__wur
+;
+
+27 \r
+ssize_t
+       `__REDIRECT
+ (
+__»ad_chk_w¬n
+,
+
+28 (\12
+__fd
+, \1e*
+__buf
+, 
+size_t
+__nby\8bs
+,
+
+29 
+size_t
+__buæ\92
+), 
+__»ad_chk
+)
+
+30 
+__wur
+       `__w¬Ç\89r
+ ("read called with bigger\86ength\81han size of "
+
+33 
+__fÜtify_funùiÚ
+__wur
+ssize_t
+
+
+34 
+       $»ad
+ (\12
+__fd
+, \1e*
+__buf
+, 
+size_t
+__nby\8bs
+)
+
+36 ià(
+       `__bos0
+ (
+__buf
+è!ð(
+size_t
+) -1)
+
+38 ià(!
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+__nby\8bs
+))
+
+39 \15 
+       `__»ad_chk
+ (
+__fd
+, 
+__buf
+, 
+__nby\8bs
+, 
+       `__bos0
+ (__buf));
+
+41 ià(
+__nby\8bs
+ > 
+       `__bos0
+ (
+__buf
+))
+
+42 \15 
+       `__»ad_chk_w¬n
+ (
+__fd
+, 
+__buf
+, 
+__nby\8bs
+, 
+       `__bos0
+ (__buf));
+
+44 \15 
+       `__»ad_®\9fs
+ (
+__fd
+, 
+__buf
+, 
+__nby\8bs
+);
+
+45 
+       }
+}
+
+47 #ifdeà
+__USE_UNIX98
+
+
+48 \r
+ssize_t
+       $__´\97d_chk
+ (\12
+__fd
+, \1e*
+__buf
+, 
+size_t
+__nby\8bs
+,
+
+49 
+__off_t
+__off£t
+, 
+size_t
+__bufsize
+__wur
+;
+
+50 \r
+ssize_t
+       $__´\97d64_chk
+ (\12
+__fd
+, \1e*
+__buf
+, 
+size_t
+__nby\8bs
+,
+
+51 
+__off64_t
+__off£t
+, 
+size_t
+__bufsize
+__wur
+;
+
+52 \r
+ssize_t
+       `__REDIRECT
+ (
+__´\97d_®\9fs
+,
+
+53 (\12
+__fd
+, \1e*
+__buf
+, 
+size_t
+__nby\8bs
+,
+
+54 
+__off_t
+__off£t
+), 
\97d
+__wur
+;
+
+55 \r
+ssize_t
+       `__REDIRECT
+ (
+__´\97d64_®\9fs
+,
+
+56 (\12
+__fd
+, \1e*
+__buf
+, 
+size_t
+__nby\8bs
+,
+
+57 
+__off64_t
+__off£t
+), 
\97d64
+__wur
+;
+
+58 \r
+ssize_t
+       `__REDIRECT
+ (
+__´\97d_chk_w¬n
+,
+
+59 (\12
+__fd
+, \1e*
+__buf
+, 
+size_t
+__nby\8bs
+,
+
+60 
+__off_t
+__off£t
+, 
+size_t
+__bufsize
+), 
+__´\97d_chk
+)
+
+61 
+__wur
+       `__w¬Ç\89r
+ ("pread called with bigger\86ength\81han size of "
+
+63 \r
+ssize_t
+       `__REDIRECT
+ (
+__´\97d64_chk_w¬n
+,
+
+64 (\12
+__fd
+, \1e*
+__buf
+, 
+size_t
+__nby\8bs
+,
+
+65 
+__off64_t
+__off£t
+, 
+size_t
+__bufsize
+),
+
+66 
+__´\97d64_chk
+)
+
+67 
+__wur
+       `__w¬Ç\89r
+ ("pread64 called with bigger\86ength\81han size of "
+
+70 #iâdeà
+__USE_FILE_OFFSET64
+
+
+71 
+__fÜtify_funùiÚ
+__wur
+ssize_t
+
+
+72 
+       $´\97d
+ (\12
+__fd
+, \1e*
+__buf
+, 
+size_t
+__nby\8bs
+, 
+__off_t
+__off£t
+)
+
+74 ià(
+       `__bos0
+ (
+__buf
+è!ð(
+size_t
+) -1)
+
+76 ià(!
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+__nby\8bs
+))
+
+77 \15 
+       `__´\97d_chk
+ (
+__fd
+, 
+__buf
+, 
+__nby\8bs
+, 
+__off£t
+, 
+       `__bos0
+ (__buf));
+
+79 iàÐ
+__nby\8bs
+ > 
+       `__bos0
+ (
+__buf
+))
+
+80 \15 
+       `__´\97d_chk_w¬n
+ (
+__fd
+, 
+__buf
+, 
+__nby\8bs
+, 
+__off£t
+,
+
+81 
+       `__bos0
+ (
+__buf
+));
+
+83 \15 
+       `__´\97d_®\9fs
+ (
+__fd
+, 
+__buf
+, 
+__nby\8bs
+, 
+__off£t
+);
+
+84 
+       }
+}
+
+86 
+__fÜtify_funùiÚ
+__wur
+ssize_t
+
+
+87 
+       $´\97d
+ (\12
+__fd
+, \1e*
+__buf
+, 
+size_t
+__nby\8bs
+, 
+__off64_t
+__off£t
+)
+
+89 ià(
+       `__bos0
+ (
+__buf
+è!ð(
+size_t
+) -1)
+
+91 ià(!
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+__nby\8bs
+))
+
+92 \15 
+       `__´\97d64_chk
+ (
+__fd
+, 
+__buf
+, 
+__nby\8bs
+, 
+__off£t
+, 
+       `__bos0
+ (__buf));
+
+94 iàÐ
+__nby\8bs
+ > 
+       `__bos0
+ (
+__buf
+))
+
+95 \15 
+       `__´\97d64_chk_w¬n
+ (
+__fd
+, 
+__buf
+, 
+__nby\8bs
+, 
+__off£t
+,
+
+96 
+       `__bos0
+ (
+__buf
+));
+
+99 \15 
+       `__´\97d64_®\9fs
+ (
+__fd
+, 
+__buf
+, 
+__nby\8bs
+, 
+__off£t
+);
+
+100 
+       }
+}
+
+103 #ifdeà
+__USE_LARGEFILE64
+
+
+104 
+__fÜtify_funùiÚ
+__wur
+ssize_t
+
+
+105 
+       $´\97d64
+ (\12
+__fd
+, \1e*
+__buf
+, 
+size_t
+__nby\8bs
+, 
+__off64_t
+__off£t
+)
+
+107 ià(
+       `__bos0
+ (
+__buf
+è!ð(
+size_t
+) -1)
+
+109 ià(!
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+__nby\8bs
+))
+
+110 \15 
+       `__´\97d64_chk
+ (
+__fd
+, 
+__buf
+, 
+__nby\8bs
+, 
+__off£t
+, 
+       `__bos0
+ (__buf));
+
+112 iàÐ
+__nby\8bs
+ > 
+       `__bos0
+ (
+__buf
+))
+
+113 \15 
+       `__´\97d64_chk_w¬n
+ (
+__fd
+, 
+__buf
+, 
+__nby\8bs
+, 
+__off£t
+,
+
+114 
+       `__bos0
+ (
+__buf
+));
+
+117 \15 
+       `__´\97d64_®\9fs
+ (
+__fd
+, 
+__buf
+, 
+__nby\8bs
+, 
+__off£t
+);
+
+118 
+       }
+}
+
+122 #ià
+def\9aed
+__USE_XOPEN_EXTENDED
+ || def\9aed 
+__USE_XOPEN2K
+
+
+123 \r
+ssize_t
+       $__»adl\9ak_chk
+ (cڡ \ 5*
+__»¡riù
+__·th
+,
+
+124 \ 5*
+__»¡riù
+__buf
+, 
+size_t
+__Ën
+,
+
+125 
+size_t
+__buæ\92
+)
+
+126 
+__THROW
+       `__nÚnuÎ
+ ((1, 2)è
+__wur
+;
+
+127 \r
+ssize_t
+       `__REDIRECT_NTH
+ (
+__»adl\9ak_®\9fs
+,
+
+128 (cڡ \ 5*
+__»¡riù
+__·th
+,
+
+129 \ 5*
+__»¡riù
+__buf
+, 
+size_t
+__Ën
+), 
+»adl\9ak
+)
+
+130 
+       `__nÚnuÎ
+ ((1, 2)è
+__wur
+;
+
+131 \r
+ssize_t
+       `__REDIRECT_NTH
+ (
+__»adl\9ak_chk_w¬n
+,
+
+132 (cڡ \ 5*
+__»¡riù
+__·th
+,
+
+133 \ 5*
+__»¡riù
+__buf
+, 
+size_t
+__Ën
+,
+
+134 
+size_t
+__buæ\92
+), 
+__»adl\9ak_chk
+)
+
+135 
+       `__nÚnuÎ
+ ((1, 2)è
+__wur
+       `__w¬Ç\89r
+ ("readlink called with bigger\86ength "
+
+138 
+__fÜtify_funùiÚ
+       `__nÚnuÎ
+ ((1, 2)è
+__wur
+ssize_t
+
+
+139 
+       `__NTH
+ (
+       $»adl\9ak
+ (cڡ \ 5*
+__»¡riù
+__·th
+, \ 5*__»¡riù 
+__buf
+,
+
+140 
+size_t
+__Ën
+))
+
+142 ià(
+       `__bos
+ (
+__buf
+è!ð(
+size_t
+) -1)
+
+144 ià(!
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+__Ën
+))
+
+145 \15 
+       `__»adl\9ak_chk
+ (
+__·th
+, 
+__buf
+, 
+__Ën
+, 
+       `__bos
+ (__buf));
+
+147 iàÐ
+__Ën
+ > 
+       `__bos
+ (
+__buf
+))
+
+148 \15 
+       `__»adl\9ak_chk_w¬n
+ (
+__·th
+, 
+__buf
+, 
+__Ën
+, 
+       `__bos
+ (__buf));
+
+150 \15 
+       `__»adl\9ak_®\9fs
+ (
+__·th
+, 
+__buf
+, 
+__Ën
+);
+
+151 
+       }
+}
+
+154 #ifdeà
+__USE_ATFILE
+
+
+155 \r
+ssize_t
+       $__»adl\9ak©_chk
+ (\12
+__fd
+, cڡ \ 5*
+__»¡riù
+__·th
+,
+
+156 \ 5*
+__»¡riù
+__buf
+, 
+size_t
+__Ën
+,
+
+157 
+size_t
+__buæ\92
+)
+
+158 
+__THROW
+       `__nÚnuÎ
+ ((2, 3)è
+__wur
+;
+
+159 \r
+ssize_t
+       `__REDIRECT_NTH
+ (
+__»adl\9ak©_®\9fs
+,
+
+160 (\12
+__fd
+, cڡ \ 5*
+__»¡riù
+__·th
+,
+
+161 \ 5*
+__»¡riù
+__buf
+, 
+size_t
+__Ën
+),
+
+162 
+»adl\9a
+)
+
+163 
+       `__nÚnuÎ
+ ((2, 3)è
+__wur
+;
+
+164 \r
+ssize_t
+       `__REDIRECT_NTH
+ (
+__»adl\9ak©_chk_w¬n
+,
+
+165 (\12
+__fd
+, cڡ \ 5*
+__»¡riù
+__·th
+,
+
+166 \ 5*
+__»¡riù
+__buf
+, 
+size_t
+__Ën
+,
+
+167 
+size_t
+__buæ\92
+), 
+__»adl\9ak©_chk
+)
+
+168 
+       `__nÚnuÎ
+ ((2, 3)è
+__wur
+       `__w¬Ç\89r
+ ("readlinkat called with bigger "
+
+172 
+__fÜtify_funùiÚ
+       `__nÚnuÎ
+ ((2, 3)è
+__wur
+ssize_t
+
+
+173 
+       `__NTH
+ (
+       $»adl\9a
+ (\12
+__fd
+, cڡ \ 5*
+__»¡riù
+__·th
+,
+
+174 \ 5*
+__»¡riù
+__buf
+, 
+size_t
+__Ën
+))
+
+176 ià(
+       `__bos
+ (
+__buf
+è!ð(
+size_t
+) -1)
+
+178 ià(!
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+__Ën
+))
+
+179 \15 
+       `__»adl\9ak©_chk
+ (
+__fd
+, 
+__·th
+, 
+__buf
+, 
+__Ën
+, 
+       `__bos
+ (__buf));
+
+181 ià(
+__Ën
+ > 
+       `__bos
+ (
+__buf
+))
+
+182 \15 
+       `__»adl\9ak©_chk_w¬n
+ (
+__fd
+, 
+__·th
+, 
+__buf
+, 
+__Ën
+,
+
+183 
+       `__bos
+ (
+__buf
+));
+
+185 \15 
+       `__»adl\9ak©_®\9fs
+ (
+__fd
+, 
+__·th
+, 
+__buf
+, 
+__Ën
+);
+
+186 
+       }
+}
+
+189 \r\ 5*
+       $__g\91cwd_chk
+ (\ 5*
+__buf
+, 
+size_t
+__size
+, size_\88
+__buæ\92
+)
+
+190 
+__THROW
+__wur
+;
+
+191 \r\ 5*
+       `__REDIRECT_NTH
+ (
+__g\91cwd_®\9fs
+,
+
+192 (\ 5*
+__buf
+, 
+size_t
+__size
+), 
+g\91cwd
+__wur
+;
+
+193 \r\ 5*
+       `__REDIRECT_NTH
+ (
+__g\91cwd_chk_w¬n
+,
+
+194 (\ 5*
+__buf
+, 
+size_t
+__size
+, size_\88
+__buæ\92
+),
+
+195 
+__g\91cwd_chk
+)
+
+196 
+__wur
+       `__w¬Ç\89r
+ ("getcwd caller with bigger\86ength\81han size of "
+
+199 
+__fÜtify_funùiÚ
+__wur
\ 5*
+
+200 
+       `__NTH
+ (
+       $g\91cwd
+ (\ 5*
+__buf
+, 
+size_t
+__size
+))
+
+202 ià(
+       `__bos
+ (
+__buf
+è!ð(
+size_t
+) -1)
+
+204 ià(!
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+__size
+))
+
+205 \15 
+       `__g\91cwd_chk
+ (
+__buf
+, 
+__size
+, 
+       `__bos
+ (__buf));
+
+207 ià(
+__size
+ > 
+       `__bos
+ (
+__buf
+))
+
+208 \15 
+       `__g\91cwd_chk_w¬n
+ (
+__buf
+, 
+__size
+, 
+       `__bos
+ (__buf));
+
+210 \15 
+       `__g\91cwd_®\9fs
+ (
+__buf
+, 
+__size
+);
+
+211 
+       }
+}
+
+213 #ià
+def\9aed
+__USE_MISC
+ || def\9aed 
+__USE_XOPEN_EXTENDED
+
+
+214 \r\ 5*
+       $__g\91wd_chk
+ (\ 5*
+__buf
+, 
+size_t
+buæ\92
+)
+
+215 
+__THROW
+       `__nÚnuÎ
+ ((1)è
+__wur
+;
+
+216 \r\ 5*
+       `__REDIRECT_NTH
+ (
+__g\91wd_w¬n
+, (\ 5*
+__buf
+), 
+g\91wd
+)
+
+217 
+       `__nÚnuÎ
+ ((1)è
+__wur
+       `__w¬Ç\89r
+ ("please use getcwd instead,\87s getwd "
+
+220 
+__fÜtify_funùiÚ
+       `__nÚnuÎ
+ ((1)è
+__©\8cibu\8b_d\95»ÿ\8bd__
+__wur
\ 5*
+
+221 
+       `__NTH
+ (
+       $g\91wd
+ (\ 5*
+__buf
+))
+
+223 ià(
+       `__bos
+ (
+__buf
+è!ð(
+size_t
+) -1)
+
+224 \15 
+       `__g\91wd_chk
+ (
+__buf
+, 
+       `__bos
+ (__buf));
+
+225 \15 
+       `__g\91wd_w¬n
+ (
+__buf
+);
+
+226 
+       }
+}
+
+229 \r
+size_t
+       $__cÚf¡r_chk
+ (\12
+__Çme
+, \ 5*
+__buf
+, 
+size_t
+__Ën
+,
+
+230 
+size_t
+__buæ\92
+__THROW
+;
+
+231 \r
+size_t
+       `__REDIRECT_NTH
+ (
+__cÚf¡r_®\9fs
+, (\12
+__Çme
+, \ 5*
+__buf
+,
+
+232 
+size_t
+__Ën
+), 
+cÚf¡r
+);
+
+233 \r
+size_t
+       `__REDIRECT_NTH
+ (
+__cÚf¡r_chk_w¬n
+,
+
+234 (\12
+__Çme
+, \ 5*
+__buf
+, 
+size_t
+__Ën
+,
+
+235 
+size_t
+__buæ\92
+), 
+__cÚf¡r_chk
+)
+
+236 
+       `__w¬Ç\89r
+ ("confstr called with bigger\86ength\81han size of destination "
+
+239 
+__fÜtify_funùiÚ
+size_t
+
+
+240 
+       `__NTH
+ (
+       $cÚf¡r
+ (\12
+__Çme
+, \ 5*
+__buf
+, 
+size_t
+__Ën
+))
+
+242 ià(
+       `__bos
+ (
+__buf
+è!ð(
+size_t
+) -1)
+
+244 ià(!
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+__Ën
+))
+
+245 \15 
+       `__cÚf¡r_chk
+ (
+__Çme
+, 
+__buf
+, 
+__Ën
+, 
+       `__bos
+ (__buf));
+
+247 ià(
+       `__bos
+ (
+__buf
+è< 
+__Ën
+)
+
+248 \15 
+       `__cÚf¡r_chk_w¬n
+ (
+__Çme
+, 
+__buf
+, 
+__Ën
+, 
+       `__bos
+ (__buf));
+
+250 \15 
+       `__cÚf¡r_®\9fs
+ (
+__Çme
+, 
+__buf
+, 
+__Ën
+);
+
+251 
+       }
+}
+
+254 \r\12
+       $__g\91groups_chk
+ (\12
+__size
+, 
+__gid_t
+__li¡
+[], 
+size_t
+__li¡Ën
+)
+
+255 
+__THROW
+__wur
+;
+
+256 \r\12
+       `__REDIRECT_NTH
+ (
+__g\91groups_®\9fs
+, (\12
+__size
+, 
+__gid_t
+__li¡
+[]),
+
+257 
+g\91groups
+__wur
+;
+
+258 \r\12
+       `__REDIRECT_NTH
+ (
+__g\91groups_chk_w¬n
+,
+
+259 (\12
+__size
+, 
+__gid_t
+__li¡
+[], 
+size_t
+__li¡Ën
+),
+
+260 
+__g\91groups_chk
+)
+
+261 
+__wur
+       `__w¬Ç\89r
+ ("getgroups called with bigger group count\81han what "
+
+264 
+__fÜtify_funùiÚ
\12
+
+265 
+       `__NTH
+ (
+       $g\91groups
+ (\12
+__size
+, 
+__gid_t
+__li¡
+[]))
+
+267 ià(
+       `__bos
+ (
+__li¡
+è!ð(
+size_t
+) -1)
+
+269 ià(!
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+__size
+) || __size < 0)
+
+270 \15 
+       `__g\91groups_chk
+ (
+__size
+, 
+__li¡
+, 
+       `__bos
+ (__list));
+
+272 ià(
+__size
+ * \17 (
+__gid_t
+è> 
+       `__bos
+ (
+__li¡
+))
+
+273 \15 
+       `__g\91groups_chk_w¬n
+ (
+__size
+, 
+__li¡
+, 
+       `__bos
+ (__list));
+
+275 \15 
+       `__g\91groups_®\9fs
+ (
+__size
+, 
+__li¡
+);
+
+276 
+       }
+}
+
+279 \r\12
+       $__\89yÇme_r_chk
+ (\12
+__fd
+, \ 5*
+__buf
+, 
+size_t
+__buæ\92
+,
+
+280 
+size_t
+__ėl
+__THROW
+       `__nÚnuÎ
+ ((2));
+
+281 \r\12
+       `__REDIRECT_NTH
+ (
+__\89yÇme_r_®\9fs
+, (\12
+__fd
+, \ 5*
+__buf
+,
+
+282 
+size_t
+__buæ\92
+), 
+\89yÇme_r
+)
+
+283 
+       `__nÚnuÎ
+ ((2));
+
+284 \r\12
+       `__REDIRECT_NTH
+ (
+__\89yÇme_r_chk_w¬n
+,
+
+285 (\12
+__fd
+, \ 5*
+__buf
+, 
+size_t
+__buæ\92
+,
+
+286 
+size_t
+__ėl
+), 
+__\89yÇme_r_chk
+)
+
+287 
+       `__nÚnuÎ
+ ((2)è
+       `__w¬Ç\89r
+ ("ttyname_r called with bigger buflen\81han "
+
+290 
+__fÜtify_funùiÚ
\12
+
+291 
+       `__NTH
+ (
+       $\89yÇme_r
+ (\12
+__fd
+, \ 5*
+__buf
+, 
+size_t
+__buæ\92
+))
+
+293 ià(
+       `__bos
+ (
+__buf
+è!ð(
+size_t
+) -1)
+
+295 ià(!
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+__buæ\92
+))
+
+296 \15 
+       `__\89yÇme_r_chk
+ (
+__fd
+, 
+__buf
+, 
+__buæ\92
+, 
+       `__bos
+ (__buf));
+
+298 ià(
+__buæ\92
+ > 
+       `__bos
+ (
+__buf
+))
+
+299 \15 
+       `__\89yÇme_r_chk_w¬n
+ (
+__fd
+, 
+__buf
+, 
+__buæ\92
+, 
+       `__bos
+ (__buf));
+
+301 \15 
+       `__\89yÇme_r_®\9fs
+ (
+__fd
+, 
+__buf
+, 
+__buæ\92
+);
+
+302 
+       }
+}
+
+305 #ià
+def\9aed
+__USE_REENTRANT
+ || def\9aed 
+__USE_POSIX199506
+
+
+306 \r\12
+       $__g\91log\9a_r_chk
+ (\ 5*
+__buf
+, 
+size_t
+__buæ\92
+, size_\88
+__ėl
+)
+
+307 
+       `__nÚnuÎ
+ ((1));
+
+308 \r\12
+       `__REDIRECT
+ (
+__g\91log\9a_r_®\9fs
+, (\ 5*
+__buf
+, 
+size_t
+__buæ\92
+),
+
+309 
+g\91log\9a_r
+       `__nÚnuÎ
+ ((1));
+
+310 \r\12
+       `__REDIRECT
+ (
+__g\91log\9a_r_chk_w¬n
+,
+
+311 (\ 5*
+__buf
+, 
+size_t
+__buæ\92
+, size_\88
+__ėl
+),
+
+312 
+__g\91log\9a_r_chk
+)
+
+313 
+       `__nÚnuÎ
+ ((1)è
+       `__w¬Ç\89r
+ ("getlogin_r called with bigger buflen\81han "
+
+316 
+__fÜtify_funùiÚ
\12
+
+317 
+       $g\91log\9a_r
+ (\ 5*
+__buf
+, 
+size_t
+__buæ\92
+)
+
+319 ià(
+       `__bos
+ (
+__buf
+è!ð(
+size_t
+) -1)
+
+321 ià(!
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+__buæ\92
+))
+
+322 \15 
+       `__g\91log\9a_r_chk
+ (
+__buf
+, 
+__buæ\92
+, 
+       `__bos
+ (__buf));
+
+324 ià(
+__buæ\92
+ > 
+       `__bos
+ (
+__buf
+))
+
+325 \15 
+       `__g\91log\9a_r_chk_w¬n
+ (
+__buf
+, 
+__buæ\92
+, 
+       `__bos
+ (__buf));
+
+327 \15 
+       `__g\91log\9a_r_®\9fs
+ (
+__buf
+, 
+__buæ\92
+);
+
+328 
+       }
+}
+
+332 #ià
+def\9aed
+__USE_MISC
+ || def\9aed 
+__USE_UNIX98
+
+
+333 \r\12
+       $__g\91ho¡Çme_chk
+ (\ 5*
+__buf
+, 
+size_t
+__buæ\92
+, size_\88
+__ėl
+)
+
+334 
+__THROW
+       `__nÚnuÎ
+ ((1));
+
+335 \r\12
+       `__REDIRECT_NTH
+ (
+__g\91ho¡Çme_®\9fs
+, (\ 5*
+__buf
+, 
+size_t
+__buæ\92
+),
+
+336 
+g\91ho¡Çme
+       `__nÚnuÎ
+ ((1));
+
+337 \r\12
+       `__REDIRECT_NTH
+ (
+__g\91ho¡Çme_chk_w¬n
+,
+
+338 (\ 5*
+__buf
+, 
+size_t
+__buæ\92
+, size_\88
+__ėl
+),
+
+339 
+__g\91ho¡Çme_chk
+)
+
+340 
+       `__nÚnuÎ
+ ((1)è
+       `__w¬Ç\89r
+ ("gethostname called with bigger buflen\81han "
+
+343 
+__fÜtify_funùiÚ
\12
+
+344 
+       `__NTH
+ (
+       $g\91ho¡Çme
+ (\ 5*
+__buf
+, 
+size_t
+__buæ\92
+))
+
+346 ià(
+       `__bos
+ (
+__buf
+è!ð(
+size_t
+) -1)
+
+348 ià(!
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+__buæ\92
+))
+
+349 \15 
+       `__g\91ho¡Çme_chk
+ (
+__buf
+, 
+__buæ\92
+, 
+       `__bos
+ (__buf));
+
+351 ià(
+__buæ\92
+ > 
+       `__bos
+ (
+__buf
+))
+
+352 \15 
+       `__g\91ho¡Çme_chk_w¬n
+ (
+__buf
+, 
+__buæ\92
+, 
+       `__bos
+ (__buf));
+
+354 \15 
+       `__g\91ho¡Çme_®\9fs
+ (
+__buf
+, 
+__buæ\92
+);
+
+355 
+       }
+}
+
+359 #ià
+def\9aed
+__USE_MISC
+ || (def\9aed 
+__USE_XOPEN
+ && !def\9aed 
+__USE_UNIX98
+)
+
+360 \r\12
+       $__g\91doma\9aÇme_chk
+ (\ 5*
+__buf
+, 
+size_t
+__buæ\92
+, size_\88
+__ėl
+)
+
+361 
+__THROW
+       `__nÚnuÎ
+ ((1)è
+__wur
+;
+
+362 \r\12
+       `__REDIRECT_NTH
+ (
+__g\91doma\9aÇme_®\9fs
+, (\ 5*
+__buf
+,
+
+363 
+size_t
+__buæ\92
+),
+
+364 
+g\91doma\9aÇme
+       `__nÚnuÎ
+ ((1)è
+__wur
+;
+
+365 \r\12
+       `__REDIRECT_NTH
+ (
+__g\91doma\9aÇme_chk_w¬n
+,
+
+366 (\ 5*
+__buf
+, 
+size_t
+__buæ\92
+, size_\88
+__ėl
+),
+
+367 
+__g\91doma\9aÇme_chk
+)
+
+368 
+       `__nÚnuÎ
+ ((1)è
+__wur
+       `__w¬Ç\89r
+ ("getdomainname called with bigger "
+
+372 
+__fÜtify_funùiÚ
\12
+
+373 
+       `__NTH
+ (
+       $g\91doma\9aÇme
+ (\ 5*
+__buf
+, 
+size_t
+__buæ\92
+))
+
+375 ià(
+       `__bos
+ (
+__buf
+è!ð(
+size_t
+) -1)
+
+377 ià(!
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+__buæ\92
+))
+
+378 \15 
+       `__g\91doma\9aÇme_chk
+ (
+__buf
+, 
+__buæ\92
+, 
+       `__bos
+ (__buf));
+
+380 ià(
+__buæ\92
+ > 
+       `__bos
+ (
+__buf
+))
+
+381 \15 
+       `__g\91doma\9aÇme_chk_w¬n
+ (
+__buf
+, 
+__buæ\92
+, 
+       `__bos
+ (__buf));
+
+383 \15 
+       `__g\91doma\9aÇme_®\9fs
+ (
+__buf
+, 
+__buæ\92
+);
+
+384 
+       }
+}
+
+       @/usr/include/bits/waitflags.h
+
+19 #ià!
+def\9aed
+_SYS_WAIT_H
+ && !def\9aed 
+_STDLIB_H
+
+
+25 \ 1
+       #WNOHANG
+ 1
+
+       )
+
+26 \ 1
+       #WUNTRACED
+ 2
+
+       )
+
+29 \ 1
+       #WSTOPPED
+ 2
+
+       )
+
+30 \ 1
+       #WEXITED
+ 4
+
+       )
+
+31 \ 1
+       #WCONTINUED
+ 8
+
+       )
+
+32 \ 1
+       #WNOWAIT
+ 0x01000000
+
+       )
+
+34 \ 1
+       #__WNOTHREAD
+ 0x20000000
+
+       )
+
+36 \ 1
+       #__WALL
+ 0x40000000
+
+       )
+
+37 \ 1
+       #__WCLONE
+ 0x80000000
+
+       )
+
+40 #ià
+def\9aed
+__USE_XOPEN
+ || def\9aed 
+__USE_XOPEN2K8
+
+
+41 #iâdeà
+__ENUM_IDTYPE_T
+
+
+42 \ 1
+       #__ENUM_IDTYPE_T
+ 1
+
+       )
+
+46 #undeà
+P_ALL
+
+
+47 #undeà
+P_PID
+
+
+48 #undeà
+P_PGID
+
+
+52 
+       mP_ALL
+,
+
+53 
+       mP_PID
+,
+
+54 
+       mP_PGID
+
+
+55 } 
+       tidty³_t
+;
+
+       @/usr/include/bits/waitstatus.h
+
+19 #ià!
+def\9aed
+_SYS_WAIT_H
+ && !def\9aed 
+_STDLIB_H
+
+
+28 \ 1
+       #__WEXITSTATUS
+(
+¡©us
+è(((¡©usè& 0xff00è>> 8)
+
+       )
+
+31 \ 1
+       #__WTERMSIG
+(
+¡©us
+è((¡©usè& 0x7f)
+
+       )
+
+34 \ 1
+       #__WSTOPSIG
+(
+¡©us
+       `__WEXITSTATUS
+(¡©us)
+
+       )
+
+37 \ 1
+       #__WIFEXITED
+(
+¡©us
+è(
+       `__WTERMSIG
+(¡©usè=ð0)
+
+       )
+
+40 \ 1
+       #__WIFSIGNALED
+(
+¡©us
+) \
+
+41 (((sigÃd \ 5è(((
+¡©us
+è& 0x7fè+ 1è>> 1è> 0)
+
+       )
+
+44 \ 1
+       #__WIFSTOPPED
+(
+¡©us
+è(((¡©usè& 0xffè=ð0x7f)
+
+       )
+
+48 #ifdeà
+WCONTINUED
+
+
+49 \ 1
+       #__WIFCONTINUED
+(
+¡©us
+è((¡©usè=ð
+__W_CONTINUED
+)
+
+       )
+
+53 \ 1
+       #__WCOREDUMP
+(
+¡©us
+è((¡©usè& 
+__WCOREFLAG
+)
+
+       )
+
+56 \ 1
+       #__W_EXITCODE
+(
+»t
+, 
+sig
+è(Ô\91è<< 8 | (sig))
+
+       )
+
+57 \ 1
+       #__W_STOPCODE
+(
+sig
+è((sigè<< 8 | 0x7f)
+
+       )
+
+58 \ 1
+       #__W_CONTINUED
+ 0xffff
+
+       )
+
+59 \ 1
+       #__WCOREFLAG
+ 0x80
+
+       )
+
+62 #ifdef 
+__USE_MISC
+
+
+64 \ 2
+       ~<\92d\9fn.h
+>
+
+66 \1c
+       uwa\99
+
+
+68 \12
+       mw_¡©us
+;
+
+71 #if 
+__BYTE_ORDER
+ =ð
+__LITTLE_ENDIAN
+
+
+72 \1d\12
+       m__w_\8brmsig
+:7;
+
+73 \1d\12
+       m__w_cÜedump
+:1;
+
+74 \1d\12
+       m__w_»tcode
+:8;
+
+77 #if 
+__BYTE_ORDER
+ =ð
+__BIG_ENDIAN
+
+
+79 \1d\12
+       m__w_»tcode
+:8;
+
+80 \1d\12
+       m__w_cÜedump
+:1;
+
+81 \1d\12
+       m__w_\8brmsig
+:7;
+
+83 } 
+       m__wa\99_\8brm\9a©ed
+;
+
+86 #if 
+__BYTE_ORDER
+ =ð
+__LITTLE_ENDIAN
+
+
+87 \1d\12
+       m__w_¡Ýv®
+:8;
+
+88 \1d\12
+       m__w_¡Ýsig
+:8;
+
+91 #if 
+__BYTE_ORDER
+ =ð
+__BIG_ENDIAN
+
+
+93 \1d\12
+       m__w_¡Ýsig
+:8;
+
+94 \1d\12
+       m__w_¡Ýv®
+:8;
+
+96 } 
+       m__wa\99_¡Ý³d
+;
+
+99 \ 1
+       #w_\8brmsig
+__wa\99_\8brm\9a©ed
+.
+__w_\8brmsig
+
+
+       )
+
+100 \ 1
+       #w_cÜedump
+__wa\99_\8brm\9a©ed
+.
+__w_cÜedump
+
+
+       )
+
+101 \ 1
+       #w_»tcode
+__wa\99_\8brm\9a©ed
+.
+__w_»tcode
+
+
+       )
+
+102 \ 1
+       #w_¡Ýsig
+__wa\99_¡Ý³d
+.
+__w_¡Ýsig
+
+
+       )
+
+103 \ 1
+       #w_¡Ýv®
+__wa\99_¡Ý³d
+.
+__w_¡Ýv®
+
+
+       )
+
+       @/usr/include/bits/wchar.h
+
+19 #iâdeà
+_BITS_WCHAR_H
+
+
+20 \ 1
+       #_BITS_WCHAR_H
+ 1
+
+       )
+
+33 #ifdeà
+__WCHAR_MAX__
+
+
+34 \ 1
+       #__WCHAR_MAX
+__WCHAR_MAX__
+
+
+       )
+
+35 #\96
+L
+'\0' - 1 > 0
+
+36 \ 1
+       #__WCHAR_MAX
+ (0xffffffffu + 
+L
+'\0')
+
+       )
+
+38 \ 1
+       #__WCHAR_MAX
+ (0x7ffffffà+ 
+L
+'\0')
+
+       )
+
+41 #ifdeà
+__WCHAR_MIN__
+
+
+42 \ 1
+       #__WCHAR_MIN
+__WCHAR_MIN__
+
+
+       )
+
+43 #\96
+L
+'\0' - 1 > 0
+
+44 \ 1
+       #__WCHAR_MIN
+ (
+L
+'\0' + 0)
+
+       )
+
+46 \ 1
+       #__WCHAR_MIN
+ (-
+__WCHAR_MAX
+ - 1)
+
+       )
+
+       @/usr/include/bits/wordsize.h
+
+3 #ià
+def\9aed
+__x86_64__
+ && !def\9aed 
+__ILP32__
+
+
+4 \ 1
+       #__WORDSIZE
+ 64
+
+       )
+
+6 \ 1
+       #__WORDSIZE
+ 32
+
+       )
+
+9 #ifdeà
+__x86_64__
+
+
+10 \ 1
+       #__WORDSIZE_TIME64_COMPAT32
+ 1
+
+       )
+
+12 \ 1
+       #__SYSCALL_WORDSIZE
+ 64
+
+       )
+
+       @/usr/include/endian.h
+
+18 #iâdef 
+_ENDIAN_H
+
+
+19 \ 1
+       #_ENDIAN_H
+ 1
+
+       )
+
+21 \ 2
+       ~<ã©u»s.h
+>
+
+31 \ 1
+       #__LITTLE_ENDIAN
+ 1234
+
+       )
+
+32 \ 1
+       #__BIG_ENDIAN
+ 4321
+
+       )
+
+33 \ 1
+       #__PDP_ENDIAN
+ 3412
+
+       )
+
+36 \ 2
+       ~<b\99s/\92d\9fn.h
+>
+
+40 #iâdeà
+__FLOAT_WORD_ORDER
+
+
+41 \ 1
+       #__FLOAT_WORD_ORDER
+__BYTE_ORDER
+
+
+       )
+
+44 #ifdef 
+__USE_MISC
+
+
+45 \ 1
+       #LITTLE_ENDIAN
+__LITTLE_ENDIAN
+
+
+       )
+
+46 \ 1
+       #BIG_ENDIAN
+__BIG_ENDIAN
+
+
+       )
+
+47 \ 1
+       #PDP_ENDIAN
+__PDP_ENDIAN
+
+
+       )
+
+48 \ 1
+       #BYTE_ORDER
+__BYTE_ORDER
+
+
+       )
+
+51 #ià
+__BYTE_ORDER
+ =ð
+__LITTLE_ENDIAN
+
+
+52 \ 1
+       #__LONG_LONG_PAIR
+(
+HI
+, 
+LO
+èLO, 
+       )
+HI
+
+53 #\96
+__BYTE_ORDER
+ =ð
+__BIG_ENDIAN
+
+
+54 \ 1
+       #__LONG_LONG_PAIR
+(
+HI
+, 
+LO
+èHI, 
+       )
+LO
+
+58 #ià
+def\9aed
+__USE_MISC
+ && !def\9aed 
+__ASSEMBLER__
+
+
+60 \ 2
+       ~<b\99s/by\8bsw­.h
+>
+
+62 #ià
+__BYTE_ORDER
+ =ð
+__LITTLE_ENDIAN
+
+
+63 \ 1
+       #htobe16
+(
+x
+       `__bsw­_16
+ (x)
+
+       )
+
+64 \ 1
+       #htÞe16
+(
+x
+è(x)
+
+       )
+
+65 \ 1
+       #be16toh
+(
+x
+       `__bsw­_16
+ (x)
+
+       )
+
+66 \ 1
+       #Ë16toh
+(
+x
+è(x)
+
+       )
+
+68 \ 1
+       #htobe32
+(
+x
+       `__bsw­_32
+ (x)
+
+       )
+
+69 \ 1
+       #htÞe32
+(
+x
+è(x)
+
+       )
+
+70 \ 1
+       #be32toh
+(
+x
+       `__bsw­_32
+ (x)
+
+       )
+
+71 \ 1
+       #Ë32toh
+(
+x
+è(x)
+
+       )
+
+73 \ 1
+       #htobe64
+(
+x
+       `__bsw­_64
+ (x)
+
+       )
+
+74 \ 1
+       #htÞe64
+(
+x
+è(x)
+
+       )
+
+75 \ 1
+       #be64toh
+(
+x
+       `__bsw­_64
+ (x)
+
+       )
+
+76 \ 1
+       #Ë64toh
+(
+x
+è(x)
+
+       )
+
+79 \ 1
+       #htobe16
+(
+x
+è(x)
+
+       )
+
+80 \ 1
+       #htÞe16
+(
+x
+       `__bsw­_16
+ (x)
+
+       )
+
+81 \ 1
+       #be16toh
+(
+x
+è(x)
+
+       )
+
+82 \ 1
+       #Ë16toh
+(
+x
+       `__bsw­_16
+ (x)
+
+       )
+
+84 \ 1
+       #htobe32
+(
+x
+è(x)
+
+       )
+
+85 \ 1
+       #htÞe32
+(
+x
+       `__bsw­_32
+ (x)
+
+       )
+
+86 \ 1
+       #be32toh
+(
+x
+è(x)
+
+       )
+
+87 \ 1
+       #Ë32toh
+(
+x
+       `__bsw­_32
+ (x)
+
+       )
+
+89 \ 1
+       #htobe64
+(
+x
+è(x)
+
+       )
+
+90 \ 1
+       #htÞe64
+(
+x
+       `__bsw­_64
+ (x)
+
+       )
+
+91 \ 1
+       #be64toh
+(
+x
+è(x)
+
+       )
+
+92 \ 1
+       #Ë64toh
+(
+x
+       `__bsw­_64
+ (x)
+
+       )
+
+       @/usr/include/features.h
+
+18 #iâdef 
+_FEATURES_H
+
+
+19 \ 1
+       #_FEATURES_H
+ 1
+
+       )
+
+97 #undeà
+__USE_ISOC11
+
+
+98 #undeà
+__USE_ISOC99
+
+
+99 #undeà
+__USE_ISOC95
+
+
+100 #undeà
+__USE_ISOCXX11
+
+
+101 #undeà
+__USE_POSIX
+
+
+102 #undeà
+__USE_POSIX2
+
+
+103 #undeà
+__USE_POSIX199309
+
+
+104 #undeà
+__USE_POSIX199506
+
+
+105 #undeà
+__USE_XOPEN
+
+
+106 #undeà
+__USE_XOPEN_EXTENDED
+
+
+107 #undeà
+__USE_UNIX98
+
+
+108 #undeà
+__USE_XOPEN2K
+
+
+109 #undeà
+__USE_XOPEN2KXSI
+
+
+110 #undeà
+__USE_XOPEN2K8
+
+
+111 #undeà
+__USE_XOPEN2K8XSI
+
+
+112 #undeà
+__USE_LARGEFILE
+
+
+113 #undeà
+__USE_LARGEFILE64
+
+
+114 #undeà
+__USE_FILE_OFFSET64
+
+
+115 #undeà
+__USE_MISC
+
+
+116 #undeà
+__USE_ATFILE
+
+
+117 #undeà
+__USE_GNU
+
+
+118 #undeà
+__USE_REENTRANT
+
+
+119 #undeà
+__USE_FORTIFY_LEVEL
+
+
+120 #undeà
+__KERNEL_STRICT_NAMES
+
+
+124 #iâdeà
+_LOOSE_KERNEL_NAMES
+
+
+125 \ 1
+       #__KERNEL_STRICT_NAMES
+
+
+       )
+
+135 #ià
+def\9aed
+__GNUC__
+ && def\9aed 
+__GNUC_MINOR__
+
+
+136 \ 1
+       #__GNUC_PREREQ
+(
+maj
+, 
+m\9a
+) \
+
+137 ((
+__GNUC__
+ << 16è+ 
+__GNUC_MINOR__
+ >ð((
+maj
+è<< 16è+ (
+m\9a
+))
+
+       )
+
+139 \ 1
+       #__GNUC_PREREQ
+(
+maj
+, 
+m\9a
+è0
+
+       )
+
+146 #ià(
+def\9aed
+_BSD_SOURCE
+ || def\9aed 
+_SVID_SOURCE
+) \
+
+147 && !
+def\9aed
+       g_DEFAULT_SOURCE
+
+
+152 #undeà
+_DEFAULT_SOURCE
+
+
+153 \ 1
+       #_DEFAULT_SOURCE
+ 1
+
+       )
+
+157 #ifdeà
+_GNU_SOURCE
+
+
+158 #undeà
+_ISOC95_SOURCE
+
+
+159 \ 1
+       #_ISOC95_SOURCE
+ 1
+
+       )
+
+160 #undeà
+_ISOC99_SOURCE
+
+
+161 \ 1
+       #_ISOC99_SOURCE
+ 1
+
+       )
+
+162 #undeà
+_ISOC11_SOURCE
+
+
+163 \ 1
+       #_ISOC11_SOURCE
+ 1
+
+       )
+
+164 #undeà
+_POSIX_SOURCE
+
+
+165 \ 1
+       #_POSIX_SOURCE
+ 1
+
+       )
+
+166 #undeà
+_POSIX_C_SOURCE
+
+
+167 \ 1
+       #_POSIX_C_SOURCE
+ 200809L
+
+       )
+
+168 #undeà
+_XOPEN_SOURCE
+
+
+169 \ 1
+       #_XOPEN_SOURCE
+ 700
+
+       )
+
+170 #undeà
+_XOPEN_SOURCE_EXTENDED
+
+
+171 \ 1
+       #_XOPEN_SOURCE_EXTENDED
+ 1
+
+       )
+
+172 #undeà
+_LARGEFILE64_SOURCE
+
+
+173 \ 1
+       #_LARGEFILE64_SOURCE
+ 1
+
+       )
+
+174 #undeà
+_DEFAULT_SOURCE
+
+
+175 \ 1
+       #_DEFAULT_SOURCE
+ 1
+
+       )
+
+176 #undeà
+_ATFILE_SOURCE
+
+
+177 \ 1
+       #_ATFILE_SOURCE
+ 1
+
+       )
+
+182 #ià(
+def\9aed
+_DEFAULT_SOURCE
+ \
+
+183 || (!
+def\9aed
+       g__STRICT_ANSI__
+ \
+
+184 && !
+def\9aed
+       g_ISOC99_SOURCE
+ \
+
+185 && !
+def\9aed
+       g_POSIX_SOURCE
+ && !def\9aed 
+       g_POSIX_C_SOURCE
+ \
+
+186 && !
+def\9aed
+       g_XOPEN_SOURCE
+))
+
+187 #undeà
+_DEFAULT_SOURCE
+
+
+188 \ 1
+       #_DEFAULT_SOURCE
+ 1
+
+       )
+
+192 #ià(
+def\9aed
+_ISOC11_SOURCE
+ \
+
+193 || (
+def\9aed
+       g__STDC_VERSION__
+ && __STDC_VERSION__ >= 201112L))
+
+194 \ 1
+       #__USE_ISOC11
+ 1
+
+       )
+
+198 #ià(
+def\9aed
+_ISOC99_SOURCE
+ || def\9aed 
+_ISOC11_SOURCE
+ \
+
+199 || (
+def\9aed
+__STDC_VERSION__
+ && __STDC_VERSION__ >= 199901L))
+
+200 \ 1
+       #__USE_ISOC99
+ 1
+
+       )
+
+204 #ià(
+def\9aed
+_ISOC99_SOURCE
+ || def\9aed 
+_ISOC11_SOURCE
+ \
+
+205 || (
+def\9aed
+__STDC_VERSION__
+ && __STDC_VERSION__ >= 199409L))
+
+206 \ 1
+       #__USE_ISOC95
+ 1
+
+       )
+
+213 #ià((
+def\9aed
+__ýlu¥lus
+ && __cplusplus >= 201103L) \
+
+214 || 
+def\9aed
+__GXX_EXPERIMENTAL_CXX0X__
+)
+
+215 \ 1
+       #__USE_ISOCXX11
+ 1
+
+       )
+
+221 #ifdeà
+_DEFAULT_SOURCE
+
+
+222 #ià!
+def\9aed
+_POSIX_SOURCE
+ && !def\9aed 
+_POSIX_C_SOURCE
+
+
+223 \ 1
+       #__USE_POSIX_IMPLICITLY
+ 1
+
+       )
+
+225 #undeà
+_POSIX_SOURCE
+
+
+226 \ 1
+       #_POSIX_SOURCE
+ 1
+
+       )
+
+227 #undeà
+_POSIX_C_SOURCE
+
+
+228 \ 1
+       #_POSIX_C_SOURCE
+ 200809L
+
+       )
+
+230 #ià((!
+def\9aed
+__STRICT_ANSI__
+ \
+
+231 || (
+def\9aed
+_XOPEN_SOURCE
+ && (_XOPEN_SOURCE - 0) >= 500)) \
+
+232 && !
+def\9aed
+_POSIX_SOURCE
+ && !def\9aed 
+_POSIX_C_SOURCE
+)
+
+233 \ 1
+       #_POSIX_SOURCE
+ 1
+
+       )
+
+234 #ià
+def\9aed
+_XOPEN_SOURCE
+ && (_XOPEN_SOURCE - 0) < 500
+
+235 \ 1
+       #_POSIX_C_SOURCE
+ 2
+
+       )
+
+236 #\96
+def\9aed
+_XOPEN_SOURCE
+ && (_XOPEN_SOURCE - 0) < 600
+
+237 \ 1
+       #_POSIX_C_SOURCE
+ 199506L
+
+       )
+
+238 #\96
+def\9aed
+_XOPEN_SOURCE
+ && (_XOPEN_SOURCE - 0) < 700
+
+239 \ 1
+       #_POSIX_C_SOURCE
+ 200112L
+
+       )
+
+241 \ 1
+       #_POSIX_C_SOURCE
+ 200809L
+
+       )
+
+243 \ 1
+       #__USE_POSIX_IMPLICITLY
+ 1
+
+       )
+
+246 #ià(
+def\9aed
+_POSIX_SOURCE
+ \
+
+247 || (
+def\9aed
+_POSIX_C_SOURCE
+ && _POSIX_C_SOURCE >= 1) \
+
+248 || 
+def\9aed
+_XOPEN_SOURCE
+)
+
+249 \ 1
+       #__USE_POSIX
+ 1
+
+       )
+
+252 #ià
+def\9aed
+_POSIX_C_SOURCE
+ && _POSIX_C_SOURCE >ð2 || def\9aed 
+_XOPEN_SOURCE
+
+
+253 \ 1
+       #__USE_POSIX2
+ 1
+
+       )
+
+256 #ià
+def\9aed
+_POSIX_C_SOURCE
+ && (_POSIX_C_SOURCE - 0) >= 199309L
+
+257 \ 1
+       #__USE_POSIX199309
+ 1
+
+       )
+
+260 #ià
+def\9aed
+_POSIX_C_SOURCE
+ && (_POSIX_C_SOURCE - 0) >= 199506L
+
+261 \ 1
+       #__USE_POSIX199506
+ 1
+
+       )
+
+264 #ià
+def\9aed
+_POSIX_C_SOURCE
+ && (_POSIX_C_SOURCE - 0) >= 200112L
+
+265 \ 1
+       #__USE_XOPEN2K
+ 1
+
+       )
+
+266 #undeà
+__USE_ISOC95
+
+
+267 \ 1
+       #__USE_ISOC95
+ 1
+
+       )
+
+268 #undeà
+__USE_ISOC99
+
+
+269 \ 1
+       #__USE_ISOC99
+ 1
+
+       )
+
+272 #ià
+def\9aed
+_POSIX_C_SOURCE
+ && (_POSIX_C_SOURCE - 0) >= 200809L
+
+273 \ 1
+       #__USE_XOPEN2K8
+ 1
+
+       )
+
+274 #undeà
+_ATFILE_SOURCE
+
+
+275 \ 1
+       #_ATFILE_SOURCE
+ 1
+
+       )
+
+278 #ifdef 
+_XOPEN_SOURCE
+
+
+279 \ 1
+       #__USE_XOPEN
+ 1
+
+       )
+
+280 #ià(
+_XOPEN_SOURCE
+ - 0) >= 500
+
+281 \ 1
+       #__USE_XOPEN_EXTENDED
+ 1
+
+       )
+
+282 \ 1
+       #__USE_UNIX98
+ 1
+
+       )
+
+283 #undeà
+_LARGEFILE_SOURCE
+
+
+284 \ 1
+       #_LARGEFILE_SOURCE
+ 1
+
+       )
+
+285 #ià(
+_XOPEN_SOURCE
+ - 0) >= 600
+
+286 #ià(
+_XOPEN_SOURCE
+ - 0) >= 700
+
+287 \ 1
+       #__USE_XOPEN2K8
+ 1
+
+       )
+
+288 \ 1
+       #__USE_XOPEN2K8XSI
+ 1
+
+       )
+
+290 \ 1
+       #__USE_XOPEN2K
+ 1
+
+       )
+
+291 \ 1
+       #__USE_XOPEN2KXSI
+ 1
+
+       )
+
+292 #undeà
+__USE_ISOC95
+
+
+293 \ 1
+       #__USE_ISOC95
+ 1
+
+       )
+
+294 #undeà
+__USE_ISOC99
+
+
+295 \ 1
+       #__USE_ISOC99
+ 1
+
+       )
+
+298 #ifdeà
+_XOPEN_SOURCE_EXTENDED
+
+
+299 \ 1
+       #__USE_XOPEN_EXTENDED
+ 1
+
+       )
+
+304 #ifdeà
+_LARGEFILE_SOURCE
+
+
+305 \ 1
+       #__USE_LARGEFILE
+ 1
+
+       )
+
+308 #ifdeà
+_LARGEFILE64_SOURCE
+
+
+309 \ 1
+       #__USE_LARGEFILE64
+ 1
+
+       )
+
+312 #ià
+def\9aed
+_FILE_OFFSET_BITS
+ && _FILE_OFFSET_BITS == 64
+
+313 \ 1
+       #__USE_FILE_OFFSET64
+ 1
+
+       )
+
+316 #ià
+def\9aed
+_DEFAULT_SOURCE
+
+
+317 \ 1
+       #__USE_MISC
+ 1
+
+       )
+
+320 #ifdef 
+_ATFILE_SOURCE
+
+
+321 \ 1
+       #__USE_ATFILE
+ 1
+
+       )
+
+324 #ifdef 
+_GNU_SOURCE
+
+
+325 \ 1
+       #__USE_GNU
+ 1
+
+       )
+
+328 #ià
+def\9aed
+_REENTRANT
+ || def\9aed 
+_THREAD_SAFE
+
+
+329 \ 1
+       #__USE_REENTRANT
+ 1
+
+       )
+
+332 #ià
+def\9aed
+_FORTIFY_SOURCE
+ && _FORTIFY_SOURCE > 0 \
+
+333 && 
+__GNUC_PREREQ
+ (4, 1è&& 
+def\9aed
+       g__OPTIMIZE__
+ && __OPTIMIZE__ > 0
+
+334 #ià
+_FORTIFY_SOURCE
+ > 1
+
+335 \ 1
+       #__USE_FORTIFY_LEVEL
+ 2
+
+       )
+
+337 \ 1
+       #__USE_FORTIFY_LEVEL
+ 1
+
+       )
+
+340 \ 1
+       #__USE_FORTIFY_LEVEL
+ 0
+
+       )
+
+345 \ 2
+       ~<¡dc-´edef.h
+>
+
+353 #undeà
+__GNU_LIBRARY__
+
+
+354 \ 1
+       #__GNU_LIBRARY__
+ 6
+
+       )
+
+358 \ 1
+       #__GLIBC__
+ 2
+
+       )
+
+359 \ 1
+       #__GLIBC_MINOR__
+ 23
+
+       )
+
+361 \ 1
+       #__GLIBC_PREREQ
+(
+maj
+, 
+m\9a
+) \
+
+362 ((
+__GLIBC__
+ << 16è+ 
+__GLIBC_MINOR__
+ >ð((
+maj
+è<< 16è+ (
+m\9a
+))
+
+       )
+
+365 #iâdeà
+__ASSEMBLER__
+
+
+366 #iâdeà
+_SYS_CDEFS_H
+
+
+367 \ 2
+       ~<sys/cdefs.h
+>
+
+372 #ià
+def\9aed
+__USE_FILE_OFFSET64
+ && !def\9aed 
+__REDIRECT
+
+
+373 \ 1
+       #__USE_LARGEFILE
+ 1
+
+       )
+
+374 \ 1
+       #__USE_LARGEFILE64
+ 1
+
+       )
+
+380 #ià
+__GNUC_PREREQ
+ (2, 7è&& 
+def\9aed
+__OPTIMIZE__
+ \
+
+381 && !
+def\9aed
+       g__OPTIMIZE_SIZE__
+ && !def\9aed 
+       g__NO_INLINE__
+ \
+
+382 && 
+def\9aed
+       g__ex\8bº_\9al\9ae
+
+
+383 \ 1
+       #__USE_EXTERN_INLINES
+ 1
+
+       )
+
+391 \ 2
+       ~<gnu/¡ubs.h
+>
+
+       @/usr/include/libio.h
+
+28 #iâdeà
+_IO_STDIO_H
+
+
+29 \ 1
+       #_IO_STDIO_H
+
+
+       )
+
+31 \ 2
+       ~<_G_cÚfig.h
+>
+
+33 \ 1
+       #_IO_åos_t
+_G_åos_t
+
+
+       )
+
+34 \ 1
+       #_IO_åos64_t
+_G_åos64_t
+
+
+       )
+
+35 \ 1
+       #_IO_size_t
+size_t
+
+
+       )
+
+36 \ 1
+       #_IO_ssize_t
+__ssize_t
+
+
+       )
+
+37 \ 1
+       #_IO_off_t
+__off_t
+
+
+       )
+
+38 \ 1
+       #_IO_off64_t
+__off64_t
+
+
+       )
+
+39 \ 1
+       #_IO_pid_t
+__pid_t
+
+
+       )
+
+40 \ 1
+       #_IO_uid_t
+__uid_t
+
+
+       )
+
+41 \ 1
+       #_IO_icÚv_t
+_G_icÚv_t
+
+
+       )
+
+42 \ 1
+       #_IO_HAVE_ST_BLKSIZE
+_G_HAVE_ST_BLKSIZE
+
+
+       )
+
+43 \ 1
+       #_IO_BUFSIZ
+_G_BUFSIZ
+
+
+       )
+
+44 \ 1
+       #_IO_va_li¡
+_G_va_li¡
+
+
+       )
+
+45 \ 1
+       #_IO_w\9at_t
+w\9at_t
+
+
+       )
+
+48 \ 1
+       #__Ãed___va_li¡
+
+
+       )
+
+49 \ 2
+       ~<¡d¬g.h
+>
+
+50 #ifdeà
+__GNUC_VA_LIST
+
+
+51 #undeà
+_IO_va_li¡
+
+
+52 \ 1
+       #_IO_va_li¡
+__gnuc_va_li¡
+
+
+       )
+
+55 #iâdeà
+__P
+
+
+56 \ 2
+       ~<sys/cdefs.h
+>
+
+59 \ 1
+       #_IO_UNIFIED_JUMPTABLES
+ 1
+
+       )
+
+61 #iâdeà
+EOF
+
+
+62 \ 1
+       #EOF
+ (-1)
+
+       )
+
+64 #iâdeà
+NULL
+
+
+65 #ià
+def\9aed
+__GNUG__
+ && \
+
+66 (
+       g__GNUC__
+ > 2 || (__GNUC__ =ð2 && 
+__GNUC_MINOR__
+ >= 8))
+
+67 \ 1
+       #NULL
+ (
+__nuÎ
+)
+
+       )
+
+69 #ià!
+def\9aed
+(
+__ýlu¥lus
+)
+
+70 \ 1
+       #NULL
+ ((\1e*)0)
+
+       )
+
+72 \ 1
+       #NULL
+ (0)
+
+       )
+
+77 \ 1
+       #_IOS_INPUT
+ 1
+
+       )
+
+78 \ 1
+       #_IOS_OUTPUT
+ 2
+
+       )
+
+79 \ 1
+       #_IOS_ATEND
+ 4
+
+       )
+
+80 \ 1
+       #_IOS_APPEND
+ 8
+
+       )
+
+81 \ 1
+       #_IOS_TRUNC
+ 16
+
+       )
+
+82 \ 1
+       #_IOS_NOCREATE
+ 32
+
+       )
+
+83 \ 1
+       #_IOS_NOREPLACE
+ 64
+
+       )
+
+84 \ 1
+       #_IOS_BIN
+ 128
+
+       )
+
+92 \ 1
+       #_IO_MAGIC
+ 0xFBAD0000
+
+       )
+
+93 \ 1
+       #_OLD_STDIO_MAGIC
+ 0xFABC0000
+
+       )
+
+94 \ 1
+       #_IO_MAGIC_MASK
+ 0xFFFF0000
+
+       )
+
+95 \ 1
+       #_IO_USER_BUF
+ 1
+
+       )
+
+96 \ 1
+       #_IO_UNBUFFERED
+ 2
+
+       )
+
+97 \ 1
+       #_IO_NO_READS
+ 4
+
+       )
+
+98 \ 1
+       #_IO_NO_WRITES
+ 8
+
+       )
+
+99 \ 1
+       #_IO_EOF_SEEN
+ 0x10
+
+       )
+
+100 \ 1
+       #_IO_ERR_SEEN
+ 0x20
+
+       )
+
+101 \ 1
+       #_IO_DELETE_DONT_CLOSE
+ 0x40
+
+       )
+
+102 \ 1
+       #_IO_LINKED
+ 0x80
+
+       )
+
+103 \ 1
+       #_IO_IN_BACKUP
+ 0x100
+
+       )
+
+104 \ 1
+       #_IO_LINE_BUF
+ 0x200
+
+       )
+
+105 \ 1
+       #_IO_TIED_PUT_GET
+ 0x400
+
+       )
+
+106 \ 1
+       #_IO_CURRENTLY_PUTTING
+ 0x800
+
+       )
+
+107 \ 1
+       #_IO_IS_APPENDING
+ 0x1000
+
+       )
+
+108 \ 1
+       #_IO_IS_FILEBUF
+ 0x2000
+
+       )
+
+109 \ 1
+       #_IO_BAD_SEEN
+ 0x4000
+
+       )
+
+110 \ 1
+       #_IO_USER_LOCK
+ 0x8000
+
+       )
+
+112 \ 1
+       #_IO_FLAGS2_MMAP
+ 1
+
+       )
+
+113 \ 1
+       #_IO_FLAGS2_NOTCANCEL
+ 2
+
+       )
+
+114 #ifdeà
+_LIBC
+
+
+115 \ 1
+       #_IO_FLAGS2_FORTIFY
+ 4
+
+       )
+
+117 \ 1
+       #_IO_FLAGS2_USER_WBUF
+ 8
+
+       )
+
+118 #ifdeà
+_LIBC
+
+
+119 \ 1
+       #_IO_FLAGS2_SCANF_STD
+ 16
+
+       )
+
+120 \ 1
+       #_IO_FLAGS2_NOCLOSE
+ 32
+
+       )
+
+121 \ 1
+       #_IO_FLAGS2_CLOEXEC
+ 64
+
+       )
+
+125 \ 1
+       #_IO_SKIPWS
+ 01
+
+       )
+
+126 \ 1
+       #_IO_LEFT
+ 02
+
+       )
+
+127 \ 1
+       #_IO_RIGHT
+ 04
+
+       )
+
+128 \ 1
+       #_IO_INTERNAL
+ 010
+
+       )
+
+129 \ 1
+       #_IO_DEC
+ 020
+
+       )
+
+130 \ 1
+       #_IO_OCT
+ 040
+
+       )
+
+131 \ 1
+       #_IO_HEX
+ 0100
+
+       )
+
+132 \ 1
+       #_IO_SHOWBASE
+ 0200
+
+       )
+
+133 \ 1
+       #_IO_SHOWPOINT
+ 0400
+
+       )
+
+134 \ 1
+       #_IO_UPPERCASE
+ 01000
+
+       )
+
+135 \ 1
+       #_IO_SHOWPOS
+ 02000
+
+       )
+
+136 \ 1
+       #_IO_SCIENTIFIC
+ 04000
+
+       )
+
+137 \ 1
+       #_IO_FIXED
+ 010000
+
+       )
+
+138 \ 1
+       #_IO_UNITBUF
+ 020000
+
+       )
+
+139 \ 1
+       #_IO_STDIO
+ 040000
+
+       )
+
+140 \ 1
+       #_IO_DONT_CLOSE
+ 0100000
+
+       )
+
+141 \ 1
+       #_IO_BOOLALPHA
+ 0200000
+
+       )
+
+144 \19
+_IO_jump_t
+; \19
+       g_IO_FILE
+;
+
+147 #ifdeà
+_IO_MTSAFE_IO
+
+
+150 \e\1e
+       t_IO_lock_t
+;
+
+156 \19
+       s_IO_m¬k\94
+ {
+
+157 \19
+_IO_m¬k\94
+ *
+       m_Ãxt
+;
+
+158 \19
+_IO_FILE
+ *
+       m_sbuf
+;
+
+162 \12
+       m_pos
+;
+
+164 \1e
+£t_¡»ampos
+(
+¡»ampos
+è{ 
+       m_¥os
+ = sp; }
+
+165 \1e
+£t_off£t
+(\12
+off£t
+è{ 
+       m_pos
+ = off£t; 
+       m_¥os
+ = (
+¡»ampos
+)(-2); }
+
+166 
+       mpublic
+:
+
+167 
+¡»amm¬k\94
+(
+¡»ambuf
+ *
+sb
+);
+
+168 ~
+¡»amm¬k\94
+();
+
+169 \12
+§v\9ag
+(è{ \15 
+       m_¥os
+ == -2; }
+
+170 \12
+d\96\8f
+(
+¡»amm¬k\94
+&);
+
+171 \12
+d\96\8f
+();
+
+176 \f
+       e__codecvt_»suÉ
+
+
+178 
+       m__codecvt_ok
+,
+
+179 
+       m__codecvt_·¹\9fl
+,
+
+180 
+       m__codecvt_\94
+,
+
+181 
+       m__codecvt_nocÚv
+
+
+184 #ià
+def\9aed
+_LIBC
+ || def\9aed 
+_GLIBCPP_USE_WCHAR_T
+
+
+187 \19
+       s_IO_codecvt
+
+
+189 \1e(*
+       m__codecvt_de¡r
+è(\19
+       m_IO_codecvt
+ *);
+
+190 \f
+__codecvt_»suÉ
+ (*
+__codecvt_do_out
+è(\19
+       m_IO_codecvt
+ *,
+
+191 
+       m__mb¡©e_t
+ *,
+
+192 cڡ 
+       mwch¬_t
+ *,
+
+193 cڡ 
+       mwch¬_t
+ *,
+
+194 cڡ 
+       mwch¬_t
+ **, \ 5*,
+
+196 \f
+__codecvt_»suÉ
+ (*
+__codecvt_do_unshiá
+è(\19
+       m_IO_codecvt
+ *,
+
+197 
+       m__mb¡©e_t
+ *, \ 5*,
+
+199 \f
+__codecvt_»suÉ
+ (*
+__codecvt_do_\9a
+è(\19
+       m_IO_codecvt
+ *,
+
+200 
+       m__mb¡©e_t
+ *,
+
+202 cڡ \ 5**, 
+       mwch¬_t
+ *,
+
+203 
+       mwch¬_t
+ *, wchar_t **);
+
+204 \12(*
+       m__codecvt_do_\92cod\9ag
+è(\19
+       m_IO_codecvt
+ *);
+
+205 \12(*
+       m__codecvt_do_®ways_nocÚv
+è(\19
+       m_IO_codecvt
+ *);
+
+206 \12(*
+       m__codecvt_do_Ëngth
+è(\19
+       m_IO_codecvt
+ *, 
+       m__mb¡©e_t
+ *,
+
+207 cڡ \ 5*, cڡ \ 5*, 
+       m_IO_size_t
+);
+
+208 \12(*
+       m__codecvt_do_max_Ëngth
+è(\19
+       m_IO_codecvt
+ *);
+
+210 
+_IO_icÚv_t
+       m__cd_\9a
+;
+
+211 
+_IO_icÚv_t
+       m__cd_out
+;
+
+215 \19
+       s_IO_wide_d©a
+
+
+217 
+wch¬_t
+ *
+       m_IO_»ad_±r
+;
+
+218 
+wch¬_t
+ *
+       m_IO_»ad_\92d
+;
+
+219 
+wch¬_t
+ *
+       m_IO_»ad_ba£
+;
+
+220 
+wch¬_t
+ *
+       m_IO_wr\99e_ba£
+;
+
+221 
+wch¬_t
+ *
+       m_IO_wr\99e_±r
+;
+
+222 
+wch¬_t
+ *
+       m_IO_wr\99e_\92d
+;
+
+223 
+wch¬_t
+ *
+       m_IO_buf_ba£
+;
+
+224 
+wch¬_t
+ *
+       m_IO_buf_\92d
+;
+
+226 
+wch¬_t
+ *
+       m_IO_§ve_ba£
+;
+
+227 
+wch¬_t
+ *
+       m_IO_backup_ba£
+;
+
+229 
+wch¬_t
+ *
+       m_IO_§ve_\92d
+;
+
+231 
+__mb¡©e_t
+       m_IO_¡©e
+;
+
+232 
+__mb¡©e_t
+       m_IO_Ï¡_¡©e
+;
+
+233 \19
+_IO_codecvt
+       m_codecvt
+;
+
+235 
+wch¬_t
+       m_shÜtbuf
+[1];
+
+237 cڡ \19
+_IO_jump_t
+ *
+       m_wide_v\8f
+;
+
+241 \19
+       s_IO_FILE
+ {
+
+242 \12
+       m_æags
+;
+
+243 \ 1
+       #_IO_f\9ee_æags
+_æags
+
+
+       )
+
+247 \ 5
+       m_IO_»ad_±r
+;
+
+248 \ 5
+       m_IO_»ad_\92d
+;
+
+249 \ 5
+       m_IO_»ad_ba£
+;
+
+250 \ 5
+       m_IO_wr\99e_ba£
+;
+
+251 \ 5
+       m_IO_wr\99e_±r
+;
+
+252 \ 5
+       m_IO_wr\99e_\92d
+;
+
+253 \ 5
+       m_IO_buf_ba£
+;
+
+254 \ 5
+       m_IO_buf_\92d
+;
+
+256 \ 5*
+       m_IO_§ve_ba£
+;
+
+257 \ 5*
+       m_IO_backup_ba£
+;
+
+258 \ 5*
+       m_IO_§ve_\92d
+;
+
+260 \19
+_IO_m¬k\94
+ *
+       m_m¬k\94s
+;
+
+262 \19
+_IO_FILE
+ *
+       m_cha\9a
+;
+
+264 \12
+       m_f\9e\92o
+;
+
+266 \12
+       m_blksize
+;
+
+268 \12
+       m_æags2
+;
+
+270 
+_IO_off_t
+       m_Þd_off£t
+;
+
+272 \ 1
+       #__HAVE_COLUMN
+
+
+       )
+
+274 \1d\16
+       m_cur_cÞumn
+;
+
+275 sigÃd \ 5
+       m_v\8fbË_off£t
+;
+
+276 \ 5
+       m_shÜtbuf
+[1];
+
+280 
+_IO_lock_t
+ *
+       m_lock
+;
+
+281 #ifdeà
+_IO_USE_OLD_IO_FILE
+
+
+284 \19
+       s_IO_FILE_com¶\91e
+
+
+286 \19
+_IO_FILE
+       m_f\9ee
+;
+
+288 #ià
+def\9aed
+_G_IO_IO_FILE_VERSION
+ && _G_IO_IO_FILE_VERSION == 0x20001
+
+289 
+_IO_off64_t
+       m_off£t
+;
+
+290 #ià
+def\9aed
+_LIBC
+ || def\9aed 
+_GLIBCPP_USE_WCHAR_T
+
+
+292 \19
+_IO_codecvt
+ *
+       m_codecvt
+;
+
+293 \19
+_IO_wide_d©a
+ *
+       m_wide_d©a
+;
+
+294 \19
+_IO_FILE
+ *
+       m_ä\93»s_li¡
+;
+
+295 \1e*
+       m_䓻s_buf
+;
+
+297 \1e*
+       m__·d1
+;
+
+298 \1e*
+       m__·d2
+;
+
+299 \1e*
+       m__·d3
+;
+
+300 \1e*
+       m__·d4
+;
+
+302 
+size_t
+       m__·d5
+;
+
+303 \12
+       m_mode
+;
+
+305 \ 5
+       m_unu£d2
+[15 * \17 (\12è- 4 * \17 (\1e*è- \17 (
+size_t
+)];
+
+309 #iâdeà
+__ýlu¥lus
+
+
+310 \e\19
+_IO_FILE
+       t_IO_FILE
+;
+
+313 \19
+       g_IO_FILE_¶us
+;
+
+315 \r\19
+_IO_FILE_¶us
+_IO_2_1_¡d\9a_
+;
+
+316 \r\19
+_IO_FILE_¶us
+_IO_2_1_¡dout_
+;
+
+317 \r\19
+_IO_FILE_¶us
+_IO_2_1_¡d\94r_
+;
+
+318 #iâdeà
+_LIBC
+
+
+319 \ 1
+       #_IO_¡d\9a
+ ((
+_IO_FILE
+*)(&
+_IO_2_1_¡d\9a_
+))
+
+       )
+
+320 \ 1
+       #_IO_¡dout
+ ((
+_IO_FILE
+*)(&
+_IO_2_1_¡dout_
+))
+
+       )
+
+321 \ 1
+       #_IO_¡d\94r
+ ((
+_IO_FILE
+*)(&
+_IO_2_1_¡d\94r_
+))
+
+       )
+
+323 \r
+_IO_FILE
+ *
+_IO_¡d\9a
\8cibu\8b_hidd\92
+;
+
+324 \r
+_IO_FILE
+ *
+_IO_¡dout
\8cibu\8b_hidd\92
+;
+
+325 \r
+_IO_FILE
+ *
+_IO_¡d\94r
\8cibu\8b_hidd\92
+;
+
+333 \e
+__ssize_t
+       t__io_»ad_â
+ (\1e*
+       t__cook\9b
+, \ 5*
+       t__buf
+, 
+       tsize_t
+       t__nby\8bs
+);
+
+341 \e
+__ssize_t
+       t__io_wr\99e_â
+ (\1e*
+       t__cook\9b
+, cڡ \ 5*
+       t__buf
+,
+
+342 
+       tsize_t
+       t__n
+);
+
+350 \e\12
+       t__io_£ek_â
+ (\1e*
+       t__cook\9b
+, 
+       t_IO_off64_t
+ *
+       t__pos
+, \12
+       t__w
+);
+
+353 \e\12
+       t__io_þo£_â
+ (\1e*
+       t__cook\9b
+);
+
+356 #ifdeà
+_GNU_SOURCE
+
+
+358 \e
+__io_»ad_â
+       tcook\9b_»ad_funùiÚ_t
+;
+
+359 \e
+__io_wr\99e_â
+       tcook\9b_wr\99e_funùiÚ_t
+;
+
+360 \e
+__io_£ek_â
+       tcook\9b_£ek_funùiÚ_t
+;
+
+361 \e
+__io_þo£_â
+       tcook\9b_þo£_funùiÚ_t
+;
+
+366 
+__io_»ad_â
+ *
+       m»ad
+;
+
+367 
+__io_wr\99e_â
+ *
+       mwr\99e
+;
+
+368 
+__io_£ek_â
+ *
+       m£ek
+;
+
+369 
+__io_þo£_â
+ *
+       mþo£
+;
+
+370 } 
+       t_IO_cook\9b_io_funùiÚs_t
+;
+
+371 \e
+_IO_cook\9b_io_funùiÚs_t
+       tcook\9b_io_funùiÚs_t
+;
+
+373 \19
+       g_IO_cook\9b_f\9ee
+;
+
+376 \r\1e
+_IO_cook\9b_\9a\99
+ (\19
+_IO_cook\9b_f\9ee
+ *
+__cf\9ee
+, \12
+__»ad_wr\99e
+,
+
+377 \1e*
+__cook\9b
+, 
+_IO_cook\9b_io_funùiÚs_t
+__âs
+);
+
+381 #ifdeà
+__ýlu¥lus
+
+
+385 \r\12
+__und\94æow
+ (
+_IO_FILE
+ *);
+
+386 \r\12
+__uæow
+ (
+_IO_FILE
+ *);
+
+387 \r\12
+__ov\94æow
+ (
+_IO_FILE
+ *, \12);
+
+388 #ià
+def\9aed
+_LIBC
+ || def\9aed 
+_GLIBCPP_USE_WCHAR_T
+
+
+389 \r
+_IO_w\9at_t
+__wund\94æow
+ (
+_IO_FILE
+ *);
+
+390 \r
+_IO_w\9at_t
+__wuæow
+ (
+_IO_FILE
+ *);
+
+391 \r
+_IO_w\9at_t
+__wov\94æow
+ (
+_IO_FILE
+ *, _IO_wint_t);
+
+394 #ià 
+__GNUC__
+ >= 3
+
+395 \ 1
+       #_IO_BE
+(
+ex´
+, 
+»s
+       `__bu\9et\9a_ex³ù
+ (Óx´),\84es)
+
+       )
+
+397 \ 1
+       #_IO_BE
+(
+ex´
+, 
+»s
+èÓx´)
+
+       )
+
+400 \ 1
+       #_IO_g\91c_uÆocked
+(
+_å
+) \
+
+401 (
+       `_IO_BE
+ ((
+_å
+)->
+_IO_»ad_±r
+ >ð(_å)->
+_IO_»ad_\92d
+, 0) \
+
+402 ? 
+       `__uæow
+ (
+_å
+è: *(\1d\ 5*è(_å)->
+_IO_»ad_±r
+++)
+
+       )
+
+403 \ 1
+       #_IO_³ekc_uÆocked
+(
+_å
+) \
+
+404 (
+       `_IO_BE
+ ((
+_å
+)->
+_IO_»ad_±r
+ >ð(_å)->
+_IO_»ad_\92d
+, 0) \
+
+405 && 
+       `__und\94æow
+ (
+_å
+è=ð
+EOF
+ ? EOF \
+
+406 : *(\1d\ 5*è(
+_å
+)->
+_IO_»ad_±r
+)
+
+       )
+
+407 \ 1
+       #_IO_putc_uÆocked
+(
+_ch
+, 
+_å
+) \
+
+408 (
+       `_IO_BE
+ ((
+_å
+)->
+_IO_wr\99e_±r
+ >ð(_å)->
+_IO_wr\99e_\92d
+, 0) \
+
+409 ? 
+       `__ov\94æow
+ (
+_å
+, (\1d\ 5è(
+_ch
+)) \
+
+410 : (\1d\ 5è(*(
+_å
+)->
+_IO_wr\99e_±r
+++ = (
+_ch
+)))
+
+       )
+
+412 #ià
+def\9aed
+_LIBC
+ || def\9aed 
+_GLIBCPP_USE_WCHAR_T
+
+
+413 \ 1
+       #_IO_g\91wc_uÆocked
+(
+_å
+) \
+
+414 (
+       `_IO_BE
+ ((
+_å
+)->
+_wide_d©a
+ =ð
+NULL
+ \
+
+415 || ((
+_å
+)->
+_wide_d©a
+->
+_IO_»ad_±r
+ \
+
+416 >ð(
+_å
+)->
+_wide_d©a
+->
+_IO_»ad_\92d
+), 0) \
+
+417 ? 
+       `__wuæow
+ (
+_å
+è: (
+_IO_w\9at_t
+è*(_å)->
+_wide_d©a
+->
+_IO_»ad_±r
+++)
+
+       )
+
+418 \ 1
+       #_IO_putwc_uÆocked
+(
+_wch
+, 
+_å
+) \
+
+419 (
+       `_IO_BE
+ ((
+_å
+)->
+_wide_d©a
+ =ð
+NULL
+ \
+
+420 || ((
+_å
+)->
+_wide_d©a
+->
+_IO_wr\99e_±r
+ \
+
+421 >ð(
+_å
+)->
+_wide_d©a
+->
+_IO_wr\99e_\92d
+), 0) \
+
+422 ? 
+       `__wov\94æow
+ (
+_å
+, 
+_wch
+) \
+
+423 : (
+_IO_w\9at_t
+è(*(
+_å
+)->
+_wide_d©a
+->
+_IO_wr\99e_±r
+++ = (
+_wch
+)))
+
+       )
+
+426 \ 1
+       #_IO_ãof_uÆocked
+(
+__å
+è(((__å)->
+_æags
+ & 
+_IO_EOF_SEEN
+è!ð0)
+
+       )
+
+427 \ 1
+       #_IO_ã¼Ü_uÆocked
+(
+__å
+è(((__å)->
+_æags
+ & 
+_IO_ERR_SEEN
+è!ð0)
+
+       )
+
+429 \r\12
+_IO_g\91c
+ (
+_IO_FILE
+ *
+__å
+);
+
+430 \r\12
+_IO_putc
+ (\12
+__c
+, 
+_IO_FILE
+ *
+__å
+);
+
+431 \r\12
+_IO_ãof
+ (
+_IO_FILE
+ *
+__å
+__THROW
+;
+
+432 \r\12
+_IO_ã¼Ü
+ (
+_IO_FILE
+ *
+__å
+__THROW
+;
+
+434 \r\12
+_IO_³ekc_locked
+ (
+_IO_FILE
+ *
+__å
+);
+
+437 \ 1
+       #_IO_PENDING_OUTPUT_COUNT
+(
+_å
+) \
+
+438 ((
+_å
+)->
+_IO_wr\99e_±r
+ - (_å)->
+_IO_wr\99e_ba£
+)
+
+       )
+
+440 \r\1e
+_IO_æockf\9ee
+ (
+_IO_FILE
+ *è
+__THROW
+;
+
+441 \r\1e
+_IO_fuÆockf\9ee
+ (
+_IO_FILE
+ *è
+__THROW
+;
+
+442 \r\12
+_IO_árylockf\9ee
+ (
+_IO_FILE
+ *è
+__THROW
+;
+
+444 #ifdeà
+_IO_MTSAFE_IO
+
+
+445 \ 1
+       #_IO_³ekc
+(
+_å
+       `_IO_³ekc_locked
+ (_å)
+
+       )
+
+446 \ 1
+       #_IO_æockf\9ee
+(
+_å
+) \
+
+447 ià(((
+_å
+)->
+_æags
+ & 
+_IO_USER_LOCK
+è=ð0è
+       `_IO_æockf\9ee
+ (_å)
+
+       )
+
+448 \ 1
+       #_IO_fuÆockf\9ee
+(
+_å
+) \
+
+449 ià(((
+_å
+)->
+_æags
+ & 
+_IO_USER_LOCK
+è=ð0è
+       `_IO_fuÆockf\9ee
+ (_å)
+
+       )
+
+451 \ 1
+       #_IO_³ekc
+(
+_å
+       `_IO_³ekc_uÆocked
+ (_å)
+
+       )
+
+452 \ 1
+       #_IO_æockf\9ee
+(
+_å
+
+       )
+
+453 \ 1
+       #_IO_fuÆockf\9ee
+(
+_å
+
+       )
+
+454 \ 1
+       #_IO_árylockf\9ee
+(
+_å
+
+       )
+
+455 \ 1
+       #_IO_þ\97nup_»giÚ_¡¬t
+(
+_fù
+, 
+_å
+
+       )
+
+456 \ 1
+       #_IO_þ\97nup_»giÚ_\92d
+(
+_Do\99
+
+       )
+
+459 \r\12
+_IO_vfsÿnf
+ (
+_IO_FILE
+ * 
+__»¡riù
+, const \ 5* __restrict,
+
+460 
+_IO_va_li¡
+, \12*
+__»¡riù
+);
+
+461 \r\12
+_IO_vår\9atf
+ (
+_IO_FILE
+ *
+__»¡riù
+, const \ 5*__restrict,
+
+462 
+_IO_va_li¡
+);
+
+463 \r
+_IO_ssize_t
+_IO_·dn
+ (
+_IO_FILE
+ *, \12, _IO_ssize_t);
+
+464 \r
+_IO_size_t
+_IO_sg\91n
+ (
+_IO_FILE
+ *, \1e*, _IO_size_t);
+
+466 \r
+_IO_off64_t
+_IO_£ekoff
+ (
+_IO_FILE
+ *, _IO_off64_t, \12\12);
+
+467 \r
+_IO_off64_t
+_IO_£ekpos
+ (
+_IO_FILE
+ *, _IO_off64_t, \12);
+
+469 \r\1e
+_IO_ä\93_backup_¬\97
+ (
+_IO_FILE
+ *è
+__THROW
+;
+
+471 #ià
+def\9aed
+_LIBC
+ || def\9aed 
+_GLIBCPP_USE_WCHAR_T
+
+
+472 \r
+_IO_w\9at_t
+_IO_g\91wc
+ (
+_IO_FILE
+ *
+__å
+);
+
+473 \r
+_IO_w\9at_t
+_IO_putwc
+ (
+wch¬_t
+__wc
+, 
+_IO_FILE
+ *
+__å
+);
+
+474 \r\12
+_IO_fwide
+ (
+_IO_FILE
+ *
+__å
+, \12
+__mode
+__THROW
+;
+
+475 #ià
+__GNUC__
+ >= 2
+
+478 #ià
+def\9aed
+_LIBC
+ && def\9aed 
+SHARED
+
+
+479 \ 2
+       ~<shlib-com·t.h
+>
+
+480 #ià
+SHLIB_COMPAT
+ (
+libc
+, 
+GLIBC_2_0
+, 
+GLIBC_2_1
+)
+
+481 \ 1
+       #_IO_fwide_maybe_\9acom·tibË
+ \
+
+482 (
+       `__bu\9et\9a_ex³ù
+ (&
+_IO_¡d\9a_u£d
+ =ð
+NULL
+, 0))
+
+       )
+
+483 \rcڡ \12
+_IO_¡d\9a_u£d
+;
+
+484 
+w\97k_ex\8bº
+ (
+_IO_¡d\9a_u£d
+);
+
+487 #iâdeà
+_IO_fwide_maybe_\9acom·tibË
+
+
+488 \ 1
+       #_IO_fwide_maybe_\9acom·tibË
+ (0)
+
+       )
+
+492 \ 1
+       #_IO_fwide
+(
+__å
+, 
+__mode
+) \
+
+493 ({ \12
+__»suÉ
+ = (
+__mode
+); \
+
+494 ià(
+__»suÉ
+ < 0 && ! 
+_IO_fwide_maybe_\9acom·tibË
+) \
+
+496 ià((
+__å
+)->
+_mode
+ == 0) \
+
+498 (
+__å
+)->
+_mode
+ = -1; \
+
+499 
+__»suÉ
+ = (
+__å
+)->
+_mode
+; \
+
+501 \vià(
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+__mode
+) && (__mode) == 0) \
+
+502 
+__»suÉ
+ = 
+_IO_fwide_maybe_\9acom·tibË
+ ? -1 : (
+__å
+)->
+_mode
+; \
+
+504 
+__»suÉ
+ = 
+       `_IO_fwide
+ (
+__å
+, __result); \
+
+505 
+__»suÉ
+; })
+
+       )
+
+508 \r\12
+_IO_vfwsÿnf
+ (
+_IO_FILE
+ * 
+__»¡riù
+, cڡ 
+wch¬_t
+ * __restrict,
+
+509 
+_IO_va_li¡
+, \12*
+__»¡riù
+);
+
+510 \r\12
+_IO_vfw´\9atf
+ (
+_IO_FILE
+ *
+__»¡riù
+, cڡ 
+wch¬_t
+ *__restrict,
+
+511 
+_IO_va_li¡
+);
+
+512 \r
+_IO_ssize_t
+_IO_w·dn
+ (
+_IO_FILE
+ *, 
+w\9at_t
+, _IO_ssize_t);
+
+513 \r\1e
+_IO_ä\93_wbackup_¬\97
+ (
+_IO_FILE
+ *è
+__THROW
+;
+
+516 #ifdeà
+__LDBL_COMPAT
+
+
+517 \ 2
+       ~<b\99s/libio-ldbl.h
+>
+
+520 #ifdeà
+__ýlu¥lus
+
+
+       @/usr/include/limits.h
+
+22 #iâdeà
+_LIBC_LIMITS_H_
+
+
+23 \ 1
+       #_LIBC_LIMITS_H_
+ 1
+
+       )
+
+25 \ 2
+       ~<ã©u»s.h
+>
+
+31 \ 1
+       #MB_LEN_MAX
+ 16
+
+       )
+
+36 #ià!
+def\9aed
+__GNUC__
+ || __GNUC__ < 2
+
+41 #iâdeà
+_LIMITS_H
+
+
+42 \ 1
+       #_LIMITS_H
+ 1
+
+       )
+
+44 \ 2
+       ~<b\99s/wÜdsize.h
+>
+
+53 \ 1
+       #CHAR_BIT
+ 8
+
+       )
+
+56 \ 1
+       #SCHAR_MIN
+ (-128)
+
+       )
+
+57 \ 1
+       #SCHAR_MAX
+ 127
+
+       )
+
+60 \ 1
+       #UCHAR_MAX
+ 255
+
+       )
+
+63 #ifdeà
+__CHAR_UNSIGNED__
+
+
+64 \ 1
+       #CHAR_MIN
+ 0
+
+       )
+
+65 \ 1
+       #CHAR_MAX
+UCHAR_MAX
+
+
+       )
+
+67 \ 1
+       #CHAR_MIN
+SCHAR_MIN
+
+
+       )
+
+68 \ 1
+       #CHAR_MAX
+SCHAR_MAX
+
+
+       )
+
+72 \ 1
+       #SHRT_MIN
+ (-32768)
+
+       )
+
+73 \ 1
+       #SHRT_MAX
+ 32767
+
+       )
+
+76 \ 1
+       #USHRT_MAX
+ 65535
+
+       )
+
+79 \ 1
+       #INT_MIN
+ (-
+INT_MAX
+ - 1)
+
+       )
+
+80 \ 1
+       #INT_MAX
+ 2147483647
+
+       )
+
+83 \ 1
+       #UINT_MAX
+ 4294967295U
+
+       )
+
+86 #ià
+__WORDSIZE
+ == 64
+
+87 \ 1
+       #LONG_MAX
+ 9223372036854775807L
+
+       )
+
+89 \ 1
+       #LONG_MAX
+ 2147483647L
+
+       )
+
+91 \ 1
+       #LONG_MIN
+ (-
+LONG_MAX
+ - 1L)
+
+       )
+
+94 #ià
+__WORDSIZE
+ == 64
+
+95 \ 1
+       #ULONG_MAX
+ 18446744073709551615UL
+
+       )
+
+97 \ 1
+       #ULONG_MAX
+ 4294967295UL
+
+       )
+
+100 #ifdeà
+__USE_ISOC99
+
+
+103 \ 1
+       #LLONG_MAX
+ 9223372036854775807LL
+
+       )
+
+104 \ 1
+       #LLONG_MIN
+ (-
+LLONG_MAX
+ - 1LL)
+
+       )
+
+107 \ 1
+       #ULLONG_MAX
+ 18446744073709551615ULL
+
+       )
+
+121 #ià
+def\9aed
+__GNUC__
+ && !def\9aed 
+_GCC_LIMITS_H_
+
+
+123 #\9aþude_Ãx\88<
+lim\99s
+.
+h
+>
+
+129 #ià
+def\9aed
+__USE_ISOC99
+ && def\9aed 
+__GNUC__
+
+
+130 #iâdeà
+LLONG_MIN
+
+
+131 \ 1
+       #LLONG_MIN
+ (-
+LLONG_MAX
+-1)
+
+       )
+
+133 #iâdeà
+LLONG_MAX
+
+
+134 \ 1
+       #LLONG_MAX
+__LONG_LONG_MAX__
+
+
+       )
+
+136 #iâdeà
+ULLONG_MAX
+
+
+137 \ 1
+       #ULLONG_MAX
+ (
+LLONG_MAX
+ * 2ULL + 1)
+
+       )
+
+141 #ifdef 
+__USE_POSIX
+
+
+143 \ 2
+       ~<b\99s/posix1_lim.h
+>
+
+146 #ifdef 
+__USE_POSIX2
+
+
+147 \ 2
+       ~<b\99s/posix2_lim.h
+>
+
+150 #ifdef 
+__USE_XOPEN
+
+
+151 \ 2
+       ~<b\99s/xÝ\92_lim.h
+>
+
+       @/usr/include/sys/select.h
+
+21 #iâdeà
+_SYS_SELECT_H
+
+
+22 \ 1
+       #_SYS_SELECT_H
+ 1
+
+       )
+
+24 \ 2
+       ~<ã©u»s.h
+>
+
+27 \ 2
+       ~<b\99s/ty³s.h
+>
+
+30 \ 2
+       ~<b\99s/£Ëù.h
+>
+
+33 \ 2
+       ~<b\99s/sig£t.h
+>
+
+35 #iâdeà
+__sig£t_t_def\9aed
+
+
+36 \ 1
+       #__sig£t_t_def\9aed
+
+
+       )
+
+37 \e
+__sig£t_t
+       tsig£t_t
+;
+
+41 \ 1
+       #__Ãed_time_t
+
+
+       )
+
+42 \ 1
+       #__Ãed_time¥ec
+
+
+       )
+
+43 \ 2
+       ~<time.h
+>
+
+44 \ 1
+       #__Ãed_timev®
+
+
+       )
+
+45 \ 2
+       ~<b\99s/time.h
+>
+
+47 #iâdeà
+__su£cÚds_t_def\9aed
+
+
+48 \e
+__su£cÚds_t
+       tsu£cÚds_t
+;
+
+49 \ 1
+       #__su£cÚds_t_def\9aed
+
+
+       )
+
+54 \e\13\12
+       t__fd_mask
+;
+
+57 #undeà
+__NFDBITS
+
+
+59 \ 1
+       #__NFDBITS
+ (8 * (\12è\17 (
+__fd_mask
+))
+
+       )
+
+60 \ 1
+       #__FD_ELT
+(
+d
+è((dè/ 
+__NFDBITS
+)
+
+       )
+
+61 \ 1
+       #__FD_MASK
+(
+d
+è((
+__fd_mask
+è(1UL << ((dè% 
+__NFDBITS
+)))
+
+       )
+
+68 #ifdeà
+__USE_XOPEN
+
+
+69 
+__fd_mask
+       mfds_b\99s
+[
+__FD_SETSIZE
+ / 
+__NFDBITS
+];
+
+70 \ 1
+       #__FDS_BITS
+(
+£t
+è((£t)->
+fds_b\99s
+)
+
+       )
+
+72 
+__fd_mask
+       m__fds_b\99s
+[
+__FD_SETSIZE
+ / 
+__NFDBITS
+];
+
+73 \ 1
+       #__FDS_BITS
+(
+£t
+è((£t)->
+__fds_b\99s
+)
+
+       )
+
+75 } 
+       tfd_£t
+;
+
+78 \ 1
+       #FD_SETSIZE
+__FD_SETSIZE
+
+
+       )
+
+80 #ifdeà
+__USE_MISC
+
+
+82 \e
+__fd_mask
+       tfd_mask
+;
+
+85 \ 1
+       #NFDBITS
+__NFDBITS
+
+
+       )
+
+90 \ 1
+       #FD_SET
+(
+fd
+, 
+fd£\8d
+       `__FD_SET
+ (fd, fd£\8d)
+
+       )
+
+91 \ 1
+       #FD_CLR
+(
+fd
+, 
+fd£\8d
+       `__FD_CLR
+ (fd, fd£\8d)
+
+       )
+
+92 \ 1
+       #FD_ISSET
+(
+fd
+, 
+fd£\8d
+       `__FD_ISSET
+ (fd, fd£\8d)
+
+       )
+
+93 \ 1
+       #FD_ZERO
+(
+fd£\8d
+       `__FD_ZERO
+ (fd£\8d)
+
+       )
+
+96 
+__BEGIN_DECLS
+
+
+106 \r\12
+£Ëù
+ (\12
+__nfds
+, 
+fd_£t
+ *
+__»¡riù
+__»adfds
+,
+
+107 
+fd_£t
+ *
+__»¡riù
+__wr\99efds
+,
+
+108 
+fd_£t
+ *
+__»¡riù
+__exû±fds
+,
+
+109 \19
+timev®
+ *
+__»¡riù
+__timeout
+);
+
+111 #ifdeà
+__USE_XOPEN2K
+
+
+118 \r\12
+p£Ëù
+ (\12
+__nfds
+, 
+fd_£t
+ *
+__»¡riù
+__»adfds
+,
+
+119 
+fd_£t
+ *
+__»¡riù
+__wr\99efds
+,
+
+120 
+fd_£t
+ *
+__»¡riù
+__exû±fds
+,
+
+121 cڡ \19
+time¥ec
+ *
+__»¡riù
+__timeout
+,
+
+122 cڡ 
+__sig£t_t
+ *
+__»¡riù
+__sigmask
+);
+
+127 #ià
+__USE_FORTIFY_LEVEL
+ > 0 && 
+def\9aed
+__GNUC__
+
+
+128 \ 2
+       ~<b\99s/£Ëù2.h
+>
+
+131 
+       g__END_DECLS
+
+
+       @/usr/include/sys/sysmacros.h
+
+19 #iâdeà
+_SYS_SYSMACROS_H
+
+
+20 \ 1
+       #_SYS_SYSMACROS_H
+ 1
+
+       )
+
+22 \ 2
+       ~<ã©u»s.h
+>
+
+24 
+__BEGIN_DECLS
+
+
+26 
+__ex\8bnsiÚ__
+
+
+27 \r\1d\12
+       $gnu_dev_majÜ
+ (\1d\13\13\12
+__dev
+)
+
+28 
+__THROW
+__©\8cibu\8b_cÚ¡__
+;
+
+29 
+__ex\8bnsiÚ__
+
+
+30 \r\1d\12
+       $gnu_dev_m\9aÜ
+ (\1d\13\13\12
+__dev
+)
+
+31 
+__THROW
+__©\8cibu\8b_cÚ¡__
+;
+
+32 
+__ex\8bnsiÚ__
+
+
+33 \r\1d\13\13\12
+       $gnu_dev_makedev
+ (\1d\12
+__majÜ
+,
+
+34 \1d\12
+__m\9aÜ
+)
+
+35 
+__THROW
+__©\8cibu\8b_cÚ¡__
+;
+
+37 #ifdeà
+__USE_EXTERN_INLINES
+
+
+38 
+__ex\8bnsiÚ__
+__ex\8bº_\9al\9ae
+__©\8cibu\8b_cÚ¡__
\1d\12
+
+39 
+       `__NTH
+ (
+       $gnu_dev_majÜ
+ (\1d\13\13\12
+__dev
+))
+
+41 \15 ((
+__dev
+ >> 8) & 0xfff) | ((\1d\12) (__dev >> 32) & ~0xfff);
+
+42 
+       }
+}
+
+44 
+__ex\8bnsiÚ__
+__ex\8bº_\9al\9ae
+__©\8cibu\8b_cÚ¡__
\1d\12
+
+45 
+__NTH
+ (
+       $gnu_dev_m\9aÜ
+ (\1d\13\13\12
+__dev
+))
+
+47 \15 (
+__dev
+ & 0xff) | ((\1d\12) (__dev >> 12) & ~0xff);
+
+48 
+       }
+}
+
+50 
+__ex\8bnsiÚ__
+__ex\8bº_\9al\9ae
+__©\8cibu\8b_cÚ¡__
\1d\13\13\12
+
+51 
+__NTH
+ (
+       $gnu_dev_makedev
+ (\1d\12
+__majÜ
+, \1d\12
+__m\9aÜ
+))
+
+53 \15 ((
+__m\9aÜ
+ & 0xffè| ((
+__majÜ
+ & 0xfff) << 8)
+
+54 | (((\1d\13\13\12è(
+__m\9aÜ
+ & ~0xff)) << 12)
+
+55 | (((\1d\13\13\12è(
+__majÜ
+ & ~0xfff)) << 32));
+
+56 
+       }
+}
+
+58 
+       g__END_DECLS
+
+
+61 \ 1
+       #majÜ
+(
+dev
+       `gnu_dev_majÜ
+ (dev)
+
+       )
+
+62 \ 1
+       #m\9aÜ
+(
+dev
+       `gnu_dev_m\9aÜ
+ (dev)
+
+       )
+
+63 \ 1
+       #makedev
+(
+maj
+, 
+m\9a
+       `gnu_dev_makedev
+ (maj, m\9a)
+
+       )
+
+       @/usr/include/sys/ucontext.h
+
+18 #iâdeà
+_SYS_UCONTEXT_H
+
+
+19 \ 1
+       #_SYS_UCONTEXT_H
+ 1
+
+       )
+
+21 \ 2
+       ~<ã©u»s.h
+>
+
+22 \ 2
+       ~<sigÇl.h
+>
+
+26 \ 2
+       ~<b\99s/sigcÚ\8bxt.h
+>
+
+28 #ifdeà
+__x86_64__
+
+
+31 
+__ex\8bnsiÚ__
\e\13\13\12
+       tg»g_t
+;
+
+34 \ 1
+       #NGREG
+ 23
+
+       )
+
+37 \e
+g»g_t
+       tg»g£t_t
+[
+NGREG
+];
+
+39 #ifdeà
+__USE_GNU
+
+
+43 
+       mREG_R8
+ = 0,
+
+44 \ 1
+       #REG_R8
+REG_R8
+
+
+       )
+
+45 
+       mREG_R9
+,
+
+46 \ 1
+       #REG_R9
+REG_R9
+
+
+       )
+
+47 
+       mREG_R10
+,
+
+48 \ 1
+       #REG_R10
+REG_R10
+
+
+       )
+
+49 
+       mREG_R11
+,
+
+50 \ 1
+       #REG_R11
+REG_R11
+
+
+       )
+
+51 
+       mREG_R12
+,
+
+52 \ 1
+       #REG_R12
+REG_R12
+
+
+       )
+
+53 
+       mREG_R13
+,
+
+54 \ 1
+       #REG_R13
+REG_R13
+
+
+       )
+
+55 
+       mREG_R14
+,
+
+56 \ 1
+       #REG_R14
+REG_R14
+
+
+       )
+
+57 
+       mREG_R15
+,
+
+58 \ 1
+       #REG_R15
+REG_R15
+
+
+       )
+
+59 
+       mREG_RDI
+,
+
+60 \ 1
+       #REG_RDI
+REG_RDI
+
+
+       )
+
+61 
+       mREG_RSI
+,
+
+62 \ 1
+       #REG_RSI
+REG_RSI
+
+
+       )
+
+63 
+       mREG_RBP
+,
+
+64 \ 1
+       #REG_RBP
+REG_RBP
+
+
+       )
+
+65 
+       mREG_RBX
+,
+
+66 \ 1
+       #REG_RBX
+REG_RBX
+
+
+       )
+
+67 
+       mREG_RDX
+,
+
+68 \ 1
+       #REG_RDX
+REG_RDX
+
+
+       )
+
+69 
+       mREG_RAX
+,
+
+70 \ 1
+       #REG_RAX
+REG_RAX
+
+
+       )
+
+71 
+       mREG_RCX
+,
+
+72 \ 1
+       #REG_RCX
+REG_RCX
+
+
+       )
+
+73 
+       mREG_RSP
+,
+
+74 \ 1
+       #REG_RSP
+REG_RSP
+
+
+       )
+
+75 
+       mREG_RIP
+,
+
+76 \ 1
+       #REG_RIP
+REG_RIP
+
+
+       )
+
+77 
+       mREG_EFL
+,
+
+78 \ 1
+       #REG_EFL
+REG_EFL
+
+
+       )
+
+79 
+       mREG_CSGSFS
+,
+
+80 \ 1
+       #REG_CSGSFS
+REG_CSGSFS
+
+
+       )
+
+81 
+       mREG_ERR
+,
+
+82 \ 1
+       #REG_ERR
+REG_ERR
+
+
+       )
+
+83 
+       mREG_TRAPNO
+,
+
+84 \ 1
+       #REG_TRAPNO
+REG_TRAPNO
+
+
+       )
+
+85 
+       mREG_OLDMASK
+,
+
+86 \ 1
+       #REG_OLDMASK
+REG_OLDMASK
+
+
+       )
+
+87 
+       mREG_CR2
+
+
+88 \ 1
+       #REG_CR2
+REG_CR2
+
+
+       )
+
+92 \19
+       s_libc_åx»g
+
+
+94 \1d\16\12
+       msignifiÿnd
+[4];
+
+95 \1d\16\12
+       mexpڒt
+;
+
+96 \1d\16\12
+       m·dd\9ag
+[3];
+
+99 \19
+       s_libc_xmm»g
+
+
+101 
+__u\9at32_t
+       m\96em\92t
+[4];
+
+104 \19
+       s_libc_塩e
+
+
+107 
+__u\9at16_t
+       mcwd
+;
+
+108 
+__u\9at16_t
+       mswd
+;
+
+109 
+__u\9at16_t
+       máw
+;
+
+110 
+__u\9at16_t
+       mfÝ
+;
+
+111 
+__u\9at64_t
+       mr\9d
+;
+
+112 
+__u\9at64_t
+       mrdp
+;
+
+113 
+__u\9at32_t
+       mmxc¤
+;
+
+114 
+__u\9at32_t
+       mmxü_mask
+;
+
+115 \19
+_libc_åx»g
+       m_¡
+[8];
+
+116 \19
+_libc_xmm»g
+       m_xmm
+[16];
+
+117 
+__u\9at32_t
+       m·dd\9ag
+[24];
+
+121 \e\19
+_libc_塩e
+ *
+       tå»g£t_t
+;
+
+126 
+g»g£t_t
+       mg»gs
+;
+
+128 
+å»g£t_t
+       må»gs
+;
+
+129 
+__ex\8bnsiÚ__
\1d\13\13
+       m__»£rved1
+ [8];
+
+130 } 
+       tmcڋxt_t
+;
+
+133 \e\19
+       sucڋxt
+
+
+135 \1d\13\12
+       muc_æags
+;
+
+136 \19
+ucڋxt
+ *
+       muc_l\9ak
+;
+
+137 
+¡ack_t
+       muc_¡ack
+;
+
+138 
+mcڋxt_t
+       muc_mcڋxt
+;
+
+139 
+__sig£t_t
+       muc_sigmask
+;
+
+140 \19
+_libc_塩e
+       m__å»gs_mem
+;
+
+141 } 
+       tucڋxt_t
+;
+
+146 \e\12
+       tg»g_t
+;
+
+149 \ 1
+       #NGREG
+ 19
+
+       )
+
+152 \e
+g»g_t
+       tg»g£t_t
+[
+NGREG
+];
+
+154 #ifdeà
+__USE_GNU
+
+
+158 
+       mREG_GS
+ = 0,
+
+159 \ 1
+       #REG_GS
+REG_GS
+
+
+       )
+
+160 
+       mREG_FS
+,
+
+161 \ 1
+       #REG_FS
+REG_FS
+
+
+       )
+
+162 
+       mREG_ES
+,
+
+163 \ 1
+       #REG_ES
+REG_ES
+
+
+       )
+
+164 
+       mREG_DS
+,
+
+165 \ 1
+       #REG_DS
+REG_DS
+
+
+       )
+
+166 
+       mREG_EDI
+,
+
+167 \ 1
+       #REG_EDI
+REG_EDI
+
+
+       )
+
+168 
+       mREG_ESI
+,
+
+169 \ 1
+       #REG_ESI
+REG_ESI
+
+
+       )
+
+170 
+       mREG_EBP
+,
+
+171 \ 1
+       #REG_EBP
+REG_EBP
+
+
+       )
+
+172 
+       mREG_ESP
+,
+
+173 \ 1
+       #REG_ESP
+REG_ESP
+
+
+       )
+
+174 
+       mREG_EBX
+,
+
+175 \ 1
+       #REG_EBX
+REG_EBX
+
+
+       )
+
+176 
+       mREG_EDX
+,
+
+177 \ 1
+       #REG_EDX
+REG_EDX
+
+
+       )
+
+178 
+       mREG_ECX
+,
+
+179 \ 1
+       #REG_ECX
+REG_ECX
+
+
+       )
+
+180 
+       mREG_EAX
+,
+
+181 \ 1
+       #REG_EAX
+REG_EAX
+
+
+       )
+
+182 
+       mREG_TRAPNO
+,
+
+183 \ 1
+       #REG_TRAPNO
+REG_TRAPNO
+
+
+       )
+
+184 
+       mREG_ERR
+,
+
+185 \ 1
+       #REG_ERR
+REG_ERR
+
+
+       )
+
+186 
+       mREG_EIP
+,
+
+187 \ 1
+       #REG_EIP
+REG_EIP
+
+
+       )
+
+188 
+       mREG_CS
+,
+
+189 \ 1
+       #REG_CS
+REG_CS
+
+
+       )
+
+190 
+       mREG_EFL
+,
+
+191 \ 1
+       #REG_EFL
+REG_EFL
+
+
+       )
+
+192 
+       mREG_UESP
+,
+
+193 \ 1
+       #REG_UESP
+REG_UESP
+
+
+       )
+
+194 
+       mREG_SS
+
+
+195 \ 1
+       #REG_SS
+REG_SS
+
+
+       )
+
+200 \19
+       s_libc_å»g
+
+
+202 \1d\16\12
+       msignifiÿnd
+[4];
+
+203 \1d\16\12
+       mexpڒt
+;
+
+206 \19
+       s_libc_塩e
+
+
+208 \1d\13\12
+       mcw
+;
+
+209 \1d\13\12
+       msw
+;
+
+210 \1d\13\12
+       m\8fg
+;
+
+211 \1d\13\12
+       m\9doff
+;
+
+212 \1d\13\12
+       mcs£l
+;
+
+213 \1d\13\12
+       md©aoff
+;
+
+214 \1d\13\12
+       md©a£l
+;
+
+215 \19
+_libc_å»g
+       m_¡
+[8];
+
+216 \1d\13\12
+       m¡©us
+;
+
+220 \e\19
+_libc_塩e
+ *
+       tå»g£t_t
+;
+
+225 
+g»g£t_t
+       mg»gs
+;
+
+228 
+å»g£t_t
+       må»gs
+;
+
+229 \1d\13\12
+       mÞdmask
+;
+
+230 \1d\13\12
+       mü2
+;
+
+231 } 
+       tmcڋxt_t
+;
+
+234 \e\19
+       sucڋxt
+
+
+236 \1d\13\12
+       muc_æags
+;
+
+237 \19
+ucڋxt
+ *
+       muc_l\9ak
+;
+
+238 
+¡ack_t
+       muc_¡ack
+;
+
+239 
+mcڋxt_t
+       muc_mcڋxt
+;
+
+240 
+__sig£t_t
+       muc_sigmask
+;
+
+241 \19
+_libc_塩e
+       m__å»gs_mem
+;
+
+242 } 
+       tucڋxt_t
+;
+
+       @/usr/include/sys/uio.h
+
+18 #iâdeà
+_SYS_UIO_H
+
+
+19 \ 1
+       #_SYS_UIO_H
+ 1
+
+       )
+
+21 \ 2
+       ~<ã©u»s.h
+>
+
+23 \ 2
+       ~<sys/ty³s.h
+>
+
+25 
+       g__BEGIN_DECLS
+
+
+28 \ 2
+       ~<b\99s/uio.h
+>
+
+39 \r
+ssize_t
+       $»adv
+ (\12
+__fd
+, cڡ \19
+iovec
+ *
+__iovec
+, \12
+__couÁ
+)
+
+40 
+__wur
+;
+
+50 \r
+ssize_t
+       $wr\99ev
+ (\12
+__fd
+, cڡ \19
+iovec
+ *
+__iovec
+, \12
+__couÁ
+)
+
+51 
+__wur
+;
+
+54 #ifdeà
+__USE_MISC
+
+
+55 #iâdeà
+__USE_FILE_OFFSET64
+
+
+65 \r
+ssize_t
+       $´\97dv
+ (\12
+__fd
+, cڡ \19
+iovec
+ *
+__iovec
+, \12
+__couÁ
+,
+
+66 
+__off_t
+__off£t
+__wur
+;
+
+77 \r
+ssize_t
+       $pwr\99ev
+ (\12
+__fd
+, cڡ \19
+iovec
+ *
+__iovec
+, \12
+__couÁ
+,
+
+78 
+__off_t
+__off£t
+__wur
+;
+
+80 #ifdeà
+__REDIRECT
+
+
+81 \r
+ssize_t
+       `__REDIRECT
+ (
\97dv
+, (\12
+__fd
+, cڡ \19
+iovec
+ *
+__iovec
+,
+
+82 \12
+__couÁ
+, 
+__off64_t
+__off£t
+),
+
+83 
\97dv64
+__wur
+;
+
+84 \r
+ssize_t
+       `__REDIRECT
+ (
+pwr\99ev
+, (\12
+__fd
+, cڡ \19
+iovec
+ *
+__iovec
+,
+
+85 \12
+__couÁ
+, 
+__off64_t
+__off£t
+),
+
+86 
+pwr\99ev64
+__wur
+;
+
+88 \ 1
+       #´\97dv
\97dv64
+
+
+       )
+
+89 \ 1
+       #pwr\99ev
+pwr\99ev64
+
+
+       )
+
+93 #ifdeà
+__USE_LARGEFILE64
+
+
+103 \r
+ssize_t
+       $´\97dv64
+ (\12
+__fd
+, cڡ \19
+iovec
+ *
+__iovec
+, \12
+__couÁ
+,
+
+104 
+__off64_t
+__off£t
+__wur
+;
+
+115 \r
+ssize_t
+       $pwr\99ev64
+ (\12
+__fd
+, cڡ \19
+iovec
+ *
+__iovec
+, \12
+__couÁ
+,
+
+116 
+__off64_t
+__off£t
+__wur
+;
+
+120 
+__END_DECLS
+
+
+       @/usr/include/xlocale.h
+
+20 #iâdeà
+_XLOCALE_H
+
+
+21 \ 1
+       #_XLOCALE_H
+ 1
+
+       )
+
+27 \e\19
+       s__loÿË_¡ruù
+
+
+30 \19
+__loÿË_d©a
+ *
+       m__loÿËs
+[13];
+
+33 cڡ \1d\16\12*
+       m__ùy³_b
+;
+
+34 cڡ \12*
+       m__ùy³_tÞow\94
+;
+
+35 cڡ \12*
+       m__ùy³_touµ\94
+;
+
+38 cڡ \ 5*
+       m__Çmes
+[13];
+
+39 } *
+       t__loÿË_t
+;
+
+42 \e
+__loÿË_t
+       tloÿË_t
+;
+
+       @/usr/include/_G_config.h
+
+4 #iâdeà
+_G_cÚfig_h
+
+
+5 \ 1
+       #_G_cÚfig_h
+ 1
+
+       )
+
+9 \ 2
+       ~<b\99s/ty³s.h
+>
+
+10 \ 1
+       #__Ãed_size_t
+
+
+       )
+
+11 #ià
+def\9aed
+_LIBC
+ || def\9aed 
+_GLIBCPP_USE_WCHAR_T
+
+
+12 \ 1
+       #__Ãed_wch¬_t
+
+
+       )
+
+14 \ 1
+       #__Ãed_NULL
+
+
+       )
+
+15 \ 2
+       ~<¡ddef.h
+>
+
+16 \ 1
+       #__Ãed_mb¡©e_t
+
+
+       )
+
+17 #ià
+def\9aed
+_LIBC
+ || def\9aed 
+_GLIBCPP_USE_WCHAR_T
+
+
+18 \ 1
+       #__Ãed_w\9at_t
+
+
+       )
+
+20 \ 2
+       ~<wch¬.h
+>
+
+23 
+__off_t
+       m__pos
+;
+
+24 
+__mb¡©e_t
+       m__¡©e
+;
+
+25 } 
+       t_G_åos_t
+;
+
+28 
+__off64_t
+       m__pos
+;
+
+29 
+__mb¡©e_t
+       m__¡©e
+;
+
+30 } 
+       t_G_åos64_t
+;
+
+31 #ià
+def\9aed
+_LIBC
+ || def\9aed 
+_GLIBCPP_USE_WCHAR_T
+
+
+32 \ 2
+       ~<gcÚv.h
+>
+
+35 \19
+__gcÚv_\9afo
+       m__cd
+;
+
+38 \19
+__gcÚv_\9afo
+       m__cd
+;
+
+39 \19
+__gcÚv_¡\95_d©a
+       m__d©a
+;
+
+40 } 
+       m__comb\9aed
+;
+
+41 } 
+       t_G_icÚv_t
+;
+
+46 \ 1
+       #_G_va_li¡
+__gnuc_va_li¡
+
+
+       )
+
+48 \ 1
+       #_G_HAVE_MMAP
+ 1
+
+       )
+
+49 \ 1
+       #_G_HAVE_MREMAP
+ 1
+
+       )
+
+51 \ 1
+       #_G_IO_IO_FILE_VERSION
+ 0x20001
+
+       )
+
+54 \ 1
+       #_G_HAVE_ST_BLKSIZE
+       `def\9aed
+ (
+_STATBUF_ST_BLKSIZE
+)
+
+       )
+
+56 \ 1
+       #_G_BUFSIZ
+ 8192
+
+       )
+
+       @/usr/include/asm/socket.h
+
+1 \ 2
+       ~<asm-g\92\94ic/sock\91.h
+>
+
+       @/usr/include/bits/byteswap-16.h
+
+19 #iâdeà
+_BITS_BYTESWAP_H
+
+
+23 #ifdeà
+__GNUC__
+
+
+24 #ià
+__GNUC__
+ >= 2
+
+25 \ 1
+       #__bsw­_16
+(
+x
+) \
+
+26 (
+__ex\8bnsiÚ__
+ \
+
+27 ({ \1d\16\12
+__v
+, 
+__x
+ = (\1d\16\12è(
+x
+); \
+
+28 ià(
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+__x
+)) \
+
+29 
+__v
+ = 
+       `__bsw­_cÚ¡ªt_16
+ (
+__x
+); \
+
+31 
+       `__asm__
+ ("rorw $8, %w0" \
+
+32 : "ô" (
+__v
+) \
+
+33 : "0" (
+__x
+) \
+
+35 
+__v
+; }))
+
+       )
+
+38 \ 1
+       #__bsw­_16
+(
+x
+) \
+
+39 (
+__ex\8bnsiÚ__
+ \
+
+40 ({ \1d\16\12
+__x
+ = (\1d\16\12è(
+x
+); \
+
+41 
+       `__bsw­_cÚ¡ªt_16
+ (
+__x
+); }))
+
+       )
+
+44 \18
+__\9al\9ae
\1d\16\12
+
+45 
+       $__bsw­_16
+ (\1d\16\12
+__bsx
+)
+
+47 \15 
+       `__bsw­_cÚ¡ªt_16
+ (
+__bsx
+);
+
+48 
+       }
+}
+
+       @/usr/include/bits/endian.h
+
+3 #iâdeà
+_ENDIAN_H
+
+
+7 \ 1
+       #__BYTE_ORDER
+__LITTLE_ENDIAN
+
+
+       )
+
+       @/usr/include/bits/fcntl-linux.h
+
+19 #iâdef 
+_FCNTL_H
+
+
+37 #ifdeà
+__USE_GNU
+
+
+38 \ 2
+       ~<b\99s/uio.h
+>
+
+42 \ 1
+       #O_ACCMODE
+ 0003
+
+       )
+
+43 \ 1
+       #O_RDONLY
+ 00
+
+       )
+
+44 \ 1
+       #O_WRONLY
+ 01
+
+       )
+
+45 \ 1
+       #O_RDWR
+ 02
+
+       )
+
+46 #iâdeà
+O_CREAT
+
+
+47 \ 1
+       #O_CREAT
+ 0100
+
+       )
+
+49 #iâdeà
+O_EXCL
+
+
+50 \ 1
+       #O_EXCL
+ 0200
+
+       )
+
+52 #iâdeà
+O_NOCTTY
+
+
+53 \ 1
+       #O_NOCTTY
+ 0400
+
+       )
+
+55 #iâdeà
+O_TRUNC
+
+
+56 \ 1
+       #O_TRUNC
+ 01000
+
+       )
+
+58 #iâdeà
+O_APPEND
+
+
+59 \ 1
+       #O_APPEND
+ 02000
+
+       )
+
+61 #iâdeà
+O_NONBLOCK
+
+
+62 \ 1
+       #O_NONBLOCK
+ 04000
+
+       )
+
+64 #iâdeà
+O_NDELAY
+
+
+65 \ 1
+       #O_NDELAY
+O_NONBLOCK
+
+
+       )
+
+67 #iâdeà
+O_SYNC
+
+
+68 \ 1
+       #O_SYNC
+ 04010000
+
+       )
+
+70 \ 1
+       #O_FSYNC
+O_SYNC
+
+
+       )
+
+71 #iâdeà
+O_ASYNC
+
+
+72 \ 1
+       #O_ASYNC
+ 020000
+
+       )
+
+74 #iâdeà
+__O_LARGEFILE
+
+
+75 \ 1
+       #__O_LARGEFILE
+ 0100000
+
+       )
+
+78 #iâdeà
+__O_DIRECTORY
+
+
+79 \ 1
+       #__O_DIRECTORY
+ 0200000
+
+       )
+
+81 #iâdeà
+__O_NOFOLLOW
+
+
+82 \ 1
+       #__O_NOFOLLOW
+ 0400000
+
+       )
+
+84 #iâdeà
+__O_CLOEXEC
+
+
+85 \ 1
+       #__O_CLOEXEC
+ 02000000
+
+       )
+
+87 #iâdeà
+__O_DIRECT
+
+
+88 \ 1
+       #__O_DIRECT
+ 040000
+
+       )
+
+90 #iâdeà
+__O_NOATIME
+
+
+91 \ 1
+       #__O_NOATIME
+ 01000000
+
+       )
+
+93 #iâdeà
+__O_PATH
+
+
+94 \ 1
+       #__O_PATH
+ 010000000
+
+       )
+
+96 #iâdeà
+__O_DSYNC
+
+
+97 \ 1
+       #__O_DSYNC
+ 010000
+
+       )
+
+99 #iâdeà
+__O_TMPFILE
+
+
+100 \ 1
+       #__O_TMPFILE
+ (020000000 | 
+__O_DIRECTORY
+)
+
+       )
+
+103 #iâdeà
+F_GETLK
+
+
+104 #iâdeà
+__USE_FILE_OFFSET64
+
+
+105 \ 1
+       #F_GETLK
+ 5
+
+       )
+
+106 \ 1
+       #F_SETLK
+ 6
+
+       )
+
+107 \ 1
+       #F_SETLKW
+ 7
+
+       )
+
+109 \ 1
+       #F_GETLK
+F_GETLK64
+
+
+       )
+
+110 \ 1
+       #F_SETLK
+F_SETLK64
+
+
+       )
+
+111 \ 1
+       #F_SETLKW
+F_SETLKW64
+
+
+       )
+
+114 #iâdeà
+F_GETLK64
+
+
+115 \ 1
+       #F_GETLK64
+ 12
+
+       )
+
+116 \ 1
+       #F_SETLK64
+ 13
+
+       )
+
+117 \ 1
+       #F_SETLKW64
+ 14
+
+       )
+
+131 #ifdeà
+__USE_GNU
+
+
+132 \ 1
+       #F_OFD_GETLK
+ 36
+
+       )
+
+133 \ 1
+       #F_OFD_SETLK
+ 37
+
+       )
+
+134 \ 1
+       #F_OFD_SETLKW
+ 38
+
+       )
+
+137 #ifdeà
+__USE_LARGEFILE64
+
+
+138 \ 1
+       #O_LARGEFILE
+__O_LARGEFILE
+
+
+       )
+
+141 #ifdeà
+__USE_XOPEN2K8
+
+
+142 \ 1
+       #O_DIRECTORY
+__O_DIRECTORY
+
+
+       )
+
+143 \ 1
+       #O_NOFOLLOW
+__O_NOFOLLOW
+
+
+       )
+
+144 \ 1
+       #O_CLOEXEC
+__O_CLOEXEC
+
+
+       )
+
+147 #ifdeà
+__USE_GNU
+
+
+148 \ 1
+       #O_DIRECT
+__O_DIRECT
+
+
+       )
+
+149 \ 1
+       #O_NOATIME
+__O_NOATIME
+
+
+       )
+
+150 \ 1
+       #O_PATH
+__O_PATH
+
+
+       )
+
+151 \ 1
+       #O_TMPFILE
+__O_TMPFILE
+
+
+       )
+
+157 #ià
+def\9aed
+__USE_POSIX199309
+ || def\9aed 
+__USE_UNIX98
+
+
+158 \ 1
+       #O_DSYNC
+__O_DSYNC
+
+
+       )
+
+159 #ià
+def\9aed
+__O_RSYNC
+
+
+160 \ 1
+       #O_RSYNC
+__O_RSYNC
+
+
+       )
+
+162 \ 1
+       #O_RSYNC
+O_SYNC
+
+
+       )
+
+167 \ 1
+       #F_DUPFD
+ 0
+
+       )
+
+168 \ 1
+       #F_GETFD
+ 1
+
+       )
+
+169 \ 1
+       #F_SETFD
+ 2
+
+       )
+
+170 \ 1
+       #F_GETFL
+ 3
+
+       )
+
+171 \ 1
+       #F_SETFL
+ 4
+
+       )
+
+173 #iâdeà
+__F_SETOWN
+
+
+174 \ 1
+       #__F_SETOWN
+ 8
+
+       )
+
+175 \ 1
+       #__F_GETOWN
+ 9
+
+       )
+
+178 #ià
+def\9aed
+__USE_UNIX98
+ || def\9aed 
+__USE_XOPEN2K8
+
+
+179 \ 1
+       #F_SETOWN
+__F_SETOWN
+
+
+       )
+
+180 \ 1
+       #F_GETOWN
+__F_GETOWN
+
+
+       )
+
+183 #iâdeà
+__F_SETSIG
+
+
+184 \ 1
+       #__F_SETSIG
+ 10
+
+       )
+
+185 \ 1
+       #__F_GETSIG
+ 11
+
+       )
+
+187 #iâdeà
+__F_SETOWN_EX
+
+
+188 \ 1
+       #__F_SETOWN_EX
+ 15
+
+       )
+
+189 \ 1
+       #__F_GETOWN_EX
+ 16
+
+       )
+
+192 #ifdeà
+__USE_GNU
+
+
+193 \ 1
+       #F_SETSIG
+__F_SETSIG
+
+
+       )
+
+194 \ 1
+       #F_GETSIG
+__F_GETSIG
+
+
+       )
+
+195 \ 1
+       #F_SETOWN_EX
+__F_SETOWN_EX
+
+
+       )
+
+196 \ 1
+       #F_GETOWN_EX
+__F_GETOWN_EX
+
+
+       )
+
+199 #ifdeà
+__USE_GNU
+
+
+200 \ 1
+       #F_SETLEASE
+ 1024
+
+       )
+
+201 \ 1
+       #F_GETLEASE
+ 1025
+
+       )
+
+202 \ 1
+       #F_NOTIFY
+ 1026
+
+       )
+
+203 \ 1
+       #F_SETPIPE_SZ
+ 1031
+
+       )
+
+204 \ 1
+       #F_GETPIPE_SZ
+ 1032
+
+       )
+
+206 #ifdeà
+__USE_XOPEN2K8
+
+
+207 \ 1
+       #F_DUPFD_CLOEXEC
+ 1030
+
+       )
+
+212 \ 1
+       #FD_CLOEXEC
+ 1
+
+       )
+
+214 #iâdeà
+F_RDLCK
+
+
+216 \ 1
+       #F_RDLCK
+ 0
+
+       )
+
+217 \ 1
+       #F_WRLCK
+ 1
+
+       )
+
+218 \ 1
+       #F_UNLCK
+ 2
+
+       )
+
+223 #iâdeà
+F_EXLCK
+
+
+224 \ 1
+       #F_EXLCK
+ 4
+
+       )
+
+225 \ 1
+       #F_SHLCK
+ 8
+
+       )
+
+228 #ifdeà
+__USE_MISC
+
+
+230 \ 1
+       #LOCK_SH
+ 1
+
+       )
+
+231 \ 1
+       #LOCK_EX
+ 2
+
+       )
+
+232 \ 1
+       #LOCK_NB
+ 4
+
+       )
+
+234 \ 1
+       #LOCK_UN
+ 8
+
+       )
+
+237 #ifdeà
+__USE_GNU
+
+
+238 \ 1
+       #LOCK_MAND
+ 32
+
+       )
+
+239 \ 1
+       #LOCK_READ
+ 64
+
+       )
+
+240 \ 1
+       #LOCK_WRITE
+ 128
+
+       )
+
+241 \ 1
+       #LOCK_RW
+ 192
+
+       )
+
+244 #ifdeà
+__USE_GNU
+
+
+246 \ 1
+       #DN_ACCESS
+ 0x00000001
+
+       )
+
+247 \ 1
+       #DN_MODIFY
+ 0x00000002
+
+       )
+
+248 \ 1
+       #DN_CREATE
+ 0x00000004
+
+       )
+
+249 \ 1
+       #DN_DELETE
+ 0x00000008
+
+       )
+
+250 \ 1
+       #DN_RENAME
+ 0x00000010
+
+       )
+
+251 \ 1
+       #DN_ATTRIB
+ 0x00000020
+
+       )
+
+252 \ 1
+       #DN_MULTISHOT
+ 0x80000000
+
+       )
+
+256 #ifdeà
+__USE_GNU
+
+
+258 \f
+       e__pid_ty³
+
+
+260 
+       mF_OWNER_TID
+ = 0,
+
+261 
+       mF_OWNER_PID
+,
+
+262 
+       mF_OWNER_PGRP
+,
+
+263 
+       mF_OWNER_GID
+ = 
+F_OWNER_PGRP
+
+
+267 \19
+       sf_owÃr_ex
+
+
+269 \f
+__pid_ty³
+       mty³
+;
+
+270 
+__pid_t
+       mpid
+;
+
+276 #ifdef 
+__USE_MISC
+
+
+277 \ 1
+       #FAPPEND
+O_APPEND
+
+
+       )
+
+278 \ 1
+       #FFSYNC
+O_FSYNC
+
+
+       )
+
+279 \ 1
+       #FASYNC
+O_ASYNC
+
+
+       )
+
+280 \ 1
+       #FNONBLOCK
+O_NONBLOCK
+
+
+       )
+
+281 \ 1
+       #FNDELAY
+O_NDELAY
+
+
+       )
+
+284 #iâdeà
+__POSIX_FADV_DONTNEED
+
+
+285 \ 1
+       #__POSIX_FADV_DONTNEED
+ 4
+
+       )
+
+286 \ 1
+       #__POSIX_FADV_NOREUSE
+ 5
+
+       )
+
+289 #ifdeà
+__USE_XOPEN2K
+
+
+290 \ 1
+       #POSIX_FADV_NORMAL
+ 0
+
+       )
+
+291 \ 1
+       #POSIX_FADV_RANDOM
+ 1
+
+       )
+
+292 \ 1
+       #POSIX_FADV_SEQUENTIAL
+ 2
+
+       )
+
+293 \ 1
+       #POSIX_FADV_WILLNEED
+ 3
+
+       )
+
+294 \ 1
+       #POSIX_FADV_DONTNEED
+__POSIX_FADV_DONTNEED
+
+
+       )
+
+295 \ 1
+       #POSIX_FADV_NOREUSE
+__POSIX_FADV_NOREUSE
+
+
+       )
+
+299 #ifdeà
+__USE_GNU
+
+
+301 \ 1
+       #SYNC_FILE_RANGE_WAIT_BEFORE
+ 1
+
+       )
+
+304 \ 1
+       #SYNC_FILE_RANGE_WRITE
+ 2
+
+       )
+
+307 \ 1
+       #SYNC_FILE_RANGE_WAIT_AFTER
+ 4
+
+       )
+
+312 \ 1
+       #SPLICE_F_MOVE
+ 1
+
+       )
+
+313 \ 1
+       #SPLICE_F_NONBLOCK
+ 2
+
+       )
+
+316 \ 1
+       #SPLICE_F_MORE
+ 4
+
+       )
+
+317 \ 1
+       #SPLICE_F_GIFT
+ 8
+
+       )
+
+321 \ 1
+       #FALLOC_FL_KEEP_SIZE
+ 1
+
+       )
+
+324 \ 1
+       #FALLOC_FL_PUNCH_HOLE
+ 2
+
+       )
+
+325 \ 1
+       #FALLOC_FL_COLLAPSE_RANGE
+ 8
+
+       )
+
+328 \ 1
+       #FALLOC_FL_ZERO_RANGE
+ 16
+
+       )
+
+333 \19
+       sf\9ee_hªdË
+
+
+335 \1d\12
+       mhªdË_by\8bs
+;
+
+336 \12
+       mhªdË_ty³
+;
+
+338 \1d\ 5
+       mf_hªdË
+[0];
+
+342 \ 1
+       #MAX_HANDLE_SZ
+ 128
+
+       )
+
+346 #ifdeà
+__USE_ATFILE
+
+
+347 \ 1
+       #AT_FDCWD
+ -100
+
+       )
+
+350 \ 1
+       #AT_SYMLINK_NOFOLLOW
+ 0x100
+
+       )
+
+351 \ 1
+       #AT_REMOVEDIR
+ 0x200
+
+       )
+
+353 \ 1
+       #AT_SYMLINK_FOLLOW
+ 0x400
+
+       )
+
+354 #ifdeà
+__USE_GNU
+
+
+355 \ 1
+       #AT_NO_AUTOMOUNT
+ 0x800
+
+       )
+
+357 \ 1
+       #AT_EMPTY_PATH
+ 0x1000
+
+       )
+
+359 \ 1
+       #AT_EACCESS
+ 0x200
+
+       )
+
+363 
+       g__BEGIN_DECLS
+
+
+365 #ifdeà
+__USE_GNU
+
+
+368 \r
+ssize_t
+       $»adah\97d
+ (\12
+__fd
+, 
+__off64_t
+__off£t
+, 
+size_t
+__couÁ
+)
+
+369 
+__THROW
+;
+
+376 \r\12
+       `sync_f\9ee_¿nge
+ (\12
+__fd
+, 
+__off64_t
+__off£t
+, __off64_\88
+__couÁ
+,
+
+377 \1d\12
+__æags
+);
+
+384 \r
+ssize_t
+       `vm¥liû
+ (\12
+__fdout
+, cڡ \19
+iovec
+ *
+__iov
+,
+
+385 
+size_t
+__couÁ
+, \1d\12
+__æags
+);
+
+391 \r
+ssize_t
+       `¥liû
+ (\12
+__fd\9a
+, 
+__off64_t
+ *
+__off\9a
+, \12
+__fdout
+,
+
+392 
+__off64_t
+ *
+__offout
+, 
+size_t
+__Ën
+,
+
+393 \1d\12
+__æags
+);
+
+399 \r
+ssize_t
+       `\8be
+ (\12
+__fd\9a
+, \12
+__fdout
+, 
+size_t
+__Ën
+,
+
+400 \1d\12
+__æags
+);
+
+406 #iâdeà
+__USE_FILE_OFFSET64
+
+
+407 \r\12
+       `çÎoÿ\8b
+ (\12
+__fd
+, \12
+__mode
+, 
+__off_t
+__off£t
+, __off_\88
+__Ën
+);
+
+409 #ifdeà
+__REDIRECT
+
+
+410 \r\12
+       `__REDIRECT
+ (
+çÎoÿ\8b
+, (\12
+__fd
+, \12
+__mode
+, 
+__off64_t
+__off£t
+,
+
+411 
+__off64_t
+__Ën
+),
+
+412 
+çÎoÿ\8b64
+);
+
+414 \ 1
+       #çÎoÿ\8b
+çÎoÿ\8b64
+
+
+       )
+
+417 #ifdeà
+__USE_LARGEFILE64
+
+
+418 \r\12
+       `çÎoÿ\8b64
+ (\12
+__fd
+, \12
+__mode
+, 
+__off64_t
+__off£t
+,
+
+419 
+__off64_t
+__Ën
+);
+
+424 \r\12
+       $Çme_to_hªdË_©
+ (\12
+__dfd
+, cڡ \ 5*
+__Çme
+,
+
+425 \19
+f\9ee_hªdË
+ *
+__hªdË
+, \12*
+__mÁ_id
+,
+
+426 \12
+__æags
+__THROW
+;
+
+432 \r\12
+       `Ý\92_by_hªdË_©
+ (\12
+__mouÁd\9cfd
+, \19
+f\9ee_hªdË
+ *
+__hªdË
+,
+
+433 \12
+__æags
+);
+
+437 
+__END_DECLS
+
+
+       @/usr/include/bits/libio-ldbl.h
+
+19 #iâdeà
+_IO_STDIO_H
+
+
+23 
+       $__LDBL_REDIR_DECL
+ (
+_IO_vfsÿnf
+)
+
+24 
+       `__LDBL_REDIR_DECL
+ (
+_IO_vår\9atf
+)
+
+       @/usr/include/bits/libm-simd-decl-stubs.h
+
+19 #iâdeà
+_MATH_H
+
+
+33 #iâdeà
+_BITS_LIBM_SIMD_DECL_STUBS_H
+
+
+34 \ 1
+       #_BITS_LIBM_SIMD_DECL_STUBS_H
+ 1
+
+       )
+
+36 \ 1
+       #__DECL_SIMD_cos
+
+
+       )
+
+37 \ 1
+       #__DECL_SIMD_cosf
+
+
+       )
+
+38 \ 1
+       #__DECL_SIMD_co¦
+
+
+       )
+
+40 \ 1
+       #__DECL_SIMD_s\9a
+
+
+       )
+
+41 \ 1
+       #__DECL_SIMD_s\9af
+
+
+       )
+
+42 \ 1
+       #__DECL_SIMD_s\9al
+
+
+       )
+
+44 \ 1
+       #__DECL_SIMD_s\9acos
+
+
+       )
+
+45 \ 1
+       #__DECL_SIMD_s\9acosf
+
+
+       )
+
+46 \ 1
+       #__DECL_SIMD_s\9aco¦
+
+
+       )
+
+48 \ 1
+       #__DECL_SIMD_log
+
+
+       )
+
+49 \ 1
+       #__DECL_SIMD_logf
+
+
+       )
+
+50 \ 1
+       #__DECL_SIMD_logl
+
+
+       )
+
+52 \ 1
+       #__DECL_SIMD_exp
+
+
+       )
+
+53 \ 1
+       #__DECL_SIMD_expf
+
+
+       )
+
+54 \ 1
+       #__DECL_SIMD_ex¶
+
+
+       )
+
+56 \ 1
+       #__DECL_SIMD_pow
+
+
+       )
+
+57 \ 1
+       #__DECL_SIMD_powf
+
+
+       )
+
+58 \ 1
+       #__DECL_SIMD_powl
+
+
+       )
+
+       @/usr/include/bits/posix1_lim.h
+
+24 #iâdef 
+_BITS_POSIX1_LIM_H
+
+
+25 \ 1
+       #_BITS_POSIX1_LIM_H
+ 1
+
+       )
+
+31 \ 1
+       #_POSIX_AIO_LISTIO_MAX
+ 2
+
+       )
+
+34 \ 1
+       #_POSIX_AIO_MAX
+ 1
+
+       )
+
+37 \ 1
+       #_POSIX_ARG_MAX
+ 4096
+
+       )
+
+40 #ifdeà
+__USE_XOPEN2K
+
+
+41 \ 1
+       #_POSIX_CHILD_MAX
+ 25
+
+       )
+
+43 \ 1
+       #_POSIX_CHILD_MAX
+ 6
+
+       )
+
+47 \ 1
+       #_POSIX_DELAYTIMER_MAX
+ 32
+
+       )
+
+51 \ 1
+       #_POSIX_HOST_NAME_MAX
+ 255
+
+       )
+
+54 \ 1
+       #_POSIX_LINK_MAX
+ 8
+
+       )
+
+57 \ 1
+       #_POSIX_LOGIN_NAME_MAX
+ 9
+
+       )
+
+60 \ 1
+       #_POSIX_MAX_CANON
+ 255
+
+       )
+
+64 \ 1
+       #_POSIX_MAX_INPUT
+ 255
+
+       )
+
+67 \ 1
+       #_POSIX_MQ_OPEN_MAX
+ 8
+
+       )
+
+70 \ 1
+       #_POSIX_MQ_PRIO_MAX
+ 32
+
+       )
+
+73 \ 1
+       #_POSIX_NAME_MAX
+ 14
+
+       )
+
+76 #ifdeà
+__USE_XOPEN2K
+
+
+77 \ 1
+       #_POSIX_NGROUPS_MAX
+ 8
+
+       )
+
+79 \ 1
+       #_POSIX_NGROUPS_MAX
+ 0
+
+       )
+
+83 #ifdeà
+__USE_XOPEN2K
+
+
+84 \ 1
+       #_POSIX_OPEN_MAX
+ 20
+
+       )
+
+86 \ 1
+       #_POSIX_OPEN_MAX
+ 16
+
+       )
+
+89 #ià!
+def\9aed
+__USE_XOPEN2K
+ || def\9aed 
+__USE_GNU
+
+
+92 \ 1
+       #_POSIX_FD_SETSIZE
+_POSIX_OPEN_MAX
+
+
+       )
+
+96 \ 1
+       #_POSIX_PATH_MAX
+ 256
+
+       )
+
+99 \ 1
+       #_POSIX_PIPE_BUF
+ 512
+
+       )
+
+103 \ 1
+       #_POSIX_RE_DUP_MAX
+ 255
+
+       )
+
+106 \ 1
+       #_POSIX_RTSIG_MAX
+ 8
+
+       )
+
+109 \ 1
+       #_POSIX_SEM_NSEMS_MAX
+ 256
+
+       )
+
+112 \ 1
+       #_POSIX_SEM_VALUE_MAX
+ 32767
+
+       )
+
+115 \ 1
+       #_POSIX_SIGQUEUE_MAX
+ 32
+
+       )
+
+118 \ 1
+       #_POSIX_SSIZE_MAX
+ 32767
+
+       )
+
+121 \ 1
+       #_POSIX_STREAM_MAX
+ 8
+
+       )
+
+124 \ 1
+       #_POSIX_SYMLINK_MAX
+ 255
+
+       )
+
+128 \ 1
+       #_POSIX_SYMLOOP_MAX
+ 8
+
+       )
+
+131 \ 1
+       #_POSIX_TIMER_MAX
+ 32
+
+       )
+
+134 \ 1
+       #_POSIX_TTY_NAME_MAX
+ 9
+
+       )
+
+137 #ifdeà
+__USE_XOPEN2K
+
+
+138 \ 1
+       #_POSIX_TZNAME_MAX
+ 6
+
+       )
+
+140 \ 1
+       #_POSIX_TZNAME_MAX
+ 3
+
+       )
+
+143 #ià!
+def\9aed
+__USE_XOPEN2K
+ || def\9aed 
+__USE_GNU
+
+
+145 \ 1
+       #_POSIX_QLIMIT
+ 1
+
+       )
+
+149 \ 1
+       #_POSIX_HIWAT
+_POSIX_PIPE_BUF
+
+
+       )
+
+152 \ 1
+       #_POSIX_UIO_MAXIOV
+ 16
+
+       )
+
+156 \ 1
+       #_POSIX_CLOCKRES_MIN
+ 20000000
+
+       )
+
+160 \ 2
+       ~<b\99s/loÿl_lim.h
+>
+
+163 #iâdef 
+SSIZE_MAX
+
+
+164 \ 1
+       #SSIZE_MAX
+LONG_MAX
+
+
+       )
+
+171 #iâdef 
+NGROUPS_MAX
+
+
+172 \ 1
+       #NGROUPS_MAX
+ 8
+
+       )
+
+       @/usr/include/bits/posix2_lim.h
+
+22 #iâdef 
+_BITS_POSIX2_LIM_H
+
+
+23 \ 1
+       #_BITS_POSIX2_LIM_H
+ 1
+
+       )
+
+27 \ 1
+       #_POSIX2_BC_BASE_MAX
+ 99
+
+       )
+
+30 \ 1
+       #_POSIX2_BC_DIM_MAX
+ 2048
+
+       )
+
+33 \ 1
+       #_POSIX2_BC_SCALE_MAX
+ 99
+
+       )
+
+36 \ 1
+       #_POSIX2_BC_STRING_MAX
+ 1000
+
+       )
+
+40 \ 1
+       #_POSIX2_COLL_WEIGHTS_MAX
+ 2
+
+       )
+
+44 \ 1
+       #_POSIX2_EXPR_NEST_MAX
+ 32
+
+       )
+
+47 \ 1
+       #_POSIX2_LINE_MAX
+ 2048
+
+       )
+
+51 \ 1
+       #_POSIX2_RE_DUP_MAX
+ 255
+
+       )
+
+55 \ 1
+       #_POSIX2_CHARCLASS_NAME_MAX
+ 14
+
+       )
+
+62 #iâdef 
+BC_BASE_MAX
+
+
+63 \ 1
+       #BC_BASE_MAX
+_POSIX2_BC_BASE_MAX
+
+
+       )
+
+65 #iâdef 
+BC_DIM_MAX
+
+
+66 \ 1
+       #BC_DIM_MAX
+_POSIX2_BC_DIM_MAX
+
+
+       )
+
+68 #iâdef 
+BC_SCALE_MAX
+
+
+69 \ 1
+       #BC_SCALE_MAX
+_POSIX2_BC_SCALE_MAX
+
+
+       )
+
+71 #iâdef 
+BC_STRING_MAX
+
+
+72 \ 1
+       #BC_STRING_MAX
+_POSIX2_BC_STRING_MAX
+
+
+       )
+
+74 #iâdef 
+COLL_WEIGHTS_MAX
+
+
+75 \ 1
+       #COLL_WEIGHTS_MAX
+ 255
+
+       )
+
+77 #iâdef 
+EXPR_NEST_MAX
+
+
+78 \ 1
+       #EXPR_NEST_MAX
+_POSIX2_EXPR_NEST_MAX
+
+
+       )
+
+80 #iâdef 
+LINE_MAX
+
+
+81 \ 1
+       #LINE_MAX
+_POSIX2_LINE_MAX
+
+
+       )
+
+83 #iâdef 
+CHARCLASS_NAME_MAX
+
+
+84 \ 1
+       #CHARCLASS_NAME_MAX
+ 2048
+
+       )
+
+88 \ 1
+       #RE_DUP_MAX
+ (0x7fff)
+
+       )
+
+       @/usr/include/bits/select.h
+
+18 #iâdeà
+_SYS_SELECT_H
+
+
+22 \ 2
+       ~<b\99s/wÜdsize.h
+>
+
+25 #ià
+def\9aed
+__GNUC__
+ && __GNUC__ >= 2
+
+27 #ià
+__WORDSIZE
+ == 64
+
+28 \ 1
+       #__FD_ZERO_STOS
+ "¡osq"
+
+       )
+
+30 \ 1
+       #__FD_ZERO_STOS
+ "¡o¦"
+
+       )
+
+33 \ 1
+       #__FD_ZERO
+(
+fd¥
+) \
+
+35 \12
+__d0
+, 
+__d1
+; \
+
+36 
+__asm__
+       `__vÞ©\9ee__
+ ("þd;\84\95; " 
+__FD_ZERO_STOS
+ \
+
+37 : "=c" (
+__d0
+), "=D" (
+__d1
+) \
+
+38 : "a" (0), "0" (\17 (
+fd_£t
+) \
+
+39 / \17 (
+__fd_mask
+)), \
+
+40 "1" (&
+       `__FDS_BITS
+ (
+fd¥
+)[0]) \
+
+42 } \1f0)
+
+       )
+
+48 \ 1
+       #__FD_ZERO
+(
+£t
+) \
+
+50 \1d\12
+__i
+; \
+
+51 
+fd_£t
+ *
+__¬r
+ = (
+£t
+); \
+
+52 \ f
+__i
+ = 0; __\98\17 (
+fd_£t
+è/ \17 (
+__fd_mask
+); ++__i) \
+
+53 
+       `__FDS_BITS
+ (
+__¬r
+)[
+__i
+] = 0; \
+
+54 } \1f0)
+
+       )
+
+58 \ 1
+       #__FD_SET
+(
+d
+, 
+£t
+) \
+
+59 ((\1eè(
+       `__FDS_BITS
+ (
+£t
+)[
+       `__FD_ELT
+ (
+d
+)] |ð
+       `__FD_MASK
+ (d)))
+
+       )
+
+60 \ 1
+       #__FD_CLR
+(
+d
+, 
+£t
+) \
+
+61 ((\1eè(
+       `__FDS_BITS
+ (
+£t
+)[
+       `__FD_ELT
+ (
+d
+)] &ð~
+       `__FD_MASK
+ (d)))
+
+       )
+
+62 \ 1
+       #__FD_ISSET
+(
+d
+, 
+£t
+) \
+
+63 ((
+       `__FDS_BITS
+ (
+£t
+)[
+       `__FD_ELT
+ (
+d
+)] & 
+       `__FD_MASK
+ (d)è!ð0)
+
+       )
+
+       @/usr/include/bits/select2.h
+
+19 #iâdeà
+_SYS_SELECT_H
+
+
+24 \r\13\12
+__fd\96t_chk
+ (\13\12
+__d
+);
+
+25 \r\13\12
+       $__fd\96t_w¬n
+ (\13\12
+__d
+)
+
+26 
+       `__w¬Ç\89r
+ ("bit outside of fd_set selected");
+
+27 #undeà
+__FD_ELT
+
+
+28 \ 1
+       #__FD_ELT
+(
+d
+) \
+
+29 
+__ex\8bnsiÚ__
+ \
+
+30 ({ \13\12
+__d
+ = (
+d
+); \
+
+31 (
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+__d
+) \
+
+32 ? (0 <ð
+__d
+ && __d < 
+__FD_SETSIZE
+ \
+
+33 ? (
+__d
+ / 
+__NFDBITS
+) \
+
+34 : 
+       `__fd\96t_w¬n
+ (
+__d
+)) \
+
+35 : 
+       `__fd\96t_chk
+ (
+__d
+)); 
+       }
+})
+
+       )
+
+       @/usr/include/bits/sockaddr.h
+
+23 #iâdeà
+_BITS_SOCKADDR_H
+
+
+24 \ 1
+       #_BITS_SOCKADDR_H
+ 1
+
+       )
+
+28 \e\1d\16\12
+       t§_çm\9ey_t
+;
+
+34 \ 1
+       #__SOCKADDR_COMMON
+(
+§_´efix
+) \
+
+35 
+§_çm\9ey_t
+§_´efix
+##
+çm\9ey
+
+
+       )
+
+37 \ 1
+       #__SOCKADDR_COMMON_SIZE
+ (\17 (\1d\16\12))
+
+       )
+
+40 \ 1
+       #_SS_SIZE
+ 128
+
+       )
+
+       @/usr/include/bits/socket_type.h
+
+19 #iâdeà
+_SYS_SOCKET_H
+
+
+24 \f
+       e__sock\91_ty³
+
+
+26 
+       mSOCK_STREAM
+ = 1,
+
+28 \ 1
+       #SOCK_STREAM
+SOCK_STREAM
+
+
+       )
+
+29 
+       mSOCK_DGRAM
+ = 2,
+
+31 \ 1
+       #SOCK_DGRAM
+SOCK_DGRAM
+
+
+       )
+
+32 
+       mSOCK_RAW
+ = 3,
+
+33 \ 1
+       #SOCK_RAW
+SOCK_RAW
+
+
+       )
+
+34 
+       mSOCK_RDM
+ = 4,
+
+35 \ 1
+       #SOCK_RDM
+SOCK_RDM
+
+
+       )
+
+36 
+       mSOCK_SEQPACKET
+ = 5,
+
+38 \ 1
+       #SOCK_SEQPACKET
+SOCK_SEQPACKET
+
+
+       )
+
+39 
+       mSOCK_DCCP
+ = 6,
+
+40 \ 1
+       #SOCK_DCCP
+SOCK_DCCP
+
+
+       )
+
+41 
+       mSOCK_PACKET
+ = 10,
+
+44 \ 1
+       #SOCK_PACKET
+SOCK_PACKET
+
+
+       )
+
+49 
+       mSOCK_CLOEXEC
+ = 02000000,
+
+51 \ 1
+       #SOCK_CLOEXEC
+SOCK_CLOEXEC
+
+
+       )
+
+52 
+       mSOCK_NONBLOCK
+ = 00004000
+
+54 \ 1
+       #SOCK_NONBLOCK
+SOCK_NONBLOCK
+
+
+       )
+
+       @/usr/include/bits/timex.h
+
+18 #iâdef 
+_BITS_TIMEX_H
+
+
+19 \ 1
+       #_BITS_TIMEX_H
+ 1
+
+       )
+
+21 \ 2
+       ~<b\99s/ty³s.h
+>
+
+25 \19
+       stimex
+
+
+27 \1d\12
+       mmodes
+;
+
+28 
+__sysÿÎ_¦Úg_t
+       moff£t
+;
+
+29 
+__sysÿÎ_¦Úg_t
+       mäeq
+;
+
+30 
+__sysÿÎ_¦Úg_t
+       mmax\94
+;
+
+31 
+__sysÿÎ_¦Úg_t
+       me¡\94
+;
+
+32 \12
+       m¡©us
+;
+
+33 
+__sysÿÎ_¦Úg_t
+       mcÚ¡ªt
+;
+
+34 
+__sysÿÎ_¦Úg_t
+       m´ecisiÚ
+;
+
+35 
+__sysÿÎ_¦Úg_t
+       mtÞ\94ªû
+;
+
+36 \19
+timev®
+       mtime
+;
+
+37 
+__sysÿÎ_¦Úg_t
+       mtick
+;
+
+38 
+__sysÿÎ_¦Úg_t
+       mµsäeq
+;
+
+39 
+__sysÿÎ_¦Úg_t
+       mj\99\8br
+;
+
+40 \12
+       mshiá
+;
+
+41 
+__sysÿÎ_¦Úg_t
+       m¡ab\9e
+;
+
+42 
+__sysÿÎ_¦Úg_t
+       mj\99út
+;
+
+43 
+__sysÿÎ_¦Úg_t
+       mÿlút
+;
+
+44 
+__sysÿÎ_¦Úg_t
+       m\94rút
+;
+
+45 
+__sysÿÎ_¦Úg_t
+       m¡bút
+;
+
+47 \12
+       m\8fi
+;
+
+56 \ 1
+       #ADJ_OFFSET
+ 0x0001
+
+       )
+
+57 \ 1
+       #ADJ_FREQUENCY
+ 0x0002
+
+       )
+
+58 \ 1
+       #ADJ_MAXERROR
+ 0x0004
+
+       )
+
+59 \ 1
+       #ADJ_ESTERROR
+ 0x0008
+
+       )
+
+60 \ 1
+       #ADJ_STATUS
+ 0x0010
+
+       )
+
+61 \ 1
+       #ADJ_TIMECONST
+ 0x0020
+
+       )
+
+62 \ 1
+       #ADJ_TAI
+ 0x0080
+
+       )
+
+63 \ 1
+       #ADJ_SETOFFSET
+ 0x0100
+
+       )
+
+64 \ 1
+       #ADJ_MICRO
+ 0x1000
+
+       )
+
+65 \ 1
+       #ADJ_NANO
+ 0x2000
+
+       )
+
+66 \ 1
+       #ADJ_TICK
+ 0x4000
+
+       )
+
+67 \ 1
+       #ADJ_OFFSET_SINGLESHOT
+ 0x8001
+
+       )
+
+68 \ 1
+       #ADJ_OFFSET_SS_READ
+ 0xa001
+
+       )
+
+71 \ 1
+       #MOD_OFFSET
+ADJ_OFFSET
+
+
+       )
+
+72 \ 1
+       #MOD_FREQUENCY
+ADJ_FREQUENCY
+
+
+       )
+
+73 \ 1
+       #MOD_MAXERROR
+ADJ_MAXERROR
+
+
+       )
+
+74 \ 1
+       #MOD_ESTERROR
+ADJ_ESTERROR
+
+
+       )
+
+75 \ 1
+       #MOD_STATUS
+ADJ_STATUS
+
+
+       )
+
+76 \ 1
+       #MOD_TIMECONST
+ADJ_TIMECONST
+
+
+       )
+
+77 \ 1
+       #MOD_CLKB
+ADJ_TICK
+
+
+       )
+
+78 \ 1
+       #MOD_CLKA
+ADJ_OFFSET_SINGLESHOT
+
+
+       )
+
+79 \ 1
+       #MOD_TAI
+ADJ_TAI
+
+
+       )
+
+80 \ 1
+       #MOD_MICRO
+ADJ_MICRO
+
+
+       )
+
+81 \ 1
+       #MOD_NANO
+ADJ_NANO
+
+
+       )
+
+85 \ 1
+       #STA_PLL
+ 0x0001
+
+       )
+
+86 \ 1
+       #STA_PPSFREQ
+ 0x0002
+
+       )
+
+87 \ 1
+       #STA_PPSTIME
+ 0x0004
+
+       )
+
+88 \ 1
+       #STA_FLL
+ 0x0008
+
+       )
+
+90 \ 1
+       #STA_INS
+ 0x0010
+
+       )
+
+91 \ 1
+       #STA_DEL
+ 0x0020
+
+       )
+
+92 \ 1
+       #STA_UNSYNC
+ 0x0040
+
+       )
+
+93 \ 1
+       #STA_FREQHOLD
+ 0x0080
+
+       )
+
+95 \ 1
+       #STA_PPSSIGNAL
+ 0x0100
+
+       )
+
+96 \ 1
+       #STA_PPSJITTER
+ 0x0200
+
+       )
+
+97 \ 1
+       #STA_PPSWANDER
+ 0x0400
+
+       )
+
+98 \ 1
+       #STA_PPSERROR
+ 0x0800
+
+       )
+
+100 \ 1
+       #STA_CLOCKERR
+ 0x1000
+
+       )
+
+101 \ 1
+       #STA_NANO
+ 0x2000
+
+       )
+
+102 \ 1
+       #STA_MODE
+ 0x4000
+
+       )
+
+103 \ 1
+       #STA_CLK
+ 0x8000
+
+       )
+
+106 \ 1
+       #STA_RONLY
+ (
+STA_PPSSIGNAL
+ | 
+STA_PPSJITTER
+ | 
+STA_PPSWANDER
+ | \
+
+107 
+STA_PPSERROR
+ | 
+STA_CLOCKERR
+ | 
+STA_NANO
+ | 
+STA_MODE
+ | 
+STA_CLK
+)
+
+       )
+
+       @/usr/include/bits/typesizes.h
+
+19 #iâdeà
+_BITS_TYPES_H
+
+
+23 #iâdef 
+_BITS_TYPESIZES_H
+
+
+24 \ 1
+       #_BITS_TYPESIZES_H
+ 1
+
+       )
+
+30 #ià
+def\9aed
+__x86_64__
+ && def\9aed 
+__ILP32__
+
+
+31 \ 1
+       #__SYSCALL_SLONG_TYPE
+__SQUAD_TYPE
+
+
+       )
+
+32 \ 1
+       #__SYSCALL_ULONG_TYPE
+__UQUAD_TYPE
+
+
+       )
+
+34 \ 1
+       #__SYSCALL_SLONG_TYPE
+__SLONGWORD_TYPE
+
+
+       )
+
+35 \ 1
+       #__SYSCALL_ULONG_TYPE
+__ULONGWORD_TYPE
+
+
+       )
+
+38 \ 1
+       #__DEV_T_TYPE
+__UQUAD_TYPE
+
+
+       )
+
+39 \ 1
+       #__UID_T_TYPE
+__U32_TYPE
+
+
+       )
+
+40 \ 1
+       #__GID_T_TYPE
+__U32_TYPE
+
+
+       )
+
+41 \ 1
+       #__INO_T_TYPE
+__SYSCALL_ULONG_TYPE
+
+
+       )
+
+42 \ 1
+       #__INO64_T_TYPE
+__UQUAD_TYPE
+
+
+       )
+
+43 \ 1
+       #__MODE_T_TYPE
+__U32_TYPE
+
+
+       )
+
+44 #ifdeà
+__x86_64__
+
+
+45 \ 1
+       #__NLINK_T_TYPE
+__SYSCALL_ULONG_TYPE
+
+
+       )
+
+46 \ 1
+       #__FSWORD_T_TYPE
+__SYSCALL_SLONG_TYPE
+
+
+       )
+
+48 \ 1
+       #__NLINK_T_TYPE
+__UWORD_TYPE
+
+
+       )
+
+49 \ 1
+       #__FSWORD_T_TYPE
+__SWORD_TYPE
+
+
+       )
+
+51 \ 1
+       #__OFF_T_TYPE
+__SYSCALL_SLONG_TYPE
+
+
+       )
+
+52 \ 1
+       #__OFF64_T_TYPE
+__SQUAD_TYPE
+
+
+       )
+
+53 \ 1
+       #__PID_T_TYPE
+__S32_TYPE
+
+
+       )
+
+54 \ 1
+       #__RLIM_T_TYPE
+__SYSCALL_ULONG_TYPE
+
+
+       )
+
+55 \ 1
+       #__RLIM64_T_TYPE
+__UQUAD_TYPE
+
+
+       )
+
+56 \ 1
+       #__BLKCNT_T_TYPE
+__SYSCALL_SLONG_TYPE
+
+
+       )
+
+57 \ 1
+       #__BLKCNT64_T_TYPE
+__SQUAD_TYPE
+
+
+       )
+
+58 \ 1
+       #__FSBLKCNT_T_TYPE
+__SYSCALL_ULONG_TYPE
+
+
+       )
+
+59 \ 1
+       #__FSBLKCNT64_T_TYPE
+__UQUAD_TYPE
+
+
+       )
+
+60 \ 1
+       #__FSFILCNT_T_TYPE
+__SYSCALL_ULONG_TYPE
+
+
+       )
+
+61 \ 1
+       #__FSFILCNT64_T_TYPE
+__UQUAD_TYPE
+
+
+       )
+
+62 \ 1
+       #__ID_T_TYPE
+__U32_TYPE
+
+
+       )
+
+63 \ 1
+       #__CLOCK_T_TYPE
+__SYSCALL_SLONG_TYPE
+
+
+       )
+
+64 \ 1
+       #__TIME_T_TYPE
+__SYSCALL_SLONG_TYPE
+
+
+       )
+
+65 \ 1
+       #__USECONDS_T_TYPE
+__U32_TYPE
+
+
+       )
+
+66 \ 1
+       #__SUSECONDS_T_TYPE
+__SYSCALL_SLONG_TYPE
+
+
+       )
+
+67 \ 1
+       #__DADDR_T_TYPE
+__S32_TYPE
+
+
+       )
+
+68 \ 1
+       #__KEY_T_TYPE
+__S32_TYPE
+
+
+       )
+
+69 \ 1
+       #__CLOCKID_T_TYPE
+__S32_TYPE
+
+
+       )
+
+70 \ 1
+       #__TIMER_T_TYPE
\1e*
+
+       )
+
+71 \ 1
+       #__BLKSIZE_T_TYPE
+__SYSCALL_SLONG_TYPE
+
+
+       )
+
+72 \ 1
+       #__FSID_T_TYPE
+ s\8cuù { \12
+__v®
+[2]; }
+
+       )
+
+73 \ 1
+       #__SSIZE_T_TYPE
+__SWORD_TYPE
+
+
+       )
+
+74 \ 1
+       #__CPU_MASK_TYPE
+__SYSCALL_ULONG_TYPE
+
+
+       )
+
+76 #ifdeà
+__x86_64__
+
+
+80 \ 1
+       #__OFF_T_MATCHES_OFF64_T
+ 1
+
+       )
+
+83 \ 1
+       #__INO_T_MATCHES_INO64_T
+ 1
+
+       )
+
+87 \ 1
+       #__FD_SETSIZE
+ 1024
+
+       )
+
+       @/usr/include/bits/uio.h
+
+18 #ià!
+def\9aed
+_SYS_UIO_H
+ && !def\9aed 
+_FCNTL_H
+
+
+22 #iâdeà
+_BITS_UIO_H
+
+
+23 \ 1
+       #_BITS_UIO_H
+ 1
+
+       )
+
+25 \ 2
+       ~<sys/ty³s.h
+>
+
+39 \ 1
+       #UIO_MAXIOV
+ 1024
+
+       )
+
+43 \19
+       siovec
+
+
+45 \1e*
+       miov_ba£
+;
+
+46 
+size_t
+       miov_Ën
+;
+
+52 #ifdeà
+__USE_GNU
+
+
+53 #ià
+def\9aed
+_SYS_UIO_H
+ && !def\9aed 
+_BITS_UIO_H_FOR_SYS_UIO_H
+
+
+54 \ 1
+       #_BITS_UIO_H_FOR_SYS_UIO_H
+ 1
+
+       )
+
+56 
+__BEGIN_DECLS
+
+
+59 \r
+ssize_t
+       $´oûss_vm_»adv
+ (
+pid_t
+__pid
+, cڡ \19
+iovec
+ *
+__lvec
+,
+
+60 \1d\13\12
+__liovút
+,
+
+61 cڡ \19
+iovec
+ *
+__rvec
+,
+
+62 \1d\13\12
+__riovút
+,
+
+63 \1d\13\12
+__æags
+)
+
+64 
+__THROW
+;
+
+67 \r
+ssize_t
+       $´oûss_vm_wr\99ev
+ (
+pid_t
+__pid
+, cڡ \19
+iovec
+ *
+__lvec
+,
+
+68 \1d\13\12
+__liovút
+,
+
+69 cڡ \19
+iovec
+ *
+__rvec
+,
+
+70 \1d\13\12
+__riovút
+,
+
+71 \1d\13\12
+__æags
+)
+
+72 
+__THROW
+;
+
+74 
+__END_DECLS
+
+
+       @/usr/include/bits/xopen_lim.h
+
+29 #iâdeà
+_XOPEN_LIM_H
+
+
+30 \ 1
+       #_XOPEN_LIM_H
+ 1
+
+       )
+
+32 \ 1
+       #__Ãed_IOV_MAX
+
+
+       )
+
+33 \ 2
+       ~<b\99s/¡dio_lim.h
+>
+
+65 \ 1
+       #_XOPEN_IOV_MAX
+_POSIX_UIO_MAXIOV
+
+
+       )
+
+70 \ 1
+       #NL_ARGMAX
+_POSIX_ARG_MAX
+
+
+       )
+
+73 \ 1
+       #NL_LANGMAX
+_POSIX2_LINE_MAX
+
+
+       )
+
+76 \ 1
+       #NL_MSGMAX
+INT_MAX
+
+
+       )
+
+80 \ 1
+       #NL_NMAX
+INT_MAX
+
+
+       )
+
+83 \ 1
+       #NL_SETMAX
+INT_MAX
+
+
+       )
+
+86 \ 1
+       #NL_TEXTMAX
+INT_MAX
+
+
+       )
+
+89 \ 1
+       #NZERO
+ 20
+
+       )
+
+93 #ifdeà
+INT_MAX
+
+
+94 #ià
+INT_MAX
+ == 32767
+
+95 \ 1
+       #WORD_BIT
+ 16
+
+       )
+
+97 #ià
+INT_MAX
+ == 2147483647
+
+98 \ 1
+       #WORD_BIT
+ 32
+
+       )
+
+101 \ 1
+       #WORD_BIT
+ 64
+
+       )
+
+104 #\96
+def\9aed
+__INT_MAX__
+
+
+105 #ià
+__INT_MAX__
+ == 32767
+
+106 \ 1
+       #WORD_BIT
+ 16
+
+       )
+
+108 #ià
+__INT_MAX__
+ == 2147483647
+
+109 \ 1
+       #WORD_BIT
+ 32
+
+       )
+
+112 \ 1
+       #WORD_BIT
+ 64
+
+       )
+
+116 \ 1
+       #WORD_BIT
+ 32
+
+       )
+
+120 #ifdeà
+LONG_MAX
+
+
+121 #ià
+LONG_MAX
+ == 2147483647
+
+122 \ 1
+       #LONG_BIT
+ 32
+
+       )
+
+125 \ 1
+       #LONG_BIT
+ 64
+
+       )
+
+127 #\96
+def\9aed
+__LONG_MAX__
+
+
+128 #ià
+__LONG_MAX__
+ == 2147483647
+
+129 \ 1
+       #LONG_BIT
+ 32
+
+       )
+
+132 \ 1
+       #LONG_BIT
+ 64
+
+       )
+
+135 \ 2
+       ~<b\99s/wÜdsize.h
+>
+
+136 #ià
+__WORDSIZE
+ == 64
+
+137 \ 1
+       #LONG_BIT
+ 64
+
+       )
+
+139 \ 1
+       #LONG_BIT
+ 32
+
+       )
+
+       @/usr/include/gnu/stubs.h
+
+6 #ià!
+def\9aed
+__x86_64__
+
+
+7 \ 2
+       ~<gnu/¡ubs-32.h
+>
+
+9 #ià
+def\9aed
+__x86_64__
+ && def\9aed 
+__LP64__
+
+
+10 \ 2
+       ~<gnu/¡ubs-64.h
+>
+
+12 #ià
+def\9aed
+__x86_64__
+ && def\9aed 
+__ILP32__
+
+
+13 \ 2
+       ~<gnu/¡ubs-x32.h
+>
+
+       @/usr/include/linux/errno.h
+
+1 \ 2
+       ~<asm/\94ºo.h
+>
+
+       @/usr/include/linux/limits.h
+
+1 #iâdeà
+_LINUX_LIMITS_H
+
+
+2 \ 1
+       #_LINUX_LIMITS_H
+
+
+       )
+
+4 \ 1
+       #NR_OPEN
+ 1024
+
+       )
+
+6 \ 1
+       #NGROUPS_MAX
+ 65536
+
+       )
+
+7 \ 1
+       #ARG_MAX
+ 131072
+
+       )
+
+8 \ 1
+       #LINK_MAX
+ 127
+
+       )
+
+9 \ 1
+       #MAX_CANON
+ 255
+
+       )
+
+10 \ 1
+       #MAX_INPUT
+ 255
+
+       )
+
+11 \ 1
+       #NAME_MAX
+ 255
+
+       )
+
+12 \ 1
+       #PATH_MAX
+ 4096
+
+       )
+
+13 \ 1
+       #PIPE_BUF
+ 4096
+
+       )
+
+14 \ 1
+       #XATTR_NAME_MAX
+ 255
+
+       )
+
+15 \ 1
+       #XATTR_SIZE_MAX
+ 65536
+
+       )
+
+16 \ 1
+       #XATTR_LIST_MAX
+ 65536
+
+       )
+
+18 \ 1
+       #RTSIG_MAX
+ 32
+
+       )
+
+       @/usr/include/linux/param.h
+
+1 #iâdeà
+_LINUX_PARAM_H
+
+
+2 \ 1
+       #_LINUX_PARAM_H
+
+
+       )
+
+4 \ 2
+       ~<asm/·¿m.h
+>
+
+       @/usr/include/stdc-predef.h
+
+18 #iâdef 
+_STDC_PREDEF_H
+
+
+19 \ 1
+       #_STDC_PREDEF_H
+ 1
+
+       )
+
+36 #ifdeà
+__GCC_IEC_559
+
+
+37 #ià
+__GCC_IEC_559
+ > 0
+
+38 \ 1
+       #__STDC_IEC_559__
+ 1
+
+       )
+
+41 \ 1
+       #__STDC_IEC_559__
+ 1
+
+       )
+
+44 #ifdeà
+__GCC_IEC_559_COMPLEX
+
+
+45 #ià
+__GCC_IEC_559_COMPLEX
+ > 0
+
+46 \ 1
+       #__STDC_IEC_559_COMPLEX__
+ 1
+
+       )
+
+49 \ 1
+       #__STDC_IEC_559_COMPLEX__
+ 1
+
+       )
+
+55 \ 1
+       #__STDC_ISO_10646__
+ 201505L
+
+       )
+
+58 \ 1
+       #__STDC_NO_THREADS__
+ 1
+
+       )
+
+       @/usr/include/sys/cdefs.h
+
+18 #iâdef 
+_SYS_CDEFS_H
+
+
+19 \ 1
+       #_SYS_CDEFS_H
+ 1
+
+       )
+
+22 #iâdeà
+_FEATURES_H
+
+
+23 \ 2
+       ~<ã©u»s.h
+>
+
+29 #ià
+def\9aed
+__GNUC__
+ && !def\9aed 
+__STDC__
+
+
+34 #undeà
+__P
+
+
+35 #undeà
+__PMT
+
+
+37 #ifdeà
+__GNUC__
+
+
+41 #ià
+__GNUC_PREREQ
+ (4, 6è&& !
+def\9aed
+_LIBC
+
+
+42 \ 1
+       #__LEAF
+ , 
+__Ëaf__
+
+
+       )
+
+43 \ 1
+       #__LEAF_ATTR
+       `__©\8cibu\8b__
+ ((
+__Ëaf__
+))
+
+       )
+
+45 \ 1
+       #__LEAF
+
+
+       )
+
+46 \ 1
+       #__LEAF_ATTR
+
+
+       )
+
+54 #ià!
+def\9aed
+__ýlu¥lus
+ && 
+__GNUC_PREREQ
+ (3, 3)
+
+55 \ 1
+       #__THROW
+       `__©\8cibu\8b__
+ ((
+__nÙhrow__
+__LEAF
+))
+
+       )
+
+56 \ 1
+       #__THROWNL
+       `__©\8cibu\8b__
+ ((
+__nÙhrow__
+))
+
+       )
+
+57 \ 1
+       #__NTH
+(
+fù
+       `__©\8cibu\8b__
+ ((
+__nÙhrow__
+__LEAF
+)è
+       )
+fct
+
+59 #ià
+def\9aed
+__ýlu¥lus
+ && 
+__GNUC_PREREQ
+ (2,8)
+
+60 \ 1
+       #__THROW
+       `throw
+ ()
+
+       )
+
+61 \ 1
+       #__THROWNL
+       `throw
+ ()
+
+       )
+
+62 \ 1
+       #__NTH
+(
+fù
+__LEAF_ATTR
+ fù 
+       `throw
+ ()
+
+       )
+
+64 \ 1
+       #__THROW
+
+
+       )
+
+65 \ 1
+       #__THROWNL
+
+
+       )
+
+66 \ 1
+       #__NTH
+(
+fù
+       )
+fct
+
+72 \ 1
+       #__\9al\9ae
+
+
+       )
+
+74 \ 1
+       #__THROW
+
+
+       )
+
+75 \ 1
+       #__THROWNL
+
+
+       )
+
+76 \ 1
+       #__NTH
+(
+fù
+       )
+fct
+
+82 \ 1
+       #__P
+(
+¬gs
+       )
+args
+
+83 \ 1
+       #__PMT
+(
+¬gs
+       )
+args
+
+88 \ 1
+       #__CONCAT
+(
+x
+,
+y
+èx ## 
+       )
+y
+
+89 \ 1
+       #__STRING
+(
+x
+è#x
+
+       )
+
+92 \ 1
+       #__±r_t
\1e*
+
+       )
+
+93 \ 1
+       #__lÚg_doubË_t
\13\b
+
+       )
+
+97 #ifdef 
+__ýlu¥lus
+
+
+98 \ 1
+       #__BEGIN_DECLS
\r"C" {
+
+       )
+
+99 \ 1
+       #__END_DECLS
+ }
+
+       )
+
+101 \ 1
+       #__BEGIN_DECLS
+
+
+       )
+
+102 \ 1
+       #__END_DECLS
+
+
+       )
+
+111 #ià
+def\9aed
+__ýlu¥lus
+ && def\9aed 
+_GLIBCPP_USE_NAMESPACES
+
+
+112 \ 1
+       #__BEGIN_NAMESPACE_STD
+Çme¥aû
+¡d
+ {
+
+       )
+
+113 \ 1
+       #__END_NAMESPACE_STD
+ }
+
+       )
+
+114 \ 1
+       #__USING_NAMESPACE_STD
+(
+Çme
+us\9ag
+¡d
+::Çme;
+
+       )
+
+115 \ 1
+       #__BEGIN_NAMESPACE_C99
+Çme¥aû
+__c99
+ {
+
+       )
+
+116 \ 1
+       #__END_NAMESPACE_C99
+ }
+
+       )
+
+117 \ 1
+       #__USING_NAMESPACE_C99
+(
+Çme
+us\9ag
+__c99
+::Çme;
+
+       )
+
+122 \ 1
+       #__BEGIN_NAMESPACE_STD
+
+
+       )
+
+123 \ 1
+       #__END_NAMESPACE_STD
+
+
+       )
+
+124 \ 1
+       #__USING_NAMESPACE_STD
+(
+Çme
+)
+
+       )
+
+125 \ 1
+       #__BEGIN_NAMESPACE_C99
+
+
+       )
+
+126 \ 1
+       #__END_NAMESPACE_C99
+
+
+       )
+
+127 \ 1
+       #__USING_NAMESPACE_C99
+(
+Çme
+)
+
+       )
+
+132 \ 1
+       #__bos
+(
+±r
+       `__bu\9et\9a_objeù_size
+ (±r, 
+__USE_FORTIFY_LEVEL
+ > 1)
+
+       )
+
+133 \ 1
+       #__bos0
+(
+±r
+       `__bu\9et\9a_objeù_size
+ (±r, 0)
+
+       )
+
+135 #ià
+__GNUC_PREREQ
+ (4,3)
+
+136 \ 1
+       #__w¬ndeþ
+(
+Çme
+, 
+msg
+) \
+
+137 \r\1e
+       `Çme
+ (\1eè
+       `__©\8cibu\8b__
+((
+       `__w¬n\9ag__
+ (
+msg
+)))
+
+       )
+
+138 \ 1
+       #__w¬Ç\89r
+(
+msg
+       `__©\8cibu\8b__
+((
+       `__w¬n\9ag__
+ (msg)))
+
+       )
+
+139 \ 1
+       #__\94rÜdeþ
+(
+Çme
+, 
+msg
+) \
+
+140 \r\1e
+       `Çme
+ (\1eè
+       `__©\8cibu\8b__
+((
+       `__\94rÜ__
+ (
+msg
+)))
+
+       )
+
+142 \ 1
+       #__w¬ndeþ
+(
+Çme
+, 
+msg
\r\1e
+       `Çme
+ (\1e)
+
+       )
+
+143 \ 1
+       #__w¬Ç\89r
+(
+msg
+)
+
+       )
+
+144 \ 1
+       #__\94rÜdeþ
+(
+Çme
+, 
+msg
\r\1e
+       `Çme
+ (\1e)
+
+       )
+
+148 #ià
+__GNUC_PREREQ
+ (2,97)
+
+150 \ 1
+       #__æex¬r
+ []
+
+       )
+
+152 #ifdeà
+__GNUC__
+
+
+153 \ 1
+       #__æex¬r
+ [0]
+
+       )
+
+155 #ià
+def\9aed
+__STDC_VERSION__
+ && __STDC_VERSION__ >= 199901L
+
+156 \ 1
+       #__æex¬r
+ []
+
+       )
+
+159 \ 1
+       #__æex¬r
+ [1]
+
+       )
+
+175 #ià
+def\9aed
+__GNUC__
+ && __GNUC__ >= 2
+
+177 \ 1
+       #__REDIRECT
+(
+Çme
+, 
+´Ùo
+, 
\9fs
+èÇm\90´ÙØ
+       `__asm__
+ (
+       `__ASMNAME
+ (#®\9fs))
+
+       )
+
+178 #ifdeà
+__ýlu¥lus
+
+
+179 \ 1
+       #__REDIRECT_NTH
+(
+Çme
+, 
+´Ùo
+, 
\9fs
+) \
+
+180 
+Çme
+´Ùo
+__THROW
+       `__asm__
+ (
+       `__ASMNAME
+ (#®\9fs))
+
+       )
+
+181 \ 1
+       #__REDIRECT_NTHNL
+(
+Çme
+, 
+´Ùo
+, 
\9fs
+) \
+
+182 
+Çme
+´Ùo
+__THROWNL
+       `__asm__
+ (
+       `__ASMNAME
+ (#®\9fs))
+
+       )
+
+184 \ 1
+       #__REDIRECT_NTH
+(
+Çme
+, 
+´Ùo
+, 
\9fs
+) \
+
+185 
+Çme
+´Ùo
+       `__asm__
+ (
+       `__ASMNAME
+ (#®\9fs)è
+__THROW
+
+
+       )
+
+186 \ 1
+       #__REDIRECT_NTHNL
+(
+Çme
+, 
+´Ùo
+, 
\9fs
+) \
+
+187 
+Çme
+´Ùo
+       `__asm__
+ (
+       `__ASMNAME
+ (#®\9fs)è
+__THROWNL
+
+
+       )
+
+189 \ 1
+       #__ASMNAME
+(
+úame
+       `__ASMNAME2
+ (
+__USER_LABEL_PREFIX__
+, cÇme)
+
+       )
+
+190 \ 1
+       #__ASMNAME2
+(
+´efix
+, 
+úame
+       `__STRING
+ (´efixè
+       )
+cname
+
+203 #ià!
+def\9aed
+__GNUC__
+ || __GNUC__ < 2
+
+204 \ 1
+       #__©\8cibu\8b__
+(
+xyz
+
+       )
+
+210 #ià
+__GNUC_PREREQ
+ (2,96)
+
+211 \ 1
+       #__©\8cibu\8b_m®loc__
+       `__©\8cibu\8b__
+ ((
+__m®loc__
+))
+
+       )
+
+213 \ 1
+       #__©\8cibu\8b_m®loc__
+
+
+       )
+
+218 #ià
+__GNUC_PREREQ
+ (4, 3)
+
+219 \ 1
+       #__©\8cibu\8b_®loc_size__
+(
+·¿ms
+) \
+
+220 
+       `__©\8cibu\8b__
+ ((
+__®loc_size__
+·¿ms
+))
+
+       )
+
+222 \ 1
+       #__©\8cibu\8b_®loc_size__
+(
+·¿ms
+
+       )
+
+228 #ià
+__GNUC_PREREQ
+ (2,96)
+
+229 \ 1
+       #__©\8cibu\8b_pu»__
+       `__©\8cibu\8b__
+ ((
+__pu»__
+))
+
+       )
+
+231 \ 1
+       #__©\8cibu\8b_pu»__
+
+
+       )
+
+235 #ià
+__GNUC_PREREQ
+ (2,5)
+
+236 \ 1
+       #__©\8cibu\8b_cÚ¡__
+       `__©\8cibu\8b__
+ ((
+__cڡ__
+))
+
+       )
+
+238 \ 1
+       #__©\8cibu\8b_cÚ¡__
+
+
+       )
+
+244 #ià
+__GNUC_PREREQ
+ (3,1)
+
+245 \ 1
+       #__©\8cibu\8b_u£d__
+       `__©\8cibu\8b__
+ ((
+__u£d__
+))
+
+       )
+
+246 \ 1
+       #__©\8cibu\8b_no\9al\9ae__
+       `__©\8cibu\8b__
+ ((
+__no\9al\9ae__
+))
+
+       )
+
+248 \ 1
+       #__©\8cibu\8b_u£d__
+       `__©\8cibu\8b__
+ ((
+__unu£d__
+))
+
+       )
+
+249 \ 1
+       #__©\8cibu\8b_no\9al\9ae__
+
+
+       )
+
+253 #ià
+__GNUC_PREREQ
+ (3,2)
+
+254 \ 1
+       #__©\8cibu\8b_d\95»ÿ\8bd__
+       `__©\8cibu\8b__
+ ((
+__d\95»ÿ\8bd__
+))
+
+       )
+
+256 \ 1
+       #__©\8cibu\8b_d\95»ÿ\8bd__
+
+
+       )
+
+265 #ià
+__GNUC_PREREQ
+ (2,8)
+
+266 \ 1
+       #__©\8cibu\8b_fÜm©_¬g__
+(
+x
+       `__©\8cibu\8b__
+ ((
+       `__fÜm©_¬g__
+ (x)))
+
+       )
+
+268 \ 1
+       #__©\8cibu\8b_fÜm©_¬g__
+(
+x
+
+       )
+
+275 #ià
+__GNUC_PREREQ
+ (2,97)
+
+276 \ 1
+       #__©\8cibu\8b_fÜm©_¡rfmÚ__
+(
+a
+,
+b
+) \
+
+277 
+       `__©\8cibu\8b__
+ ((
+       `__fÜm©__
+ (
+__¡rfmÚ__
+, 
+a
+, 
+b
+)))
+
+       )
+
+279 \ 1
+       #__©\8cibu\8b_fÜm©_¡rfmÚ__
+(
+a
+,
+b
+
+       )
+
+284 #ià
+__GNUC_PREREQ
+ (3,3)
+
+285 \ 1
+       #__nÚnuÎ
+(
+·¿ms
+       `__©\8cibu\8b__
+ ((
+__nÚnuÎ__
+\85¬ams))
+
+       )
+
+287 \ 1
+       #__nÚnuÎ
+(
+·¿ms
+)
+
+       )
+
+292 #ià
+__GNUC_PREREQ
+ (3,4)
+
+293 \ 1
+       #__©\8cibu\8b_w¬n_unu£d_»suÉ__
+ \
+
+294 
+       `__©\8cibu\8b__
+ ((
+__w¬n_unu£d_»suÉ__
+))
+
+       )
+
+295 #ià
+__USE_FORTIFY_LEVEL
+ > 0
+
+296 \ 1
+       #__wur
+__©\8cibu\8b_w¬n_unu£d_»suÉ__
+
+
+       )
+
+299 \ 1
+       #__©\8cibu\8b_w¬n_unu£d_»suÉ__
+
+
+       )
+
+301 #iâdeà
+__wur
+
+
+302 \ 1
+       #__wur
+
+
+       )
+
+306 #ià
+__GNUC_PREREQ
+ (3,2)
+
+307 \ 1
+       #__®ways_\9al\9ae
+__\9al\9ae
+       `__©\8cibu\8b__
+ ((
+__®ways_\9al\9ae__
+))
+
+       )
+
+309 \ 1
+       #__®ways_\9al\9ae
+__\9al\9ae
+
+
+       )
+
+314 #ià
+__GNUC_PREREQ
+ (4,3)
+
+315 \ 1
+       #__©\8cibu\8b_¬tific\9fl__
+       `__©\8cibu\8b__
+ ((
+__¬tific\9fl__
+))
+
+       )
+
+317 \ 1
+       #__©\8cibu\8b_¬tific\9fl__
+
+
+       )
+
+329 #ià(!
+def\9aed
+__ýlu¥lus
+ || 
+__GNUC_PREREQ
+ (4,3) \
+
+330 || (
+def\9aed
+__þªg__
+ && (def\9aed 
+__GNUC_STDC_INLINE__
+ \
+
+331 || 
+def\9aed
+__GNUC_GNU_INLINE__
+)))
+
+332 #ià
+def\9aed
+__GNUC_STDC_INLINE__
+ || def\9aed 
+__ýlu¥lus
+
+
+333 \ 1
+       #__ex\8bº_\9al\9ae
\r
+__\9al\9ae
+       `__©\8cibu\8b__
+ ((
+__gnu_\9al\9ae__
+))
+
+       )
+
+334 \ 1
+       #__ex\8bº_®ways_\9al\9ae
+ \
+
+335 \r
+__®ways_\9al\9ae
+       `__©\8cibu\8b__
+ ((
+__gnu_\9al\9ae__
+))
+
+       )
+
+337 \ 1
+       #__ex\8bº_\9al\9ae
\r
+__\9al\9ae
+
+
+       )
+
+338 \ 1
+       #__ex\8bº_®ways_\9al\9ae
\r
+__®ways_\9al\9ae
+
+
+       )
+
+342 #ifdeà
+__ex\8bº_®ways_\9al\9ae
+
+
+343 \ 1
+       #__fÜtify_funùiÚ
+__ex\8bº_®ways_\9al\9ae
+__©\8cibu\8b_¬tific\9fl__
+
+
+       )
+
+348 #ià
+__GNUC_PREREQ
+ (4,3)
+
+349 \ 1
+       #__va_¬g_·ck
+(è
+       `__bu\9et\9a_va_¬g_·ck
+ ()
+
+       )
+
+350 \ 1
+       #__va_¬g_·ck_Ën
+(è
+       `__bu\9et\9a_va_¬g_·ck_Ën
+ ()
+
+       )
+
+357 #ià!
+__GNUC_PREREQ
+ (2,8)
+
+358 \ 1
+       #__ex\8bnsiÚ__
+
+
+       )
+
+362 #ià!
+__GNUC_PREREQ
+ (2,92)
+
+363 \ 1
+       #__»¡riù
+
+
+       )
+
+369 #ià
+__GNUC_PREREQ
+ (3,1è&& !
+def\9aed
+__GNUG__
+
+
+370 \ 1
+       #__»¡riù_¬r
+__»¡riù
+
+
+       )
+
+372 #ifdeà
+__GNUC__
+
+
+373 \ 1
+       #__»¡riù_¬r
+
+
+       )
+
+375 #ià
+def\9aed
+__STDC_VERSION__
+ && __STDC_VERSION__ >= 199901L
+
+376 \ 1
+       #__»¡riù_¬r
+»¡riù
+
+
+       )
+
+379 \ 1
+       #__»¡riù_¬r
+
+
+       )
+
+384 #ià
+__GNUC__
+ >= 3
+
+385 \ 1
+       #__glibc_uÆik\96y
+(
+cÚd
+       `__bu\9et\9a_ex³ù
+ ((cÚd), 0)
+
+       )
+
+386 \ 1
+       #__glibc_lik\96y
+(
+cÚd
+       `__bu\9et\9a_ex³ù
+ ((cÚd), 1)
+
+       )
+
+388 \ 1
+       #__glibc_uÆik\96y
+(
+cÚd
+è(cÚd)
+
+       )
+
+389 \ 1
+       #__glibc_lik\96y
+(
+cÚd
+è(cÚd)
+
+       )
+
+392 #ià(!
+def\9aed
+_NÜ\91
+ \
+
+393 && (
+def\9aed
+__STDC_VERSION__
+ ? __STDC_VERSION__ : 0) < 201112 \
+
+394 && !
+       $__GNUC_PREREQ
+ (4,7))
+
+395 #ià
+       `__GNUC_PREREQ
+ (2,8)
+
+396 \ 1
+       #_NÜ\91
+       `__©\8cibu\8b__
+ ((
+__nÜ\91uº__
+))
+
+       )
+
+398 \ 1
+       #_NÜ\91
+
+
+       )
+
+402 #ià(!
+def\9aed
+_S\8ftic_as£¹
+ && !def\9aed 
+__ýlu¥lus
+ \
+
+403 && (
+def\9aed
+__STDC_VERSION__
+ ? __STDC_VERSION__ : 0) < 201112 \
+
+404 && (!
+       `__GNUC_PREREQ
+ (4, 6è|| 
+def\9aed
+__STRICT_ANSI__
+))
+
+405 \ 1
+       #_S\8ftic_as£¹
+(
+ex´
+, 
+d\9fgno¡ic
+) \
+
+406 \r\12(*
+       `__S\8ftic_as£¹_funùiÚ
+ (\1e)) \
+
+407 [!!\17 (¡ruù { \12
+__\94rÜ_if_Ãg©ive
+: (
+ex´
+è? 2 : -1; })]
+
+       )
+
+410 \ 2
+       ~<b\99s/wÜdsize.h
+>
+
+412 #ià
+def\9aed
+__LONG_DOUBLE_MATH_OPTIONAL
+ && def\9aed 
+__NO_LONG_DOUBLE_MATH
+
+
+413 \ 1
+       #__LDBL_COMPAT
+ 1
+
+       )
+
+414 #ifdeà
+__REDIRECT
+
+
+415 \ 1
+       #__LDBL_REDIR1
+(
+Çme
+, 
+´Ùo
+, 
\9fs
+       `__REDIRECT
+ (Çme,\85rÙo,\87l\9fs)
+
+       )
+
+416 \ 1
+       #__LDBL_REDIR
+(
+Çme
+, 
+´Ùo
+) \
+
+417 
+       `__LDBL_REDIR1
+ (
+Çme
+, 
+´Ùo
+, 
+__Ædbl_
+##Çme)
+
+       )
+
+418 \ 1
+       #__LDBL_REDIR1_NTH
+(
+Çme
+, 
+´Ùo
+, 
\9fs
+       `__REDIRECT_NTH
+ (Çme,\85rÙo,\87l\9fs)
+
+       )
+
+419 \ 1
+       #__LDBL_REDIR_NTH
+(
+Çme
+, 
+´Ùo
+) \
+
+420 
+       `__LDBL_REDIR1_NTH
+ (
+Çme
+, 
+´Ùo
+, 
+__Ædbl_
+##Çme)
+
+       )
+
+421 \ 1
+       #__LDBL_REDIR1_DECL
+(
+Çme
+, 
\9fs
+) \
+
+422 \r
+       `__ty³of
+ (
+Çme
+èÇm\90
+       `__asm
+ (
+       `__ASMNAME
+ (#®\9fs));
+
+       )
+
+423 \ 1
+       #__LDBL_REDIR_DECL
+(
+Çme
+) \
+
+424 \r
+       `__ty³of
+ (
+Çme
+èÇm\90
+       `__asm
+ (
+       `__ASMNAME
+ ("__Ædbl_" #Çme));
+
+       )
+
+425 \ 1
+       #__REDIRECT_LDBL
+(
+Çme
+, 
+´Ùo
+, 
\9fs
+) \
+
+426 
+       `__LDBL_REDIR1
+ (
+Çme
+, 
+´Ùo
+, 
+__Ædbl_
+##
\9fs
+)
+
+       )
+
+427 \ 1
+       #__REDIRECT_NTH_LDBL
+(
+Çme
+, 
+´Ùo
+, 
\9fs
+) \
+
+428 
+       `__LDBL_REDIR1_NTH
+ (
+Çme
+, 
+´Ùo
+, 
+__Ædbl_
+##
\9fs
+)
+
+       )
+
+431 #ià!
+def\9aed
+__LDBL_COMPAT
+ || !def\9aed 
+__REDIRECT
+
+
+432 \ 1
+       #__LDBL_REDIR1
+(
+Çme
+, 
+´Ùo
+, 
\9fs
+èÇm\90
+       )
+proto
+
+433 \ 1
+       #__LDBL_REDIR
+(
+Çme
+, 
+´Ùo
+èÇm\90
+       )
+proto
+
+434 \ 1
+       #__LDBL_REDIR1_NTH
+(
+Çme
+, 
+´Ùo
+, 
\9fs
+èÇm\90´ÙØ
+__THROW
+
+
+       )
+
+435 \ 1
+       #__LDBL_REDIR_NTH
+(
+Çme
+, 
+´Ùo
+èÇm\90´ÙØ
+__THROW
+
+
+       )
+
+436 \ 1
+       #__LDBL_REDIR_DECL
+(
+Çme
+)
+
+       )
+
+437 #ifdeà
+__REDIRECT
+
+
+438 \ 1
+       #__REDIRECT_LDBL
+(
+Çme
+, 
+´Ùo
+, 
\9fs
+       `__REDIRECT
+ (Çme,\85rÙo,\87l\9fs)
+
+       )
+
+439 \ 1
+       #__REDIRECT_NTH_LDBL
+(
+Çme
+, 
+´Ùo
+, 
\9fs
+) \
+
+440 
+       `__REDIRECT_NTH
+ (
+Çme
+, 
+´Ùo
+, 
\9fs
+)
+
+       )
+
+       @/usr/include/asm-generic/socket.h
+
+1 #iâdeà
+__ASM_GENERIC_SOCKET_H
+
+
+2 \ 1
+       #__ASM_GENERIC_SOCKET_H
+
+
+       )
+
+4 \ 2
+       ~<asm/sockios.h
+>
+
+7 \ 1
+       #SOL_SOCKET
+ 1
+
+       )
+
+9 \ 1
+       #SO_DEBUG
+ 1
+
+       )
+
+10 \ 1
+       #SO_REUSEADDR
+ 2
+
+       )
+
+11 \ 1
+       #SO_TYPE
+ 3
+
+       )
+
+12 \ 1
+       #SO_ERROR
+ 4
+
+       )
+
+13 \ 1
+       #SO_DONTROUTE
+ 5
+
+       )
+
+14 \ 1
+       #SO_BROADCAST
+ 6
+
+       )
+
+15 \ 1
+       #SO_SNDBUF
+ 7
+
+       )
+
+16 \ 1
+       #SO_RCVBUF
+ 8
+
+       )
+
+17 \ 1
+       #SO_SNDBUFFORCE
+ 32
+
+       )
+
+18 \ 1
+       #SO_RCVBUFFORCE
+ 33
+
+       )
+
+19 \ 1
+       #SO_KEEPALIVE
+ 9
+
+       )
+
+20 \ 1
+       #SO_OOBINLINE
+ 10
+
+       )
+
+21 \ 1
+       #SO_NO_CHECK
+ 11
+
+       )
+
+22 \ 1
+       #SO_PRIORITY
+ 12
+
+       )
+
+23 \ 1
+       #SO_LINGER
+ 13
+
+       )
+
+24 \ 1
+       #SO_BSDCOMPAT
+ 14
+
+       )
+
+25 \ 1
+       #SO_REUSEPORT
+ 15
+
+       )
+
+26 #iâdeà
+SO_PASSCRED
+
+
+27 \ 1
+       #SO_PASSCRED
+ 16
+
+       )
+
+28 \ 1
+       #SO_PEERCRED
+ 17
+
+       )
+
+29 \ 1
+       #SO_RCVLOWAT
+ 18
+
+       )
+
+30 \ 1
+       #SO_SNDLOWAT
+ 19
+
+       )
+
+31 \ 1
+       #SO_RCVTIMEO
+ 20
+
+       )
+
+32 \ 1
+       #SO_SNDTIMEO
+ 21
+
+       )
+
+36 \ 1
+       #SO_SECURITY_AUTHENTICATION
+ 22
+
+       )
+
+37 \ 1
+       #SO_SECURITY_ENCRYPTION_TRANSPORT
+ 23
+
+       )
+
+38 \ 1
+       #SO_SECURITY_ENCRYPTION_NETWORK
+ 24
+
+       )
+
+40 \ 1
+       #SO_BINDTODEVICE
+ 25
+
+       )
+
+43 \ 1
+       #SO_ATTACH_FILTER
+ 26
+
+       )
+
+44 \ 1
+       #SO_DETACH_FILTER
+ 27
+
+       )
+
+45 \ 1
+       #SO_GET_FILTER
+SO_ATTACH_FILTER
+
+
+       )
+
+47 \ 1
+       #SO_PEERNAME
+ 28
+
+       )
+
+48 \ 1
+       #SO_TIMESTAMP
+ 29
+
+       )
+
+49 \ 1
+       #SCM_TIMESTAMP
+SO_TIMESTAMP
+
+
+       )
+
+51 \ 1
+       #SO_ACCEPTCONN
+ 30
+
+       )
+
+53 \ 1
+       #SO_PEERSEC
+ 31
+
+       )
+
+54 \ 1
+       #SO_PASSSEC
+ 34
+
+       )
+
+55 \ 1
+       #SO_TIMESTAMPNS
+ 35
+
+       )
+
+56 \ 1
+       #SCM_TIMESTAMPNS
+SO_TIMESTAMPNS
+
+
+       )
+
+58 \ 1
+       #SO_MARK
+ 36
+
+       )
+
+60 \ 1
+       #SO_TIMESTAMPING
+ 37
+
+       )
+
+61 \ 1
+       #SCM_TIMESTAMPING
+SO_TIMESTAMPING
+
+
+       )
+
+63 \ 1
+       #SO_PROTOCOL
+ 38
+
+       )
+
+64 \ 1
+       #SO_DOMAIN
+ 39
+
+       )
+
+66 \ 1
+       #SO_RXQ_OVFL
+ 40
+
+       )
+
+68 \ 1
+       #SO_WIFI_STATUS
+ 41
+
+       )
+
+69 \ 1
+       #SCM_WIFI_STATUS
+SO_WIFI_STATUS
+
+
+       )
+
+70 \ 1
+       #SO_PEEK_OFF
+ 42
+
+       )
+
+73 \ 1
+       #SO_NOFCS
+ 43
+
+       )
+
+75 \ 1
+       #SO_LOCK_FILTER
+ 44
+
+       )
+
+77 \ 1
+       #SO_SELECT_ERR_QUEUE
+ 45
+
+       )
+
+79 \ 1
+       #SO_BUSY_POLL
+ 46
+
+       )
+
+81 \ 1
+       #SO_MAX_PACING_RATE
+ 47
+
+       )
+
+83 \ 1
+       #SO_BPF_EXTENSIONS
+ 48
+
+       )
+
+85 \ 1
+       #SO_INCOMING_CPU
+ 49
+
+       )
+
+87 \ 1
+       #SO_ATTACH_BPF
+ 50
+
+       )
+
+88 \ 1
+       #SO_DETACH_BPF
+SO_DETACH_FILTER
+
+
+       )
+
+       @/usr/include/asm/errno.h
+
+1 \ 2
+       ~<asm-g\92\94ic/\94ºo.h
+>
+
+       @/usr/include/asm/param.h
+
+1 \ 2
+       ~<asm-g\92\94ic/·¿m.h
+>
+
+       @/usr/include/bits/local_lim.h
+
+24 #iâdeà
+NR_OPEN
+
+
+25 \ 1
+       #__undef_NR_OPEN
+
+
+       )
+
+27 #iâdeà
+LINK_MAX
+
+
+28 \ 1
+       #__undef_LINK_MAX
+
+
+       )
+
+30 #iâdeà
+OPEN_MAX
+
+
+31 \ 1
+       #__undef_OPEN_MAX
+
+
+       )
+
+33 #iâdeà
+ARG_MAX
+
+
+34 \ 1
+       #__undef_ARG_MAX
+
+
+       )
+
+38 \ 2
+       ~<l\9aux/lim\99s.h
+>
+
+41 #ifdeà
+__undef_NR_OPEN
+
+
+42 #undeà
+NR_OPEN
+
+
+43 #undeà
+__undef_NR_OPEN
+
+
+46 #ifdeà
+__undef_LINK_MAX
+
+
+47 #undeà
+LINK_MAX
+
+
+48 #undeà
+__undef_LINK_MAX
+
+
+51 #ifdeà
+__undef_OPEN_MAX
+
+
+52 #undeà
+OPEN_MAX
+
+
+53 #undeà
+__undef_OPEN_MAX
+
+
+56 #ifdeà
+__undef_ARG_MAX
+
+
+57 #undeà
+ARG_MAX
+
+
+58 #undeà
+__undef_ARG_MAX
+
+
+62 \ 1
+       #_POSIX_THREAD_KEYS_MAX
+ 128
+
+       )
+
+64 \ 1
+       #PTHREAD_KEYS_MAX
+ 1024
+
+       )
+
+67 \ 1
+       #_POSIX_THREAD_DESTRUCTOR_ITERATIONS
+ 4
+
+       )
+
+69 \ 1
+       #PTHREAD_DESTRUCTOR_ITERATIONS
+_POSIX_THREAD_DESTRUCTOR_ITERATIONS
+
+
+       )
+
+72 \ 1
+       #_POSIX_THREAD_THREADS_MAX
+ 64
+
+       )
+
+74 #undeà
+PTHREAD_THREADS_MAX
+
+
+78 \ 1
+       #AIO_PRIO_DELTA_MAX
+ 20
+
+       )
+
+81 \ 1
+       #PTHREAD_STACK_MIN
+ 16384
+
+       )
+
+84 \ 1
+       #DELAYTIMER_MAX
+ 2147483647
+
+       )
+
+87 \ 1
+       #TTY_NAME_MAX
+ 32
+
+       )
+
+90 \ 1
+       #LOGIN_NAME_MAX
+ 256
+
+       )
+
+93 \ 1
+       #HOST_NAME_MAX
+ 64
+
+       )
+
+96 \ 1
+       #MQ_PRIO_MAX
+ 32768
+
+       )
+
+99 \ 1
+       #SEM_VALUE_MAX
+ (2147483647)
+
+       )
+
+       @/usr/include/gconv.h
+
+22 #iâdeà
+_GCONV_H
+
+
+23 \ 1
+       #_GCONV_H
+ 1
+
+       )
+
+25 \ 2
+       ~<ã©u»s.h
+>
+
+26 \ 1
+       #__Ãed_mb¡©e_t
+
+
+       )
+
+27 \ 1
+       #__Ãed_w\9at_t
+
+
+       )
+
+28 \ 2
+       ~<wch¬.h
+>
+
+29 \ 1
+       #__Ãed_size_t
+
+
+       )
+
+30 \ 1
+       #__Ãed_wch¬_t
+
+
+       )
+
+31 \ 2
+       ~<¡ddef.h
+>
+
+34 \ 1
+       #__UNKNOWN_10646_CHAR
+ ((
+wch¬_t
+è0xfffd)
+
+       )
+
+39 
+       m__GCONV_OK
+ = 0,
+
+40 
+       m__GCONV_NOCONV
+,
+
+41 
+       m__GCONV_NODB
+,
+
+42 
+       m__GCONV_NOMEM
+,
+
+44 
+       m__GCONV_EMPTY_INPUT
+,
+
+45 
+       m__GCONV_FULL_OUTPUT
+,
+
+46 
+       m__GCONV_ILLEGAL_INPUT
+,
+
+47 
+       m__GCONV_INCOMPLETE_INPUT
+,
+
+49 
+       m__GCONV_ILLEGAL_DESCRIPTOR
+,
+
+50 
+       m__GCONV_INTERNAL_ERROR
+
+
+57 
+       m__GCONV_IS_LAST
+ = 0x0001,
+
+58 
+       m__GCONV_IGNORE_ERRORS
+ = 0x0002,
+
+59 
+       m__GCONV_SWAP
+ = 0x0004,
+
+60 
+       m__GCONV_TRANSLIT
+ = 0x0008
+
+65 \19
+       g__gcÚv_¡\95
+;
+
+66 \19
+       g__gcÚv_¡\95_d©a
+;
+
+67 \19
+       g__gcÚv_lßded_objeù
+;
+
+71 \e\12(*
+       t__gcÚv_fù
+è(\19
+       t__gcÚv_¡\95
+ *, \19
+       t__gcÚv_¡\95_d©a
+ *,
+
+73 \1d\ 5**, 
+       tsize_t
+ *, \12\12);
+
+76 \e
+       $w\9at_t
+ (*
+       t__gcÚv_btowc_fù
+è(\19
+       t__gcÚv_¡\95
+ *, \1d\ 5);
+
+79 \e\12(*
+       t__gcÚv_\9a\99_fù
+è(\19
+       t__gcÚv_¡\95
+ *);
+
+80 \e\1e(*
+       t__gcÚv_\92d_fù
+è(\19
+       t__gcÚv_¡\95
+ *);
+
+84 \19
+       s__gcÚv_¡\95
+
+
+86 \19
+__gcÚv_lßded_objeù
+ *
+__shlib_hªdË
+;
+
+87 cڡ \ 5*
+__modÇme
+;
+
+89 \12
+__couÁ\94
+;
+
+91 \ 5*
+__äom_Çme
+;
+
+92 \ 5*
+__to_Çme
+;
+
+94 
+__gcÚv_fù
+__fù
+;
+
+95 
+__gcÚv_btowc_fù
+__btowc_fù
+;
+
+96 
+__gcÚv_\9a\99_fù
+__\9a\99_fù
+;
+
+97 
+__gcÚv_\92d_fù
+__\92d_fù
+;
+
+101 \12
+__m\9a_Ãeded_äom
+;
+
+102 \12
+__max_Ãeded_äom
+;
+
+103 \12
+__m\9a_Ãeded_to
+;
+
+104 \12
+__max_Ãeded_to
+;
+
+107 \12
+__¡©eful
+;
+
+109 \1e*
+__d©a
+;
+
+114 \19
+       s__gcÚv_¡\95_d©a
+
+
+116 \1d\ 5*
+__outbuf
+;
+
+117 \1d\ 5*
+__outbuãnd
+;
+
+121 \12
+__æags
+;
+
+125 \12
+__\9avoÿtiÚ_couÁ\94
+;
+
+129 \12
+__\9a\8bº®_u£
+;
+
+131 
+__mb¡©e_t
+ *
+__¡©\95
+;
+
+132 
+__mb¡©e_t
+__¡©e
+;
+
+138 \e\19
+       s__gcÚv_\9afo
+
+
+140 
+size_t
+__n¡\95s
+;
+
+141 \19
+__gcÚv_¡\95
+ *
+__¡\95s
+;
+
+142 
+__ex\8bnsiÚ__
\19
+__gcÚv_¡\95_d©a
+__d©a
+__æex¬r
+;
+
+143 } *
+       t__gcÚv_t
+;
+
+146 \r\12
+       `__gcÚv_\8cª¦\99\94©e
+ (\19
+__gcÚv_¡\95
+ *
\95
+,
+
+147 \19
+__gcÚv_¡\95_d©a
+ *
\95_d©a
+,
+
+148 cڡ \1d\ 5*
+\9abuf¡¬t
+,
+
+149 cڡ \1d\ 5**
+\9abuå
+,
+
+150 cڡ \1d\ 5*
+\9abuãnd
+,
+
+151 \1d\ 5**
+outbuf¡¬t
+,
+
+152 
+size_t
+ *
+\9c»v\94sibË
+);
+
+       @/usr/include/gnu/stubs-32.h
+
+6 #ifdeà
+_LIBC
+
+
+7 #\94rÜ 
+AµliÿtiÚs
+may
+nÙ
+def\9ae
+the
+maüo
+_LIBC
+
+
+10 \ 1
+       #__¡ub_chæags
+
+
+       )
+
+11 \ 1
+       #__¡ub_ç\89ach
+
+
+       )
+
+12 \ 1
+       #__¡ub_fchæags
+
+
+       )
+
+13 \ 1
+       #__¡ub_fd\91ach
+
+
+       )
+
+14 \ 1
+       #__¡ub_g\89y
+
+
+       )
+
+15 \ 1
+       #__¡ub_lchmod
+
+
+       )
+
+16 \ 1
+       #__¡ub_»voke
+
+
+       )
+
+17 \ 1
+       #__¡ub_£\8eog\9a
+
+
+       )
+
+18 \ 1
+       #__¡ub_sig»tuº
+
+
+       )
+
+19 \ 1
+       #__¡ub_s¡k
+
+
+       )
+
+20 \ 1
+       #__¡ub_¡ty
+
+
+       )
+
+       @/usr/include/gnu/stubs-64.h
+
+6 #ifdeà
+_LIBC
+
+
+7 #\94rÜ 
+AµliÿtiÚs
+may
+nÙ
+def\9ae
+the
+maüo
+_LIBC
+
+
+10 \ 1
+       #__¡ub___com·t_bdæush
+
+
+       )
+
+11 \ 1
+       #__¡ub_chæags
+
+
+       )
+
+12 \ 1
+       #__¡ub_ç\89ach
+
+
+       )
+
+13 \ 1
+       #__¡ub_fchæags
+
+
+       )
+
+14 \ 1
+       #__¡ub_fd\91ach
+
+
+       )
+
+15 \ 1
+       #__¡ub_g\91msg
+
+
+       )
+
+16 \ 1
+       #__¡ub_g\89y
+
+
+       )
+
+17 \ 1
+       #__¡ub_lchmod
+
+
+       )
+
+18 \ 1
+       #__¡ub_putmsg
+
+
+       )
+
+19 \ 1
+       #__¡ub_»voke
+
+
+       )
+
+20 \ 1
+       #__¡ub_£\8eog\9a
+
+
+       )
+
+21 \ 1
+       #__¡ub_sig»tuº
+
+
+       )
+
+22 \ 1
+       #__¡ub_s¡k
+
+
+       )
+
+23 \ 1
+       #__¡ub_¡ty
+
+
+       )
+
+       @/usr/include/gnu/stubs-x32.h
+
+6 #ifdeà
+_LIBC
+
+
+7 #\94rÜ 
+AµliÿtiÚs
+may
+nÙ
+def\9ae
+the
+maüo
+_LIBC
+
+
+10 \ 1
+       #__¡ub___com·t_bdæush
+
+
+       )
+
+11 \ 1
+       #__¡ub___com·t_ü\97\8b_moduË
+
+
+       )
+
+12 \ 1
+       #__¡ub___com·t_g\91_k\94Ãl_syms
+
+
+       )
+
+13 \ 1
+       #__¡ub___com·t_qu\94y_moduË
+
+
+       )
+
+14 \ 1
+       #__¡ub___com·t_u£lib
+
+
+       )
+
+15 \ 1
+       #__¡ub_chæags
+
+
+       )
+
+16 \ 1
+       #__¡ub_ç\89ach
+
+
+       )
+
+17 \ 1
+       #__¡ub_fchæags
+
+
+       )
+
+18 \ 1
+       #__¡ub_fd\91ach
+
+
+       )
+
+19 \ 1
+       #__¡ub_g\91msg
+
+
+       )
+
+20 \ 1
+       #__¡ub_g\89y
+
+
+       )
+
+21 \ 1
+       #__¡ub_lchmod
+
+
+       )
+
+22 \ 1
+       #__¡ub_nfs£rvùl
+
+
+       )
+
+23 \ 1
+       #__¡ub_putmsg
+
+
+       )
+
+24 \ 1
+       #__¡ub_»voke
+
+
+       )
+
+25 \ 1
+       #__¡ub_£\8eog\9a
+
+
+       )
+
+26 \ 1
+       #__¡ub_sig»tuº
+
+
+       )
+
+27 \ 1
+       #__¡ub_s¡k
+
+
+       )
+
+28 \ 1
+       #__¡ub_¡ty
+
+
+       )
+
+       @/usr/include/wchar.h
+
+23 #iâdeà
+_WCHAR_H
+
+
+25 #ià!
+def\9aed
+__Ãed_mb¡©e_t
+ && !def\9aed 
+__Ãed_w\9at_t
+
+
+26 \ 1
+       #_WCHAR_H
+ 1
+
+       )
+
+27 \ 2
+       ~<ã©u»s.h
+>
+
+30 #ifdeà
+_WCHAR_H
+
+
+32 \ 1
+       #__Ãed___FILE
+
+
+       )
+
+33 #ià
+def\9aed
+__USE_UNIX98
+ || def\9aed 
+__USE_XOPEN2K
+
+
+34 \ 1
+       #__Ãed_FILE
+
+
+       )
+
+36 \ 2
+       ~<¡dio.h
+>
+
+38 \ 1
+       #__Ãed___va_li¡
+
+
+       )
+
+39 \ 2
+       ~<¡d¬g.h
+>
+
+41 \ 2
+       ~<b\99s/wch¬.h
+>
+
+44 \ 1
+       #__Ãed_size_t
+
+
+       )
+
+45 \ 1
+       #__Ãed_wch¬_t
+
+
+       )
+
+46 \ 1
+       #__Ãed_NULL
+
+
+       )
+
+48 #ià
+def\9aed
+_WCHAR_H
+ || def\9aed 
+__Ãed_w\9at_t
+ || !def\9aed 
+__WINT_TYPE__
+
+
+49 #undeà
+__Ãed_w\9at_t
+
+
+50 \ 1
+       #__Ãed_w\9at_t
+
+
+       )
+
+51 \ 2
+       ~<¡ddef.h
+>
+
+55 #iâdeà
+_WINT_T
+
+
+60 \ 1
+       #_WINT_T
+
+
+       )
+
+61 \e\1d\12
+       tw\9at_t
+;
+
+65 #ià
+def\9aed
+__ýlu¥lus
+ && def\9aed 
+_GLIBCPP_USE_NAMESPACES
+ \
+
+66 && 
+def\9aed
+__WINT_TYPE__
+
+
+67 
+__BEGIN_NAMESPACE_STD
+
+
+68 \e
+__WINT_TYPE__
+       tw\9at_t
+;
+
+69 
+       g__END_NAMESPACE_STD
+
+
+74 #ià
+def\9aed
+__ýlu¥lus
+ && 
+__GNUC_PREREQ
+ (4, 4)
+
+75 \ 1
+       #__CORRECT_ISO_CPP_WCHAR_H_PROTO
+
+
+       )
+
+79 #ià(
+def\9aed
+_WCHAR_H
+ || def\9aed 
+__Ãed_mb¡©e_t
+è&& !def\9aed 
+____mb¡©e_t_def\9aed
+
+
+80 \ 1
+       #____mb¡©e_t_def\9aed
+ 1
+
+       )
+
+84 \12
+       m__couÁ
+;
+
+87 #ifdeà
+__WINT_TYPE__
+
+
+88 
+__WINT_TYPE__
+       m__wch
+;
+
+90 
+w\9at_t
+       m__wch
+;
+
+92 \ 5
+       m__wchb
+[4];
+
+93 } 
+       m__v®ue
+;
+
+94 } 
+       t__mb¡©e_t
+;
+
+96 #undeà
+__Ãed_mb¡©e_t
+
+
+101 #ifdeà
+_WCHAR_H
+
+
+103 #iâdeà
+__mb¡©e_t_def\9aed
+
+
+104 
+__BEGIN_NAMESPACE_C99
+
+
+106 \e
+__mb¡©e_t
+       tmb¡©e_t
+;
+
+107 
+       g__END_NAMESPACE_C99
+
+
+108 \ 1
+       #__mb¡©e_t_def\9aed
+ 1
+
+       )
+
+111 #ifdeà
+__USE_GNU
+
+
+112 
+       $__USING_NAMESPACE_C99
+(
+mb¡©e_t
+)
+
+115 #iâdeà
+WCHAR_MIN
+
+
+117 \ 1
+       #WCHAR_MIN
+__WCHAR_MIN
+
+
+       )
+
+118 \ 1
+       #WCHAR_MAX
+__WCHAR_MAX
+
+
+       )
+
+121 #iâdeà
+WEOF
+
+
+122 \ 1
+       #WEOF
+ (0xffffffffu)
+
+       )
+
+127 #ià
+def\9aed
+__USE_XOPEN
+ && !def\9aed 
+__USE_UNIX98
+
+
+128 \ 2
+       ~<wùy³.h
+>
+
+132 
+__BEGIN_DECLS
+
+
+134 
+__BEGIN_NAMESPACE_STD
+
+
+137 \19
+tm
+;
+
+138 
+__END_NAMESPACE_STD
+
+
+142 
+       $__USING_NAMESPACE_STD
+(
+tm
+)
+
+145 
+__BEGIN_NAMESPACE_STD
+
+
+147 \r
+wch¬_t
+ *
+       $wcsýy
+ (
+wch¬_t
+ *
+__»¡riù
+__de¡
+,
+
+148 cڡ 
+wch¬_t
+ *
+__»¡riù
+__¤c
+)
+
+149 
+__THROW
+       `__nÚnuÎ
+ ((1, 2));
+
+152 \r
+wch¬_t
+ *
+       $wc¢ýy
+ (
+wch¬_t
+ *
+__»¡riù
+__de¡
+,
+
+153 cڡ 
+wch¬_t
+ *
+__»¡riù
+__¤c
+, 
+size_t
+__n
+)
+
+154 
+__THROW
+       `__nÚnuÎ
+ ((1, 2));
+
+157 \r
+wch¬_t
+ *
+       $wcsÿt
+ (
+wch¬_t
+ *
+__»¡riù
+__de¡
+,
+
+158 cڡ 
+wch¬_t
+ *
+__»¡riù
+__¤c
+)
+
+159 
+__THROW
+       `__nÚnuÎ
+ ((1, 2));
+
+161 \r
+wch¬_t
+ *
+       $wc¢ÿt
+ (
+wch¬_t
+ *
+__»¡riù
+__de¡
+,
+
+162 cڡ 
+wch¬_t
+ *
+__»¡riù
+__¤c
+, 
+size_t
+__n
+)
+
+163 
+__THROW
+       `__nÚnuÎ
+ ((1, 2));
+
+166 \r\12
+       $wcscmp
+ (cڡ 
+wch¬_t
+ *
+__s1
+, cÚ¡ wch¬_\88*
+__s2
+)
+
+167 
+__THROW
+__©\8cibu\8b_pu»__
+       `__nÚnuÎ
+ ((1, 2));
+
+169 \r\12
+       $wc¢cmp
+ (cڡ 
+wch¬_t
+ *
+__s1
+, cÚ¡ wch¬_\88*
+__s2
+, 
+size_t
+__n
+)
+
+170 
+__THROW
+__©\8cibu\8b_pu»__
+       `__nÚnuÎ
+ ((1, 2));
+
+171 
+__END_NAMESPACE_STD
+
+
+173 #ifdeà
+__USE_XOPEN2K8
+
+
+175 \r\12
+       $wcsÿ£cmp
+ (cڡ 
+wch¬_t
+ *
+__s1
+, cÚ¡ wch¬_\88*
+__s2
+__THROW
+;
+
+178 \r\12
+       $wc¢ÿ£cmp
+ (cڡ 
+wch¬_t
+ *
+__s1
+, cÚ¡ wch¬_\88*
+__s2
+,
+
+179 
+size_t
+__n
+__THROW
+;
+
+183 \ 2
+       ~<xloÿË.h
+>
+
+185 \r\12
+       $wcsÿ£cmp_l
+ (cڡ 
+wch¬_t
+ *
+__s1
+, cÚ¡ wch¬_\88*
+__s2
+,
+
+186 
+__loÿË_t
+__loc
+__THROW
+;
+
+188 \r\12
+       $wc¢ÿ£cmp_l
+ (cڡ 
+wch¬_t
+ *
+__s1
+, cÚ¡ wch¬_\88*
+__s2
+,
+
+189 
+size_t
+__n
+, 
+__loÿË_t
+__loc
+__THROW
+;
+
+192 
+__BEGIN_NAMESPACE_STD
+
+
+195 \r\12
+       $wcscÞl
+ (cڡ 
+wch¬_t
+ *
+__s1
+, cÚ¡ wch¬_\88*
+__s2
+__THROW
+;
+
+199 \r
+size_t
+       $wcsxäm
+ (
+wch¬_t
+ *
+__»¡riù
+__s1
+,
+
+200 cڡ 
+wch¬_t
+ *
+__»¡riù
+__s2
+, 
+size_t
+__n
+__THROW
+;
+
+201 
+__END_NAMESPACE_STD
+
+
+203 #ifdeà
+__USE_XOPEN2K8
+
+
+209 \r\12
+       $wcscÞl_l
+ (cڡ 
+wch¬_t
+ *
+__s1
+, cÚ¡ wch¬_\88*
+__s2
+,
+
+210 
+__loÿË_t
+__loc
+__THROW
+;
+
+215 \r
+size_t
+       $wcsxäm_l
+ (
+wch¬_t
+ *
+__s1
+, cÚ¡ wch¬_\88*
+__s2
+,
+
+216 
+size_t
+__n
+, 
+__loÿË_t
+__loc
+__THROW
+;
+
+219 \r
+wch¬_t
+ *
+       $wcsdup
+ (cڡ 
+wch¬_t
+ *
+__s
+__THROW
+__©\8cibu\8b_m®loc__
+;
+
+222 
+__BEGIN_NAMESPACE_STD
+
+
+224 #ifdeà
+__CORRECT_ISO_CPP_WCHAR_H_PROTO
+
+
+225 \r"C++" 
+wch¬_t
+ *
+       $wcschr
+ (
+wch¬_t
+ *
+__wcs
+, wch¬_\88
+__wc
+)
+
+226 
+__THROW
+       `__asm
+ ("wcschr"è
+__©\8cibu\8b_pu»__
+;
+
+227 \r"C++" cڡ 
+wch¬_t
+ *
+       $wcschr
+ (cڡ 
+wch¬_t
+ *
+__wcs
+, wch¬_\88
+__wc
+)
+
+228 
+__THROW
+       `__asm
+ ("wcschr"è
+__©\8cibu\8b_pu»__
+;
+
+230 \r
+wch¬_t
+ *
+       $wcschr
+ (cڡ 
+wch¬_t
+ *
+__wcs
+, wch¬_\88
+__wc
+)
+
+231 
+__THROW
+__©\8cibu\8b_pu»__
+;
+
+234 #ifdeà
+__CORRECT_ISO_CPP_WCHAR_H_PROTO
+
+
+235 \r"C++" 
+wch¬_t
+ *
+       $wc¤chr
+ (
+wch¬_t
+ *
+__wcs
+, wch¬_\88
+__wc
+)
+
+236 
+__THROW
+       `__asm
+ ("wc¤chr"è
+__©\8cibu\8b_pu»__
+;
+
+237 \r"C++" cڡ 
+wch¬_t
+ *
+       $wc¤chr
+ (cڡ 
+wch¬_t
+ *
+__wcs
+, wch¬_\88
+__wc
+)
+
+238 
+__THROW
+       `__asm
+ ("wc¤chr"è
+__©\8cibu\8b_pu»__
+;
+
+240 \r
+wch¬_t
+ *
+       $wc¤chr
+ (cڡ 
+wch¬_t
+ *
+__wcs
+, wch¬_\88
+__wc
+)
+
+241 
+__THROW
+__©\8cibu\8b_pu»__
+;
+
+243 
+__END_NAMESPACE_STD
+
+
+245 #ifdeà
+__USE_GNU
+
+
+248 \r
+wch¬_t
+ *
+       $wcschºul
+ (cڡ 
+wch¬_t
+ *
+__s
+, wch¬_\88
+__wc
+)
+
+249 
+__THROW
+__©\8cibu\8b_pu»__
+;
+
+252 
+__BEGIN_NAMESPACE_STD
+
+
+255 \r
+size_t
+       $wcsc¥n
+ (cڡ 
+wch¬_t
+ *
+__wcs
+, cÚ¡ wch¬_\88*
+__»jeù
+)
+
+256 
+__THROW
+__©\8cibu\8b_pu»__
+;
+
+259 \r
+size_t
+       $wcs¥n
+ (cڡ 
+wch¬_t
+ *
+__wcs
+, cÚ¡ wch¬_\88*
+__acû±
+)
+
+260 
+__THROW
+__©\8cibu\8b_pu»__
+;
+
+262 #ifdeà
+__CORRECT_ISO_CPP_WCHAR_H_PROTO
+
+
+263 \r"C++" 
+wch¬_t
+ *
+       $wc¥brk
+ (
+wch¬_t
+ *
+__wcs
+, cÚ¡ wch¬_\88*
+__acû±
+)
+
+264 
+__THROW
+       `__asm
+ ("wc¥brk"è
+__©\8cibu\8b_pu»__
+;
+
+265 \r"C++" cڡ 
+wch¬_t
+ *
+       $wc¥brk
+ (cڡ 
+wch¬_t
+ *
+__wcs
+,
+
+266 cڡ 
+wch¬_t
+ *
+__acû±
+)
+
+267 
+__THROW
+       `__asm
+ ("wc¥brk"è
+__©\8cibu\8b_pu»__
+;
+
+269 \r
+wch¬_t
+ *
+       $wc¥brk
+ (cڡ 
+wch¬_t
+ *
+__wcs
+, cÚ¡ wch¬_\88*
+__acû±
+)
+
+270 
+__THROW
+__©\8cibu\8b_pu»__
+;
+
+273 #ifdeà
+__CORRECT_ISO_CPP_WCHAR_H_PROTO
+
+
+274 \r"C++" 
+wch¬_t
+ *
+       $wcs¡r
+ (
+wch¬_t
+ *
+__hay¡ack
+, cÚ¡ wch¬_\88*
+__ÃedË
+)
+
+275 
+__THROW
+       `__asm
+ ("wcs¡r"è
+__©\8cibu\8b_pu»__
+;
+
+276 \r"C++" cڡ 
+wch¬_t
+ *
+       $wcs¡r
+ (cڡ 
+wch¬_t
+ *
+__hay¡ack
+,
+
+277 cڡ 
+wch¬_t
+ *
+__ÃedË
+)
+
+278 
+__THROW
+       `__asm
+ ("wcs¡r"è
+__©\8cibu\8b_pu»__
+;
+
+280 \r
+wch¬_t
+ *
+       $wcs¡r
+ (cڡ 
+wch¬_t
+ *
+__hay¡ack
+, cÚ¡ wch¬_\88*
+__ÃedË
+)
+
+281 
+__THROW
+__©\8cibu\8b_pu»__
+;
+
+285 \r
+wch¬_t
+ *
+       $wc¡ok
+ (
+wch¬_t
+ *
+__»¡riù
+__s
+,
+
+286 cڡ 
+wch¬_t
+ *
+__»¡riù
+__d\96im
+,
+
+287 
+wch¬_t
+ **
+__»¡riù
+__±r
+__THROW
+;
+
+290 \r
+size_t
+       $wc¦\92
+ (cڡ 
+wch¬_t
+ *
+__s
+__THROW
+__©\8cibu\8b_pu»__
+;
+
+291 
+__END_NAMESPACE_STD
+
+
+293 #ifdeà
+__USE_XOPEN
+
+
+295 #ifdeà
+__CORRECT_ISO_CPP_WCHAR_H_PROTO
+
+
+296 \r"C++" 
+wch¬_t
+ *
+       $wcswcs
+ (
+wch¬_t
+ *
+__hay¡ack
+, cÚ¡ wch¬_\88*
+__ÃedË
+)
+
+297 
+__THROW
+       `__asm
+ ("wcswcs"è
+__©\8cibu\8b_pu»__
+;
+
+298 \r"C++" cڡ 
+wch¬_t
+ *
+       $wcswcs
+ (cڡ 
+wch¬_t
+ *
+__hay¡ack
+,
+
+299 cڡ 
+wch¬_t
+ *
+__ÃedË
+)
+
+300 
+__THROW
+       `__asm
+ ("wcswcs"è
+__©\8cibu\8b_pu»__
+;
+
+302 \r
+wch¬_t
+ *
+       $wcswcs
+ (cڡ 
+wch¬_t
+ *
+__hay¡ack
+, cÚ¡ wch¬_\88*
+__ÃedË
+)
+
+303 
+__THROW
+__©\8cibu\8b_pu»__
+;
+
+307 #ifdeà
+__USE_XOPEN2K8
+
+
+309 \r
+size_t
+       $wc¢Ën
+ (cڡ 
+wch¬_t
+ *
+__s
+, 
+size_t
+__maxËn
+)
+
+310 
+__THROW
+__©\8cibu\8b_pu»__
+;
+
+314 
+__BEGIN_NAMESPACE_STD
+
+
+316 #ifdeà
+__CORRECT_ISO_CPP_WCHAR_H_PROTO
+
+
+317 \r"C++" 
+wch¬_t
+ *
+       $wmemchr
+ (
+wch¬_t
+ *
+__s
+, wch¬_\88
+__c
+, 
+size_t
+__n
+)
+
+318 
+__THROW
+       `__asm
+ ("wmemchr"è
+__©\8cibu\8b_pu»__
+;
+
+319 \r"C++" cڡ 
+wch¬_t
+ *
+       $wmemchr
+ (cڡ 
+wch¬_t
+ *
+__s
+, wch¬_\88
+__c
+,
+
+320 
+size_t
+__n
+)
+
+321 
+__THROW
+       `__asm
+ ("wmemchr"è
+__©\8cibu\8b_pu»__
+;
+
+323 \r
+wch¬_t
+ *
+       $wmemchr
+ (cڡ 
+wch¬_t
+ *
+__s
+, wch¬_\88
+__c
+, 
+size_t
+__n
+)
+
+324 
+__THROW
+__©\8cibu\8b_pu»__
+;
+
+328 \r\12
+       $wmemcmp
+ (cڡ 
+wch¬_t
+ *
+__s1
+, cÚ¡ wch¬_\88*
+__s2
+, 
+size_t
+__n
+)
+
+329 
+__THROW
+__©\8cibu\8b_pu»__
+;
+
+332 \r
+wch¬_t
+ *
+       $wmemýy
+ (
+wch¬_t
+ *
+__»¡riù
+__s1
+,
+
+333 cڡ 
+wch¬_t
+ *
+__»¡riù
+__s2
+, 
+size_t
+__n
+__THROW
+;
+
+337 \r
+wch¬_t
+ *
+       $wmemmove
+ (
+wch¬_t
+ *
+__s1
+, cÚ¡ wch¬_\88*
+__s2
+, 
+size_t
+__n
+)
+
+338 
+__THROW
+;
+
+341 \r
+wch¬_t
+ *
+       $wmem£t
+ (
+wch¬_t
+ *
+__s
+, wch¬_\88
+__c
+, 
+size_t
+__n
+__THROW
+;
+
+342 
+__END_NAMESPACE_STD
+
+
+344 #ifdeà
+__USE_GNU
+
+
+347 \r
+wch¬_t
+ *
+       $wmempýy
+ (
+wch¬_t
+ *
+__»¡riù
+__s1
+,
+
+348 cڡ 
+wch¬_t
+ *
+__»¡riù
+__s2
+, 
+size_t
+__n
+)
+
+349 
+__THROW
+;
+
+353 
+__BEGIN_NAMESPACE_STD
+
+
+356 \r
+w\9at_t
+       $btowc
+ (\12
+__c
+__THROW
+;
+
+360 \r\12
+       $wùob
+ (
+w\9at_t
+__c
+__THROW
+;
+
+364 \r\12
+       $mbs\9a\99
+ (cڡ 
+mb¡©e_t
+ *
+__ps
+__THROW
+__©\8cibu\8b_pu»__
+;
+
+368 \r
+size_t
+       $mb¹owc
+ (
+wch¬_t
+ *
+__»¡riù
+__pwc
+,
+
+369 cڡ \ 5*
+__»¡riù
+__s
+, 
+size_t
+__n
+,
+
+370 
+mb¡©e_t
+ *
+__»¡riù
+__p
+__THROW
+;
+
+373 \r
+size_t
+       $wütomb
+ (\ 5*
+__»¡riù
+__s
+, 
+wch¬_t
+__wc
+,
+
+374 
+mb¡©e_t
+ *
+__»¡riù
+__ps
+__THROW
+;
+
+377 \r
+size_t
+       $__mb¾\92
+ (cڡ \ 5*
+__»¡riù
+__s
+, 
+size_t
+__n
+,
+
+378 
+mb¡©e_t
+ *
+__»¡riù
+__ps
+__THROW
+;
+
+379 \r
+size_t
+       $mb¾\92
+ (cڡ \ 5*
+__»¡riù
+__s
+, 
+size_t
+__n
+,
+
+380 
+mb¡©e_t
+ *
+__»¡riù
+__ps
+__THROW
+;
+
+381 
+__END_NAMESPACE_STD
+
+
+383 #ifdeà
+__USE_EXTERN_INLINES
+
+
+389 \r
+w\9at_t
+       $__btowc_®\9fs
+ (\12
+__c
+       `__asm
+ ("btowc");
+
+390 
+__ex\8bº_\9al\9ae
+w\9at_t
+
+
+391 
+       `__NTH
+ (
+       $btowc
+ (\12
+__c
+))
+
+392 { \15 (
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+__c
+) && __c >= '\0' && __c <= '\x7f'
+
+393 ? (
+w\9at_t
+__c
+ : 
+       `__btowc_®\9fs
+ (__c)); 
+       }
+}
+
+395 \r\12
+       $__wùob_®\9fs
+ (
+w\9at_t
+__c
+       `__asm
+ ("wctob");
+
+396 
+__ex\8bº_\9al\9ae
\12
+
+397 
+       `__NTH
+ (
+       $wùob
+ (
+w\9at_t
+__wc
+))
+
+398 { \15 (
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+__wc
+è&& __wø>ð
+L
+'\0' && __wc <= L'\x7f'
+
+399 ? (\12è
+__wc
+ : 
+       `__wùob_®\9fs
+ (__wc)); 
+       }
+}
+
+401 
+__ex\8bº_\9al\9ae
+size_t
+
+
+402 
+__NTH
+ (
+       $mb¾\92
+ (cڡ \ 5*
+__»¡riù
+__s
+, 
+size_t
+__n
+,
+
+403 
+mb¡©e_t
+ *
+__»¡riù
+__ps
+))
+
+404 { \15 (
+__ps
+ !ð
+NULL
+
+
+405 ? 
+       `mb¹owc
+ (
+NULL
+, 
+__s
+, 
+__n
+, 
+__ps
+è: 
+       `__mb¾\92
+ (__s, __n, NULL)); 
+       }
+}
+
+408 
+__BEGIN_NAMESPACE_STD
+
+
+411 \r
+size_t
+       $mb¤towcs
+ (
+wch¬_t
+ *
+__»¡riù
+__d¡
+,
+
+412 cڡ \ 5**
+__»¡riù
+__¤c
+, 
+size_t
+__Ën
+,
+
+413 
+mb¡©e_t
+ *
+__»¡riù
+__ps
+__THROW
+;
+
+417 \r
+size_t
+       $wc¤tombs
+ (\ 5*
+__»¡riù
+__d¡
+,
+
+418 cڡ 
+wch¬_t
+ **
+__»¡riù
+__¤c
+, 
+size_t
+__Ën
+,
+
+419 
+mb¡©e_t
+ *
+__»¡riù
+__ps
+__THROW
+;
+
+420 
+__END_NAMESPACE_STD
+
+
+423 #ifdef 
+__USE_XOPEN2K8
+
+
+426 \r
+size_t
+       $mb¢¹owcs
+ (
+wch¬_t
+ *
+__»¡riù
+__d¡
+,
+
+427 cڡ \ 5**
+__»¡riù
+__¤c
+, 
+size_t
+__nmc
+,
+
+428 
+size_t
+__Ën
+, 
+mb¡©e_t
+ *
+__»¡riù
+__ps
+__THROW
+;
+
+432 \r
+size_t
+       $wc¢¹ombs
+ (\ 5*
+__»¡riù
+__d¡
+,
+
+433 cڡ 
+wch¬_t
+ **
+__»¡riù
+__¤c
+,
+
+434 
+size_t
+__nwc
+, size_\88
+__Ën
+,
+
+435 
+mb¡©e_t
+ *
+__»¡riù
+__ps
+__THROW
+;
+
+440 #ifdeà
+__USE_XOPEN
+
+
+442 \r\12
+       $wcwidth
+ (
+wch¬_t
+__c
+__THROW
+;
+
+446 \r\12
+       $wcswidth
+ (cڡ 
+wch¬_t
+ *
+__s
+, 
+size_t
+__n
+__THROW
+;
+
+450 
+__BEGIN_NAMESPACE_STD
+
+
+453 \r\b
+       $wc¡od
+ (cڡ 
+wch¬_t
+ *
+__»¡riù
+__Ō
+,
+
+454 
+wch¬_t
+ **
+__»¡riù
+__\92d±r
+__THROW
+;
+
+455 
+__END_NAMESPACE_STD
+
+
+457 #ifdeà
+__USE_ISOC99
+
+
+458 
+__BEGIN_NAMESPACE_C99
+
+
+460 \r\ e
+       $wc¡of
+ (cڡ 
+wch¬_t
+ *
+__»¡riù
+__Ō
+,
+
+461 
+wch¬_t
+ **
+__»¡riù
+__\92d±r
+__THROW
+;
+
+462 \r\13\b
+       $wc¡Þd
+ (cڡ 
+wch¬_t
+ *
+__»¡riù
+__Ō
+,
+
+463 
+wch¬_t
+ **
+__»¡riù
+__\92d±r
+__THROW
+;
+
+464 
+__END_NAMESPACE_C99
+
+
+468 
+__BEGIN_NAMESPACE_STD
+
+
+471 \r\13\12
+       $wc¡Þ
+ (cڡ 
+wch¬_t
+ *
+__»¡riù
+__Ō
+,
+
+472 
+wch¬_t
+ **
+__»¡riù
+__\92d±r
+, \12
+__ba£
+__THROW
+;
+
+476 \r\1d\13\12
+       $wc¡oul
+ (cڡ 
+wch¬_t
+ *
+__»¡riù
+__Ō
+,
+
+477 
+wch¬_t
+ **
+__»¡riù
+__\92d±r
+, \12
+__ba£
+)
+
+478 
+__THROW
+;
+
+479 
+__END_NAMESPACE_STD
+
+
+481 #ifdeà
+__USE_ISOC99
+
+
+482 
+__BEGIN_NAMESPACE_C99
+
+
+485 
+__ex\8bnsiÚ__
+
+
+486 \r\13\13\12
+       $wc¡Þl
+ (cڡ 
+wch¬_t
+ *
+__»¡riù
+__Ō
+,
+
+487 
+wch¬_t
+ **
+__»¡riù
+__\92d±r
+, \12
+__ba£
+)
+
+488 
+__THROW
+;
+
+492 
+__ex\8bnsiÚ__
+
+
+493 \r\1d\13\13\12
+       $wc¡ouÎ
+ (cڡ 
+wch¬_t
+ *
+__»¡riù
+__Ō
+,
+
+494 
+wch¬_t
+ **
+__»¡riù
+__\92d±r
+,
+
+495 \12
+__ba£
+__THROW
+;
+
+496 
+__END_NAMESPACE_C99
+
+
+499 #ifdeà
+__USE_GNU
+
+
+502 
+__ex\8bnsiÚ__
+
+
+503 \r\13\13\12
+       $wc¡oq
+ (cڡ 
+wch¬_t
+ *
+__»¡riù
+__Ō
+,
+
+504 
+wch¬_t
+ **
+__»¡riù
+__\92d±r
+, \12
+__ba£
+)
+
+505 
+__THROW
+;
+
+509 
+__ex\8bnsiÚ__
+
+
+510 \r\1d\13\13\12
+       $wc¡ouq
+ (cڡ 
+wch¬_t
+ *
+__»¡riù
+__Ō
+,
+
+511 
+wch¬_t
+ **
+__»¡riù
+__\92d±r
+,
+
+512 \12
+__ba£
+__THROW
+;
+
+515 #ifdeà
+__USE_GNU
+
+
+529 \ 2
+       ~<xloÿË.h
+>
+
+533 \r\13\12
+       $wc¡Þ_l
+ (cڡ 
+wch¬_t
+ *
+__»¡riù
+__Ō
+,
+
+534 
+wch¬_t
+ **
+__»¡riù
+__\92d±r
+, \12
+__ba£
+,
+
+535 
+__loÿË_t
+__loc
+__THROW
+;
+
+537 \r\1d\13\12
+       $wc¡oul_l
+ (cڡ 
+wch¬_t
+ *
+__»¡riù
+__Ō
+,
+
+538 
+wch¬_t
+ **
+__»¡riù
+__\92d±r
+,
+
+539 \12
+__ba£
+, 
+__loÿË_t
+__loc
+__THROW
+;
+
+541 
+__ex\8bnsiÚ__
+
+
+542 \r\13\13\12
+       $wc¡Þl_l
+ (cڡ 
+wch¬_t
+ *
+__»¡riù
+__Ō
+,
+
+543 
+wch¬_t
+ **
+__»¡riù
+__\92d±r
+,
+
+544 \12
+__ba£
+, 
+__loÿË_t
+__loc
+__THROW
+;
+
+546 
+__ex\8bnsiÚ__
+
+
+547 \r\1d\13\13\12
+       $wc¡ouÎ_l
+ (cڡ 
+wch¬_t
+ *
+__»¡riù
+__Ō
+,
+
+548 
+wch¬_t
+ **
+__»¡riù
+__\92d±r
+,
+
+549 \12
+__ba£
+, 
+__loÿË_t
+__loc
+)
+
+550 
+__THROW
+;
+
+552 \r\b
+       $wc¡od_l
+ (cڡ 
+wch¬_t
+ *
+__»¡riù
+__Ō
+,
+
+553 
+wch¬_t
+ **
+__»¡riù
+__\92d±r
+, 
+__loÿË_t
+__loc
+)
+
+554 
+__THROW
+;
+
+556 \r\ e
+       $wc¡of_l
+ (cڡ 
+wch¬_t
+ *
+__»¡riù
+__Ō
+,
+
+557 
+wch¬_t
+ **
+__»¡riù
+__\92d±r
+, 
+__loÿË_t
+__loc
+)
+
+558 
+__THROW
+;
+
+560 \r\13\b
+       $wc¡Þd_l
+ (cڡ 
+wch¬_t
+ *
+__»¡riù
+__Ō
+,
+
+561 
+wch¬_t
+ **
+__»¡riù
+__\92d±r
+,
+
+562 
+__loÿË_t
+__loc
+__THROW
+;
+
+566 #ifdeà
+__USE_XOPEN2K8
+
+
+569 \r
+wch¬_t
+ *
+       $wýýy
+ (
+wch¬_t
+ *
+__»¡riù
+__de¡
+,
+
+570 cڡ 
+wch¬_t
+ *
+__»¡riù
+__¤c
+__THROW
+;
+
+574 \r
+wch¬_t
+ *
+       $wýnýy
+ (
+wch¬_t
+ *
+__»¡riù
+__de¡
+,
+
+575 cڡ 
+wch¬_t
+ *
+__»¡riù
+__¤c
+, 
+size_t
+__n
+)
+
+576 
+__THROW
+;
+
+583 \r
+__FILE
+ *
+       $Ý\92_wmem¡»am
+ (
+wch¬_t
+ **
+__buæoc
+, 
+size_t
+ *
+__siz\96oc
+__THROW
+;
+
+586 #ià
+def\9aed
+__USE_ISOC95
+ || def\9aed 
+__USE_UNIX98
+
+
+587 
+__BEGIN_NAMESPACE_STD
+
+
+590 \r\12
+       $fwide
+ (
+__FILE
+ *
+__å
+, \12
+__mode
+__THROW
+;
+
+597 \r\12
+       `fw´\9atf
+ (
+__FILE
+ *
+__»¡riù
+__¡»am
+,
+
+598 cڡ 
+wch¬_t
+ *
+__»¡riù
+__fÜm©
+, ...)
+
+604 \r\12
+       `w´\9atf
+ (cڡ 
+wch¬_t
+ *
+__»¡riù
+__fÜm©
+, ...)
+
+607 \r\12
+       $sw´\9atf
+ (
+wch¬_t
+ *
+__»¡riù
+__s
+, 
+size_t
+__n
+,
+
+608 cڡ 
+wch¬_t
+ *
+__»¡riù
+__fÜm©
+, ...)
+
+609 
+__THROW
+ ;
+
+615 \r\12
+       `vfw´\9atf
+ (
+__FILE
+ *
+__»¡riù
+__s
+,
+
+616 cڡ 
+wch¬_t
+ *
+__»¡riù
+__fÜm©
+,
+
+617 
+__gnuc_va_li¡
+__¬g
+)
+
+623 \r\12
+       `vw´\9atf
+ (cڡ 
+wch¬_t
+ *
+__»¡riù
+__fÜm©
+,
+
+624 
+__gnuc_va_li¡
+__¬g
+)
+
+628 \r\12
+       $vsw´\9atf
+ (
+wch¬_t
+ *
+__»¡riù
+__s
+, 
+size_t
+__n
+,
+
+629 cڡ 
+wch¬_t
+ *
+__»¡riù
+__fÜm©
+,
+
+630 
+__gnuc_va_li¡
+__¬g
+)
+
+631 
+__THROW
+ ;
+
+638 \r\12
+       `fwsÿnf
+ (
+__FILE
+ *
+__»¡riù
+__¡»am
+,
+
+639 cڡ 
+wch¬_t
+ *
+__»¡riù
+__fÜm©
+, ...)
+
+645 \r\12
+       `wsÿnf
+ (cڡ 
+wch¬_t
+ *
+__»¡riù
+__fÜm©
+, ...)
+
+648 \r\12
+       $swsÿnf
+ (cڡ 
+wch¬_t
+ *
+__»¡riù
+__s
+,
+
+649 cڡ 
+wch¬_t
+ *
+__»¡riù
+__fÜm©
+, ...)
+
+650 
+__THROW
+ ;
+
+652 #ià
+def\9aed
+__USE_ISOC99
+ && !def\9aed 
+__USE_GNU
+ \
+
+653 && (!
+def\9aed
+__LDBL_COMPAT
+ || !def\9aed 
+__REDIRECT
+) \
+
+654 && (
+def\9aed
+__STRICT_ANSI__
+ || def\9aed 
+__USE_XOPEN2K
+)
+
+655 #ifdeà
+__REDIRECT
+
+
+659 \r\12
+       `__REDIRECT
+ (
+fwsÿnf
+, (
+__FILE
+ *
+__»¡riù
+__¡»am
+,
+
+660 cڡ 
+wch¬_t
+ *
+__»¡riù
+__fÜm©
+, ...),
+
+661 
+__isoc99_fwsÿnf
+)
+
+663 \r\12
+       `__REDIRECT
+ (
+wsÿnf
+, (cڡ 
+wch¬_t
+ *
+__»¡riù
+__fÜm©
+, ...),
+
+664 
+__isoc99_wsÿnf
+)
+
+666 \r\12
+       `__REDIRECT_NTH
+ (
+swsÿnf
+, (cڡ 
+wch¬_t
+ *
+__»¡riù
+__s
+,
+
+667 cڡ 
+wch¬_t
+ *
+__»¡riù
+__fÜm©
+,
+
+668 ...), 
+__isoc99_swsÿnf
+)
+
+671 \r\12
+       `__isoc99_fwsÿnf
+ (
+__FILE
+ *
+__»¡riù
+__¡»am
+,
+
+672 cڡ 
+wch¬_t
+ *
+__»¡riù
+__fÜm©
+, ...);
+
+673 \r\12
+       `__isoc99_wsÿnf
+ (cڡ 
+wch¬_t
+ *
+__»¡riù
+__fÜm©
+, ...);
+
+674 \r\12
+       $__isoc99_swsÿnf
+ (cڡ 
+wch¬_t
+ *
+__»¡riù
+__s
+,
+
+675 cڡ 
+wch¬_t
+ *
+__»¡riù
+__fÜm©
+, ...)
+
+676 
+__THROW
+;
+
+677 \ 1
+       #fwsÿnf
+__isoc99_fwsÿnf
+
+
+       )
+
+678 \ 1
+       #wsÿnf
+__isoc99_wsÿnf
+
+
+       )
+
+679 \ 1
+       #swsÿnf
+__isoc99_swsÿnf
+
+
+       )
+
+683 
+__END_NAMESPACE_STD
+
+
+686 #ifdeà
+__USE_ISOC99
+
+
+687 
+__BEGIN_NAMESPACE_C99
+
+
+692 \r\12
+       `vfwsÿnf
+ (
+__FILE
+ *
+__»¡riù
+__s
+,
+
+693 cڡ 
+wch¬_t
+ *
+__»¡riù
+__fÜm©
+,
+
+694 
+__gnuc_va_li¡
+__¬g
+)
+
+700 \r\12
+       `vwsÿnf
+ (cڡ 
+wch¬_t
+ *
+__»¡riù
+__fÜm©
+,
+
+701 
+__gnuc_va_li¡
+__¬g
+)
+
+704 \r\12
+       $vswsÿnf
+ (cڡ 
+wch¬_t
+ *
+__»¡riù
+__s
+,
+
+705 cڡ 
+wch¬_t
+ *
+__»¡riù
+__fÜm©
+,
+
+706 
+__gnuc_va_li¡
+__¬g
+)
+
+707 
+__THROW
+ ;
+
+709 #ià!
+def\9aed
+__USE_GNU
+ \
+
+710 && (!
+def\9aed
+__LDBL_COMPAT
+ || !def\9aed 
+__REDIRECT
+) \
+
+711 && (
+def\9aed
+__STRICT_ANSI__
+ || def\9aed 
+__USE_XOPEN2K
+)
+
+712 #ifdeà
+__REDIRECT
+
+
+713 \r\12
+       `__REDIRECT
+ (
+vfwsÿnf
+, (
+__FILE
+ *
+__»¡riù
+__s
+,
+
+714 cڡ 
+wch¬_t
+ *
+__»¡riù
+__fÜm©
+,
+
+715 
+__gnuc_va_li¡
+__¬g
+), 
+__isoc99_vfwsÿnf
+)
+
+717 \r\12
+       `__REDIRECT
+ (
+vwsÿnf
+, (cڡ 
+wch¬_t
+ *
+__»¡riù
+__fÜm©
+,
+
+718 
+__gnuc_va_li¡
+__¬g
+), 
+__isoc99_vwsÿnf
+)
+
+720 \r\12
+       `__REDIRECT_NTH
+ (
+vswsÿnf
+, (cڡ 
+wch¬_t
+ *
+__»¡riù
+__s
+,
+
+721 cڡ 
+wch¬_t
+ *
+__»¡riù
+__fÜm©
+,
+
+722 
+__gnuc_va_li¡
+__¬g
+), 
+__isoc99_vswsÿnf
+)
+
+725 \r\12
+       `__isoc99_vfwsÿnf
+ (
+__FILE
+ *
+__»¡riù
+__s
+,
+
+726 cڡ 
+wch¬_t
+ *
+__»¡riù
+__fÜm©
+,
+
+727 
+__gnuc_va_li¡
+__¬g
+);
+
+728 \r\12
+       `__isoc99_vwsÿnf
+ (cڡ 
+wch¬_t
+ *
+__»¡riù
+__fÜm©
+,
+
+729 
+__gnuc_va_li¡
+__¬g
+);
+
+730 \r\12
+       $__isoc99_vswsÿnf
+ (cڡ 
+wch¬_t
+ *
+__»¡riù
+__s
+,
+
+731 cڡ 
+wch¬_t
+ *
+__»¡riù
+__fÜm©
+,
+
+732 
+__gnuc_va_li¡
+__¬g
+__THROW
+;
+
+733 \ 1
+       #vfwsÿnf
+__isoc99_vfwsÿnf
+
+
+       )
+
+734 \ 1
+       #vwsÿnf
+__isoc99_vwsÿnf
+
+
+       )
+
+735 \ 1
+       #vswsÿnf
+__isoc99_vswsÿnf
+
+
+       )
+
+739 
+__END_NAMESPACE_C99
+
+
+743 
+__BEGIN_NAMESPACE_STD
+
+
+748 \r
+w\9at_t
+       `fg\91wc
+ (
+__FILE
+ *
+__¡»am
+);
+
+749 \r
+w\9at_t
+       `g\91wc
+ (
+__FILE
+ *
+__¡»am
+);
+
+755 \r
+w\9at_t
+       `g\91wch¬
+ (\1e);
+
+762 \r
+w\9at_t
+       `åutwc
+ (
+wch¬_t
+__wc
+, 
+__FILE
+ *
+__¡»am
+);
+
+763 \r
+w\9at_t
+       `putwc
+ (
+wch¬_t
+__wc
+, 
+__FILE
+ *
+__¡»am
+);
+
+769 \r
+w\9at_t
+       `putwch¬
+ (
+wch¬_t
+__wc
+);
+
+777 \r
+wch¬_t
+ *
+       `fg\91ws
+ (wch¬_\88*
+__»¡riù
+__ws
+, \12
+__n
+,
+
+778 
+__FILE
+ *
+__»¡riù
+__¡»am
+);
+
+784 \r\12
+       `åutws
+ (cڡ 
+wch¬_t
+ *
+__»¡riù
+__ws
+,
+
+785 
+__FILE
+ *
+__»¡riù
+__¡»am
+);
+
+792 \r
+w\9at_t
+       `ung\91wc
+ (w\9at_\88
+__wc
+, 
+__FILE
+ *
+__¡»am
+);
+
+793 
+__END_NAMESPACE_STD
+
+
+796 #ifdeà
+__USE_GNU
+
+
+804 \r
+w\9at_t
+       `g\91wc_uÆocked
+ (
+__FILE
+ *
+__¡»am
+);
+
+805 \r
+w\9at_t
+       `g\91wch¬_uÆocked
+ (\1e);
+
+813 \r
+w\9at_t
+       `fg\91wc_uÆocked
+ (
+__FILE
+ *
+__¡»am
+);
+
+821 \r
+w\9at_t
+       `åutwc_uÆocked
+ (
+wch¬_t
+__wc
+, 
+__FILE
+ *
+__¡»am
+);
+
+830 \r
+w\9at_t
+       `putwc_uÆocked
+ (
+wch¬_t
+__wc
+, 
+__FILE
+ *
+__¡»am
+);
+
+831 \r
+w\9at_t
+       `putwch¬_uÆocked
+ (
+wch¬_t
+__wc
+);
+
+840 \r
+wch¬_t
+ *
+       `fg\91ws_uÆocked
+ (wch¬_\88*
+__»¡riù
+__ws
+, \12
+__n
+,
+
+841 
+__FILE
+ *
+__»¡riù
+__¡»am
+);
+
+849 \r\12
+       `åutws_uÆocked
+ (cڡ 
+wch¬_t
+ *
+__»¡riù
+__ws
+,
+
+850 
+__FILE
+ *
+__»¡riù
+__¡»am
+);
+
+854 
+__BEGIN_NAMESPACE_C99
+
+
+858 \r
+size_t
+       $wcsáime
+ (
+wch¬_t
+ *
+__»¡riù
+__s
+, 
+size_t
+__maxsize
+,
+
+859 cڡ 
+wch¬_t
+ *
+__»¡riù
+__fÜm©
+,
+
+860 cڡ \19
+tm
+ *
+__»¡riù
+__\8d
+__THROW
+;
+
+861 
+__END_NAMESPACE_C99
+
+
+863 #ifdeà
+__USE_GNU
+
+
+864 \ 2
+       ~<xloÿË.h
+>
+
+868 \r
+size_t
+       $wcsáime_l
+ (
+wch¬_t
+ *
+__»¡riù
+__s
+, 
+size_t
+__maxsize
+,
+
+869 cڡ 
+wch¬_t
+ *
+__»¡riù
+__fÜm©
+,
+
+870 cڡ \19
+tm
+ *
+__»¡riù
+__\8d
+,
+
+871 
+__loÿË_t
+__loc
+__THROW
+;
+
+880 #ià
+def\9aed
+__USE_UNIX98
+ && !def\9aed 
+__USE_GNU
+
+
+881 \ 1
+       #__Ãed_iswxxx
+
+
+       )
+
+882 \ 2
+       ~<wùy³.h
+>
+
+886 #ià
+__USE_FORTIFY_LEVEL
+ > 0 && 
+def\9aed
+__fÜtify_funùiÚ
+
+
+887 \ 2
+       ~<b\99s/wch¬2.h
+>
+
+890 #ifdeà
+__LDBL_COMPAT
+
+
+891 \ 2
+       ~<b\99s/wch¬-ldbl.h
+>
+
+894 
+__END_DECLS
+
+
+902 #undeà
+__Ãed_mb¡©e_t
+
+
+903 #undeà
+__Ãed_w\9at_t
+
+
+       @/usr/include/asm-generic/errno.h
+
+1 #iâdeà
+_ASM_GENERIC_ERRNO_H
+
+
+2 \ 1
+       #_ASM_GENERIC_ERRNO_H
+
+
+       )
+
+4 \ 2
+       ~<asm-g\92\94ic/\94ºo-ba£.h
+>
+
+6 \ 1
+       #EDEADLK
+ 35
+
+       )
+
+7 \ 1
+       #ENAMETOOLONG
+ 36
+
+       )
+
+8 \ 1
+       #ENOLCK
+ 37
+
+       )
+
+17 \ 1
+       #ENOSYS
+ 38
+
+       )
+
+19 \ 1
+       #ENOTEMPTY
+ 39
+
+       )
+
+20 \ 1
+       #ELOOP
+ 40
+
+       )
+
+21 \ 1
+       #EWOULDBLOCK
+EAGAIN
+
+
+       )
+
+22 \ 1
+       #ENOMSG
+ 42
+
+       )
+
+23 \ 1
+       #EIDRM
+ 43
+
+       )
+
+24 \ 1
+       #ECHRNG
+ 44
+
+       )
+
+25 \ 1
+       #EL2NSYNC
+ 45
+
+       )
+
+26 \ 1
+       #EL3HLT
+ 46
+
+       )
+
+27 \ 1
+       #EL3RST
+ 47
+
+       )
+
+28 \ 1
+       #ELNRNG
+ 48
+
+       )
+
+29 \ 1
+       #EUNATCH
+ 49
+
+       )
+
+30 \ 1
+       #ENOCSI
+ 50
+
+       )
+
+31 \ 1
+       #EL2HLT
+ 51
+
+       )
+
+32 \ 1
+       #EBADE
+ 52
+
+       )
+
+33 \ 1
+       #EBADR
+ 53
+
+       )
+
+34 \ 1
+       #EXFULL
+ 54
+
+       )
+
+35 \ 1
+       #ENOANO
+ 55
+
+       )
+
+36 \ 1
+       #EBADRQC
+ 56
+
+       )
+
+37 \ 1
+       #EBADSLT
+ 57
+
+       )
+
+39 \ 1
+       #EDEADLOCK
+EDEADLK
+
+
+       )
+
+41 \ 1
+       #EBFONT
+ 59
+
+       )
+
+42 \ 1
+       #ENOSTR
+ 60
+
+       )
+
+43 \ 1
+       #ENODATA
+ 61
+
+       )
+
+44 \ 1
+       #ETIME
+ 62
+
+       )
+
+45 \ 1
+       #ENOSR
+ 63
+
+       )
+
+46 \ 1
+       #ENONET
+ 64
+
+       )
+
+47 \ 1
+       #ENOPKG
+ 65
+
+       )
+
+48 \ 1
+       #EREMOTE
+ 66
+
+       )
+
+49 \ 1
+       #ENOLINK
+ 67
+
+       )
+
+50 \ 1
+       #EADV
+ 68
+
+       )
+
+51 \ 1
+       #ESRMNT
+ 69
+
+       )
+
+52 \ 1
+       #ECOMM
+ 70
+
+       )
+
+53 \ 1
+       #EPROTO
+ 71
+
+       )
+
+54 \ 1
+       #EMULTIHOP
+ 72
+
+       )
+
+55 \ 1
+       #EDOTDOT
+ 73
+
+       )
+
+56 \ 1
+       #EBADMSG
+ 74
+
+       )
+
+57 \ 1
+       #EOVERFLOW
+ 75
+
+       )
+
+58 \ 1
+       #ENOTUNIQ
+ 76
+
+       )
+
+59 \ 1
+       #EBADFD
+ 77
+
+       )
+
+60 \ 1
+       #EREMCHG
+ 78
+
+       )
+
+61 \ 1
+       #ELIBACC
+ 79
+
+       )
+
+62 \ 1
+       #ELIBBAD
+ 80
+
+       )
+
+63 \ 1
+       #ELIBSCN
+ 81
+
+       )
+
+64 \ 1
+       #ELIBMAX
+ 82
+
+       )
+
+65 \ 1
+       #ELIBEXEC
+ 83
+
+       )
+
+66 \ 1
+       #EILSEQ
+ 84
+
+       )
+
+67 \ 1
+       #ERESTART
+ 85
+
+       )
+
+68 \ 1
+       #ESTRPIPE
+ 86
+
+       )
+
+69 \ 1
+       #EUSERS
+ 87
+
+       )
+
+70 \ 1
+       #ENOTSOCK
+ 88
+
+       )
+
+71 \ 1
+       #EDESTADDRREQ
+ 89
+
+       )
+
+72 \ 1
+       #EMSGSIZE
+ 90
+
+       )
+
+73 \ 1
+       #EPROTOTYPE
+ 91
+
+       )
+
+74 \ 1
+       #ENOPROTOOPT
+ 92
+
+       )
+
+75 \ 1
+       #EPROTONOSUPPORT
+ 93
+
+       )
+
+76 \ 1
+       #ESOCKTNOSUPPORT
+ 94
+
+       )
+
+77 \ 1
+       #EOPNOTSUPP
+ 95
+
+       )
+
+78 \ 1
+       #EPFNOSUPPORT
+ 96
+
+       )
+
+79 \ 1
+       #EAFNOSUPPORT
+ 97
+
+       )
+
+80 \ 1
+       #EADDRINUSE
+ 98
+
+       )
+
+81 \ 1
+       #EADDRNOTAVAIL
+ 99
+
+       )
+
+82 \ 1
+       #ENETDOWN
+ 100
+
+       )
+
+83 \ 1
+       #ENETUNREACH
+ 101
+
+       )
+
+84 \ 1
+       #ENETRESET
+ 102
+
+       )
+
+85 \ 1
+       #ECONNABORTED
+ 103
+
+       )
+
+86 \ 1
+       #ECONNRESET
+ 104
+
+       )
+
+87 \ 1
+       #ENOBUFS
+ 105
+
+       )
+
+88 \ 1
+       #EISCONN
+ 106
+
+       )
+
+89 \ 1
+       #ENOTCONN
+ 107
+
+       )
+
+90 \ 1
+       #ESHUTDOWN
+ 108
+
+       )
+
+91 \ 1
+       #ETOOMANYREFS
+ 109
+
+       )
+
+92 \ 1
+       #ETIMEDOUT
+ 110
+
+       )
+
+93 \ 1
+       #ECONNREFUSED
+ 111
+
+       )
+
+94 \ 1
+       #EHOSTDOWN
+ 112
+
+       )
+
+95 \ 1
+       #EHOSTUNREACH
+ 113
+
+       )
+
+96 \ 1
+       #EALREADY
+ 114
+
+       )
+
+97 \ 1
+       #EINPROGRESS
+ 115
+
+       )
+
+98 \ 1
+       #ESTALE
+ 116
+
+       )
+
+99 \ 1
+       #EUCLEAN
+ 117
+
+       )
+
+100 \ 1
+       #ENOTNAM
+ 118
+
+       )
+
+101 \ 1
+       #ENAVAIL
+ 119
+
+       )
+
+102 \ 1
+       #EISNAM
+ 120
+
+       )
+
+103 \ 1
+       #EREMOTEIO
+ 121
+
+       )
+
+104 \ 1
+       #EDQUOT
+ 122
+
+       )
+
+106 \ 1
+       #ENOMEDIUM
+ 123
+
+       )
+
+107 \ 1
+       #EMEDIUMTYPE
+ 124
+
+       )
+
+108 \ 1
+       #ECANCELED
+ 125
+
+       )
+
+109 \ 1
+       #ENOKEY
+ 126
+
+       )
+
+110 \ 1
+       #EKEYEXPIRED
+ 127
+
+       )
+
+111 \ 1
+       #EKEYREVOKED
+ 128
+
+       )
+
+112 \ 1
+       #EKEYREJECTED
+ 129
+
+       )
+
+115 \ 1
+       #EOWNERDEAD
+ 130
+
+       )
+
+116 \ 1
+       #ENOTRECOVERABLE
+ 131
+
+       )
+
+118 \ 1
+       #ERFKILL
+ 132
+
+       )
+
+120 \ 1
+       #EHWPOISON
+ 133
+
+       )
+
+       @/usr/include/asm-generic/param.h
+
+1 #iâdeà
+__ASM_GENERIC_PARAM_H
+
+
+2 \ 1
+       #__ASM_GENERIC_PARAM_H
+
+
+       )
+
+4 #iâdeà
+HZ
+
+
+5 \ 1
+       #HZ
+ 100
+
+       )
+
+8 #iâdeà
+EXEC_PAGESIZE
+
+
+9 \ 1
+       #EXEC_PAGESIZE
+ 4096
+
+       )
+
+12 #iâdeà
+NOGROUP
+
+
+13 \ 1
+       #NOGROUP
+ (-1)
+
+       )
+
+16 \ 1
+       #MAXHOSTNAMELEN
+ 64
+
+       )
+
+       @/usr/include/asm/sockios.h
+
+1 \ 2
+       ~<asm-g\92\94ic/sockios.h
+>
+
+       @/usr/include/bits/wchar-ldbl.h
+
+19 #iâdeà
+_WCHAR_H
+
+
+23 #ià
+def\9aed
+__USE_ISOC95
+ || def\9aed 
+__USE_UNIX98
+
+
+24 
+__BEGIN_NAMESPACE_C99
+
+
+25 
+__LDBL_REDIR_DECL
+ (
+fw´\9atf
+);
+
+26 
+__LDBL_REDIR_DECL
+ (
+w´\9atf
+);
+
+27 
+__LDBL_REDIR_DECL
+ (
+sw´\9atf
+);
+
+28 
+__LDBL_REDIR_DECL
+ (
+vfw´\9atf
+);
+
+29 
+__LDBL_REDIR_DECL
+ (
+vw´\9atf
+);
+
+30 
+__LDBL_REDIR_DECL
+ (
+vsw´\9atf
+);
+
+31 #ià
+def\9aed
+__USE_ISOC99
+ && !def\9aed 
+__USE_GNU
+ \
+
+32 && !
+def\9aed
+       g__REDIRECT
+ \
+
+33 && (
+def\9aed
+       g__STRICT_ANSI__
+ || def\9aed 
+       g__USE_XOPEN2K
+)
+
+34 
+       $__LDBL_REDIR1_DECL
+ (
+fwsÿnf
+, 
+__Ædbl___isoc99_fwsÿnf
+)
+
+35 
+       $__LDBL_REDIR1_DECL
+ (
+wsÿnf
+, 
+__Ædbl___isoc99_wsÿnf
+)
+
+36 
+       $__LDBL_REDIR1_DECL
+ (
+swsÿnf
+, 
+__Ædbl___isoc99_swsÿnf
+)
+
+38 
+       `__LDBL_REDIR_DECL
+ (
+fwsÿnf
+);
+
+39 
+       `__LDBL_REDIR_DECL
+ (
+wsÿnf
+);
+
+40 
+       `__LDBL_REDIR_DECL
+ (
+swsÿnf
+);
+
+42 
+__END_NAMESPACE_C99
+
+
+45 #ifdeà
+__USE_ISOC99
+
+
+46 
+__BEGIN_NAMESPACE_C99
+
+
+47 
+       `__LDBL_REDIR1_DECL
+ (
+wc¡Þd
+, 
+wc¡od
+);
+
+48 #ià!
+def\9aed
+__USE_GNU
+ && !def\9aed 
+__REDIRECT
+ \
+
+49 && (
+def\9aed
+__STRICT_ANSI__
+ || def\9aed 
+__USE_XOPEN2K
+)
+
+50 
+       $__LDBL_REDIR1_DECL
+ (
+vfwsÿnf
+, 
+__Ædbl___isoc99_vfwsÿnf
+)
+
+51 
+       $__LDBL_REDIR1_DECL
+ (
+vwsÿnf
+, 
+__Ædbl___isoc99_vwsÿnf
+)
+
+52 
+       $__LDBL_REDIR1_DECL
+ (
+vswsÿnf
+, 
+__Ædbl___isoc99_vswsÿnf
+)
+
+54 
+       `__LDBL_REDIR_DECL
+ (
+vfwsÿnf
+);
+
+55 
+       `__LDBL_REDIR_DECL
+ (
+vwsÿnf
+);
+
+56 
+       `__LDBL_REDIR_DECL
+ (
+vswsÿnf
+);
+
+58 
+__END_NAMESPACE_C99
+
+
+61 #ifdeà
+__USE_GNU
+
+
+62 
+       `__LDBL_REDIR1_DECL
+ (
+wc¡Þd_l
+, 
+wc¡od_l
+);
+
+65 #ià
+__USE_FORTIFY_LEVEL
+ > 0 && 
+def\9aed
+__fÜtify_funùiÚ
+
+
+66 
+       $__LDBL_REDIR_DECL
+ (
+__sw´\9atf_chk
+)
+
+67 
+       $__LDBL_REDIR_DECL
+ (
+__vsw´\9atf_chk
+)
+
+68 #ià
+__USE_FORTIFY_LEVEL
+ > 1
+
+69 
+       $__LDBL_REDIR_DECL
+ (
+__fw´\9atf_chk
+)
+
+70 
+       $__LDBL_REDIR_DECL
+ (
+__w´\9atf_chk
+)
+
+71 
+       $__LDBL_REDIR_DECL
+ (
+__vfw´\9atf_chk
+)
+
+72 
+       $__LDBL_REDIR_DECL
+ (
+__vw´\9atf_chk
+)
+
+       @/usr/include/bits/wchar2.h
+
+19 #iâdeà
+_WCHAR_H
+
+
+24 \r
+wch¬_t
+ *
+       $__wmemýy_chk
+ (
+wch¬_t
+ *
+__»¡riù
+__s1
+,
+
+25 cڡ 
+wch¬_t
+ *
+__»¡riù
+__s2
+, 
+size_t
+__n
+,
+
+26 
+size_t
+__ns1
+__THROW
+;
+
+27 \r
+wch¬_t
+ *
+       `__REDIRECT_NTH
+ (
+__wmemýy_®\9fs
+,
+
+28 (
+wch¬_t
+ *
+__»¡riù
+__s1
+,
+
+29 cڡ 
+wch¬_t
+ *
+__»¡riù
+__s2
+, 
+size_t
+__n
+),
+
+30 
+wmemýy
+);
+
+31 \r
+wch¬_t
+ *
+       `__REDIRECT_NTH
+ (
+__wmemýy_chk_w¬n
+,
+
+32 (
+wch¬_t
+ *
+__»¡riù
+__s1
+,
+
+33 cڡ 
+wch¬_t
+ *
+__»¡riù
+__s2
+, 
+size_t
+__n
+,
+
+34 
+size_t
+__ns1
+), 
+__wmemýy_chk
+)
+
+35 
+       `__w¬Ç\89r
+ ("wmemcpy called with\86ength bigger\81han size of destination "
+
+38 
+__fÜtify_funùiÚ
+wch¬_t
+ *
+
+39 
+       `__NTH
+ (
+       $wmemýy
+ (
+wch¬_t
+ *
+__»¡riù
+__s1
+, cÚ¡ wch¬_\88*__»¡riù 
+__s2
+,
+
+40 
+size_t
+__n
+))
+
+42 ià(
+       `__bos0
+ (
+__s1
+è!ð(
+size_t
+) -1)
+
+44 ià(!
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+__n
+))
+
+45 \15 
+       `__wmemýy_chk
+ (
+__s1
+, 
+__s2
+, 
+__n
+,
+
+46 
+       `__bos0
+ (
+__s1
+è/ \17 (
+wch¬_t
+));
+
+48 ià(
+__n
+ > 
+       `__bos0
+ (
+__s1
+è/ \17 (
+wch¬_t
+))
+
+49 \15 
+       `__wmemýy_chk_w¬n
+ (
+__s1
+, 
+__s2
+, 
+__n
+,
+
+50 
+       `__bos0
+ (
+__s1
+è/ \17 (
+wch¬_t
+));
+
+52 \15 
+       `__wmemýy_®\9fs
+ (
+__s1
+, 
+__s2
+, 
+__n
+);
+
+53 
+       }
+}
+
+56 \r
+wch¬_t
+ *
+       $__wmemmove_chk
+ (
+wch¬_t
+ *
+__s1
+, cÚ¡ wch¬_\88*
+__s2
+,
+
+57 
+size_t
+__n
+, size_\88
+__ns1
+__THROW
+;
+
+58 \r
+wch¬_t
+ *
+       `__REDIRECT_NTH
+ (
+__wmemmove_®\9fs
+, (wch¬_\88*
+__s1
+,
+
+59 cڡ 
+wch¬_t
+ *
+__s2
+,
+
+60 
+size_t
+__n
+), 
+wmemmove
+);
+
+61 \r
+wch¬_t
+ *
+       `__REDIRECT_NTH
+ (
+__wmemmove_chk_w¬n
+,
+
+62 (
+wch¬_t
+ *
+__s1
+, cÚ¡ wch¬_\88*
+__s2
+,
+
+63 
+size_t
+__n
+, size_\88
+__ns1
+), 
+__wmemmove_chk
+)
+
+64 
+       `__w¬Ç\89r
+ ("wmemmove called with\86ength bigger\81han size of destination "
+
+67 
+__fÜtify_funùiÚ
+wch¬_t
+ *
+
+68 
+       `__NTH
+ (
+       $wmemmove
+ (
+wch¬_t
+ *
+__s1
+, cÚ¡ wch¬_\88*
+__s2
+, 
+size_t
+__n
+))
+
+70 ià(
+       `__bos0
+ (
+__s1
+è!ð(
+size_t
+) -1)
+
+72 ià(!
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+__n
+))
+
+73 \15 
+       `__wmemmove_chk
+ (
+__s1
+, 
+__s2
+, 
+__n
+,
+
+74 
+       `__bos0
+ (
+__s1
+è/ \17 (
+wch¬_t
+));
+
+76 ià(
+__n
+ > 
+       `__bos0
+ (
+__s1
+è/ \17 (
+wch¬_t
+))
+
+77 \15 
+       `__wmemmove_chk_w¬n
+ (
+__s1
+, 
+__s2
+, 
+__n
+,
+
+78 
+       `__bos0
+ (
+__s1
+è/ \17 (
+wch¬_t
+));
+
+80 \15 
+       `__wmemmove_®\9fs
+ (
+__s1
+, 
+__s2
+, 
+__n
+);
+
+81 
+       }
+}
+
+84 #ifdeà
+__USE_GNU
+
+
+85 \r
+wch¬_t
+ *
+       $__wmempýy_chk
+ (
+wch¬_t
+ *
+__»¡riù
+__s1
+,
+
+86 cڡ 
+wch¬_t
+ *
+__»¡riù
+__s2
+, 
+size_t
+__n
+,
+
+87 
+size_t
+__ns1
+__THROW
+;
+
+88 \r
+wch¬_t
+ *
+       `__REDIRECT_NTH
+ (
+__wmempýy_®\9fs
+,
+
+89 (
+wch¬_t
+ *
+__»¡riù
+__s1
+,
+
+90 cڡ 
+wch¬_t
+ *
+__»¡riù
+__s2
+,
+
+91 
+size_t
+__n
+), 
+wmempýy
+);
+
+92 \r
+wch¬_t
+ *
+       `__REDIRECT_NTH
+ (
+__wmempýy_chk_w¬n
+,
+
+93 (
+wch¬_t
+ *
+__»¡riù
+__s1
+,
+
+94 cڡ 
+wch¬_t
+ *
+__»¡riù
+__s2
+, 
+size_t
+__n
+,
+
+95 
+size_t
+__ns1
+), 
+__wmempýy_chk
+)
+
+96 
+       `__w¬Ç\89r
+ ("wmempcpy called with\86ength bigger\81han size of destination "
+
+99 
+__fÜtify_funùiÚ
+wch¬_t
+ *
+
+100 
+       `__NTH
+ (
+       $wmempýy
+ (
+wch¬_t
+ *
+__»¡riù
+__s1
+, cÚ¡ wch¬_\88*__»¡riù 
+__s2
+,
+
+101 
+size_t
+__n
+))
+
+103 ià(
+       `__bos0
+ (
+__s1
+è!ð(
+size_t
+) -1)
+
+105 ià(!
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+__n
+))
+
+106 \15 
+       `__wmempýy_chk
+ (
+__s1
+, 
+__s2
+, 
+__n
+,
+
+107 
+       `__bos0
+ (
+__s1
+è/ \17 (
+wch¬_t
+));
+
+109 ià(
+__n
+ > 
+       `__bos0
+ (
+__s1
+è/ \17 (
+wch¬_t
+))
+
+110 \15 
+       `__wmempýy_chk_w¬n
+ (
+__s1
+, 
+__s2
+, 
+__n
+,
+
+111 
+       `__bos0
+ (
+__s1
+è/ \17 (
+wch¬_t
+));
+
+113 \15 
+       `__wmempýy_®\9fs
+ (
+__s1
+, 
+__s2
+, 
+__n
+);
+
+114 
+       }
+}
+
+118 \r
+wch¬_t
+ *
+       $__wmem£t_chk
+ (
+wch¬_t
+ *
+__s
+, wch¬_\88
+__c
+, 
+size_t
+__n
+,
+
+119 
+size_t
+__ns
+__THROW
+;
+
+120 \r
+wch¬_t
+ *
+       `__REDIRECT_NTH
+ (
+__wmem£t_®\9fs
+, (wch¬_\88*
+__s
+, wch¬_\88
+__c
+,
+
+121 
+size_t
+__n
+), 
+wmem£t
+);
+
+122 \r
+wch¬_t
+ *
+       `__REDIRECT_NTH
+ (
+__wmem£t_chk_w¬n
+,
+
+123 (
+wch¬_t
+ *
+__s
+, wch¬_\88
+__c
+, 
+size_t
+__n
+,
+
+124 
+size_t
+__ns
+), 
+__wmem£t_chk
+)
+
+125 
+       `__w¬Ç\89r
+ ("wmemset called with\86ength bigger\81han size of destination "
+
+128 
+__fÜtify_funùiÚ
+wch¬_t
+ *
+
+129 
+       `__NTH
+ (
+       $wmem£t
+ (
+wch¬_t
+ *
+__s
+, wch¬_\88
+__c
+, 
+size_t
+__n
+))
+
+131 ià(
+       `__bos0
+ (
+__s
+è!ð(
+size_t
+) -1)
+
+133 ià(!
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+__n
+))
+
+134 \15 
+       `__wmem£t_chk
+ (
+__s
+, 
+__c
+, 
+__n
+, 
+       `__bos0
+ (__sè/ \17 (
+wch¬_t
+));
+
+136 ià(
+__n
+ > 
+       `__bos0
+ (
+__s
+è/ \17 (
+wch¬_t
+))
+
+137 \15 
+       `__wmem£t_chk_w¬n
+ (
+__s
+, 
+__c
+, 
+__n
+,
+
+138 
+       `__bos0
+ (
+__s
+è/ \17 (
+wch¬_t
+));
+
+140 \15 
+       `__wmem£t_®\9fs
+ (
+__s
+, 
+__c
+, 
+__n
+);
+
+141 
+       }
+}
+
+144 \r
+wch¬_t
+ *
+       $__wcsýy_chk
+ (
+wch¬_t
+ *
+__»¡riù
+__de¡
+,
+
+145 cڡ 
+wch¬_t
+ *
+__»¡riù
+__¤c
+,
+
+146 
+size_t
+__n
+__THROW
+;
+
+147 \r
+wch¬_t
+ *
+       `__REDIRECT_NTH
+ (
+__wcsýy_®\9fs
+,
+
+148 (
+wch¬_t
+ *
+__»¡riù
+__de¡
+,
+
+149 cڡ 
+wch¬_t
+ *
+__»¡riù
+__¤c
+), 
+wcsýy
+);
+
+151 
+__fÜtify_funùiÚ
+wch¬_t
+ *
+
+152 
+       `__NTH
+ (
+       $wcsýy
+ (
+wch¬_t
+ *
+__»¡riù
+__de¡
+, cÚ¡ wch¬_\88*__»¡riù 
+__¤c
+))
+
+154 ià(
+       `__bos
+ (
+__de¡
+è!ð(
+size_t
+) -1)
+
+155 \15 
+       `__wcsýy_chk
+ (
+__de¡
+, 
+__¤c
+, 
+       `__bos
+ (__de¡è/ \17 (
+wch¬_t
+));
+
+156 \15 
+       `__wcsýy_®\9fs
+ (
+__de¡
+, 
+__¤c
+);
+
+157 
+       }
+}
+
+160 \r
+wch¬_t
+ *
+       $__wýýy_chk
+ (
+wch¬_t
+ *
+__»¡riù
+__de¡
+,
+
+161 cڡ 
+wch¬_t
+ *
+__»¡riù
+__¤c
+,
+
+162 
+size_t
+__de¡Ën
+__THROW
+;
+
+163 \r
+wch¬_t
+ *
+       `__REDIRECT_NTH
+ (
+__wýýy_®\9fs
+,
+
+164 (
+wch¬_t
+ *
+__»¡riù
+__de¡
+,
+
+165 cڡ 
+wch¬_t
+ *
+__»¡riù
+__¤c
+), 
+wýýy
+);
+
+167 
+__fÜtify_funùiÚ
+wch¬_t
+ *
+
+168 
+       `__NTH
+ (
+       $wýýy
+ (
+wch¬_t
+ *
+__»¡riù
+__de¡
+, cÚ¡ wch¬_\88*__»¡riù 
+__¤c
+))
+
+170 ià(
+       `__bos
+ (
+__de¡
+è!ð(
+size_t
+) -1)
+
+171 \15 
+       `__wýýy_chk
+ (
+__de¡
+, 
+__¤c
+, 
+       `__bos
+ (__de¡è/ \17 (
+wch¬_t
+));
+
+172 \15 
+       `__wýýy_®\9fs
+ (
+__de¡
+, 
+__¤c
+);
+
+173 
+       }
+}
+
+176 \r
+wch¬_t
+ *
+       $__wc¢ýy_chk
+ (
+wch¬_t
+ *
+__»¡riù
+__de¡
+,
+
+177 cڡ 
+wch¬_t
+ *
+__»¡riù
+__¤c
+, 
+size_t
+__n
+,
+
+178 
+size_t
+__de¡Ën
+__THROW
+;
+
+179 \r
+wch¬_t
+ *
+       `__REDIRECT_NTH
+ (
+__wc¢ýy_®\9fs
+,
+
+180 (
+wch¬_t
+ *
+__»¡riù
+__de¡
+,
+
+181 cڡ 
+wch¬_t
+ *
+__»¡riù
+__¤c
+,
+
+182 
+size_t
+__n
+), 
+wc¢ýy
+);
+
+183 \r
+wch¬_t
+ *
+       `__REDIRECT_NTH
+ (
+__wc¢ýy_chk_w¬n
+,
+
+184 (
+wch¬_t
+ *
+__»¡riù
+__de¡
+,
+
+185 cڡ 
+wch¬_t
+ *
+__»¡riù
+__¤c
+,
+
+186 
+size_t
+__n
+, size_\88
+__de¡Ën
+), 
+__wc¢ýy_chk
+)
+
+187 
+       `__w¬Ç\89r
+ ("wcsncpy called with\86ength bigger\81han size of destination "
+
+190 
+__fÜtify_funùiÚ
+wch¬_t
+ *
+
+191 
+       `__NTH
+ (
+       $wc¢ýy
+ (
+wch¬_t
+ *
+__»¡riù
+__de¡
+, cÚ¡ wch¬_\88*__»¡riù 
+__¤c
+,
+
+192 
+size_t
+__n
+))
+
+194 ià(
+       `__bos
+ (
+__de¡
+è!ð(
+size_t
+) -1)
+
+196 ià(!
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+__n
+))
+
+197 \15 
+       `__wc¢ýy_chk
+ (
+__de¡
+, 
+__¤c
+, 
+__n
+,
+
+198 
+       `__bos
+ (
+__de¡
+è/ \17 (
+wch¬_t
+));
+
+199 ià(
+__n
+ > 
+       `__bos
+ (
+__de¡
+è/ \17 (
+wch¬_t
+))
+
+200 \15 
+       `__wc¢ýy_chk_w¬n
+ (
+__de¡
+, 
+__¤c
+, 
+__n
+,
+
+201 
+       `__bos
+ (
+__de¡
+è/ \17 (
+wch¬_t
+));
+
+203 \15 
+       `__wc¢ýy_®\9fs
+ (
+__de¡
+, 
+__¤c
+, 
+__n
+);
+
+204 
+       }
+}
+
+207 \r
+wch¬_t
+ *
+       $__wýnýy_chk
+ (
+wch¬_t
+ *
+__»¡riù
+__de¡
+,
+
+208 cڡ 
+wch¬_t
+ *
+__»¡riù
+__¤c
+, 
+size_t
+__n
+,
+
+209 
+size_t
+__de¡Ën
+__THROW
+;
+
+210 \r
+wch¬_t
+ *
+       `__REDIRECT_NTH
+ (
+__wýnýy_®\9fs
+,
+
+211 (
+wch¬_t
+ *
+__»¡riù
+__de¡
+,
+
+212 cڡ 
+wch¬_t
+ *
+__»¡riù
+__¤c
+,
+
+213 
+size_t
+__n
+), 
+wýnýy
+);
+
+214 \r
+wch¬_t
+ *
+       `__REDIRECT_NTH
+ (
+__wýnýy_chk_w¬n
+,
+
+215 (
+wch¬_t
+ *
+__»¡riù
+__de¡
+,
+
+216 cڡ 
+wch¬_t
+ *
+__»¡riù
+__¤c
+,
+
+217 
+size_t
+__n
+, size_\88
+__de¡Ën
+), 
+__wýnýy_chk
+)
+
+218 
+       `__w¬Ç\89r
+ ("wcpncpy called with\86ength bigger\81han size of destination "
+
+221 
+__fÜtify_funùiÚ
+wch¬_t
+ *
+
+222 
+       `__NTH
+ (
+       $wýnýy
+ (
+wch¬_t
+ *
+__»¡riù
+__de¡
+, cÚ¡ wch¬_\88*__»¡riù 
+__¤c
+,
+
+223 
+size_t
+__n
+))
+
+225 ià(
+       `__bos
+ (
+__de¡
+è!ð(
+size_t
+) -1)
+
+227 ià(!
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+__n
+))
+
+228 \15 
+       `__wýnýy_chk
+ (
+__de¡
+, 
+__¤c
+, 
+__n
+,
+
+229 
+       `__bos
+ (
+__de¡
+è/ \17 (
+wch¬_t
+));
+
+230 ià(
+__n
+ > 
+       `__bos
+ (
+__de¡
+è/ \17 (
+wch¬_t
+))
+
+231 \15 
+       `__wýnýy_chk_w¬n
+ (
+__de¡
+, 
+__¤c
+, 
+__n
+,
+
+232 
+       `__bos
+ (
+__de¡
+è/ \17 (
+wch¬_t
+));
+
+234 \15 
+       `__wýnýy_®\9fs
+ (
+__de¡
+, 
+__¤c
+, 
+__n
+);
+
+235 
+       }
+}
+
+238 \r
+wch¬_t
+ *
+       $__wcsÿt_chk
+ (
+wch¬_t
+ *
+__»¡riù
+__de¡
+,
+
+239 cڡ 
+wch¬_t
+ *
+__»¡riù
+__¤c
+,
+
+240 
+size_t
+__de¡Ën
+__THROW
+;
+
+241 \r
+wch¬_t
+ *
+       `__REDIRECT_NTH
+ (
+__wcsÿt_®\9fs
+,
+
+242 (
+wch¬_t
+ *
+__»¡riù
+__de¡
+,
+
+243 cڡ 
+wch¬_t
+ *
+__»¡riù
+__¤c
+), 
+wcsÿt
+);
+
+245 
+__fÜtify_funùiÚ
+wch¬_t
+ *
+
+246 
+       `__NTH
+ (
+       $wcsÿt
+ (
+wch¬_t
+ *
+__»¡riù
+__de¡
+, cÚ¡ wch¬_\88*__»¡riù 
+__¤c
+))
+
+248 ià(
+       `__bos
+ (
+__de¡
+è!ð(
+size_t
+) -1)
+
+249 \15 
+       `__wcsÿt_chk
+ (
+__de¡
+, 
+__¤c
+, 
+       `__bos
+ (__de¡è/ \17 (
+wch¬_t
+));
+
+250 \15 
+       `__wcsÿt_®\9fs
+ (
+__de¡
+, 
+__¤c
+);
+
+251 
+       }
+}
+
+254 \r
+wch¬_t
+ *
+       $__wc¢ÿt_chk
+ (
+wch¬_t
+ *
+__»¡riù
+__de¡
+,
+
+255 cڡ 
+wch¬_t
+ *
+__»¡riù
+__¤c
+,
+
+256 
+size_t
+__n
+, size_\88
+__de¡Ën
+__THROW
+;
+
+257 \r
+wch¬_t
+ *
+       `__REDIRECT_NTH
+ (
+__wc¢ÿt_®\9fs
+,
+
+258 (
+wch¬_t
+ *
+__»¡riù
+__de¡
+,
+
+259 cڡ 
+wch¬_t
+ *
+__»¡riù
+__¤c
+,
+
+260 
+size_t
+__n
+), 
+wc¢ÿt
+);
+
+262 
+__fÜtify_funùiÚ
+wch¬_t
+ *
+
+263 
+       `__NTH
+ (
+       $wc¢ÿt
+ (
+wch¬_t
+ *
+__»¡riù
+__de¡
+, cÚ¡ wch¬_\88*__»¡riù 
+__¤c
+,
+
+264 
+size_t
+__n
+))
+
+266 ià(
+       `__bos
+ (
+__de¡
+è!ð(
+size_t
+) -1)
+
+267 \15 
+       `__wc¢ÿt_chk
+ (
+__de¡
+, 
+__¤c
+, 
+__n
+,
+
+268 
+       `__bos
+ (
+__de¡
+è/ \17 (
+wch¬_t
+));
+
+269 \15 
+       `__wc¢ÿt_®\9fs
+ (
+__de¡
+, 
+__¤c
+, 
+__n
+);
+
+270 
+       }
+}
+
+273 \r\12
+       $__sw´\9atf_chk
+ (
+wch¬_t
+ *
+__»¡riù
+__s
+, 
+size_t
+__n
+,
+
+274 \12
+__æag
+, 
+size_t
+__s_Ën
+,
+
+275 cڡ 
+wch¬_t
+ *
+__»¡riù
+__fÜm©
+, ...)
+
+276 
+__THROW
+ ;
+
+278 \r\12
+       `__REDIRECT_NTH_LDBL
+ (
+__sw´\9atf_®\9fs
+,
+
+279 (
+wch¬_t
+ *
+__»¡riù
+__s
+, 
+size_t
+__n
+,
+
+280 cڡ 
+wch¬_t
+ *
+__»¡riù
+__fmt
+, ...),
+
+281 
+sw´\9atf
+);
+
+283 #ifdeà
+__va_¬g_·ck
+
+
+284 
+__fÜtify_funùiÚ
\12
+
+285 
+       `__NTH
+ (
+       $sw´\9atf
+ (
+wch¬_t
+ *
+__»¡riù
+__s
+, 
+size_t
+__n
+,
+
+286 cڡ 
+wch¬_t
+ *
+__»¡riù
+__fmt
+, ...))
+
+288 ià(
+       `__bos
+ (
+__s
+è!ð(
+size_t
+è-1 || 
+__USE_FORTIFY_LEVEL
+ > 1)
+
+289 \15 
+       `__sw´\9atf_chk
+ (
+__s
+, 
+__n
+, 
+__USE_FORTIFY_LEVEL
+ - 1,
+
+290 
+       `__bos
+ (
+__s
+è/ \17 (
+wch¬_t
+),
+
+291 
+__fmt
+, 
+       `__va_¬g_·ck
+ ());
+
+292 \15 
+       `__sw´\9atf_®\9fs
+ (
+__s
+, 
+__n
+, 
+__fmt
+, 
+       `__va_¬g_·ck
+ ());
+
+293 
+       }
+}
+
+294 #\96ià!
+def\9aed
+__ýlu¥lus
+
+
+296 \ 1
+       #sw´\9atf
+(
+s
+, 
+n
+, ...) \
+
+297 (
+       `__bos
+ (
+s
+è!ð(
+size_t
+è-1 || 
+__USE_FORTIFY_LEVEL
+ > 1 \
+
+298 ? 
+       `__sw´\9atf_chk
+ (
+s
+, 
+n
+, 
+__USE_FORTIFY_LEVEL
+ - 1, \
+
+299 
+       `__bos
+ (
+s
+è/ \17 (
+wch¬_t
+), 
+__VA_ARGS__
+) \
+
+300 : 
+       `sw´\9atf
+ (
+s
+, 
+n
+, 
+__VA_ARGS__
+))
+
+       )
+
+303 \r\12
+       $__vsw´\9atf_chk
+ (
+wch¬_t
+ *
+__»¡riù
+__s
+, 
+size_t
+__n
+,
+
+304 \12
+__æag
+, 
+size_t
+__s_Ën
+,
+
+305 cڡ 
+wch¬_t
+ *
+__»¡riù
+__fÜm©
+,
+
+306 
+__gnuc_va_li¡
+__¬g
+)
+
+307 
+__THROW
+ ;
+
+309 \r\12
+       `__REDIRECT_NTH_LDBL
+ (
+__vsw´\9atf_®\9fs
+,
+
+310 (
+wch¬_t
+ *
+__»¡riù
+__s
+, 
+size_t
+__n
+,
+
+311 cڡ 
+wch¬_t
+ *
+__»¡riù
+__fmt
+,
+
+312 
+__gnuc_va_li¡
+__­
+), 
+vsw´\9atf
+);
+
+314 
+__fÜtify_funùiÚ
\12
+
+315 
+       `__NTH
+ (
+       $vsw´\9atf
+ (
+wch¬_t
+ *
+__»¡riù
+__s
+, 
+size_t
+__n
+,
+
+316 cڡ 
+wch¬_t
+ *
+__»¡riù
+__fmt
+, 
+__gnuc_va_li¡
+__­
+))
+
+318 ià(
+       `__bos
+ (
+__s
+è!ð(
+size_t
+è-1 || 
+__USE_FORTIFY_LEVEL
+ > 1)
+
+319 \15 
+       `__vsw´\9atf_chk
+ (
+__s
+, 
+__n
+, 
+__USE_FORTIFY_LEVEL
+ - 1,
+
+320 
+       `__bos
+ (
+__s
+è/ \17 (
+wch¬_t
+), 
+__fmt
+, 
+__­
+);
+
+321 \15 
+       `__vsw´\9atf_®\9fs
+ (
+__s
+, 
+__n
+, 
+__fmt
+, 
+__­
+);
+
+322 
+       }
+}
+
+325 #ià
+__USE_FORTIFY_LEVEL
+ > 1
+
+327 \r\12
+__fw´\9atf_chk
+ (
+__FILE
+ *
+__»¡riù
+__¡»am
+, \12
+__æag
+,
+
+328 cڡ 
+wch¬_t
+ *
+__»¡riù
+__fÜm©
+, ...);
+
+329 \r\12
+__w´\9atf_chk
+ (\12
+__æag
+, cڡ 
+wch¬_t
+ *
+__»¡riù
+__fÜm©
+,
+
+331 \r\12
+__vfw´\9atf_chk
+ (
+__FILE
+ *
+__»¡riù
+__¡»am
+, \12
+__æag
+,
+
+332 cڡ 
+wch¬_t
+ *
+__»¡riù
+__fÜm©
+,
+
+333 
+__gnuc_va_li¡
+__­
+);
+
+334 \r\12
+__vw´\9atf_chk
+ (\12
+__æag
+, cڡ 
+wch¬_t
+ *
+__»¡riù
+__fÜm©
+,
+
+335 
+__gnuc_va_li¡
+__­
+);
+
+337 #ifdeà
+__va_¬g_·ck
+
+
+338 
+__fÜtify_funùiÚ
\12
+
+339 
+       $w´\9atf
+ (cڡ 
+wch¬_t
+ *
+__»¡riù
+__fmt
+, ...)
+
+341 \15 
+       `__w´\9atf_chk
+ (
+__USE_FORTIFY_LEVEL
+ - 1, 
+__fmt
+, 
+       `__va_¬g_·ck
+ ());
+
+342 
+       }
+}
+
+344 
+__fÜtify_funùiÚ
\12
+
+345 
+       $fw´\9atf
+ (
+__FILE
+ *
+__»¡riù
+__¡»am
+, cڡ 
+wch¬_t
+ *__»¡riù 
+__fmt
+, ...)
+
+347 \15 
+       `__fw´\9atf_chk
+ (
+__¡»am
+, 
+__USE_FORTIFY_LEVEL
+ - 1, 
+__fmt
+,
+
+348 
+       `__va_¬g_·ck
+ ());
+
+349 
+       }
+}
+
+350 #\96ià!
+def\9aed
+__ýlu¥lus
+
+
+351 \ 1
+       #w´\9atf
+(...) \
+
+352 
+       `__w´\9atf_chk
+ (
+__USE_FORTIFY_LEVEL
+ - 1, 
+__VA_ARGS__
+)
+
+       )
+
+353 \ 1
+       #fw´\9atf
+(
+¡»am
+, ...) \
+
+354 
+       `__fw´\9atf_chk
+ (
+¡»am
+, 
+__USE_FORTIFY_LEVEL
+ - 1, 
+__VA_ARGS__
+)
+
+       )
+
+357 
+__fÜtify_funùiÚ
\12
+
+358 
+       $vw´\9atf
+ (cڡ 
+wch¬_t
+ *
+__»¡riù
+__fmt
+, 
+__gnuc_va_li¡
+__­
+)
+
+360 \15 
+       `__vw´\9atf_chk
+ (
+__USE_FORTIFY_LEVEL
+ - 1, 
+__fmt
+, 
+__­
+);
+
+361 
+       }
+}
+
+363 
+__fÜtify_funùiÚ
\12
+
+364 
+       $vfw´\9atf
+ (
+__FILE
+ *
+__»¡riù
+__¡»am
+,
+
+365 cڡ 
+wch¬_t
+ *
+__»¡riù
+__fmt
+, 
+__gnuc_va_li¡
+__­
+)
+
+367 \15 
+       `__vfw´\9atf_chk
+ (
+__¡»am
+, 
+__USE_FORTIFY_LEVEL
+ - 1, 
+__fmt
+, 
+__­
+);
+
+368 
+       }
+}
+
+372 \r
+wch¬_t
+ *
+       $__fg\91ws_chk
+ (
+wch¬_t
+ *
+__»¡riù
+__s
+, 
+size_t
+__size
+, \12
+__n
+,
+
+373 
+__FILE
+ *
+__»¡riù
+__¡»am
+__wur
+;
+
+374 \r
+wch¬_t
+ *
+       `__REDIRECT
+ (
+__fg\91ws_®\9fs
+,
+
+375 (
+wch¬_t
+ *
+__»¡riù
+__s
+, \12
+__n
+,
+
+376 
+__FILE
+ *
+__»¡riù
+__¡»am
+), 
+fg\91ws
+__wur
+;
+
+377 \r
+wch¬_t
+ *
+       `__REDIRECT
+ (
+__fg\91ws_chk_w¬n
+,
+
+378 (
+wch¬_t
+ *
+__»¡riù
+__s
+, 
+size_t
+__size
+, \12
+__n
+,
+
+379 
+__FILE
+ *
+__»¡riù
+__¡»am
+), 
+__fg\91ws_chk
+)
+
+380 
+__wur
+       `__w¬Ç\89r
+ ("fgetws called with bigger size\81han\86ength "
+
+383 
+__fÜtify_funùiÚ
+__wur
+wch¬_t
+ *
+
+384 
+       $fg\91ws
+ (
+wch¬_t
+ *
+__»¡riù
+__s
+, \12
+__n
+, 
+__FILE
+ *__»¡riù 
+__¡»am
+)
+
+386 ià(
+       `__bos
+ (
+__s
+è!ð(
+size_t
+) -1)
+
+388 ià(!
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+__n
+) || __n <= 0)
+
+389 \15 
+       `__fg\91ws_chk
+ (
+__s
+, 
+       `__bos
+ (__sè/ \17 (
+wch¬_t
+),
+
+390 
+__n
+, 
+__¡»am
+);
+
+392 ià((
+size_t
+__n
+ > 
+       `__bos
+ (
+__s
+è/ \17 (
+wch¬_t
+))
+
+393 \15 
+       `__fg\91ws_chk_w¬n
+ (
+__s
+, 
+       `__bos
+ (__sè/ \17 (
+wch¬_t
+),
+
+394 
+__n
+, 
+__¡»am
+);
+
+396 \15 
+       `__fg\91ws_®\9fs
+ (
+__s
+, 
+__n
+, 
+__¡»am
+);
+
+397 
+       }
+}
+
+399 #ifdeà
+__USE_GNU
+
+
+400 \r
+wch¬_t
+ *
+       $__fg\91ws_uÆocked_chk
+ (
+wch¬_t
+ *
+__»¡riù
+__s
+, 
+size_t
+__size
+,
+
+401 \12
+__n
+, 
+__FILE
+ *
+__»¡riù
+__¡»am
+)
+
+402 
+__wur
+;
+
+403 \r
+wch¬_t
+ *
+       `__REDIRECT
+ (
+__fg\91ws_uÆocked_®\9fs
+,
+
+404 (
+wch¬_t
+ *
+__»¡riù
+__s
+, \12
+__n
+,
+
+405 
+__FILE
+ *
+__»¡riù
+__¡»am
+), 
+fg\91ws_uÆocked
+)
+
+406 
+__wur
+;
+
+407 \r
+wch¬_t
+ *
+       `__REDIRECT
+ (
+__fg\91ws_uÆocked_chk_w¬n
+,
+
+408 (
+wch¬_t
+ *
+__»¡riù
+__s
+, 
+size_t
+__size
+, \12
+__n
+,
+
+409 
+__FILE
+ *
+__»¡riù
+__¡»am
+),
+
+410 
+__fg\91ws_uÆocked_chk
+)
+
+411 
+__wur
+       `__w¬Ç\89r
+ ("fgetws_unlocked called with bigger size\81han\86ength "
+
+414 
+__fÜtify_funùiÚ
+__wur
+wch¬_t
+ *
+
+415 
+       $fg\91ws_uÆocked
+ (
+wch¬_t
+ *
+__»¡riù
+__s
+, \12
+__n
+, 
+__FILE
+ *__»¡riù 
+__¡»am
+)
+
+417 ià(
+       `__bos
+ (
+__s
+è!ð(
+size_t
+) -1)
+
+419 ià(!
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+__n
+) || __n <= 0)
+
+420 \15 
+       `__fg\91ws_uÆocked_chk
+ (
+__s
+, 
+       `__bos
+ (__sè/ \17 (
+wch¬_t
+),
+
+421 
+__n
+, 
+__¡»am
+);
+
+423 ià((
+size_t
+__n
+ > 
+       `__bos
+ (
+__s
+è/ \17 (
+wch¬_t
+))
+
+424 \15 
+       `__fg\91ws_uÆocked_chk_w¬n
+ (
+__s
+, 
+       `__bos
+ (__sè/ \17 (
+wch¬_t
+),
+
+425 
+__n
+, 
+__¡»am
+);
+
+427 \15 
+       `__fg\91ws_uÆocked_®\9fs
+ (
+__s
+, 
+__n
+, 
+__¡»am
+);
+
+428 
+       }
+}
+
+432 \r
+size_t
+       $__wütomb_chk
+ (\ 5*
+__»¡riù
+__s
+, 
+wch¬_t
+__wch¬
+,
+
+433 
+mb¡©e_t
+ *
+__»¡riù
+__p
+,
+
+434 
+size_t
+__buæ\92
+__THROW
+__wur
+;
+
+435 \r
+size_t
+       `__REDIRECT_NTH
+ (
+__wütomb_®\9fs
+,
+
+436 (\ 5*
+__»¡riù
+__s
+, 
+wch¬_t
+__wch¬
+,
+
+437 
+mb¡©e_t
+ *
+__»¡riù
+__ps
+), 
+wütomb
+__wur
+;
+
+439 
+__fÜtify_funùiÚ
+__wur
+size_t
+
+
+440 
+       `__NTH
+ (
+       $wütomb
+ (\ 5*
+__»¡riù
+__s
+, 
+wch¬_t
+__wch¬
+,
+
+441 
+mb¡©e_t
+ *
+__»¡riù
+__ps
+))
+
+446 \ 1
+       #__WCHAR_MB_LEN_MAX
+ 16
+
+       )
+
+447 #ià
+def\9aed
+MB_LEN_MAX
+ && MB_LEN_MAX !ð
+__WCHAR_MB_LEN_MAX
+
+
+450 ià(
+       `__bos
+ (
+__s
+è!ð(
+size_t
+è-1 && 
+__WCHAR_MB_LEN_MAX
+ > __bos (__s))
+
+451 \15 
+       `__wütomb_chk
+ (
+__s
+, 
+__wch¬
+, 
+__ps
+, 
+       `__bos
+ (__s));
+
+452 \15 
+       `__wütomb_®\9fs
+ (
+__s
+, 
+__wch¬
+, 
+__ps
+);
+
+453 
+       }
+}
+
+456 \r
+size_t
+       $__mb¤towcs_chk
+ (
+wch¬_t
+ *
+__»¡riù
+__d¡
+,
+
+457 cڡ \ 5**
+__»¡riù
+__¤c
+,
+
+458 
+size_t
+__Ën
+, 
+mb¡©e_t
+ *
+__»¡riù
+__ps
+,
+
+459 
+size_t
+__d¡Ën
+__THROW
+;
+
+460 \r
+size_t
+       `__REDIRECT_NTH
+ (
+__mb¤towcs_®\9fs
+,
+
+461 (
+wch¬_t
+ *
+__»¡riù
+__d¡
+,
+
+462 cڡ \ 5**
+__»¡riù
+__¤c
+,
+
+463 
+size_t
+__Ën
+, 
+mb¡©e_t
+ *
+__»¡riù
+__ps
+),
+
+464 
+mb¤towcs
+);
+
+465 \r
+size_t
+       `__REDIRECT_NTH
+ (
+__mb¤towcs_chk_w¬n
+,
+
+466 (
+wch¬_t
+ *
+__»¡riù
+__d¡
+,
+
+467 cڡ \ 5**
+__»¡riù
+__¤c
+,
+
+468 
+size_t
+__Ën
+, 
+mb¡©e_t
+ *
+__»¡riù
+__ps
+,
+
+469 
+size_t
+__d¡Ën
+), 
+__mb¤towcs_chk
+)
+
+470 
+       `__w¬Ç\89r
+ ("mbsrtowcs called with dst buffer smaller\81han\86en "
+
+473 
+__fÜtify_funùiÚ
+size_t
+
+
+474 
+       `__NTH
+ (
+       $mb¤towcs
+ (
+wch¬_t
+ *
+__»¡riù
+__d¡
+, cÚ¡ \ 5**__»¡riù 
+__¤c
+,
+
+475 
+size_t
+__Ën
+, 
+mb¡©e_t
+ *
+__»¡riù
+__ps
+))
+
+477 ià(
+       `__bos
+ (
+__d¡
+è!ð(
+size_t
+) -1)
+
+479 ià(!
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+__Ën
+))
+
+480 \15 
+       `__mb¤towcs_chk
+ (
+__d¡
+, 
+__¤c
+, 
+__Ën
+, 
+__ps
+,
+
+481 
+       `__bos
+ (
+__d¡
+è/ \17 (
+wch¬_t
+));
+
+483 ià(
+__Ën
+ > 
+       `__bos
+ (
+__d¡
+è/ \17 (
+wch¬_t
+))
+
+484 \15 
+       `__mb¤towcs_chk_w¬n
+ (
+__d¡
+, 
+__¤c
+, 
+__Ën
+, 
+__ps
+,
+
+485 
+       `__bos
+ (
+__d¡
+è/ \17 (
+wch¬_t
+));
+
+487 \15 
+       `__mb¤towcs_®\9fs
+ (
+__d¡
+, 
+__¤c
+, 
+__Ën
+, 
+__ps
+);
+
+488 
+       }
+}
+
+491 \r
+size_t
+       $__wc¤tombs_chk
+ (\ 5*
+__»¡riù
+__d¡
+,
+
+492 cڡ 
+wch¬_t
+ **
+__»¡riù
+__¤c
+,
+
+493 
+size_t
+__Ën
+, 
+mb¡©e_t
+ *
+__»¡riù
+__ps
+,
+
+494 
+size_t
+__d¡Ën
+__THROW
+;
+
+495 \r
+size_t
+       `__REDIRECT_NTH
+ (
+__wc¤tombs_®\9fs
+,
+
+496 (\ 5*
+__»¡riù
+__d¡
+,
+
+497 cڡ 
+wch¬_t
+ **
+__»¡riù
+__¤c
+,
+
+498 
+size_t
+__Ën
+, 
+mb¡©e_t
+ *
+__»¡riù
+__ps
+),
+
+499 
+wc¤tombs
+);
+
+500 \r
+size_t
+       `__REDIRECT_NTH
+ (
+__wc¤tombs_chk_w¬n
+,
+
+501 (\ 5*
+__»¡riù
+__d¡
+,
+
+502 cڡ 
+wch¬_t
+ **
+__»¡riù
+__¤c
+,
+
+503 
+size_t
+__Ën
+, 
+mb¡©e_t
+ *
+__»¡riù
+__ps
+,
+
+504 
+size_t
+__d¡Ën
+), 
+__wc¤tombs_chk
+)
+
+505 
+       `__w¬Ç\89r
+ ("wcsrtombs called with dst buffer smaller\81han\86en");
+
+507 
+__fÜtify_funùiÚ
+size_t
+
+
+508 
+       `__NTH
+ (
+       $wc¤tombs
+ (\ 5*
+__»¡riù
+__d¡
+, cڡ 
+wch¬_t
+ **__»¡riù 
+__¤c
+,
+
+509 
+size_t
+__Ën
+, 
+mb¡©e_t
+ *
+__»¡riù
+__ps
+))
+
+511 ià(
+       `__bos
+ (
+__d¡
+è!ð(
+size_t
+) -1)
+
+513 ià(!
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+__Ën
+))
+
+514 \15 
+       `__wc¤tombs_chk
+ (
+__d¡
+, 
+__¤c
+, 
+__Ën
+, 
+__ps
+, 
+       `__bos
+ (__dst));
+
+516 ià(
+__Ën
+ > 
+       `__bos
+ (
+__d¡
+))
+
+517 \15 
+       `__wc¤tombs_chk_w¬n
+ (
+__d¡
+, 
+__¤c
+, 
+__Ën
+, 
+__ps
+, 
+       `__bos
+ (__dst));
+
+519 \15 
+       `__wc¤tombs_®\9fs
+ (
+__d¡
+, 
+__¤c
+, 
+__Ën
+, 
+__ps
+);
+
+520 
+       }
+}
+
+523 #ifdeà
+__USE_GNU
+
+
+524 \r
+size_t
+       $__mb¢¹owcs_chk
+ (
+wch¬_t
+ *
+__»¡riù
+__d¡
+,
+
+525 cڡ \ 5**
+__»¡riù
+__¤c
+, 
+size_t
+__nmc
+,
+
+526 
+size_t
+__Ën
+, 
+mb¡©e_t
+ *
+__»¡riù
+__ps
+,
+
+527 
+size_t
+__d¡Ën
+__THROW
+;
+
+528 \r
+size_t
+       `__REDIRECT_NTH
+ (
+__mb¢¹owcs_®\9fs
+,
+
+529 (
+wch¬_t
+ *
+__»¡riù
+__d¡
+,
+
+530 cڡ \ 5**
+__»¡riù
+__¤c
+, 
+size_t
+__nmc
+,
+
+531 
+size_t
+__Ën
+, 
+mb¡©e_t
+ *
+__»¡riù
+__ps
+),
+
+532 
+mb¢¹owcs
+);
+
+533 \r
+size_t
+       `__REDIRECT_NTH
+ (
+__mb¢¹owcs_chk_w¬n
+,
+
+534 (
+wch¬_t
+ *
+__»¡riù
+__d¡
+,
+
+535 cڡ \ 5**
+__»¡riù
+__¤c
+, 
+size_t
+__nmc
+,
+
+536 
+size_t
+__Ën
+, 
+mb¡©e_t
+ *
+__»¡riù
+__ps
+,
+
+537 
+size_t
+__d¡Ën
+), 
+__mb¢¹owcs_chk
+)
+
+538 
+       `__w¬Ç\89r
+ ("mbsnrtowcs called with dst buffer smaller\81han\86en "
+
+541 
+__fÜtify_funùiÚ
+size_t
+
+
+542 
+       `__NTH
+ (
+       $mb¢¹owcs
+ (
+wch¬_t
+ *
+__»¡riù
+__d¡
+, cÚ¡ \ 5**__»¡riù 
+__¤c
+,
+
+543 
+size_t
+__nmc
+, size_\88
+__Ën
+, 
+mb¡©e_t
+ *
+__»¡riù
+__ps
+))
+
+545 ià(
+       `__bos
+ (
+__d¡
+è!ð(
+size_t
+) -1)
+
+547 ià(!
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+__Ën
+))
+
+548 \15 
+       `__mb¢¹owcs_chk
+ (
+__d¡
+, 
+__¤c
+, 
+__nmc
+, 
+__Ën
+, 
+__ps
+,
+
+549 
+       `__bos
+ (
+__d¡
+è/ \17 (
+wch¬_t
+));
+
+551 ià(
+__Ën
+ > 
+       `__bos
+ (
+__d¡
+è/ \17 (
+wch¬_t
+))
+
+552 \15 
+       `__mb¢¹owcs_chk_w¬n
+ (
+__d¡
+, 
+__¤c
+, 
+__nmc
+, 
+__Ën
+, 
+__ps
+,
+
+553 
+       `__bos
+ (
+__d¡
+è/ \17 (
+wch¬_t
+));
+
+555 \15 
+       `__mb¢¹owcs_®\9fs
+ (
+__d¡
+, 
+__¤c
+, 
+__nmc
+, 
+__Ën
+, 
+__ps
+);
+
+556 
+       }
+}
+
+559 \r
+size_t
+       $__wc¢¹ombs_chk
+ (\ 5*
+__»¡riù
+__d¡
+,
+
+560 cڡ 
+wch¬_t
+ **
+__»¡riù
+__¤c
+,
+
+561 
+size_t
+__nwc
+, size_\88
+__Ën
+,
+
+562 
+mb¡©e_t
+ *
+__»¡riù
+__ps
+, 
+size_t
+__d¡Ën
+)
+
+563 
+__THROW
+;
+
+564 \r
+size_t
+       `__REDIRECT_NTH
+ (
+__wc¢¹ombs_®\9fs
+,
+
+565 (\ 5*
+__»¡riù
+__d¡
+,
+
+566 cڡ 
+wch¬_t
+ **
+__»¡riù
+__¤c
+,
+
+567 
+size_t
+__nwc
+, size_\88
+__Ën
+,
+
+568 
+mb¡©e_t
+ *
+__»¡riù
+__ps
+), 
+wc¢¹ombs
+);
+
+569 \r
+size_t
+       `__REDIRECT_NTH
+ (
+__wc¢¹ombs_chk_w¬n
+,
+
+570 (\ 5*
+__»¡riù
+__d¡
+,
+
+571 cڡ 
+wch¬_t
+ **
+__»¡riù
+__¤c
+,
+
+572 
+size_t
+__nwc
+, size_\88
+__Ën
+,
+
+573 
+mb¡©e_t
+ *
+__»¡riù
+__ps
+,
+
+574 
+size_t
+__d¡Ën
+), 
+__wc¢¹ombs_chk
+)
+
+575 
+       `__w¬Ç\89r
+ ("wcsnrtombs called with dst buffer smaller\81han\86en");
+
+577 
+__fÜtify_funùiÚ
+size_t
+
+
+578 
+       `__NTH
+ (
+       $wc¢¹ombs
+ (\ 5*
+__»¡riù
+__d¡
+, cڡ 
+wch¬_t
+ **__»¡riù 
+__¤c
+,
+
+579 
+size_t
+__nwc
+, size_\88
+__Ën
+, 
+mb¡©e_t
+ *
+__»¡riù
+__ps
+))
+
+581 ià(
+       `__bos
+ (
+__d¡
+è!ð(
+size_t
+) -1)
+
+583 ià(!
+       `__bu\9et\9a_cÚ¡ªt_p
+ (
+__Ën
+))
+
+584 \15 
+       `__wc¢¹ombs_chk
+ (
+__d¡
+, 
+__¤c
+, 
+__nwc
+, 
+__Ën
+, 
+__ps
+,
+
+585 
+       `__bos
+ (
+__d¡
+));
+
+587 ià(
+__Ën
+ > 
+       `__bos
+ (
+__d¡
+))
+
+588 \15 
+       `__wc¢¹ombs_chk_w¬n
+ (
+__d¡
+, 
+__¤c
+, 
+__nwc
+, 
+__Ën
+, 
+__ps
+,
+
+589 
+       `__bos
+ (
+__d¡
+));
+
+591 \15 
+       `__wc¢¹ombs_®\9fs
+ (
+__d¡
+, 
+__¤c
+, 
+__nwc
+, 
+__Ën
+, 
+__ps
+);
+
+592 
+       }
+}
+
+       @/usr/include/wctype.h
+
+23 #iâdeà
+_WCTYPE_H
+
+
+25 \ 2
+       ~<ã©u»s.h
+>
+
+26 \ 2
+       ~<b\99s/ty³s.h
+>
+
+28 #iâdeà
+__Ãed_iswxxx
+
+
+29 \ 1
+       #_WCTYPE_H
+ 1
+
+       )
+
+32 \ 1
+       #__Ãed_w\9at_t
+
+
+       )
+
+33 \ 2
+       ~<wch¬.h
+>
+
+37 #iâdeà
+WEOF
+
+
+38 \ 1
+       #WEOF
+ (0xffffffffu)
+
+       )
+
+41 #undeà
+__Ãed_iswxxx
+
+
+46 #iâdeà
+__iswxxx_def\9aed
+
+
+47 \ 1
+       #__iswxxx_def\9aed
+ 1
+
+       )
+
+49 
+__BEGIN_NAMESPACE_C99
+
+
+52 \e\1d\13\12
+       twùy³_t
+;
+
+53 
+       g__END_NAMESPACE_C99
+
+
+55 #iâdeà
+_ISwb\99
+
+
+60 \ 2
+       ~<\92d\9fn.h
+>
+
+61 #ià
+__BYTE_ORDER
+ =ð
+__BIG_ENDIAN
+
+
+62 \ 1
+       #_ISwb\99
+(
+b\99
+è(1 << (b\99))
+
+       )
+
+64 \ 1
+       #_ISwb\99
+(
+b\99
+) \
+
+65 ((
+b\99
+) < 8 ? (\12) ((1UL << (bit)) << 24) \
+
+66 : ((
+b\99
+) < 16 ? (\12) ((1UL << (bit)) << 8) \
+
+67 : ((
+b\99
+) < 24 ? (\12) ((1UL << (bit)) >> 8) \
+
+68 : (\12è((1UL << (
+b\99
+)è>> 24))))
+
+       )
+
+73 
+       m__ISwuµ\94
+ = 0,
+
+74 
+       m__ISwlow\94
+ = 1,
+
+75 
+       m__ISw®pha
+ = 2,
+
+76 
+       m__ISwdig\99
+ = 3,
+
+77 
+       m__ISwxdig\99
+ = 4,
+
+78 
+       m__ISw¥aû
+ = 5,
+
+79 
+       m__ISw´\9at
+ = 6,
+
+80 
+       m__ISwg¿ph
+ = 7,
+
+81 
+       m__ISwbÏnk
+ = 8,
+
+82 
+       m__ISwú\8cl
+ = 9,
+
+83 
+       m__ISwpunù
+ = 10,
+
+84 
+       m__ISw®num
+ = 11,
+
+86 
+       m_ISwuµ\94
+ = 
+_ISwb\99
+ (
+__ISwuµ\94
+),
+
+87 
+       m_ISwlow\94
+ = 
+_ISwb\99
+ (
+__ISwlow\94
+),
+
+88 
+       m_ISw®pha
+ = 
+_ISwb\99
+ (
+__ISw®pha
+),
+
+89 
+       m_ISwdig\99
+ = 
+_ISwb\99
+ (
+__ISwdig\99
+),
+
+90 
+       m_ISwxdig\99
+ = 
+_ISwb\99
+ (
+__ISwxdig\99
+),
+
+91 
+       m_ISw¥aû
+ = 
+_ISwb\99
+ (
+__ISw¥aû
+),
+
+92 
+       m_ISw´\9at
+ = 
+_ISwb\99
+ (
+__ISw´\9at
+),
+
+93 
+       m_ISwg¿ph
+ = 
+_ISwb\99
+ (
+__ISwg¿ph
+),
+
+94 
+       m_ISwbÏnk
+ = 
+_ISwb\99
+ (
+__ISwbÏnk
+),
+
+95 
+       m_ISwú\8cl
+ = 
+_ISwb\99
+ (
+__ISwú\8cl
+),
+
+96 
+       m_ISwpunù
+ = 
+_ISwb\99
+ (
+__ISwpunù
+),
+
+97 
+       m_ISw®num
+ = 
+_ISwb\99
+ (
+__ISw®num
+)
+
+102 
+__BEGIN_DECLS
+
+
+104 
+__BEGIN_NAMESPACE_C99
+
+
+111 \r\12
+       $isw®num
+ (
+w\9at_t
+__wc
+__THROW
+;
+
+117 \r\12
+       $isw®pha
+ (
+w\9at_t
+__wc
+__THROW
+;
+
+120 \r\12
+       $iswú\8cl
+ (
+w\9at_t
+__wc
+__THROW
+;
+
+124 \r\12
+       $iswdig\99
+ (
+w\9at_t
+__wc
+__THROW
+;
+
+128 \r\12
+       $iswg¿ph
+ (
+w\9at_t
+__wc
+__THROW
+;
+
+133 \r\12
+       $iswlow\94
+ (
+w\9at_t
+__wc
+__THROW
+;
+
+136 \r\12
+       $isw´\9at
+ (
+w\9at_t
+__wc
+__THROW
+;
+
+141 \r\12
+       $iswpunù
+ (
+w\9at_t
+__wc
+__THROW
+;
+
+146 \r\12
+       $isw¥aû
+ (
+w\9at_t
+__wc
+__THROW
+;
+
+151 \r\12
+       $iswuµ\94
+ (
+w\9at_t
+__wc
+__THROW
+;
+
+156 \r\12
+       $iswxdig\99
+ (
+w\9at_t
+__wc
+__THROW
+;
+
+161 #ifdeà
+__USE_ISOC99
+
+
+162 \r\12
+       $iswbÏnk
+ (
+w\9at_t
+__wc
+__THROW
+;
+
+171 \r
+wùy³_t
+       $wùy³
+ (cڡ \ 5*
+__´Ý\94ty
+__THROW
+;
+
+175 \r\12
+       $iswùy³
+ (
+w\9at_t
+__wc
+, 
+wùy³_t
+__desc
+__THROW
+;
+
+176 
+__END_NAMESPACE_C99
+
+
+183 
+__BEGIN_NAMESPACE_C99
+
+
+186 \ecڡ 
+       t__\9at32_t
+ *
+       twù¿ns_t
+;
+
+187 
+__END_NAMESPACE_C99
+
+
+188 #ifdeà
+__USE_GNU
+
+
+189 
+       $__USING_NAMESPACE_C99
+(
+wù¿ns_t
+)
+
+192 
+__BEGIN_NAMESPACE_C99
+
+
+194 \r
+w\9at_t
+       $towlow\94
+ (
+w\9at_t
+__wc
+__THROW
+;
+
+197 \r
+w\9at_t
+       $towuµ\94
+ (
+w\9at_t
+__wc
+__THROW
+;
+
+198 
+__END_NAMESPACE_C99
+
+
+200 
+__END_DECLS
+
+
+207 #ifdeà
+_WCTYPE_H
+
+
+213 
+__BEGIN_DECLS
+
+
+215 
+__BEGIN_NAMESPACE_C99
+
+
+218 \r
+wù¿ns_t
+       $wù¿ns
+ (cڡ \ 5*
+__´Ý\94ty
+__THROW
+;
+
+221 \r
+w\9at_t
+       $towù¿ns
+ (
+w\9at_t
+__wc
+, 
+wù¿ns_t
+__desc
+__THROW
+;
+
+222 
+__END_NAMESPACE_C99
+
+
+224 #ifdeà
+__USE_XOPEN2K8
+
+
+226 \ 2
+       ~<xloÿË.h
+>
+
+230 \r\12
+       $isw®num_l
+ (
+w\9at_t
+__wc
+, 
+__loÿË_t
+__loÿË
+__THROW
+;
+
+236 \r\12
+       $isw®pha_l
+ (
+w\9at_t
+__wc
+, 
+__loÿË_t
+__loÿË
+__THROW
+;
+
+239 \r\12
+       $iswú\8cl_l
+ (
+w\9at_t
+__wc
+, 
+__loÿË_t
+__loÿË
+__THROW
+;
+
+243 \r\12
+       $iswdig\99_l
+ (
+w\9at_t
+__wc
+, 
+__loÿË_t
+__loÿË
+__THROW
+;
+
+247 \r\12
+       $iswg¿ph_l
+ (
+w\9at_t
+__wc
+, 
+__loÿË_t
+__loÿË
+__THROW
+;
+
+252 \r\12
+       $iswlow\94_l
+ (
+w\9at_t
+__wc
+, 
+__loÿË_t
+__loÿË
+__THROW
+;
+
+255 \r\12
+       $isw´\9at_l
+ (
+w\9at_t
+__wc
+, 
+__loÿË_t
+__loÿË
+__THROW
+;
+
+260 \r\12
+       $iswpunù_l
+ (
+w\9at_t
+__wc
+, 
+__loÿË_t
+__loÿË
+__THROW
+;
+
+265 \r\12
+       $isw¥aû_l
+ (
+w\9at_t
+__wc
+, 
+__loÿË_t
+__loÿË
+__THROW
+;
+
+270 \r\12
+       $iswuµ\94_l
+ (
+w\9at_t
+__wc
+, 
+__loÿË_t
+__loÿË
+__THROW
+;
+
+275 \r\12
+       $iswxdig\99_l
+ (
+w\9at_t
+__wc
+, 
+__loÿË_t
+__loÿË
+__THROW
+;
+
+280 \r\12
+       $iswbÏnk_l
+ (
+w\9at_t
+__wc
+, 
+__loÿË_t
+__loÿË
+__THROW
+;
+
+284 \r
+wùy³_t
+       $wùy³_l
+ (cڡ \ 5*
+__´Ý\94ty
+, 
+__loÿË_t
+__loÿË
+)
+
+285 
+__THROW
+;
+
+289 \r\12
+       $iswùy³_l
+ (
+w\9at_t
+__wc
+, 
+wùy³_t
+__desc
+, 
+__loÿË_t
+__loÿË
+)
+
+290 
+__THROW
+;
+
+298 \r
+w\9at_t
+       $towlow\94_l
+ (
+w\9at_t
+__wc
+, 
+__loÿË_t
+__loÿË
+__THROW
+;
+
+301 \r
+w\9at_t
+       $towuµ\94_l
+ (
+w\9at_t
+__wc
+, 
+__loÿË_t
+__loÿË
+__THROW
+;
+
+305 \r
+wù¿ns_t
+       $wù¿ns_l
+ (cڡ \ 5*
+__´Ý\94ty
+, 
+__loÿË_t
+__loÿË
+)
+
+306 
+__THROW
+;
+
+309 \r
+w\9at_t
+       $towù¿ns_l
+ (
+w\9at_t
+__wc
+, 
+wù¿ns_t
+__desc
+,
+
+310 
+__loÿË_t
+__loÿË
+__THROW
+;
+
+314 
+__END_DECLS
+
+
+       @/usr/include/asm-generic/errno-base.h
+
+1 #iâdeà
+_ASM_GENERIC_ERRNO_BASE_H
+
+
+2 \ 1
+       #_ASM_GENERIC_ERRNO_BASE_H
+
+
+       )
+
+4 \ 1
+       #EPERM
+ 1
+
+       )
+
+5 \ 1
+       #ENOENT
+ 2
+
+       )
+
+6 \ 1
+       #ESRCH
+ 3
+
+       )
+
+7 \ 1
+       #EINTR
+ 4
+
+       )
+
+8 \ 1
+       #EIO
+ 5
+
+       )
+
+9 \ 1
+       #ENXIO
+ 6
+
+       )
+
+10 \ 1
+       #E2BIG
+ 7
+
+       )
+
+11 \ 1
+       #ENOEXEC
+ 8
+
+       )
+
+12 \ 1
+       #EBADF
+ 9
+
+       )
+
+13 \ 1
+       #ECHILD
+ 10
+
+       )
+
+14 \ 1
+       #EAGAIN
+ 11
+
+       )
+
+15 \ 1
+       #ENOMEM
+ 12
+
+       )
+
+16 \ 1
+       #EACCES
+ 13
+
+       )
+
+17 \ 1
+       #EFAULT
+ 14
+
+       )
+
+18 \ 1
+       #ENOTBLK
+ 15
+
+       )
+
+19 \ 1
+       #EBUSY
+ 16
+
+       )
+
+20 \ 1
+       #EEXIST
+ 17
+
+       )
+
+21 \ 1
+       #EXDEV
+ 18
+
+       )
+
+22 \ 1
+       #ENODEV
+ 19
+
+       )
+
+23 \ 1
+       #ENOTDIR
+ 20
+
+       )
+
+24 \ 1
+       #EISDIR
+ 21
+
+       )
+
+25 \ 1
+       #EINVAL
+ 22
+
+       )
+
+26 \ 1
+       #ENFILE
+ 23
+
+       )
+
+27 \ 1
+       #EMFILE
+ 24
+
+       )
+
+28 \ 1
+       #ENOTTY
+ 25
+
+       )
+
+29 \ 1
+       #ETXTBSY
+ 26
+
+       )
+
+30 \ 1
+       #EFBIG
+ 27
+
+       )
+
+31 \ 1
+       #ENOSPC
+ 28
+
+       )
+
+32 \ 1
+       #ESPIPE
+ 29
+
+       )
+
+33 \ 1
+       #EROFS
+ 30
+
+       )
+
+34 \ 1
+       #EMLINK
+ 31
+
+       )
+
+35 \ 1
+       #EPIPE
+ 32
+
+       )
+
+36 \ 1
+       #EDOM
+ 33
+
+       )
+
+37 \ 1
+       #ERANGE
+ 34
+
+       )
+
+       @/usr/include/asm-generic/sockios.h
+
+1 #iâdeà
+__ASM_GENERIC_SOCKIOS_H
+
+
+2 \ 1
+       #__ASM_GENERIC_SOCKIOS_H
+
+
+       )
+
+5 \ 1
+       #FIOSETOWN
+ 0x8901
+
+       )
+
+6 \ 1
+       #SIOCSPGRP
+ 0x8902
+
+       )
+
+7 \ 1
+       #FIOGETOWN
+ 0x8903
+
+       )
+
+8 \ 1
+       #SIOCGPGRP
+ 0x8904
+
+       )
+
+9 \ 1
+       #SIOCATMARK
+ 0x8905
+
+       )
+
+10 \ 1
+       #SIOCGSTAMP
+ 0x8906
+
+       )
+
+11 \ 1
+       #SIOCGSTAMPNS
+ 0x8907
+
+       )
+
+       @
+1
+.
+1
+/usr/include
+198
+5604
+VIL/acl/lib_acl.c
+VIL/acl/lib_acl.h
+VIL/alg/lib_ftp_alg.c
+VIL/alg/lib_ftp_alg.h
+VIL/alg/lib_sip_alg.c
+VIL/alg/lib_sip_alg.h
+VIL/conntrack/rte_cnxn_tracking.c
+VIL/conntrack/rte_cnxn_tracking.h
+VIL/conntrack/rte_ct_synproxy.c
+VIL/conntrack/rte_ct_tcp.c
+VIL/conntrack/rte_ct_tcp.h
+VIL/conntrack/rte_ct_udp.c
+VIL/l2l3_stack/bond.c
+VIL/l2l3_stack/hle.c
+VIL/l2l3_stack/hle.h
+VIL/l2l3_stack/interface.c
+VIL/l2l3_stack/interface.h
+VIL/l2l3_stack/l2_proto.c
+VIL/l2l3_stack/l2_proto.h
+VIL/l2l3_stack/l3fwd_common.h
+VIL/l2l3_stack/l3fwd_lpm4.c
+VIL/l2l3_stack/l3fwd_lpm4.h
+VIL/l2l3_stack/l3fwd_lpm6.c
+VIL/l2l3_stack/l3fwd_lpm6.h
+VIL/l2l3_stack/l3fwd_main.c
+VIL/l2l3_stack/lib_arp.c
+VIL/l2l3_stack/lib_arp.h
+VIL/l2l3_stack/lib_icmpv6.c
+VIL/l2l3_stack/lib_icmpv6.h
+VIL/l2l3_stack/main_l2l3.c
+VIL/l2l3_stack/tsx.c
+VIL/l2l3_stack/tsx.h
+VIL/pipeline_arpicmp/pipeline_arpicmp.c
+VIL/pipeline_arpicmp/pipeline_arpicmp.h
+VIL/pipeline_arpicmp/pipeline_arpicmp_be.c
+VIL/pipeline_arpicmp/pipeline_arpicmp_be.h
+VIL/pipeline_common/pipeline_common_be.c
+VIL/pipeline_common/pipeline_common_be.h
+VIL/pipeline_common/pipeline_common_fe.c
+VIL/pipeline_common/pipeline_common_fe.h
+VIL/pipeline_loadb/pipeline_loadb.c
+VIL/pipeline_loadb/pipeline_loadb.h
+VIL/pipeline_loadb/pipeline_loadb_be.c
+VIL/pipeline_loadb/pipeline_loadb_be.h
+VIL/pipeline_master/pipeline_master.c
+VIL/pipeline_master/pipeline_master.h
+VIL/pipeline_master/pipeline_master_be.c
+VIL/pipeline_master/pipeline_master_be.h
+VIL/pipeline_passthrough/pipeline_passthrough.c
+VIL/pipeline_passthrough/pipeline_passthrough.h
+VIL/pipeline_passthrough/pipeline_passthrough_be.c
+VIL/pipeline_passthrough/pipeline_passthrough_be.h
+VIL/pipeline_txrx/pipeline_txrx.c
+VIL/pipeline_txrx/pipeline_txrx.h
+VIL/pipeline_txrx/pipeline_txrx_be.c
+VIL/pipeline_txrx/pipeline_txrx_be.h
+vnf_common/app.h
+vnf_common/config_check.c
+vnf_common/config_parse.c
+vnf_common/config_parse_tm.c
+vnf_common/cpu_core_map.c
+vnf_common/cpu_core_map.h
+vnf_common/hash_func.h
+vnf_common/parser.h
+vnf_common/pipeline.h
+vnf_common/pipeline_actions_common.h
+vnf_common/pipeline_be.h
+vnf_common/thread.c
+vnf_common/thread.h
+vnf_common/thread_fe.c
+vnf_common/thread_fe.h
+vnf_common/vnf_common.c
+vnf_common/vnf_common.h
+vnf_common/vnf_define.h
+/usr/include/arpa/inet.h
+/usr/include/ctype.h
+/usr/include/errno.h
+/usr/include/execinfo.h
+/usr/include/fcntl.h
+/usr/include/getopt.h
+/usr/include/inttypes.h
+/usr/include/libgen.h
+/usr/include/math.h
+/usr/include/netinet/in.h
+/usr/include/setjmp.h
+/usr/include/signal.h
+/usr/include/stdint.h
+/usr/include/stdio.h
+/usr/include/stdlib.h
+/usr/include/string.h
+/usr/include/sys/param.h
+/usr/include/sys/queue.h
+/usr/include/sys/socket.h
+/usr/include/sys/types.h
+/usr/include/sys/wait.h
+/usr/include/time.h
+/usr/include/unistd.h
+/usr/include/alloca.h
+/usr/include/bits/byteswap.h
+/usr/include/bits/confname.h
+/usr/include/bits/environments.h
+/usr/include/bits/errno.h
+/usr/include/bits/fcntl.h
+/usr/include/bits/fcntl2.h
+/usr/include/bits/huge_val.h
+/usr/include/bits/huge_valf.h
+/usr/include/bits/huge_vall.h
+/usr/include/bits/in.h
+/usr/include/bits/inf.h
+/usr/include/bits/math-finite.h
+/usr/include/bits/math-vector.h
+/usr/include/bits/mathcalls.h
+/usr/include/bits/mathdef.h
+/usr/include/bits/mathinline.h
+/usr/include/bits/nan.h
+/usr/include/bits/param.h
+/usr/include/bits/posix_opt.h
+/usr/include/bits/pthreadtypes.h
+/usr/include/bits/setjmp.h
+/usr/include/bits/setjmp2.h
+/usr/include/bits/sigaction.h
+/usr/include/bits/sigcontext.h
+/usr/include/bits/siginfo.h
+/usr/include/bits/signum.h
+/usr/include/bits/sigset.h
+/usr/include/bits/sigstack.h
+/usr/include/bits/sigthread.h
+/usr/include/bits/socket.h
+/usr/include/bits/socket2.h
+/usr/include/bits/stat.h
+/usr/include/bits/stdio-ldbl.h
+/usr/include/bits/stdio.h
+/usr/include/bits/stdio2.h
+/usr/include/bits/stdio_lim.h
+/usr/include/bits/stdlib-bsearch.h
+/usr/include/bits/stdlib-float.h
+/usr/include/bits/stdlib-ldbl.h
+/usr/include/bits/stdlib.h
+/usr/include/bits/string.h
+/usr/include/bits/string2.h
+/usr/include/bits/string3.h
+/usr/include/bits/sys_errlist.h
+/usr/include/bits/time.h
+/usr/include/bits/types.h
+/usr/include/bits/unistd.h
+/usr/include/bits/waitflags.h
+/usr/include/bits/waitstatus.h
+/usr/include/bits/wchar.h
+/usr/include/bits/wordsize.h
+/usr/include/endian.h
+/usr/include/features.h
+/usr/include/libio.h
+/usr/include/limits.h
+/usr/include/sys/select.h
+/usr/include/sys/sysmacros.h
+/usr/include/sys/ucontext.h
+/usr/include/sys/uio.h
+/usr/include/xlocale.h
+/usr/include/_G_config.h
+/usr/include/asm/socket.h
+/usr/include/bits/byteswap-16.h
+/usr/include/bits/endian.h
+/usr/include/bits/fcntl-linux.h
+/usr/include/bits/libio-ldbl.h
+/usr/include/bits/libm-simd-decl-stubs.h
+/usr/include/bits/posix1_lim.h
+/usr/include/bits/posix2_lim.h
+/usr/include/bits/select.h
+/usr/include/bits/select2.h
+/usr/include/bits/sockaddr.h
+/usr/include/bits/socket_type.h
+/usr/include/bits/timex.h
+/usr/include/bits/typesizes.h
+/usr/include/bits/uio.h
+/usr/include/bits/xopen_lim.h
+/usr/include/gnu/stubs.h
+/usr/include/linux/errno.h
+/usr/include/linux/limits.h
+/usr/include/linux/param.h
+/usr/include/stdc-predef.h
+/usr/include/sys/cdefs.h
+/usr/include/asm-generic/socket.h
+/usr/include/asm/errno.h
+/usr/include/asm/param.h
+/usr/include/bits/local_lim.h
+/usr/include/gconv.h
+/usr/include/gnu/stubs-32.h
+/usr/include/gnu/stubs-64.h
+/usr/include/gnu/stubs-x32.h
+/usr/include/wchar.h
+/usr/include/asm-generic/errno.h
+/usr/include/asm-generic/param.h
+/usr/include/asm/sockios.h
+/usr/include/bits/wchar-ldbl.h
+/usr/include/bits/wchar2.h
+/usr/include/wctype.h
+/usr/include/asm-generic/errno-base.h
+/usr/include/asm-generic/sockios.h
index 2af62f1..51c40c9 100644 (file)
@@ -33,7 +33,7 @@
 #include "pipeline.h"
 
 #define APP_PARAM_NAME_SIZE                      PIPELINE_NAME_SIZE
-#define APP_LINK_PCI_BDF_SIZE                    16
+#define APP_LINK_PCI_BDF_SIZE                    32
 struct app_link_params *fdir_p_link;
 struct app_mempool_params {
        char *name;
@@ -234,7 +234,7 @@ struct app_thread_pipeline_data {
 };
 
 #ifndef APP_MAX_THREAD_PIPELINES
-#define APP_MAX_THREAD_PIPELINES                 16
+#define APP_MAX_THREAD_PIPELINES                 32
 #endif
 
 #ifndef APP_THREAD_TIMER_PERIOD
@@ -262,7 +262,7 @@ struct app_thread_data {
 };
 
 #ifndef APP_MAX_LINKS
-#define APP_MAX_LINKS                            16
+#define APP_MAX_LINKS                            32
 #endif
 
 struct app_eal_params {
@@ -386,11 +386,11 @@ struct app_eal_params {
 #define APP_MAX_PKTQ_TM                          APP_MAX_LINKS
 
 #ifndef APP_MAX_PKTQ_SOURCE
-#define APP_MAX_PKTQ_SOURCE                      16
+#define APP_MAX_PKTQ_SOURCE                      32
 #endif
 
 #ifndef APP_MAX_PKTQ_SINK
-#define APP_MAX_PKTQ_SINK                        16
+#define APP_MAX_PKTQ_SINK                        32
 #endif
 
 #ifndef APP_MAX_MSGQ
index 006a415..fad6b25 100644 (file)
@@ -183,31 +183,31 @@ pipeline_port_out_params_get_ops(struct pipeline_port_out_params  *p)
 }
 
 #ifndef PIPELINE_NAME_SIZE
-#define PIPELINE_NAME_SIZE                       32
+#define PIPELINE_NAME_SIZE                       64
 #endif
 
 #ifndef PIPELINE_MAX_PORT_IN
-#define PIPELINE_MAX_PORT_IN                     16
+#define PIPELINE_MAX_PORT_IN                     64
 #endif
 
 #ifndef PIPELINE_MAX_PORT_OUT
-#define PIPELINE_MAX_PORT_OUT                    16
+#define PIPELINE_MAX_PORT_OUT                    64
 #endif
 
 #ifndef PIPELINE_MAX_TABLES
-#define PIPELINE_MAX_TABLES                      16
+#define PIPELINE_MAX_TABLES                      64
 #endif
 
 #ifndef PIPELINE_MAX_MSGQ_IN
-#define PIPELINE_MAX_MSGQ_IN                     16
+#define PIPELINE_MAX_MSGQ_IN                     64
 #endif
 
 #ifndef PIPELINE_MAX_MSGQ_OUT
-#define PIPELINE_MAX_MSGQ_OUT                    16
+#define PIPELINE_MAX_MSGQ_OUT                    64
 #endif
 
 #ifndef PIPELINE_MAX_ARGS
-#define PIPELINE_MAX_ARGS                        32
+#define PIPELINE_MAX_ARGS                        64
 #endif
 
 struct pipeline_params {